mirror of
https://github.com/cc65/cc65.git
synced 2024-12-23 19:29:37 +00:00
419eb700b5
The way we want to use the INITBSS segment - and especially the fact that it won't have the type bss on all ROM based targets - means that the name INITBSS is misleading. After all INIT is the best name from my perspective as it serves several purposes and therefore needs a rather generic name. Unfortunately this means that the current INIT segment needs to be renamed too. Looking for a short (ideally 4 letter) name I came up with ONCE as it contains all code (and data) accessed only once during initialization.
52 lines
1015 B
ArmAsm
52 lines
1015 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 "ONCE"
|
|
|
|
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
|