mirror of
https://github.com/trudnai/Steve2.git
synced 2024-12-10 18:49:50 +00:00
BugFix: RAM does not saved at AUX selection
This commit is contained in:
parent
711b68608d
commit
39f6bdc1bd
Binary file not shown.
@ -3,10 +3,22 @@
|
||||
version = "1.0">
|
||||
<ContextStates>
|
||||
<ContextState
|
||||
contextName = "ViewController.newUpdateTimer(timeInterval:):ViewController.swift">
|
||||
contextName = "HiRes.initMetal():HiRes.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "upd">
|
||||
value = "mtlBufferB">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "addFunction">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "device">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "mtlBufferA">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "mtlBufferC">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -14,53 +26,30 @@
|
||||
contextName = "HiRes.compute():HiRes.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "computePipelineState.maxTotalThreadsPerThreadgroup">
|
||||
value = "UnsafeRawBufferPointer(result)">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "result[2]">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "UnsafeRawBufferPointer(result)">
|
||||
value = "computePipelineState.maxTotalThreadsPerThreadgroup">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "spkr_toggle:speaker.c">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "default_MHz_6502 * 1000 * 1000 / spkr_sample_rate">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "( (spkr_clk + m6502.clkfrm) / ( 1024000 / spkr_sample_rate ) ) * 2">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(int16_t)28000 + (int16_t)-32768">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "spkr_samples[spkr_sample_last_idx]">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(int)spkr_sample_idx_diff">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.clkfrm">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(spkr_clk + m6502.clkfrm)">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "( (spkr_clk + m6502.clkfrm) / ( default_MHz_6502 * 1000 * 1000 / spkr_sample_rate)) * 2">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
contextName = "AND:6502_instr_logic.h">
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "m6502_ColdReset:6502.c">
|
||||
contextName = "specialized closure #1 in DebuggerViewController.DisplayDisassembly():DebuggerViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "m6502">
|
||||
value = "line_number">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "RAM_PG_RD_TBL">
|
||||
value = "currentScrollLine">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "current_line_number">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -85,10 +74,16 @@
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "BIT:6502_instr_compare_test.h">
|
||||
contextName = "ViewController.mouseMoved(with:):ViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "m6502.A">
|
||||
value = "oldLocation">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "mouseLocation">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "view.bounds">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -107,18 +102,30 @@
|
||||
value = "disassLineRange[forLine]">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "disassLineRange">
|
||||
value = "disassLineRange.count">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "disassLineRange.count">
|
||||
value = "disassLineRange">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "_memwrite8_low:mmio.c">
|
||||
contextName = "closure #1 in ViewController.Update():ViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "m6502.PC">
|
||||
value = "MEMcfg.is_80STORE">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "self.shadowTxt">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "txt">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "MEMcfg.txt_page_2">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "txtArr">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -158,14 +165,17 @@
|
||||
contextName = "HiRes.draw(_:):HiRes.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "linAddr">
|
||||
value = "HiRes.blockCols">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ctx?.height">
|
||||
value = "ctx?.data">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ctx?.width">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ctx?.bitmapInfo">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ctx?.bytesPerRow">
|
||||
</PersistentString>
|
||||
@ -175,24 +185,21 @@
|
||||
<PersistentString
|
||||
value = "HiResLineAddrTbl">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ctx?.bitmapInfo">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "shadowScreen">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(blockH7 | ( block & bitMask ))">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ctx?.height">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "linAddr">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ctx?.bitsPerComponent">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "HiRes.blockCols">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ctx?.data">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
@ -219,7 +226,7 @@
|
||||
contextName = "DebuggerViewController.DisplayDisassembly():DebuggerViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "line_number">
|
||||
value = "disass_addr_min">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "disass_addr">
|
||||
@ -228,7 +235,7 @@
|
||||
value = "m6502.PC">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "disass_addr_min">
|
||||
value = "line_number">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -317,6 +324,9 @@
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "TXS [inlined]:6502_instr_transfer.h">
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "dest_ind_Y:Apple2_mmio.h">
|
||||
<PersistentStrings>
|
||||
@ -353,6 +363,14 @@
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "ViewController.Reset(_:):ViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "m6502.pc">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "textPageSelect:mmio.h">
|
||||
<PersistentStrings>
|
||||
@ -370,17 +388,6 @@
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "ViewController.Reset(_:):ViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "m6502.pc">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "TXS [inlined]:6502_instr_transfer.h">
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "ViewController.currentContext.getter:ViewController.swift">
|
||||
<PersistentStrings>
|
||||
@ -452,12 +459,33 @@
|
||||
<ContextState
|
||||
contextName = "auxMemorySelect:mmio.c">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "currentLowWRMEM == Apple2_64K_MEM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WRLOMEM == Apple2_64K_MEM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "currentLowWRMEM == Apple2_64K_RAM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WRLOMEM == Apple2_64K_RAM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "currentLowWRMEM == newWriteMEM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "newReadMEM == Apple2_64K_RAM + 0x200">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "newReadMEM == currentLowRDMEM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "currentLowWRMEM == Apple2_64K_AUX">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WRLOMEM == Apple2_64K_AUX">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "newReadMEM == Apple2_64K_MEM + 0x200">
|
||||
</PersistentString>
|
||||
@ -506,7 +534,7 @@
|
||||
value = "m6502_saved.PC">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "scroll_line_number">
|
||||
value = "isCurrentLine">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "highlighted_line_number">
|
||||
@ -515,7 +543,7 @@
|
||||
value = "m6502.PC">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "isCurrentLine">
|
||||
value = "scroll_line_number">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -529,7 +557,7 @@
|
||||
value = "textDisplay_height_diff">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "textDisplay.frame">
|
||||
value = "textDisplay_width_diff">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "MonitorView.textViewBounds">
|
||||
@ -541,7 +569,7 @@
|
||||
value = "textDisplay.bounds">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "textDisplay_width_diff">
|
||||
value = "textDisplay.frame">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -607,10 +635,10 @@
|
||||
contextName = "set_flags_NZC:common.h">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "(unsigned)test ">
|
||||
value = "(unsigned)0xFF">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(unsigned)0xFF">
|
||||
value = "(unsigned)test ">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -720,10 +748,10 @@
|
||||
value = "MEMcfg.int_Cx_ROM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(int)IOframe">
|
||||
value = "m6502.clkfrm">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.clkfrm">
|
||||
value = "(int)IOframe">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -734,10 +762,10 @@
|
||||
value = "Apple2_64K_AUX + 0xC600">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(void*)rom">
|
||||
value = "Apple2_64K_RAM + 0xC600">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "Apple2_64K_RAM + 0xC600">
|
||||
value = "(void*)rom">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "strlen(fullPath)">
|
||||
@ -840,9 +868,6 @@
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "POP:6502_instr_stack.h">
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "memread8_low [inlined]:mmio.c">
|
||||
<PersistentStrings>
|
||||
@ -851,6 +876,9 @@
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "POP:6502_instr_stack.h">
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "ToolBarController.windowWillEnterFullScreen(_:):ToolBarController.swift">
|
||||
<PersistentStrings>
|
||||
@ -869,16 +897,16 @@
|
||||
contextName = "DisplayScrollView.scrollWheel(with:):DisplayScrollView.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "documentView">
|
||||
value = "textView.defaultParagraphStyle?.lineSpacing">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "subviews">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "textView.defaultParagraphStyle?.lineSpacing">
|
||||
value = "subviews[1].subviews">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "subviews[1].subviews">
|
||||
value = "documentView">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -978,25 +1006,25 @@
|
||||
contextName = "_fetch_dbg:mmio.c">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "memread8_low(m6502.PC)">
|
||||
value = "disassembly.pOpcode">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "disassembly.pOpcode">
|
||||
value = "memread8_low(m6502.PC)">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "m6502_dbg_bp_add:6502_bp.c">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "bp">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "mem_bp_arr">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "bp_array">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "bp">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
@ -1070,7 +1098,7 @@
|
||||
contextName = "DebuggerViewController.DisplayDisassembly(scrollY:):DebuggerViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "isCurrentLine">
|
||||
value = "scroll_line_number">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "highlighted_line_number">
|
||||
@ -1079,7 +1107,7 @@
|
||||
value = "m6502.PC">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "scroll_line_number">
|
||||
value = "isCurrentLine">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -1195,7 +1223,7 @@
|
||||
contextName = "LoRes.Update():LoRes.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "blockChanged[ screenIdx ]">
|
||||
value = "UInt8( (block >> 4) & 0x0F )">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "UInt8(block)">
|
||||
@ -1204,7 +1232,7 @@
|
||||
value = "UInt8(block & 4)">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "UInt8( (block >> 4) & 0x0F )">
|
||||
value = "blockChanged[ screenIdx ]">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -1261,10 +1289,10 @@
|
||||
value = "m6502">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(void*)Apple2_64K_RAM">
|
||||
value = "m6502.PC">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "Apple2_64K_RAM + 0x3600">
|
||||
value = "m6502.clkfrm">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.ecoSpindown">
|
||||
@ -1273,10 +1301,10 @@
|
||||
value = "Apple2_64K_AUX + 0x3600">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.PC">
|
||||
value = "(void*)Apple2_64K_RAM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.clkfrm">
|
||||
value = "Apple2_64K_RAM + 0x3600">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -1290,7 +1318,7 @@
|
||||
value = "pdl_value[pdl]">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "normalized_time >= pdl_value[pdl] ? 255 : 0">
|
||||
value = "normalized_time">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(3300 * 255/3300)">
|
||||
@ -1302,7 +1330,7 @@
|
||||
value = "1 * 512 * (1 - ( 3300 / 3300.0 ))">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "normalized_time">
|
||||
value = "normalized_time >= pdl_value[pdl] ? 255 : 0">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -1321,10 +1349,10 @@
|
||||
contextName = "ToolBarController.GamePort(_:):ToolBarController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "ViewController.current?.mouseCursorJoystickEmulation">
|
||||
value = "ViewController.current?.mouseCursorHidden">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ViewController.current?.mouseCursorHidden">
|
||||
value = "ViewController.current?.mouseCursorJoystickEmulation">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -1547,7 +1575,7 @@
|
||||
value = "m6502.PC">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.clkfrm">
|
||||
value = "m6502.debugger.on">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "textLines * (textCols+1) + textCols">
|
||||
@ -1556,7 +1584,7 @@
|
||||
value = "frameCounter">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.debugger.on">
|
||||
value = "m6502.clkfrm">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "spkr_play_disk_motor_time">
|
||||
@ -1582,17 +1610,105 @@
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "m6502_ColdReset:6502.c">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "m6502">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "RAM_PG_RD_TBL">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "BIT:6502_instr_compare_test.h">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "m6502.A">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "spkr_toggle:speaker.c">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "default_MHz_6502 * 1000 * 1000 / spkr_sample_rate">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "( (spkr_clk + m6502.clkfrm) / ( default_MHz_6502 * 1000 * 1000 / spkr_sample_rate)) * 2">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(int16_t)28000 + (int16_t)-32768">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "spkr_samples[spkr_sample_last_idx]">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(int)spkr_sample_idx_diff">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.clkfrm">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "(spkr_clk + m6502.clkfrm)">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "( (spkr_clk + m6502.clkfrm) / ( 1024000 / spkr_sample_rate ) ) * 2">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "ViewController.newUpdateTimer(timeInterval:):ViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "upd">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "_memwrite8_low:mmio.c">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "MEMcfg">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "currentLowWRMEM == Apple2_64K_MEM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WRLOMEM == currentLowWRMEM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "RDLOMEM == WRLOMEM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.PC">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "currentLowWRMEM == Apple2_64K_RAM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WRLOMEM == Apple2_64K_MEM">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "currentLowWRMEM == Apple2_64K_AUX">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WRLOMEM[0x3F6]">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "m6502_Debug:6502.c">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "m6502.SP">
|
||||
value = "m6502.debugger.SP">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.debugger.mask.ret">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "m6502.debugger.SP">
|
||||
value = "m6502.SP">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
@ -1617,7 +1733,7 @@
|
||||
value = "new">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WOZwrite.shift16">
|
||||
value = "WOZtmp.shift16">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WOZwrite.shift">
|
||||
@ -1629,78 +1745,7 @@
|
||||
value = "(1 << i) - 1">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "WOZtmp.shift16">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "HiRes.initMetal():HiRes.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "mtlBufferB">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "addFunction">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "device">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "mtlBufferA">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "mtlBufferC">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "AND:6502_instr_logic.h">
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "specialized closure #1 in DebuggerViewController.DisplayDisassembly():DebuggerViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "line_number">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "currentScrollLine">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "current_line_number">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "ViewController.mouseMoved(with:):ViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "oldLocation">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "mouseLocation">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "view.bounds">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "closure #1 in ViewController.Update():ViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "txtArr">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "self.shadowTxt">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "txt">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "MEMcfg.txt_page_2">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "MEMcfg.is_80STORE">
|
||||
value = "WOZwrite.shift16">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
<false/>
|
||||
<key>com.apple.security.files.user-selected.read-write</key>
|
||||
<true/>
|
||||
</dict>
|
||||
|
@ -987,7 +987,12 @@ class ViewController: NSViewController {
|
||||
// 40 col
|
||||
if videoMode.col80 == 0 {
|
||||
if MEMcfg.txt_page_2 == 0 {
|
||||
textBufferPointer = ViewController.textPage1Pointer
|
||||
if (MEMcfg.RD_AUX_MEM == 0) {
|
||||
textBufferPointer = ViewController.textPage1Pointer
|
||||
}
|
||||
else {
|
||||
textBufferPointer = ViewController.textIntBufferPointer
|
||||
}
|
||||
}
|
||||
else {
|
||||
textBufferPointer = ViewController.textPage2Pointer
|
||||
@ -2018,6 +2023,8 @@ class ViewController: NSViewController {
|
||||
|
||||
|
||||
func openDiskImage( url: URL ) {
|
||||
woz_eject()
|
||||
|
||||
switch url.pathExtension.uppercased() {
|
||||
|
||||
case "WOZ":
|
||||
@ -2031,8 +2038,6 @@ class ViewController: NSViewController {
|
||||
}
|
||||
|
||||
case "DSK", "DO", "PO" :
|
||||
woz_eject()
|
||||
|
||||
let err = dsk2woz( url.path )
|
||||
|
||||
if err == WOZ_ERR_OK {
|
||||
|
@ -246,8 +246,8 @@ extern double mhz;
|
||||
//#define GAME_VIDEO_DIV 1U // (GAME_FPS / DEFAULT_FPS)
|
||||
//#define GAME_SPKR_DIV 6U // 16U
|
||||
#define GAME_FPS 180U // 300U // 240U // 180U // 120U
|
||||
#define GAME_VIDEO_DIV 1U // 4U // (GAME_FPS / DEFAULT_FPS)
|
||||
#define GAME_SPKR_DIV 1U // 8U // 16U
|
||||
#define GAME_VIDEO_DIV 3U // 4U // (GAME_FPS / DEFAULT_FPS)
|
||||
#define GAME_SPKR_DIV 3U // 8U // 16U
|
||||
|
||||
extern unsigned int video_fps_divider;
|
||||
extern unsigned int fps;
|
||||
|
@ -52,6 +52,16 @@ INSTR void LDA( uint8_t src ) {
|
||||
set_flags_NZ(m6502.A = src);
|
||||
#endif
|
||||
}
|
||||
//INSTR void LDA_imm( uint8_t src ) {
|
||||
// dbgPrintf("LDA(%02X) ", src);
|
||||
// disPrintf(disassembly.inst, "LDA");
|
||||
//#ifndef DISASSEMBLER
|
||||
// if (src == 0x4C) {
|
||||
// m6502.interrupt = BREAK;
|
||||
// }
|
||||
// set_flags_NZ(m6502.A = src);
|
||||
//#endif
|
||||
//}
|
||||
|
||||
/**
|
||||
LDX Load Index X with Memory
|
||||
|
@ -1043,11 +1043,14 @@ INLINE uint16_t memread16_high( uint16_t addr ) {
|
||||
}
|
||||
INLINE uint16_t memread16( uint16_t addr ) {
|
||||
|
||||
// if (addr >= 0xC000) {
|
||||
// return memread16_high(addr);
|
||||
// }
|
||||
|
||||
return memread16_low(addr);
|
||||
if (addr >= 0xC000) {
|
||||
return memread16_high(addr);
|
||||
}
|
||||
if (addr >= 0x200) {
|
||||
return memread16_low(addr);
|
||||
}
|
||||
|
||||
return memread16_zp(addr);
|
||||
}
|
||||
INLINE uint16_t _memread16_dbg( uint16_t addr ) {
|
||||
check_mem_rd_bp(addr);
|
||||
@ -1063,17 +1066,13 @@ INLINE uint8_t _memread( uint16_t addr ) {
|
||||
if (addr < 0xC100) {
|
||||
return ioRead(addr);
|
||||
}
|
||||
// return memread8_paged(addr);
|
||||
return memread8_high(addr);
|
||||
}
|
||||
if (addr >= 0x200) {
|
||||
return memread8_low(addr);
|
||||
}
|
||||
|
||||
// return memread8_paged(addr);
|
||||
return memread8_zp(addr);
|
||||
|
||||
// return memread8(addr);
|
||||
}
|
||||
|
||||
INLINE uint8_t _memread_dbg( uint16_t addr ) {
|
||||
@ -1083,17 +1082,13 @@ INLINE uint8_t _memread_dbg( uint16_t addr ) {
|
||||
|
||||
INLINE uint8_t _memread_dis( uint16_t addr ) {
|
||||
if (addr >= 0xC000) {
|
||||
// return memread8_paged(addr);
|
||||
return memread8_high(addr);
|
||||
}
|
||||
if (addr >= 0x200) {
|
||||
return memread8_low(addr);
|
||||
}
|
||||
|
||||
// return memread8_paged(addr);
|
||||
return memread8_zp(addr);
|
||||
|
||||
// return memread8(addr);
|
||||
}
|
||||
|
||||
|
||||
@ -1121,11 +1116,16 @@ INLINE void _memwrite8_zp( uint16_t addr, uint8_t data ) {
|
||||
shadowZPSTCKMEM[addr] = data;
|
||||
}
|
||||
INLINE void _memwrite8_low( uint16_t addr, uint8_t data ) {
|
||||
if ((addr >= 0x400) && (addr < 0x800)) {
|
||||
if ((data == 0x00) || (data == 0xFF)) {
|
||||
m6502.interrupt = BREAK;
|
||||
}
|
||||
}
|
||||
// if ((addr >= 0x400) && (addr < 0x800)) {
|
||||
// if ((data == 0x00) || (data == 0xFF)) {
|
||||
// m6502.interrupt = BREAK;
|
||||
// }
|
||||
// }
|
||||
// if ((addr >= 0x3F5) && (addr <= 0x3F7)) {
|
||||
// if (data == 0x4C) {
|
||||
// m6502.interrupt = BREAK;
|
||||
// }
|
||||
// }
|
||||
WRLOMEM[addr] = data;
|
||||
}
|
||||
INLINE void _memwrite8_bank( uint16_t addr, uint8_t data ) {
|
||||
@ -1173,7 +1173,14 @@ INLINE uint8_t _fetch(void) {
|
||||
m6502.clktime++;
|
||||
}
|
||||
#endif
|
||||
return memread8_low( m6502.PC++ );
|
||||
if (m6502.PC >= 0xC000) {
|
||||
return memread8_high( m6502.PC++ );
|
||||
}
|
||||
// TODO: We might want to run code on the ZERO PAGE?
|
||||
// if (m6502.PC >= 0x200) {
|
||||
return memread8_low( m6502.PC++ );
|
||||
// }
|
||||
// return memread8_zp( m6502.PC++ );
|
||||
}
|
||||
|
||||
INLINE uint8_t _fetch_dis(void) {
|
||||
@ -1373,7 +1380,7 @@ INLINE uint8_t _addr_zp_dis(void) {
|
||||
return _fetch_dis();
|
||||
}
|
||||
INLINE uint8_t _src_zp(void) {
|
||||
return memread8(_addr_zp());
|
||||
return memread8_zp(_addr_zp());
|
||||
}
|
||||
INLINE uint8_t _src_zp_dbg(void) {
|
||||
return _memread_dbg(_addr_zp_dbg());
|
||||
@ -1401,7 +1408,7 @@ INLINE uint8_t _src_zp_dis(void) {
|
||||
effective address is word in (LL, LL + 1), inc. without carry: C.w($00LL)
|
||||
**/
|
||||
INLINE uint16_t _addr_ind(void) {
|
||||
return memread16( _fetch() );
|
||||
return memread16_zp( _fetch() );
|
||||
}
|
||||
INLINE uint16_t _addr_ind_dbg(void) {
|
||||
uint16_t addr = _memread16_dbg(_fetch());
|
||||
@ -1430,7 +1437,7 @@ INLINE uint8_t _src_ind_dis(void) {
|
||||
effective address is word in (LL + X, LL + X + 1), inc. without carry: C.w($00LL + X)
|
||||
**/
|
||||
INLINE uint16_t _addr_ind_X(void) {
|
||||
return memread16( (uint8_t)(_fetch() + m6502.X) );
|
||||
return memread16_zp( (uint8_t)(_fetch() + m6502.X) );
|
||||
}
|
||||
INLINE uint16_t _addr_ind_X_rd_dbg(void) {
|
||||
return _memread16_dbg( (uint8_t)(_fetch() + m6502.X) );
|
||||
@ -1444,7 +1451,7 @@ INLINE uint16_t _addr_ind_X_dis(void) {
|
||||
_disPrintf(disassembly.oper, sizeof(disassembly.oper), "($%02X,X)", memread8(m6502.PC) );
|
||||
_disPrintf(disassembly.comment, sizeof(disassembly.comment), "ind_addr:%04X", memread16( memread8(m6502.PC) + m6502.X) );
|
||||
|
||||
return memread16( (uint8_t)(_fetch_dis() + m6502.X) );
|
||||
return memread16_zp( (uint8_t)(_fetch_dis() + m6502.X) );
|
||||
}
|
||||
INLINE uint8_t _src_X_ind(void) {
|
||||
return _memread( _addr_ind_X() );
|
||||
@ -1491,7 +1498,7 @@ INLINE uint16_t _addr_ind_ind_X_dis(void) {
|
||||
effective address is word in (LL, LL + 1) incremented by Y with carry: C.w($00LL) + Y
|
||||
**/
|
||||
INLINE uint16_t _addr_ind_Y(void) {
|
||||
return memread16( _fetch() ) + m6502.Y;
|
||||
return memread16_zp( _fetch() ) + m6502.Y;
|
||||
}
|
||||
INLINE uint16_t _addr_ind_Y_dbg(void) {
|
||||
uint16_t addr = _memread16_dbg( _fetch() ) + m6502.Y;
|
||||
@ -1537,13 +1544,13 @@ INLINE uint8_t _addr_zp_X_dis(void) {
|
||||
return _fetch_dis() + m6502.X;
|
||||
}
|
||||
INLINE uint8_t _src_zp_X(void) {
|
||||
return memread8(_addr_zp_X());
|
||||
return memread8_zp(_addr_zp_X());
|
||||
}
|
||||
INLINE uint8_t _src_zp_X_dbg(void) {
|
||||
return _memread_dbg(_addr_zp_X());
|
||||
}
|
||||
INLINE uint8_t _src_zp_X_dis(void) {
|
||||
return memread8(_addr_zp_X_dis());
|
||||
return memread8_zp(_addr_zp_X_dis());
|
||||
}
|
||||
//INLINE uint8_t * dest_zp_X() {
|
||||
// return WRLOMEM + addr_zp_X();
|
||||
@ -1568,13 +1575,13 @@ INLINE uint8_t _addr_zp_Y_dis(void) {
|
||||
return _fetch_dis() + m6502.Y;
|
||||
}
|
||||
INLINE uint8_t _src_zp_Y(void) {
|
||||
return memread8(_addr_zp_Y());
|
||||
return memread8_zp(_addr_zp_Y());
|
||||
}
|
||||
INLINE uint8_t _src_zp_Y_dbg(void) {
|
||||
return _memread_dbg(_addr_zp_Y());
|
||||
}
|
||||
INLINE uint8_t _src_zp_Y_dis(void) {
|
||||
return memread8(_addr_zp_Y_dis());
|
||||
return memread8_zp(_addr_zp_Y_dis());
|
||||
}
|
||||
//INLINE uint8_t * dest_zp_Y() {
|
||||
// return WRLOMEM + addr_zp_Y();
|
||||
@ -1608,7 +1615,7 @@ void auxMemorySelect( MEMcfg_t newMEMcfg ) {
|
||||
|
||||
|
||||
// save old content to shadow memory
|
||||
if ( ( newWriteMEM != currentLowWRMEM ) && (WRLOMEM == Apple2_64K_MEM) ) {
|
||||
if ( ( newWriteMEM != WRLOMEM ) && (WRLOMEM == Apple2_64K_MEM) ) {
|
||||
// save the content of Shadow Memory
|
||||
memcpy( (void*) currentLowWRMEM + 0x200, WRLOMEM + 0x200, 0xBE00);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user