barryharris.me.uk
Saturday, 25 May 2013, 18:12
zintrckb

FB Alpha 0.2.97.28 Release

Posted on 17 December 2012 at 19:47

Posted by barry

Filed under FB Alpha

A new FB Alpha has been released. You can download it on the FB Alpha Page.

Click more for the what's new.

More...

Comments (52)




New Compile Guides

Posted on 2 December 2012 at 20:30

Posted by barry

Filed under FB Alpha

I updated the compile guides and posted them in the FB Alpha section. The two new guides require the next version of FB Alpha which won't be too far behind!

More...

Comments (4)




CPS-2 Sound Tests

Posted on 23 November 2012 at 19:33

Posted by barry

Filed under FB Alpha

Smitdogg dumped a single-board version of Marvel Vs. Capcom recently. He remarked that the case had a volume knob (as opposed to digital up and down buttons usually seen on CPS-2 games) and that the sound test screen was missing the volume slider. At first it was assumed that this was due to differing program roms, but the program is the same as the normal Japanese version (the roms are byteswapped). I decided to take a look at what else could cause the different sound test screen.

I also decided whilst I was looking at CPS-2 sound volume, that I should take a look at how the actual slider works. All CPS-2 emulators currently lock the slider to the top (0xe021). There are 40 possible levels for the volume and from analysing the screen, I have found the values that need to be returned at 0x804030 for each of the volume levels. These are (if you look carefully there is a pattern there);

UINT16 Cps2VolumeStates[40] = { 0xf010, 0xf008, 0xf004, 0xf002, 0xf001, 0xe810, 0xe808, 0xe804, 0xe802, 0xe801, 0xe410, 0xe408, 0xe404, 0xe402, 0xe401, 0xe210, 0xe208, 0xe204, 0xe202, 0xe201, 0xe110, 0xe108, 0xe104, 0xe102, 0xe101, 0xe090, 0xe088, 0xe084, 0xe082, 0xe081, 0xe050, 0xe048, 0xe044, 0xe042, 0xe041, 0xe030, 0xe028, 0xe024, 0xe022, 0xe021 };

I have hooked these up and added volume up and down buttons to the driver and the sliders now work in all games where they are present. I also added support to change the actual Q-Sound output based on the volume selected.

I also found that returning any number in the 0xd000-0xdfff range will disable the volume slider in the sound test screens, and added a seperate init for the single board game to return this value.

Below are screenshots of the Marvel Vs. Capcom sound test screen (with and without the slider).

Marvel Vs. Capcom sound test
Marvel Vs. Capcom single board sound test

Not exactly a significant find, but it helps to further understand the hardware.

More...

Comments (1)




FB Alpha 0.2.97.27 Release

Posted on 24 August 2012 at 20:02

Posted by barry

Filed under FB Alpha

A new FB Alpha is available for download. There has been quite a lot of work done on improving sound in this release, particuarly in balancing and directing the different audio streams for each game. The result is that this release of FB Alpha sounds much better for games that have plenty of audio sources.

You can download the new release on the FB Alpha page.

Click more for the whats new.

More...

Comments (31)




FB Alpha 0.2.97.26 Release

Posted on 14 May 2012 at 19:08

Posted by barry

Filed under FB Alpha

A new FB Alpha release. Get it over on the FB Alpha page.

Click more for the what's new.

More...

Comments (9)




IRQ 4

Posted on 12 May 2012 at 16:08

Posted by barry

Filed under FB Alpha

I looked at Street Fighter II: Magic Delta Turbo again. It had sprite glitches, and the scroll 2 layer was in the wrong place when row scroll was used. The game writes different row-scroll values than normal, and it wasn't just a case of applying an offset to line-up the layer.

Initially, I gave the game a different VBLANK IRQ, I found that using an IRQ of 4 the game started reading and writing in the 7xxxxx area. I hooked up inputs and dips for the reads at 708xxx. I then recognised the layer enable write and scroll register writes in the same 708xxx range. Hooking all these had the game working pretty well, albeit with sprite glitches and incorrect row scroll.

At times when sprites were on-screen, there were plenty of writes in the 0x7xxxxx area, with the tell-tale 0x8000 end of sprite list marker being written too. Sure enough, this is sprite RAM, in the same format as many of the other CPS-1 bootlegs. Hooking this up, the sprites work perfectly, the aforementioned glitches are gone.

For the row scroll, I noticed that the game wasn't writing the row scroll start register. This is usually the same as the y scroll value, so hooking up the scroll2 y write to this register seemed plausible (the game isn't writing it anywhere else). Doing this, aligned the scroll layers, but ended up with slightly "juddery" scrolling.

I also noticed, that the game wasn't alternating the row scroll table register. Usually, the game would alternate between four row scroll tables to achieve smooth scrolling. I found the alternating value in the game's work RAM, and hooking this up, gives the normal row scroll effect. I am not 100% sure if this is accurate or not, but it seems strange that the bootleggers would leave the game with the "juddery" scrolling. If anyone has access to a PCB, it would be nice to get confirmation about the scrolling. The Guile stage is particuarly good for checking, and helpfully, is first in the demo loop. A video would be perfect, if anyone has the capability.

More...




FB Alpha 0.2.97.25 Release

Posted on 27 April 2012 at 19:11

Posted by barry

Filed under FB Alpha

A new release of FB Alpha is available on the FB Alpha page.

Click more for the whats new.

More...

Comments (11)




Downtime

Posted on 26 April 2012 at 19:51

Posted by barry

Filed under FB Alpha

The site has had a bit of downtime recently. The MySQL database became corrupted, and sadly so did the database backups on the server. The host looked at it, and unsurprisingly, said there was nothing they could do.

My last local backup was from July last year. I have restored that backup and then retrieved the 35 or so articles posted since from Google cache. I have tidied these up a bit, and reposted them.

Sadly though I have lost user and comment data since the last local backup. This means that any comment posted since July last year is gone (I'm not overly concerned by this!). It also means that if you registered on the site since July last year, and you want to remain a member then you will need to reregister.

Suffice to say, once I had done all this, I took a backup and stored it locally!

More...




More CPS-1 WIP

Posted on 17 April 2012 at 20:06

Posted by barry

Filed under FB Alpha

Made a lot of progress recently. Final Crash now has sound (not quite 100%), and I have also added the same sound emulation to the Carrier Air Wing bootleg.

The only games left giving me an issue are currently the Carrier Air Wing bootleg (still not found any scroll writes), and a new Warriors of Fate bootleg that looks like it has a little protection on it. Otherwise, all of the bootlegs are working pretty well, and without patches. The writes to 0x98000c to control layers and priorities seems to be used by quite a few of the bootlegs.

I have also emulated the YM2151 and two MSM5205 chip sound emulation used by Street Fighter 2: Magic Delta Turbo. This is also used by a Captain Commando bootleg, and a Knights of the Round bootleg. I have uploaded some videos so you can hear the sound emulation in these.

Click more to see the videos.

More...




More CPS-1 WIP

Posted on 12 April 2012 at 20:09

Posted by barry

Filed under FB Alpha

Cadillacs and Dinosaurs (PIC bootlegs)

Following my work from 2008, where I identified the sprite RAM at 0x991000 in these sets, I hooked this sprite RAM up to the fcrash rendering and with some small amendments, the sprites now work correctly in these sets. The Turbo version works, as do the standard versions. The two standard versions (dinopic and dinopic2) have the same 68K program roms, but different PIC rom (both of which are likely bad?). dinopic2 has the same graphics roms, expect for 27c4000-m12481-3.bin which looks like a bad dump, and should use 8.bin from dinopic (all other graphics roms are identical). These sets now work fine, except for sound obviously.

Knights of the Round (bootleg sets)

I looked at the knightsb and knightsb4 sets which were are similar. They appear to be very similar to the daimakb set, in that they write the layer scroll values in the 0x980000 range. They also appear to use 0x98000c as a priority mode again as well. They also use the sprite RAM at 0x991000 as well with the fcrash sprite rendering. I haven't looked at sound yet, but otherwise they are working fine.

Carrier Air Wing (bootleg)

I've decoded the graphics roms for this set, and I had the inputs hooked up at 0x880000 a long time ago. The 68K just doesn't appear to write the layers scroll values anywhere. I'm beginning to wonder if the Z80 writes these? Guess I'll find out when I get around to looking at sound in these sets.

Final Crash

JacKc pointed out some sprite masking/priority issues in this bootleg which I have now resolved.

More...





Next...