1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-06 13:29:01 +00:00
cc65/libsrc/cbm510/kplot.s
cuz f46c46abe1 Video RAM location is now defined in the linker config
git-svn-id: svn://svn.cc65.org/cc65/trunk@924 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 17:09:22 +00:00

67 lines
1.1 KiB
ArmAsm

;
; Ullrich von Bassewitz, 13.09.2001
;
; PLOT routine for the 510.
;
.export k_plot
.import __VIDRAM_START__
.importzp crtc
.include "zeropage.inc"
.include "io.inc"
.macpack generic
; ------------------------------------------------------------------------
;
.proc k_plot
bcs get
stx CURS_Y
sty CURS_X
lda LineLSBTab,x
sta SCREEN_PTR
sta CRAM_PTR
lda LineMSBTab,x
sta SCREEN_PTR+1
sub #>__VIDRAM_START__
add #>COLOR_RAM
sta CRAM_PTR+1
get: ldx CURS_Y
ldy CURS_X
rts
.endproc
; -------------------------------------------------------------------------
; Low bytes of the start address of the screen lines
.rodata
.macro LineLoTab
.repeat 25, I
.byte <(__VIDRAM_START__ + I * 40)
.endrep
.endmacro
LineLSBTab: LineLoTab
; -------------------------------------------------------------------------
; High bytes of the start address of the screen lines
.macro LineHiTab
.repeat 25, I
.byte >(__VIDRAM_START__ + I * 40)
.endrep
.endmacro
LineMSBTab: LineHiTab