# HG changeset patch # User aaronwolfe # Date 1267306888 0 # Node ID d3a96e890594c6987c7af101279efe4f11a2608e # Parent 95a64ea1c621d9a6373cc64e2ce6002a450a1a84 rfm - copy works diff -r 95a64ea1c621 -r d3a96e890594 level1/modules/rfm.asm --- a/level1/modules/rfm.asm Sat Feb 27 14:39:02 2010 +0000 +++ b/level1/modules/rfm.asm Sat Feb 27 21:41:28 2010 +0000 @@ -438,7 +438,7 @@ * B = error code (if CC.Carry == 1) * getstt - lda #DW.getstt + lda PD.PD,y lbsr sendgstt ldb R$B,u get function code @@ -499,8 +499,59 @@ * X = ptr to 256 byte buffer * Y = # of bytes of FD required -GstFD - rts +* path # and SS.FD already sent to server, so +* send Y, recv Y bytes, get them into caller at X +* Y and U here are still as at entry +GstFD + pshs y,u + + * send caller's Y (do we really need this to be 16bit? X points to 256byte buff? + ldx R$X,u + pshs x + leax ,s + ldy #2 + + * set U to dwsub + ifgt Level-1 + ldu D.DWSubAddr + endc + + jsr 6,u + + * recv bytes into v.buf + puls y + ldx ,s ; orig Y + ldx PD.DEV,x + ldx V$STAT,x + ldx V.BUF,x + pshs x + + jsr 3,u + + * move v.buf into caller + + ldx 4,s + ldu R$X,x ; U = caller's X = dest ptr + sty R$Y,x ; do we need to set this for caller? + + lda