Regen095 - 模擬器
By Regina
at 2008-12-17T19:27
at 2008-12-17T19:27
Table of Contents
http://www.spritesmind.net/_GenDev//forum/viewtopic.php?t=465
Version 0.95
------------
The release took quite a while because I've been getting very less time to
work on it. The changes of 0.93 "Beta" releases have been merged in it since
this is a proper release after 0.85. This release should be more accurate than
EVER. Though I am not making any claims ;) .
* Preliminary Sega Master System, GameGear, SG-1000, SC3000 support.
It should be *very* accurate. I've also spent lot of time making it fast.
Firstly, the SMS/GG/SG/SC emulation is based on docs and various posts on
SMSPower by Charles MacDonald and others. Some things were figured out from
MEKA. So don't forget to thank Charles MacDonald and Omar Cornut because;
of the amount of information they make avaiable (especially Charles),
you'd better have a good excuse for writing inaccurate emulator for
these machines :D .
Secondly, SMS/GG/SC/SG emulation uses Z80 emulator by Juergen Buchmueller
because
it contains correct implmentation of some undocumented/obscure behaviour
needed
by some games (for example, Rambo III). And I wasn't going to spend time
on fixing RAZE which I could spend on something else. So thanks goes out to
Juergen Buchmueller for his accurate Z80 emulator. RAZE is still used in
Genesis emulation though.
Thirdly, nearly everything that I knew of (read: could find documented) is
supported!!. This includes stuff like BIOS, paddles, lightgun, sports pads,
3D glasses (simulated) etc... Let me know if I missed anything and I'll add
it.
Finally, I would like to thank Eke. A modified ROM database of games
requiring
special handling (mappers, devices etc...) was taken from his Wii/GameCube
port of
smsplus. Region detection and some header related things were also figured
out from
there. Due to all this, I was able to very quickly test and debug support
for those
games which otherwise would've taken me weeks or even months. Thanks again
Eke :) .
* Very significant VDP timing changes. It should be more accurate than ever.
DMA and FIFO
part was also rewritten completely. All games SHOULD now run flawlessly but
I guess we'll
see.
* Many Z80 interrupt handling related changes. Fixes missing sound in
WaterWorld and
should fix incorrect sound in some others (eg Flashback).
* New FIR resampler.
This resampler is written by the awesome Shay Green aka blargg
and is very high quality (more than linear interpolation which was used
previously).
As a result, sound is more better. Also thanks to him for getting it
working in Regen.
* Window sizes *should* be correct now.
* Shortened the ReadMe file quite a bit so that people can actually try and
read it :D .
* UPS patch support will be completely (re)broken it this release. I wanted
to integrate it a bit
more tightly but due to the lack of time I couldn't :( . So I have disabled
it.
* Again, due to the lack of time, I couldn't complete my new multi-language
support.
But fortunately, old system has been put back again.
* Due to some new code, I was unable to apply compiler optimizations to a
critical
part of code without breaking it. So this release may be quite a bit slower.
Damn you MSVC!!!
* Implemented frequency counter overflow bug.
This finally fixes the one instrument in Ariel, Shaq-Fu, Spider-Man: The
Animated Series, Scooby-Doo Mysteries, etc. Thanks go to Nemesis.
Fixed only in SuperHQ mode.
* Added SSG-EG support to the YM2612 core.
Thanks go out to Jarek Burczynski, Tatsuyuki Satoh and Nemesis.
Surprisingly, more games use it than I thought. It is used by Alisia's
Dragon,
Asterix, GhostBusters, Buba N Stix, Top Gear 2 etc.
I am sure there many more games that are using it.
* Fixed sound in Spiderman And Venom - Separation Anxiety, Indiana Jones and
the Last
Crusade, Doom Troopers + some others. Thanks to a Russian guy who wants to
remain
anonymous for reporting these problems.
* YM2612 envelope generator now gets updated at approximately every 2.43
cycle.
* Added correct CSM mode support. Thanks to Nemesis again.
* Fixed the poping/crackling in many games (Sonic 1/2/3, Urban Strike
etc...). Turned
out be a problem in YM2612 core. I thought it was the Z80 interrupt timings.
* Implmented cycle accurate sample generation.Thanks to Eke and Nemesis for
help in this.
Fast DAC in some games is now fixed and all games now sound more accurate,
clean and better.
* Improved PSG noise emulation. Thanks to Maxim's docs and HardWareMan,
Eep386.
Listen to Robocop vs. Terminator.
* Also corrected the PSG levels compared to YM2612 (hopefully). But I don't
think
they are correct. It seems that PSG (especially noise) volumes get very high
sometimes. For example in WWF Arcade Game at character selection screen,
the noise
volume level is very high in the a real Megadrive whereas in Regen (and all
other
emus for that matter) it is about three to four times lower(?).
* Fixed Combat Cars two player mode screen.
* Optimized the YM2612 core resulting in nice speed increase.
* Optimized the VDP rendering code resulting in another good speed increase.
* Konami Justifier support. Thanks to Eke.
* Fixed sound in some Chinese games. GoodGen lists them unknown. But they look
very nice.
* Fixed Time Killers and Onslaught lock-ups.
* Fixed Ya-Se Chuanshuo.
* Removed the old debugger and added many new debuggers in its place which are
more better and powerful. All the debuggers are based on a special Gens
Tracer
mod by Yakovlev Victor. Thanks.
* Improved 6-button pad support a bit. Fixes controls in Mortal Kombat.
* Fixed Menacer support. The only game that I know of which uses this is
Menacer
6-in-1 and it requires the Menacer to be plugged into port two. Capture
and release the mouse with F7 (default).
* Added overclocking support (68k only). The setting is not saved. Takes
effect immediately. Will break timing sensitive games for sure.
* Fixed a small bug in VDP timing which would cause a one line glitch at
the bottom in Lotus 2, Kawasaki Challenge and some others.
* Fixed flickering in Zero the Kamikaze Squirrel.
* Fixed sound in Stargate, Batman Forever, Judge Dredd and maybe some more
games.
* Implemented ROM/RAM switching support. Needed in Sonic 3 & Knuckles,
Phantasy Star 4 and Story of Thor.
* Complete rewrite of the frontend timing/synchronization code.
It has the following advantages:
- No periodic sound skips anymore.
- VSync should now work better and work on more PCs. PAL games too shouldn't
have stutters anymore.
- It is very fast.
- No emulation hiccups
- Regen is now much more responsive
* Debugger disassembly fixed.
* DAC sound in Mega Turrican and some others fixed.
* Changed VDP timings a bit. This fixes Streets of Rage intro not showing up.
* Fixed lots of buffer overflows and memory leaks in my YM2612 core. Now Mega
Turrican
track 2 doesn't create a stack overflow which was present in the beta :) .
* Added Hue, Saturation etc.. controls to NTSC filter plugin.
Note that configuration dialog box will only appear when some game is
running.
* Added a tiny cheat editor. Double click on a cheat to open it. Note that
modified
cheats are not saved. Also, multi address cheats are not supported yet.
* Improved region detection a bit.
* Fixed a nasty bug in the save state code which was casuing loading of
states to completely
fail sometimes.
* Fixed command line bugs. It should now work perfectly.
* Added the ability to set fullscreen from command line. The syntax is:
"regen --fullscreen path_to_ROM"
* FPS display is now more precise and more frequently updated.
* Fixed "Save state as.." saving without any extension.
* Added lightgun cursor support. This is only meant for Justifier games. It
may
not work correctly with Menacer.
* Automatically load cheat file based upon naming of the game. Otherwise the
usual
open file dialog will appear.
For example if you loaded the game "Sonic and Knuckles & Sonic 3 (W)
[!].zip",
then if there is a file called "Sonic and Knuckles & Sonic 3 (W) [!].dat" in
the configurable cheats directory, it will be loaded automatically.
* Fixed the bug when someone pressed Alt + Enter twice to get out of
fullscreen.
* Fixed a bug when J-Cart was set (had to be disabled from ini file).
* Fixed brighten/enhanced feature. It is now saved as well.
* Hopefully fixed starting directory problems when loading a ROM. Because of
this
LastROM entry has been added in the config file.
* Regen does not close if loading of a ROM failed.
* Regen is now linked with MSLU library to make it work in Win9x.
You will need unicows.dll. The startup time will be a bit slower on
WinXP and above than previously.
* Hopefully fixed the bugs with the lowpass filter.
* Regen does not use 100% CPU while paused.
* Regen is now compatible with WinXP visual styles.
* AVI recording is broken for now due to new sync code.
* New style changelog file which is more readable and pleasant to the eyes
:). Thanks to Adam.
* A lot more changes than listed here and now I've forgotten. Specially in
between the betas.
--
Version 0.95
------------
The release took quite a while because I've been getting very less time to
work on it. The changes of 0.93 "Beta" releases have been merged in it since
this is a proper release after 0.85. This release should be more accurate than
EVER. Though I am not making any claims ;) .
* Preliminary Sega Master System, GameGear, SG-1000, SC3000 support.
It should be *very* accurate. I've also spent lot of time making it fast.
Firstly, the SMS/GG/SG/SC emulation is based on docs and various posts on
SMSPower by Charles MacDonald and others. Some things were figured out from
MEKA. So don't forget to thank Charles MacDonald and Omar Cornut because;
of the amount of information they make avaiable (especially Charles),
you'd better have a good excuse for writing inaccurate emulator for
these machines :D .
Secondly, SMS/GG/SC/SG emulation uses Z80 emulator by Juergen Buchmueller
because
it contains correct implmentation of some undocumented/obscure behaviour
needed
by some games (for example, Rambo III). And I wasn't going to spend time
on fixing RAZE which I could spend on something else. So thanks goes out to
Juergen Buchmueller for his accurate Z80 emulator. RAZE is still used in
Genesis emulation though.
Thirdly, nearly everything that I knew of (read: could find documented) is
supported!!. This includes stuff like BIOS, paddles, lightgun, sports pads,
3D glasses (simulated) etc... Let me know if I missed anything and I'll add
it.
Finally, I would like to thank Eke. A modified ROM database of games
requiring
special handling (mappers, devices etc...) was taken from his Wii/GameCube
port of
smsplus. Region detection and some header related things were also figured
out from
there. Due to all this, I was able to very quickly test and debug support
for those
games which otherwise would've taken me weeks or even months. Thanks again
Eke :) .
* Very significant VDP timing changes. It should be more accurate than ever.
DMA and FIFO
part was also rewritten completely. All games SHOULD now run flawlessly but
I guess we'll
see.
* Many Z80 interrupt handling related changes. Fixes missing sound in
WaterWorld and
should fix incorrect sound in some others (eg Flashback).
* New FIR resampler.
This resampler is written by the awesome Shay Green aka blargg
and is very high quality (more than linear interpolation which was used
previously).
As a result, sound is more better. Also thanks to him for getting it
working in Regen.
* Window sizes *should* be correct now.
* Shortened the ReadMe file quite a bit so that people can actually try and
read it :D .
* UPS patch support will be completely (re)broken it this release. I wanted
to integrate it a bit
more tightly but due to the lack of time I couldn't :( . So I have disabled
it.
* Again, due to the lack of time, I couldn't complete my new multi-language
support.
But fortunately, old system has been put back again.
* Due to some new code, I was unable to apply compiler optimizations to a
critical
part of code without breaking it. So this release may be quite a bit slower.
Damn you MSVC!!!
* Implemented frequency counter overflow bug.
This finally fixes the one instrument in Ariel, Shaq-Fu, Spider-Man: The
Animated Series, Scooby-Doo Mysteries, etc. Thanks go to Nemesis.
Fixed only in SuperHQ mode.
* Added SSG-EG support to the YM2612 core.
Thanks go out to Jarek Burczynski, Tatsuyuki Satoh and Nemesis.
Surprisingly, more games use it than I thought. It is used by Alisia's
Dragon,
Asterix, GhostBusters, Buba N Stix, Top Gear 2 etc.
I am sure there many more games that are using it.
* Fixed sound in Spiderman And Venom - Separation Anxiety, Indiana Jones and
the Last
Crusade, Doom Troopers + some others. Thanks to a Russian guy who wants to
remain
anonymous for reporting these problems.
* YM2612 envelope generator now gets updated at approximately every 2.43
cycle.
* Added correct CSM mode support. Thanks to Nemesis again.
* Fixed the poping/crackling in many games (Sonic 1/2/3, Urban Strike
etc...). Turned
out be a problem in YM2612 core. I thought it was the Z80 interrupt timings.
* Implmented cycle accurate sample generation.Thanks to Eke and Nemesis for
help in this.
Fast DAC in some games is now fixed and all games now sound more accurate,
clean and better.
* Improved PSG noise emulation. Thanks to Maxim's docs and HardWareMan,
Eep386.
Listen to Robocop vs. Terminator.
* Also corrected the PSG levels compared to YM2612 (hopefully). But I don't
think
they are correct. It seems that PSG (especially noise) volumes get very high
sometimes. For example in WWF Arcade Game at character selection screen,
the noise
volume level is very high in the a real Megadrive whereas in Regen (and all
other
emus for that matter) it is about three to four times lower(?).
* Fixed Combat Cars two player mode screen.
* Optimized the YM2612 core resulting in nice speed increase.
* Optimized the VDP rendering code resulting in another good speed increase.
* Konami Justifier support. Thanks to Eke.
* Fixed sound in some Chinese games. GoodGen lists them unknown. But they look
very nice.
* Fixed Time Killers and Onslaught lock-ups.
* Fixed Ya-Se Chuanshuo.
* Removed the old debugger and added many new debuggers in its place which are
more better and powerful. All the debuggers are based on a special Gens
Tracer
mod by Yakovlev Victor. Thanks.
* Improved 6-button pad support a bit. Fixes controls in Mortal Kombat.
* Fixed Menacer support. The only game that I know of which uses this is
Menacer
6-in-1 and it requires the Menacer to be plugged into port two. Capture
and release the mouse with F7 (default).
* Added overclocking support (68k only). The setting is not saved. Takes
effect immediately. Will break timing sensitive games for sure.
* Fixed a small bug in VDP timing which would cause a one line glitch at
the bottom in Lotus 2, Kawasaki Challenge and some others.
* Fixed flickering in Zero the Kamikaze Squirrel.
* Fixed sound in Stargate, Batman Forever, Judge Dredd and maybe some more
games.
* Implemented ROM/RAM switching support. Needed in Sonic 3 & Knuckles,
Phantasy Star 4 and Story of Thor.
* Complete rewrite of the frontend timing/synchronization code.
It has the following advantages:
- No periodic sound skips anymore.
- VSync should now work better and work on more PCs. PAL games too shouldn't
have stutters anymore.
- It is very fast.
- No emulation hiccups
- Regen is now much more responsive
* Debugger disassembly fixed.
* DAC sound in Mega Turrican and some others fixed.
* Changed VDP timings a bit. This fixes Streets of Rage intro not showing up.
* Fixed lots of buffer overflows and memory leaks in my YM2612 core. Now Mega
Turrican
track 2 doesn't create a stack overflow which was present in the beta :) .
* Added Hue, Saturation etc.. controls to NTSC filter plugin.
Note that configuration dialog box will only appear when some game is
running.
* Added a tiny cheat editor. Double click on a cheat to open it. Note that
modified
cheats are not saved. Also, multi address cheats are not supported yet.
* Improved region detection a bit.
* Fixed a nasty bug in the save state code which was casuing loading of
states to completely
fail sometimes.
* Fixed command line bugs. It should now work perfectly.
* Added the ability to set fullscreen from command line. The syntax is:
"regen --fullscreen path_to_ROM"
* FPS display is now more precise and more frequently updated.
* Fixed "Save state as.." saving without any extension.
* Added lightgun cursor support. This is only meant for Justifier games. It
may
not work correctly with Menacer.
* Automatically load cheat file based upon naming of the game. Otherwise the
usual
open file dialog will appear.
For example if you loaded the game "Sonic and Knuckles & Sonic 3 (W)
[!].zip",
then if there is a file called "Sonic and Knuckles & Sonic 3 (W) [!].dat" in
the configurable cheats directory, it will be loaded automatically.
* Fixed the bug when someone pressed Alt + Enter twice to get out of
fullscreen.
* Fixed a bug when J-Cart was set (had to be disabled from ini file).
* Fixed brighten/enhanced feature. It is now saved as well.
* Hopefully fixed starting directory problems when loading a ROM. Because of
this
LastROM entry has been added in the config file.
* Regen does not close if loading of a ROM failed.
* Regen is now linked with MSLU library to make it work in Win9x.
You will need unicows.dll. The startup time will be a bit slower on
WinXP and above than previously.
* Hopefully fixed the bugs with the lowpass filter.
* Regen does not use 100% CPU while paused.
* Regen is now compatible with WinXP visual styles.
* AVI recording is broken for now due to new sync code.
* New style changelog file which is more readable and pleasant to the eyes
:). Thanks to Adam.
* A lot more changes than listed here and now I've forgotten. Specially in
between the betas.
--
Tags:
模擬器
All Comments
Related Posts
(GB/GBC for NGC/Wii) Gnuboy-GX
By Mason
at 2008-12-17T15:17
at 2008-12-17T15:17
(MS/GG for NGC/Wii) SMSPLUSGX 081214
By Sarah
at 2008-12-17T15:11
at 2008-12-17T15:11
關於用MAME玩快打旋風
By Franklin
at 2008-12-17T15:11
at 2008-12-17T15:11
(PC-E for NGC/Wii) HugoGX 081214
By James
at 2008-12-17T15:07
at 2008-12-17T15:07
(MD for NGC/Wii) GenplusGX 1.3.0
By Lydia
at 2008-12-17T15:02
at 2008-12-17T15:02