summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/config.h1
-rw-r--r--include/zx81.h4
-rw-r--r--source/config.c7
-rw-r--r--source/main.c2
4 files changed, 13 insertions, 1 deletions
diff --git a/include/config.h b/include/config.h
index 82c0c4f..e2d96de 100644
--- a/include/config.h
+++ b/include/config.h
@@ -26,6 +26,7 @@ typedef enum
{
DS81_STICKY_SHIFT,
DS81_AVERAGE_TOUCHSCREEN,
+ DS81_STATIC_RAM_AT_0x2000,
DS81_NUM_CONFIG_ITEMS
} DS81_ConfigItem;
diff --git a/include/zx81.h b/include/zx81.h
index 4050918..c50c1a4 100644
--- a/include/zx81.h
+++ b/include/zx81.h
@@ -51,6 +51,10 @@ void ZX81SetTape(const Z80Byte *image, int len);
*/
void ZX81Reset(Z80 *z80);
+/* Tell the 81 that config may have changed.
+*/
+void ZX81Reconfigure(void);
+
/* Displays a string on the ZX81's dislpay. The screen is cleared and the
string displayed with \n characters breaking the line.
diff --git a/source/config.c b/source/config.c
index b2abec8..433b5d6 100644
--- a/source/config.c
+++ b/source/config.c
@@ -33,7 +33,8 @@ const char *conf_filename = "DS81.CFG";
const char *conf_entry[DS81_NUM_CONFIG_ITEMS]=
{
"sticky_shift",
- "average_touchscreen"
+ "average_touchscreen",
+ "static_ram_at_0x2000",
};
@@ -42,6 +43,7 @@ const char *conf_entry[DS81_NUM_CONFIG_ITEMS]=
int DS81_Config[DS81_NUM_CONFIG_ITEMS]=
{
TRUE,
+ FALSE,
FALSE
};
@@ -123,6 +125,9 @@ const char *ConfigDesc(DS81_ConfigItem item)
case DS81_AVERAGE_TOUCHSCREEN:
return "AVERAGE TOUCHSCREEN";
+ case DS81_STATIC_RAM_AT_0x2000:
+ return "RAM AT 8192";
+
default:
return "UNKNOWN";
}
diff --git a/source/main.c b/source/main.c
index f2b0e70..cfdf231 100644
--- a/source/main.c
+++ b/source/main.c
@@ -301,6 +301,7 @@ int main(int argc, char *argv[])
Splash();
LoadConfig();
+ ZX81Reconfigure();
SK_DisplayKeyboard(BG_GFX_SUB);
@@ -334,6 +335,7 @@ int main(int argc, char *argv[])
GUI_Config();
SK_SetSticky(SK_SHIFT,
DS81_Config[DS81_STICKY_SHIFT]);
+ ZX81Reconfigure();
break;
case MenuMapJoypad: