0
|
1 ********************************************************************
|
|
2 * CC3Go - Kickstart program module
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * Ed. Comments Who YY/MM/DD
|
|
7 * ------------------------------------------------------------------
|
|
8 * 5 Taken from OS-9 L2 Tandy distribution and BGP 98/10/12
|
|
9 * modified banner for V3
|
|
10
|
|
11 nam CC3Go
|
|
12 ttl Kickstart program module
|
|
13
|
|
14 ifp1
|
|
15 use defsfile
|
|
16 use scfdefs
|
|
17 endc
|
|
18
|
|
19 tylg set Prgrm+Objct
|
|
20 atrv set ReEnt+rev
|
|
21 rev set $01
|
|
22 edition set $05
|
|
23
|
|
24 mod eom,name,tylg,atrv,start,size
|
|
25
|
|
26 u0000 rmb 32
|
|
27 u0020 rmb 42
|
|
28 u004A rmb 33
|
|
29 u006B rmb 6
|
|
30 u0071 rmb 655
|
|
31 size equ .
|
|
32
|
|
33 name fcs /CC3Go/
|
|
34 fcb edition
|
|
35
|
|
36 Banner fcc / OS-9 LEVEL TWO VR. 0/
|
|
37 fcb 48+OS9Vrsn
|
|
38 fcc /.0/
|
|
39 fcb 48+OS9Major
|
|
40 fcc /.0/
|
|
41 fcb 48+OS9Minor
|
|
42 fcb C$CR,C$LF
|
|
43 fcc / COPYRIGHT 1988 BY/
|
|
44 fcb C$CR,C$LF
|
|
45 fcc / MICROWARE SYSTEMS CORP./
|
|
46 fcb C$CR,C$LF
|
|
47 fcc / LICENSED TO TANDY CORP./
|
|
48 fcb C$CR,C$LF
|
|
49 fcc / ALL RIGHTS RESERVED./
|
|
50 fcb C$CR,C$LF
|
|
51 fcb C$LF
|
|
52 BannLen equ *-Banner
|
|
53 DefDev fcc "/H0"
|
|
54 fcb C$CR
|
|
55 HDDev fcc "/H0/"
|
|
56 ExecDir fcc "Cmds"
|
|
57 fcb C$CR
|
|
58 fcc ",,,,,"
|
|
59 Shell fcc "Shell"
|
|
60 fcb C$CR
|
|
61 fcc ",,,,,"
|
|
62 AutoEx fcc "AutoEx"
|
|
63 fcb C$CR
|
|
64 fcc ",,,,,"
|
|
65 Startup fcc "STARTUP -P"
|
|
66 fcb C$CR
|
|
67 fcc ",,,,,"
|
|
68 ShellPrm fcc "i=/1"
|
|
69 CRtn fcb C$CR
|
|
70 fcc ",,,,,"
|
|
71 ShellPL equ *-ShellPrm
|
|
72
|
|
73 DefTime fcb 88,10,01,00,00,00
|
|
74
|
|
75 start leax >IcptRtn,pcr
|
|
76 os9 F$Icpt
|
|
77 os9 F$ID
|
|
78 ldb #$80
|
|
79 os9 F$SPrior
|
|
80 leax >Banner,pcr
|
|
81 ldy #BannLen
|
|
82 lda #$01 standard output
|
|
83 os9 I$Write write out banner
|
|
84 leax >DefTime,pcr
|
|
85 os9 F$STime set time to default
|
|
86 leax >ExecDir,pcr
|
|
87 lda #EXEC.
|
|
88 os9 I$ChgDir change exec. dir
|
|
89 leax >DefDev,pcr
|
|
90 lda #READ.+WRITE.
|
|
91 os9 I$ChgDir change data dir.
|
|
92 bcs L0125
|
|
93 leax >HDDev,pcr
|
|
94 lda #EXEC.
|
|
95 os9 I$ChgDir change exec. dir to HD
|
|
96 L0125 pshs u,y
|
|
97 os9 F$ID
|
|
98 bcs L01A9
|
|
99 leax ,u
|
|
100 os9 F$GPrDsc
|
|
101 bcs L01A9
|
|
102 leay ,u
|
|
103 ldx #$0000
|
|
104 ldb #$01
|
|
105 os9 F$MapBlk
|
|
106 bcs L01A9
|
|
107 * Set flag for Color BASIC
|
|
108 lda #$55
|
|
109 sta <D.CBStrt,u
|
|
110 * Copy our default I/O ptrs to the system process
|
|
111 ldd <D.SysPrc,u
|
|
112 leau d,u
|
|
113 leau <P$DIO,u
|
|
114 leay <P$DIO,y
|
|
115 ldb #DefIOSiz-1
|
|
116 L0151 lda b,y
|
|
117 sta b,u
|
|
118 decb
|
|
119 bpl L0151
|
|
120 * Fork shell startup here
|
|
121 leax >Shell,pcr
|
|
122 leau >Startup,pcr
|
|
123 ldd #256
|
|
124 ldy #16
|
|
125 os9 F$Fork
|
|
126 bcs L01A5
|
|
127 os9 F$Wait
|
|
128 * Fork AutoEx here
|
|
129 leax >AutoEx,pcr
|
|
130 leau >CRtn,pcr
|
|
131 ldd #$0100
|
|
132 ldy #$0001
|
|
133 os9 F$Fork
|
|
134 bcs L0186
|
|
135 os9 F$Wait
|
|
136 L0186 puls u,y
|
|
137 leax >ShellPrm,pcr
|
|
138 leay ,u
|
|
139 ldb #ShellPL
|
|
140 L0190 lda ,x+
|
|
141 sta ,y+
|
|
142 decb
|
|
143 bne L0190
|
|
144 * Fork final shell here
|
|
145 leax >Shell,pcr
|
|
146 ldd #$0100
|
|
147 ldy #ShellPL
|
|
148 os9 F$Chain
|
|
149 L01A5 ldb #$06
|
|
150 bra Crash
|
|
151 L01A9 ldb #$04
|
|
152 Crash clr $FFA8 turn off disk motor
|
|
153 jmp <D.Crash
|
|
154
|
|
155 IcptRtn rti
|
|
156
|
|
157 emod
|
|
158 eom equ *
|
|
159 end
|