From a9de1a9e89c6564daca5503440f1bfb91ee5bcce Mon Sep 17 00:00:00 2001 From: uz Date: Tue, 13 Sep 2011 18:50:29 +0000 Subject: [PATCH] Fixed an error: The LINE function mistakenly enabled the BASIC ROM. (Greg King) git-svn-id: svn://svn.cc65.org/cc65/trunk@5299 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/c64/c64-320-200-2.s | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/libsrc/c64/c64-320-200-2.s b/libsrc/c64/c64-320-200-2.s index 0ba4f6ef0..8a206341c 100644 --- a/libsrc/c64/c64-320-200-2.s +++ b/libsrc/c64/c64-320-200-2.s @@ -66,6 +66,7 @@ X1 := ptr1 Y1 := ptr2 X2 := ptr3 Y2 := ptr4 +TEXT := ptr3 ROW := tmp2 ; Bitmap row... COL := tmp3 ; ...and column, both set by PLOT @@ -114,8 +115,9 @@ PALETTESIZE = * - DEFPALETTE BITTAB: .byte $80,$40,$20,$10,$08,$04,$02,$01 BITCHUNK: .byte $FF,$7F,$3F,$1F,$0F,$07,$03,$01 -VBASE = $E000 ; Video memory base address -CBASE = $D000 ; Color memory base address +CHARROM := $D000 ; Character rom base address +CBASE := $D000 ; Color memory base address +VBASE := $E000 ; Video memory base address .code @@ -577,7 +579,7 @@ YCONT2: lda (POINT),y ;Plot endpoint and CHUNK eor (POINT),y sta (POINT),y -YDONE: lda #$37 +YDONE: lda #$36 sta $01 cli rts @@ -645,7 +647,7 @@ XCONT2: dex XDONE: lsr CHUNK ;Advance to last point jsr LINEPLOT ;Plot the last chunk -EXIT: lda #$37 +EXIT: lda #$36 sta $01 cli rts @@ -867,6 +869,28 @@ TEXTSTYLE: ; OUTTEXT: + +; Calculate a pointer to the representation of the character in the +; character ROM + + ldx #((>(CHARROM + $0800)) >> 3) + ldy #0 + lda (TEXT),y + bmi @L1 + ldx #((>(CHARROM + $0000)) >> 3) +@L1: stx ptr4+1 + asl a + rol ptr4+1 + asl a + rol ptr4+1 + asl a + rol ptr4+1 + sta ptr4 + + + + + rts ; ------------------------------------------------------------------------ -- 2.39.5