smsplus/ChangeLog
2018-02-03 22:42:45 -05:00

192 lines
8.7 KiB
Plaintext

[Current]
- Removed the dependency on zlib, and replaced crc32 function with internal one.
- Removed DOS and Windows ports.
- Changed most of the variables in the codebase to stdint.h types to avoid
problems running on diverse architectures.
- Removed x86 assembly and the option for faster but less accurate code blocks from the CPU core.
- Created a cross-platform port using GLFW.
- Moved all core source code to one directory, and removed stale files and other garbage.
- Fixed a bug where the TMS palette is set up by default as SMS programs that use TMS modes
exclusively never transition in to or out of mode 4.
- Changed renderer to support 32-bit output only. Though if you need to change this behavior
just update the remap_internal_to_host function and pixel[] array and MAKE_PIXEL macros in render.c
and render.h.
- This version is an amalgamation of Charles MacDonald's changes for his
version 1.8 as well as the changes done for this fork.
[1.5]
- Fixed a save state load error. (Thanks to Akop Karapetyan for reporting
the bug)
- Added preliminary support for "Janggun-ui Adeul" (Thanks to Omar Cornut
for the dump and technical information).
[1.4]
- Added support for 32K and 8KB-banked Korean games. (Thanks to Omar Cornut
for the dump and technical information)
- Removed support for 8-bit color.
- Removed tile cache for Mode 4. Note to porters: new rendering code
could potentially have endian or unaligned memory access issues.
- The DOS port is no longer being maintained and will be removed
in a future version.
[1.3]
- Fixed last entry in CRC lookup table.
- Added TMS9918 display mode support for SMS2 and GG video chips.
- Added very preliminary Windows port using Allegro.
[1.2]
- Fixed smptab allocation error.
- Various source code cleanups.
- Minor tweaks to sync with Mac source changes.
- New sound update code from Richard Bannister.
- Added more support for PAL hardware.
- Added partial support for Codemasters games.
- Fixed some aspects of ROM loading.
- Fixed SRAM restore bug in save states.
- Fixed viewport size check when going from extended to normal mode, which
fixes Fantastic Dizzy opening screen and V counter test program.
- Split up VDP emulation into SMS/GG/MD specific parts.
- Added support for different port I/O port memory maps.
- Fixed mapper restore bug in save states.
- Fixed UI key management in dos/main.c
- Improved HV counter emulation.
- Added dump VRAM keyboard shortcut. (Alt+V)
- Split up DOS code into different modules.
- Fixed EXT connector and related I/O port 2 behavior.
- Added GG I/O register emulation.
- Changed SRAM management.
- Modified use of reset/poweron/poweroff functions.
- Added configuration via CRC for some Codemasters games.
- Fixed implementation of GG input port.
- Added cycle counter feature to Z80 emulator.
- Added shutdown functions to other modules.
- Mapped 2nd player inputs to keyboard numeric pad in dos/main.c
- Fixed reset button handling in dos/main.c
- Moved Z80 port handlers to memz80.c
- Fixed console type assign in loadrom.c (removed TYPE_* defines)
- Added support for I/O chip disable control.
- Rewrote I/O chip emulation.
- Fixed pixel LUT to handle sprite collision behind high priority BG tiles.
- Added emulation of sprite overflow status flag.
- Added 'granularity' member to bitmap struct and fixed DOS blur code.
- Fixed FM sound restore on state load / FM emulator change.
- Corrected screen blanking width.
- Removed sprite limit disable feature.
- Added support for extended display modes.
- Added partial support for PAL display timing.
- Removed BMP_* macros, replaced with bitmap.viewport.* variables.
- Removed Y's (J) rendering hack that was problematic in other games.
- Added error logging routines.
- Removed Game Gear specific rendering speedups.
- Replaced cart.type with sms.console, replaced access with IS_GG macro.
- Renamed INPUT_SOFT_RESET to INPUT_RESET. Use for SMS games only.
- Removed INPUT_HARD_RESET, use system_reset() instead.
- Modified vdp_ctrl_w() to update address register LSB during leading write.
- Changed path length in wram/state/snap routines to PATH_MAX in DOS code.
- Added define to specify message length in DOS code.
- Added r/w handlers for FM detection latch access, renamed fm* -> fmunit*
- Added territory/console members to struct sms (removed sms.country).
Removed TYPE_* and replaced with TERRITORY_* enums.
- Fixed FM register restore during state load when sound is disabled.
- Updated memory system to support 1K pages.
- Updated zlib to 1.2.1 and unzip.c to 1.0
- Moved sound management out of system.c into sound/sound.c,fmintf.c
- Moved state management out of system.c into state.c
- Rearranged header file include order in system.h
- Added support for MAME YM2413 emulator
- Abstracted FM sound chip interface to support both YM2413 emulators
- Updated timeline in dos/main.c and system.c
- Removed SSL logging
- Fixed path length in loadrom.c to MAX_PATH from limits.h
- Added library version display option to dos/main.c
- Moved file I/O code to fileio.c
- Fixed loadrom.c to support 16K ROM images
- Updated documentation and porting instructions
- Modified EMU2413 to have update function for 2-channel output
- Modified dos\config.c to ensure parameters are left during option parsing
- Modified YM2413 emulator to check for NULL pointer during shutdown
- Cleaned up variable names in snd struct
- Added default mixer callback
- Made sound_shutdown() free memory
- Modified sound_init() to allow re-initialization
- Cleaned up system.h, sms.h, vdp.h
- Optimized color expansion for paletteized 8-bit format in render.c
- Added Maxim's SN76489 emulator, removed the old one
- Added YM2413 context management
- Fixed PSG/FM state save/load behavior
[0.9.4b]
- Removed calls to text_mode() and changed textprintf() to textprintf_ex().
for compatability with Allegro v4.1.11 (WIP).
- Removed VERSION from shared.h and add APP_NAME, APP_VERSION to system.h.
- Changed TYPE_OVERSEAS to TYPE_EXPORT in sms.h.
- Renamed dos.c/dos.h to main.c/main.h.
- Fixed FPS meter state display.
- Moved 1P buttons from ALT/LCTRL keys to S/A keys.
- Added work RAM dump feature (Alt+W).
- Added mostly complete HV counter tables to hvc.h.
- Rewrote VDP frame and line interrupt handling.
- Added ID and version number to state files.
- Removed vdp_run(), renamed sms_run() to system_run() in system.c.
- Merged cpu_reset() with sms_reset().
- Consolidated parts of the ROM file loading routines.
- Increased resolution of GG palette (Mean Bean Machine intro).
- Fixed GG palette write handling (RoboCop 3 intro).
- Rewrote and optimized tile caching routines.
- Made SMS/GG palette brighter.
- Fixed leftmost column drawing in SMS mode.
- Upgraded Z80 CPU emulator from V2.7 to V3.3.
[Version 0.9.4a]
- A few cleanups so SMS Plus compiles with no errors or warnings.
- Use of MMX code is now automatic but can still be disabled manually.
- Replaced FM sound emulation with Mitsutaka Okazaki's EMU2413 library.
- Fixed parts of the VDP emulation.
- Removed support for PSX port.
[Version 0.9.3]
- Stereo Game Gear sound.
- Save states, 10 per game.
- Sound logging, output is .GYM compatible.
- Optimized memory access for improved speed.
- Screen snapshots in PCX format.
- Stereo swap option for left and right speakers.
- Added FPS meter.
- Added some option toggle keys for in-game configuration.
- Definable video driver.
- Tweaked display modes for full-screen gameplay.
- More of the usual internal changes and bug fixes.
[Version 0.9.2]
- Digital YM2413 FM sound emulation. Drums sound real good, too.
- System territory switch, default is overseas (Europe / USA)
- Made some internal changes and clean-ups to the source code.
- Revised document on porting to be actually useful.
- Adjusted version number to stay in sync with the Macintosh port.
- Support for ZIPped game images and games with 512-byte headers.
- Screen expansion now works for 16-bit displays.
- Fixed some centering problems with screen expansion on GG games.
- Sound output using SEAL should be a bit clearer.
- Configuration file support.
[Version 0.9]
Everything has been rewritten from scratch. The emulation is much more
accurate, as a result compatability has improved greatly.
The DOS port has a lot of nice features added, including 16-bit color,
display blurring, digital sound emulation, and scanlines, which were the
most requested items.
Also new is a Sony Playstation port, though it's highly experimental
and has some serious performance issues.