Added SER_ prefix

This commit is contained in:
Olli Savia
2018-11-26 21:41:44 +02:00
committed by Oliver Schmidt
parent 7b4807a8f7
commit ad0b0982d0

View File

@@ -44,15 +44,15 @@
.addr $0000 .addr $0000
; Jump table ; Jump table
.addr INSTALL .addr SER_INSTALL
.addr UNINSTALL .addr SER_UNINSTALL
.addr OPEN .addr SER_OPEN
.addr CLOSE .addr SER_CLOSE
.addr GET .addr SER_GET
.addr PUT .addr SER_PUT
.addr SER_STATUS .addr SER_STATUS
.addr IOCTL .addr SER_IOCTL
.addr IRQ .addr SER_IRQ
;---------------------------------------------------------------------------- ;----------------------------------------------------------------------------
; Global variables ; Global variables
@@ -116,23 +116,23 @@ ParityTable:
.code .code
;---------------------------------------------------------------------------- ;----------------------------------------------------------------------------
; INSTALL: Is called after the driver is loaded into memory. If possible, ; SER_INSTALL: 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. ; check if the hardware is present. Must return an SER_ERR_xx code in a/x.
; ;
; Since we don't have to manage the IRQ vector on the Telestrat/Atmos, this is ; Since we don't have to manage the IRQ vector on the Telestrat/Atmos, this is
; actually the same as: ; actually the same as:
; ;
; UNINSTALL: Is called before the driver is removed from memory. ; SER_UNINSTALL: Is called before the driver is removed from memory.
; No return code required (the driver is removed from memory on return). ; No return code required (the driver is removed from memory on return).
; ;
; and: ; and:
; ;
; CLOSE: Close the port and disable interrupts. Called without parameters. ; SER_CLOSE: Close the port and disable interrupts. Called without parameters.
; Must return an SER_ERR_xx code in a/x. ; Must return an SER_ERR_xx code in a/x.
INSTALL: SER_INSTALL:
UNINSTALL: SER_UNINSTALL:
CLOSE: SER_CLOSE:
ldx Index ; Check for open port ldx Index ; Check for open port
beq :+ beq :+
@@ -147,10 +147,10 @@ CLOSE:
rts rts
;---------------------------------------------------------------------------- ;----------------------------------------------------------------------------
; OPEN: A pointer to a ser_params structure is passed in ptr1. ; SER_OPEN: A pointer to a ser_params structure is passed in ptr1.
; Must return an SER_ERR_xx code in a/x. ; Must return an SER_ERR_xx code in a/x.
OPEN: SER_OPEN:
; Check if the handshake setting is valid ; Check if the handshake setting is valid
ldy #SER_PARAMS::HANDSHAKE ; Handshake ldy #SER_PARAMS::HANDSHAKE ; Handshake
lda (ptr1),y lda (ptr1),y
@@ -220,11 +220,11 @@ InvBaud:lda #<SER_ERR_BAUD_UNAVAIL
rts 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 pointed to by ptr1. If no data is available, SER_ERR_NO_DATA is ; variable pointed to by ptr1. If no data is available, SER_ERR_NO_DATA is
; returned. ; returned.
GET: SER_GET:
ldy SendFreeCnt ; Send data if necessary ldy SendFreeCnt ; Send data if necessary
iny ; Y == $FF? iny ; Y == $FF?
beq :+ beq :+
@@ -261,10 +261,10 @@ GET:
rts rts
;---------------------------------------------------------------------------- ;----------------------------------------------------------------------------
; PUT: Output character in A. ; SER_PUT: Output character in A.
; Must return an SER_ERR_xx code in a/x. ; Must return an SER_ERR_xx code in a/x.
PUT: SER_PUT:
; Try to send ; Try to send
ldy SendFreeCnt ldy SendFreeCnt
iny ; Y = $FF? iny ; Y = $FF?
@@ -303,22 +303,22 @@ SER_STATUS:
rts 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. ; specific data in ptr1, and the ioctl code in A.
; Must return an SER_ERR_xx code in a/x. ; Must return an SER_ERR_xx code in a/x.
IOCTL: SER_IOCTL:
lda #<SER_ERR_INV_IOCTL lda #<SER_ERR_INV_IOCTL
ldx #>SER_ERR_INV_IOCTL ldx #>SER_ERR_INV_IOCTL
rts rts
;---------------------------------------------------------------------------- ;----------------------------------------------------------------------------
; IRQ: Called from the builtin runtime IRQ handler as a subroutine. All ; SER_IRQ: Called from the builtin runtime IRQ handler as a subroutine. All
; registers are already saved, no parameters are passed, but the carry flag ; registers are already saved, no parameters are passed, but the carry flag
; is clear on entry. The routine must return with carry set if the interrupt ; is clear on entry. The routine must return with carry set if the interrupt
; was handled, otherwise with carry clear. ; was handled, otherwise with carry clear.
IRQ: SER_IRQ:
ldx Index ; Check for open port ldx Index ; Check for open port
beq Done beq Done
lda ACIA::STATUS,x ; Check ACIA status for receive interrupt lda ACIA::STATUS,x ; Check ACIA status for receive interrupt