From df956f46285d1d81c576364405838f25a21793d9 Mon Sep 17 00:00:00 2001 From: cuz Date: Tue, 3 Dec 2002 22:19:21 +0000 Subject: [PATCH] Added get_tv for several platforms git-svn-id: svn://svn.cc65.org/cc65/trunk@1709 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- include/cbm.h | 18 ++++++++++++++++++ libsrc/c128/Makefile | 1 + libsrc/c128/c128.inc | 1 + libsrc/c128/get_tv.s | 28 ++++++++++++++++++++++++++++ libsrc/c16/Makefile | 1 + libsrc/c16/get_tv.s | 28 ++++++++++++++++++++++++++++ libsrc/c64/Makefile | 1 + libsrc/c64/get_tv.s | 24 ++++++++++++++++++++++++ libsrc/plus4/Makefile | 1 + libsrc/plus4/get_tv.s | 28 ++++++++++++++++++++++++++++ libsrc/plus4/plus4.inc | 1 + 11 files changed, 132 insertions(+) create mode 100644 libsrc/c128/get_tv.s create mode 100644 libsrc/c16/get_tv.s create mode 100644 libsrc/c64/get_tv.s create mode 100644 libsrc/plus4/get_tv.s diff --git a/include/cbm.h b/include/cbm.h index cd3755d79..2db0af40b 100644 --- a/include/cbm.h +++ b/include/cbm.h @@ -108,6 +108,24 @@ extern unsigned char _filetype; /* Default 'u' */ +/*****************************************************************************/ +/* Machine info */ +/*****************************************************************************/ + + + +#if defined(__C16__) || defined(__C64__) || defined(__C128__) || defined(__PLUS4__) + +#define TV_NTSC 0 +#define TV_PAL 1 + +unsigned char __fastcall__ get_tv (void); +/* Return the video mode the machine is using */ + +#endif + + + /*****************************************************************************/ /* CBM kernal functions */ /*****************************************************************************/ diff --git a/libsrc/c128/Makefile b/libsrc/c128/Makefile index 8b9352a61..6ab8bd0ea 100644 --- a/libsrc/c128/Makefile +++ b/libsrc/c128/Makefile @@ -31,6 +31,7 @@ OBJS = _scrsize.o \ crt0.o \ color.o \ cputc.o \ + get_tv.o \ kbhit.o \ kernal.o \ mouse.o \ diff --git a/libsrc/c128/c128.inc b/libsrc/c128/c128.inc index c8e65bc31..61a439e05 100644 --- a/libsrc/c128/c128.inc +++ b/libsrc/c128/c128.inc @@ -24,6 +24,7 @@ CRAM_PTR = $E2 ; Pointer to current char in color RAM CHARCOLOR = $F1 FKEY_COUNT = $D1 ; Characters for function key +PALFLAG = $A03 ; $FF=PAL, $00=NTSC INIT_STATUS = $A04 ; Flag: Reset/NMI Status FKEY_LEN = $1000 ; Function key lengths FKEY_TEXT = $100A ; Function key texts diff --git a/libsrc/c128/get_tv.s b/libsrc/c128/get_tv.s new file mode 100644 index 000000000..a9ee2604c --- /dev/null +++ b/libsrc/c128/get_tv.s @@ -0,0 +1,28 @@ +; +; Ullrich von Bassewitz, 2002-12-03 +; +; unsigned char __fastcall__ get_tv (void); +; /* Return the video mode the machine is using */ +; + + .export _get_tv + + .include "c128.inc" + + +;-------------------------------------------------------------------------- +; _get_tv + +.proc _get_tv + + ldx #$01 ; Assume PAL + lda PALFLAG + bne pal + dex ; NTSC +pal: txa + ldx #0 + rts + +.endproc + + diff --git a/libsrc/c16/Makefile b/libsrc/c16/Makefile index c3ed76f7d..8577b66bb 100644 --- a/libsrc/c16/Makefile +++ b/libsrc/c16/Makefile @@ -19,6 +19,7 @@ OBJS = _scrsize.o \ conio.o \ cputc.o \ crt0.o \ + get_tv.o \ kbhit.o \ kernal.o \ randomize.o \ diff --git a/libsrc/c16/get_tv.s b/libsrc/c16/get_tv.s new file mode 100644 index 000000000..b21b815b8 --- /dev/null +++ b/libsrc/c16/get_tv.s @@ -0,0 +1,28 @@ +; +; Ullrich von Bassewitz, 2002-12-03 +; +; unsigned char __fastcall__ get_tv (void); +; /* Return the video mode the machine is using */ +; + + .export _get_tv + + .include "../plus4/plus4.inc" + + +;-------------------------------------------------------------------------- +; _get_tv + +.proc _get_tv + + ldx #$01 ; Assume PAL + bit TED_MULTI1 ; Test bit 6 + bvc pal + dex ; NTSC +pal: txa + ldx #0 + rts + +.endproc + + diff --git a/libsrc/c64/Makefile b/libsrc/c64/Makefile index 738c2c980..c57920254 100644 --- a/libsrc/c64/Makefile +++ b/libsrc/c64/Makefile @@ -32,6 +32,7 @@ OBJS = _scrsize.o \ color.o \ conio.o \ cputc.o \ + get_tv.o \ kbhit.o \ kernal.o \ mouse.o \ diff --git a/libsrc/c64/get_tv.s b/libsrc/c64/get_tv.s new file mode 100644 index 000000000..1975293d8 --- /dev/null +++ b/libsrc/c64/get_tv.s @@ -0,0 +1,24 @@ +; +; Ullrich von Bassewitz, 2002-12-03 +; +; unsigned char __fastcall__ get_tv (void); +; /* Return the video mode the machine is using */ +; + + .export _get_tv + + .include "c64.inc" + + +;-------------------------------------------------------------------------- +; _get_tv + +.proc _get_tv + + lda PALFLAG + ldx #0 + rts + +.endproc + + diff --git a/libsrc/plus4/Makefile b/libsrc/plus4/Makefile index 08455d48d..3b8ce2346 100644 --- a/libsrc/plus4/Makefile +++ b/libsrc/plus4/Makefile @@ -19,6 +19,7 @@ OBJS = _scrsize.o \ conio.o \ cputc.o \ crt0.o \ + get_tv.o \ kacptr.o \ kbasin.o \ kbhit.o \ diff --git a/libsrc/plus4/get_tv.s b/libsrc/plus4/get_tv.s new file mode 100644 index 000000000..712d8dfd1 --- /dev/null +++ b/libsrc/plus4/get_tv.s @@ -0,0 +1,28 @@ +; +; Ullrich von Bassewitz, 2002-12-03 +; +; unsigned char __fastcall__ get_tv (void); +; /* Return the video mode the machine is using */ +; + + .export _get_tv + + .include "plus4.inc" + + +;-------------------------------------------------------------------------- +; _get_tv + +.proc _get_tv + + ldx #$01 ; Assume PAL + bit TED_MULTI1 ; Test bit 6 + bvc pal + dex ; NTSC +pal: txa + ldx #0 + rts + +.endproc + + diff --git a/libsrc/plus4/plus4.inc b/libsrc/plus4/plus4.inc index b1d67d00f..825dda15f 100644 --- a/libsrc/plus4/plus4.inc +++ b/libsrc/plus4/plus4.inc @@ -50,6 +50,7 @@ TED_T2LO = $FF02 TED_T2HI = $FF03 TED_T3LO = $FF04 TED_T4HI = $FF05 +TED_MULTI1 = $FF07 TED_KBD = $FF08 TED_CURSHI = $FF0C TED_CURSLO = $FF0D -- 2.39.2