annotate os9/level2/sysgo.asm @ 37:7baffb867d70

nitros9 level 1 worked
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 16 Jul 2018 11:22:28 +0900
parents
children 51b437557f42
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 *
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 fcc "/D0"
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 *
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 fcc "/DD"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 * IFNE DD
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 * fcc "/DD/"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 * ELSE
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 * fcc "/H0/"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 * ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 ExecDir fcc "/D0/CMDS"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 fcb C$CR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 Shell fcc "Shell"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 fcb C$CR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 AutoEx fcc "AutoEx"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 fcb C$CR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 AutoExPr fcc ""
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 fcb C$CR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 AutoExPrL equ *-AutoExPr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
97
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 IFEQ ROM
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 Startup fcc "startup -p"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 fcb C$CR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 StartupL equ *-Startup
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 ShellPrm equ *
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 IFGT Level-1
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 fcc "i=/1"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 CRtn fcb C$CR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 ShellPL equ *-ShellPrm
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
110
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 mdirprm fcc "-e"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 fcb C$CR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 * Default time packet
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 DefTime
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 * dtb
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 IFEQ atari+corsham
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 IFEQ Level-1
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 * BASIC reset code (CoCo port only)
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 * BasicRst fcb $55
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 * neg <$0074
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 * nop
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 * clr >PIA0Base+3
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 * nop
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 * nop
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 * sta >$FFDF turn off ROM mode
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 * jmp >Bt.Start+2 jump to boot
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 * BasicRL equ *-BasicRst
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 Init fcs /Init/
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 * 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
136 * Exit: D = length of string
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 strlen pshs x
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 ldd #-1
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 go@ addd #$0001
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 tst ,x+
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 bne go@
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 puls x,pc
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 * Display carriage-return/line-feed.
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 WriteCR pshs y
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 leax CrRtn,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 ldy #$0001
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 os9 I$WritLn
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 puls y,pc
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 **********************************************************
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 * SysGo Entry Point
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 **********************************************************
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 start leax >IcptRtn,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 os9 F$Icpt
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 * Set priority of this process
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 os9 F$ID
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 ldb #DefPrior
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 os9 F$SPrior
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 * Write OS name and Machine name strings
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 leax Init,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 clra
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 pshs u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 os9 F$Link
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 bcs SignOn
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 stx <InitAddr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 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
169 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
170 bsr strlen
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 tfr d,y
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 lda #$01
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 os9 I$Write
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 bsr WriteCR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 ldd InstallName,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 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
177 bsr strlen
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 tfr d,y
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 lda #$01
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 os9 I$Write
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 bsr WriteCR
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 * Show rest of banner
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 SignOn
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 puls u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 leax >Banner,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 ldy #BannLen
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 lda #$01 standard output
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 os9 I$Write write out banner
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 * Set default time
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 * leax >DefTime,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 * os9 F$STime set time to default
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
194
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 IFEQ ROM
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 * Change EXEC and DATA dirs
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 leax >ExecDir,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 lda #EXEC.
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 os9 I$ChgDir change exec. dir
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 leax >DefDev,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 * 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
202 lda #READ.
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 os9 I$ChgDir change data dir.
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 bcs L0125
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 leax >HDDev,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 lda #EXEC.
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 os9 I$ChgDir change exec. dir to HD
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
209
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 L0125 equ *
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 pshs u,y
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 IFEQ atari+corsham
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 IFEQ Level-1
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 * Setup BASIC code (CoCo port only)
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 * leax >BasicRst,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 * ldu #D.CBStrt
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 * ldb #BasicRL
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 *CopyLoop lda ,x+
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 * sta ,u+
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 * decb
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 * bne CopyLoop
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 ELSE
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 os9 F$ID get process ID
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 lbcs L01A9 fail
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 leax ,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 os9 F$GPrDsc get process descriptor copy
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 lbcs L01A9 fail
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 leay ,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 ldx #$0000
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 ldb #$01
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 os9 F$MapBlk
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 bcs L01A9
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
233
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 * lda #$55 set flag for Color BASIC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 * sta <D.CBStrt,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 * 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
237 ldd <D.SysPrc,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 leau d,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 leau <P$DIO,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 leay <P$DIO,y
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 ldb #DefIOSiz-1
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 L0151 lda b,y
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 sta b,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 decb
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 bpl L0151
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 *
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 * IFEQ ROM
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 * Fork shell startup here
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 * IFEQ atari+corsham
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 * 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
253 * lda #$01 standard output
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 * ldb #SS.KySns
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 * os9 I$GetStt
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 * bcs DoStartup
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 * bita #SHIFTBIT SHIFT key down?
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 * 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
259 * ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
260
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 *DoStartup leax >Shell,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 * leau >Startup,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 * ldd #256
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 * ldy #StartupL
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 * os9 F$Fork
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 * bcs DoAuto Startup failed..
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 * os9 F$Wait
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 * Fork AutoEx here
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 *DoAuto leax >AutoEx,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 * leau >CRtn,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 * ldd #$0100
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 * ldy #$0001
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 * os9 F$Fork
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 * bcs L0186 AutoEx failed..
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 * os9 F$Wait
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 IFEQ Level-1
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 leax >MDIR,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 leau >mdirprm,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 #$0003
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 bra L0186
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 MDIR fcs "mdir"
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 fcb $0d
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 L0186 equ *
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 puls u,y
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 FrkShell leax >ShellPrm,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 leay ,u
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 ldb #ShellPL
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 L0190 lda ,x+
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 sta ,y+
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 decb
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 bne L0190
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 * Fork final shell here
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 leax >Shell,pcr
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 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
303 ldy #ShellPL
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 IFGT Level-1
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 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
306 ldb #$06 it did! Fatal. Load error code
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 bra Crash
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
308
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 L01A9 ldb #$04 error code
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 Crash clr >DPort+$08 turn off disk motor
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 jmp <D.Crash fatal error
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 ELSE
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 os9 F$Fork Level 1.
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 bcs DeadEnd Fatal.
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 os9 F$Wait
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 bcc FrkShell OK, go start shell.
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 DeadEnd bra DeadEnd
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 ENDC
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
319
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 IcptRtn rti
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
321
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 emod
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 eom equ *
7baffb867d70 nitros9 level 1 worked
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 end