Jump to content
IGNORED

Athena: A new old game console ;)


KillaMaaki

Recommended Posts

So this is a project I've been working on for about a month now and wanted to start talking about it more. Athena is a game console I'm working on that takes heavy inspiration from the 16-bit era of gaming and is designed to be relatively simple to develop games for while sticking faithfully to the inner workings and techniques of console from that era. To that end I'm developing this using an FPGA and cycle-accurate clones of chips directly from that era.

 

Spec-wise, my target for Athena is as follows:

  1. A Motorola 68000 clocked at 12.5MHz (done)
  2. A custom video co-processor with support for two independently scrolling hardware tilemap layers, 128 onscreen hardware sprites, and a programmable 12-bit RGB color palette of up to 241 visible colors (done)
  3. A YM2151 (done) paired with a custom 4-channel ADPCM playback module (todo)
  4. An SD card reader in lieu of a physical cartridge port (todo). A small bootloader ROM on-board will be able to read program binaries off of the SD card into RAM, while games will be able to load arbitrary data off of the SD card (game assets, etc) or save data to the card (game saves for instance).
  5. Ethernet jack integration to make netplay possible (in lieu of traditional modem peripherals a console might have had back in the day) (todo)

 

I'd like to develop as well a set of tools, C libs, and instructions for setting up a GCC toolchain to make development relatively easy using C - set up a quick project, pull in some helper libs for graphics, sound, sd card, network, etc, and start tinkering with as little friction as possible. Throw the generated binaries onto an SD card and pop it in to see the game in action on real hardware. I'm a bit inspired by offerings like Gameduino or Arduboy for this: a hardware platform you can get the same sort of satisfaction of programming as you would developing homebrew and tinkering with old consoles, except that there's no region locking, unlicensed-game-preventing measures, or out-of-production hardware components to stop you.

 

The other thing I'd like to do is make it possible to re-use Athena games for other platforms to be a little more conducive to commercial indie dev (think cross-platform retro games like Pier Solar, Xenocrisis, or Tanglewood which are all available both for old consoles and for modern platforms), so the other plan is to develop an Athena emulator alongside the hardware implementation as, most likely, a lightweight SDL2 wrapper project than can be customized as needed and ported to a variety of storefronts and platforms fairly easily (Steam, HTML5 via Emscripten, etc).

 

My real question is, how much interest could I reasonably expect in this? And if so, what other sorts of features should I consider for it?

  • Like 1
Link to comment
Share on other sites

Eh, maybe!
Though slightly off topic: I personally don't like the design of the Neo-Geo's VDP. The lack of hardware scrolling layers forcing you to use sprites very nearly kneecaps any benefits you'd get over other systems of the day and also shoots ROM and RAM requirements up dramatically. The main benefit the NG has is mostly just spacious work RAM. And, I mean, that makes perfect sense: the Neo-Geo was really designed for arcade games. It really wasn't meant for things like RPGs for example, so I'm really aiming for something closer to the overall design of a SNES or Genesis but just a bit beefed up.

And I mean, for what it's worth this was all originally meant to be just a fantasy console not super unlike a Pico8 (and I still want that option). I just had a bit too much curiosity for my own good I guess, and started trying to see if I could make an actual hardware platform for it too. You know what they say about curiosity - maybe it did kill the cat, but satisfaction brought it back.

Link to comment
Share on other sites

I've been developing this on a DE10-Nano. So at the moment I've got a functioning 68000, 64KB of work RAM, 64KB of VRAM, the outlined VCP above, and a working YM2151 all working and outputting over HDMI plus a GCC toolchain for it (the only thing missing from the YM2151 right now is that its IRQ lines are not yet tied to the CPU's interrupt lines, but that should be trivial to implement). Currently working on testing the YM2151 and writing a sound driver for it as well as working on the bootloader.

  • Like 1
Link to comment
Share on other sites

8 minutes ago, KillaMaaki said:

I've been developing this on a DE10-Nano. So at the moment I've got a functioning 68000, 64KB of work RAM, 64KB of VRAM, the outlined VCP above, and a working YM2151 all working and outputting over HDMI plus a GCC toolchain for it (the only thing missing from the YM2151 right now is that its IRQ lines are not yet tied to the CPU's interrupt lines, but that should be trivial to implement). Currently working on testing the YM2151 and writing a sound driver for it as well as working on the bootloader.

I like what I'm reading so far. So I'll be wishing you the best. Will you be making your own games on this unit besides doing the hardware?

 

Anthony..

  • Like 1
Link to comment
Share on other sites

21 minutes ago, KillaMaaki said:

 

Also, if all goes well and the demand is noticeable, do you plan to mass produce this unit? Even though this is all in the beginning stages, do you have a rough number in mind on how much you like to sell this for to the consumer to have?

 

Anthony..

  • Like 1
Link to comment
Share on other sites

16 minutes ago, fdurso224 said:

I like what I'm reading so far. So I'll be wishing you the best. Will you be making your own games on this unit besides doing the hardware?

 

Anthony..

Well I'd definitely like to :) Game dev is my primary passion in life after all!

1 minute ago, fdurso224 said:

Also, if all goes well and the demand is noticeable, do you plan to mass produce this unit? Even though this is all in the beginning stages, do you have a rough number in mind on how much you like to sell this for to the consumer to have?

 

Anthony..

I'd *like* to. Lot of unknowns there. I don't think I could get away with selling it for more than like $100 though (considering the DE10-Nano itself costs like $130 for people wanting a MiSTer box, a Gameduino shield plus an Arduino costs like $60-70 total, a Mega SG costs $180 but that's also for a well known system with a sizable library of games, etc)

9 minutes ago, Newsdee said:

You may want to make it a MiSTer core, that will give you an audience that can easily test your games.

I've certainly thought about doing just that! Might be an interesting option.

  • Like 1
Link to comment
Share on other sites

Do you want to make it commercial, or are you happy with creating a free standard and developing a community around it?

 

The latter seems more viable to me, since otherwise you would be competing with different things (e.g. game making tools that are multi platform, and separately, original consoles).

Another alternative (but not what you are after per se) would be to implement a hardware version of something like BennuGD, reusing existing projects.

Link to comment
Share on other sites

Well.... I'm not quite sure.
I think you're right that open-sourcing the design is probably the more likely to succeed. My heart tells me that I really want to see a physical standalone box, but I could always accomplish that by just 3D-printing a custom case for the FPGA board I've already got or something like that, maybe mounting a couple of extra components inside. Wonder if I could do something like the Arduboy - an open source freely available hardware design for people to homebrew their own, but also a ready-made box for purchase with everything already set up.

Link to comment
Share on other sites

What you describe is already being done with MiSTer (open hardware, with some resellers having boxed full setups).
 

I can imagine many people being interested in a case that works both for MiSTer and your setup.
That said - it doesn't have to fit the MiSTer framework necessarily; just perhaps being pin compatible with the hardware so both software stacks can be used.

 

There is now an Arduboy core, by the way:

 

 

 

 

 

 

  • Like 1
Link to comment
Share on other sites

Honestly it makes sense the more I think about it to just make the case be a custom enclosure for the De10-Nano board tbh, plus maybe some addon PCBs like the IO board and the USB hub, and then just have that be a separate project entirely from an FPGA core.

Also that Arduboy core doesn't surprise me in the slightest haha! I already knew people had ported the AVR to Verilog, and I know the Arduboy is designed to be very simple by design. Cool to see in any case :D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...