annotate os9/level2/sysgo.asm @ 30:7b1b25ff010a

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