Thursday, 16 May 2013

Who and Why?

I thought I'd kick off this blog with some background information on myself,  the project history and motivation behind NGPACE rather than dive straight into a technical description of the project.

I've been dabbling in emulation for well over a decade now; initially software emulation (I've authored two MAME drivers thus far - Street Fight (aka Empire City 1931) and Namco Classics Vol. 1 & 2) but in recent years I've turned my attention exclusively to hardware (FPGA) emulation.

In the process of emulating a few dozen different arcade, console and retro microcomputer platforms, I've experimented with the creation of a MAME-like framework for FPGA emulation under the guise of the PACE project. The framework itself is in dire need of a complete re-working, but it has served its purpose well over the years, expediting the addition of new emulated platforms to the project.

A year or two ago I had a stab at the Neo Geo, on hardware that I knew wasn't adequate for a fully working implementation. I managed to get the BIOS booting and with the PROGRAM and FIX layer ROM's loaded from Joy Joy Kid (aka Puzzled) I could actually coin-up and 'play' a game. The next step was to implement at least some of the sprites, however I was diverted onto other projects and, with no prospects of completing a full emulation on that hardware, I never quite got back to it.

Popularity of the Neo Geo remains remarkably strong, with a seemingly sustainable industry surrounding it supplying services such as consolisation of MVS boards, video enhancements, MVS cartridge adapters for AES consoles, and cart conversion (converting the cartridge for a less popular game to another). The platform has even seen several new games released in cartridge form in recent years. And there's the (divisive) Neo Geo X hand-held that was released recently...

I thought it high time I took a serious crack at the Neo Geo, for a number of reasons. Personally, it would represent a more challenging project than any I had attempted before; to be honest a lot of the arcade platforms were little more than exercises in cranking the handle. Also, I had been searching for a number of years for a project that just might have some commercial value (although I have others in mind as well), and I firmly believe that the Neo Geo is a good candidate - at the right price.

Although I was fortunate enough to have had access to ever more powerful FPGA's well suited to PACE in general, it was always going to be unlikely that I'd come across hardware capable of a full Neo Geo emulation. So recently I decided that I'd simply bite the bullet and design some custom hardware that would allow me to emulate the Neo Geo in its entirety. It was going to be ridiculously over-engineered, both to assist in the development and debugging of the Neo Geo, and also serve as a prototyping platform for all my other PACE projects for the foreseeable future.

And this is the story of NGPACE.

No comments:

Post a Comment