1
0
mirror of https://github.com/cc65/cc65.git synced 2024-10-30 12:28:25 +00:00
cc65/libsrc/cbm510/kplot.s
cuz 6d498d8187 Use external symbols for the CBM kernal jump table functions. This allows
to emulate these functions on platforms where one or more of these functions
are not available (PET, CBM-II).


git-svn-id: svn://svn.cc65.org/cc65/trunk@1544 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-19 23:02:47 +00:00

67 lines
1.1 KiB
ArmAsm

;
; Ullrich von Bassewitz, 13.09.2001
;
; PLOT routine for the 510.
;
.export PLOT
.import __VIDRAM_START__
.importzp crtc
.include "cbm510.inc"
.macpack generic
; ------------------------------------------------------------------------
;
.proc 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