6502.org
http://forum.6502.org/

My Game Console
http://forum.6502.org/viewtopic.php?f=10&t=2799
Page 1 of 1

Author:  yzoer [ Sun Dec 01, 2013 7:05 pm ]
Post subject:  My Game Console

Hi All,

As promised, here's a picture of my game console I'm re-tooling for the 6502. The version pictured here uses a z80 and an epf10k10 at 6.25mhz. The specs, in a nutshell are:

256x192 resolution, VGA
tile-based background, 4 colors per tile at 8x8 pixels, flip on x/y
32 sprites @ 16x16 pixels, 3 colors + transparency, flip on x/y
64 palettes of 4 colors, 2-bits per component
mono 3 channel PSG sound + 1 noise, onboard speaker, LM386 as an amplifier for PWM
8k ram
cartridge based, up to 1MB of rom, banked in segments of 16k
2 atari-style joysticks but with up to 2-buttons.
5"x5" footprint, all through-hole

The original idea was to have the FPGA configuration chip on the cartridge but that kinda drives the price up, so I'm nixing that for the next version. In fact, the plan for 'version 2' was to add a CPLD to handle the address decoding as everything's now done on the FPGA and in turn allow the CPU to configure the FPGA.

So for the 6502 version, I'm going to go a different route and move away from line-buffers, which is what this system used. While that works nicely, you have to render everything within 63.5us so you're kinda limited.

Anyway, figured I'd share :-)

Yvo

Attachments:
photo-2.JPG
photo-2.JPG [ 706.27 KiB | Viewed 2572 times ]
photo.JPG
photo.JPG [ 655.76 KiB | Viewed 2572 times ]

Author:  ElEctric_EyE [ Sun Dec 01, 2013 10:26 pm ]
Post subject:  Re: My Game Console

I like your cartridge idea using the configuration PROM. For Xilinx FPGA a few here have used SPI FLASH for configuring and they're relatively cheap. Not sure for Altera FPGA's...
Having a cpu program the FPGA sounds complicated.

Author:  yzoer [ Sun Dec 01, 2013 11:11 pm ]
Post subject:  Re: My Game Console

The altera EPC1's are about $3 or so, which is kinda pricey..

The idea behind sticking the configuration prom on the cartridge meant that every game could (potentially) have unique hardware. So if you wanted something 'special', that'd be easy to do. Configuring the FPGA using a CPU is pretty straightforward. Basically nothing more than bit-banging configuration data. Nice thing about that is that you can compress the config-data, store it in rom and then configure the FPGA.

Even better, if you use the CPU to configure the FPGA you can do that at any time! So if you wanted to have a section in your game that uses vector graphics, just reconfigure the FPGA to become a math box :-)

-Yvo

Author:  enso [ Mon Dec 02, 2013 2:37 am ]
Post subject:  Re: My Game Console

Your project looks great!

However, partial reconfiguration of an FPGA is not really doable with low-end FPGAs. A full reconfiguration takes a few seconds, so you probably don't want to reconfigure your FPGA as a math box for a section of a game!

Author:  yzoer [ Mon Dec 02, 2013 3:57 am ]
Post subject:  Re: My Game Console

Yeah, it's either all or nothing. Since I'm using an ancient EPF10K10 (576 LE's) configuration takes around 300ms or so, so that's totally do-able at runtime. Interesting side note: Since the FPGA is also responsible for decoding the address space, the CPU needs to be kept in reset until the FPGA is fully configured.

-Yvo

Author:  enso [ Mon Dec 02, 2013 4:47 am ]
Post subject:  Re: My Game Console

Interesting and cool. 300ms is just about fast enough... I guess you can't use the CPU to reconfigure the FPGA, so what are your options?

Author:  yzoer [ Mon Dec 02, 2013 2:49 pm ]
Post subject:  Re: My Game Console

In order to have the CPU re-configure it I'll need to move the address decoding portion and a flip-flop or two to hold configuration states. Either way, the plan is to re-design the board with a 6502 anyway :-)

-Yvo

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/