X-Git-Url: https://git.sur5r.net/?p=cc65;a=blobdiff_plain;f=libsrc%2Fgeos-cbm%2Fsystem%2Fget_ostype.s;h=d1ef3248eddb5beb943689f358e4e65697cc8239;hp=c831660c1e5e6fda930aa1248f3f253afad02168;hb=baa6c53dec6e3192f03c7bc7e79b3926ab583177;hpb=286d5979a2b502156e850b2925d37d9d0bbea358 diff --git a/libsrc/geos-cbm/system/get_ostype.s b/libsrc/geos-cbm/system/get_ostype.s index c831660c1..d1ef3248e 100644 --- a/libsrc/geos-cbm/system/get_ostype.s +++ b/libsrc/geos-cbm/system/get_ostype.s @@ -20,74 +20,74 @@ .include "geossym2.inc" _get_ostype: - ldx #0 - lda version - cmp #$a9 - beq geos11 - and #%11110000 - cmp #$10 - beq geos10 - lda c128Flag ; we're on at least 2.0 - cmp #$18 - beq geos_on_plus4 - ora version - rts + ldx #0 + lda version + cmp #$a9 + beq geos11 + and #%11110000 + cmp #$10 + beq geos10 + lda c128Flag ; we're on at least 2.0 + cmp #$18 + beq geos_on_plus4 + ora version + rts geos10: - lda version - rts + lda version + rts geos11: - lda #$11 - rts + lda #$11 + rts geos_on_plus4: - lda #$04 - rts + lda #$04 + rts _get_tv: - jsr _get_ostype - cmp #$04 - beq plus4_get_tv - bpl only40 ; C64 with 40 columns only - lda graphMode - bpl only40 ; C128 but currently on 40 columns - ldx #1 ; COLUMNS80 - bne tvmode -only40: ldx #0 ; COLUMNS40 -tvmode: ; PAL/NTSC check here, result in A - php - sei ; disable interrupts - lda CPU_DATA ; this is for C64 - pha - lda #IO_IN ; enable access to I/O - sta CPU_DATA - bit rasreg - bpl tvmode ; wait for rasterline 127=256!) + jsr _get_ostype + cmp #$04 + beq plus4_get_tv + bpl only40 ; C64 with 40 columns only + lda graphMode + bpl only40 ; C128 but currently on 40 columns + ldx #1 ; COLUMNS80 + bne tvmode +only40: ldx #0 ; COLUMNS40 +tvmode: ; PAL/NTSC check here, result in A + php + sei ; disable interrupts + lda CPU_DATA ; this is for C64 + pha + lda #IO_IN ; enable access to I/O + sta CPU_DATA + bit rasreg + bpl tvmode ; wait for rasterline 127=256!) modelp: - cmp rasreg ; wait for rasterline = 24 (or 280 on PAL) - bne modelp - lda grcntrl1 ; 24 or 280 ? - bpl ntsc - lda #0 ; PAL - beq modeend + cmp rasreg ; wait for rasterline = 24 (or 280 on PAL) + bne modelp + lda grcntrl1 ; 24 or 280 ? + bpl ntsc + lda #0 ; PAL + beq modeend ntsc: - lda #$80 ; NTSC + lda #$80 ; NTSC modeend: - stx tmp1 - ora tmp1 - sta tmp1 - ldx #0 - pla - sta CPU_DATA ; restore memory config - plp ; restore interrupt state - lda tmp1 - rts + stx tmp1 + ora tmp1 + sta tmp1 + ldx #0 + pla + sta CPU_DATA ; restore memory config + plp ; restore interrupt state + lda tmp1 + rts plus4_get_tv: - ldx #1 ; Assume PAL - bit $FF07 ; Test bit 6 - bvc plus4pal - dex ; NTSC + ldx #1 ; Assume PAL + bit $FF07 ; Test bit 6 + bvc plus4pal + dex ; NTSC plus4pal: - txa - ldx #0 - rts + txa + ldx #0 + rts