mirror of
https://github.com/cc65/cc65.git
synced 2025-01-10 19:29:45 +00:00
Changed the solution for the PLOT problem with old -02 kernals to that used
for the VIC20: PLOT is not an kernal entry but a library function that will do the right stuff. This makes it work with other stuff that calls PLOT, too. git-svn-id: svn://svn.cc65.org/cc65/trunk@4249 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
2cc68784cc
commit
d55fb5217e
@ -58,6 +58,7 @@ OBJS = _scrsize.o \
|
||||
joy_stddrv.o \
|
||||
kbhit.o \
|
||||
kernal.o \
|
||||
kplot.o \
|
||||
mainargs.o \
|
||||
mcbdefault.o \
|
||||
mouse_stddrv.o \
|
||||
|
@ -84,20 +84,12 @@ L11: ora #$40
|
||||
|
||||
|
||||
|
||||
; Set cursor position, calculate RAM pointers. Because kernal -02 doesn't
|
||||
; update the color RAM pointer, we have to do that manually here.
|
||||
; Set cursor position, calculate RAM pointers.
|
||||
|
||||
plot: ldy CURS_X
|
||||
ldx CURS_Y
|
||||
clc
|
||||
jsr PLOT ; Set the new cursor
|
||||
lda SCREEN_PTR ; Low byte of color RAM ...
|
||||
sta CRAM_PTR ; ... is same as text screen pointer
|
||||
lda SCREEN_PTR+1 ; While high byte of color RAM
|
||||
and #$03
|
||||
ora #$D8 ; ... needs to be adjusted
|
||||
sta CRAM_PTR+1
|
||||
rts
|
||||
jmp PLOT ; Set the new cursor
|
||||
|
||||
|
||||
|
||||
|
@ -41,7 +41,6 @@
|
||||
.export CLALL
|
||||
.export UDTIM
|
||||
.export SCREEN
|
||||
.export PLOT
|
||||
.export IOBASE
|
||||
|
||||
|
||||
@ -85,6 +84,5 @@ GETIN = $FFE4
|
||||
CLALL = $FFE7
|
||||
UDTIM = $FFEA
|
||||
SCREEN = $FFED
|
||||
PLOT = $FFF0
|
||||
IOBASE = $FFF3
|
||||
|
||||
|
21
libsrc/c64/kplot.s
Normal file
21
libsrc/c64/kplot.s
Normal file
@ -0,0 +1,21 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 2002-12-09, 2009-09-27
|
||||
;
|
||||
; PLOT replacement function for the C64. The kernal function in the -02 kernals
|
||||
; does not set the pointer to the color RAM correctly, so we need to fix that.
|
||||
;
|
||||
|
||||
.export PLOT
|
||||
|
||||
|
||||
.proc PLOT
|
||||
|
||||
bcs @L1
|
||||
jsr $FFF0 ; Set cursor position
|
||||
jmp $EA24 ; Set pointer to color RAM
|
||||
|
||||
@L1: jmp $FFF0 ; Get cursor position
|
||||
|
||||
.endproc
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user