1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 02:29:52 +00:00
cc65/libsrc/geos-common/conio/_scrsize.s
ol.sc 46f1085e2d Fixed several aspects of the GEOS CONIO implementation:
- cputc was drawing at the wrong position, therefore one line had to be removed as a workaround.
- chline, cvline were drawing one pixel to large lines.
- cclear was drawing an in both directions one pixel to big rect.
- the cursor was drawn at wrong times at wrong places in a wrong size.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5874 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 19:42:57 +00:00

52 lines
734 B
ArmAsm

;
; Maciej 'YTM/Elysium' Witkowiak
;
; Screen size variables
;
; 6.3.2001, 17.4.2003
.export xsize, ysize
.export screensize
.importzp cursor_r, cursor_c
.import _cursor
.constructor initscrsize
.include "geossym.inc"
.segment "INIT"
initscrsize:
.ifdef __GEOS_CBM__
lda graphMode
bpl L1
lda #80 ; 80 columns (more or less)
.byte $2c
L1: lda #40 ; 40 columns (more or less)
sta xsize
lda #25 ; something like that for Y size
.else
lda #70 ; 70 columns (more or less)
sta xsize
lda #24 ; something like that for Y size
.endif
sta ysize
lda #0
sta cursor_c
sta cursor_r
jmp _cursor ; home and update cursor
.code
screensize:
ldx xsize
ldy ysize
rts
.bss
xsize:
.res 1
ysize:
.res 1