BlastEm 0.4.0 - Now with GUI, improved debugger and more

Talk about development tools here

Moderator: BigEvilCorporation

panzeroceania
Interested
Posts: 27
Joined: Sat Sep 12, 2009 4:02 am
Location: Salem, OR

Re: BlastEm 0.4.0 - Now with GUI, improved debugger and more

Post by panzeroceania » Thu Jul 28, 2016 3:10 am

I'm glad it didn't take long to track down

Mask of Destiny
Very interested
Posts: 615
Joined: Thu Nov 30, 2006 6:30 am

Re: BlastEm 0.4.0 - Now with GUI, improved debugger and more

Post by Mask of Destiny » Thu Jul 28, 2016 4:15 am

Apologies for the late update, while working on some of the compatibility issues you found I decided to take a few more days so I can get my Z80 core into a more complete state. New version should be ready this weekend. In the meantime, here's the results of my investigation of those games:

Madden NFL 98: This game has SRAM that is not listed in the header and a routine that reads from it goes off the rails if that SRAM is not present. Adding this game to the ROM DB fixed the issue.

Phelios: This game doesn't actually use DAA, but it has some funky control flow that messes up my dynarec's ability to properly distinguish code and data (it uses an rst instruction like a jmp by decrementing SP after the call and just jumping to some other address afterwards). The unimplemented instruction error was triggered at translation time instead of runtime so it didn't matter that it was never executed. I've now implemented DAA so this is no longer an issue.

Power Monger: This game is actually using otir in some initialization code. It appears to be incorrectly trying to initialize the PSG's registers with an otir (port address matches the PSG port address on the SMS). I'm guessing this is a leftover from an earlier title, like Populous, that was developed using reverse engineered info.

Alisia Dragoon: This game was another victim of the header parsing bug introduced in 0.4.0.

Mask of Destiny
Very interested
Posts: 615
Joined: Thu Nov 30, 2006 6:30 am

Re: BlastEm 0.4.0 - Now with GUI, improved debugger and more

Post by Mask of Destiny » Sun Aug 07, 2016 2:09 am

BlastEm 0.4.1 is now available. This is mostly a bug fix release, but it has some substantial improvements to the Z80 core as well. All instructions are now implemented, the R register properly increments and the undocumented flag register bits are now implemented (though bit n, (hl) doesn't have proper undefined flag bit behavior as it requires keeping track of the state of the internal W register). As a result, the core now passes ZEXALL!

Compatibility should be substantially improved as that stupid header parsing bug is fixed (the Z80 improvements help too, though not as much).

The experience of using it on Windows is also improved. I'm no longer using Unixy locations for save directories and config file paths. Note that this means you may need to relocate your config file if you had customized it previously. There are instructions in the README. Other Windows-specific improvements are the fix for that "failed to create directory" bug and the inability to switch drives.

Post Reply