Email or username:

Password:

Forgot your password?
Tube🌱Time

i've reverse engineered most of the Game Blaster, Creative's very first sound card. check it out. github.com/schlae/game-blaster

18 comments
Tube🌱Time

the challenge remaining is the mystery chip. it could be a gate array device, but i suspect it's off the shelf.

Tube🌱Time

there are four pins that are probably the main power and ground pins, and they're in the corners, but not the usual places for TTL devices.

Tube🌱Time

there are two 8-bit ports that can be written to (and i suspect, read back from). i think this is how the "ID port" feature works, as used by the card ID routines in the games that support the card.

Tube🌱Time

i think there's also a shift register, or the ability to use one of the ports as a shift register. this is used by Creative's CMSDRV driver for another card ID scheme.

Tube🌱Time

speaking of the CMSDRV, i did some reverse engineering work on that as well. it uses self-modifying code and XOR "encryption" to try and prevent reverse engineering, lol.

Tube🌱Time

and this is the routine that looks at the "shift register" on port 224h. other sources say that it always reads as 7F, but the MSB can change, and this code checks for a particular pattern.

Jeff Haluska

@tubetime I think they were just trying to hide the strings to make dumping the ROM, scanning the ROM for strings, and quickly changing them in a hex editor not an option.

It's a lot of benefit for just a little extra work.

Tube🌱Time

@jhaluska yes, and the checksum makes it harder to edit the strings.

Jeff Skaistis

@tubetime This article implies it's a custom PLA used to latch values for card identification. Maybe originally based on some obscure 40-pin off the shelf part?

nerdlypleasures.blogspot.com/2

Tube🌱Time

@jeffska maybe, or maybe not. nerdlypleasures is some random person on the internet. 🤷

math blasterson

@tubetime Translated from ja.wikii2.com/wiki/Sound_Blast

The card contained a screen-printed 40-pin PGA (Creative Technology Programable Logic) integrated circuit stamped "CT 1302A CTPL8708". The chip looked exactly like the "DSP" of the future SoundBlasters. It can be used to automate certain sound operations, such as envelope control.

Tube🌱Time

@xekri yeah i thought about that and put it in the README.

John Carlsen

@tubetime There seems to be a date code from early 1987. I suspect that the "PL" could stand for "programmable logic"; in 1991 I worked for its competitor Media Vision, which used 13 GAL16V8s on its first Pro AudioSpectrum.

Sound Blaster (and compatibles from Media Vision) added a microcontroller. I spent much time making a machine code disassembler for Intel-based Zilog parts, I think mostly Z86E20 and Z86C40. (Later I did the same for PlayStation's MIPS R3000A core.)

Manawyrm | Sarah (☎️ 6502@GPN)

@tubetime huh, how does this relate to MUS-1099:
github.com/gemedetpaps/MUS-109

I guess this is missing the ID logic?

I built one of those cards and it's working pretty well (for Scumm-games at least): youtube.com/watch?v=bSW95JPUE4

Go Up