Cybertank is one of those big, and rather ugly games which failed it’s location test.
It’s a large two screen cabinet running a traditional sprite scaler game where one player drives (and shoots with automatically targeted cannons) while a second player can control an aimed machine gun. In that sense it’s a bit like Namco’s classic ‘Lucky and Wild’
Unless it’s an emulation issue, it seems to have an awful framerate (the game internally appears to update sprites at around 15fps) and it apparently failed location test for being ‘too hard’ and therefore not much fun. I have a feeling the framerate is largely responsible for that, it’s very hard to play a fast paced action game updating at even 30fps, 15fps is far too low.
The emulation is no easier either, it’s been sat in MAME as non-working for ages, references are few and far between (only really a blurry review photo) and the board, like many of these sprite scaler hardwares has heaps of proms & roms containing tables for unknown purposes and bits and pieces like that.
Anyway, Kale recently fixed the controls (turned out to be a very silly bug) which has elevated the priority of me looking into this. A quick pass last night has helped clear some things up.
I’ve found the correct palette bases for the road layer, identified a palette select bit in the road line table, together these allow for ‘bands’ to be drawn in the road, giving the impression of movement rather than just a static gradient. It also allows for colour variations, as used on the title screen.
In addition I’ve moved the tilemaps over to the tilemap system (it appears to use 3 layers using identical hardware for each layer) and added scrolling to those, so the background now scrolls left and right, as well as up and down on hills.
That also meant I had to add priority to the road, so I made a guess that some of the other bits in the road line table were priority, allowing the horizon to slide behind the road on hills etc. Anyway, that leaves us here:
Now, it’s definitely an improvement, but there’s still much to do.
Currently I don’t think the palette select bits are hooked up correctly on the tilemaps, this is kinda obvious from the backgrounds. Each tilemap seems to have a region of 0x40 possible palettes, but we only have enough bits to select 0x8 of those at the moment. The way certain palettes are doubled up makes me wonder if some of the tile number bits also end up acting as palette select, but so far I’ve had no luck on that.
*edit* As of this afternoon I think I’ve fixed the palette selection, it was pretty much as expected, tile number bits being doubled up as palette select. Below you can see screenshots with better colours, of note the HUD elements and backgrounds.*edit*
The second major issue is the sprites. Right now their placement is quite badly off (I suspect they can have an origin / zoom point specified) the end of list handling is wrong (hence trails on the cannons etc.) as well as various other issues. This is probably where a lot of the unknown ROMs come into play too, many of them look like tables, so I’m guessing they’re used for zooming (to specify which pixels get drawn, skipped etc.) That would account for at least 4 of the unknown roms IMHO. There are another two which are the same as each other, I’ve even less idea what to make of those, or any of the PROMs.
Either way, I’m going to look at this a bit more, and hopefully some more progress can be made.
A video of the current state can be seen below.