diff --git a/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist b/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist
index d9c3450..8632c78 100644
--- a/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist
+++ b/A2Mac.xcodeproj/project.xcworkspace/xcuserdata/trudnai.xcuserdatad/xcdebugger/Expressions.xcexplist
@@ -114,6 +114,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/A2Mac/ViewController.swift b/A2Mac/ViewController.swift
index 5cb7645..badc776 100644
--- a/A2Mac/ViewController.swift
+++ b/A2Mac/ViewController.swift
@@ -178,6 +178,7 @@ class ViewController: NSViewController {
// Animated Splash Screen fade out and (Text) Monitor fade in
hires.isHidden = true
+ lores.isHidden = true
// displayField.alphaValue = 0
// displayField.isHidden = false
textDisplayScroller.alphaValue = 0
@@ -236,6 +237,7 @@ class ViewController: NSViewController {
// Animated Splash Screen fade out and (Text) Monitor fade in
hires.isHidden = true
+ lores.isHidden = true
textDisplayScroller.alphaValue = 0
// textDisplayScroller.isHidden = false
splashScreen.alphaValue = 1
diff --git a/src/cpu/6502.c b/src/cpu/6502.c
index b01d1b9..a6c6cef 100644
--- a/src/cpu/6502.c
+++ b/src/cpu/6502.c
@@ -685,6 +685,7 @@ void rom_loadFile( const char * bundlePath, const char * filename ) {
else if ( flen == 16 * KB ) {
read_rom( bundlePath, filename, Apple2_16K_ROM, 0);
memcpy(Apple2_64K_MEM + 0xC000, Apple2_16K_ROM, 16 * KB);
+ memcpy(Apple2_64K_RAM + 0xC000, Apple2_16K_ROM, 0x1000);
}
else if ( flen == 12 * KB ) {
diff --git a/src/dev/mem/mmio.h b/src/dev/mem/mmio.h
index 1069b78..0b5ba5f 100644
--- a/src/dev/mem/mmio.h
+++ b/src/dev/mem/mmio.h
@@ -378,6 +378,9 @@ void resetMemory() {
WRLOMEM = Apple2_64K_MEM; // for Write $0200 - $BFFF (shadow memory)
WRD0MEM = Apple2_Dummy_RAM; // for writing $D000 - $DFFF
WRHIMEM = Apple2_Dummy_RAM; // for writing $E000 - $FFFF
+
+ videoMode.text = 1;
+ videoMode.col80 = 0;
}
@@ -462,7 +465,7 @@ void auxZeropageSelect( MEMcfg_t newMEMcfg ) {
// save the content of Shadow Memory
memcpy( (void*) currentZeropage, shadowZeropage, 0x200);
- if ( newMEMcfg.is_80STORE ) {
+ if ( ! newMEMcfg.is_80STORE ) {
if ( newMEMcfg.ALT_ZP ) {
currentZeropage = Apple2_64K_AUX;
}
@@ -470,6 +473,9 @@ void auxZeropageSelect( MEMcfg_t newMEMcfg ) {
currentZeropage = Apple2_64K_RAM;
}
}
+ else {
+ currentZeropage = Apple2_64K_RAM;
+ }
WRZEROPG = (uint8_t*)shadowZeropage;
@@ -484,11 +490,11 @@ void C3MemorySelect( MEMcfg_t newMEMcfg ) {
if ( newMEMcfg.slot_C3_ROM ) {
// load internal ROM to memory
- memcpy(Apple2_64K_MEM + 0xC300, Apple2_16K_ROM + 0x300, 0x100);
+ memcpy(Apple2_64K_MEM + 0xC300, Apple2_64K_RAM + 0xC300, 0x100);
}
else {
// load peripheral ROM to memory
- memcpy(Apple2_64K_MEM + 0xC300, Apple2_64K_RAM + 0xC300, 0x100);
+ memcpy(Apple2_64K_MEM + 0xC300, Apple2_16K_ROM + 0x300, 0x100);
}
@@ -504,8 +510,8 @@ void CxMemorySelect( MEMcfg_t newMEMcfg ) {
}
else {
// load peripheral ROM to memory
-// memcpy(Apple2_64K_MEM + 0xC100, Apple2_64K_RAM + 0xC100, 0xF00);
- memcpy(Apple2_64K_MEM + 0xC600, Apple2_64K_RAM + 0xC600, 0x100);
+ memcpy(Apple2_64K_MEM + 0xC100, Apple2_64K_RAM + 0xC100, 0xF00);
+// memcpy(Apple2_64K_MEM + 0xC600, Apple2_64K_RAM + 0xC600, 0x100);
}
C3MemorySelect( newMEMcfg );