From b366ffb1d1ba9316aee0e02e4ff85dc26e7c1c3a Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Wed, 28 Nov 2018 18:49:34 -0500 Subject: [PATCH] changed presets (HALT for wait_vsync) --- presets/coleco/climber.c | 1 + presets/coleco/common.c | 10 +--------- presets/coleco/common.h | 6 +++++- presets/coleco/fonts.s | 2 +- src/platform/sms.ts | 1 + 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/presets/coleco/climber.c b/presets/coleco/climber.c index ea46e554..f7130f4d 100644 --- a/presets/coleco/climber.c +++ b/presets/coleco/climber.c @@ -6,6 +6,7 @@ #include "common.h" //#link "common.c" +//#link "fonts.s" #define XOFS 12 // sprite horiz. offset diff --git a/presets/coleco/common.c b/presets/coleco/common.c index f4d787b1..ec19816d 100644 --- a/presets/coleco/common.c +++ b/presets/coleco/common.c @@ -6,12 +6,9 @@ #include "common.h" -volatile bool vint; volatile uint_fast8_t vint_counter; -void vint_handler(void) -{ - vint = true; +void vint_handler(void) { vint_counter++; } @@ -50,11 +47,6 @@ void putstring(byte x, byte y, const char* string) { } } -void wait_vsync() { - vint = false; - while (!vint) ; -} - void delay(byte i) { while (i--) { wait_vsync(); diff --git a/presets/coleco/common.h b/presets/coleco/common.h index dc3e7e96..cfe28f59 100644 --- a/presets/coleco/common.h +++ b/presets/coleco/common.h @@ -26,6 +26,9 @@ typedef unsigned short word; #ifndef CV_SMS uintptr_t __at(0x6a) font_bitmap_a; uintptr_t __at(0x6c) font_bitmap_0; +#else +extern char font_bitmap_a[]; +extern char font_bitmap_0[]; #endif #define COLOR_FGBG(fg,bg) (((fg)<<4)|(bg)) @@ -36,6 +39,8 @@ uintptr_t __at(0x6c) font_bitmap_0; #define CHAR(ch) (ch-LOCHAR) +#define wait_vsync() __asm__("halt") + extern volatile bool vint; extern volatile uint_fast8_t vint_counter; @@ -51,7 +56,6 @@ extern void clrscr(); extern byte getchar(byte x, byte y); extern void putchar(byte x, byte y, byte attr); extern void putstring(byte x, byte y, const char* string); -extern void wait_vsync(); extern void delay(byte i); extern byte rndint(byte a, byte b); diff --git a/presets/coleco/fonts.s b/presets/coleco/fonts.s index b4bc3784..5cbf0f5c 100644 --- a/presets/coleco/fonts.s +++ b/presets/coleco/fonts.s @@ -1,4 +1,4 @@ - + .area _CODE .globl _font_bitmap_a .globl _font_bitmap_0 diff --git a/src/platform/sms.ts b/src/platform/sms.ts index b06326ab..3c0a3d64 100644 --- a/src/platform/sms.ts +++ b/src/platform/sms.ts @@ -9,6 +9,7 @@ import { ColecoVision_PRESETS } from "./coleco"; // http://www.smspower.org/Development/Index // http://www.smspower.org/uploads/Development/sg1000.txt +// http://www.smspower.org/uploads/Development/richard.txt // TODO: merge w/ coleco export var SG1000_PRESETS = [