annotate os9/level2/vrbf.asm @ 49:947cbecdd8d5

read and dir worked. exec failed
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 21 Jul 2018 19:25:53 +0900
parents ea1b17311bf3
children 51b437557f42
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
49
947cbecdd8d5 read and dir worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 48
diff changeset
126 ldb P$DIO+3,y get curwdir #pdnumber
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
127 bra s1
49
947cbecdd8d5 read and dir worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 48
diff changeset
128 usechx ldb P$DIO+9,y get curxdir #pdnumber
947cbecdd8d5 read and dir worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 48
diff changeset
129 s1 stb 4,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
130 rts
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
131
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
132 er00 puls y,u,cc
48
ea1b17311bf3 dir /v0 worked but dir /v0/src and chd /v0; dir does not
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
133 lda R$Cc,u
ea1b17311bf3 dir /v0 worked but dir /v0/src and chd /v0; dir does not
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
134 ora #Carry
ea1b17311bf3 dir /v0 worked but dir /v0/src and chd /v0; dir does not
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
135 sta R$Cc,u
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
136 rts
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
137 ok00 puls y,u,cc,pc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
138
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 * I$MakDir Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 * Entry: X = address of the pathlist
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 * Exit: X = last byte of pathlist address
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
149 MakDir pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
150 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 bsr setuppd
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
152 ldb #$d3
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
153 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
154 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
155 cmpb #0
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 beq ok00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 bra er00
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 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 * I$Close Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 * Entry: A = path number
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
169 Close pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
170 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 bsr setuppd
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 ldb #$db
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
173 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
174 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
175 cmpb #0
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 beq ok00
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 bra er00
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 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 * I$ChgDir Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
189 ChgDir pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
190 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 bsr setuppd
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 ldb #$d4
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
193 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
194 ldb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
195 ldy 1,s
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
196 ldx <D.Proc get process pointer
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
197 ldu PD.RGS,y
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
198 lda R$A,u
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 ldb PD.MOD,y get current file mode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 bitb #UPDAT. read or write mode?
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 beq CD30D no, skip ahead
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 * Change current data dir
49
947cbecdd8d5 read and dir worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 48
diff changeset
203 sta P$DIO+3,x
45
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
49
947cbecdd8d5 read and dir worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 48
diff changeset
207 sta P$DIO+9,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
208 bra ok01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
209
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 * I$Delete Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
221 Delete pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
222 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
223 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 ldb #$d5
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
225 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
226 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
227 cmpb #0
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
228 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
229 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
230
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 * I$Seek Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
241 Seek pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
242 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
243 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 ldb #$d6
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
245 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
246 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
247 cmpb #0
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
248 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
249 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
250
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 * I$ReadLn Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
261 ReadLn pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
262 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
263 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 ldb #$d7
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
265 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
266 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
267 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
268 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
269
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 * I$Read Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
280 Read pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
281 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
282 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 ldb #$d8
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
284 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
285 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
286 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
287 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
288
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 * I$WritLn Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
300 WriteLn pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
301 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
302 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 ldb #$d9
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
304 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
305 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
306 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
307 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
308
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 * I$Write Entry Point
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 * Entry:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
319 Write pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
320 orcc #IntMasks
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
321 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 ldb #$da
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
323 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
324 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
325 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
326 er01 puls y,u,cc
48
ea1b17311bf3 dir /v0 worked but dir /v0/src and chd /v0; dir does not
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
327 lda R$Cc,u
ea1b17311bf3 dir /v0 worked but dir /v0/src and chd /v0; dir does not
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
328 ora #Carry
ea1b17311bf3 dir /v0 worked but dir /v0/src and chd /v0; dir does not
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
329 sta R$Cc,u
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
330 orcc #Carry
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
331 rts
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
332 ok01 puls y,u,cc,pc
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
333
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 * I$GetStat Entry Point
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 * Entry:
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 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
344 GetStat pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
345 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 ldb R$B,u get function code
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
347 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 ldb #$dc
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
349 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
350 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
351 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
352 bra er01
45
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
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 * I$SetStat Entry Point
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 * Entry:
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 * Exit:
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 * Error: CC Carry set
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 * B = errcode
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 *
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
365 SetStat pshs y,u,cc
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
366 orcc #IntMasks
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 ldb R$B,u get function code
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
368 lbsr setuppd
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 ldb #$dd
47
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
370 stb ,x
15f1e1b49928 open dir worked ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 46
diff changeset
371 ldb ,x
46
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
372 beq ok01
ec9f494497e1 vdisk fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 45
diff changeset
373 bra er01
45
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
374
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
375
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 emod
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 eom equ *
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
378 end
07c84761da6f dd vrbf asm code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
379