File: get_ostype.s

package info (click to toggle)
cc65 2.19-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,268 kB
  • sloc: ansic: 117,151; asm: 66,339; pascal: 4,248; makefile: 1,009; perl: 607
file content (43 lines) | stat: -rw-r--r-- 625 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
;
; Stefan Haubenthal, Jul 10 2003
;
; C64DTV detection by
; Marco van den Heuvel, 2010-01-28
;
; unsigned char get_ostype(void)
;
; $AA US
; $64 PET-64
; $43 SX-64
; $03 EU_NEW
; $00 EU_OLD
; $FF C64DTV
;

        .export         _get_ostype

.proc   _get_ostype

        ldx     #0            ; Clear high byte

        ldy     #1
        sty     $d03f
        ldy     $d040
        cpy     $d000
        bne     @c64dtv
        inc     $d000
        cpy     $d040
        beq     @c64dtv

; Normal C64

        lda     $ff80
        rts

; C64 DTV

@c64dtv:
        stx     $d03f
        lda     #$ff
        rts
.endproc