I’ve done/released more NMK fixes. You can read the full post here: http://www.raidenii.net/2012/03/more-nmk-fixes/
March 27, 2012
March 18, 2012
Downtime
Sorry about the downtime, we upgraded the server we were using, and during the upgrade we went from MySQL 6.x back to 5.x (as recommended by the MySQL team), and that broke a bunch of tables we were using because they apparently changed some collation IDs. Anyways, we finally were able to fix the tables, so everything’s back up!
P.S.: 2 secrets coming soon.
February 9, 2012
DoDonPachi Arrange
Over the past 6 days, I have been working on an Arrange mode for the original DoDonPachi. I have finally finished all of the work (done painstakingly through nothing but a hex-editor, IDA Pro, MAME debugger, and a notepad), and have released the ROM set for it. You can find it over on http://dodonpachi.daifukkat.su/ (check the title bar for DoDonPachi Arrange). The changes made, as well as how to use the new ROM set are provided.
January 26, 2012
January 14, 2012
PC-based Arcade Hardware: An Analysis
This post will analyze the usage of PC-based arcade hardware, its history, its benefits and its problems. It is based on my post over at the µTech Forums (http://www.activcontrol.net/forum/viewtopic.php?f=5&t=5).
History
PC-based arcade hardware has risen in popularity in the last decade or so. The biggest boost in popularity boost occurred after 2004 with the release of Taito’s Type X hardware, though it has gained an even larger popularity boost with the release of Taito’s Type X2 hardware.
Early Beginnings
The first (real) PC-based arcade hardware in usage was Atari’s Media GX hardware, released in 1998, which had an off-the-shelf PC with a Cyrix MediaGX processor. The Media GX hardware had its own daughter board that likely handled graphics and audio generation, which essentially was the difference between it and a normal PC. However, the Media GX was likely a negligible part of PC-based arcade hardware history, as it was highly unsuccessful (only one game ever made it out of the prototype stage), and Atari was in the late stages of death at the time.
The first significant PC-based arcade hardware was produced by Taito, in 1998, called the Wolf System. It ran a fairly typical PC: 200MHz Pentium MMX CPU, a Voodoo 1 GPU, and two DSPs by Zoom. This board also was not very successful (1 game released), but it likely led to the further research by Taito. The biggest difference in the Wolf System from a typical PC is that it had a completely custom motherboard that actually had a true JAMMA output, and did not run an operating system.
PC Hardware Becomes More Widespread
The next somewhat significant PC-based arcade hardwares were created by Midway. The first was the Midway Quicksilver II, released in 1999. It had two games released for it (Hydro Thunder and Offroad Thunder), and ran on a Celeron 333MHz (or 366MHz) and had a Quantum Obsidian 3DFX card. It ran either standard Windows 98 or Windows 2000. This was the first PC-based arcade hardware to run on a regular (shitty) operating system. The hardware was about on-par with the home PCs of the time. This hardware was actually very successful (I’ve seen Hydro Thunder in pretty much every arcade I’ve ever been to), but Midway’s luck wouldn’t last. Their next entry wasn’t as long-lived.
This was the Midway Graphite, released in 2001. This hardware was more powerful, and was powered by a Pentium 3 at 733MHz, a 3DFX Voodoo 3 graphics card, and Windows 2000 Professional (Embedded?). It powered only one game (Arctic Thunder).
The next entry into the PC-based arcade hardware lineup was Namco’s N2 Satellite Terminal hardware, released in 2003. The specs for this are currently unknown, but it is known that it ran on a Linux-based server, and served a number of clients. This makes this the first PC-based hardware to run Linux. The games released on it were Counter-strike Neo, Counter-strike Neo V2, Counter-strike Neo: White Memories, Mobile Suit Gundam: Bonds of the Battlefield, and New Space Order. A similar hardware released by Namco, called the N2 is likely related to the N2 Satellite Terminal, but I currently do not have any real information about either. Apparently this hardware was somewhat successful, living 4+ years. If any more information is known about this hardware, please let me know.
For the last entry in this section, we have the Konami PC-based hardware. Released in 2004, this hardware ran on a Pentium4 at 2.4GHz, had 256MB of DDR RAM, a GeForce4 MX video card, a 60GB IDE hard drive, and ran on Windows XP Embedded. This hardware appears to also have been fairly successful, running 3 soccer games, a Silent Hill game, a Castlevania game, and a few driving games.
PC Hardware Goes Mainstream
To finish up Konami’s entries, after the release of their original PC-based hardware, they released a PS2-based arcade hardware (which was literally a stock PS2 with an adaptor board), and then proceeded to push out several different PC-based hardwares to run various games in the Bemani series. These varied in power, from a Pentium4 at 2.5GHz with a Radeon X1300, to an Athlon X2 4400+ with a Radeon HD 2400. They all ran Windows XP Embedded. These were probably fairly successful, as the Bemani series is quite popular. This has basically shown the death of arcades with respect to Konami’s share in them, seeing as since the last hardware, they have put out literally no games aside from Bemani.
Now let’s go back in time a few years, back to 2004. The release of Taito Type X. Incredibly successful, this hardware ran a stock PC with specifications about equal to the average computer of the time (not even top of the line!). The typical spec for Type X was: Celeron 2.5GHz (upgradable to Pentium4 2.8GHz), 256MB DDR RAM (upgradeable to 2GB), Radeon 9200SE (128MB) [through to X800XT (256MB). Basically the complete Radeon line], and ran a customized Windows XP Embedded. The hardware is almost literally a standard PC, so you can replace pretty much any part in it to make it more powerful. A large amount of games were released on Type X, including Gigawing Generations, Raiden III, Raiden IV, Taisen Hot Gimmick 5, Tetris the Grandmaster 3, and The King of Fighters 98 Ultimate Match.
I would have to assume that Taito’s Type X7 was released sometime between the Type X and Type X+. It has very strange specs, with a Celeron M 600MHz (!), 512 MB RAM (!), and a Radeon 9550 (!). It also runs Windows XP Embedded. As you can see, the specs are a bit out of proportion, and one has to wonder why it was done this way. Seeing as this particular hardware ran Pachinko machines (and was one of those small ‘embedded’ PC hardware things), it’s even more questionable for the specs.
Next, we have Taito’s next PC entry, the Taito Type X+ released in 2005, which had only a few games, and was only a minor upgrade from the original Type X.
Now we have an entry from Sega, their first entry into the PC-based arcade hardware market. This was the Sega Lindbergh, released in 2005. It ran on a Pentium4 at 3.0GHz, a 256MB GeForce 6 video card, and 1GB of DDR RAM. It didn’t run Windows Embedded though, it ran a flavor of Linux called Montavista Linux. This flavor of Linux has been enhanced to actually become a full RTOS (Real-time Operating System), which makes it a far better suit for arcade hardware than any standard PC operating systems. The actual hardware specifications were slightly above the average PC specification at the time, and the usage of a specialized operating system probably allowed it to have far greater capability than a typical PC of equivalent specifications. This hardware was decently successful, and hosted a variety of (fairly) successful games, including: After Burner Climax, House of the Dead EX, Initial D Arcade Stage [4|5], Virtua Tennis 3, The House of the Dead 4, and Virtua Fighter 5. The success of this hardware was likely what brought Sega to stay in the PC-based arcade hardware market, though it could be possible that without the success of this hardware, Sega could have dropped out of the arcade business altogether.
The largest boost in popularity of PC-based arcade hardware happened next, with the release of Taito Type X2, released in 2006. This hardware has been extremely popular, and runs many common games today, such as: BlazBlue, Darius Burst: Another Chronicle, Elevator Action Death Parade, King of Fighters Maximum Impact Regulation [A/A2], Samurai Shodown: Edge of Destiny, Senko no Ronde DUO, Street Fighter IV, and King of Fighters [XII/XIII]. It ran on a Core 2 Duo E6400, Pentium4 or Celeron D (any CPU accepted by the Q965 chipset was allowed), had 512MB or 1GB of DDR2 RAM (upgradeable to 4GB), supports any PCI Express x16 graphics card (such as Radeon X1600Pro or GeForce 7900GS), and ran Windows XP Embedded. The hardware was about the average for the time, not much better nor worse than the average consumer PC.
The next PC-based arcade hardware to be released was CAVE’s PC based hardware, which was only used for DeathSmiles II. It was a commercial failure, and CAVE decided to not go back to this hardware and released their next game (Akai Katana) on their old SH-3 based hardware.
To bring this section to a close, we have Sega’s latest two arcade hardwares, the Sega Ringedge, and the Sega Ringwide. The Ringedge, released in 2009, runs on a Pentium E2160 at 1.8GHz, has 1GB of DDR2 RAM, and has a 384MB nVidia graphics card (unspecified). It runs Windows Embedded Standard 2009, and supported the following games, to name a few: Border Break, Initial D Arcade Stage 6AA, Project Diva Arcade, and Virtua Fighter 5 Final Showdown. This hardware is very underpowered for its age, and the CPU alone was released 3 years before the hardware itself. The Ringwide is even more watered down, released in 2010, it ran a Celeron 440 at 2GHz, has 1GB of DDR2 RAM, and has a 128MB nVidia graphics card (unspecified). It also ran Windows Embedded Standard 2009, and supported few decent games, the only one which I feel is even mentionable is Tetris the Grandmaster 4.
Benefits
The primary benefits of the PC-based arcade hardware model are: Price, since you no longer have to R&D hardware to develop for; Time-to-market, for the same reason as price; Ease of programming, since the standard PC is familiar for most programmers, and (although I disagree with this point, it’s part of the ‘benefits’ that Taito and such use to market their hardware) Windows makes development easier. One can easily see how a company that’s just starting out, or is in a financial crisis could easily be tempted by this model, since it makes it faster and cheaper to develop a final product. It might even tempt arcade kingpins, since it would (theoretically) allow a greater profit margin since hardware doesn’t need to be developed and researched. The benefit of this hardware is not something that can be denied, but it does have it’s downsides as well.
Lindbergh
I feel like I have to make a separate section completely for Sega’s Lindbergh, since it was developed and utilized in a fairly different manner from the rest of the PC-based arcade hardware lineup.
Sega did everything correct with their Lindbergh hardware; or at least, everything they could have done correctly. They did use standard PC hardware, but they chose hardware that was more advanced than the average PC of the time. They also used a good Operating System: Montavista Linux. Montavista Linux has undergone several changes and optimizations from vanilla Linux that make it almost a completely legitimate RTOS. Response times are almost completely predictable, and are on average 100µs.
Most of the drawbacks I will list below are not valid for the Lindbergh, though some are still valid (mostly in the Hardware Stack section).
Drawbacks
PC-based arcade hardware, while it may seem like a great idea, has many drawbacks. The drawbacks not only exist in the hardware stack, but the software stack as well.
Software Stack (Windows-based)
One of the highly touted benefits of PC-based arcade hardware is also one of its major drawbacks. Almost all PC-based arcade hardware runs a version of Microsoft Windows, usually a customized version of Windows XP Embedded. This itself is a bad idea — an arcade machine is only supposed to be running one software at one time, the game. It’s understandable if you run something like an RTOS, since that was designed for systems which require high performance, predictability and efficiency. However, Windows XP Embedded is none of these. It is essentially a stripped down Windows XP, which everyone knows isn’t a RTOS. You shouldn’t need such highly abstracted hardware access, because the games should only run on a specific machine (I discuss this point more later on).
Another issue brought about by the “ease of programming”, is that highly talented embedded programmers have been left behind for the run-of-the-mill profit-driven brain-dead morons churned out every year by university Computer Science classes. The programming expertise, and the skill required has been significantly dumbed down, which can, and likely will, lead to what I call the “Wii-effect”: Massive amounts of trashy games pushed out exclusively for profit with no regard to the actual quality of the software.
Hardware Stack
Yet another issue is performance over cost of the hardware. When arcades ran on embedded hardware, the machines were custom tailored to run exactly what they were meant for: games. PC-based hardware runs on a very very ancient technology, the IBM PC from 1981. The basic hardware architecture is full of legacy components and unused trash. Not to mention that the processor is highly inefficient, and other processors used in embedded arcade hardware (like the Hitachi SuperH) were much better fits. PCs are developed with backwards compatibility in mind, whereas embedded arcade hardware is developed either without any compatibility in mind, or forward compatibility, which leads to PC hardware having lots of extra cruft that, really, is completely unnecessary for an arcade environment. The PC has almost reached the end of its lifespan, and arcades are only just jumping on board. At the rate of adoption, arcade developers won’t be able to afford to escape from the vortex of PC-based hardware for quite a while, and will be stuck on their terrible decision for years after the PC dies due to architectural limits being hit (which, by the way, is very close).
The hardware is also very underpowered. For most machines, they went with hardware that was almost the exact average computer for the time. This means that arcades were no longer more powerful than the average home computer; they were just average. This is very different from when arcades reigned supreme, back when arcade machines were complete monsters compared to home computers. You didn’t see Vertexer (http://www.youtube.com/watch?v=VV9wLdCl5ag) on PC in 1993, did you? You didn’t see Cyber Sled (http://www.system16.com/hardware.php?id=536&gid=1310#1310) on PC in 1993, did you? It also didn’t help that these PC-based hardwares are often in use for 3 or 4 years before a new one is made, by which time the hardware is severely underpowered compared to home PCs. Now you have arcades that can’t even compete with the average person’s home computer.
Bootlegging
Bootlegging is a very serious issue, especially now. Before you had hardware/software developers putting in all sorts of hardcore anti-bootleg protections, some of which are still uncracked to this day. These games survived and made their respective companies lots of money. Other games got bootlegged to hell, and then the original company didn’t make any money; only the bootleggers did. With the advent of PC-based arcade hardware, bootlegging has now become something the average chump can do in their spare time. Taito’s Type X and Type X2 have become massively bootlegged, and there have been releases allowing you to run any title from these hardwares on any regular PC running Windows XP.
Conclusion
PC-based arcade hardware has its benefits and its drawbacks. Ultimately, I believe that there are better solutions possible, and it’s just yet another sign of a dying arcade industry.
January 2, 2012
NMK Priority Fixes
Over at Raiden II Project blog, I released some patches that fix sprite priorities for most NMK games. You can read about it here: http://www.raidenii.net/2012/01/nmk-priority-fixes/.
December 8, 2011
More Hex-Rays
More news! First off, I’ll start with stuff that might be helpful/etc. to you all: what I’ve recently added to IDA Pro!
In the MIPS module, I have added the following:
- MIPS-3D ASE support
- MIPS-MT ASE support
- smartMIPS ASE support
- Toshiba TX19a support
| MIPS-3D | ![]() |
| MIPS-MT | ![]() |
| smartMIPS | ![]() |
And in the PowerPC corner we have:
- Paired Singles support (as seen on the Wii and GameCube)
- VMX128 support (as seen on the Xbox 360)
| VMX128 | ![]() |
| Paired Singles | ![]() |
And now for some personal news… I’m moving to Belgium! That’s right, I’m getting moved to Belgium! The process will take (at least) 3 months, so if you want to visit me while I’m still in the U.S., you’d better schedule it soon!
November 27, 2011
Faseron Goes Open!
I’ve gotten back to work on Faseron a bit for the past couple days, and I decided it’d be far more constructive if I just opened it up to allow others to help contribute. So, I’ve opened up the source on my Git repository tracker! You can fetch the source at http://git.daifukkat.su/?p=faseron.git. I will describe what we’ve currently got, to help beginners.
The current version on the repo does NOT work. The new timeslicer is currently broken and will not work. However, commit fa64d471 does work, so if you want to try it out a little bit, you want to check that one out (use the romset of atetrisb2 and place http://pastie.org/private/garfht25lbsi5pwh12gbw in the folder as info.brd).
The latest scheduler/timeslicer uses byuu’s libco for cooperative multithreading, to make code very clean. The current source does not fully exploit the scheduler, but this is is merely due to the fact that it is currently broken. Once it works, all device cores will be updated to work properly.
Hopefully this will be a positive step forward, and maybe some progress will be made thanks to this. If not, well, we will keep working on it, and hopefully get it to a usable point on our own.
November 5, 2011
Scuzzy PC-FX Homebrew
After hours of bashing my head in on my desk, I’ve finally gotten my SCSI code to work on a real PC-FX. Here’s a demo:
October 4, 2011
History of NetBSD/x68k
I was watching my Twitter feed a bit earlier, and I noticed that @X68060 (creator of Nereid and other X680x0 goodies) had retweeted a .gif of the history of NetBSD/x68k. Being an X68k enthusiast, I couldn’t pass watching that up. Expectedly, it was in Japanese, so I needed to translate it. And thus, here is a translated version of the history of NetBSD/x68k, originally written by @tsutsuii (Izumi Tsutsui).
http://daifukkat.su/files/netbsd_x68k_history.pdf





