-
Notifications
You must be signed in to change notification settings - Fork 3
/
ChangeLog
191 lines (170 loc) · 8.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
[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.