Last change
on this file since 6099cac was 3ae31e9, checked in by Thomas Lopatic <thomas@…>, 8 years ago |
Imported original source code.
|
-
Property mode
set to
100755
|
File size:
923 bytes
|
Rev | Line | |
---|
[3ae31e9] | 1 | * ------------------------------------------------------------------------------
|
---|
| 2 | * reboot.s -- re-boot the system
|
---|
| 3 | * Version 3 -- 1988-10-03 -- D.N. Lynx Crowe
|
---|
| 4 | *
|
---|
| 5 | * Since the Atari likes to do warm starts when a reset is attempted, we
|
---|
| 6 | * have to zap low RAM to get rid of optional installed device drivers
|
---|
| 7 | * we don't want any more. We also do a 'reset' just to be sure.
|
---|
| 8 | * ------------------------------------------------------------------------------
|
---|
| 9 | .text
|
---|
| 10 | *
|
---|
| 11 | .xdef reboot
|
---|
| 12 | *
|
---|
| 13 | reboot: clr.l -(sp) * get into supervisor state
|
---|
| 14 | move.w #$20,-(sp) * ...
|
---|
| 15 | trap #1 * ...
|
---|
| 16 | *
|
---|
| 17 | move.w #$2700,sr * disable interrupts
|
---|
| 18 | *
|
---|
| 19 | move.w #1022,d0 * set the zap loop count
|
---|
| 20 | movea.l #8,a0 * set the starting address
|
---|
| 21 | *
|
---|
| 22 | rb1: clr.l (a0)+ * zap a long word
|
---|
| 23 | dbra d0,rb1 * loop until all are cleared
|
---|
| 24 | *
|
---|
| 25 | reset * reset the hardware
|
---|
| 26 | *
|
---|
| 27 | movea.l 4,a0 * get boot pc
|
---|
| 28 | jmp (a0) * go to the boot PROM
|
---|
| 29 | *
|
---|
| 30 | .end
|
---|
Note:
See
TracBrowser
for help on using the repository browser.