The Gamate is a console made by Bit Corporation, it was released around 1990 and designed to compete with the original Nintendo Gameboy offering a similar 4-shade green tinted screen which unfortunately suffered from a lot of ghosting, which combined with the rather poor response times many games have on the controls made playing it quite a frustrating experience.
It’s a Taiwanese system, and compared to others developed in the region, even many years later, it was surprisingly well built and had the potential to be fairly competitive.
MAME has had a driver for a short time now, coming from when MESS was merged in, however prior to the original MESS driver being developed around that time there were no dumps for the system due to the custom card media, and protection system that hadn’t been cracked. Once the protection had been figured out dumps arrived and MESS got a preliminary driver that ran the dumps available at the time, however as new dumps showed up the emulation was found to be lacking and didn’t see the necessary improvements to support them properly.
Kevtris had already written up a tech document about the system, and done his own FPGA based implementation of it, so with those in hand I decided to rewrite the majority of the MAME driver. As a result the MAME driver now appears to be on par with the original system, complete with many graphical errors that were also present when using original hardware, but harder to see due to the poor quality LCD screen (for example flickering sprites, wobbly status bars, badly flipped sprites etc.)
At this stage most games that were known to be released have been dumped for the system, so it seemed like a good time to improve the driver. There are some hardware features that none of the games seem to use however, and only one uses the serial link which I haven’t emulated yet (it apparently barely works even with original hardware so I’m not sure it will really work under emulation either)
From a hardware perspective the system is quite interesting, it uses a 6502 series chip, with an AY8910 clone for sound (strangely the original MAME driver had an entirely custom implementation for this)
Video is probably where the system design becomes a bit more questionable, the CPU drives 2 1bpp framebuffers which are combined to give 2bpp output, however, it can only write one framebuffer at a time (there’s a register to switch) and every read/write has an auto-increment, so to draw 4 colour graphics is tricky. There are no hardware sprites or tilemaps, it’s all done with software in the framebuffers.
There’s x and y scrolling, but they apply to the entire display so you’re left either having to erase and redraw either your backgrounds or your sprites if you don’t everything scrolling together, that can be quite demanding on the relatively weak 6502. This is why some games have wobbly status bars when scrolling, as after scrolling the status bar needs to be redrawn at a new position.
There are also 2 special ‘Window’ modes that make having a non-moving status bar easier, the most commonly used one of these allows the top 16 rows of the display to become a static, non-scrolling area taken from a different part of the video ram. This is one of the things that was previously not emulated in MAME.
The 2nd Window mode, which nothing seems to use allows for between 1 and 7 lines taken from yet another place in VRAM, although I think it also turns off vertical scrolling for the rest of the screen, so could be seen as less useful.
Anyway, what sparked my interest in fixing up this driver was a recent dump of Kiki Inland, which is a game influenced by Adventure Island / Wonderboy. The emulation was especially bad before, now it’s just bad in ways that match the original hardware.
Some screenshots for the non-videoy people. (I’ll add more later)
and some videos for people with better bandwidth.
I’ve also made some videos of some of the other games on the system, and will likely upload more to my YouTube channel in the coming days
In other, less interesting news, I updated the MAME SH3 and SH4 cores to use the SH2 recompiler, which gives the Cave SH3 / CV1K driver a speed boost on weaker hardware. Unfortunately most Naomi games don’t seem to want to boot with the recompiler enabled, so it’s still disabled on those, if you do enable it then Crazy Taxi gets a boost to around 75-80% ingame without any other driver optimizations on my system tho, which is a good start if the issues can be fixed.
You’re doing good as usual. Impressive feats yet again :)
I saw some Gamates when I was a kid, nothing really fancy, but now I can actually try the whole console game library and confirm that it didn’t amount to much :p
Great job. Crazy Taxi getting an 80% boost? Hey hey. Let’s make some crazy money! š Thanks!
I always wonder if the original developers go back to their systems once they’re emulated and become nostalgic about the “good old days”. Excellent work on this!
Hi Haze,
Two games actually support link cable play, although as you state very poorly.
C1-045 World Cup Soccer
C1-048 Baseball
Link cable capable play was designated by a “C” on the front of the game box, strangely Kiki Inland actually had a “C” printed on the box, but I am fairly certain that there was no link play functionality on this game.
For more details see https://s1.postimg.org/375tsdj7of/1379169473-4262614677.jpg
Cheers, EdHunter
Great work. Many thanks for all the hardwork.
Nice to see you working on consoles! This is much better now, thank you.
Maybe you could do a GameKing makeover next, Kevtris also documented the system and has his own FPGA based implementation.
“Link cable capable play was designated by a āCā on the front of the game box, strangely Kiki Inland actually had a āCā printed on the box, but I am fairly certain that there was no link play functionality on this game.” — also says “Sport” for some reason, which is weird :-D looks more like a misprint.
GameKing is actually next on my list of these things to look at.
That’s great to hear Haze, looking forward to see the improvements!
Well Kiki Inland has running, jumping, swimming, skateboarding, and throwing your Gamate as far across the room as possible due to the horrible unresponsive controls… so I guess it might be a sports game at a push.
Good job! Thank you and congratulations.
Never saw this system back on the day. I had (and I still own) a Hartung Game Master. It’s emulated in MESS but far from perfection.
Hello Haze, how nice to see you back in MAME!!! I wanted to ask you about the Cc1k drive: you can emulate the “slowdown” of Cave shmups, as for example in DoDonPachi DaiFukkatsu???
I have no interest in doing that right now.
Oh wow, I had a gamate for a while as a kid, couldn’t stand it. Sold it and got a Gameboy :)