; Jump table
- .word INSTALL
- .word UNINSTALL
- .word OPEN
- .word CLOSE
- .word GET
- .word PUT
- .word STATUS
- .word IOCTL
- .word IRQ
+ .word SER_INSTALL
+ .word SER_UNINSTALL
+ .word SER_OPEN
+ .word SER_CLOSE
+ .word SER_GET
+ .word SER_PUT
+ .word SER_STATUS
+ .word SER_IOCTL
+ .word SER_IRQ
;----------------------------------------------------------------------------
; I/O definitions
.reloc
;----------------------------------------------------------------------------
-; INSTALL routine. Is called after the driver is loaded into memory. If
+; SER_INSTALL routine. Is called after the driver is loaded into memory. If
; possible, check if the hardware is present.
; Must return an SER_ERR_xx code in a/x.
-INSTALL:
+SER_INSTALL:
; Deactivate DTR and disable 6551 interrupts
rts
;----------------------------------------------------------------------------
-; UNINSTALL routine. Is called before the driver is removed from memory.
+; SER_UNINSTALL routine. Is called before the driver is removed from memory.
; Must return an SER_ERR_xx code in a/x.
-UNINSTALL:
+SER_UNINSTALL:
; Stop interrupts, drop DTR
; PARAMS routine. A pointer to a ser_params structure is passed in ptr1.
; Must return an SER_ERR_xx code in a/x.
-OPEN:
+SER_OPEN:
; Check if the handshake setting is valid
rts
;----------------------------------------------------------------------------
-; CLOSE: Close the port, disable interrupts and flush the buffer. Called
+; SER_CLOSE: Close the port, disable interrupts and flush the buffer. Called
; without parameters. Must return an error code in a/x.
;
-CLOSE:
+SER_CLOSE:
; Stop interrupts, drop DTR
rts
;----------------------------------------------------------------------------
-; GET: Will fetch a character from the receive buffer and store it into the
+; SER_GET: Will fetch a character from the receive buffer and store it into the
; variable pointer to by ptr1. If no data is available, SER_ERR_NO_DATA is
; return.
;
-GET: ldx SendFreeCnt ; Send data if necessary
+SER_GET:
+ ldx SendFreeCnt ; Send data if necessary
inx ; X == $FF?
beq @L1
lda #$00
rts
;----------------------------------------------------------------------------
-; PUT: Output character in A.
+; SER_PUT: Output character in A.
; Must return an error code in a/x.
;
-PUT:
+SER_PUT:
; Try to send
rts
;----------------------------------------------------------------------------
-; STATUS: Return the status in the variable pointed to by ptr1.
+; SER_STATUS: Return the status in the variable pointed to by ptr1.
; Must return an error code in a/x.
;
-STATUS: lda ACIA_STATUS
+SER_STATUS:
+ lda ACIA_STATUS
ldx #0
sta (ptr1,x)
txa ; SER_ERR_OK
rts
;----------------------------------------------------------------------------
-; IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
+; SER_IOCTL: Driver defined entry point. The wrapper will pass a pointer to ioctl
; specific data in ptr1, and the ioctl code in A.
; Must return an error code in a/x.
;
-IOCTL: lda #<SER_ERR_INV_IOCTL ; We don't support ioclts for now
+SER_IOCTL:
+ lda #<SER_ERR_INV_IOCTL ; We don't support ioclts for now
ldx #>SER_ERR_INV_IOCTL
rts
; IRQ: Not used on the C128
;
-IRQ = $0000
+SER_IRQ = $0000
;----------------------------------------------------------------------------
;
stx RecvFreeCnt
stx SendFreeCnt
rts
-
-