Mercurial > hg > Members > kono > nitros9-code
changeset 2435:f3f09398780b
initial RFM
author | aaronwolfe |
---|---|
date | Sun, 21 Feb 2010 06:25:53 +0000 |
parents | eab6b9e18832 |
children | ca3aa5472761 |
files | level1/modules/dw3.asm level1/modules/rfm.asm level1/modules/rfmdrv.asm level1/modules/y0_rfm.asm |
diffstat | 4 files changed, 206 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/level1/modules/dw3.asm Sun Feb 21 06:24:47 2010 +0000 +++ b/level1/modules/dw3.asm Sun Feb 21 06:25:53 2010 +0000 @@ -34,12 +34,12 @@ * Default time packet DefTime fcb 109,12,31,23,59,59 -* for dynamic poll frequency, number of ticks between firing poller +* for dynamic poll frequency, number of ticks between firing poller - should we move to dwdefs? * speed 1 = interactive (typing) PollSpd1 fcb 3 -* speed 2 = bulk transfer +* speed 2 = bulk transfer (depending on how much processing needs to be done to incoming stream, 5-8 seems good) PollSpd2 fcb 6 -* speed 3 = idle +* speed 3 = idle PollSpd3 fcb 40 * X pollidle -> drop to next slower rate PollIdle fcb 60
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/modules/rfm.asm Sun Feb 21 06:25:53 2010 +0000 @@ -0,0 +1,136 @@ +******************************************************************** +* RFM - Remote File Manager +* +* +* 1 2010/02/20 AAW +* first version - just send ops + + nam RFM + ttl Remote File Manager + + IFP1 + use defsfile + use rfmdefs + use dwdefs.d + ENDC + +tylg set FlMgr+Objct +atrv set ReEnt+rev +rev set 0 +edition equ 1 + + mod eom,RFMName,tylg,atrv,RFMEnt,0 + +RFMName fcs /RFM/ + fcb edition + + + +****************************** +* +* file manager entry point +* +* Entry: Y = Path descriptor pointer +* U = Callers register stack pointer +* + +RFMEnt lbra create Create path + lbra open Open path + lbra makdir Makdir + lbra chgdir Chgdir + lbra delete Delete + lbra seek Seek + lbra read Read character + lbra write Write character + lbra readln ReadLn + lbra writln WriteLn + lbra getstt Get Status + lbra setstt Set Status + lbra close Close path + +create lda #DW.create + lbra sendit +open lda #DW.open + lbra sendit +makdir lda #DW.makdir + lbra sendit +chgdir lda #DW.chgdir + lbra sendit +delete lda #DW.delete + lbra sendit +seek lda #DW.seek + lbra sendit +read lda #DW.read + lbra sendit +write lda #DW.write + lbra sendit +readln lda #DW.readln + lbra sendit +writln lda #DW.writln + lbra sendit +getstt lda #DW.getstt + lbra sendit +setstt lda #DW.setstt + lbra sendit +close lda #DW.close + lbra sendit + +* just send OP_VMF + vfmop +sendit pshs u + + pshs y + pshs a + + * put diag info in PD.FST + + leay PD.FST,y + + stu ,y++ ; U from IOman + + ldx R$X,u ; should be X from caller + stx ,y++ + + ldx 1,s ; Y from ioman + stx ,y++ + + ldx R$X+PD.RGS,x ; should be X from caller + stx ,y++ + + * 10 bytes from X? + clrb +sleep1 lda ,x+ + sta ,y+ + incb + cmpb #10 + bne sleep1 + + + + lda #OP_VFM ; load command + pshs a ; command store on stack + leax ,s ; point X to stack + ldy #2 ; 2 byte to send + ifgt Level-1 + ldu <D.DWSubAddr + else + ldu >D.DWSubAddr + endc + + jsr 6,u + leas 2,s ;clean stack + + puls x + ldy #107 + jsr 6,u + + + + puls u + clrb + rts + + + emod +eom equ * + end +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/modules/rfmdrv.asm Sun Feb 21 06:25:53 2010 +0000 @@ -0,0 +1,33 @@ +******************************************************************** +* rfmdrv - remote file manager driver +* + + nam rfmdrv + ttl Remote file manager driver + + ifp1 + use defsfile + endc + +tylg set Drivr+Objct +atrv set ReEnt+rev +rev set $01 +edition set $01 + + mod eom,name,tylg,atrv,start,size + + +wtf rmb 1 +size equ . + + +name fcs /rfmdrv/ + fcb edition + +start nop + clrb + rts + + emod +eom equ * + end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/modules/y0_rfm.asm Sun Feb 21 06:25:53 2010 +0000 @@ -0,0 +1,34 @@ +******************************************************************** +* Y0 - Remote file manager test +* + + nam Y0 + ttl Remote File Manager Device Descriptor + + ifp1 + use defsfile + endc + + +tylg set Devic+Objct +atrv set ReEnt+rev +rev set $00 + + mod eom,name,tylg,atrv,mgrnam,drvnam + + fcb READ.+WRITE. mode byte + fcb $00 extended controller address + fdb $0000 physical controller address + fcb initsize-*-1 initilization table size + fcb DT.RFM device type:0=scf,1=rbf,2=pipe,3=scf +initsize equ * + +name fcs /Y0/ +mgrnam fcs /RFM/ +drvnam fcs /RFMDrv/ + + + emod +eom equ * + end +