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