annotate level1/modules/rfm.asm @ 2453:3bb4f67bc934

Load V$STAT properly
author boisy
date Sat, 27 Feb 2010 00:18:06 +0000
parents ed77cceb175c
children 790eee2f8ad6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2435
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
1 ********************************************************************
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
2 * RFM - Remote File Manager
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
3 *
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
4 *
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
5 * 1 2010/02/20 AAW
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
6 * first version - just send ops
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
7
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
8 nam RFM
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
9 ttl Remote File Manager
2435
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
10
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
11 ifp1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
12 use defsfile
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
13 use rfmdefs
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
14 use dwdefs.d
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
15 endc
2435
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
16
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
17 tylg set FlMgr+Objct
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
18 atrv set ReEnt+rev
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
19 rev set 0
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
20 edition equ 1
2435
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
21
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
22 mod eom,RFMName,tylg,atrv,RFMEnt,size
2442
8f5daacfb035 RFM: oh the humanity
aaronwolfe
parents: 2441
diff changeset
23
8f5daacfb035 RFM: oh the humanity
aaronwolfe
parents: 2441
diff changeset
24
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
25 size equ .
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
26
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
27
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
28 RFMName fcs /RFM/
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
29 fcb edition
2435
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
30
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
31
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
32
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
33 ******************************
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
34 *
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
35 * file manager entry point
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
36 *
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
37 * Entry: Y = Path descriptor pointer
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
38 * U = Callers register stack pointer
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
39 *
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
40
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
41 RFMEnt lbra create Create path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
42 lbra open Open path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
43 lbra makdir Makdir
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
44 lbra chgdir Chgdir
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
45 lbra delete Delete
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
46 lbra seek Seek
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
47 lbra read Read character
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
48 lbra write Write character
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
49 lbra readln ReadLn
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
50 lbra writln WriteLn
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
51 lbra getstt Get Status
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
52 lbra setstt Set Status
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
53 lbra close Close path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
54
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
55 create ldb #DW.create
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
56 bra create1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
57
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
58
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
59 open ldb #DW.open
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
60 create1
2453
3bb4f67bc934 Load V$STAT properly
boisy
parents: 2452
diff changeset
61 ldx PD.DEV,y ; get ptr to our device memory
3bb4f67bc934 Load V$STAT properly
boisy
parents: 2452
diff changeset
62 ldx V$STAT,x ; get ptr to our static storage
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
63 pshs x,y,u ; save all on stack
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
64 stb V.DWCMD,x
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
65
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
66 * TODO lets not create multiple buffers when multiple open/create on same path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
67 * get system mem
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
68 ldd #256
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
69 os9 F$SRqMem ; ask for D bytes (# bytes server said is coming)
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
70 lbcs open2
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
71 stu V.BUF,x
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
72
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
73 * use PrsNam to validate pathlist and count length
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
74 ldu 4,s ; get pointer to caller's registers
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
75 ldy R$X,u
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
76 sty V.PATHNAME,x
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
77 tfr y,x
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
78 prsloop os9 F$PrsNam
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
79 bcs open2
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
80 tfr y,x
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
81 anda #$7F
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
82 cmpa #PENTIR
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
83 bne chkdelim
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
84 ldb #E$BPNam
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
85 bra openerr
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
86 chkdelim cmpa #PDELIM
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
87 beq prsloop
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
88 * at this point X points to the character AFTER the last character in the name
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
89 * update callers R$X
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
90 ldu 4,s ; get caller's registers
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
91 stx R$X,u
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
92
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
93 * compute the length of the pathname and save it
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
94 tfr x,d
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
95 ldx ,s ; get the device memory pointer
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
96 subd V.PATHNAME,x
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
97 std V.PATHNAMELEN,x ; save the length
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
98
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
99 * put command byte & path # on stack
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
100 lda V.DWCMD,x
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
101 ldb PD.PD,y
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
102 pshs cc
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
103 pshs d ; p# PD.DEV PD Regs
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
104
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
105 * put rfm op and DW op on stack
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
106 lda #OP_VFM
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
107 pshs a ; DWOP RFMOP p# PD.DEV PD Regs
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
108
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
109 leax ,s ; point X to stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
110 ldy #3 ; 3 bytes to send
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
111
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
112 ifgt Level-1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
113 ldu <D.DWSubAddr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
114 else
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
115 ldu >D.DWSubAddr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
116 endc
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
117
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
118 orcc #IntMasks
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
119 jsr 6,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
120 leas 3,s ;clean stack PD.DEV PD Regs
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
121
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
122 * now send path string
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
123 * move from caller to our mem
2444
597d98fc261e RFM: never say die
aaronwolfe
parents: 2442
diff changeset
124
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
125 ldx <D.Proc get calling proc desc
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
126 lda P$Task,x ; A = callers task # (source)
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
127
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
128 ldb <D.SysTsk ; B = system task # (dest)
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
129
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
130 ldx 1,s ; get device mem ptr
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
131 ldu V.BUF,x ; get destination pointer in U
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
132 ldy V.PATHNAMELEN,x ; get count in Y
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
133 ldx V.PATHNAME,x ; get source in X
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
134
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
135 * F$Move the bytes (seems to work)
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
136 os9 F$Move
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
137
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
138 bcs moverr
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
139
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
140 * Add carriage return
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
141 tfr u,x
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
142 tfr y,d
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
143 leau d,u
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
144 lda #C$CR
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
145 sta ,u
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
146 leay 1,y
2436
ca3aa5472761 RFM can simulate open,readln,close
aaronwolfe
parents: 2435
diff changeset
147
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
148 * send to server
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
149 ifgt Level-1
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
150 ldu <D.DWSubAddr
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
151 else
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
152 ldu >D.DWSubAddr
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
153 endc
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
154 jsr 6,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
155
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
156 * read response from server -> B
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
157 clr ,-s
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
158 leax ,s
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
159 ldy #1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
160 jsr 3,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
161
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
162 * pull server's response into B
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
163 puls b ; PD.DEV PD Regs
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
164 moverr puls cc
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
165 tstb
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
166 beq open2
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
167
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
168 openerr coma ; set error
2452
ed77cceb175c Almost there
boisy
parents: 2450
diff changeset
169 open2 puls x,y,u,pc
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
170
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
171 makdir lda #DW.makdir
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
172 lbra sendit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
173 chgdir lda #DW.chgdir
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
174 lbra sendit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
175 delete lda #DW.delete
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
176 lbra sendit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
177 seek lda #DW.seek
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
178 lbra sendit
2436
ca3aa5472761 RFM can simulate open,readln,close
aaronwolfe
parents: 2435
diff changeset
179
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
180 read ldb #DW.read
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
181 bra read1 ; join readln routine
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
182
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
183
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
184
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
185 write lda #DW.write
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
186 lbra sendit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
187
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
188
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
189
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
190 readln ldb #DW.readln
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
191 read1 ldx PD.DEV,y ; to our static storage
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
192 pshs x,y,u
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
193
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
194 * put path # on stack
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
195 lda PD.PD,y
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
196 pshs cc
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
197 pshs a ; p# PD.DEV PD Regs
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
198
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
199 * put rfm op and DW op on stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
200
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
201 lda #OP_VFM
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
202 pshs d ; DWOP RFMOP p# PD.DEV PD Regs
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
203
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
204 leax ,s ; point X to stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
205 ldy #3 ; 3 bytes to send
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
206
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
207 * set U to dwsub
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
208 ifgt Level-1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
209 ldu <D.DWSubAddr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
210 else
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
211 ldu >D.DWSubAddr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
212 endc
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
213
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
214 * send dw op, rfm op, path #
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
215 orcc #IntMasks
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
216 jsr 6,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
217 leas 3,s ;clean stack - PD.DEV PD Regs
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
218
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
219 * put caller's Y on stack (maximum allowed bytes)
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
220 ldx 5,s
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
221 ldx R$Y,x
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
222 pshs x
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
223
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
224 * send 2 bytes from stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
225 leax ,s
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
226 ldy #2
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
227 jsr 6,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
228
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
229 leas 1,s ; leave 1 byte for server response in next section
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
230
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
231 * read # bytes coming (0 = eof) from server
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
232 leax ,s
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
233 ldy #1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
234 jsr 3,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
235
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
236 * store size
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
237 clra
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
238 puls b ;PD.DEV PD Regs
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
239
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
240
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
241 * check for 0
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
242 tstb
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
243 beq readln1 ; 0 bytes = EOF
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
244
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
245 * read the data from server if > 0
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
246 go_on pshs d ;xfersz PD.DEV PD Regs
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
247
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
248 * load data from server into mem block
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
249 ldx 3,s ; pd.dev
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
250 ldx V.BUF,x
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
251 ldy ,s ;xfersz
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
252 jsr 3,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
253
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
254 * F$Move
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
255 * a = my task #
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
256 * b = caller's task #
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
257 * X = source ptr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
258 * Y = byte count
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
259 * U = dest ptr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
260
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
261 * move from our mem to caller
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
262
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
263 puls y ;Y = byte count (already set?) - PD.DEV PD Regs
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
264 puls cc
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
265
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
266 ldx 4,s
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
267 ldu R$X,x ; U = caller's X = dest ptr
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
268 sty R$Y,x
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
269
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
270 lda <D.SysTsk ; A = system task #
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
271
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
272 ldx <D.Proc get calling proc desc
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
273 ldb P$Task,x ; B = callers task #
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
274
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
275 puls x ; pd.dev - PD Regs
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
276 ldx V.BUF,x
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
277
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
278 * F$Move the bytes (seems to work)
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
279 os9 F$Move
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
280
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
281 * assume everything worked (not good)
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
282 clrb
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
283 *ldy xfersz,pc ; Y is supposed to be set to bytes read.. do we need to set this in the caller's regs?
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
284 bra readln2
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
285
2447
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
286 readln1
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
287 puls cc
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
288 comb
adfd8492a455 Updated
boisy
parents: 2446
diff changeset
289 ldb #E$EOF
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
290 leas 2,s ; clean stack down
2446
0ae4857f8f82 Save registers in 'sendit'
boisy
parents: 2445
diff changeset
291 readln2 puls y,u,pc
2436
ca3aa5472761 RFM can simulate open,readln,close
aaronwolfe
parents: 2435
diff changeset
292
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
293
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
294 writln lda #DW.writln
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
295 lbra sendit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
296
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
297 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
298 * I$GetStat Entry Point
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
299 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
300 * Entry:
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
301 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
302 * Exit:
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
303 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
304 * Error: CC Carry set
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
305 * B = errcode
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
306 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
307 getstt
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
308 lda #DW.getstt
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
309 lbsr sendit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
310
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
311 ldb R$B,u get function code
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
312 beq GstOPT
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
313 cmpb #SS.EOF
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
314 beq GstEOF
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
315 cmpb #SS.Ready
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
316 beq GstReady
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
317 cmpb #SS.Size
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
318 beq GstSize
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
319 cmpb #SS.Pos
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
320 beq GstPos
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
321 cmpb #SS.FD
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
322 beq GstFD
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
323 cmpb #SS.FDInf
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
324 beq GstFDInf
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
325 comb
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
326 ldb #E$UnkSvc
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
327 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
328
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
329 * SS.OPT
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
330 * RBF does nothing here, so we do nothing
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
331 GstOPT
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
332 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
333
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
334 * SS.EOF
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
335 * Entry A = path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
336 * B = SS.EOF
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
337 GstEOF
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
338 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
339
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
340 * SS.Ready - Check for data available on path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
341 * Entry A = path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
342 * B = SS.Ready
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
343 GstReady
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
344 clr R$B,u always mark no data ready
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
345 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
346
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
347 * SS.Size - Return size of file opened on path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
348 * Entry A = path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
349 * B = SS.SIZ
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
350 * Exit X = msw of files size
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
351 * U = lsw of files size
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
352 GstSize
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
353 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
354
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
355 * SS.Pos - Return the current position in the file
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
356 * Entry A = path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
357 * B = SS.Pos
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
358 * Exit X = msw of pos
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
359 * U = lsw of pos
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
360 GstPOS
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
361 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
362
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
363 * SS.FD - Return file descriptor sector
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
364 * Entry: A = path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
365 * B = SS.FD
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
366 * X = ptr to 256 byte buffer
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
367 * Y = # of bytes of FD required
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
368
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
369 GstFD
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
370 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
371
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
372 * SS.FDInf -
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
373 * Entry: A = path
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
374 * B = SS.FDInf
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
375 * X = ptr to 256 byte buffer
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
376 * Y = msb - Length of read
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
377 * lsb - MSB of LSN
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
378 * U = LSW of LSN
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
379 GstFDInf
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
380 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
381
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
382
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
383
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
384 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
385 * I$SetStat Entry Point
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
386 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
387 * Entry:
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
388 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
389 * Exit:
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
390 *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
391 * Error: CC Carry set
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
392 * B = errcode
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
393 *
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
394 setstt
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
395 lda #DW.setstt
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
396 lbsr sendit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
397
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
398 ldb R$B,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
399 beq SstOpt
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
400 cmpb #SS.Size
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
401 beq SstSize
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
402 cmpb #SS.FD
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
403 beq SstFD
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
404 cmpb #SS.Lock
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
405 beq SstLock
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
406 cmpb #SS.RsBit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
407 beq SstRsBit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
408 cmpb #SS.Attr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
409 beq SstAttr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
410 cmpb #SS.FSig
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
411 beq SstFSig
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
412 comb
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
413 ldb #E$UnkSvc
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
414 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
415
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
416 SstOpt
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
417 SstSize
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
418 SstFD
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
419 SstLock
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
420 SstRsBit
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
421 SstAttr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
422 SstFSig
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
423 rts
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
424
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
425
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
426 close
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
427 pshs y,u
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
428
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
429 * put path # on stack
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
430 lda PD.PD,y
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
431 pshs a
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
432
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
433 * put rfm op and DW op on stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
434 ldb #DW.close
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
435 lda #OP_VFM
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
436 pshs d
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
437
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
438 leax ,s ; point X to stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
439 ldy #3 ; 3 bytes to send
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
440 ifgt Level-1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
441 ldu <D.DWSubAddr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
442 else
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
443 ldu >D.DWSubAddr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
444 endc
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
446 jsr 6,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
447 leas 2,s ;clean stack (leave 1 byte)
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
448
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
449 * read server response
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
450 leax ,s
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
451 ldy #1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
452 jsr 3,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
453
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
454 * free system mem
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
455 ldd #256
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
456 ldx 1,s ; orig Y
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
457 ldx PD.DEV,x
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
458 ldu V.BUF,x
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
459 os9 F$SRtMem
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
460
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
461 puls b ; server sends result code
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
462 tstb
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
463 beq close1
2450
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
464 coma ; set error flag if != 0
a4ac68ad79e4 Added PrsNam support... crashes at the moment
boisy
parents: 2447
diff changeset
465 close1 puls u,y,pc
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
466
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
467
2435
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
468 * just send OP_VMF + vfmop
2446
0ae4857f8f82 Save registers in 'sendit'
boisy
parents: 2445
diff changeset
469 sendit pshs a,x,y,u
2435
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
470
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
471 lda #OP_VFM ; load command
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
472 pshs a ; command store on stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
473 leax ,s ; point X to stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
474 ldy #2 ; 2 byte to send
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
475 ifgt Level-1
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
476 ldu <D.DWSubAddr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
477 else
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
478 ldu >D.DWSubAddr
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
479 endc
2435
f3f09398780b initial RFM
aaronwolfe
parents:
diff changeset
480
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
481 jsr 6,u
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
482 leas 2,s ;clean stack
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
483
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
484 clrb
2446
0ae4857f8f82 Save registers in 'sendit'
boisy
parents: 2445
diff changeset
485 puls x,y,u,pc
2445
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
486
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
487 emod
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
488 eom equ *
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
489 end
6231225a182e Updated with SetStat and GetStat op entry points
boisy
parents: 2444
diff changeset
490