From 7d731dce0246a7e47ebcc922c3371e88c999598e Mon Sep 17 00:00:00 2001 From: uz Date: Mon, 1 Feb 2010 18:04:14 +0000 Subject: [PATCH] Marco van den Heuvel contributed code to detect a C64 DTV. git-svn-id: svn://svn.cc65.org/cc65/trunk@4570 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/c64/get_ostype.s | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/libsrc/c64/get_ostype.s b/libsrc/c64/get_ostype.s index e2db72ae2..4058e116e 100644 --- a/libsrc/c64/get_ostype.s +++ b/libsrc/c64/get_ostype.s @@ -1,6 +1,9 @@ ; ; Stefan Haubenthal, Jul 10 2003 ; +; C64DTV detection by +; Marco van den Heuvel, 2010-01-28 +; ; unsigned char get_ostype(void) ; ; $AA US @@ -8,16 +11,33 @@ ; $43 SX-64 ; $03 EU_NEW ; $00 EU_OLD +; $FF C64DTV ; .export _get_ostype .proc _get_ostype - ldx #$00 ; Clear high byte - lda $ff80 - rts + ldx #0 ; Clear high byte -.endproc + 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 -- 2.39.2