X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2Fc128%2Fser%2Fc128-swlink.s;h=347452e852d00dc690021982f333ffa23b93f139;hb=85885001b133e2dc320b6f6459259afa69784ca8;hp=558d80db84c8d62dce9b4b834e8ddbcbc483feba;hpb=44fd1082ae807a0b6b4046c65914e20a7e27101c;p=cc65 diff --git a/libsrc/c128/ser/c128-swlink.s b/libsrc/c128/ser/c128-swlink.s index 558d80db8..347452e85 100644 --- a/libsrc/c128/ser/c128-swlink.s +++ b/libsrc/c128/ser/c128-swlink.s @@ -24,7 +24,7 @@ .include "zeropage.inc" .include "ser-kernel.inc" .include "ser-error.inc" - .include "c128.inc" + .include "c128.inc" ; ------------------------------------------------------------------------ @@ -47,12 +47,12 @@ .word PUT .word STATUS .word IOCTL - .word IRQ + .word IRQ ;---------------------------------------------------------------------------- ; I/O definitions -ACIA = $DE00 +ACIA = $DE00 ACIA_DATA = ACIA+0 ; Data register ACIA_STATUS = ACIA+1 ; Status register ACIA_CMD = ACIA+2 ; Command register @@ -137,11 +137,11 @@ NmiStubOrig := * .org $1150 ; BASIC graphics area .proc NmiStub - lda #MMU_CFG_CC65 ; Bank 0 with kernal ROM... - sta MMU_CR ; ...enable + lda #MMU_CFG_CC65 ; Bank 0 with kernal ROM... + sta MMU_CR ; ...enable jsr NmiHandler ; Call the actual NMI handler - lda #$00 ; Get ROM config... - sta MMU_CR ; ...and enable it + lda #$00 ; Get ROM config... + sta MMU_CR ; ...and enable it Vector := *+1 .byte $4C ; Jump to the saved IRQ vector @@ -157,8 +157,8 @@ INSTALL: ; Deactivate DTR and disable 6551 interrupts - lda #%00001010 - sta ACIA_CMD + lda #%00001010 + sta ACIA_CMD ; Copy the NMI stub into low memory @@ -170,20 +170,20 @@ INSTALL: ; Set up the nmi vector - lda NMIVec - ldy NMIVec+1 - sta NmiStub::Vector+0 - sty NmiStub::Vector+1 - lda #NmiStub -SetNMI: sta NMIVec - sty NMIVec+1 + lda NMIVec + ldy NMIVec+1 + sta NmiStub::Vector+0 + sty NmiStub::Vector+1 + lda #NmiStub +SetNMI: sta NMIVec + sty NMIVec+1 ; Done, return an error code lda #SER_ERR_INIT_FAILED - rts + lda #SER_ERR_INIT_FAILED + rts ; Baud rate not available @@ -285,8 +285,8 @@ CLOSE: ; Stop interrupts, drop DTR - lda #%00001010 - sta ACIA_CMD + lda #%00001010 + sta ACIA_CMD ; Initalize buffers. Returns zero in a @@ -296,7 +296,7 @@ CLOSE: lda #SER_ERR_NO_DATA - rts +@L1: lda RecvFreeCnt ; (25) + cmp #$ff + bne @L2 + lda #SER_ERR_NO_DATA + rts ; Check for flow stopped & enough free: release flow control -@L2: ldx Stopped ; (34) - beq @L3 - cmp #63 - bcc @L3 - lda #$00 - sta Stopped - lda RtsOff - ora #%00001000 - sta ACIA_CMD +@L2: ldx Stopped ; (34) + beq @L3 + cmp #63 + bcc @L3 + lda #$00 + sta Stopped + lda RtsOff + ora #%00001000 + sta ACIA_CMD ; Get byte from buffer -@L3: ldx RecvHead ; (41) - lda RecvBuf,x - inc RecvHead - inc RecvFreeCnt - ldx #$00 ; (59) - sta (ptr1,x) - txa ; Return code = 0 - rts +@L3: ldx RecvHead ; (41) + lda RecvBuf,x + inc RecvHead + inc RecvFreeCnt + ldx #$00 ; (59) + sta (ptr1,x) + txa ; Return code = 0 + rts ;---------------------------------------------------------------------------- ; PUT: Output character in A. @@ -351,40 +351,40 @@ PUT: ; Try to send - ldx SendFreeCnt - inx ; X = $ff? - beq @L2 - pha - lda #$00 - jsr TryToSend - pla + ldx SendFreeCnt + inx ; X = $ff? + beq @L2 + pha + lda #$00 + jsr TryToSend + pla ; Put byte into send buffer & send -@L2: ldx SendFreeCnt - bne @L3 - lda #