Added a way to show the default mouse pointer on C64 TGI (graphics) screens.
This commit is contained in:
21
libsrc/c64/extra/tgimousedata.s
Normal file
21
libsrc/c64/extra/tgimousedata.s
Normal file
@@ -0,0 +1,21 @@
|
||||
; C64 sprite addresses for the TGI mouse pointer
|
||||
;
|
||||
; 2017-01-13, Greg King
|
||||
|
||||
; In order to provide a visible mouse pointer during TGI's graphics mode,
|
||||
; the object file "c64-tgimousedata.o" must be linked explicitly into
|
||||
; a program file. Example:
|
||||
;
|
||||
; cl65 -t c64 -o program-file main-code.c subroutines.s c64-tgimousedata.o
|
||||
;
|
||||
; Note: Currently, a program cannot have default
|
||||
; pointers for both text and graphic modes.
|
||||
|
||||
; The TGI graphics mode uses VIC-II's 16K bank number three.
|
||||
;
|
||||
; Address of the TGI bitmap's color RAM
|
||||
|
||||
COLORMAP := $D000
|
||||
|
||||
.export mcb_spritepointer := COLORMAP + $03F8
|
||||
.export mcb_spritememory := COLORMAP + $0400
|
||||
@@ -1,7 +1,9 @@
|
||||
;
|
||||
; Graphics driver for the 320x200x2 mode on the C64.
|
||||
;
|
||||
; Based on Stephen L. Judds GRLIB code
|
||||
; Based on Stephen L. Judd's GRLIB code.
|
||||
;
|
||||
; 2017-01-13, Greg King
|
||||
;
|
||||
|
||||
.include "zeropage.inc"
|
||||
@@ -351,7 +353,7 @@ SETPALETTE:
|
||||
@L2: sta CBASE+$0000,y
|
||||
sta CBASE+$0100,y
|
||||
sta CBASE+$0200,y
|
||||
sta CBASE+$0300,y
|
||||
sta CBASE+$02e8,y
|
||||
iny
|
||||
bne @L2
|
||||
pla
|
||||
@@ -872,7 +874,7 @@ TEXTSTYLE:
|
||||
OUTTEXT:
|
||||
|
||||
; Calculate a pointer to the representation of the character in the
|
||||
; character ROM
|
||||
; character ROM
|
||||
|
||||
ldx #((>(CHARROM + $0800)) >> 3)
|
||||
ldy #0
|
||||
@@ -957,5 +959,3 @@ CALC: lda Y1
|
||||
lda #00
|
||||
@L9: sta INRANGE
|
||||
rts
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user