mirror of
https://github.com/cc65/cc65.git
synced 2025-03-02 18:30:09 +00:00
Patch by Greg King: The Oric Atmos graphics driver tries to be both a
black-and-white driver and a color-palette driver, at the same time. That cannot work on the Oric's architecture. This patch makes it be only a black-and-white driver. git-svn-id: svn://svn.cc65.org/cc65/trunk@5955 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
03e6556457
commit
eadd7c7ade
@ -1,7 +1,8 @@
|
|||||||
;
|
;
|
||||||
; Graphics driver for the 240x200x2 mode on the Atmos
|
; Graphics driver for the 240x200x2 monochrome mode on the Atmos
|
||||||
;
|
;
|
||||||
; Stefan Haubenthal <polluks@sdf.lonestar.org>
|
; Stefan Haubenthal <polluks@sdf.lonestar.org>
|
||||||
|
; 2012-08-11, Greg King <greg.king5@verizon.net>
|
||||||
;
|
;
|
||||||
|
|
||||||
.include "zeropage.inc"
|
.include "zeropage.inc"
|
||||||
@ -12,6 +13,9 @@
|
|||||||
|
|
||||||
.macpack generic
|
.macpack generic
|
||||||
|
|
||||||
|
XSIZE = 6 ; System font width
|
||||||
|
YSIZE = 8 ; System font height
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Header. Includes jump table and constants.
|
; Header. Includes jump table and constants.
|
||||||
|
|
||||||
@ -26,8 +30,8 @@
|
|||||||
.word 200 ; Y resolution
|
.word 200 ; Y resolution
|
||||||
.byte 2 ; Number of drawing colors
|
.byte 2 ; Number of drawing colors
|
||||||
.byte 1 ; Number of screens available
|
.byte 1 ; Number of screens available
|
||||||
xsize: .byte 6 ; System font X size
|
.byte XSIZE ; System font X size
|
||||||
.byte 8 ; System font Y size
|
.byte YSIZE ; System font Y size
|
||||||
.word $011C ; Aspect ratio (based on 4/3 display)
|
.word $011C ; Aspect ratio (based on 4/3 display)
|
||||||
.byte 0 ; TGI driver flags
|
.byte 0 ; TGI driver flags
|
||||||
|
|
||||||
@ -65,7 +69,6 @@ X1 = ptr1
|
|||||||
Y1 = ptr2
|
Y1 = ptr2
|
||||||
X2 = ptr3
|
X2 = ptr3
|
||||||
Y2 = ptr4
|
Y2 = ptr4
|
||||||
RADIUS = tmp1
|
|
||||||
|
|
||||||
; Absolute variables used in the code
|
; Absolute variables used in the code
|
||||||
|
|
||||||
@ -90,7 +93,7 @@ INK = $F210
|
|||||||
|
|
||||||
.rodata
|
.rodata
|
||||||
|
|
||||||
DEFPALETTE: .byte $00, $07
|
DEFPALETTE: .byte 0, 1
|
||||||
|
|
||||||
.code
|
.code
|
||||||
|
|
||||||
@ -218,15 +221,7 @@ SETCOLOR:
|
|||||||
;
|
;
|
||||||
|
|
||||||
SETPALETTE:
|
SETPALETTE:
|
||||||
ldy #0
|
lda #TGI_ERR_INV_FUNC ; This resolution has no palette
|
||||||
lda (ptr1),y
|
|
||||||
sta PARAM1
|
|
||||||
jsr PAPER
|
|
||||||
ldy #1
|
|
||||||
lda (ptr1),y
|
|
||||||
sta PARAM1
|
|
||||||
jsr INK
|
|
||||||
lda #TGI_ERR_OK
|
|
||||||
sta ERROR
|
sta ERROR
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -263,15 +258,16 @@ GETDEFPALETTE:
|
|||||||
;
|
;
|
||||||
|
|
||||||
SETPIXEL:
|
SETPIXEL:
|
||||||
|
lda Y1
|
||||||
|
sta PARAM2
|
||||||
lda MODE
|
lda MODE
|
||||||
mymode: sta PARAM3
|
mymode: sta PARAM3
|
||||||
lda X1
|
lda X1
|
||||||
sta PARAM1
|
sta PARAM1
|
||||||
lda Y1
|
|
||||||
sta PARAM2
|
|
||||||
lda #0
|
lda #0
|
||||||
sta PARAM1+1
|
sta PARAM1+1
|
||||||
sta PARAM2+1
|
sta PARAM2+1
|
||||||
|
sta PARAM3+1
|
||||||
jmp CURSET
|
jmp CURSET
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
@ -316,6 +312,8 @@ LINE:
|
|||||||
sta PARAM2+1
|
sta PARAM2+1
|
||||||
lda MODE
|
lda MODE
|
||||||
sta PARAM3
|
sta PARAM3
|
||||||
|
ldx #>0
|
||||||
|
stx PARAM3+1
|
||||||
jmp DRAW
|
jmp DRAW
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
@ -368,13 +366,11 @@ TEXTSTYLE:
|
|||||||
;
|
;
|
||||||
|
|
||||||
OUTTEXT:
|
OUTTEXT:
|
||||||
lda X1
|
|
||||||
sta PARAM1
|
|
||||||
lda Y1
|
lda Y1
|
||||||
|
sub #(YSIZE - 1)
|
||||||
sta PARAM2
|
sta PARAM2
|
||||||
lda #3
|
lda #3 ; (Move graphics cursor; don't draw)
|
||||||
sta PARAM3
|
jsr mymode
|
||||||
jsr CURSET
|
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
@next: lda (ptr3),y
|
@next: lda (ptr3),y
|
||||||
@ -382,15 +378,21 @@ OUTTEXT:
|
|||||||
sta PARAM1
|
sta PARAM1
|
||||||
lda #0
|
lda #0
|
||||||
sta PARAM2
|
sta PARAM2
|
||||||
|
sta PARAM1+1
|
||||||
|
sta PARAM2+1
|
||||||
|
sta PARAM3+1
|
||||||
lda MODE
|
lda MODE
|
||||||
sta PARAM3
|
sta PARAM3
|
||||||
tya
|
tya
|
||||||
pha
|
pha
|
||||||
jsr CHAR
|
jsr CHAR
|
||||||
lda xsize
|
lda #XSIZE
|
||||||
sta PARAM1
|
sta PARAM1
|
||||||
lda #0
|
lda #0
|
||||||
sta PARAM2
|
sta PARAM2
|
||||||
|
sta PARAM1+1
|
||||||
|
sta PARAM2+1
|
||||||
|
sta PARAM3+1
|
||||||
lda #3
|
lda #3
|
||||||
sta PARAM3
|
sta PARAM3
|
||||||
jsr CURMOV
|
jsr CURMOV
|
||||||
|
Loading…
x
Reference in New Issue
Block a user