- 0 replies
- 1,987 views
- Add Reply
- 0 replies
- 1,423 views
- Add Reply
- 0 replies
- 1,441 views
- Add Reply
SaturnTV WIP
EMU PIA 2/1/07 released

Toshiba Pasopia emulator
What's new (2/1, 2007):
Common Source Code Project is updated
[COMMON] ignore some warnings on Visual Studio 2005
[WIN32/SCREEN] support video recording
[WIN32/SOUND] record wave as 16bit, stereo
[WIN32/SOUND] dont use multi threading to recieve MM_WOM_DONE event
[WIN32/WCE] build 4 binaries (use GAPI or GDI, DirectSound or waveOut)
[VM/BEEP] modify beep sound generator for more stable frequency
[VM/DATAREC] auto stop at the end of tape image
[VM/DEVICE] add virtual functions to get the memory wait and passed clocks in cpu class
[VM/EVENT] more precise event timing refering the passed clock in cpu class
[VM/I8253] drive counter when it reaches the terminal count or read the count registers
[VM/I8253] more precise output signal timing
[VM/NSC800] suppor NSC800
[VM/Z80] fix the clocks for opecodes DD-CB-** and FD-CB-**
[VM/Z80CTC] drive counter when it reaches the terminal count or read the count registers
[VM/Z80PIC] accept the interrupt request when it is running
EmuLTI 8, EmuZ-2500, EmuPIA and EmuPIA 7 are updated
[MULTI8/HD46505] dont use hsync event and use the event callback to drive the hsync signal
[MZ2500/CRTC] dont use hsync event and use the event callback to drive the hsync signal
[MZ2500/MEMORY] support the memory wait
[MZ2500/Z80PIC] accept the interrupt request when it is running
[MZ2500/Z80PIC] recognize the i8253 clock signal as level, or edge only for MUDER CLUB, KUGYOKUDEN and RELICS
[PASOPIA] reimplement EmuPIA under the common source code project
[PASOPIA7/HD46505] dont use hsync event and use the event callback to drive the hsync signal
M1 0.7.7u1 released

Plays audio from arcade roms
Soft landing the tunes
It’s been a long time since M1 was released, and the amount of QA I usually do before one is so out of hand now I’m going to make you do it
Therefore, here’s M1 0.7.7u1 for Win32. It includes a few new drivers, radically different Taito F3 handling (you can now play sound effects for most games, not just music. And the elephant in that room has been shot, but I hesitate to declare it dead quite yet…) Also, the game list is now 100% external, just like Nebula. This means you can now fix out-of-date ROMs, wrong years, and other common metadata messups yourself, and Logiqx’s DATfile tools already know how to process it so auditing M1 ROMs is easier than ever. Oh, and the core now supports per-channel volume control, but that will require a new BridgeM1 (in fact, I strongly doubt this DLL will work properly with the current version of Bridge).
>> Get it HERE
FCEUXD SP 1.07 released

NES emulator
Release of FCEUXD SP 1.07Two days ago I was sure that I would never release another version of FCEUXD SP (everybody's favourite NES emulator for hacking NES games). Today there's a new version because I was unhappy with the Cheat Console. Weird things happen sometimes.
Version 1.07 is another small update. It adds the so called RAM Filter. With this tool you set up rules to specify how you expect RAM values to change. After you set up the rules, RAM Filter eliminates all bytes in memory that changed differently. This makes finding data in NES games very easy. How is that different from the Cheat Console? The RAM Filter offers more options, it's easier to use, you get more information about value changes, and you can easily go back to earlier rules without having to restart everything.
Let me give you two examples.
In the first example we want to find out where the game Faxanadu stores the player's health points in RAM. Check this screenshot to see how I used the RAM Filter tool.
At first I started a game and used the "Any" rule. This rule tells the RAM Filter that I don't have any information about the value I want to find. Right after that I walked to another screen. There I set up two "Equal to last value" rules because the health points didn't change since the first rule. These two rules eliminated lots of potential memory locations that had nothing to do with the health points. Then I went to the next room and walked into a monster. This obviously changed the number of health points and I set up a "Not equal to last value" rule accordingly. Then I went to a store and set up two more "Equal to last value" rules to eliminate more potential memory locations. Afterwards I bought some health points from the vendor. Once again this changes the number of health points so I set up another "Not equal to last value" rule.
After all this, the RAM Filter tool found that only 2 memory locations changed according to the rules I set up: 0x399 and 0x431. A quick test reveals that the health points are stored in 0x431.
Here's another example. Suppose we want to find out where the number of player lives left are stored in Super Mario Bros. Check this screenshot to see the results
I started the game and once again I set up an "Any" rule at first because I didn't know what to look for. Immediately after I set up the first rule I added two "Equal to last value" rules because the number of lifes left didn't change. This helped to eliminate lots of memory locations already. Then I walked into the first Goomba to lose a life. I expected the number of lifes to decrease therefore I set up a "Less than last value" rule. After the game was restarted I set up another "Equal to last value" rule.
RAM Filter worked even better this time. Only one memory location was left. Now we know that the number of lives left is stored in 0x75A.
Both of these examples took less than one minute to figure out. That's pretty neat in my opinion.
>> Get it HERE.