vSNES by creaothceann aka illegal_eagle --------------------------------------- Compiled using official changelog found here (http://vsnes.aep-emu.de/) and infos found here (http://board.zsnes.com/phpBB2/viewtopic.php?t=5344) Last edited: 2009-08-23 -- utvlvzpnjtboabuahnbjmaepuadpn | tr [ab-z~] [~a-yz] | sed 's/~at~/@/; s/~dot~/\./' -------------------------------------------------------------------------------------------- 2007-11-30 - v2091b (http://board.zsnes.com/phpBB2/viewtopic.php?p=156175#156175) 2007-11-29 - v2.91a (http://board.zsnes.com/phpBB2/viewtopic.php?p=156140#156140) 2007-08-06 - v2.93bugfix5 (http://board.zsnes.com/phpBB2/viewtopic.php?p=150622#150622) 2007-08-02 - v2.93bugfix4 (http://board.zsnes.com/phpBB2/viewtopic.php?p=150416#150416) Bugfix of the current version: - fixed incrementing addresses in CHT editor when using multi-byte cheats - added lines are 'enabled' by default - fixed typo in the documentation (which isn't included in this update) Thanks to Delta Dreamer. 2007-07-23 - v2.93bugfix3 (http://board.zsnes.com/phpBB2/viewtopic.php?p=149917#149917) 2007-07-22 - v2.93bugfix2 (http://board.zsnes.com/phpBB2/viewtopic.php?p=149883#149883) 2007-07-21 - v2.93 (http://board.zsnes.com/phpBB2/viewtopic.php?p=149839#149839) v2.93bugfix (http://board.zsnes.com/phpBB2/viewtopic.php?p=149850#149850) 2007-04-03 - v2.92beta02 (http://board.zsnes.com/phpBB2/viewtopic.php?p=144678#144678) Quick incomplete features list: - updated cartridge dialog with new techniques (thanks to Nach for the info!) Not finished yet though. - PalFinder for finding (sub-)palettes in WRAM and ROM - direct editing in PalViewer - custom SRM and IPS directories - much faster with directories containing a large amount of cartridges! - no more conflicts of Windows dialogs vs. always-on-top windows - fixed SMV display bug - support for TileLayer Pro palette files EDIT: Fixed stupid bug, re-uploaded archive. 2007-03-09 - v2.91bugfix05 (http://board.zsnes.com/phpBB2/viewtopic.php?p=142916#142916) New build with - support for writing and reading (all subformats) of TileLayer Pro palette files - new PalViewer layout EDIT: Updated the file dialogs, too. 2007-01-16 - v2.91bugfix04 (http://board.zsnes.com/phpBB2/viewtopic.php?p=138371#138371) 2006-10-22 - v2.91bugfix3 (http://board.zsnes.com/phpBB2/viewtopic.php?p=130988#130988) There's a checkbox in the options window, page "options", labelled "show decimal values". Disable that and you get hexadecimal values for sprite and tile indices. Changing the checkbox didn't update the SceneViewer immediately; here's a build that does. 2006-10-11 - v2.91bugfix2 (http://board.zsnes.com/phpBB2/viewtopic.php?p=130118#130118) This build fixes the HexEditor save button and adds the ability to select & copy (via Ctrl+C) bytes in a memory region. 2006-06-12 - v2.91 GUI: added controls for displaying CRC32 and Hi/LoROM checksums GUI: moved the IPS checkboxes in the options to the cartridge page GUI: fixed a small issue with the CHT Editor and changed its glyph GUI: added Edit control to display SMV UIDs as Unix dates SRC: fixed IPS patching again; added more messages in case it fails SRC: fixed the SMV code to use the new SyncOptions flag location SRC: added more functionality for managing extended SPC ID666 tags SRC: disabled ZMV loading button since the ZMV code is broken 2006-06-06 - v2.9a GUI: added sprite size mode info to SceneViewer's info page GUI: fixed updating ROM info page when the ROM is edited GUI: CHT Editor now scrolls to selected item after loading a new table GUI: fixed version number in title bar and task bar GUI: fixed some spelling in the program and the documentation 2006-06-01 - v2.9 new tools: Movie Editor (SMV, ZMV), CHT Editor new fields in the Cartridge window due to new SNES documentation at romhacking.net GUI: added checkbox for keeping the MemViewer memory source after loading a cart GUI: added Ctrl+? shortcuts for accessing the buttons SRC: added code for rendering 256-color BGs in DirectColor mode SRC: fixed sprite tile wrapping, incorporates DMV27's sprite visibility info SRC: fixed sprite rendering (ypos. was off by one pixel) SRC: added better support for SNESGT savestates (still not perfect though) SRC: using a new, stream-based library for handling compressed files SRC: fixed screen rendering to output 5 bits per color channel, not 8 SRC: added padding bytes to records ($align seems to have no effect) SRC: fixed some ListEditor issues SRC: IPS patching (hopefully) fixed 2006-05-29 - v2.86beta13fix2 (http://board.zsnes.com/phpBB2/viewtopic.php?p=113789#113789) Another new build of the main executable. (This will be the last one until I get more info from the SNESGT author.) 2006-05-26 - v2.86beta13fix (http://board.zsnes.com/phpBB2/viewtopic.php?p=113456#113456) This is a new build of the main executable. It fixes some issues with the ListEditor... but unfortunately not all. SNESGT support has still some issues, too. v2.86beta13 (http://board.zsnes.com/phpBB2/viewtopic.php?p=113383#113383) - added better support for SNESGT savestates - added checkbox for keeping the MemViewer memory source after loading a cart 2006-05-08 - v2.86beta12 (http://board.zsnes.com/phpBB2/viewtopic.php?p=110831#110831) Another fix for IPS patching. 2006-05-04 - v2.86beta11 (http://board.zsnes.com/phpBB2/viewtopic.php?p=110449#110449) This is the same source as the last beta, except that padding bytes have been inserted into records to speed up the access on record fields. Delphi 5 seems to ignore the $ALIGN setting... This shouldn't make a noticeable difference to the end user though. 2006-05-02 - v2.86beta10 (http://board.zsnes.com/phpBB2/viewtopic.php?p=110174#110174) Fixes sprite tile wrapping in test_oam_[!].smc (http://board.zsnes.com/phpBB2/viewtopic.php?t=7001) and incorporates DMV27's info (http://board.zsnes.com/phpBB2/viewtopic.php?p=109576&highlight=#109576) about when a sprite is visible on the current scanline. 2006-04-21 - v2.86beta09 (http://board.zsnes.com/phpBB2/viewtopic.php?p=108707#108707) Beta09: various smaller bugfixes, eg. IPS patches that expand the ROM should work now. Screen rendering also outputs 5 bits per color channel, not 8 as before - caused slight differences to emulators when color math is used. 2006-04-11 - v2.86beta08 (http://board.zsnes.com/phpBB2/viewtopic.php?p=107225#107225) SRC: added code for rendering 256-color BGs in DirectColor mode SRC: fixed sprite rendering (ypos. was off by one pixel) This fixes the SoM map screen mentioned here (http://board.zsnes.com/phpBB2/viewtopic.php?t=6854). 2006-03-29 - v2.86beta05 (http://board.zsnes.com/phpBB2/viewtopic.php?p=105619#105619) Can load, display, edit and save SMV files. 2006-03-28 - v2.86beta04 (http://board.zsnes.com/phpBB2/viewtopic.php?p=105525#105525) Can load, display and edit SMV files. v2.86beta03 (http://board.zsnes.com/phpBB2/viewtopic.php?p=105447#105447) Can load and display SMV files. 2006-03-17 - v2.86beta01 (http://board.zsnes.com/phpBB2/viewtopic.php?p=103828#103828) - new fields in the Cartridge window due to new information - uses a new, stream-based library for handling compressed files - new (unfinished) tool: SMVEditor - some source code preparation for the new ZST format 2006-03-06 - v2.85 SRC: added support for IPS files SRC: fixed a bug in the main window's display of shifted values (eg. CGAddB) GUI: fixed code and GUI to scale better according to the current DPI setting GUI: fixed some issues with HexViewer's rendering GUI: added checkbox to control updating of the main lists GUI: added button for using DirectColor on regular and Mode7 BGs GUI: removed black outline on blurred screens by copying the adjacent pixels GUI: adjusted updating the 8-bit and 16-bit images so that switching appears seamless GUI: set checking of ZST headers to enabled by default GUI: separated memo component for cartridge extensions into its own groupbox 2006-03-01 - v2.9beta01 (http://board.zsnes.com/phpBB2/viewtopic.php?p=101218#101218) You only need this file if you want to see the text in the right part of the HexEditor correctly. 2006-02-28 - v2.8 new mirrors at AEP and SNES Emulation GUI: better support for non-standard font sizes and colors (thanks to Nightcrawler for testing) SRC: added offset-per-tile effects to rendering (Mode4 and Mode6 are not tested) SRC: improved the SPC code, added ability to save; no adding/removing of the extended tags SRC: partial support for SNESGT savestates (only arrays) SRC: adjusted start and end of the visible area in the Screen rendering SRC: fixed error message that appears when SNES.txt is not present 2006-02-23 - v2.8beta03 Offset-per-tile effects! 2006-02-21 - v2.8beta01, v2.8beta02 (http://board.zsnes.com/phpBB2/viewtopic.php?p=99942#99942) Beta version (beta01) with partial support for SNESGT savestates. Only arrays are loaded (CGRAM, OAM, SRAM, VRAM, WRAM), no saving. SV? files seem to contain an entire SPC file... EDIT: ... which now gets loaded in this beta (beta02). 2006-02-20 - v2.7 SRC: added support for PNG files and Super Sleuth savestates SRC: improved rendering (hi-res, mosaic and interlace screens, sprite RTO) SRC: added support for DirectColor BGs to SceneViewer and MemViewer GUI: SceneViewer now renders to 512x4?? by default, with soft blurring GUI: added a bit more functionality to the custom file dialog windows SRC: fixed detection of some ColorWindow settings SRC: added code for saving and restoring the Preview window's zoom SRC: added check for backspace key in CartViewer SRC: fixed saving bitmaps to clipboard from the SceneViewer SRC: various smaller fixes and corrections 2006-02-14 - v2.6beta02 (http://board.zsnes.com/phpBB2/viewtopic.php?p=99021#99021) Low-res screen rendering is quite complete now, with only one sprite quirk missing (changing priority on successive scanlines) that would require true emulation. Mode7 BGs are left out; it probably isn't worth the work since many games change the matrix parameters via HDMA anyway. HDMA effects would be hard to do with the current code. 2006-02-06 - v2.6beta (http://board.zsnes.com/phpBB2/viewtopic.php?p=98220#98220) Displays hi-res BGs (SoM1 & 2, Power Drive, RPM Racing etc.) and DirectColor BGs (Actraiser 2 map) correctly. Screen rendering has still lots of features missing, eg. sprites and hi-res screens. 2006-01-20 - v2.52 GUI: fixed updating of SceneViewer's layer control groupbox SRC: added temporary hack for interlaced screens so that no more exceptions will occur SRC: for some reason exceptions don't appear by default, added code for displaying them 2006-01-18 - v2.51 GUI: added some cartridge buttons to the main window SRC: changed SceneViewer updating from "brute-force" to "structured" SRC: changed rendering engine to use normal rendering for H-512 mode SRC: (hopefully) fixed some file link issues of the main window menus SRC: fixed stupid oversight in HDMA direction detection 2006-01-12 - v2.5 GUI: new HexEditor code and interface GUI: added decoder option to MemViewer for displaying EXTBG colors correctly GUI: added code to make use of the "brightness info" checkbox in SceneViewer GUI: added custom drawing code to the menus in the main window GUI: changed behavior of the buttons in the "screen configuration" box slightly GUI: changed the checkboxes in options to be checked by default GUI: changed format of the SceneViewer's "info" page a bit GUI: changed all "fixed color" references to "color constant" GUI: changed CartViewer's minimum height back to 464 pixels GUI: removed the need to restore the main window to obtain its position and size SRC: massive restructuring to make the program parts less interconnected SRC: rewrote the HDMA code according to the latest docs SRC: added a new internal messaging system SRC: rewrote the ListEditor code, and changed the GUI slightly SRC: changed format of the "type" column in SNES.txt SRC: replaced default INI solution with my own INI code; no more delay on some systems SRC: added workaround for what seems to be zLib's inability to handle long filenames 2006-01-03 - v2.5wip03 (http://board.zsnes.com/phpBB2/viewtopic.php?p=95012#95012) List editor is in, and most of the hex. editor. 2005-12-28 - v2.5wip02 (http://board.zsnes.com/phpBB2/viewtopic.php?p=94428#94428) Most notable feature is probably the new code for the HDMA table viewer. 2005-12-15 - v2.5wip (http://board.zsnes.com/phpBB2/viewtopic.php?p=93300#93300) The source has been heavily changed; many "shortcuts" have been removed to make maintaining easier. Therefore some parts are much slower (though I plan to optimize the SceneViewer's GUI refreshing), and many bugs have been eridicated. 2005-11-14 - v2.2 GUI: fixed oversight - number of digits in "bit" columns was 4x hex. digits instead of exact value GUI: changed SceneViewer to display the exact screen layering (instead of Mode1 layering) GUI: disabled "refreshing by cur. directory" by default since "refreshing on receiving focus" is much better GUI: adjusted the minimum height of the cartridge viewer SRC: fixed rendering of interlaced screens SRC: fixed two known memory leaks in Delphi's RTL source and included the fixed units SRC: added code to remove the previous cartridge before switching to another savestate SRC: added exception-handling to SceneViewer's HDMA code (eg. for Ogre Battle map screens) SRC: vSNES will now complain only once per cartridge about a missing ROM file 2005-11-04 - v2.1 GUI: fixed the offsets in the ZST list GUI: fixed MemViewer's offset not being zero upon program start GUI: added support for Mode7 BG2, thanks to anomie GUI: added custom cartridge dialog for loading ROMs & viewing their headers GUI: added optional current directory in custom file dialogs for faster manual refreshing GUI: added checkbox in options for keeping sprites disabled when loading a savestate GUI: added code for updating the dialogs when the application gets focus GUI: added more code to set lower-/uppercase text depending on un-/used priorities and BGs GUI: added shortcut for the cart. viewer (F6) and for updating the INI file (F9) GUI: added 8x and 1/8x magnifications for MemViewer and SceneViewer GUI: added code for scrolling to OpenDialog's selected directory GUI: added code for saving the preview bitmap via middle mouse button GUI: replaced help window with HTML documentation for even more formatting GUI: replaced some SceneViewer checkboxes with labels GUI: changed OpenDialog's minimum height to 256 pixels GUI: removed restore function from the buggy list editor for now GUI: removed "DefaultExt" from "DlgSave_SNES" SRC: fixed several bugs in the DMA/HDMA code SRC: fixed one stupid bug in the ZST-saving code SRC: fixed S9X DMA info import and export (at least partially) SRC: added support for zipped ROMs (only first file in archive) SRC: modified SNES.txt and the INI format SRC: some other small changes; improved speed a tiny little bit SRC: removed SNES docs and put them into their own package; added anomie's docs SRC: removed code for loading resources, and put them back into vSNES.exe SRC: added "_make" and "_dcu" directories v2.00 GUI rebuild due to Delphi saving project cfg files just as power outage hits... removed old rendering engine vSNES now uses its own SNES structure instead of a ZST structure (major rewrite) main window: five lists (four SNES, one ZST), offsets in ZST section the menus got pictures help window: "Windows" look due to more text per line, RTF for formatted code open dialog: "browse" window opens in the center palette viewer: relocated the info (should be final) memory viewer: "FX" decoder, better zoom, options for hex. offsets and jumping entire lines scene viewer: new engine (8-bit and 16-bit, both with missing features though), support for high-res, new buttons for selecting visibility, color 0 for transparency, info screen, removed "mode7 info" box hex. viewer: restructured, always with gridlines, DOS font thanks to PCXDUMP, but still incomplete and slow list editor: removed "size" box, PLEASE NOTE: in this version, changes to the non-ZST sections won't update the ZST section added SPC viewer (incomplete, only viewing) options: multiple lines, hex. offsets for memory/hex. viewer, preview filtering, more extensions, hex. info in pal. viewer, spaces for the info screen updated SNES.txt file new GB.pal file v1.37 fixed priority bug in 'sprites' screen fixed bug in main/sub screen detection rewrote the memory viewer drawing, slightly better memory usage and speed enabled the screen mode selection (though not all features are supported) the custom open dialog will update its lists upon opening renamed 'ZST.txt' to 'SNES.txt' and added one list to the main window added button for setting the font of the main list added cartridge ROM size info to the statusbar sprite palette info will show values of 0..7 instead of 8..15 switched positions of the "bg color const" and "no transparency" radiobuttons "bg color constant" radiobutton is checked by default screen brightness won't be applied by default v1.35 fixed bug in hex. viewer that occured on loading cartridges text copied from the hex. viewer to the clipboard will have spaces for zeroes added checkbox for copying bitmaps to the clipboard (no palette though) added code to save the data source offsets in hex. viewer and memory viewer added code to save and load the column widths of the listviews implemented various smaller bugfixes updated Help.txt v1.34 fixed assigning BG3's transparent palette added checkboxes for displaying the sprite and tile indices in hex. added an 'h' to all hex. numbers in the scene viewer cartridges will be loaded entirely into memory added checkbox for skipping cartridge headers the currently selected color will be highlighted renamed the text viewer to hex viewer and redesigned it almost completely added SRAM size display in main window checkbox setting for loading carts will be saved added missing dot in the cartridge-searching code added shortcut info to hints added shortcut list to Help.txt added support for Alt+F4 which was broken since the quit dialog was added v1.32 added checkboxes and a button to the sprite list added list editor and a button for saving divided the main list into three parts added some lines to ZST.txt that show the first few bytes of 'tempdat' improved the preview detection fixed a tile info bug in the scene viewer added checkbox for keeping the layering settings in the scene viewer open dialog updating after toggling the 'use previews' checkbox is faster added checkbox for gridlines in the main window added checkbox for gridlines in the custom 'open' dialog forgot to save the active page of the options window, fixed added some code to show in the statusbar if a movie is loaded used the old compiler version again - just don't load invalid savestates v1.31 used English version of the compiler for the error messages added custom 'open' dialog fixed a 'divide by zero' bug in the scene viewer added URL to homepage to Help.txt tweaked memory, palette and text viewer interface text search is much faster than before topmost window will be activated when vSNES is restored forgot to implement code for saving the customizeable colors, fixed added displaying the info after byte 199699, so ZST.txt is required added checkbox for INI saving on exit, and button for saving immediateley in the INI file, colors will be saved as hex. strings vSNES starts maximized by default improved scrolling in the sprite list changed entry style in the INI file closing the topmost tool will directly focus the next one v1.30 fixed transparency setting changes fixed mirrored tile drawing, thanks to Firemen and its large sprites re-inserted glyphs enabled double-buffering in quit dialog swapped positions of the jump buttons & checkboxes in memory viewer adjusted caption formatting added reload button (shortcut = F5), enabled if savestate list is not empty added options dialog and text viewer added 'launch' button (uses ShellExecute) aligned memo in Help window to client; set colors as in edit.com added some code for application object (eg. global hotkeys) selecting the mode7 layer window hides some tile info components child windows won't get called if a SNES or cartridge dialog is active tweaked memory and palette viewer interface mouse cursor clipping is more accurate (for Windows NT systems) tweaked loading and saving of INI settings added priority buttons to background and mode7 layer pages scene viewer caption uses dots instead of commas for zoom levels < 1 help window will be displayed if no INI file was found shifted bg layers by one pixel in the screen rendering separated graphics engine code from scene viewer unit Update button for backgrounds and sprites tile selection in scene viewer affects memory viewer and palette viewer second sprite base pointer gets used by the scene viewer window visibility is saved added support for EXTBG fixed help file tweaked list display code in main window added checkboxes for brightness and 'all screen data' in scene viewer added group info in palette viewer added percentage display to memory viewer enabled layering control in scene viewer added ASCII art to the help file and much more... 1.26 tweaked the glyphs a bit made custom color panel a bit less 3D added spaces to the xres/yres labels in memory viewer the custom color dialog has the colors of the first palette column as custom colors the mouse cursor area gets clipped when selecting a color in palette viewer fixed BG3 palette handling fixed scroll info truncation (or not?) mode7 updating is !!18 times faster!! I'll leave it enabled now on my P2-350 ... :) tweaked the bg listview (new columns, new order) middle mouse button toggles move/zoom mode (set mouse wheel click to middle button!) added basic screen updating 'update sceen' button status will be saved/restored via the INI file changed the INI key for the 'update mode 7 'button status some 'layering' groupbox items get changed on loading a SNES the topmost tool window won't get called if a file dialog is active v1.25 added tabcontrol for 8/16 bit screen selection added buttons to save the screen and the layers (only layers work) added buttons to select the move mode, which works now too :) mode7 update on loading a SNES was broken, fixed it removed hints from tile info labels application/main title will keep the version number changed borderline color in 'move' glyph to black added code to visually update buttons before showing their actions changed zoom code to allow levels < 0, so the images may shrink now added transparency groupbox fixed tileview pos info for large tiles scroll info values get truncated to useable values hex and dec columns start with zeroes (as the bin columns already did) v1.20 fixed some features that got broken by new code and carelessness arrow keys will focus plus/minus button if counterpart had been disabled alignment of tile info labels set to RightJustify size label placed as last label FINALLY sprites work in all sizes and mirror modes. Yippee! hopefully they're drawn in the right order, too tweaked size of tile info labels replaced preview glyph with Settlers2 zoom lens some tile info labels will become disabled when mode7 is selected added checkbox for background color constant added button for inverting palette (for Torchlight Trouble (DKC) and others) file buttons stay down until their window is closed (except buttons with file lists) removed saving and loading of PalViewer's width and height tile info code draws transparent tiles now 16x16 background tiles finally work, too! Check out the levels of Yoshi's Island! mode7 zoom won't stop at 2x anymore (recommended for fast systems only, NOT mine) changed hotkey of mode7 update checkbox to the first letter bg-listview selection matches bg-tabcontrol upon startup v1.10 new palette setting code removed 'update mode7 on palette change' checkbox smaller 'sprites' listview sprite loading code fixed not crashing in Win2k anymore (dunno why) quit window shows DOOM exit messages 'clear list' menu items get disabled when files could not be found added 'size' label to tile info (still incomplete for sprites) changed '[unknown]' caption to 'priority bit' fixed SNES loading path (main window) and mode7 saving path 'update mode7' button disabled by default updated Piken's name & url in Help.txt fixed default settings of memory viewer v1.00 uses ini files better interface more features crashes on Win2k machines :/ v1.00 BETA initial release, only for some selected persons