6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 6:09 pm

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: My Game Console
PostPosted: Sun Dec 01, 2013 7:05 pm 
Offline

Joined: Mon Nov 11, 2002 6:53 pm
Posts: 79
Location: Seattle
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 2581 times ]
photo.JPG
photo.JPG [ 655.76 KiB | Viewed 2581 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: My Game Console
PostPosted: Sun Dec 01, 2013 10:26 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
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.

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject: Re: My Game Console
PostPosted: Sun Dec 01, 2013 11:11 pm 
Offline

Joined: Mon Nov 11, 2002 6:53 pm
Posts: 79
Location: Seattle
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


Top
 Profile  
Reply with quote  
 Post subject: Re: My Game Console
PostPosted: Mon Dec 02, 2013 2:37 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
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!

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
 Post subject: Re: My Game Console
PostPosted: Mon Dec 02, 2013 3:57 am 
Offline

Joined: Mon Nov 11, 2002 6:53 pm
Posts: 79
Location: Seattle
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


Top
 Profile  
Reply with quote  
 Post subject: Re: My Game Console
PostPosted: Mon Dec 02, 2013 4:47 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 904
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?

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
 Post subject: Re: My Game Console
PostPosted: Mon Dec 02, 2013 2:49 pm 
Offline

Joined: Mon Nov 11, 2002 6:53 pm
Posts: 79
Location: Seattle
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


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 15 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron