Mercurial > hg > Members > kono > nitros9-code
changeset 2312:ad5f60988a60
fix dw3/serreadm new format
author | aaronwolfe |
---|---|
date | Sun, 03 Jan 2010 19:30:00 +0000 |
parents | b2bc1ad04163 |
children | 9e3038c39b01 |
files | level1/modules/dw3.asm |
diffstat | 1 files changed, 7 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/level1/modules/dw3.asm Sun Jan 03 18:42:59 2010 +0000 +++ b/level1/modules/dw3.asm Sun Jan 03 19:30:00 2010 +0000 @@ -242,7 +242,7 @@ ; limit server bytes to bufsize - datlen ldb RxBufSiz,u ; size of buffer - subb RxDatLen,u ; current bytes in buffer + subb RxDatLen,u ; current bytes in buffer bne IRQMulti3 ; continue, we have some space in buffer ; no room in buffer tstb @@ -319,24 +319,22 @@ clrb tfr d,u - lda ,s ; orig status byte into A - + puls d + * multiread/status flag is in bit 4 of A - anda #$10 + bita #$10 beq IRQPutch ; branch if multiread not set * all 0s in port means status, anything else is multiread - lda ,s ;get original A again - anda #$0F ;mask bit 7-4 - puls d + + bita #$0F ;mask bit 7-4 beq dostat ;port # all 0, this is a status response bra IRQMulti ;its not all 0, this is a multiread dostat bra IRQExit ; not implemented yet ; put byte B in port As buffer - optimization help from Darren Atkinson -IRQPutCh puls d ; get original A and B off the stack - ldx RxBufPut,u ; point X to the data buffer +IRQPutCh ldx RxBufPut,u ; point X to the data buffer ; process interrupt/quit characters here ; note we will have to do this in the multiread (ugh)