AVR helps out on Vulcan-74, a 7400 Logic VGA Mega Game System.

Go To Last Post
77 posts / 0 new

Pages

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks!

The final cabinet will certainly have some extra bling.

It's going to be hand made with oak sides, a glass top, and back-lighting.

 

I have over 100 logic ICs on the board now, and it's only HALF completed!....

 

 

 

 

Cheers,

Brad

 

Torby wrote:

In the 70's BYTE magazine proposed that we rate "home computers" in "Boggles per glance." 

 

I think you have the record now. Well, maybe if you were to add some blinkenleds.

 

I Like to Build Stuff : http://www.AtomicZombie.com

Last Edited: Thu. Oct 22, 2015 - 08:22 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Blinkenleds okay, but no wackelkontakte :)

 

Brad, it's almost un-imagineble .... what a huge and beauty full project. Every time I have a look at your project(s) ....  it makes me feel humble.

 

Keep on the good work. And Pink Floyd's "Shine on you crazy diamond" is now in my head. First dinner, then Pink Floyd.

 

cheers

 

Nard

A GIF is worth a thousend words   They are called Rosa, Sylvia and Tessa, You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I honestly think you should put the whole breadboard contraption under glass.  Once it is moved onto a bunch PCB it will be >>less<< impressive.  Half of the magic in those photos and videos is that the damned thing looks the way it does and yet still works! ;)

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That would be one HUGE cabinet thought!

I may actually hand wire (point-to-point) the final design, so the "crazy factor" will be there, and even stepped up a level!

 

Thanks for the comments!

Brad

 

joeymorin wrote:

I honestly think you should put the whole breadboard contraption under glass.  Once it is moved onto a bunch PCB it will be >>less<< impressive.  Half of the magic in those photos and videos is that the damned thing looks the way it does and yet still works! ;)

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oh, you're just afraid it would develop some wackelkontakte.

The largest known prime number: 282589933-1

In my humble opinion, I'm always right. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Or possibly some Brennenden Draht!

 

 

Torby wrote:

Oh, you're just afraid it would develop some wackelkontakte.

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I have now decided to make Vulcan-74 compatible with any Microprocessor and Microcontroller, by placing it external (acting as a cartridge).

Because AVR is my favorite flavor of chip, I am using it again in all my tests.

 

Check this video of an ATMega throwing around some graphics...

 

https://www.youtube.com/watch?v=HqSYwKYwtOo

 

All coding as floats in GCC, and collision detection is raytracing!!

 

 

Vulcan-74's IO system has now been tested with ATMega, XMega, Arduino, PIC, and 6502!

 

And yes, my breadboard does in fact take up an entire 6 foot long table!

The other half is for the Sound Generator, also 100% logic chips.

 

Cheers to all Freaks!

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

Last Edited: Sun. Nov 8, 2015 - 06:14 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"You know, you're really starting to make us look bad." - Brent Spiner as Dr. Okun (Independence Day)

 

:-)

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, since Joey started citing a movie the cineast (former) in me awakens. This is what I come up with (said in the best possible good spirit), from a film the title of which I can no longer recall (some American "film noir" based on a Raymond Chandler book perhaps?):

 

Sometimes I wonder - why don't we leave the crazy people alone and send for a wagon for the rest of us..

Not even an exact quote, I guess - but you get the drift...

 

Love what you're doing, Brad. Sort of the opposite of todays thread on power distribution..

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Philip Marlowe, Private Eye", episode "Smart-Aleck Kill", by Raymond Chandler.

 

I've never seen it, but Google finds all:

http://www.nytimes.com/1983/04/15/arts/old-friends-new-start.html

 

Love the sentiment of that line, though ;-)

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

this is far beyond awesome and impressive........

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the positive feedback!

 

This project has been a blast to work on so far, and I look forward to getting the other 150-200 ICs plugged in to create the 4 voice Sound System.

I shall not forget that my learning curve with AVR assembly and GCC was overcome thanks to support from the many members of this great community.

 

Cheers.

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here is a question to those who have experience interfacing SD to AVR.

 

In this project, I obviously need a lot of data storage, as Vulcan has 4MB of SRAM in various sections of the design!

For now, I am just pounding the data into the memory 120k at a time by loading the ATMega1284 and then sending it to the memory at the required addresses.

In the last demo, the wall graphic alone took up 1 meg of SRAM, so I had to do this load and save deal 8 times!

When the design is done, all graphics will be loaded by the host from either an SD or SPI flash (whatever the user chooses).

 

For now though, I have an interesting idea on how to use SD without the bloat of FAT16 or 32 libs....

 

Instead of reading the file structure, my graphics would have a 128 bit "key" attached to the beginning of the file.

On the AVR, I would just rip through the entire SD as raw data, starting at address zero, doing a check for the secret key.

The check would be fairly fast, as you only need to keep looking for bits if the sequence is matching.

 

So my question is... what is the maximum speed in bits per second I might get from a 20MHz AVR through SPI?

 

It may seem crazy to scan 2GB of data, but perhaps overall this would be quicker than screwing with FAT32?

I could always full format the SD and make sure the file is in the lower address range (I think FAT works this way),

 

Thanks,

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

speed wise, you could run the SPI interface at 10MHz without a problem *(not sure anymore if SPI can run at F_CPU or at max F_CPU/2). I think the bigger problem will be the speed of the var handling the data.

You also would need to make up an interface board that will do the loading of the data onto the sd card for you. IIRC with writing through fat the data might not be in consecutive blocks after windows/linux and the controller ont he sd card are done, so you would also need to load the data using the same way you will be reading from it.

I have not used it myself, but 'petit fatfs' seems to be purpose build to just do reading with minimal memory load and minimal code bloat. you could give that a try. It would ensure you can easily load files on your computer not having to thing about how to get the data on correctly and on the other side, is the data actually correctly put onto the sd card.

Note also that with FatFs/petit or not a lot of members can help you and I am sure they would be more than willing to be able to contribute to your great project.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just dump the file to the raw SD card.  In Debian you would do something like:

$ sudo dd if=myfile of=/dev/sdg

... where /dev/sdg is the device name of the SD card.  Take care not to accidentally specify the device name for any of your other drives :(

 

This basically does away with the notion of a file system on the SD card, and treats it as one monolithic block device.  One giant file.

 

In Windows you could use something like physdiskwrite.

 

Your AVR would need to know how long your file is, so you'd need your own file structure which included length information.  Perhaps just prepend the file length to the beginning of the actual file data as a 32-bit integer.  If you need to store multiple files, you could handle that too.  Include a file count at the very beginning, then each file with the length pre-pended.

 

Or use the first 512-byte sector as your own poor-man's FAT, and store file data consecutively after that.

 

This is all a bit of a kludge.  I would say FAT is worth the hassle on the AVR end.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

Last Edited: Tue. Nov 10, 2015 - 06:45 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As someone who used to fix video game PCBs made entirely of 7400 logic(well, almost, there were some Fairchild 93 series chips in there..) I am also impressed. However, to me it seems like the ideal opportunity to start playing with FPGAs...

 

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I hope that your boards are good quality, I would personally have used wirewrap for this kind of work.

 

My first computer , a Pet 2001, only used TTL , and had about 70 chips. , the only other one that come to mind is a ZX80.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

32MHz and holding! Proof that a breadboard can take it.

If I tried to wire wrap this thing, it would be years of development, since I changed it around a lot.

Built what you see in a few months.

When comparing the cost and speed of a breadboard to wire-wrap, and after seeing this work flawlessly, in my mind... wire-wrap be dead!

 

Brad

 

 

sparrow2 wrote:

I hope that your boards are good quality, I would personally have used wirewrap for this kind of work.

 

My first computer , a Pet 2001, only used TTL , and had about 70 chips. , the only other one that come to mind is a ZX80.

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks!

 

I have done several FPGA / CPLD projects, and Vulcan was done to get away from this kind of thing.

Here is the intro I posted at 6502.org when I started logging this project. This sums up my reasoning (or lack of) for doing this one...

http://forum.6502.org/viewtopic.php?f=4&t=3329

 

 

Like many here, I was introduced to computers in the early 1980's, and have dabbled in electronics and programming at a Hacker's level ever since! Remembering the good ole days, sitting in front of that glowing green screen of my PET-4016 brings back images of a better time, a time when a pixel and a byte were worth something, and a time when you had to hit the bare metal, talking directly to the machine in order to make your programs work.

 

These days, you can purchase a $20 board level computer that runs Linux at 400Mhz, and drop premade code into the flash in order to do just about anything without really knowing anything but how to click a few buttons. Where is the fun in that?! A Raspberry-PI is certainly a powerful piece of hardware for the money, but in my opinion these things do not fit into the electronics hobby zone, nor do they teach much about hardware and bare metal programming. Just a computer without a box.

 

I will admit to going down this path myself, as my last project was a VGA video generator strapped to an AVR. Coding in Verilog for the very first time, I was able to make my project work in one afternoon! With a 1 million gate FPGA capable of running at 400MHz and a hardware synthesis tool that almost thinks for itself, I soon realized that this hobby was getting boring! What was going on under the hood?

So my goal is to devolve back to the 1980's and build a retro game system.

 

Now when I say "Retro", I don't mean some Arduino-thingy running Pacman, I mean a complete system built from the gate level using ONLY hardware that was available in 1984 during the time when the C-64 Animals sat in a room smelling of reefer, staring at hand written schematics made with mostly 7400 logic components. Yeah, these were the days where true Hackers needed more than a set of trendy dark framed glasses and a premade $15.00 embedded kit to call themselves Hackers!

 

The Rules...

 

- Only 7400 logic gates that were available in the 1980's may be used. Chips like 7404, 74688, etc.

 

- All chips must still be available at Digikey and easy to source. So only 74HC logic will be used. No 74LS or e-bay items like 74LS188 may be used.

 

- Although I must only use 1980 era parts, I am allowed to used today's variants. So 74LS is replaced by 74HC (but not 74AC), and all SRAM can be 10ns speed.

 

- All parts must be DIP so they can be used on a breadboard initial prototype. I will bend the rule only in the case of the SRAM, and use SOJ parts, which are certainly hand solderable to a DIP socket.

Absolutely no modern parts such as AVRs, FPGAs, GALS, or custom ICs can be used. If the technology wasn't available to the Vic-20 crew, then I can't use it.

 

- The project must first prove itself on a breadboad. From there it will be hand wired onto perforated board. With an estimated chip count of 200, and a speed of 20MHz, I know this will be fun!

 

The Goals...

- Video must be perfectly stable VGA, putting out 256 colors at a resolution of 400x300 using an 8 bit color space divided into RRR-GGG-BB.

 

- Video must include full 256 color 400x300 bitmapped screens with a seamless double buffer for high speed animations and high detailed images.

 

- The GPU system will include a high speed (20MHz) blitter system capable of dealing with moving variable sized bitmaps from a dedicated 1MB memory bank to the back buffer independent of the 6502 CPU. The entire GPU must be made ONLY of 7400 logic parts.

 

- The sound system will be minimum 4 independent digital sound channels, and include its own 1MB independent sample SRAM. Much like the Amiga, the sound system is independent of the CPU, and again all made with 7400 logic parts.

 

- The completed system must be capable of impressive games (Amiga quality), not just some simple tile engine.

 

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

Last Edited: Tue. Nov 10, 2015 - 01:14 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Added some sound!

AVR being used to stuff the SRAM with sample data for now...

 

https://www.youtube.com/watch?v=CUAbSSq74V4&feature=youtu.be

 

Wiring is a mess for now...

 

 

Rock on, Freaks!

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Eddy and Dave help me out...

 

 

Video...

 

https://www.youtube.com/watch?v=fuJz3ERi8Kg

 

Brad

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

It's been a while since I posted here, since I have been mainly working on the 6502 aspects of this project.

But in a recent design change, I decided to try getting 640x480 with 4096 colors out of my Video Generator.

 

Surprisingly, 1970's logic chips can outperform an Amiga for video!

 

Anyhow, I thought I would share this here, as I used an ATMega for all testing again.

Actually, as a VGA Generator just for an AVR, this thing is pretty damn good...

 

Here is a photo of the output...

 

 

And the mess of wires that makes this...

 

 

Yep, that 40 pin device at the end of the Atmel ISP is an ATMega1284.

It basically receives a serial stream from my PC and fills the Video Memory with the image.

 

All of the heavy lifting is done with nothing more than 7400 logic gates and some SRAM!

This breadboard is just a tiny sliver of the main system, which spans 48 breadboards and will have 400+ ICs on it.

 

Here is the thread showing the system in more detail, including some videos and photos of the other components...

 

http://forum.6502.org/viewtopic.php?f=4&t=3329&start=540

 

Cheers!

Brad

 

 

I Like to Build Stuff : http://www.AtomicZombie.com

Last Edited: Thu. Mar 23, 2017 - 04:51 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow!  ...  Cool!

Oneironaut

Yes, I now have to hand wire 25 of those 36 pin packages to their DIP sockets!

If it was TSOP-44 (II) instead of SOJ-36 then there's a SMT-to-DIP for that :

http://www.proto-advantage.com/store/product_info.php?products_id=2200247

 


http://alliancememory.com/datasheets/AS7C34096A.asp (4Mb, 512K x 8, 3.3V, fast async)

http://www.alliancememory.com/pdf/3.3V_4M_packages.pdf

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Thanks!

 

Yeah, I probably would have went for adapters if they were available.

But then again, I would not have had this kind of fun...

 

 

It took 2 days to solder all 1080 tiny wires, and I ended up doing 30 of these SRAMs!...

 

 

This project will require approximately 400 common 74x logic chips, and 26 of these 512K SRAMs.

The only other IC on the entire board is a 6502 processor (yes, they still make these).

 

Brad

 

gchapman wrote:

Wow!  ...  Cool!

Oneironaut

Yes, I now have to hand wire 25 of those 36 pin packages to their DIP sockets!

If it was TSOP-44 (II) instead of SOJ-36 then there's a SMT-to-DIP for that :

http://www.proto-advantage.com/store/product_info.php?products_id=2200247

 


http://alliancememory.com/datasheets/AS7C34096A.asp (4Mb, 512K x 8, 3.3V, fast async)

http://www.alliancememory.com/pdf/3.3V_4M_packages.pdf

 

I Like to Build Stuff : http://www.AtomicZombie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oh dear lord, you sir are insane.
 

My digital portfolio: www.jamisonjerving.com

My game company: www.polygonbyte.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

... "sound of evil laughter".

 

Jamison wrote:

Oh dear lord, you sir are insane.

I Like to Build Stuff : http://www.AtomicZombie.com

Pages