annotate os9/level2/sysgo.asm @ 53:fe88cea67ef0

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