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 );