1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-07-04 16:30:01 +00:00

Minor tweaks

Mark the "info" window as read-only.

When the project closes, clear the contents of the Symbols and
Notes windows.

Clarify some Apple II I/O definitions.
This commit is contained in:
Andy McFadden 2019-10-21 17:03:13 -07:00
parent bcac8bc6a0
commit 7bbccaf71f
4 changed files with 53 additions and 39 deletions

View File

@ -1,8 +1,9 @@
; Copyright 2018 faddenSoft. All Rights Reserved. ; Copyright 2018 faddenSoft. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0). ; See the LICENSE.txt file for distribution terms (Apache 2.0).
; ;
; Adapted from NiftyList, by Dave Lyons, and Apple II reference materials ; Sources:
; found online. ; NiftyList, by Dave Lyons
; Various Apple II reference materials found online
*SYNOPSIS Symbols from the Cxxx I/O area, common to most Apple II models. *SYNOPSIS Symbols from the Cxxx I/O area, common to most Apple II models.
@ -16,32 +17,32 @@ RDMAINRAM @ $C002 ;W if 80STORE off: read main mem $0200-BFFF
RDCARDRAM @ $C003 ;W if 80STORE off: read aux mem $0200-BFFF RDCARDRAM @ $C003 ;W if 80STORE off: read aux mem $0200-BFFF
WRMAINRAM @ $C004 ;W if 80STORE off: write main mem $0200-BFFF WRMAINRAM @ $C004 ;W if 80STORE off: write main mem $0200-BFFF
WRCARDRAM @ $C005 ;W if 80STORE off: write aux mem $0200-BFFF WRCARDRAM @ $C005 ;W if 80STORE off: write aux mem $0200-BFFF
SETSLOTCXROM @ $C006 ;W peripheral ROM ($C100-CFFF) SETSLOTCXROM @ $C006 ;W use peripheral ROM ($C100-CFFF)
SETINTCXROM @ $C007 ;W internal ROM ($C100-CFFF) SETINTCXROM @ $C007 ;W use internal ROM ($C100-CFFF)
SETSTDZP @ $C008 ;W main stack and zero page SETSTDZP @ $C008 ;W use main stack and zero page
SETALTZP @ $C009 ;W aux stack and zero page SETALTZP @ $C009 ;W use aux stack and zero page
SETINTC3ROM @ $C00A ;W ROM in slot 3 SETINTC3ROM @ $C00A ;W use internal slot 3 ROM
SETSLOTC3ROM @ $C00B ;W ROM in aux slot SETSLOTC3ROM @ $C00B ;W use external slot 3 ROM
CLR80VID @ $C00C ;W 40 columns CLR80VID @ $C00C ;W disable 80-column display mode
SET80VID @ $C00D ;W 80 columns SET80VID @ $C00D ;W enable 80-column display mode
CLRALTCHAR @ $C00E ;W primary char set CLRALTCHAR @ $C00E ;W use primary char set
SETALTCHAR @ $C00F ;W alternate char set SETALTCHAR @ $C00F ;W use alternate char set
KBDSTRB @ $C010 ;RW keyboard strobe KBDSTRB @ $C010 ;RW keyboard strobe
RDLCBNK2 @ $C011 ;R status of selected $Dx bank RDLCBNK2 @ $C011 ;R bit 7: reading from LC bank 2 ($Dx)?
RDLCRAM @ $C012 ;R status of $Dx ROM / $Dx RAM RDLCRAM @ $C012 ;R bit 7: reading from LC RAM?
RDRAMRD @ $C013 ;R status of main/aux RAM reading RDRAMRD @ $C013 ;R bit 7: reading from aux/alt 48K?
RDRAMWRT @ $C014 ;R status of main/aux RAM writing RDRAMWRT @ $C014 ;R bit 7: writing to aux/alt 48K?
RDCXROM @ $C015 ;R status of periph/ROM access RDCXROM @ $C015 ;R bit 7: using internal slot ROM?
RDALTZP @ $C016 ;R status of main/aux stack and zero page RDALTZP @ $C016 ;R bit 7: using alt zero page, stack, & LC?
RDC3ROM @ $C017 ;R status of slot 3 / aux slot ROM RDC3ROM @ $C017 ;R bit 7: using external (slot 3) ROM?
RD80COL @ $C018 ;R status of $C002-C005/PAGE2 for aux mem RD80COL @ $C018 ;R bit 7: 80STORE is on?
RDVBLBAR @ $C019 ;R vertical blanking state RDVBLBAR @ $C019 ;R bit 7: not VBL (VBL signal is low)?
RDTEXT @ $C01A ;R status of text/graphics RDTEXT @ $C01A ;R bit 7: using text mode?
RDMIX @ $C01B ;R status of full screen / mixed graphics RDMIX @ $C01B ;R bit 7: using mixed mode?
RDPAGE2 @ $C01C ;R status of page 1 / page 2 RDPAGE2 @ $C01C ;R bit 7: using page 2?
RDHIRES @ $C01D ;R status of lo-res / hi-res RDHIRES @ $C01D ;R bit 7: using hi-res graphics?
ALTCHARSET @ $C01E ;R status of primary / alternate char set ALTCHARSET @ $C01E ;R bit 7: using alt char set?
RD80VID @ $C01F ;R status of 40/80 columns RD80VID @ $C01F ;R bit 7: using 80 columns?
TAPEOUT @ $C020 ;RW toggle caseette tape output TAPEOUT @ $C020 ;RW toggle caseette tape output
MONOCOLOR @ $C021 ;W color/mono MONOCOLOR @ $C021 ;W color/mono
TBCOLOR @ $C022 ;RW screen color (low is BG, high is FG) TBCOLOR @ $C022 ;RW screen color (low is BG, high is FG)
@ -99,7 +100,9 @@ CLRAN1 @ $C05B ;RW annunciator 1 on
SETAN2 @ $C05C ;RW annunciator 2 off SETAN2 @ $C05C ;RW annunciator 2 off
CLRAN2 @ $C05D ;RW annunciator 2 on CLRAN2 @ $C05D ;RW annunciator 2 on
SETAN3 @ $C05E ;RW annunciator 3 off SETAN3 @ $C05E ;RW annunciator 3 off
SETDHIRES = $C05E ;W if IOUDIS set, turn on double hi-res
CLRAN3 @ $C05F ;RW annunciator 3 on CLRAN3 @ $C05F ;RW annunciator 3 on
CLRDHIRES = $C05F ;W if IOUDIS set, turn off double hi-res
TAPEIN @ $C060 ;R read cassette input TAPEIN @ $C060 ;R read cassette input
BUTN3 = $C060 ;R switch input 3 BUTN3 = $C060 ;R switch input 3
BUTN0 @ $C061 ;R switch input 0 / open-apple BUTN0 @ $C061 ;R switch input 0 / open-apple
@ -116,16 +119,23 @@ CLTRM @ $C06E ;clear test mode
ENTM @ $C06F ;enable test mode ENTM @ $C06F ;enable test mode
PTRIG @ $C070 ;RW analog input reset PTRIG @ $C070 ;RW analog input reset
; $C080 ;RW read RAM, write off, bank 2 RDIOUDIS < $C07E ;R status of IOU disabling
ROMIN @ $C081 ;RW read ROM, write on, bank 2 SETIOUDIS > $C07E ;W disable IOU
ROMIN_RO @ $C082 ;RW read ROM, write off, bank 2 RDDHIRES < $C07F ;R status of double hi-res
LCBANK2 @ $C083 ;RW read RAM, write on, bank 2 CLRIOUDIS > $C07F ;W enable IOU
; $C088 ;RW read RAM, write off, bank 1
; $C089 ;RW read ROM, write on, bank 1
; $C08A ;RW read ROM, write off, bank 1
LCBANK1 @ $C08B ;RW read RAM, write on, bank 1
CLRROM @ $CFFF ; $C080 ;RW read RAM bank 2, write off
ROMIN @ $C081 ;RWx2 read ROM, write RAM bank 2
ROMIN_RO @ $C082 ;RW read ROM, no write
LCBANK2 @ $C083 ;RWx2 read/write RAM bank 2
; C084-C087 repeats
; $C088 ;RW read RAM bank 1, write off
; $C089 ;RW read ROM, write RAM bank 1
; $C08A ;RW read ROM, no write
LCBANK1 @ $C08B ;RWx2 read/write RAM bank 1
; C08C-C08F repeats
CLRROM @ $CFFF ;disable slot C8 ROM
;IWM:PH0 off @ C0E0 ;IWM:PH0 off @ C0E0
;IWM:PH0 on @ C0E1 ;IWM:PH0 on @ C0E1

View File

@ -150,8 +150,8 @@ disassembly of the instruction stream will come out wrong.</p>
Accessing the address can have side effects, like changing between text Accessing the address can have side effects, like changing between text
and graphics modes. Sometimes reading and writing have different effects. and graphics modes. Sometimes reading and writing have different effects.
For example, on later models of the Apple II, reading from For example, on later models of the Apple II, reading from
$C000 returns the most recently hit key, while writing to $C000 disables $C000 returns the most recently hit key, while writing to $C000 changes
80 columns.</p> how 80-column display memory is mapped.</p>
<p>On a few systems, such as the Atari 2600, RAM, ROM, and registers can <p>On a few systems, such as the Atari 2600, RAM, ROM, and registers can
appear at multiple locations, "mirrored" across the address space.</p> appear at multiple locations, "mirrored" across the address space.</p>

View File

@ -721,7 +721,7 @@ limitations under the License.
</GroupBox> </GroupBox>
<GroupBox Grid.Row="2" Header="Info"> <GroupBox Grid.Row="2" Header="Info">
<TextBox Text="{Binding InfoPanelContents}" <TextBox Text="{Binding InfoPanelContents}" IsReadOnly="True"
FontFamily="{StaticResource GeneralMonoFont}" FontFamily="{StaticResource GeneralMonoFont}"
TextWrapping="Wrap"/> TextWrapping="Wrap"/>
</GroupBox> </GroupBox>

View File

@ -352,6 +352,10 @@ namespace SourceGen.WpfGui {
// Clear this to release the memory. // Clear this to release the memory.
CodeDisplayList.Clear(); CodeDisplayList.Clear();
// Clear these so we're not still showing them after the project closes.
SymbolsList.Clear();
NotesList.Clear();
InfoPanelContents = string.Empty; InfoPanelContents = string.Empty;
// If you open a new project while one is already open, the ListView apparently // If you open a new project while one is already open, the ListView apparently