mirror of
https://github.com/mgcaret/of816.git
synced 2025-08-12 08:25:06 +00:00
Neon816: VMODELINE, SPI2 commands; save a few bytes
This commit is contained in:
@@ -42,7 +42,6 @@ dword PS2K_QUERY,"PS2K?"
|
|||||||
eword
|
eword
|
||||||
|
|
||||||
dword PS2K_FETCH,"PS2K@"
|
dword PS2K_FETCH,"PS2K@"
|
||||||
lda #$0000
|
|
||||||
sep #SHORT_A
|
sep #SHORT_A
|
||||||
.a8
|
.a8
|
||||||
: lda f:PS2Kstat
|
: lda f:PS2Kstat
|
||||||
@@ -51,9 +50,9 @@ dword PS2K_FETCH,"PS2K@"
|
|||||||
lda f:PS2Kio
|
lda f:PS2Kio
|
||||||
rep #SHORT_A
|
rep #SHORT_A
|
||||||
.a16
|
.a16
|
||||||
tay
|
and #$00FF
|
||||||
lda #$0000
|
jsr _pusha
|
||||||
PUSHNEXT
|
NEXT
|
||||||
eword
|
eword
|
||||||
|
|
||||||
dword PS2M_STORE,"PS2M!"
|
dword PS2M_STORE,"PS2M!"
|
||||||
@@ -85,7 +84,6 @@ dword PS2M_QUERY,"PS2M?"
|
|||||||
eword
|
eword
|
||||||
|
|
||||||
dword PS2M_FETCH,"PS2M@"
|
dword PS2M_FETCH,"PS2M@"
|
||||||
lda #$0000
|
|
||||||
sep #SHORT_A
|
sep #SHORT_A
|
||||||
.a8
|
.a8
|
||||||
: lda f:PS2Mstat
|
: lda f:PS2Mstat
|
||||||
@@ -94,9 +92,9 @@ dword PS2M_FETCH,"PS2M@"
|
|||||||
lda f:PS2Mio
|
lda f:PS2Mio
|
||||||
rep #SHORT_A
|
rep #SHORT_A
|
||||||
.a16
|
.a16
|
||||||
tay
|
and #$00FF
|
||||||
lda #$0000
|
jsr _pusha
|
||||||
PUSHNEXT
|
NEXT
|
||||||
eword
|
eword
|
||||||
|
|
||||||
dword dKBDRESET,"$KBDRESET"
|
dword dKBDRESET,"$KBDRESET"
|
||||||
@@ -196,9 +194,8 @@ dofetch: sta f:I2C2ctrl
|
|||||||
rep #SHORT_A
|
rep #SHORT_A
|
||||||
.a16
|
.a16
|
||||||
and #$00FF
|
and #$00FF
|
||||||
tay
|
jsr _pusha
|
||||||
lda #$0000
|
NEXT
|
||||||
PUSHNEXT
|
|
||||||
eword
|
eword
|
||||||
|
|
||||||
dword I2C2_FETCH,"I2C2@+"
|
dword I2C2_FETCH,"I2C2@+"
|
||||||
@@ -238,9 +235,8 @@ dword VDC_C_FETCH,"VDCC@"
|
|||||||
.a16
|
.a16
|
||||||
plx ; restore SP
|
plx ; restore SP
|
||||||
and #$00FF
|
and #$00FF
|
||||||
tay
|
jsr _pusha
|
||||||
lda #$0000
|
NEXT
|
||||||
PUSHNEXT
|
|
||||||
eword
|
eword
|
||||||
|
|
||||||
dword VDC_STORE,"VDC!"
|
dword VDC_STORE,"VDC!"
|
||||||
@@ -284,7 +280,7 @@ dword VIDSTART,"VIDSTART"
|
|||||||
ONLIT $0272
|
ONLIT $0272
|
||||||
ONLIT $1E
|
ONLIT $1E
|
||||||
.dword VDC_STORE
|
.dword VDC_STORE
|
||||||
ONLIT $92
|
vid_on: ONLIT $92
|
||||||
: .dword ZERO
|
: .dword ZERO
|
||||||
.dword VDC_C_STORE
|
.dword VDC_C_STORE
|
||||||
.dword ZERO
|
.dword ZERO
|
||||||
@@ -302,6 +298,37 @@ dword VIDSTART,"VIDSTART"
|
|||||||
EXIT
|
EXIT
|
||||||
eword
|
eword
|
||||||
|
|
||||||
|
dword VMODELINE,"VMODELINE"
|
||||||
|
ENTER
|
||||||
|
.dword TWO
|
||||||
|
.dword MINUS
|
||||||
|
ONLIT $1E
|
||||||
|
.dword VDC_STORE
|
||||||
|
.dword DECR
|
||||||
|
ONLIT $1C
|
||||||
|
.dword VDC_STORE
|
||||||
|
.dword DECR
|
||||||
|
ONLIT $1A
|
||||||
|
.dword VDC_STORE
|
||||||
|
.dword DECR
|
||||||
|
ONLIT $18
|
||||||
|
.dword VDC_STORE
|
||||||
|
.dword TWO
|
||||||
|
.dword MINUS
|
||||||
|
ONLIT $16
|
||||||
|
.dword VDC_STORE
|
||||||
|
.dword DECR
|
||||||
|
ONLIT $14
|
||||||
|
.dword VDC_STORE
|
||||||
|
.dword DECR
|
||||||
|
ONLIT $12
|
||||||
|
.dword VDC_STORE
|
||||||
|
.dword DECR
|
||||||
|
ONLIT $10
|
||||||
|
.dword VDC_STORE
|
||||||
|
JUMP VIDSTART::vid_on
|
||||||
|
eword
|
||||||
|
|
||||||
dword VIDSTOP,"VIDSTOP"
|
dword VIDSTOP,"VIDSTOP"
|
||||||
ENTER
|
ENTER
|
||||||
.dword I2C2START
|
.dword I2C2START
|
||||||
@@ -353,6 +380,80 @@ dump_size = $0100
|
|||||||
EXIT
|
EXIT
|
||||||
eword
|
eword
|
||||||
|
|
||||||
|
dword SPI2INIT,"SPI2INIT"
|
||||||
|
sep #SHORT_A
|
||||||
|
.a8
|
||||||
|
lda #$00
|
||||||
|
sta f:SPI2ctrl
|
||||||
|
sta f:SPI2ctrl2
|
||||||
|
lda #$05
|
||||||
|
sta f:SPI2ctrl3
|
||||||
|
rep #SHORT_A
|
||||||
|
.a16
|
||||||
|
NEXT
|
||||||
|
eword
|
||||||
|
|
||||||
|
dword SPI2START,"SPI2START"
|
||||||
|
sep #SHORT_A
|
||||||
|
.a8
|
||||||
|
lda #$01
|
||||||
|
sta f:SPI2ctrl
|
||||||
|
rep #SHORT_A
|
||||||
|
.a16
|
||||||
|
NEXT
|
||||||
|
eword
|
||||||
|
|
||||||
|
dword SPI2STOP,"SPI2STOP"
|
||||||
|
sep #SHORT_A
|
||||||
|
.a8
|
||||||
|
: lda f:SPI2ctrl
|
||||||
|
and #$40
|
||||||
|
bne :-
|
||||||
|
sta f:SPI2ctrl ; note A=0
|
||||||
|
rep #SHORT_A
|
||||||
|
.a16
|
||||||
|
NEXT
|
||||||
|
eword
|
||||||
|
|
||||||
|
; NOTE: sets short accumulator and leaves it that way on exit!
|
||||||
|
.proc SPI2_busy_wait
|
||||||
|
sep #SHORT_A
|
||||||
|
nosep:
|
||||||
|
.a8
|
||||||
|
: lda f:SPI2ctrl
|
||||||
|
rol
|
||||||
|
bcs :-
|
||||||
|
rts
|
||||||
|
.a16
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
dword SPI2_STORE,"SPI2!"
|
||||||
|
jsr _popay
|
||||||
|
jsr SPI2_busy_wait
|
||||||
|
.a8
|
||||||
|
tya
|
||||||
|
sta f:SPI2io
|
||||||
|
rep #SHORT_A
|
||||||
|
.a16
|
||||||
|
NEXT
|
||||||
|
eword
|
||||||
|
|
||||||
|
dword SPI2_FETCH,"SPI2@"
|
||||||
|
jsr SPI2_busy_wait
|
||||||
|
.a8
|
||||||
|
lda #$00
|
||||||
|
sta f:SPI2io
|
||||||
|
: lda f:SPI2ctrl
|
||||||
|
bit #$40
|
||||||
|
bne :-
|
||||||
|
lda f:SPI2io
|
||||||
|
rep #SHORT_A
|
||||||
|
.a16
|
||||||
|
and #$00FF
|
||||||
|
jsr _pusha
|
||||||
|
NEXT
|
||||||
|
eword
|
||||||
|
|
||||||
dend
|
dend
|
||||||
|
|
||||||
; and now for the system interface
|
; and now for the system interface
|
||||||
|
Reference in New Issue
Block a user