0.183 [Keith M. Kolmos, Rod_Wod, Sean Sutton, Soren Skou Nielsen, Russell Howard, Francis Ramirez, Tourniquet, BrianT, coolmod, Smitdogg, The Dumping Union, Luca Elia]
WIP:
- 0.183: Added 'Galaxy Games StarPak 3' (Creative Electronics & Software / Atari 1998).
- 12th February 2017: Luca Elia - The Galaxy Games system by CES (Creative Electronics & Software) is a cartridge based PCB in a two-player cocktail cab, with trackballs and buttons as inputs. It offers a series of mini-games targeted at the casual player (think bartops: you can see a video of the thing in action here). The base system includes a number of games in the BIOS while the cartridges -up to 4 can be fitted at the same time - can add plenty more. I emulated this system and the base games several years back. The StarPak 2 cartridge was added shortly after, but required an hack to run. The hardware uses a blitter, implemented in a Xilinx FPGA, which was also featured in Midway's Touch Master series of games (thus, the CES guys were clearly behind those titles too). It's pretty rare to see these titles auctioned, i.e. only one such PCB (with StarPak 2) and one cab had been seen for sale in the last 10 years. Yet BrianT spotted one that also came with two carts: StarPak 2, already dumped, and StarPak 3, which was not! The BIOS roms were also an undumped revision (v1.80 as opposed to the previously dumped v1.90). So the The Dumping Union moved in to acquire the lot and, with the help of several fellow MAMErs, they got it. Coolmod dumped and documented it (with the help of Ken), here are some pictures. Now, looking at the photos of the cartridges, you can see they contain the game code/graphics/data on SMT flash chips (center), a serial EEPROM to store the game audits/options (tiny 8-legged chip at the bottom right) and a PIC cpu (the larger chip on the right side, different models between the carts) that is basically used for protection. It performs an needlessly complicated handshaking with the main cpu to acknowledge it's fitted in one of the 4 slots and that it's authentic. In our previous StarPak 2 sample, the PIC program was not readable (protected), so in order to get to the game I had to bypass this handshaking by patching the BIOS code. But this time we were lucky and the PIC hadn't been protected, so we could read the program correctly. Alas, the same could not be said for the other cartridge, the PIC in StarPak 3 was protected. Worse, this cart contained bigger roms, thus requiring some ROM banking to be performed by the PIC itself. The BIOS knows nothing about this feature which is internal and specific to the cart: It's all done by the game code when read in RAM by the main cpu (a 68000) and executed. It talks to the PIC to switch the higher part of the roms in. I started by writing a simulation of the handshaking algorithm, so that we could try and simulate the StarPak 3 banking properly, sound and graphics would be wrong in some of its games otherwise. The BIOS initially sends a 1-byte command (FF hex) to see if the slot is populated and by which cart. It expects a 32-byte response from the PIC, starting with "CES1997" and followed by some bytes from the flash chips at some fixed addresses (one byte is the cart ID). The main cpu can read from the flash too, so it checks that the response matches the contents of the cart. Throughout the game the PIC is challenged with sequences of 32-byte commands (not starting with FF). The bytes are random and conceal a 4-byte key at variable offsets (depending on the value of the bytes preceding the key). The PIC has to compute the correct 1-byte response, a hash based on the key and, optionally, on the sum of the command bytes. If this challenge/response dance fails at any time, the games from the cartridge abruptly vanish from the menu. And this is when something great happened... we were able to get the help of Keith M. Kolmos (@KeithMKolmos), lead programmer on this software. He could gather from his archive the PIC code for all of the StarPak cartridges (including the yet undumped #1 and #4). Now MAME could emulate the carts without hacks or simulations, so I ditched the old code and wrote some more to emulate and abstract the carts as proper devices with communication (i.e. parallel-to-serial and back), switching and banking.
I hooked up the PIC code and... it didn't work! Turns out there was a bug in the PIC core emulation related to the flags handling, which was preventing the correct answer from the cart to the main cpu. Having just written a simulation of the handshaking in C++ it was easy to spot. With the new code in place, even though the driver has taken a bit of a speed hit, StarPak 3 works correctly. It features a grand total of 8 new mini-games. Thanks to Keith M. Kolmos, Rod_Wod, Sean Sutton, Soren Skou Nielsen, Russell Howard, Francis Ramirez, Tourniquet, BrianT, coolmod, Smitdogg and The Dumping Union.
Recommended Games:
Touchmaster
Touchmaster 2000 Plus
Touchmaster 3000
Touchmaster 4000
Touchmaster 5000
Touchmaster 7000
Touchmaster 8000
Galaxy Games StarPak 2
Galaxy Games StarPak 3
Galaxy Games StarPak 4
Recommended Games (Maze Bugs):
Frogs
Centipede
Arcade Classics (Super Centipede)
Galaxy Games StarPak 3 (Centipede)
Millipede
Multipede
4 Fun in 1 (Galactic Convoy)
Boxing Bugs
Frog & Spiders
Lady Bug
War of the Bugs
The Amazing Adventures of Mr. F. Lea
Anteater
Beezer
Black Widow
Bubbles
Williams Multigame (Bubbles)
Changes
Funky Bee
Insector
Slither
Birdiy
Botanic
Imago
Exed Exes
Noboranka
Stompin'
Exterminator
Insector X
Povar / Sobrat' Buran / Agroprom (Pssst)
Ribbit!
Bio-hazard Battle (Mega Play)
Critter Crusher
Magical Touch (Squish)
Excelsior
Ripper Ribbit
Multi Champ
Hammer (Mosquito, Cockrouch and Fly)
Hae Hae Ka Ka Ka
Dona Barata
Mushiking The King Of Beetle 2K3 2nd
Mushiking The King Of Beetle 2K5 1st
MushiKing II - The King Of Beetle II
Mushihime-Sama
Mushihime-Sama Futari
Mushihime-Sama Futari Black Label
Bugs Fever
Recommended Games (Bowling):
Meadows Lanes
Robot Bowl
3-D Bowling
Bowling Alley
Strike Bowling
Pro Bowling (DECO Cassette)
Pro Sports - Bowling, Tennis, and Golf
Ten Pin Deluxe
Alley Master
Up Your Alley
Capcom Bowling
SportTime Bowling (Arcadia)
Championship Bowling
Tri-Sports (Power Strike)
Dyno Bop
League Bowling
Strata Bowling
Super Strike Bowling
Bowl-O-Rama
Konkyuu no Hoshi
Krazy Bowl
World Class Bowling
World Class Bowling Deluxe
Virtua Bowling
Technical Bowling
Galaxy Games StarPak 2 (Bowling)
Galaxy Games StarPak 3 (Bowling)
Puzzle De Bowling
Simpsons Bowling
Bowling Try
Recommended Games (Breakout):
Clean Sweep
Meadows 4 in 1 (Knockout & Knockout Doubles)
Breakout
Super Breakout
T.T. Block
Gee Bee
Tournament Table (Breakout)
Bomb Bee
Cutie Q
Field Goal
Monkey Magic
Straight Flush
Zun Zun Block
Time Attacker
Cluster Buster (DECO Cassette)
Wall Crash
Cannon Ball (Pac-Man Hardware)
Flying Ball (DECO Cassette)
Wink
Arkanoid
Tournament Arkanoid
Arkanoid - Revenge of DOH
Arkanoid Returns
Gigas
Gigas Mark II
Omega
Riddle of Pythagoras
Block Gal
Free Kick
Super Free Kick
Goindol
Mahjong Block Jongbou
Quester
Reaktor
Drop Rock Hora Hora (Tourvision PCE bootleg)
Thunder & Lightning
Block Carnival / Thunder & Lightning 2
Block Block
Ghox
Off the Wall
Twin Squash
Brick Zone
Play Girls
Peek-a-Boo!
Street Games (Brick Buster)
Street Games II (Brick Buster)
Blocken
Wiggie Waggie
Cuby Bop
Zip & Zap
Bal Cube
Domino Block
Pop 'n Bounce
Puchi Carat
Puzzle Break
VS Block Breaker
Bestri
Galaxy Games StarPak 2 (Battle Bricks)
Galaxy Games StarPak 3 (Battle Bricks)
Mad Ball
Jumping Break
The Block Kuzushi
Puzzle Club (Mad Ball)
Gunbarich
Recommended Games (Connect Four):
Connect 4
4 En Raya
Filetto
Bouncing Balls
Cuatro en Linea
Galaxy Games StarPak 2
Galaxy Games StarPak 3
Recommended Games (Space Invaders):
Space Invaders
Space Invaders Part II
Return of the Invaders
Space Invaders DX
Super Space Invaders '91
Space Invaders '95: The Attack Of Lunar Loonies
Space Invaders Anniversary
Space Invaders / Qix Silver Anniversary Edition
Space Invaders Multigame (M8.03D)
Space Invaders II
Space Stranger
The Invaders
Alpha Fighter / Head On
Invinco
Invinco / Deep Scan
Invinco / Head On 2
Rolling Crash / Moon Base
Space Attack
Space Attack / Head On
Space Fever
Space Fever High Splitter
Space Fighter Mark II
Space Guerrilla
Space King 2
Beam Invader
Fast Invaders
IPM Invader
Rotary Fighter
Shuttle Invader
Attack UFO
Space Intruder
Alien Invaders
Galaxy Games StarPak 3 (Astro Blast)