1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-08 15:29:37 +00:00

some CONIO fixes

This commit is contained in:
Christian Groessler 2014-05-16 02:10:19 +02:00
parent 8cb68071cd
commit 0f2f19ef5b
5 changed files with 43 additions and 35 deletions

View File

@ -57,8 +57,8 @@ PADDL7 = $18 ;POT7 "
; cc65 runtime zero page variables
COLCRS_5200 = $19
ROWCRS_5200 = $1A
ROWCRS_5200 = $19
COLCRS_5200 = $1A
SAVMSC = $1B ; pointer to screen memory (conio)
;-------------------------------------------------------------------------

View File

@ -1,44 +1,57 @@
.include "atari5200.inc"
SCREEN_BUF_SIZE = 20 * 24
SCREEN_BUF = $4000 - SCREEN_BUF_SIZE
SCREEN_BUF_SIZE = 20 * 24
SCREEN_BUF = $4000 - SCREEN_BUF_SIZE
.code
.export screen_setup_20x24
screen_setup_20x24:
; initialize SAVMSC
lda #<SCREEN_BUF
sta SAVMSC
lda #>SCREEN_BUF
sta SAVMSC+1
; initialize SAVMSC
lda #<SCREEN_BUF
sta SAVMSC
lda #>SCREEN_BUF
sta SAVMSC+1
; initialize cursor position
lda #0
sta COLCRS_5200
sta ROWCRS_5200
; initialize cursor position
lda #0
sta COLCRS_5200
sta ROWCRS_5200
; clear screen buffer
ldy #<(SCREEN_BUF_SIZE-1)
ldx #>(SCREEN_BUF_SIZE-1)
clrscr: sta (SAVMSC),y
dey
cpy #$FF
bne clrscr
dex
cpx #$FF
bne clrscr
; clear screen buffer
ldy #<(SCREEN_BUF_SIZE-1)
ldx #>(SCREEN_BUF_SIZE-1)
clrscr: sta (SAVMSC),y
dey
cpy #$FF
bne clrscr
dex
cpx #$FF
bne clrscr
; set display list
; set default colors
lda #<dlist
sta SDLSTL
lda #>dlist
sta SDLSTH
lda #40
sta COLOR0
lda #202
sta COLOR1
lda #148
sta COLOR2
lda #70
sta COLOR3
lda #0
sta COLOR4
rts
; set display list
lda #<dlist
sta SDLSTL
lda #>dlist
sta SDLSTH
rts
.segment "RODATA"

View File

@ -54,7 +54,7 @@ cputdirect: ; accepts screen code
; advance cursor
inc COLCRS_5200
lda COLCRS_5200
cmp #40
cmp #20
bcc plot
lda #0
sta COLCRS_5200
@ -72,7 +72,6 @@ plot: jsr setcursor
ldx ROWCRS_5200
rts
; turn off cursor, update screen, turn on cursor
putchar:
pha ; save char

View File

@ -10,6 +10,4 @@
_gotox:
sta COLCRS_5200 ; Set X
lda #0
sta COLCRS_5200+1
jmp setcursor

View File

@ -14,6 +14,4 @@ _gotoxy: ; Set the cursor position
sta ROWCRS_5200 ; Set Y
jsr popa ; Get X
sta COLCRS_5200 ; Set X
lda #0
sta COLCRS_5200+1 ;
jmp setcursor