Sunday, September 18, 2016

Super Turrican - MSU Hack

Last year i got myself a sd2snes flash card and soon figured out that there is a feature called MSU. It's a soundchip which is capable of playing raw wave files from an sd card just by writing in a register which song number to play.

Now we have a wide variety of MSU patches available which make games like Mega Man X and Super Mario World use it to play their background music.
It's kinda something the Mega Drive got with the MegaCD but with sd cards instead.

Last year after meeting Chris Hülsbeck, i thought.... Super Turrican really is in need for a MSU hack but there wasn't any.
I've read about higane which is an emulator capable of simulating the MSU (or invented it in the first place???) and got the source code of it.
Using the integrated tracer and a few mods i've disassembled the functions of Super Turrican in charge for SPC control and replaced them with my own. Luckily there was enough space left on the ROM to place them.

Now whenever the game says "play song X" i analyze this call using a table and in case there is a wave file for that song on the sd card it is played. Otherwise the original process continues and the song is played using the SPC.

Some gameplay footage can be found on YouTube.

I really like to publish the whole package here.... stay tuned.

Sunday, September 4, 2016

I love / hate the Amiga 1200

If i would try to name a system from my collection which wasted the most of my life time AND money with hassle it would be the Amiga 1200.

It don't even remember when i bought my first Amiga 1200. I guess it was 2010 - 2011. But i do remember it was one of the late revision 1D4 motherboards with pc floppy drives... urgh. This thing couldn't even load usual amiga software as the floppy didn't have a RDY signal.

I didn't knew that when buying but i didn't even care as soon as i knew. This Amiga 1200 was intended for hard drive operation. Soon after getting the system i got myself a compact flash adapter with a 4GB card and the "ACA1230" turbo card from individual computers.
The collection was after a while completed with an "EtherLink III" PCMCIA card for file transfer over an FTP server running on the Amiga.

Anyway. This particular ASSHOLE of an Amiga had an issue with it's Bustiming. As soon as the ACA1230 was inserted and running the system started to glitch up after 5 minutes or so. I've talked to the designer of the ACA1230 but even with tipps i was just unable to fix this thing. After experimenting with different capacitor setups to fix the clock i bought another one.
This time it was a standard Commodore A1200 again with revision 1D4. It worked like a charm. I didn't had to fix anything. The ACA1230 was running and i was happy. But there was one litte problem from the start. Crossdos which is the driver to mount MSDOS formatted floppy drives never worked on this machine. The floppy started spinning and never stopped. I thought "well, let it be. I have a LAN card".

Another thing which bothered me were digital sound glitches. At this day i was pretty sure that Paula, the custom chip responsible for floppy reading and writing and sound output might have some issues. Especially on the game Z-Out...

This day on 30th August it happened. I turned the machine on and *sssshshshshshs*. It was a sound of a transistor burning to hell or at least i thought. I opened it and there was ... nothing. I turned it on again and the machine booted. Workbench appeared but there was something missing. No floppy was read and no sound. Oh god, Paula finally died.

So i bought myself a replacement from old-stock and a plcc 52 socket and finally some capacitor replacements which is recommended for old SMD Amigas. I desoldered Paula using a temperature controlled heat gun and fitted the new replacement chip. Sound was working again but no floppy whatsover. As it turned out the Amiga didn't make the burning sound itself. It had to be the floppy drive as a replacement fixed the issue. Floppy reading worked again but was kinda flawed. The whole system was very unstable and crashed very often or didn't even considered to boot kickstart.

I gave up again.... and bought another one.
After these years prices for Amiga 1200 units exploded. I bought my first two for 130€ each.
Now i got one with replaced capacitors without power supply and a housing that was very dirty for 270€. It even had Kickstart 3.0.

So i took all parts and made one system out of the best of all 3.
The machine booted... Yes :-)
ACA1230 in. The machine booted..... Yeees !! :-D
I started the WHDload version of Apidya and played. 5 minutes into the game crashed..... FUUUUUUUU  D:

As it turned out the new board had timing issues as well. Even though it was a revision 1D1 which i read was about one of the best. So i followed the suggestions made on this site here. As it turned out ACA1230 needs a fix on every FU**ING revision. Jens Schönfeld, what have you done? D:
So i placed 22pf on E121C and E122C and it .... seems to work.
I played Apidya for quite some minutes. Maybe an hour or so. Even at world 4 the system was running stable.

Is this it? Do i finally possess a stable A1200 ?

On thing can be said for sure. At the moment i can't trust any A1200 any more. I thought about buying the Indivision.. but i guess i will wait some time...
I never had these issues with my Amiga 500. But i never really upgraded that one. It had a slow mem expansion and thats it. Turbo cards seem to cause quite some issues and show how flawed the late models of Commodore were.

I've kinda lost faith which needs to be restored now. I now have a graveyard of Amiga 1200 hardware around. I feel bad for it. Maybe i can fix them somehow but it showed to be quite difficult.

I just wanted to talk this from my heart.