Red Dragon 0.38:
 * Second release.



Red Dragon 0.37:
[0.37 Beta 1]
 * Fixed OBJ cache when writing to object memory. Fixes the "stuttering"
   starfield background in VTetris. Thanks to DanB for noticing this one.
 * Fixed another GUI bug: the watchpoint dialog was using the wrong variables
   for addresses.
 * Removed code which forced sram saving, games which do not use sram will
   not save a *.ram file.
 * Fixed an sram bug which could crash the emulator when saving sram. Fixes
   problems with read-only files, and running roms from CD.
 * Another sram fix; there were two other places in the source which saved
   sram. Neither checked if sram was available.
 * Reworked the timer and timer interrupts. Nester is not quite as stuttery,
   now. Though sometimes it can run incredibly slowly, due to too many timer
   interrupts.
 * Added registers to save states. This will break old save state versions,
   but they probably would not work anyway!
 * Changed save state file extension to .vss. By default, Windows treats .vbs
   files as Visual Basic Script files.
 * Fixed a few bugs in the generic bitstring routines.
 * Added all bitstring instructions except SCH0BSU, SCH0BSD, SCH1BSU, and SCH1BSD.

[0.37 Beta 2]
 * Changed the palette\brightness generation code. Much simpler now, and
   seems more accurate.
 * Corrected BRT register emulation. Only lower byte is writable, upper
   byte remains locked at 0x01.
 * Fixed yet another GUI bug. Display Swap option in the emulation options
   dialog was incorrectly accessed.
 * Added a "Double Screen Size" option.
 * Moved "Reset System" from the Debug menu into the Emulation menu.
 * Closing an opened rom, or loading a new rom will now automatically disable
   debug tracing.
 * Closing an opened rom will now display the disabled menus correctly.
 * Added Space Invaders hack, based on ROM CRC32. vb_vbt.c - 100us timer to
   1ms. (fixes Space Invaders without breaking other games)
 * Made some changes to the GUI colors. Looks a bit nicer, I suppose!
 * Mouse now shows up after switching video mode.
 * Now _SHOULD_ use options.dat file in executable directory, rather than OS
   current directory.

[0.37 Beta 3]
 * Fixed the "flashing palette" when switching between game screen and GUI.
 * Changed Waterworld (U) [crc32: 0x82A95E51] to "Good" in the ROM database.
 * Switched to old VIP\interrupt timing routine from v0.36 B5. fixes jack bros,
   space squash, sd gundam, and many others. Doesn't appear to break anything.
 * Added Vertical Force (J) "Bad (2)" [CRC32: 0x066288FF] to rom_db.c.
 * When a game crashes, (for example, Invalid PC) an error message will be
   displayed on screen, rather than the emulator exiting.
 * Fixed bug where GUI would not disappear until the game initiallized the
   screen properly.
 * Started syncronizing VIP registers to the screen. EtchaSketch and Yeti3D
   demos appear to work correctly. Breaks many commercial games! The code is
   included but DISABLED!
 * New icon, modified by DanB.
 * Attempted to fix more object bugs. The code still works the same, just a bit
   more optimized now.

[0.37 Beta 4]
 * Added the preliminary affine\rotation code from v0.36 B5. The alien on
   Innsmouse's title screen looks a bit better, now. Though thanks to lack of
   negative scaling in Allegro, it is far from complete.
 * Forced updates to INTPND, whether or not the bits are set in INTENB. This
   fixes SD Gundam.
 * Made a few more changes to SRAM, appears to work properly. SRAM appears to
   be accessed as 8-bits on a 16-bit bus.
 * Just a little more work done on VIP\screen synching. Red Alarm is still doing
   the complete opposite of Yeti. I don't know how or why.
 * Changed writes to TLB\THB VIP registers a bit.
 * Fixed RAM patch cheat codes. Cheats are now working again.
 * Fixed watchpoint dialog: watchpoints can be disabled properly.
 * Fixed watchpoint logging so it does not log reads\writes from the GUI. (Hopefully)
 * Fixed "Reset List" button in Cheat Search Comparative dialog.
 * Fixed Comparative search feature. It was dumping from address 0x00500000,
   rather than 0x05000000!
 * Moved Cheats sub-menu from Debug to Emulation.
 * Made some small changes to how comparative searches are done.
 * Made small changes to how trace logging is handled.
 * Added some preprocessor defines for the 'ferr' file (v810_err.txt). Allows a
   more safe removal of the dtprintf() calls. (Runner Pack)

[0.37 Beta 5]
 * Adjustments to affine blits. Fixes the bullets in
   Space Invaders- Virtual Collection.
 * Changed the way VIP regs are written and loaded from save states. Previous
   save states will be incompatible.
 * Added non-public (and important) hardware and VIP register struct members
   to save states. These are for timer emulation, etc.
 * Added save state version numbers, to identify future changes to save
   states. A warning will be reported if an unknown save state version is used.
 * Added "identifying header" to save states. The first four bytes must be "RDSS".
 * Changed save state file extension from *.vss to *.rds, to better match the
   identifying header.
 * Added CRC32 to save states, to prevent loading an incorrect file.
 * Fixed some minor core bugs, dealing with r30 in MUL, MULU, DIV and DIVU
   instructions. Also fixed the SETF instruction.
 * Fixed more core bugs: CMP, SUB, CMP(imm) carry flag. Fixes Baseball, Clash,
   and Wario Land(!) among others.
 * Fixed Cheat Browse dialog so it disables cheats if a new game is loaded.

[0.37 Beta 6]
 * Fixed joypad reading so left\right, up\down, etc. cannot be pressed at the
   same time. Fixes Wario hang (when left+down+right are held)
 * Fixed dt_blit() to allow sources in the negative. Fixes Jack Bros floor. (*Removed*)
 * Fixed crash when running RD from the command line.

[0.37 Beta 7]
 * Added new cheats to the cheats.db file.
 * Fixed some annoyances within the GUI (Automatic focus, selected cheat switching to
   first cheat in list after pressing "Toggle", etc.)
 * Fixed mouse bugs in the debug view features.
 * Added World and Obj to the debug view menu; fixed and added features to each.
 * Re-Added Jack Bros. floor patch (allowing negative sources when displaying worlds).
   Fixed some bugs from the previous version. Appears to be MUCH better.
 * Began to rework timing AGAIN. Changes do not seem apparent thus far.
 * Added Vertical Force hacks. Japanese and US versions now run, but the adjustment
   screen does not appear at all. Just press A or Start to skip it.

[0.37 Beta 8]
 * Added Battery Low indicator to Input Options dialog. This feature is for debugging
   and testing only.
 * Fixed the ROM formation dialog; All 20 bytes of the ROM title are now printed,
   instead of only 16, also fixed a fence-post error.
 * Added REV instruction, though no known ROMs use it.
 * Corrected the processor identification system register value.
 * Removed a double-defined menu in vb_gui.c.
 * Increased memory usage for cheats. Allows more cheats without memory usage overkill.



Red Dragon 0.36:
[0.36 Beta 2]
 * problem where options files become corrupted should be fixed
 * you can now load a new ROM without having to exit
 * icon added in Windows version
 * garbled text in `Show ROM Info' corrected
 * save states now automatically start
 * database of known ROM dumps added
 * most recently used ROM path is saved - load a ROM and then save options
   so the emu remembers it
 * SRAM is now saved correctly (seems to be even-aligned, only 4K was being
   saved)
 * crash in Galactic Pinball fixed
 * problems with selecting palette and display mode fixed
 * watchpoint support added (debugging)
 * program is now statically linked and packed with UPX
 * cheat code support added

[0.36 Beta 3]
 * Allegro no longer restarts when resuming emulation
 * 3 new FPU subopcodes added (Parasyte)
 * Panic Bomber no longer needs hack, crashes fixed (Parasyte)
 * affine support added, making Mario's Tennis and Virtual League Baseball
   playable (Parasyte)
 * user now can click 'X' on a GUI system and Red Dragon will close

[0.36 Beta 4]
 * added clock cycles for most instructions (still need FP and BS),
   adds much accuracy and fixes Mario's Tennis & VLab
 * optimized SAR instruction
 * added flag checking to newly discovered 3 FPU opcodes

[0.36 Beta 5]
 (parasyte)
 * added SETF instruction
 * fixed carry flag in ADD, ADD (imm), ADDI, and SUB instructions,
   fixes Space Invader's bullet
 * changed overflow flag code in DIV, MUL, MULI, MULU instructions
 * fixed XORI instruction
 * NOT instruction optimized, even more optimization to SAR and SAR (imm)
   instructions
 * fixed direct frame buffer emulation, fixes Space Invader's intro

[0.36 Beta 6]
 (frostgiant)
 * removed INLINE from V810_RControll(), it was giving MSVC problems
 * took out the old core and put it in ccore.c, started ASM core (oso.c)
   both are drop-ins for v810_trc(), just choose appropriate object file
 * added sound support (sounds a bit harsh due to lack of envelope, also no
   stereo features. Can cause inputs to not respond for a little while (why?))
 (Parasyte)
 * Hacked v810_dis() [v810cpuD.c] for a pretty log format :)
   also fixed an FPU\bitstring bug in the function.
 * Trace logging added to vb_debug.c, ccore.c, oso.c, vb_gui.c.
 * makefile.mgw fixed, added ccore.o and vb_snd.o.
   oso.o is included, but commented. oso.c will need a bit of a rewrite for gcc.

[0.36 Beta 7]
 * Fixed crash bugs in vb_vbt.c (dtprintf calls had no masking when reading sram)
 * Fixed a divide by zero error in ccore.c: DIV and DIVU instructions.
 * Changed divide and multiply instructions so r30 is set AFTER the operation.
 * Commented out some of the interrupt calls in vb_cpu.c.
 * Removed oso... bah!
 * Reworked the timer interrupt in vb_cpu.c, fixes Waterworld, adds music to
   Nester, etc.
 * Changed timer from 100ms to 100us! Fixes redalarm hanging at the title
   screen\running slowly, and music in a lot of games! Breaks Space Invaders. (WHY??)
 * Changed direct frame buffer drawing to brighten screen properly. Thanks to DanB
   for noticing this problem!
 * Fixed a GUI crash. (closing the write binary dialog with the cancel button)
 * Fixed some other GUI dialog code, related to the crash. (though not the cause
   of other crashes)
 * Added data size options to the binary write dialog, allowing you to dump VIP
   registers properly, etc. (VIP regs require 16-bit reads)
 * Made some changes to the ROM database.
 * Added three bitstring instructions: ANDBSU, ORBSU, MOVBSU.
   3D Tetris and Golf now run, albeit not perfectly.
 * Added extra debug info to certain parts of the core.
   example: divide by zero expections are reported, though exceptions are not
   triggered nor handled. 3D Tetris reports many divide-by-zero expections. the
   rom also appears to have an exception handler specifically for them.
 * Removed useless code from v810_ins.c\v810_ins.h\v810_opt.h, making the
   executable smaller.



Red Dragon 0.35:
 * initial release
