mirror of
https://github.com/cc65/cc65.git
synced 2024-12-27 00:29:31 +00:00
a7042ddbe4
Use wrappers to call the kernal in bank 15 instead of implementing kernal functionality within the cc65 libs (eats performance but is much smaller and simpler). Improved startup/shutdown code allows a return to the system bank without calling the BASIC cold start vector. git-svn-id: svn://svn.cc65.org/cc65/trunk@2793 b7a2c559-68d2-44c3-8de9-860c34a00d81
58 lines
599 B
ArmAsm
58 lines
599 B
ArmAsm
;
|
|
; Ullrich von Bassewitz, 28.09.1998
|
|
;
|
|
; Write to the CRTC.
|
|
;
|
|
|
|
.export write_crtc, read_crtc
|
|
.importzp crtc, ktmp
|
|
|
|
.include "cbm610.inc"
|
|
|
|
|
|
; Write a value to the CRTC. The index is in Y, the value in A
|
|
|
|
.proc write_crtc
|
|
sta ktmp
|
|
lda IndReg
|
|
pha
|
|
lda #$0F
|
|
sta IndReg
|
|
tya
|
|
ldy #$00
|
|
sei
|
|
sta (crtc),y
|
|
iny
|
|
lda ktmp
|
|
sta (crtc),y
|
|
cli
|
|
pla
|
|
sta IndReg
|
|
lda ktmp
|
|
rts
|
|
.endproc
|
|
|
|
|
|
.proc read_crtc
|
|
sty ktmp
|
|
lda IndReg
|
|
pha
|
|
lda #$0F
|
|
sta IndReg
|
|
lda ktmp
|
|
ldy #$00
|
|
sei
|
|
sta (crtc),y
|
|
iny
|
|
lda (crtc),y
|
|
cli
|
|
tay
|
|
pla
|
|
sta IndReg
|
|
tya
|
|
ldy ktmp
|
|
rts
|
|
.endproc
|
|
|
|
|