Vulcan-74 - A 6502 Powered Retro MegaProject

For discussing the 65xx hardware itself or electronics projects.
User avatar
Drass
Posts: 428
Joined: 18 Oct 2015
Location: Toronto, ON

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by Drass »

Oneironaut wrote:
While putting up walls this afternoon, I had another revelation (crazy thought) on where this project will go next.
Once the current system is redone on the hand wired board, I will then make my own CPU on the 2 giant breadboards.
This will make Vulcan 100% made of 7400 logic components, and require no external CPU at all!
Love it. This confirms the common and probably incurable condition where one is always thinking about the next crazy step ... and being squarely in the middle of one already is no deterrent at all. :)

Can't wait to add video and sound to my TTL CPU when it's done :mrgreen:

Cheers,
Drass.
C74-6502 Website: https://c74project.com
User avatar
Oneironaut
Posts: 734
Joined: 25 May 2015
Location: Gillies, Ontario, Canada
Contact:

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by Oneironaut »

Greets 8 Bit Freaks!

Climate Change has been good to us out here in the remote Northern Hills of Gillies Ontario, so my time has been spent outdoors working on projects like a Chicken Coop, Gardening Shed, Yard Robot, etc.

When things freeze over again, I will give Vulcan-74 some more attention, as it is so close to having sound now...

Image
Vulcan-74 Awaits the next batch of wires!

https://youtu.be/fuJz3ERi8Kg




In order to keep my mind sharp (or crazy), I took on of my more "portable" projects and took it to the next level.
Imagine a Processor with 512 Bytes of RAM Bit-Banging 170x240 VGA with 8 Colors!...

Image
https://www.youtube.com/watch?v=rmx-2fTxsns

One day I will do this same thing directly from a 6502, just to see how far it can be pushed.

Anyhow, I am itching to get back to my Vulcan project, and can't imagine it will be +5 out here for much longer!
Typically, -20 to -40 would be the normal hell around here.

Cheers,
Radical Brad
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by BigDumbDinosaur »

Oneironaut wrote:
Climate Change has been good to us out here in the remote Northern Hills of Gillies Ontario, so my time has been spent outdoors working on projects like a Chicken Coop, Gardening Shed, Yard Robot, etc.
Hmm...that yard robot sounds interesting. Could use such a contraption around here. Can it be trained to remove snow from driveways? :D
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
Alamorobotics
Posts: 54
Joined: 30 Oct 2015
Location: Sweden

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by Alamorobotics »

With just a ATiny, this is awesome...

So VGA from a 6502 is your next challenge ?
Is that even possible ?
mojo
Posts: 67
Joined: 27 Nov 2015

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by mojo »

You can do VGA on fairly slow CPUs, it's just that the resolution will be very low and the timing somewhat out of spec.
User avatar
Oneironaut
Posts: 734
Joined: 25 May 2015
Location: Gillies, Ontario, Canada
Contact:

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by Oneironaut »

mojo wrote:
You can do VGA on fairly slow CPUs, it's just that the resolution will be very low and the timing somewhat out of spec.
Oh yes, you can do it!
Resolution is only limited to how fast you can count address to whatever display RAM being used.
AVR can do "INC, OUT" over and over, so CLK/2 is possible. At 25MHz, 320x480 VGA is easy.

None of my VGA drivers are out of spec... not even a single cycle out!
I follow the VGA standard to the exact cycle every time.
Dividing the horizontal line does not throw out timing, it just reduces resolution.

For instance, putting out 213x480 or 213x240 over the 640x480 60Hz standard, you can do...

HPX : 640 / 3 = 213 Pixels per line
HFP : 16
HSP : 96
HBP : 48

Total cycles per line = 800

This conforms to the standard EXACTLY.
Since I count every cycle, and de-jitter my interrupts, not a single cycle is unaccounted for.

You could however, deviate from the standards quite a bit and still get an image on most monitors.
I chose to follow the standard precisely, as it makes it more challenging.

Cheers,
Brad
User avatar
Arlet
Posts: 2353
Joined: 16 Nov 2010
Location: Gouda, The Netherlands
Contact:

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by Arlet »

A few years old, but still impressive VGA+sound Craft demo for small atmel micro.

And a similar one generating PAL composite video: https://www.youtube.com/watch?v=sFCxV5PsusQ
porcupine
Posts: 36
Joined: 30 Aug 2015

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by porcupine »

Cheap Video Cookbook details how to do CPU driven video from a 6502/6800 type CPU.

But it's really low resolution.
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by Dr Jefyll »

porcupine wrote:
Cheap Video Cookbook details how to do CPU driven video from a 6502/6800 type CPU.

But it's really low resolution.
The "low res" rating was true at the time the book was written, back when 1 MHz CPUs were the norm. But Cheap Video can fetch and shift out one byte per CPU cycle, regardless of clock speed. So, a modern 65xx cheap video system can fetch and output 14 MB/s. Interpreted as monochrome (1 bit per pixel) that's 112 megapixels per second.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
porcupine
Posts: 36
Joined: 30 Aug 2015

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by porcupine »

What I don't get about the Cheap Video Cookbook technique (I just got this book, after reading through this thread, still digesting) is that during video output it's basically just using the MPU as a counter -- kludging the PC to be a simple 16-bit counter. Why not just use a couple chained 74 series counters? Back then was it really that much cheaper to use the processor than just throwing a couple of counters in, given he already has a shifter in there?

I don't actually find the exposition in the book that clear, but it sure is nifty.
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by Dr Jefyll »

porcupine wrote:
during video output it's basically just using the MPU as a counter -- kludging the PC to be a simple 16-bit counter
That's right. And you're also right in saying 74 series chips could do the same thing -- for example, four 74_163 could do the counting. But if you go the discrete counter route then RAM ends up with two sources (the counter array & the 6502) which need to connect to its address inputs. You'd need something (four 74_257, for example) to make that selection.
Quote:
I don't actually find the exposition in the book that clear
I offer a fairly short-but-sweet description here. BTW the Z80-based Timex/Sinclair ZX81 uses a variation of Cheap Video! The trick isn't restricted to 6800/6500. As long as your CPU has a PC and external address lines... :)
Last edited by Dr Jefyll on Wed Dec 09, 2015 8:51 am, edited 1 time in total.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
mojo
Posts: 67
Joined: 27 Nov 2015

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by mojo »

Yeah, I was thinking about ~1MHz or so. One nice trick is to use the SPI or USART to shift bits out. Okay, it's only going to be black and white, but you can do some fairly good resolution text terminal type stuff and don't need much RAM because you have plenty of cycles to fetch tiles from progmem.

The Sinclair ZX81 is legendary. Incredibly cheap at the time, and the screen flickered whenever you pressed a key, but at the time it was the first affordable home computer. Using the CPU to generate video was a good compromise, even if it did make you blink a lot.
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by Dr Jefyll »

mojo wrote:
even if it did make you blink a lot.
Only if you touch type. Hunt-and-peck typists like me don't watch the screen during the blink, and therefore aren't bothered! :D Maybe that's why I built three cheap-video computers. It is a good compromise. And, with some extra effort, the blink could be eliminated by managing keystrokes during the vertical blanking interval. (The challenge is to still be exactly on time when the following frame begins.)

Apologies to Brad. We're OT. Looks like maybe we need a Cheap Video thread.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
porcupine
Posts: 36
Joined: 30 Aug 2015

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by porcupine »

It's too bad chips like this: http://www.ebay.ca/itm/8-uPD41264C-DUAL ... 1594789095 aren't in active production anymore.

Regular DRAM access by the CPU on one side, and simultaneous serial output on another. (http://www.datasheet-pdf.com/datasheet- ... s.pdf.html)
mojo
Posts: 67
Joined: 27 Nov 2015

Re: Vulcan-74 - A 6502 Compatible Retro MegaProject

Post by mojo »

They used to make them with a video DAC built in too. I was thinking about making something like that as an FPGA project, but of course that is way OT for this place!

Well, having said that, I think re-implementing 80s style graphics hardware on an FPGA is fascinating, and not that dissimilar to how the ASICs used back then would have been designed anyway. It's just that now anyone can make a custom chip thanks to FPGAs, without needing to make custom silicon. The important part for me is the way the screen is built, the implementation of a blitter etc. being 80s style.
Post Reply