============================================
Nova - A Sega Saturn/Titan Video emulator
Copyright (C) 2017-2024 Steve Kwok
Twitter: https://twitter.com/realSteveKwok
Patreon: https://www.patreon.com/nova_emu
============================================


What's new
===============


v0.7.0
---------------
SH2: Added the TOCR register of FRT.
SH2: Added the REF register of BSC.
SH2: Added optimization(preliminary) for idle loops.
SH2: Rewrote DMAC.
SH2: Rewrote INTC(After Burner 2, OutRun).
SH2: Rewrote interrupt handlings.
SH2: Rewrote intructions NEGC, MAC.L and MAC.W.
SH2: Rewrote Power-On precedure.
SH2: Refactored Cache emulation.
SH2: Refactored instruction execution.
SH2: Increased throughput of instruction execution.
SH2: Supported auto vector.
SH2: Fixed address space check for cache area.
SH2: Fixed logging.
SH2: Fixed a bug of the register TIER of FRT.
SH2: Fixed a bug of setting the CHCR register of DMAC.
SH2.FRT: Improved performance by using shifting instead of division.
SH2.FRT: Added settings of external clock.
DCC: Added long word access for MINIT and SINIT.
DCC: Improved Dual CPU Communications.
DCC: Improved the timing of MINIT(Super Robot Taisen F).
DCC: Changed interrupts level to 0x0f, 0x0d.
PLL: Fixed SCU.TIMER1 frequency.
M68K: Rewrote exception handling.
M68K: Rewrote NMI handling.
SCU: Rewrote DMAC(Incomplete).
SCU: Rewrote INTC.
SCU: Improved the timing of DMA(Gun Bird).
SCU: Fixed a timing issue of interrupt handling(Gunbird, Gundam Z).
SCU: Fixed a bug that sometimes DMA transfers are incomplete.
SCU: Fixed a bug that sometimes DMA transfers may start without the enable/starting bits set.
SCU: Fixed initialization of T0C, T1S.
SCU: Fixed bugs of interrupt handlings(Rayman).
SCU & SH2: Fixed interrupt handlings(Rayman, Samurai Spirits - Zankurou Musouken(No cartridge warning)).
SCU.DSP: Inlined all of instructions and internal operations.
SCU.DSP: Fixed timing for i_dma to pass the emulator detection of SlideHop.
SCU.DMAC: Optimized by replacing divisions with shifting.
SCU.DMAC: Made DMAC as an executable device for better timing.
SCU.DMAC: Fixed CDB.DATATRNS transfer(Fixed regression of Steam-Heart's).
SCU.DMAC: Implemented more accurate timing for DMA transfer.
SMPC: Implemented time optimization for peripheral data collection.
SMPC: Added 3 undocumented commands(0x0a, 0x0b, 0xa0).
SMPC: Rewrote the INTBACK command, improved timings of the INTBACK command.
SMPC: Rewrote peripheral data processing(Galaxy Fight - Universal Warriors).
SMPC: Changed sat_battery.sav to sat_battery.bin.
SMPC: Fixed a bug of the INTBACK command(Canceling of the INTBACK command).
SMPC: Fixed bugs of the SF flag setting of the commands CDON/CDOFF.
SMPC: Rewrote get peripheral data.
SMPC: Fixed input issues(Rayman, Yoshiyuki Sadamoto Illustrations).
SMPC: Changed peripheral data collecting time to 100 scanlines(close to the SAROO fast cursor moving speed).
SMPC: Changed cbGetStatus timing of INTBACK command(SegaSaturn Electronic Book Operator).
VDP1: Added returning garbage data when reading is out of range.
VDP1: Rewrote initialization of Frame Buffers.
VDP1: Optimized color mode decoding.
VDP1: Fixed a bug of registers mirroring(no mirror).
VDP1: Rewrote register handlings and update timings, fixed Lunar(missing trees), Tactics Ogre(menu flashing).
VDP1: Fixed a bug that some registers shouldn't be initialized when resetting or power-on
	(480P-Mode-Demo: Fixed color issues since v0.6.5011, and another bug that the purple polyline shouldn't be displayed)
RASTER: Refined.
VDP1: Fixed manual erase/change timing(Kidou Senshi Z Gundam - Zenpen Zeta no Kodou).
VDP1: Fixed Manual Change(missing sprites of Sega Ages - OutRun).
VDP1: Fixed CMDLINK, bits 1, 0 must be ignored(Akumajou Dracula X).
VDP1: Fixed texture sampling.
VDP1.ERASER: Implemented Eraser for handling Erase/Write(Fixed graphic issues of KOF95, Sonic Jam).
VDP1.ERASER: Fixed endVBE.
VDP2: Added initialization for m_cpe(Cycle Pattern Error).
VDP2: Clear m_cpe(Cycle Pattern Error) at checkV.
VDP2: Implemented drawing of borders.
VDP2: Optimized color mode decoding for getting layer data and the sprite active table.
VDP2: Fixed a bug of VCNT updating(palette error of the cartridge warnings screen of KOF95).
VDP2: Rewrote Cycle Pattern handlings.
VDP2: Fixed a bug of TVSTAT register handlings.
VDP2: Fixed a bug of Bitmap address wrapping(NBG0, NBG1, RBG0, SPRITE, Yoshiyuki Sadamoto Illustrations).
SCSP: Implemented full emulation of DSP.
SCSP: Added more reading handlings for CCR registers.
SCSP: Rewrote INTC.
SCSP: Rewrote timers.
SCSP: Cleaned up unused tables.
SCSP: Refactored completely.
SCSP: Fixed timing for M68K RAM access to pass the emulator detection of SlideHop.
SCSP: Fixed a bug that Calling Address is not updated after the monitor slot is set(SRWF FMV).
SCSP: Fixed a bug of EFSDL when setting with 16-bit data.
SCSP: Fixed bugs of SDIR handlings(Waku Waku 7).
SCSP: Fixed a bug of DMAC EX flag.
SCSP: Passed 13 tests of celeriyacon's scsp_test.
CDB: Added address mapping region for CR registers(Saturn Test menu).
CDB: Implemented handling of subcodeRW.
CDB: Supported multi-session discs.
CDB: Supported multi-index discs.
CDB: Supported CD+G/CD+EG playbacks.
CDB: Rewrote TOC handlings.
CDB: Rewrote periodic response.
CDB: Rewrote status transitions.
CDB: Rewrote subcodeQ handlings.
CDB: Rewrote Connectors handling.
CDB: Rewrote position handling.
CDB: Rewrote data transfer handling.
CDB: Refactored commands CdPlay, CdSeek and ReadFile.
CDB: Don't start periodic response after power on.
CDB: Read TOC after reset.
CDB: Emulated status RETRY, ERROR, FATAL.
CDB: Rewrote status, periodic response, position processing.
CDB: Rewrote commands CopySctData, MoveSctData.
CDB: Optimized subcode R~W decoding with a circular queue.
CDB: Rewrote command E2, renamed it to ReadRom.
CDB: Added SH1 fake address mapping.
CDB: Changed changing condition of periodic response.
CDB: Merged r/datatrns read/write handlers.
CDB: Implemented CdScan.
CDB: Reverse scan reverses the output samples order.
CDB: Rewrote CD report.
CDB: Rewrote async operation.
CDB: Fixed report of status FATAL/OPEN/NODISC/STANDBY.
CDB: Fixed word access for the DATATRNS register(Steam Hearts).
CDB: Fixed timing of command AbortFile again.
CDB: Fixed GetdelSctData, CalActSiz, DataEnd(KOF95), ReadDir/ChgDir(incorrect drend when infnum is 254).
CDB: Fixed bugs of current play position and target position.
CDB: Fixed a bug that the file system can not access current/parent directorys sometimes.
CDB: Fixed a bug of the CSCT flag(Should be set when a sector was discarded)
CDB: Fixed a bug that MPEG videos playing twice.
CDB: Fixed a bug of EHST flag setting timing(Assault Suit Leynos 2).
SYSTEM: Implemented CAT(Cycle Adaptive Timing).
SYSTEM: Implemented FMA(Fast Memory Access).
SYSTEM: Implemented Audio Stream Buffer.
SYSTEM: Implemented new mechnism for the PAL mode.
SYSTEM: Implemented generic system time slices.
SYSTEM: Rewrote the frame structure.
SYSTEM: Rewrote handlings of the communication port.
SYSTEM: Fixed a bug of address mapping(lockup area).
SYSTEM: Fixed a bug of H-BLANKs during V-BLANK.
SYSTEM: Rewrote CS2 address mapping.
SYSTEM: Added default BUP when no game loaded.
SYSTEM: Added Open/Close Tray.
SATURN: Changed name prefix of BUP.
SATURN: Fixed initialization of SCSP RAM for quick starting and HLEBIOS.
SATURN: Added recognization of audio CDs.
SATURN: Added VDP1 frame buffer initialization for HLE_BIOS(Galaxy Fight - Universal Warriors).
TITAN: Fixed TITAN mode.
TITAN: Fixed input issue of Suiko Enbu.
TITAN: Changed button name from PUSHSW to SELECT.
TITAN: Rewrote EEPROM and BUP loading/saving.
TITAN: Added SIMM.
TITAN: Passed MIDI Test.
TITAN: Passed Gun Trigger Test.
TITAN: Supported new formats 7Z/RAR.
TITAN: Supported Multi-cartridge.
TITAN: Fixed area code of Sport Fishing 2.
TITAN: Fixed a bug of EEPROM reading, passed the EEPROM Test.
PROLOGUE21: Added a stub.
RASTER: Rewrote raster.
READER: Rewrote async operation.
SCHEDULER: Refined.
SCHEDULER: Fixed a bug when frame exit, the next target time could be discarded.
SCHEDULER: Fixed a bug of timer repeating.
SCHEDULER: Fixed a bug that an event may execute after executed.
MP1D: Implemented a new mechnism(wait when buffer is full).
MP1D: Video and Audio use seperated demuxers.
MP1D: Reduced memory usage.
MP1DA: Fixed the sound glitches when playing opening movie of Lunar SSSC.
MP1DV: Fixed a bug of empty GOP.
VCDCARD: Decoupled from CDBLOCK.
VCDCARD: Implemented window, zooming functions.
VCDCARD: Fixed the command MpSetDec.
VCDCARD: Fixed crash.
VCDCARD.MPDV: Fixed display position of the frame buffer.
VCDCARD.MPDV: Fixed issues of window processing.
VCDCARD.MPDV: Implemented bilinear filtering.
VCDCARD.MPDV: Replaced all of the floating calculations with integer calculations.
ODD: Rewrote async operation.
ODD: Fixed a bug that sometimes it can't stop after releasing Forward/Backward button in the BIOS CD player.
DRIVE: Refactored CD drive status transitions.
PAR: Fixed a bug of getting vendor id, product id.
DATA: Added record data of Sega Saturn de Hakken!! Tamagotchi Park(Thanks to cafe-alpha).
PERIPHERAL: Implemented emulation of PSY-Q Target Adapter(Broken)
PERIPHERAL: Implemented emulation of Satiator(Broken).
PERIPHERAL: Implemented emulation of SAROO.
PORT: Decoupled ASIC01, ASIC02 from SMPC.
FDD: Changed block size to 512 bytes.
BIOS: Added function S_AUTHENCD(required by SMPMPG1), bumped version number.
BIOS: Fixed offset of the instruction at 0600092E.
BIOS: Supported to run with SH2 cache enabled.
BIOS: Added default PC and SP for SH2(S)(Doom).
BIOS: Fixed SYS_SETSCUIM for SH2(S)(Astal).
BIOS: Enabled Nova BIOS.
BIOS: Supported to run executable files.
BIOS: Fixed slave sh2 initialization.
BIOS: Implemented SYS_CHGSYSCK, SYS_TASSEM, SYS_CLRSEM.
BIOS: Rewrote the handling of SCU interrupts and the execution interface of SYS and BUP functions.
BIOS: HLE BIOS version bumps to v0.94.
BIOS Rewrote SH2_INIT and interrupts initialization.
BIOS: Fixed bugs of the HLE BIOS, updated version number of the HLE BIOS.
BUP: Redesigned the BUP format.
BUP: Fixed bugs that sometimes it can corrupt existing game records in the BUP file system.
BUP: Fixed bugs of read/write game records.
EXE: Supported new excutable format SRE.
EXE: Improved handling for entry address COF/ELF/SRE(DUKPLAYR.COF).
CD: CD file name when there is only a dot without an extension, the dot is ommited.
CD: Fixed a bug that it may exceed the size scope of a file while reading.
CD: Fixed a bug that the last track can not end or loop.
CDX: Rewrote handlings of physical CD Drive.
CDX: Rewrote BIN/CCD/CUE/ISO/MDS parser.
CDX: Refactored Sector/Index/Track/Session/CD and TOC structures.
CDX: Supported multi-session and multi-index.
CDX: Supported new formats CDG/CDI/CHD/CSO/DAX/NRG/TOC/ZSO.
CDX: Supported automatically generating ECC/EDC code.
CDX: Decoupled ISO9660 stuff from CDB.
CDX: Supported PCM and WAV(roughly) formats.
CDX: Fixed CD+G regressions of MDS/NRG formats(Caused by 0.6.5003 CdScan support).
CDX.CUE: Supported WAV(roughly) files.
COMMON: Implemented cirque(circular queue).
UTILITY: Added Region ID.
MISC: Implemented Audio Level Meter.
MISC: Implemented "Rotate With Control".
MISC: Implemented Turbo Mode(Tab).
MISC: Implemented Step Forward Mode(Ctrl + ->).
MISC: Implemented per_game_bup.
MISC: Improved FPS controling, frames are now more stable and smooth.
MISC: Rewrote Auto Region, PAL regions have higher priorities now.
MISC: Supported 64-bit architecture.
MISC: Optimized INI parser file processing(Load the entire file instead of line by line).
MISC: Reduced memory usage.
MISC: Added PAUSE/PLAY toggle(Spacebar).
MISC: Added colors and shadows for FPS display.
MISC: Added a License button on the About Dialog.
MISC: Added a new option show_log in nova.ini for showing/hiding the log console.
MISC: Added a new option show_stat in nova.ini for showing/hiding FPS information.
MISC: Added new options log_xxx in nova.ini for setting log levels of individual modules.
MISC: Renamed stv_game to stv_slot# in nova.ini.
MISC: Renamed mpeg_card to vcd_card in nova.ini.
MISC: Fixed data size of Saturn Standard Pad.
MISC: Fixed memory leaks.
MISC: Fixed random crash.
MISC: Fixed a bug of INI parser(may crash when it encounters empty lines)
MISC: Fixed a bug of the CPE format.
MISC: Updated data.json.
MISC: Migrated to C++17.
MISC: Show/hide output console via menu.
MISC: Fixed a bug that output console can not be closed properly.
MISC: Supported swapping disc.
MISC: Made FPS more stable.
MISC: Replaced init function with create for various machines.
D3D9: Removed D3DX9 dependencies.
D3D9: Changed D3DFMT_X8R8G8B8 to D3DFMT_A8R8G8B8 for compatibilities.
GRAPHIC: Implemented various graphic filters
	None
	Bilinear
	CRT (Aperture Grille Big)
	CRT (Aperture Grille Small)
	CRT (Slot Mask Big)
	CRT (Slot Mask Small)
	Dot (Round)
	Dot (Square)
	LCD (Game Boy)
	LCD (Game Boy Light)
	Noise (Dynamic)
	Noise (Static)
	E Ink Color
	Paperwhite
	Scanline (Phosphor)
	Scanline (Straight)
	Monochrome
	Reverse Color
GRAPHIC: Implemented Fullscreen Mode.
GRAPHIC: Implemented VSync.
SOUND: Improved audio streaming.
SOUND: Supported Portable Sound Format.
SOUND: Fixed a bug that left and right channels were reversed.
GUI: Vsync is enabled by default.
GUI: Redesigned file open/close logic.
GUI: Show version number on the caption bar of the main window.
GUI: Supported various Aspect Ratios.
GUI: Supported rotations of the main window.
GUI: Hide cursor in fullscreen mode.
GUI: Render overlay text with freetype.
GUI: Fixed a bug when restoring a minimized window.
DEBUGGER: Enabled debugger.
DEBUGGER: Improved the debugger.
DEBUGGER: Return to RTS instead of returning from the function.
DEBUGGER: Fixed a crash of quiting the program while running the debugger.
DEBUGGER: Fixed bugs that the debugger crashes with low-DPI displays.
DEBUGGER: Fixed a bug when clicking the PC icon.
NOVA: Refactored the entire project(Uncompleted).
NOVA: Release memory of a Machine when close.


v0.6
---------------
SH2: Implemented Cache and SCI.
SH2: Rewrote Power-On procedure.
SH2: Rewrote instruction TAS and TRAPA.
SH2: Fixed a bug of return value of reserved areas(Dark Savior).
M68K: Limited the address bus to 24 bits.
SMPC: Implemented commands queueing.
SMPC: Rewrote SMPC peripheral handlings.
SMPC: Rewrote the command SYSRES.
SMPC: Fixed a bug of RTC.
SMPC: Fixed timing issues of the command INTBACK.
SMPC: Fixed a bug of SNDON command(Steam Hearts).
VDP1: Fixed a bug of invalid command(DraculaX).
VDP1: Fixed a bug of LINK address(DraculaX).
VDP2: Rewrote handling of the VCNT register.
VDP2: Completed Cycle Pattern handlings.
VDP2: Restored Character Pattern cache.
SCSP: Implemented 1Mb RAM mode.
CDB: Removed MP2 decoder kjmp2.
CDB: Implemented MPEG1 Video and Audio Layer 1/2 decoding.
CDB: Implemented MPEG related commands.
CDB: Implemented commands CdClose and MpPutSctData.
CDB: Implemented a new sound buffer to provide better playback quality for CDDA and MPEG audio.
CDB: Supported Video CD playback(require MPEG ROM).
CDB: Fixed timing issues of the commands AbortFile, CdGetLastBuf, GetSctNum.
CDB: Fixed a crashing bug of SubcodeQ decoding.
CDB: Fixed HIRQREQ flag setting(EHST) and data size of the command PutSctData(Outrun).
CDB: Fixed a bug when there is no disc in the CD drive(crash in TITAN mode).
CDB: Fixed the default start/end positions of the command CdPlay.
CDDRIVE: Fixed a bug that seekinig function doesn't work while playing.
SYSTEM: Rewrote memory mapping, two SH2s and SCU now have different memory mappings.
PERIPHERAL: Implemented PAR(Preliminary), FDD and Stunner(Virtua Gun).
BIOS: Disabled Nova BIOS.
MISC: Supported four executable formats BAL, COF(COFF), CPE(Psy-Q), ELF.
MISC: Supported WindowsXP.
MISC: Added .img format for the cue parser.
MISC: Renamed cart.json to data.json.
MISC: Fixed a bug that the primary BUP is not saved properly at exit.
DATA: Fixed BUP type of "MARVEL SUPER HEROES VS. STREET FIGHTER"(Hector Tomazella).


v0.5
---------------
VDP1: Refactored the entire architecture.
VDP1: Disabled force_interlace.
VDP1: Implemented better timing.
VDP1: Implemented handling of the MODR register.
VDP1: Implemented handling for invalid command table data.
VDP1: Implemented Color Calculation Mode 5.
VDP1: Implemented a new algorithm for quadrilateral rasterization.
VDP1: Implemented anti-aliasing for Distorted Sprite and Polygon.
VDP1: Rewrote user/system clipping and pre-cliping.
VDP1: Rewrote end code process.
VDP1: Rewrote High Speed Shrink.
VDP1: Rewrote handling of the LOPR/COPR registers.
VDP1: Rewrote manual frame change/erase.
VDP1: Added access restrictions to the registers TVMR/FBCR.
VDP1: Fixed a bug of EWLR/EWRR registers(Street Fighter Zero 3).
VDP2: Disabled VDP2_JIT.
VDP2: Refactored the entire architecture.
VDP2: Removed Character Pattern cache.
VDP2: Supported 1M VRAM.
VDP2: Implemented Special High-Resolution Graphics Mode(preliminary).
VDP2: Implemented HCNT/VCNT/EXLTEN handling(incomplete).
VDP2: Implemented RBG1 and EXBG.
VDP2: Implemented rotation calculation with coefficient data.
VDP2: Implemented Rotation Parameter Mode 2 of RBG0.
VDP2: Implemented Invalid Rotation Parameter Mode 2(when coefficient table is disabled) of RBG0.
VDP2: Implemented coefficient data as part of LNCL data.
VDP2: Implemented Screen Over Process Mode 1 of RBG0/RBG1.
VDP2: Implemented Gradation.
VDP2: Implemented Sprite Window.
VDP2: Implemented sprite color calculation condition 3(MSB).
VDP2: Added support of sprite type 0~7 for 8-bit data.
VDP2: Added support of sprite type 8~F for 16-bit data.
VDP2: Added Character Pattern cache again.
VDP2: Rewrote priority handling.
VDP2: Rewrote handling of the SPCLMD and SPWINEN bits of the register SPCTL(Dragon Force 2).
VDP2: Rewrote Cycle Pattern handling(incomplete).
VDP2: Rewrote TVSTAT handling.
VDP2: Rewrote Special Priority function.
VDP2: Rewrote Extended Color Calculation.
VDP2: Rewrote Sprite Screen Over Process.
VDP2: Rewrote Window Process.
VDP2: Rewrote Shadow Process.
VDP2: Rewrote LNCL insertion.
VDP2: Rewrote scrolling/zooming calculation of NBG0/NBG1/NBG2/NBG3.
VDP2: Rewrote Line Scroll/Vertical Cell Scroll process of NBG0/NBG1.
VDP2: Fixed a bug of byte access of the color RAM(wrong mask).
VDP2: Fixed a bug that the WxLWE bit of LWTA0U and LWTA1U are masked.
VDP2: Fixed a bug of special color calculation mode 3(palette data MSB).
VDP2: Fixed a bug of RGB0 color calculation ratio.
VDP2: Fixed a bug when the data is RGB format and color calculation is indicated by MSB.
VDP2: Fixed a bug of palette number.
VDP2: Fixed a bug of color RAM address offset.
VDP2: Fixed bugs of Character Number Supplement Modes.
VDP2: Fixed bugs of Normal Line Window coordinates.
VDP2: Fixed a bug of sprite transparent dot.
VDP2: Fixed a bug of Pattern Name Table Lead Address calculation.
VDP2: Fixed bugs of display/color mode limits by settings of the Reduction Enable Register.
VDP2: Fixed bugs of display limits by settings of NBG0/NBG1 color modes.
VDP2: Fixed bugs caused by changes in mid-frame.
VDP2: Fixed bugs of NBG2/NBG3 scroll values.
VDP2: Fixed bugs of LNCL/BACK screen in single interface mode.
VDP2: Fixed a bug of vertical Reduction.
VDP2: Fixed a bug of Screen Over Process Mode 3 when bitmap vertical size is 256.
VDP2: Fixed a bug of rotation parameter when the graphic mode is hi-res or exclusive hi-res.
VDP2: Fixed a bug of rotation parameter when it is double/single interlace.
VDP2: Fixed a bug of Special Color Calculation Mode 2(by dot) when color format is RGB.
VDP2: Fixed a bug of priority pattern(BIOS splash screen).
VDP2: Fixed a bug that BGON changes in mid-frame(Lunar Silver Star Story).
VDP2: Fixed a bug of sprite transparent dot.
VDP2: Fixed a bug of single interlace.
VDP2: Fixed a bug of line scrolling.
VDP2: Fixed a bug when the priority number is 0.
SCU: Rolled back the fix of PPAF handling in v0.4(Thunder Force V).
SCU: Fixed a bug of DMA indirect mode table address detection(Tactics Ogre).
SCU: Fixed a bug of DMA range checking(Burning Rangers).
SCU: Fixed a bug of DMA timing(too slow to end transfer of palette data during VBLANK).
CDB: Supported MPEG audio decoding.
CDB: Fixed bugs of CdReport when the pickup is in the Lead In/Out area.
MISC: Added ON/OFF switch for the VDP2 BACK layer.
MISC: Fixed another wrong track mode bug of the MDS parser.


v0.4
---------------
CDB: Rewrote the entire Filter/Buffer/Partition/File system.
CDB: Rewrote most of the commands.
CDB: Rewrote the HIRQREQ register and interrupts handling.
CDB: Rewrote the DATATRNS register and data transferring.
CDB: Rewrote the periodic response procedure.
CDB: Rewrote CdReport.
CDB: Rewrote subcode Q decoding.
CDB: Implemented rarely used commands.
CDB: Implemented better timing for commands.
CDB: Implemented subcode R~W decoding.
CDB: Implemented REJECT/WAIT/ERROR handlings.
CDB: Implemented Copy/Move between selectors.
CDB: Improved status transition.
CDB: Improved logging.
CDB: Added timing for seeking process.
CDB: Fixed a bug of doing power-on when it is already power-on.
SCU: Improved PPAF handling, setting value by an event.
SCU: Fixed a bug of DMA accessing area detection.
VDP1: Fixed a bug of initializing.
SYSTEM: Improved threads synchronization.
SYSTEM: Rewrote CD reading.
SYSTEM: Rewrote the CD reading thread.
SYSTEM: Added new log types Notice and Remarks.
BIOS: Fixed a bug of the HIRQREQ register initial value.
MISC: Rewrote the BIN/ISO parser.
MISC: Fixed a bug(wrong track mode) of the MDS parser.


v0.3
---------------
SH2: Removed interrupts timing.
SCU: Rewrote DSP flags handling.
SCU: Rewrote DSP commands and opcodes mapping.
SCU: Rewrote the DSP RA register handling.
SCU: Rewrote PPAF register handling.
SCU: Rewrote DSTA register handling.
SCU: Rewrote DMAC priority handling.
SCU: Rewrote INTC.
SCU: Added timing for interrupt sending of INTC.
SCU: Added DSP register TN0.
SCU: Added DSP disassembly function.
SCU: Added restrictions to the DMA add values.
SCU: Added checking of DSP delay commands conflicts.
SCU: Added checking of PPAF register read access while DSP is executing.
SYSTEM: Supported adding user data to an event.


v0.2.2
---------------
VDP2: Fixed a bug of MSB transparent shadow(Game no Tatsujin).
CONTROLLER: Implemented
	Analog Joystick(No analog data for now)
	Keyboard(Game Basic for Sega Saturn)
	Shuttle Mouse(Game no Tatsujin)
	Mega Drive 6-Button Pad(for testing)
	Mega Drive 3-Button Pad(for testing)


v0.2.1
---------------
SMPC: Fixed command SYSRES(Force Master SH2 to run Power-On vector).
VDP1: Fixed manual change/erase frame buffer(ST-V VDP1/VDP2 HARDWARE TEST).
SYSTEM: Implemented TITAN mode(Preliminary).
SYSTEM: Rewrote the startup procedure.
SYSTEM: Rewrote the cartridge subsystem.
SYSTEM: Refactored the CD subsystem.
GRAPHIC: Fixed screen flickering.
GUI: Enabled menu item "Boot".
MISC: Supported CD drive(Preliminary).
MISC: Added "Software Reset"(Hold <Shift> when "Reset", equivalent to START+A+B+C).
MISC: Added more options in nova.ini.
MISC: Fixed a bug of the INI parser when there are square brackets within a property.
MISC: Fixed a bug of dragging and dropping files directly to the executable.
MISC: Some file names were changed,
      "primary_01.bup" >>> "sat_primary_01.bup"
      "memcard_01.bup" >>> "sat_memcard_01.bup"
	  "battery.sav" >>> "sat_battery.sav"


v0.2
---------------
SH2: Fixed crashing bugs of the disassembler.
SH2: Added a hook routine for special usage.
SCU: Fixed a bug of table address boundary checking of DMAC indirect mode.
SMPC: Added magic numbers to the battery save file.
VDP1: Fixed MSBON of polygon.
CDB: Added log messages for commands MpDisp, MpSetWin, MpSetBcolor, MpSetFade, MpSetVeff.
SYSTEM: Implemented Nova BIOS(Preliminary).
SYSTEM: Supported ROM cartridge.
MISC: Implemented comments handling for the INI parser.
MISC: Added new options in nova.ini.
MISC: Some file names were changed,
      "backup.bin" >>> "primary_01.bup"
      "memcard_00.bin" >>> "memcard_01.bup"
	  "smpc.bin" >>> "battery.sav"


v0.1.9
---------------
SH2: Added read byte access of TIER register of FRT(3D Lemmings (E)).
SCU: Refactored INTC.
SCU: Made DSP and DMAC as separated excutable devices.
SCU: Supported irregular(Transfer address is not aligned or transfer count is an odd number) DMA transfers.
SCU: Implemented better timing for DMA transfers.
SCU: Implemented better synchronization mechanism for DMAC.
SCU: Implemented caching of DMA triggers.
SCU: Implemented priority for the three DMA levels.
SCU: Implemented all status(Access, Interruption, Standby, Operation) of DMA transfers.
SCU: Implemented Force-Stop of DMA transfers.
SCU: Implemented handling for illegal DMA.
SCU: Implemented handling for the Status of Stopped DMA registers.
SCU: Added handling for DSTA register.
SCU: Added "Cool-down" time for interrupted/Force-Stopped DMA transfers.
SCU: Added restrictions for register access.
VDP1: Added restrictions for register access.
VDP2: Fixed the VBLANK bit of TVSTAT register.
CDB: Refactored handling of DATATRNS register.
CDB: Added byte access of DATATRNS register(Steam Hearts via SCU DMA).
SYSTEM: Added checking for accessing device registers from slave SH2.
MISC: Refined regular expressions of the CUE parser.
MISC: Fixed regular expression bugs of the INI parser.


v0.1.8
---------------
SH2: Added timing for interrupt handling(Kidou Senshi Z Gundam).
SH2: Rewrote address mapping/mirroring stuff again.
SH2: Added handling for Slot illegal instruction.
SCSP: Added read byte of SCIPD(Virtua Cop/Virtua Cop 2).
CDB: Implemented several MPEG part commands(preliminary), Lunar-Silver Star Story MPEG Ban is playable now(No MPEG video/audio playing).
MISC: Added NO_GFX mode to increase the debugging speed.

VDP1: Fixed a bug of the clipping system not initialized when reseting(opening movie of Kidou Senshi Z Gundam).
VDP2: Fixed a bug of PAL mode(Rayman (Europe)).
SMPC: Tweaked timing of INTBACK command(autofire issue of Rayman).
INPUT: Fixed a bug of key num4 on the numberpad which acts as same as the right key(Thanks ut0).


v0.1.7
---------------
VDP2: Added byte access of cycle pattern registers(Sengoku Blade).
SCSP: Implemented a new algorithm for MIBUF and MOBUF of MIDI.
SCSP: Implemented cancellation of MIDI input/output interrupts.
MISC: Added command FLAGS for the CUE parser.

SCSP: Refactored INTC.

VDP2: Fixed VRESO bits of TVMD register when its value is 2 or 3.
VDP2: Fixed a bug of sprite shadow(Suiko Enbu).
CDB: Fixed the pickup reset of CdPlay command, Steam-Heart's plays BGM properly now.
MISC: Fixed the wrong file offset of the CUE parser(single BIN).


v0.1.6
---------------
SYSTEM: Completed PAL mode support.

MISC: Added command REM for the CUE parser.
MISC: Refined the INI parser.

SCSP: Fixed the random crash caused by CA(call address is out of range).
MISC: Fixed the crash when dragging and dropping files directly to the executable.
MISC: Fixed the crash of homebrews without a Product ID.
MISC: Fixed the crash caused by incorrect use of std::getline.


v0.1.5
---------------
MISC: Added configuration file.
MISC: Implemented I18N.
MISC: Rewrote the CUE parser.
MISC: Implemented startup from command line.
MISC: Implemented dragging and dropping files.

SH2: Improved address mapping and mirroring.
GUI: Improved the user interface.

VDP1: Fixed Jump Call/Return.
M68K: Fixed TAS instruction, 3D Baseball is in-game (Not playable due to graphic issues).


v0.1.3
---------------
SCU: Added byte access of registers, Burning Rangers is playable now.
VDP2: Added MSB color calculation.
SCSP: Added read access of sound stack.
SYSTEM: Preliminary support for PAL mode, Tomb Raider (Europe) is playable now.

VDP1: Fixed MSBON.
VDP2: Fixed issues of MSB shadow, resolved the shadow disappearance of Asuka 120% Burning Fest.


v0.1.2
---------------
Fixed a mirroring bug of SH2 division unit, many games are playable now, sprites disappearance of some games is resolved too.


v0.1.1
---------------
Disabled thousands of warnings of illegal memory access of m68k, make Lunar Silver Star Story playable.
Fixed 4 instructions of m68k, CMP, CMPA, CMPI, CMPM, CD player and many games play sound properly now.
Fixed the issue of always formatting backup RAM when startup.


v0.1.0 (Oct.17, 2017)
---------------
Initial release.
