mirror of https://github.com/dschmenk/VM02.git
67 lines
961 B
ArmAsm
Executable File
67 lines
961 B
ArmAsm
Executable File
;*
|
|
;* GRAPHICS TABLET DEVICE DRIVER
|
|
;*
|
|
TEM EQU $280
|
|
XFLL EQU $281
|
|
XFLH EQU $282
|
|
YFLL EQU $283
|
|
YFLH EQU $284
|
|
MSLOT EQU $7F8
|
|
ROMREAD EQU $CBF4
|
|
ROMOFFSC EQU $CBC6
|
|
ROMSWCHK EQU $CBD0
|
|
ROMSW EQU $CFFF
|
|
|
|
GT_INIT: LDA #IOCTL_CLOSE
|
|
BNE GT_CTRL
|
|
GT_DRIVER:
|
|
GT_DRVR_SZ: .WORD GT_DRVR_END - GT_DRVR_START
|
|
GT_READ_OFS: .WORD GT_READ - GT_DRVR_START
|
|
GT_WRITE_OFS: .WORD GT_WRITE - GT_DRVR_START
|
|
GT_CTRL_OFS: .WORD GT_CTRL - GT_DRVR_START
|
|
GT_IRQ_OFS: .WORD GT_IRQ - GT_DRVR_START
|
|
GT_DRVR_START:
|
|
GT_READ:
|
|
GT_WRITE: SEC
|
|
RTS
|
|
GT_CTRL: TYA
|
|
AND #$F8 ; MASK OFF SLOT #
|
|
CMP #GTCTL_CALLFW
|
|
BNE :+
|
|
TYA
|
|
AND #$07
|
|
ORA #$C0
|
|
SEI
|
|
STA MSLOT
|
|
STA TMPTR+1
|
|
BIT ROMSW
|
|
LDY #$00
|
|
STY TMPTR
|
|
LDA (TMPTR),Y
|
|
JSR ROMREAD
|
|
CLI
|
|
BCC GTSWCHK
|
|
JMP ROMOFFSC
|
|
GTSWCHK: JMP ROMSWCHK
|
|
: CMP #IOCTL_OPEN
|
|
BNE :+
|
|
TYA
|
|
AND #$07
|
|
ASL
|
|
TAX
|
|
CLC
|
|
RTS
|
|
: CMP #IOCTL_CLOSE
|
|
BNE :+
|
|
CLC
|
|
RTS
|
|
: CMP #IOCTL_ID
|
|
BNE :+
|
|
LDA #$2F ; GRAPHICS TABLET ID
|
|
CLC
|
|
RTS
|
|
GT_IRQ:
|
|
: SEC
|
|
RTS
|
|
GT_DRVR_END EQU *
|