annotate os9/level2/vrbf.asm @ 47:15f1e1b49928

open dir worked ?
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 20 Jul 2018 17:04:49 +0900
parents ec9f494497e1
children ea1b17311bf3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
1 *******************************************************************2
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
2 * Virtual RBF - Random Block File Manager *
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 nam VRBF
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 ttl VRandom Block File Manager
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 ifp1
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 use defsfile
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 endc
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 rev set $00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 ty set FlMgr
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 IFNE H6309
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 lg set Obj6309
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 ELSE
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 lg set Objct
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 ENDC
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 tylg set ty+lg
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 atrv set ReEnt+rev
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 edition set 37
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 org $00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 size equ .
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 mod eom,name,tylg,atrv,start,size
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 name fcs /VRBF/
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 fcb edition
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 *L0012 fcb DRVMEM
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 ****************************
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 * Main entry point for RBF
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 * Entry: Y = Path descriptor pointer
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 * U = Register stack pointer
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
40 start lbra Create
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 lbra Open
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 lbra MakDir
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 lbra ChgDir
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 lbra Delete
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 lbra Seek
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 lbra Read
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 lbra Write
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 lbra ReadLn
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 lbra WriteLn
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 lbra GetStat
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 lbra SetStat
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 lbra Close
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
54 *
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
55 *
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
56 *
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
57
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 * I$Create Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 * Entry: A = access mode desired (0 read, 1 write, 2 update, bit 4 for exex)
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 * B = file attributes
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 * X = address of the pathlist
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 * Exit: A = pathnum
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 * X = last byte of pathlist address
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
72 Create pshs y,u,cc Preserve path desc ptr
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
73 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 bsr setuppd
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 stb 4,u put file attribute
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
76 ldb #$d1
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
77 stb ,u do IO b,x will be rewrited
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 ldb ,u
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 beq ok00
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
80 bra er00
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 * I$Open Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 * Entry: A = access mode desired
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 * X = address of the pathlist
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 * Exit: A = pathnum
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 * X = last byte of pathlist address
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
94 Open pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
95 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 bsr setuppd
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
97 ldb #$d2
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
98 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
99 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
100 cmpb #0
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 beq ok00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 bra er00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
104 * u user stack
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
105 * y path descriptor
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
106 * PD.PD.y path number
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
107 * PD.PD.MOD.y mode
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
108 * PD.RGS,y caller's rega = u
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
109 * PD.DEV,y device table
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
110 * PD.DRV,y drive number
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
111
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
112 setuppd ldx #$FFc0 vdisk port
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
113 sty 7,x path descriptor
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
114 stu 5,x caller stack
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
115 lda <PD.DRV,y
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
116 sta 1,x
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
117 clra
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
118 ldy <D.Proc get process pointer
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
119 cmpy <D.SysPrc
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
120 beq sysmode
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
121 lda #1
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
122 sysmode sta 2,x
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
123 lda R$A,u
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
124 bita #EXEC.
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
125 bne usechx
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
126 ldd P$DIO+4,y get curwdir #pdnumber
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
127 bra s1
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
128 usechx ldd P$DIO+10,y get curxdir #pdnumber
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
129 s1
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
130 std 3,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
131 rts
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
132
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
133 er00 puls y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
134 orcc #Carry
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
135 rts
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
136 ok00 puls y,u,cc,pc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
137
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 * I$MakDir Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 * Entry: X = address of the pathlist
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 * Exit: X = last byte of pathlist address
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
148 MakDir pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
149 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 bsr setuppd
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
151 ldb #$d3
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
152 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
153 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
154 cmpb #0
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 beq ok00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 bra er00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 * I$Close Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 * Entry: A = path number
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
168 Close pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
169 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 bsr setuppd
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 ldb #$db
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
172 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
173 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
174 cmpb #0
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 beq ok00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 bra er00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 * I$ChgDir Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
188 ChgDir pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
189 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 bsr setuppd
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 ldb #$d4
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
192 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
193 ldb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
194 ldy 1,s
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
195 ldx <D.Proc get process pointer
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
196 ldu PD.RGS,y
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
197 lda R$A,u
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 ldb PD.MOD,y get current file mode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 bitb #UPDAT. read or write mode?
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 beq CD30D no, skip ahead
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 * Change current data dir
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
202 clr P$DIO+4,x
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 sta P$DIO+5,x
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 CD30D bitb #EXEC. is it execution dir?
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
205 beq ok01 no, skip ahead
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 * Change current execution directory
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
207 clr P$DIO+10,x
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 sta P$DIO+11,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
209 bra ok01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
210
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 * I$Delete Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
222 Delete pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
223 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
224 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 ldb #$d5
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
226 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
227 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
228 cmpb #0
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
229 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
230 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
231
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 * I$Seek Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
242 Seek pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
243 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
244 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 ldb #$d6
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
246 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
247 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
248 cmpb #0
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
249 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
250 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
251
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 * I$ReadLn Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
262 ReadLn pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
263 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
264 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 ldb #$d7
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
266 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
267 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
268 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
269 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
270
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 * I$Read Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
281 Read pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
282 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
283 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 ldb #$d8
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
285 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
286 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
287 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
288 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
289
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
290
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 * I$WritLn Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
301 WriteLn pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
302 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
303 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 ldb #$d9
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
305 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
306 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
307 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
308 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
309
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 * I$Write Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
320 Write pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
321 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
322 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 ldb #$da
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
324 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
325 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
326 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
327 er01 puls y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
328 orcc #Carry
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
329 rts
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
330 ok01 puls y,u,cc,pc
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
331
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 * I$GetStat Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
342 GetStat pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
343 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 ldb R$B,u get function code
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
345 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 ldb #$dc
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
347 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
348 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
349 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
350 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
351
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
352
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 * I$SetStat Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
357 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
363 SetStat pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
364 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 ldb R$B,u get function code
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
366 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 ldb #$dd
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
368 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
369 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
370 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
371 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
372
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
373
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 emod
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 eom equ *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 end
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
377