I’ve added more cabinet adapters. This group was mostly from people’s requests.
These are now tested and confirmed working, and will be soon listed on eBay. Thanks for checking these out and supporting my work.
SCOPE FIEND, HACK HEAD
I’ve added some new cabinet adapters that I’ve been working on for the last few weeks. Here’s a list for this new batch:
These have now been tested and confirmed working. More cabinet adapters to come shortly and more and more people have been requesting them.
I added a new image with a small efficient launcher to the PJ image library and made some enhancements to the existing standalone image. Check these out here.
I also made a short video on the subject here:
More new projects. Instread of polishing and releasing stuff that I’ve been sitting on for months if not years, I’ve decided to distract myself with more projects.
These include a couple of robot controllers and some helper boards for programming Atmel MCUs via the Arduino platform, with which I’ve been doing a lot more work with recently. I’ll post more details on that soon, and will eventually make these available to the community as opensource / open hardware project. For now this is just a teaser.
I started to work on a number of new projects, but I’m not abandoning the JAMMA adapter work just yet. After a lot of demand with the Atari Dig Dug adapter, I have started to work on many of the other Atari games like Missile Command, Xevious, Centipede, Millipede and Crystal Castles.
This is progressing well, but I’m afraid even it these do get completed, I may not have the cycles to keep a steady flow of them available for people. I am working on a number of home renovation projects and getting distracted by other interruptions, the result of which may or may not be posted here eventually.
I did a bit of experimenting with setting different resolutions on the raspberry Pi for arcade emulation. This was in preparation for getting my standalone MAME image for the PJ adapter.
So the idea here is that the video output would be set to the exact resolution of the game, before emulation is started. Now, there are emulators that already do this, but I wanted to be able to possibly use emulators that don’t, and have full control of the process.
I started looking at the most commonly used resolution in arcade games. This came from MAME’s game info xml dump. Here’s the list:
Number of Games | Resolution |
---|---|
399 | 256x224 |
391 | 320x224 |
302 | 384x224 |
248 | 320x240 |
197 | 256x240 |
186 | 288x224 |
146 | 304x224 |
132 | 336x240 |
64 | 384x240 |
57 | 512x240 |
53 | 320x232 |
53 | 256x480 |
53 | 256x256 |
47 | 704x480 |
43 | 384x256 |
41 | 480x480 |
41 | 240x224 |
40 | 640x240 |
33 | 512x224 |
33 | 400x254 |
30 | 512x480 |
27 | 352x240 |
27 | 320x416 |
26 | 256x192 |
25 | 640x480 |
24 | 512x384 |
23 | 292x240 |
22 | 512x400 |
20 | 248x256 |
18 | 512x288 |
18 | 240x240 |
17 | 638x240 |
16 | 512x256 |
15 | 448x224 |
13 | 496x384 |
12 | 432x224 |
12 | 256x232 |
11 | 508x384 |
11 | 500x384 |
11 | 240x192 |
10 | 384x255 |
Number of Games | Resolution |
---|---|
540 | 224x256 |
175 | 224x288 |
106 | 240x256 |
86 | 240x320 |
74 | 224x240 |
64 | 224x320 |
60 | 240x240 |
47 | 224x384 |
36 | 240x384 |
24 | 248x256 |
19 | 192x240 |
18 | 192x256 |
16 | 256x256 |
16 | 208x248 |
15 | 384x512 |
13 | 224x272 |
12 | 224x280 |
10 | 216x288 |
So, there are some things that are worth noting. Most games will run in a resolution of 320×240 without scaling. It just means that the screen size may be reduced. We have popular horizontal resolutions of 256 and 288 and 320. We also have a large quantity of games at 336 and 384 which will not display correctly at 320×240 unless rescaled, which we are trying to avoid.
For vertical resolution or line count, we have most games displaying either 224 or 240 lines. This is expected, due to the limitations of an arcade monitor. More on this later.
What we need to do is come up with a scheme to display most of these games at native resolution. Here’s my solution:
The raspberry Pi has 3 low frequency pixel clocks 4.8MHz, 6.8Mhz and 9.6Mhz.
This works out quite well with most games displaying properly and fitting nicely to the available horizontal screen real estate.
Vertical line count is less of a problem. It can almost be ignored except for a few games that display at 248 and 256 lines like Irem’s R-Type and Midway’s Mortal Kombat and other games. Games that go over 240 lines break the rules somewhat (see my video generation tutorial here) and will likely have problems being displayed on anything but adjustable arcade monitors.
What we do in these cases is to reduce the front and back porch portion of the video signal and use that to get the addition line count. In my testing this worked fairly well.
This is the basis of my video mode switching algorithm for emulation going forward. It will be implemented in my standalone minimalist MAME image that can be found here.
One issue with this, console games that switch resolutions on the fly (Seiken Densentsu 3 / the unreleased Secret of Mana 3?) can not take advantage of this.
I spent the last week getting the new RetroPie images working on the PJ adapter. This is the first RetroPie release with Raspberry Pi4 support.
Unfortunately it wasn’t easy and it didn’t turn out well. The new release messes up the classification of my joystick driver, configuring it as a mouse. It somehow breaks scaling in vertical mode that I was not able to resolve. It removes useful emulators like mame2003 (from Pi1/Zero image at least), adds emulators that don’t run well on a Pi1/2/Zero. Raspberry Pi 4 has emulation sprite / background tearing and jitter issues when scrolling, with all emulation cores it seems. Then there are minor annoyances like the new video driver stack and changes to the PCM audio on the GPIO.
I did what I could at this time, adding emus and configuring everything to work, but some deal breaker issues remain, mainly scaling in vertical mode and Pi4 graphics jitter.
For this reason, vertical images will not be available for now. If using Pi3 or lower, stick with the 4.5.1 images at the moment. If buying a Pi for this, go with a Pi3. Honestly there is little reason to go with RetroPie 4.7.1 right now that I can see. If you already have a Pi4, try the 4.7.1 and let me know how it goes.
While Retropie is great for consoles, many of you want a good arcade emulation experience, and Retropie is not that. I will therefore spend the next while working on a stand alone minimalist MAME image as some have requested. It will be small and will boot straight to a game, with proper video mode setup to avoid any scaling issues. Much work has already been completed. More on this in the next post.
Unfortunately though, it wasn’t a complete success. The storage on the new server is only about 8GB while it should have about 120GB. This is something I only noticed after the work was all done, while putting up the large PJ images. It was once again a screw up on the part of my hosting provider….
The proper and easiest way to address this is to create a whole new VM from scratch and restore this site there from backup, which I’m not going to do after what I just went through with this migration.
For the time being I put all the large files on a mirror server, and linked to those instead.
Starting November 25th until the end of the week, the server hosting this website will be migrated to a new network. There may be outages, and large files that may not be available during this period. Sorry for the inconvenience.
I made a couple of videos recently. One video is a demo of the PJ adapter:
I also added and fixed some of the missing or incomplete pages from the old site before the VM crash. Probably 90% of the broken links should now have been dealt with.