mirror of
https://github.com/trudnai/Steve2.git
synced 2025-01-14 22:30:25 +00:00
- BugFix: Highlight Disassembly line on Mouse Click
- BugFix: Mouse ScrollWheel on Disassembly and Memory View
This commit is contained in:
parent
e2a37a2e0c
commit
d056f4534a
@ -1192,8 +1192,8 @@
|
|||||||
32C6995127C5439300D0F25D /* Debugger.swift */,
|
32C6995127C5439300D0F25D /* Debugger.swift */,
|
||||||
323D042F24898AB70086A901 /* PreferencesViewController.swift */,
|
323D042F24898AB70086A901 /* PreferencesViewController.swift */,
|
||||||
32D089D7291E1BF800F2B486 /* DisassView.swift */,
|
32D089D7291E1BF800F2B486 /* DisassView.swift */,
|
||||||
327B75D629064FDC00A86A71 /* DebuggerViewController.swift */,
|
|
||||||
32D08A1329219C6A00F2B486 /* HexDigitFormatter.swift */,
|
32D08A1329219C6A00F2B486 /* HexDigitFormatter.swift */,
|
||||||
|
327B75D629064FDC00A86A71 /* DebuggerViewController.swift */,
|
||||||
32C823392908822E0018438F /* DebuggerWindowController.swift */,
|
32C823392908822E0018438F /* DebuggerWindowController.swift */,
|
||||||
323D04312489BFD80086A901 /* PreferencesWindowController.swift */,
|
323D04312489BFD80086A901 /* PreferencesWindowController.swift */,
|
||||||
32B18435233F10BC00DBB4AB /* Shaders.metal */,
|
32B18435233F10BC00DBB4AB /* Shaders.metal */,
|
||||||
|
@ -106,6 +106,14 @@
|
|||||||
</PersistentString>
|
</PersistentString>
|
||||||
</PersistentStrings>
|
</PersistentStrings>
|
||||||
</ContextState>
|
</ContextState>
|
||||||
|
<ContextState
|
||||||
|
contextName = "memread8_low:mmio.c">
|
||||||
|
<PersistentStrings>
|
||||||
|
<PersistentString
|
||||||
|
value = "m6502.PC">
|
||||||
|
</PersistentString>
|
||||||
|
</PersistentStrings>
|
||||||
|
</ContextState>
|
||||||
<ContextState
|
<ContextState
|
||||||
contextName = "m6502_dbg_bp_search:6502_bp.c">
|
contextName = "m6502_dbg_bp_search:6502_bp.c">
|
||||||
<PersistentStrings>
|
<PersistentStrings>
|
||||||
@ -735,6 +743,23 @@
|
|||||||
<ContextState
|
<ContextState
|
||||||
contextName = "ADC:6502_instr_arithmetic.h">
|
contextName = "ADC:6502_instr_arithmetic.h">
|
||||||
</ContextState>
|
</ContextState>
|
||||||
|
<ContextState
|
||||||
|
contextName = "DisplayScrollView.scrollWheel(with:):DisplayScrollView.swift">
|
||||||
|
<PersistentStrings>
|
||||||
|
<PersistentString
|
||||||
|
value = "documentView">
|
||||||
|
</PersistentString>
|
||||||
|
<PersistentString
|
||||||
|
value = "subviews">
|
||||||
|
</PersistentString>
|
||||||
|
<PersistentString
|
||||||
|
value = "textView.defaultParagraphStyle?.lineSpacing">
|
||||||
|
</PersistentString>
|
||||||
|
<PersistentString
|
||||||
|
value = "subviews[1].subviews">
|
||||||
|
</PersistentString>
|
||||||
|
</PersistentStrings>
|
||||||
|
</ContextState>
|
||||||
<ContextState
|
<ContextState
|
||||||
contextName = "quicksort:6502_bp.c">
|
contextName = "quicksort:6502_bp.c">
|
||||||
<PersistentStrings>
|
<PersistentStrings>
|
||||||
@ -861,6 +886,9 @@
|
|||||||
<PersistentString
|
<PersistentString
|
||||||
value = "RAM">
|
value = "RAM">
|
||||||
</PersistentString>
|
</PersistentString>
|
||||||
|
<PersistentString
|
||||||
|
value = "breakpoints">
|
||||||
|
</PersistentString>
|
||||||
</PersistentStrings>
|
</PersistentStrings>
|
||||||
</ContextState>
|
</ContextState>
|
||||||
<ContextState
|
<ContextState
|
||||||
|
@ -240,15 +240,27 @@
|
|||||||
<rect key="frame" x="8" y="10" width="366" height="504"/>
|
<rect key="frame" x="8" y="10" width="366" height="504"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<stackView distribution="fill" orientation="horizontal" alignment="top" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lUp-Ww-thA">
|
<stackView distribution="fill" orientation="horizontal" alignment="top" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lUp-Ww-thA">
|
||||||
<rect key="frame" x="0.0" y="484" width="233" height="20"/>
|
<rect key="frame" x="0.0" y="484" width="363" height="20"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yYC-5c-mvY" userLabel="Leading Space">
|
||||||
|
<rect key="frame" x="-2" y="0.0" width="16" height="20"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" constant="12" id="6Nf-9P-EJo"/>
|
||||||
|
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="VVG-cn-wIl"/>
|
||||||
|
</constraints>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="NMh-AM-uI4" userLabel="Memory Addr Field Cell">
|
||||||
|
<font key="font" size="11" name="PrintChar21"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bwO-w1-hlg" userLabel="Disass Addr Field">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bwO-w1-hlg" userLabel="Disass Addr Field">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="44" height="20"/>
|
<rect key="frame" x="20" y="0.0" width="44" height="20"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="XCd-Q5-6sX"/>
|
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="XCd-Q5-6sX"/>
|
||||||
<constraint firstAttribute="width" constant="44" id="t28-y8-Zr5"/>
|
<constraint firstAttribute="width" constant="44" id="t28-y8-Zr5"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" placeholderString="Addr" drawsBackground="YES" usesSingleLineMode="YES" id="SCz-Q0-cv7" userLabel="Memory Addr Field Cell">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" placeholderString="Addr" drawsBackground="YES" usesSingleLineMode="YES" id="SCz-Q0-cv7" userLabel="Memory Addr Field Cell">
|
||||||
<font key="font" size="10" name="PrintChar21"/>
|
<font key="font" size="10" name="PrintChar21"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
@ -258,38 +270,38 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lht-UO-OM3" userLabel="Middle Space">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lht-UO-OM3" userLabel="Middle Space">
|
||||||
<rect key="frame" x="50" y="0.0" width="8" height="20"/>
|
<rect key="frame" x="70" y="0.0" width="8" height="20"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="57Q-CT-Gpn"/>
|
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="57Q-CT-Gpn"/>
|
||||||
<constraint firstAttribute="width" constant="4" id="lWh-zL-9R3"/>
|
<constraint firstAttribute="width" constant="4" id="lWh-zL-9R3"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="Nrn-V7-Ftb" userLabel="Memory Addr Field Cell">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="Nrn-V7-Ftb">
|
||||||
<font key="font" size="11" name="PrintChar21"/>
|
<font key="font" size="11" name="PrintChar21"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zov-nz-fce">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zov-nz-fce">
|
||||||
<rect key="frame" x="62" y="2" width="40" height="18"/>
|
<rect key="frame" x="82" y="2" width="40" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="PC" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Cu2-rY-Lii">
|
<buttonCell key="cell" type="check" title="PC" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Cu2-rY-Lii">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jya-Sa-f8i" userLabel="Middle Space">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jya-Sa-f8i" userLabel="Middle Space">
|
||||||
<rect key="frame" x="106" y="0.0" width="44" height="20"/>
|
<rect key="frame" x="126" y="0.0" width="154" height="20"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="40" id="W3U-D5-7k9"/>
|
<constraint firstAttribute="width" constant="150" id="W3U-D5-7k9"/>
|
||||||
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="eb8-Te-a1X"/>
|
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="eb8-Te-a1X"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="NLP-Iu-qf6" userLabel="Memory Addr Field Cell">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="NLP-Iu-qf6">
|
||||||
<font key="font" size="11" name="PrintChar21"/>
|
<font key="font" size="11" name="PrintChar21"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hxo-9P-cZv">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hxo-9P-cZv">
|
||||||
<rect key="frame" x="154" y="4" width="81" height="16"/>
|
<rect key="frame" x="284" y="4" width="81" height="16"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="16" identifier="Disassembly.Height" id="jZh-9c-yY6"/>
|
<constraint firstAttribute="height" constant="16" identifier="Disassembly.Height" id="jZh-9c-yY6"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@ -310,6 +322,7 @@
|
|||||||
<integer value="1000"/>
|
<integer value="1000"/>
|
||||||
<integer value="1000"/>
|
<integer value="1000"/>
|
||||||
<integer value="1000"/>
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
</visibilityPriorities>
|
</visibilityPriorities>
|
||||||
<customSpacing>
|
<customSpacing>
|
||||||
<real value="3.4028234663852886e+38"/>
|
<real value="3.4028234663852886e+38"/>
|
||||||
@ -317,6 +330,7 @@
|
|||||||
<real value="3.4028234663852886e+38"/>
|
<real value="3.4028234663852886e+38"/>
|
||||||
<real value="3.4028234663852886e+38"/>
|
<real value="3.4028234663852886e+38"/>
|
||||||
<real value="3.4028234663852886e+38"/>
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
</customSpacing>
|
</customSpacing>
|
||||||
</stackView>
|
</stackView>
|
||||||
<scrollView horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="250" borderType="line" horizontalLineScroll="0.0" horizontalPageScroll="0.0" verticalLineScroll="0.0" verticalPageScroll="0.0" hasHorizontalScroller="NO" minMagnification="1" translatesAutoresizingMaskIntoConstraints="NO" id="Pcn-4j-EEM" userLabel="Disass Scroll View" customClass="DisplayScrollView" customModule="A2MacTests" customModuleProvider="target">
|
<scrollView horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="250" borderType="line" horizontalLineScroll="0.0" horizontalPageScroll="0.0" verticalLineScroll="0.0" verticalPageScroll="0.0" hasHorizontalScroller="NO" minMagnification="1" translatesAutoresizingMaskIntoConstraints="NO" id="Pcn-4j-EEM" userLabel="Disass Scroll View" customClass="DisplayScrollView" customModule="A2MacTests" customModuleProvider="target">
|
||||||
@ -326,7 +340,7 @@
|
|||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textView editable="NO" selectable="NO" drawsBackground="NO" importsGraphics="NO" richText="NO" horizontallyResizable="YES" verticallyResizable="YES" baseWritingDirection="leftToRight" findStyle="bar" allowsCharacterPickerTouchBarItem="NO" textCompletion="NO" id="Hwx-Gd-XW1" userLabel="Disass Display" customClass="DisassView" customModule="A2MacTests" customModuleProvider="target">
|
<textView editable="NO" selectable="NO" drawsBackground="NO" importsGraphics="NO" richText="NO" horizontallyResizable="YES" verticallyResizable="YES" baseWritingDirection="leftToRight" findStyle="bar" allowsCharacterPickerTouchBarItem="NO" textCompletion="NO" id="Hwx-Gd-XW1" userLabel="Disass Display" customClass="DisassView" customModule="A2MacTests" customModuleProvider="target">
|
||||||
<rect key="frame" x="0.0" y="-216" width="349" height="1155"/>
|
<rect key="frame" x="0.0" y="-258" width="349" height="510"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" red="0.12549019610000001" green="0.12549019610000001" blue="0.12549019610000001" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="backgroundColor" red="0.12549019610000001" green="0.12549019610000001" blue="0.12549019610000001" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
@ -334,81 +348,40 @@
|
|||||||
<size key="maxSize" width="3840" height="58101"/>
|
<size key="maxSize" width="3840" height="58101"/>
|
||||||
<attributedString key="textStorage">
|
<attributedString key="textStorage">
|
||||||
<fragment>
|
<fragment>
|
||||||
<mutableString key="content">FA62: D8 CLD
|
<mutableString key="content"> C1AD: 48 PHA
|
||||||
FA63: 20 84 FE JSR $FE84
|
C1AE: 29 3F AND #$3F
|
||||||
FE84: A0 FF LDY #$FF
|
C1B0: 09 40 ORA #$40
|
||||||
FE86: 84 32 STY $32
|
C1B2: 91 28 STA ($28),Y
|
||||||
FE88: 60 RTS
|
C1B4: 68 PLA
|
||||||
FA66: 20 2F FB JSR $FB2F
|
C1B5: 60 RTS
|
||||||
FB2F: A9 00 LDA #$00
|
C1B6: A8 TAY
|
||||||
FB31: 85 48 STA $48
|
C1B7: A5 28 LDA $28
|
||||||
FB33: AD 56 C0 LDA $C056
|
C1B9: 20 BA CA JSR $CABA
|
||||||
FB36: AD 54 C0 LDA $C054
|
C1BC: 90 4C BCC $C20A
|
||||||
FB39: AD 51 C0 LDA $C051
|
C1BE: 20 14 CE JSR $CE14
|
||||||
FB3C: A9 00 LDA #$00
|
C1C1: A0 03 LDY #$03
|
||||||
FB3E: F0 0B BEQ $FB4B
|
C1C3: D9 EE C2 CMP $C2EE,Y
|
||||||
FB4B: 85 22 STA $22
|
C1C6: D0 03 BNE $C1CB
|
||||||
FB4D: A9 00 LDA #$00
|
C1C8: B9 A4 C9 LDA $C9A4,Y
|
||||||
FB4F: 85 20 STA $20
|
C1CB: 88 DEY
|
||||||
FB51: A0 0C LDY #$0C
|
C1CC: 10 F5 BPL $C1C3
|
||||||
FB53: D0 5F BNE $FBB4
|
C1CE: 30 3A BMI $C20A
|
||||||
FBB4: 2C 15 C0 BIT $C015
|
C1D0: 20 70 C8 JSR $C870
|
||||||
FBB7: 08 PHP
|
C1D3: 4C 0A C2 JMP $C20A
|
||||||
FBB8: 8D 07 C0 STA $C007
|
C1D6: 8A TXA
|
||||||
FBBB: 4C 00 C1 JMP $C100
|
C1D7: 29 03 AND #$03
|
||||||
C100: 4C 13 C2 JMP $C213
|
C1D9: 85 2F STA $2F
|
||||||
C213: 88 DEY
|
C1DB: A5 2A LDA $2A
|
||||||
C214: 30 BA BMI $C1D0
|
C1DD: 29 8F AND #$8F
|
||||||
C216: 88 DEY
|
C1DF: 4C 71 CA JMP $CA71
|
||||||
C217: 30 A5 BMI $C1BE
|
C1E2: 20 F0 FC JSR $FCF0
|
||||||
C219: 88 DEY
|
C1E5: 8A TXA
|
||||||
C21A: 30 9A BMI $C1B6
|
C1E6: 85 34 STA $34
|
||||||
C21C: 88 DEY
|
C1E8: 60 RTS
|
||||||
C21D: 30 3D BMI $C25C
|
C1E9: AC 7B 05 LDY $057B
|
||||||
C21F: 88 DEY
|
C1EC: 20 44 CE JSR $CE44
|
||||||
C220: 30 E2 BMI $C204
|
C1EF: 09 80 ORA #$80
|
||||||
C222: A9 C2 LDA #$C2
|
C1F1: 60 RTS</mutableString>
|
||||||
C224: 48 PHA
|
|
||||||
C225: A9 09 LDA #$09
|
|
||||||
C227: 48 PHA
|
|
||||||
C228: AD FB 04 LDA $04FB
|
|
||||||
C22B: 29 D6 AND #$D6
|
|
||||||
C22D: D0 0D BNE $C23C
|
|
||||||
C23C: A9 C1 LDA #$C1
|
|
||||||
C23E: 48 PHA
C152: A9 28 LDA #$28
|
|
||||||
C154: 85 21 STA $21
|
|
||||||
C156: A9 18 LDA #$18
|
|
||||||
C158: 85 23 STA $23
|
|
||||||
C15A: A9 17 LDA #$17
|
|
||||||
C15C: 85 25 STA $25
|
|
||||||
C15E: D0 EF BNE $C14F
|
|
||||||
C14F: 4C 03 CE JMP $CE03
|
|
||||||
CE03: 20 BA CA JSR $CABA
|
|
||||||
CABA: 48 PHA
|
|
||||||
CABB: 4A LSR
|
|
||||||
CABC: 29 03 AND #$03
|
|
||||||
CABE: 09 04 ORA #$04
|
|
||||||
CAC0: 85 29 STA $29
|
|
||||||
CAC2: 68 PLA
|
|
||||||
CAC3: 29 18 AND #$18
|
|
||||||
CAC5: 90 02 BCC $CAC9
|
|
||||||
CAC7: 69 7F ADC #$7F
|
|
||||||
CAC9: 85 28 STA $28
|
|
||||||
CACB: 0A ASL
|
|
||||||
CACC: 0A ASL
|
|
||||||
CACD: 05 28 ORA $28
|
|
||||||
CACF: 85 28 STA $28
|
|
||||||
CAD1: 60 RTS
|
|
||||||
CE06: A5 20 LDA $20
|
|
||||||
CE08: 2C 1F C0 BIT $C01F
|
|
||||||
CE0B: 10 01 BPL $CE0E
|
|
||||||
CE0E: 18 CLC
|
|
||||||
CE0F: 65 28 ADC $28
|
|
||||||
CE11: 85 28 STA $28
|
|
||||||
CE13: 60 RTS
|
|
||||||
C20A: 28 PLP
|
|
||||||
C20B: 30 03 BMI $C210
|
|
||||||
C20D: 4C C5 FE JMP $FEC5
FEC5: 8D 06 C0 STA $C006</mutableString>
|
|
||||||
<attributes>
|
<attributes>
|
||||||
<color key="NSColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="NSColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<font key="NSFont" size="10" name="PrintChar21"/>
|
<font key="NSFont" size="10" name="PrintChar21"/>
|
||||||
@ -544,7 +517,7 @@ C20D: 4C C5 FE JMP $FEC5
FEC5: 8D 06 C0 STA $C006</mutableString>
|
|||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textView editable="NO" selectable="NO" drawsBackground="NO" importsGraphics="NO" richText="NO" horizontallyResizable="YES" verticallyResizable="YES" baseWritingDirection="leftToRight" findStyle="bar" allowsCharacterPickerTouchBarItem="NO" textCompletion="NO" id="BHr-Q4-rBI" userLabel="Stack Display" customClass="DisplayView" customModule="A2MacTests" customModuleProvider="target">
|
<textView editable="NO" selectable="NO" drawsBackground="NO" importsGraphics="NO" richText="NO" horizontallyResizable="YES" verticallyResizable="YES" baseWritingDirection="leftToRight" findStyle="bar" allowsCharacterPickerTouchBarItem="NO" textCompletion="NO" id="BHr-Q4-rBI" userLabel="Stack Display" customClass="DisplayView" customModule="A2MacTests" customModuleProvider="target">
|
||||||
<rect key="frame" x="0.0" y="-239" width="334" height="165"/>
|
<rect key="frame" x="0.0" y="-253" width="334" height="165"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
@ -622,7 +595,7 @@ C20D: 4C C5 FE JMP $FEC5
FEC5: 8D 06 C0 STA $C006</mutableString>
|
|||||||
<constraint firstAttribute="width" constant="4" id="39F-LA-n7O"/>
|
<constraint firstAttribute="width" constant="4" id="39F-LA-n7O"/>
|
||||||
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="452-lu-0u3"/>
|
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="452-lu-0u3"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="m4R-OX-oeT" userLabel="Memory Addr Field Cell">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="m4R-OX-oeT" userLabel="Memory Addr Field Cell">
|
||||||
<font key="font" size="11" name="PrintChar21"/>
|
<font key="font" size="11" name="PrintChar21"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
@ -649,23 +622,34 @@ C20D: 4C C5 FE JMP $FEC5
FEC5: 8D 06 C0 STA $C006</mutableString>
|
|||||||
<constraint firstAttribute="width" constant="4" id="O5P-Di-Yom"/>
|
<constraint firstAttribute="width" constant="4" id="O5P-Di-Yom"/>
|
||||||
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="rxQ-uI-YNZ"/>
|
<constraint firstAttribute="height" constant="20" identifier="Memory Addr Field.Height" id="rxQ-uI-YNZ"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="SdV-qz-FNM" userLabel="Memory Addr Field Cell">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" usesSingleLineMode="YES" id="SdV-qz-FNM" userLabel="Memory Addr Field Cell">
|
||||||
<font key="font" size="11" name="PrintChar21"/>
|
<font key="font" size="11" name="PrintChar21"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DiM-zp-wCg" userLabel="Low Nibble Label">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DiM-zp-wCg" userLabel="Low Nibble Label">
|
||||||
<rect key="frame" x="74" y="4" width="638" height="16"/>
|
<rect key="frame" x="74" y="4" width="571" height="16"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="16" identifier="Low Nibble Label.Height" id="cbC-f3-JsA"/>
|
<constraint firstAttribute="height" constant="16" identifier="Low Nibble Label.Height" id="cbC-f3-JsA"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" selectable="YES" title="0 1 2 3 4 5 6 7 8 9 A B C D E F" usesSingleLineMode="YES" id="ECg-7L-hRs">
|
<textFieldCell key="cell" lineBreakMode="clipping" selectable="YES" alignment="left" title="0 1 2 3 4 5 6 7 8 9 A B C D E F" usesSingleLineMode="YES" id="ECg-7L-hRs">
|
||||||
<font key="font" size="10" name="PrintChar21"/>
|
<font key="font" size="10" name="PrintChar21"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Hi1-UC-b0Z">
|
||||||
|
<rect key="frame" x="649" y="4" width="63" height="16"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="16" identifier="Disassembly.Height" id="yUU-2o-zHX"/>
|
||||||
|
</constraints>
|
||||||
|
<textFieldCell key="cell" lineBreakMode="clipping" title="Memory 1" id="FMS-vf-xor">
|
||||||
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="20" id="Ciu-2g-lVZ"/>
|
<constraint firstAttribute="height" constant="20" id="Ciu-2g-lVZ"/>
|
||||||
@ -675,12 +659,14 @@ C20D: 4C C5 FE JMP $FEC5
FEC5: 8D 06 C0 STA $C006</mutableString>
|
|||||||
<integer value="1000"/>
|
<integer value="1000"/>
|
||||||
<integer value="1000"/>
|
<integer value="1000"/>
|
||||||
<integer value="1000"/>
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
</visibilityPriorities>
|
</visibilityPriorities>
|
||||||
<customSpacing>
|
<customSpacing>
|
||||||
<real value="3.4028234663852886e+38"/>
|
<real value="3.4028234663852886e+38"/>
|
||||||
<real value="3.4028234663852886e+38"/>
|
<real value="3.4028234663852886e+38"/>
|
||||||
<real value="3.4028234663852886e+38"/>
|
<real value="3.4028234663852886e+38"/>
|
||||||
<real value="3.4028234663852886e+38"/>
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
</customSpacing>
|
</customSpacing>
|
||||||
</stackView>
|
</stackView>
|
||||||
<scrollView focusRingType="none" horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="250" borderType="line" horizontalLineScroll="0.0" horizontalPageScroll="0.0" verticalLineScroll="0.0" verticalPageScroll="0.0" hasHorizontalScroller="NO" hasVerticalScroller="NO" minMagnification="1" translatesAutoresizingMaskIntoConstraints="NO" id="dzC-sA-aHa" userLabel="Memory Scroll" customClass="DisplayScrollView" customModule="A2MacTests" customModuleProvider="target">
|
<scrollView focusRingType="none" horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="250" borderType="line" horizontalLineScroll="0.0" horizontalPageScroll="0.0" verticalLineScroll="0.0" verticalPageScroll="0.0" hasHorizontalScroller="NO" hasVerticalScroller="NO" minMagnification="1" translatesAutoresizingMaskIntoConstraints="NO" id="dzC-sA-aHa" userLabel="Memory Scroll" customClass="DisplayScrollView" customModule="A2MacTests" customModuleProvider="target">
|
||||||
@ -689,7 +675,7 @@ C20D: 4C C5 FE JMP $FEC5
FEC5: 8D 06 C0 STA $C006</mutableString>
|
|||||||
<rect key="frame" x="1" y="1" width="708" height="270"/>
|
<rect key="frame" x="1" y="1" width="708" height="270"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textView editable="NO" selectable="NO" drawsBackground="NO" importsGraphics="NO" richText="NO" horizontallyResizable="YES" verticallyResizable="YES" baseWritingDirection="leftToRight" findStyle="bar" allowsCharacterPickerTouchBarItem="NO" textCompletion="NO" id="qqp-t0-j4i" userLabel="Memory Display" customClass="DisplayView" customModule="A2MacTests" customModuleProvider="target">
|
<textView editable="NO" selectable="NO" drawsBackground="NO" importsGraphics="NO" richText="NO" horizontallyResizable="YES" verticallyResizable="YES" baseWritingDirection="leftToRight" selectionGranularity="word" findStyle="bar" allowsCharacterPickerTouchBarItem="NO" textCompletion="NO" id="qqp-t0-j4i" userLabel="Memory Display" customClass="DisplayView" customModule="A2MacTests" customModuleProvider="target">
|
||||||
<rect key="frame" x="0.0" y="89" width="708" height="270"/>
|
<rect key="frame" x="0.0" y="89" width="708" height="270"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
@ -67,27 +67,33 @@ class DebuggerViewController: NSViewController {
|
|||||||
|
|
||||||
override func scrollWheel(with event: NSEvent) {
|
override func scrollWheel(with event: NSEvent) {
|
||||||
super.scrollWheel(with: event)
|
super.scrollWheel(with: event)
|
||||||
|
let location = event.locationInWindow
|
||||||
|
print("scrollWheel")
|
||||||
|
|
||||||
|
if location.x > Disass_Scroll.frame.minX
|
||||||
|
&& location.x < Disass_Scroll.frame.maxX
|
||||||
|
&& location.y < Disass_Scroll.frame.minY
|
||||||
|
&& location.y < Disass_Scroll.frame.maxY
|
||||||
|
{
|
||||||
|
print("Disass_Scroll")
|
||||||
|
var scrollTo = Disass_Display.visibleRect.origin
|
||||||
|
let lineSpacing = CGFloat(1.5)
|
||||||
|
let lineHeight = Disass_Display.font!.pointSize * lineSpacing
|
||||||
|
// print("lineHeight:", lineHeight, "fontSize:", Stack_Display.font?.pointSize)
|
||||||
|
|
||||||
|
let y1 = round( (scrollTo.y + round(event.scrollingDeltaY) * lineHeight) / lineHeight) * lineHeight
|
||||||
|
// let y2 = round( scrollTo.y / lineHeight + event.scrollingDeltaY ) * lineHeight
|
||||||
|
|
||||||
|
scrollTo.y = y1
|
||||||
|
|
||||||
|
Disass_Display.scroll(scrollTo)
|
||||||
|
}
|
||||||
|
|
||||||
// if view.window?.firstResponder?.textView?.delegate === Stack_Display {
|
// if view.window?.firstResponder?.textView?.delegate === Stack_Display {
|
||||||
// print("scroll deltaY", event.deltaY, event.scrollingDeltaY)
|
// print("scroll deltaY", event.deltaY, event.scrollingDeltaY)
|
||||||
// Stack_Display.scroll(Stack_Display.enclosingScrollView!.visibleRect, by: NSSize(width: 0, height: event.scrollingDeltaY) )
|
// Stack_Display.scroll(Stack_Display.enclosingScrollView!.visibleRect, by: NSSize(width: 0, height: event.scrollingDeltaY) )
|
||||||
// }
|
// }
|
||||||
|
|
||||||
var scrollTo = Disass_Display.visibleRect.origin
|
|
||||||
let lineSpacing = CGFloat(1.5)
|
|
||||||
let lineHeight = Disass_Display.font!.pointSize * lineSpacing
|
|
||||||
// print("lineHeight:", lineHeight, "fontSize:", Stack_Display.font?.pointSize)
|
|
||||||
|
|
||||||
let y1 = round( (scrollTo.y + round(event.scrollingDeltaY) * lineHeight) / lineHeight) * lineHeight
|
|
||||||
let y2 = round( scrollTo.y / lineHeight + event.scrollingDeltaY ) * lineHeight
|
|
||||||
|
|
||||||
if y1 != y2 {
|
|
||||||
print("NOT EQ", y1, y2)
|
|
||||||
}
|
|
||||||
|
|
||||||
scrollTo.y = y1
|
|
||||||
|
|
||||||
Disass_Display.scroll(scrollTo)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -371,20 +377,25 @@ N V - B D I Z C
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func highlightCursor(scrollView : NSView, display : NSTextView, mouseLocation : NSPoint) {
|
/// Highlight the entire line at the mouse location
|
||||||
var location = mouseLocation
|
/// - Parameters:
|
||||||
|
/// - scrollView: ScrollView of the scrollable TextView
|
||||||
|
/// - display: The TextView itself
|
||||||
|
/// - mouseLocation: Mouse location locally inside the ScrollView
|
||||||
|
func highlightCursor(scrollView : NSScrollView, mouseLocation : NSPoint) {
|
||||||
|
let display = scrollView.documentView as! NSTextView
|
||||||
|
let location = mouseLocation
|
||||||
let parent_frame = scrollView.superview?.frame
|
let parent_frame = scrollView.superview?.frame
|
||||||
|
|
||||||
|
// covering rectangle of the entire document
|
||||||
let minX = parent_frame!.minX + scrollView.frame.minX
|
let minX = parent_frame!.minX + scrollView.frame.minX
|
||||||
let minY = parent_frame!.minY + scrollView.frame.minY
|
let minY = parent_frame!.minY + scrollView.frame.minY
|
||||||
let maxX = minX + scrollView.frame.width
|
let maxX = minX + display.visibleRect.origin.x + scrollView.frame.width
|
||||||
let maxY = minY + scrollView.frame.height
|
let maxY = minY + display.visibleRect.origin.y + scrollView.frame.height
|
||||||
|
|
||||||
if location.x > minX && location.x < maxX
|
if location.x > minX && location.x < maxX
|
||||||
&& location.y > minY && location.y < maxY {
|
&& location.y > minY && location.y < maxY
|
||||||
// location.x = maxX - location.x
|
{
|
||||||
location.y = maxY - location.y + display.visibleRect.origin.y
|
|
||||||
|
|
||||||
let line = getLine(inView: display, forY: location.y)
|
let line = getLine(inView: display, forY: location.y)
|
||||||
highlight(view: display, line: highlighted_line_number, attr: lineAttrAtPC)
|
highlight(view: display, line: highlighted_line_number, attr: lineAttrAtPC)
|
||||||
remove_highlight(view: display, line: line_number_cursor)
|
remove_highlight(view: display, line: line_number_cursor)
|
||||||
@ -414,7 +425,7 @@ N V - B D I Z C
|
|||||||
DisplayDisassembly(scrollY: Disass_Display.visibleRect.origin.y)
|
DisplayDisassembly(scrollY: Disass_Display.visibleRect.origin.y)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
highlightCursor(scrollView: Disass_Scroll, display: Disass_Display, mouseLocation: location)
|
highlightCursor(scrollView: Disass_Scroll, mouseLocation: location)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -422,7 +433,7 @@ N V - B D I Z C
|
|||||||
// context menu
|
// context menu
|
||||||
override func rightMouseDown(with event: NSEvent) {
|
override func rightMouseDown(with event: NSEvent) {
|
||||||
let location = event.locationInWindow
|
let location = event.locationInWindow
|
||||||
highlightCursor(scrollView: Disass_Scroll, display: Disass_Display, mouseLocation: location)
|
highlightCursor(scrollView: Disass_Scroll, mouseLocation: location)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,6 +17,16 @@ class DisplayScrollView : NSScrollView {
|
|||||||
if scrollEnabled {
|
if scrollEnabled {
|
||||||
super.scrollWheel(with: event)
|
super.scrollWheel(with: event)
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
let textView = documentView as! NSTextView
|
||||||
|
var scrollTo = textView.visibleRect.origin
|
||||||
|
let lineSpacing = CGFloat(1.5) // textView.defaultParagraphStyle?.lineSpacing ?? CGFloat(1.5)
|
||||||
|
let lineHeight = textView.font!.pointSize * lineSpacing
|
||||||
|
|
||||||
|
scrollTo.y = scrollTo.y + event.scrollingDeltaY * lineHeight
|
||||||
|
|
||||||
|
textView.scroll(scrollTo)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override func scrollPageUp(_ sender: Any?) {
|
override func scrollPageUp(_ sender: Any?) {
|
||||||
|
@ -1318,10 +1318,10 @@ class ViewController: NSViewController {
|
|||||||
case HALT:
|
case HALT:
|
||||||
debugBreak()
|
debugBreak()
|
||||||
|
|
||||||
case BREAK:
|
case BREAK: // BRK instruction
|
||||||
debugBreak()
|
debugBreak()
|
||||||
|
|
||||||
case BREAKPOINT:
|
case BREAKPOINT: // CPU halted because of a breakpoint
|
||||||
debugBreak()
|
debugBreak()
|
||||||
|
|
||||||
case RET:
|
case RET:
|
||||||
@ -1332,7 +1332,7 @@ class ViewController: NSViewController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case INV:
|
case INV: // invalid instruction
|
||||||
debugBreak()
|
debugBreak()
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user