snes-asm/9x-debugger/release notes.html

577 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 11 (filtered)">
<title>Geiger's Snes9x Debugger</title>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 65.95pt 1.0in 65.95pt;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoPlainText>Geigers Snes9x Debugger Mark 10</p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Coded by: Michael Springer (t.geiger@gmail.com)</span></p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>This version of Snes9x was compiled by Michael Springer
(aka Geiger).&nbsp; The official Snes9x team will not support it.</p>
<p class=MsoPlainText>GSD does not support either Glide, Fmod, or JMA. </p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>GSD was built with Visual Studio 2005 and the latest Microsoft
development kits.&nbsp; As such, you may need:</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><strong><a href="http://geigercount.net/crypt/vcredist_x86.exe">Microsoft
Visual C++ 2005 SP1+ Redistributable Package (x86)</a></strong></p>
<p class=MsoPlainText><strong><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3">DirectX
End-User Runtime Web Installer</a></strong></p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText><b><i>Due to the way some things work, and to save myself
a ton of support headaches, this application will convert your ROM to be both
headerless and non-interleaved if necessary.&nbsp; It will also use this format
for saving.</i></b></p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Features:</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Debugger</p>
<p class=MsoPlainText><i>Many of these features were originally coded as part
of the commandline debugger, but have been ported to MFC.</i></p>
<p class=MsoPlainText>- Run . execute (until next break)</p>
<p class=MsoPlainText></p>
<p class=MsoPlainText>- Next Op . displays current operation (the next instruction
to be executed)</p>
<p class=MsoPlainText>- Step Into . goes to next instruction, stepping into any
subroutines</p>
<p class=MsoPlainText>- Step Over . goes to next instruction, stepping over any
subroutines (they are still executed)</p>
<p class=MsoPlainText>- Step Out . executes until current subroutine returns</p>
<p class=MsoPlainText>- Skip Op . goes to next instruction without executing
the current operation (be careful with jumps and branches)</p>
<p class=MsoPlainText>- Clear Text . Empties tracing buffer</p>
<p class=MsoPlainText>- Reset . reset ROM execution</p>
<p class=MsoPlainText></p>
<p class=MsoPlainText>- Reset Debug . resets all internal debug and tracing variables
back to their bootup values.</p>
<p class=MsoPlainText>- Frame Adv . execute and advance one frame</p>
<p class=MsoPlainText></p>
<p class=MsoPlainText>- Vector Info . display CPU and APU vectors</p>
<p class=MsoPlainText></p>
<p class=MsoPlainText>- Sprite Status . display various information about onscreen
sprites</p>
<p class=MsoPlainText></p>
<p class=MsoPlainText>- APU State . display various information related to the
APU</p>
<p class=MsoPlainText>- Sample Address . displays addresses for samples stored
in the APU</p>
<p class=MsoPlainText>- Whats Used . displays SNES features currently used
by ROM</p>
<p class=MsoPlainText></p>
<p class=MsoPlainText>- Breakpoints . Set breakpoints</p>
<p class=MsoPlainText>- Show Hex . show hex editor window</p>
<p class=MsoPlainText>- Edit Registers . Edit registers PC, DP, Stack, A, X,
Y, and Flags.</p>
<p class=MsoPlainText></p>
<p class=MsoPlainText>- Disassemble . disassembles specified range to display</p>
<p class=MsoPlainText>- Trace From . Set auto-logging</p>
<p class=MsoPlainText>- Dump RAM . dump memory to a binary file</p>
<p class=MsoPlainText>- Dump Palette . displays color data</p>
<p class=MsoPlainText>- Whats Missing . displays SNES features currently used
by ROM that are not implemented</p> <p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Breakpoints</p>
<p class=MsoPlainText>- Exec . break on execution of a SNES byte address (works
for any address in instruction)</p>
<p class=MsoPlainText>- Read . break on reading from a SNES byte address</p>
<p class=MsoPlainText>- Write . break on writing to a SNES byte address</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Tracing</p>
<p class=MsoPlainText>- Logging . log execution of CPU, APU, SA1, and Sound DSP
instructions</p>
<p class=MsoPlainText>- Trace From, To . trace from a SNES address after its
been executed a certain number of times until it reaches another SNES address a
certain number of times.&nbsp; Place a zero in any unwanted fields.</p>
<p class=MsoPlainText>- Capture Every Pass . available on the Trace From dialog,
this setting will trace a section of code to file every time its executed.</p>
<p class=MsoPlainText>- Special Tracing . display data for DMA, HDMA, VRAM,
DSP-1, or “Unknown Registers”</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Trace Options</p>
<p class=MsoPlainText>- Trace&nbsp;Once . trace each instruction once only</p>
<p class=MsoPlainText>- Squelch&nbsp;. squelches some of the less useful
information (reduces trace file size by 25%)</p>
<p class=MsoPlainText>- Split&nbsp;.&nbsp;splits trace files after 65535 lines
(around 5 megs in squelch mode)</p>
<p class=MsoPlainText>- Tabbed&nbsp;Output .&nbsp;produces tabbed fields for
spreadsheets or databases</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Misc Options</p>
<p class=MsoPlainText>- Tilde FF&nbsp;.&nbsp;use the tilde key (~) for fast
forward, like ZSNES</p>
<p class=MsoPlainText>- Alt Menu Behavior . causes the escape key to call the
menu and pause emulation</p>
<p class=MsoPlainText>- Auto Usage Map . automatically creates a usage map (see
below)</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Usage Maps</p>
<p class=MsoPlainText><i>Similar in purpose to the CDL files in FCEUXD, these
maps contain usage information about what bytes in ROM and RAM are executed or
read as data.</i></p>
<p class=MsoPlainText>- Open Usage . open a usage map, wiping out current usage
log</p>
<p class=MsoPlainText>- Merge Usage . open a usage map, combining with current
usage log</p>
<p class=MsoPlainText>- Save Usage . save usage log to file</p>
<p class=MsoPlainText>- Gen Offsets . generate a readable offsets file from the
current usage log (tab-delimited text format)</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Hex Editor</p>
<p class=MsoPlainText><i>Shows data being emulated.&nbsp; Data is live for both
read and write.</i></p>
<p class=MsoPlainText>- View selector . choose which of ROM, RAM, VRAM, SRAM,
or ARAM to view</p>
<p class=MsoPlainText>- Set Range . limit range of view</p>
<p class=MsoPlainText>- Freeze . keep a range of RAM from changing (only one
range in this version)</p>
<p class=MsoPlainText>- Open TBL . open a TBL file for ASCII column</p>
<p class=MsoPlainText>- Save ROM . save changes to file</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Version History</p>
<p class=MsoPlainText>Mark 10 Release 1 (1.51 code base)</p>
<p class=MsoPlainText>Released: 2010-01-26</p>
<p class=MsoPlainText><em><strong>New</strong></em></p>
<p class=MsoPlainText>- All log, usage, and dump files are saved to the Log
subdirectory (user configurable)</p>
<p class=MsoPlainText>- Hotkeys for Run, NextOp, StepInto, StepOver, StepOut,
and SkipOp</p>
<p class=MsoPlainText>- All hotkeys are user configurable (hotkey page 5)</p>
<p class=MsoPlainText>- APU and SA1 now obey TraceOnce and Split</p>
<p class=MsoPlainText>- SA1 breaks up code blocks and obeys Squelch.</p>
<p class=MsoPlainText>- SRAM viewable in Hex Editor</p>
<p class=MsoPlainText>- Register editing</p>
<p class=MsoPlainText><em><strong>Changed</strong></em></p>
<p class=MsoPlainText>- GSD has been integrated into the system changes the
1.51 base uses. This includes directory structures, config files, and other
changes.</p>
<p class=MsoPlainText>- SkipOp no longer reprints the previous line if its the
same one being skipped.</p>
<p class=MsoPlainText>- DMA trace now prints length in hex</p>
<p class=MsoPlainText>- Breakpoint addresses and the PC register will accept
up to eight characters and will filter out common address notation (&quot;$x:\/&quot;)</p>
<p class=MsoPlainText><em><strong>Fixed</strong></em></p>
<p class=MsoPlainText>- Merging usage files caused a crash due to incorrect
array sizes</p>
<p class=MsoPlainText>- Execution breakpoints work for alternate RAM addresses
(7E vs 00)</p>
<p class=MsoPlainText>- Usage maps were saved even if Auto Usage was off</p>
<p class=MsoPlainText>- Wrong bank for Opcode 4C (JMP)</p>
<p class=MsoPlainText>- Write breakpoints in PPU operations caused data errors
(which frequently caused code to take branches it otherwise wouldn't)</p>
<p class=MsoPlainText>- Tab stops in breakpoint window</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 9 Release 8 (1.43 code base)</p>
<p class=MsoPlainText>Released: 2005-04-19</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Accessing the valid extension list caused the Open ROM
dialog to crash</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 9 Release 7 (1.43 code base)</p>
<p class=MsoPlainText>Released: 2005-04-11</p>
<p class=MsoPlainText><b><i>Fixed</i></b><br>
- Breakpoints no longer reset when resetting emulation<br>
- Proper read / write breaking and usage map marking for MV and other dual mode
commands<br>
- Trace flag now resets when resetting emulation. &nbsp;Keeps certain visual
problems from occurring when tracing is not enabled (Zelda: LttP). &nbsp;Visual
issues will still be present when tracing is enabled though, due to the way the
Snes9x code handles the trace flag.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 9 Release 6 (1.43 code base)</p>
<p class=MsoPlainText>Released: 2005-02-22</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Read / write breakpoints for DMA had some faulty logic,
which often signaled a false positive</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 9 Release 5 (1.43 code base)</p>
<p class=MsoPlainText>Released: 2005-02-21</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Read / write breakpoint support for DMA and Fill RAM
operations</p>
<p class=MsoPlainText><b><i>Changed</i></b></p>
<p class=MsoPlainText>- Fill RAM operation now displays RAM address for
disassembly</p>
<p class=MsoPlainText>- Hex Editor now displays LoROM as upper bank only</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 9 Release 4 (1.43 code base)</p>
<p class=MsoPlainText>Released: 2005-02-16</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Smarter disassembler.&nbsp; Allows setting of
accumulator and x/y register status.&nbsp; Changes status flags for REP/SEP
commands.</p>
<p class=MsoPlainText>- Save ROM support for JMA archives (to an uncompressed
file)</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Memory Freeze</p>
<p class=MsoPlainText><b><i>Removed</i></b></p>
<p class=MsoPlainText>- Duplicate zlib code</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 9 Release 3 (1.43 code base)</p>
<p class=MsoPlainText>Released: 2005-02-15</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Debugger and Hex Editor windows now retain their
position and size</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Optimization problems caused some special chip games to
work incorrectly (Super Mario Kart, Super Mario RPG)</p>
<p class=MsoPlainText>- Occasionally, the main window will just disappear on
startup.&nbsp; I have applied a band-aid style fix, so hopefully this will no
longer occur</p>
<p class=MsoPlainText>- Step Over no longer turns off an Execution breakpoint</p>
<p class=MsoPlainText>- Step Out can now continue past a breakpoint</p>
<p class=MsoPlainText><b><i>Changed</i></b></p>
<p class=MsoPlainText>- Registry settings were being saved to the wrong name.
&nbsp;All settings will be reset.</p>
<p class=MsoPlainText>- PNG and Zip libraries updated</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 9 Release 2 (1.43 code base)</p>
<p class=MsoPlainText>Released: 2005-02-11</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Write breakpoints did not always work correctly</p>
<p class=MsoPlainText>- Saving the ROM no longer crashes if the file cannot be
opened for write access</p>
<p class=MsoPlainText><b><i>Changed</i></b></p>
<p class=MsoPlainText>- Hex editor did not “live” update when in step mode</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 9 (1.43 code base)</p>
<p class=MsoPlainText>Released: 2005-02-10</p>
<p class=MsoPlainText><b><i>Changed</i></b></p>
<p class=MsoPlainText>- Build recreated from scratch.&nbsp; Essentially, this
is a brand new product.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 8 (1.43-dev code base)</p>
<p class=MsoPlainText>Released: 2004-08-13</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- The last release was not an up-to-date compile, so some
of the features I mentioned were missing</p>
<p class=MsoPlainText>- NMI / IRQ messages silenced</p>
<p class=MsoPlainText>- Ending a trace log with Num-Mult or Num-Div will now
reset the line counter.&nbsp; The first log will no longer be only a few
hundred kilobytes long.</p>
<p class=MsoPlainText>- A debug log file for Windows messaging, left accidentally
in the last release, has been removed</p>
<p class=MsoPlainText>&nbsp;&nbsp;</p>
<p class=MsoPlainText>Mark 7 (1.43-dev code base)</p>
<p class=MsoPlainText>Released: 2004-07-13</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Incorporated 1.43-dev code base</p>
<p class=MsoPlainText><b><i>Changed</i></b></p>
<p class=MsoPlainText>- Split registry settings off from normal Snes9x (you
will need to manually reset everything)</p>
<p class=MsoPlainText>- Converted the following dialogs to MFC: </p>
<p class=MsoPlainText>&nbsp;&nbsp; &nbsp;About</p>
<p class=MsoPlainText>&nbsp;&nbsp;&nbsp; Add Cheat From Search</p>
<p class=MsoPlainText>&nbsp;&nbsp;&nbsp; Cheat Search</p>
<p class=MsoPlainText>&nbsp; &nbsp;&nbsp;Play Movie</p>
<p class=MsoPlainText>&nbsp;&nbsp; &nbsp;Record Movie</p>
<p class=MsoPlainText>- Cheat Search dialog has been slightly rearranged</p>
<p class=MsoPlainText>- Some code optimization</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Reset trace memory now resets all trace variables and
stops tracing if active</p>
<p class=MsoPlainText>- Trace files now always append a four digit hex sequence
number</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 6 (1.42 code base)</p>
<p class=MsoPlainText>Released: 2004-06-11</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Alternate menu behavior (ESC will call menu and pause
emulation)</p>
<p class=MsoPlainText>- Trace To added to Trace From dialog.&nbsp; Only trace
what you want.</p>
<p class=MsoPlainText>- Capture Every Pass added to Trace From dialog.&nbsp;
Every time a section of code is executed, it is traced to file.</p>
<p class=MsoPlainText>- Reset Trace Memory command added to menu</p>
<p class=MsoPlainText>- Aspect Ratio stretch available in Display Settings</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Trace memory now resets when a new game is loaded</p>
<p class=MsoPlainText>- No longer produces a meaningless “out.txt” file</p>
<p class=MsoPlainText><b><i>Changed</i></b></p>
<p class=MsoPlainText>- Open ROM dialog converted to MFC (major internal
changes)</p>
<p class=MsoPlainText>- Trace and Trace All will now show a checkmark in the
menu when active</p>
<p class=MsoPlainText>- Some code optimization</p>
<p class=MsoPlainText><b><i>Removed</i></b></p>
<p class=MsoPlainText>- Trace command line support</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 5 (1.42 code base)</p>
<p class=MsoPlainText>Released: 2004-03-22</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Requires MFC</p>
<p class=MsoPlainText>- Menu driven support for tracing commands</p>
<p class=MsoPlainText>- Some trace settings now stored in the registry</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Some general code optimization</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 4 (1.42 code base)</p>
<p class=MsoPlainText>Released: 2004-01-07</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Added Trace From, Trace Squelch, and Trace Split
commands</p>
<p class=MsoPlainText><b><i>Fixed</i></b></p>
<p class=MsoPlainText>- Removed abbreviated commands</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 3 (1.42 code base)</p>
<p class=MsoPlainText>Released: 2003-12-05</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Switched to C Core (ASM Core crashes)</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 2 (1.41-1 code base)</p>
<p class=MsoPlainText>Released: 2003-10-16</p>
<p class=MsoPlainText><b><i>New</i></b></p>
<p class=MsoPlainText>- Supports trace and trace all functionality</p>
<p class=MsoPlainText>- Trace can be activated by either NumDiv key press or
using -trace as a command line argument</p>
<p class=MsoPlainText>- Trace All requires either NumMult or -traceall</p>
<p class=MsoPlainText>- Trace files can use -tabbed for tabbed field output
(for spreadsheets or databases)</p>
<p class=MsoPlainText>- All trace files have extra line breaks after subroutine
jumps and returns</p>
<p class=MsoPlainText>- A function level field has been appended to the end of
each line.&nbsp; Indicates the function depth for any particular instruction.</p>
<p class=MsoPlainText>&nbsp;</p>
<p class=MsoPlainText>Mark 1 (1.41-1 code base)</p>
<p class=MsoPlainText>- Test version only</p>
</div>
</body>
</html>