Hello everyone!
While I am waiting in between the Acolyte project (here
viewtopic.php?f=4&t=7154) I went back to an idea I had back a while ago. Inspired by Jeff's "illegal instruction" trick (here
viewtopic.php?f=4&t=1945) I decided to build an ultra-minimal 6502 build that still includes VGA. Attached are schematics. It only uses 10 ICs! I have other versions that only use 8 ICs, wow! This includes the 6502, RAM, ROM, and the rest are 74HC logic chips.
To get this to work, I'm using a style called "race the beam", similar to what the Atari 2600 does. Basically the 6502 has to manually draw each pixel on the screen itself, leaving little time for anything else. This build would do this through Jeff's "illegal instructions". Each $_3 instruction's high nibble is pixel data, and each $_B instruction's high nibble contains sync signal data.
Some stats:
W65C02 running at 6.29 MHz (1/4 of the 25.175 MHz VGA clock speed)
$0000-$7FFF = 32KB of RAM, but two banks totals to 64KB RAM
$8000-$BFFF = 16KB unused for further expansion
$C000-$FFFF = 16KB ROM
320x240 effective screen resolution with 4 colors.
8 tactile buttons for input through the SOB line on the 6502.
The idea is that this is a "handheld" gaming console, controller contained in the console itself. Just plug in USB for 5V power and VGA to your favorite monitor, and off you go! It can also accept 16KB ROM cartridges for additional games, or perhaps a VIA with additional I/O support. The expansion port (a standard 2x20 pin header) includes all of the important 6502 lines with some extra VGA clock data included.
Some things I'm discovering is that I will have to be extremely precise with my programming. I will have very few cycles for actual game code, since the processor is drawing the screen manually. Also, nearly all of the 64KB of RAM will be used up just as Video RAM, only leaving some margins for variables and such.
I won't say this is a *good* idea. It's not a beginner's build by any means. It's gimmicky at times and the software side will be absolutely crazy! But it would be neat to see a full 6502 build with fairly good VGA output using only 10 chips! If you don't care for the tactile buttons and are ok with monochrome, cut it down to 8 chips!
The only problem I see is that I'm using 70ns FlashROM, and running 6502 at 6.29 MHz will barely give it the amount of time it needs. Though I'm only using a single 74HC00 for glue logic, and don't the address and data buses come online before PHI2 goes high? Anyways, it's pushing the margins with the ROM, but everything else should be smooth cruisin'.
I don't know when I'll be able to actually build this, but I think I'll try to program something for it first. See just how terrible a mess I've made and perhaps "turn around don't drown".
Thoughts? Comments?
Thanks everyone!
Chad