From e65f966d25e187957f09877d381aac7a92bbcd83 Mon Sep 17 00:00:00 2001 From: uz Date: Thu, 4 Feb 2010 20:27:48 +0000 Subject: [PATCH] Added DTV detection code by Marco van den Heuvel. git-svn-id: svn://svn.cc65.org/cc65/trunk@4580 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/c64/dtv-himem.s | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/libsrc/c64/dtv-himem.s b/libsrc/c64/dtv-himem.s index 6be79a9f8..72a6bdc7a 100644 --- a/libsrc/c64/dtv-himem.s +++ b/libsrc/c64/dtv-himem.s @@ -5,10 +5,12 @@ ; Ullrich von Bassewitz, 2005-11-27 ; + .include "zeropage.inc" .include "em-kernel.inc" .include "em-error.inc" + .import _get_ostype .macpack generic @@ -71,8 +73,26 @@ curpage: .word $0000 ; Page ; INSTALL: - lda #$01 - sta $d03f ; Enable extended register access + +; Check for a DTV + + ldx #1 + stx $d03f + ldx $d040 + cpx $d000 + bne @present + inc $d000 + cpx $d040 + beq @present + dec $d000 + +; DTV not found + + lda #EM_ERR_NO_DEVICE + rts + +@present: ldx #$FF stx curpage+1 ; Invalidate curpage inx ; X = 0