Mercurial > hg > Members > kono > nitros9-code
annotate level1/modules/sysgo.asm @ 3255:d0e8324af298
level3: nitro module: Use KrnBlk instead of hardcoded $3F
Helps porting to non-CoCo3 platforms.
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Wed, 29 Aug 2018 08:44:37 +0200 |
parents | 185c31229f22 |
children |
rev | line source |
---|---|
0 | 1 ******************************************************************** |
1315 | 2 * SysGo - Kickstart program module |
0 | 3 * |
4 * $Id$ | |
5 * | |
1316 | 6 * Edt/Rev YYYY/MM/DD Modified by |
7 * Comment | |
0 | 8 * ------------------------------------------------------------------ |
1316 | 9 * 5 1998/10/12 Boisy G. Pitre |
10 * Taken from OS-9 L2 Tandy distribution and modified banner for V3. | |
11 * | |
12 * 5r2 2003/01/08 Boisy G. Pitre | |
13 * Fixed fork behavior so that if 'shell startup' fails, system doesn't | |
14 * jmp to Crash, but tries AutoEx instead. Also changed /DD back to /H0 | |
15 * for certain boot floppy cases. | |
16 * | |
17 * 2003/09/04 Boisy G. Pitre | |
18 * Back-ported to OS-9 Level One. | |
1462
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
19 * |
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
20 * 5r3 2003/12/14 Boisy G. Pitre |
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
21 * Added SHIFT key check to prevent startup/autoex from starting if |
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
22 * held down. Gene Heskett, this Bud's for you. |
0 | 23 |
24 nam SysGo | |
1315 | 25 ttl Kickstart program module |
0 | 26 |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
27 IFP1 |
0 | 28 use defsfile |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
29 ENDC |
0 | 30 |
1315 | 31 tylg set Prgrm+Objct |
0 | 32 atrv set ReEnt+rev |
1462
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
33 rev set $03 |
1315 | 34 edition set $05 |
0 | 35 |
36 mod eom,name,tylg,atrv,start,size | |
37 | |
2059 | 38 |
39 org 0 | |
40 InitAddr rmb 2 | |
41 rmb 250 | |
0 | 42 size equ . |
43 | |
44 name fcs /SysGo/ | |
1315 | 45 fcb edition |
46 | |
47 * Default process priority | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
48 DefPrior set 128 |
0 | 49 |
1315 | 50 Banner equ * |
2989
5944d79e3fe5
sysgo: Update copyright year
Tormod Volden <debian.tormod@gmail.com>
parents:
2633
diff
changeset
|
51 fcc /(C) 2014 The NitrOS-9 Project/ |
2059 | 52 CrRtn fcb C$CR,C$LF |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
53 |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
54 IFEQ ROM |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
55 IFNE NOS9DBG |
1651 | 56 fcc "** DEVELOPMENT BUILD **" |
57 fcb C$CR,C$LF | |
58 fcc "** NOT FOR DISTRIBUTION! **" | |
1615 | 59 fcb C$CR,C$LF |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
60 ENDC |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
61 dts |
591 | 62 fcb C$CR,C$LF |
1419 | 63 fcc !http://www.nitros9.org! |
591 | 64 fcb C$CR,C$LF |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
65 ENDC |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
66 |
0 | 67 fcb C$LF |
1315 | 68 BannLen equ *-Banner |
0 | 69 |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
70 IFEQ ROM |
1315 | 71 DefDev equ * |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
72 IFNE DD |
1228 | 73 fcc "/DD" |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
74 ELSE |
1228 | 75 fcc "/H0" |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
76 ENDC |
0 | 77 fcb C$CR |
1315 | 78 HDDev equ * |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
79 IFNE DD |
1228 | 80 fcc "/DD/" |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
81 ELSE |
1228 | 82 fcc "/H0/" |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
83 ENDC |
1315 | 84 ExecDir fcc "CMDS" |
0 | 85 fcb C$CR |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
86 ENDC |
0 | 87 |
88 Shell fcc "Shell" | |
1315 | 89 fcb C$CR |
274 | 90 AutoEx fcc "AutoEx" |
0 | 91 fcb C$CR |
2633
41313184bd78
Expanded makefile... aded TODO, merged sysgo.asm into level1/modules file
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2614
diff
changeset
|
92 AutoExPr fcc "" |
41313184bd78
Expanded makefile... aded TODO, merged sysgo.asm into level1/modules file
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2614
diff
changeset
|
93 fcb C$CR |
41313184bd78
Expanded makefile... aded TODO, merged sysgo.asm into level1/modules file
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2614
diff
changeset
|
94 AutoExPrL equ *-AutoExPr |
0 | 95 |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
96 IFEQ ROM |
1316 | 97 Startup fcc "startup -p" |
0 | 98 fcb C$CR |
1316 | 99 StartupL equ *-Startup |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
100 ENDC |
0 | 101 |
1315 | 102 ShellPrm equ * |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
103 IFGT Level-1 |
1315 | 104 fcc "i=/1" |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
105 ENDC |
1315 | 106 CRtn fcb C$CR |
107 ShellPL equ *-ShellPrm | |
108 | |
0 | 109 * Default time packet |
1642 | 110 DefTime dtb |
0 | 111 |
3182
185c31229f22
Add level1 corsham port for the Corsham 6809 System
Boisy Pitre <coco@toughmac.com>
parents:
3181
diff
changeset
|
112 IFEQ atari+corsham |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
113 IFEQ Level-1 |
2633
41313184bd78
Expanded makefile... aded TODO, merged sysgo.asm into level1/modules file
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2614
diff
changeset
|
114 * BASIC reset code (CoCo port only) |
0 | 115 BasicRst fcb $55 |
252 | 116 neg <$0074 |
76 | 117 nop |
1300 | 118 clr >PIA0Base+3 |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
119 nop |
76 | 120 nop |
1315 | 121 sta >$FFDF turn off ROM mode |
122 jmp >Bt.Start+2 jump to boot | |
252 | 123 BasicRL equ *-BasicRst |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
124 ENDC |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
125 ENDC |
0 | 126 |
2059 | 127 Init fcs /Init/ |
1315 | 128 |
2061 | 129 * Entry: X = pointer to start of nul terminated string |
130 * Exit: D = length of string | |
131 strlen pshs x | |
132 ldd #-1 | |
133 go@ addd #$0001 | |
134 tst ,x+ | |
135 bne go@ | |
136 puls x,pc | |
137 | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
138 * Display carriage-return/line-feed. |
2061 | 139 WriteCR pshs y |
140 leax CrRtn,pcr | |
141 ldy #$0001 | |
142 os9 I$WritLn | |
143 puls y,pc | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
144 |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
145 ********************************************************** |
1315 | 146 * SysGo Entry Point |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
147 ********************************************************** |
0 | 148 start leax >IcptRtn,pcr |
149 os9 F$Icpt | |
1315 | 150 * Set priority of this process |
151 os9 F$ID | |
152 ldb #DefPrior | |
153 os9 F$SPrior | |
2059 | 154 |
155 * Write OS name and Machine name strings | |
156 leax Init,pcr | |
157 clra | |
2060 | 158 pshs u |
2059 | 159 os9 F$Link |
160 bcs SignOn | |
161 stx <InitAddr | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
162 ldd OSName,u point to OS name in INIT module |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
163 leax d,u point to install name in INIT module |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
164 bsr strlen |
2061 | 165 tfr d,y |
2059 | 166 lda #$01 |
2061 | 167 os9 I$Write |
168 bsr WriteCR | |
169 ldd InstallName,u | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
170 leax d,u point to install name in INIT module |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
171 bsr strlen |
2061 | 172 tfr d,y |
2059 | 173 lda #$01 |
2061 | 174 os9 I$Write |
175 bsr WriteCR | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
176 |
2059 | 177 * Show rest of banner |
178 SignOn | |
2060 | 179 puls u |
1315 | 180 leax >Banner,pcr |
181 ldy #BannLen | |
182 lda #$01 standard output | |
183 os9 I$Write write out banner | |
2059 | 184 |
1315 | 185 * Set default time |
186 leax >DefTime,pcr | |
187 os9 F$STime set time to default | |
3181
d9760f344c96
Whitespace/comments in Atari sections of krn, clock, sysgo
Boisy Pitre <coco@toughmac.com>
parents:
3162
diff
changeset
|
188 |
d9760f344c96
Whitespace/comments in Atari sections of krn, clock, sysgo
Boisy Pitre <coco@toughmac.com>
parents:
3162
diff
changeset
|
189 IFEQ ROM |
1315 | 190 * Change EXEC and DATA dirs |
191 leax >ExecDir,pcr | |
192 lda #EXEC. | |
193 os9 I$ChgDir change exec. dir | |
194 leax >DefDev,pcr | |
2614
d9e5c4629696
sysgo no longer I$ChgDir's with write mode
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2609
diff
changeset
|
195 * Made READ. so that no write occurs at boot (Boisy on Feb 5, 2012) |
d9e5c4629696
sysgo no longer I$ChgDir's with write mode
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2609
diff
changeset
|
196 lda #READ. |
1315 | 197 os9 I$ChgDir change data dir. |
198 bcs L0125 | |
199 leax >HDDev,pcr | |
200 lda #EXEC. | |
201 os9 I$ChgDir change exec. dir to HD | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
202 ENDC |
1315 | 203 |
204 L0125 equ * | |
1316 | 205 pshs u,y |
3182
185c31229f22
Add level1 corsham port for the Corsham 6809 System
Boisy Pitre <coco@toughmac.com>
parents:
3181
diff
changeset
|
206 IFEQ atari+corsham |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
207 IFEQ Level-1 |
2633
41313184bd78
Expanded makefile... aded TODO, merged sysgo.asm into level1/modules file
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2614
diff
changeset
|
208 * Setup BASIC code (CoCo port only) |
0 | 209 leax >BasicRst,pcr |
252 | 210 ldu #D.CBStrt |
211 ldb #BasicRL | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
212 CopyLoop lda ,x+ |
0 | 213 sta ,u+ |
214 decb | |
215 bne CopyLoop | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
216 ELSE |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
217 os9 F$ID get process ID |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
218 lbcs L01A9 fail |
1315 | 219 leax ,u |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
220 os9 F$GPrDsc get process descriptor copy |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
221 lbcs L01A9 fail |
1315 | 222 leay ,u |
223 ldx #$0000 | |
224 ldb #$01 | |
225 os9 F$MapBlk | |
226 bcs L01A9 | |
0 | 227 |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
228 lda #$55 set flag for Color BASIC |
1315 | 229 sta <D.CBStrt,u |
230 * Copy our default I/O ptrs to the system process | |
231 ldd <D.SysPrc,u | |
232 leau d,u | |
233 leau <P$DIO,u | |
234 leay <P$DIO,y | |
235 ldb #DefIOSiz-1 | |
236 L0151 lda b,y | |
237 sta b,u | |
238 decb | |
239 bpl L0151 | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
240 ENDC |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
241 ENDC |
274 | 242 |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
243 IFEQ ROM |
1315 | 244 * Fork shell startup here |
3182
185c31229f22
Add level1 corsham port for the Corsham 6809 System
Boisy Pitre <coco@toughmac.com>
parents:
3181
diff
changeset
|
245 IFEQ atari+corsham |
2633
41313184bd78
Expanded makefile... aded TODO, merged sysgo.asm into level1/modules file
Boisy Pitre <boisy.pitre@nuance.com>
parents:
2614
diff
changeset
|
246 * Added 12/14/03: If SHIFT is held down, startup is not run (CoCo only) |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
247 lda #$01 standard output |
1462
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
248 ldb #SS.KySns |
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
249 os9 I$GetStt |
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
250 bcs DoStartup |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
251 bita #SHIFTBIT SHIFT key down? |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
252 bne L0186 Yes, don't to startup or autoex |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
253 ENDC |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
254 |
1462
062d65d5c132
Added check for SHIFT key which, if down, bypasses startup and AutoEx
boisy
parents:
1449
diff
changeset
|
255 DoStartup leax >Shell,pcr |
0 | 256 leau >Startup,pcr |
252 | 257 ldd #256 |
1316 | 258 ldy #StartupL |
1315 | 259 os9 F$Fork |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
260 bcs DoAuto Startup failed.. |
1315 | 261 os9 F$Wait |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
262 ENDC |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
263 |
1315 | 264 * Fork AutoEx here |
265 DoAuto leax >AutoEx,pcr | |
266 leau >CRtn,pcr | |
267 ldd #$0100 | |
268 ldy #$0001 | |
0 | 269 os9 F$Fork |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
270 bcs L0186 AutoEx failed.. |
0 | 271 os9 F$Wait |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
272 |
1316 | 273 L0186 equ * |
274 puls u,y | |
275 FrkShell leax >ShellPrm,pcr | |
1315 | 276 leay ,u |
277 ldb #ShellPL | |
278 L0190 lda ,x+ | |
279 sta ,y+ | |
280 decb | |
281 bne L0190 | |
282 * Fork final shell here | |
283 leax >Shell,pcr | |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
284 lda #$01 D = 256 (B already 0 from above) |
1315 | 285 ldy #ShellPL |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
286 IFGT Level-1 |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
287 os9 F$Chain Level 2/3. Should not return.. |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
288 ldb #$06 it did! Fatal. Load error code |
1315 | 289 bra Crash |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
290 |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
291 L01A9 ldb #$04 error code |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
292 Crash clr >DPort+$08 turn off disk motor |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
293 jmp <D.Crash fatal error |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
294 ELSE |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
295 os9 F$Fork Level 1. |
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
296 bcs DeadEnd Fatal. |
1316 | 297 os9 F$Wait |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
298 bcc FrkShell OK, go start shell. |
1316 | 299 DeadEnd bra DeadEnd |
3162
c44cd20907bd
sysgo.asm: Delete trailing whitespace, fix indent (no functional change)
Neal Crook <foofoobedoo@gmail.com>
parents:
2989
diff
changeset
|
300 ENDC |
0 | 301 |
302 IcptRtn rti | |
303 | |
304 emod | |
305 eom equ * | |
306 end |