VGER-20... A Multi-Media Expansion Cartridge.

Modding and Technical Issues

Moderator: Moderators

User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

Thanks, and Happy 7E2 to everyone here.

It's more trial and error + stubbornness than some innate ability, but it gets the job done!

I think the parallel lines in the breadboard act as capacitors, so it' kind of a built in feature.
Sometimes this works for you, some times against you.

That massive breadboard I posted a few pics up runs at 40MHz, and what is shown is only the first half.
... so a breadboard can certainly be used for some real high speed design.

On a real PCB, I usually add .1uF to all VCC and GND pairs on the ICs.
I also follow the recommendations for any FPGA or CPLD (mostly).

Cheers!
Brad
User avatar
cbmeeks
Vic 20 Enthusiast
Posts: 190
Joined: Tue May 18, 2004 12:36 pm
Website: http://meeks.co
Location: 8-bit Land
Occupation: Code Monkey

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by cbmeeks »

Speaking of FPGA, it looks like you have the Mojo v3 board. I have that exact same board. Did you replace the clock with something faster? What speed?
Cat; the other white meat.
User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

I put down a 20MHz clock so I could work in multiples of the 800x600 VGA standard (40MHz).
I also ripped up the LEDs to get more IO lines.
VGER-20 is using 90 IO lines... all of them!
It's been a great board so far. A little slow on loading time with a full SLX9, but reliable.

When I do my own PCB, I will probably copy the power supply and general layout of the Mojo.

Brad
cbmeeks wrote:Speaking of FPGA, it looks like you have the Mojo v3 board. I have that exact same board. Did you replace the clock with something faster? What speed?
User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

So far it looks like all of the GPU Commands are working as expected.
I still have to add all the rotations for the Sprite Commands, and test my Bresenham line draw.

4 Channel sound has also been added, but I need access to an external memory source to fully test the Sound Commands since they work with sampled audio data.

I have now outgrown VIC Basic for the remainder of my testing, and will have to move to assembly.
Basic certainly works, but I need to work at high speed now.

To get into assembly, I have added the 32K Expansion Memory to the breadboard.
In the usual fashion, VIC sees memory on Blocks 1,2,3, and 5. Boot code is in Block 5.
I will soon add the AVR that will act as a "Chipset" to the VGER-20 system.
The AVR will load the OS memory in startup, and give access to external SD memory.

With no OS / Assembler yet, I plan on testing the functions like so...

1) Code 6502 assembly using the Kowalski Macro Assembler (great program!).
2) Save the assembled code as a binary image.
3) Use my PC -> Cartridge program to upload the data to the AVR.
4) Press reset and let the AVR load the OS, and boot the VIC

This sequence of events only takes a few seconds once I press assemble on the PC program.

The ability to code and test quickly like this is an absolute must have feature, since I may make 100 changes to a simple routine before it is working perfectly. I am insane when it comes to optimizing 6502 code, so I can't be waiting 15 seconds each time I want to see a change. FPGA programming is actually painful like that... you have to "Synthesize", which on my 32GB Core-7, can sometimes take 15-20 minutes depending on how full the FPGA gets.

Next step will be to test the 32K recently added to the board. Instead of using the usual AND Gate decode logic, I just told the FPGA to handle it...

Code: Select all

///////////////////////////////////////////////////
////////// PORT : VIC-20 EXPANSION MEMORY
///////////////////////////////////////////////////
output OSMEM13;
output OSMEM14;
output OSMEMCE;
assign OSMEM13 = (VICB1 == 0 | VICB2 == 0) ? 0 : 1;
assign OSMEM14 = (VICB2 == 0 | VICB3 == 0) ? 0 : 1;
assign OSMEMCE = (VICB1 == 0 | VICB2 == 0 | VICB3 == 0 | VICB5 == 0) ? 0 : 1;
That's all it takes to create a 5ns quad AND gate to decode a 32K SRAM into four 8K segments.
Verilog really is one of the easiest languages to learn, and it commands so much power.

Later,
Radical Brad
User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

Man Cave time has been limited lately, so I took some time to work on the Schematic and Hardware design. After adding the component models to the 3D, I was able to shave a lot of size of the unit, and remove the section the wrapped around the back of the VIC-20 case.

Here is the new layout with most of the main ICs on the board for reference...

Image
Possible layout for the VGER-20 Cartridge.

The main ICs shown above...

(1) Spartan-6 SLX9 FPGA in a TQFP-144 package
(1) XMega-324 Microcontroller in a TQFP-64 package
(1) FPGA Config ROM in a SSOP-20 package
(4) 74X245 Level Translating Buffers in a 20 package
(8) 512K SRAMS in a SSOP 44 package

There are a few other components, but they have more than enough room now.
Gold plated... of course!

I also took some time to bang out a schematic showing what I have working now.
The only thing missing is the AVR "Chipset", which will do the boot process and file system.

Image
This is a large image - right click to view full size.

My next step is to get the AVR installed so I can load some assembly code into the VIC-20.
The AVR will stuff the 32K expansion RAM with my test code, and eventually Operating System.

Progress is slow when you only have a few hours per week for a project, but it will be worth the wait.
So far, interfacing to the VIC-20 has been smooth sailing.
... more credit to the original designers than my hacking efforts for sure!

I am, looking forward to seeing how my Assembly ball bounce demo compares to the Basic test I did.

Later!
Radical Brad
User avatar
toby405
Vic 20 Amateur
Posts: 46
Joined: Fri Dec 21, 2012 8:33 pm
Location: USA

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by toby405 »

I am, looking forward to seeing how my Assembly ball bounce demo compares to the Basic test I did.
Me too.
User avatar
highinfidelity
Vic 20 Nerd
Posts: 644
Joined: Thu Jul 28, 2011 2:34 am
Website: http://www.hirtel.it
Location: Torino, Italy.

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by highinfidelity »

Radical Brad wrote: Image
Radical Brad
My goodness, this is by far the most complicated homemade array of prototyping boards that I've ever seen! Hats off! :shock:
GOD is REAL. Unless declared DOUBLE PRECISION.
User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

Thanks.
That's just the video half. The Audio Board is a bit larger, and is starting to outgrow the board.
I may need to add a 3rd board of this size when the project is completed!

The longest wire on the board is now 16 inches, and carries a 20MHz signal.

Brad
highinfidelity wrote:My goodness, this is by far the most complicated homemade array of prototyping boards that I've ever seen! Hats off! :shock:
User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

I think I know why I have never seen a bad VIC-20 IC in all my time using a VIC (and that's a fair amount of flight time).
It's because the chips are mainly damaged by heat, which is something I do not have a surplus of.

Took this on my way to work this morning...

Image

Anyone want to complain about the cold???
Yeah... it's been like this almost all week long now.

My VIC lab is at one end of my house, 80 feet from the woodstove, and since I have so little time, I often don't bother to try warming the place up using the little 2500 watt electric heaters. I put on my toque, 3 sweaters, and try to stay warm next to the VIC-20 power supply and soldering iron!

Toque?... yeah, that's this, eh...

Image

So perhaps that's the reason every single 2 prong VIC I have ever seen has never cooked an IC... it's just too cold!

In my search for another VIC, I see many newer units for sale on Ebay.com for a great bargain, but shipping to Canada is just too much. I find the odd beat up 2-pronger for sale on Ebay.ca, but the deals not abundant like they are in the USA.

One thing I did notice is that no matter how beat up the Ontario VIC was, the ad usually said "working". 8 missing keys, totally yellow case, cracked plastic, but... working! Canadian VICs are too cold to fry!

Just my frozen brain rant of the day as I try to warm up this morning!

Cheers,
Radical Brad
User avatar
cbmeeks
Vic 20 Enthusiast
Posts: 190
Joined: Tue May 18, 2004 12:36 pm
Website: http://meeks.co
Location: 8-bit Land
Occupation: Code Monkey

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by cbmeeks »

That's certainly cold. I had to convert to F because I'm an American. :-)

Coldest I've ever seen was -20 F (~ -29 C). I live in SE Tennessee (USA) and bitter cold is unusual for us. Even though it's been around 8-20 F all week. Most of the time, you can wear short sleeves and no jacket during winter. Our summers are brutal...a couple of years ago we saw 112 F for several days straight during summer. So I welcome the cold. :-)
Cat; the other white meat.
User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

Lately, there have been only weather extremes around here as well.
I took this photo last summer...

Image

Yep, that reading is 118 F degrees.
My satellite outpost was almost in meltdown mode.
Compared to this morning, that's more than 80 degrees difference!

This nice thing about my basement ManCave is that it never gets over 65 F degrees.
The warmest thing in my lab is either the soldering iron, or the 6560-101 IC.

Brad


cbmeeks wrote:That's certainly cold. I had to convert to F because I'm an American. :-)

Coldest I've ever seen was -20 F (~ -29 C). I live in SE Tennessee (USA) and bitter cold is unusual for us. Even though it's been around 8-20 F all week. Most of the time, you can wear short sleeves and no jacket during winter. Our summers are brutal...a couple of years ago we saw 112 F for several days straight during summer. So I welcome the cold. :-)
User avatar
cbmeeks
Vic 20 Enthusiast
Posts: 190
Joined: Tue May 18, 2004 12:36 pm
Website: http://meeks.co
Location: 8-bit Land
Occupation: Code Monkey

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by cbmeeks »

Radical Brad wrote:The warmest thing in my lab is either the soldering iron, or the 6560-101 IC.
I would hope that a soldering iron would always be the warmest thing in any given room...at least any room occupied by humans. I typically keep my soldering iron around 700-750 F when in use. LOL
Cat; the other white meat.
User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

Last week a 74HC245 was the warmest thing on the bench.
I wired up a row of them, hit the power , then went upstairs to get more java.
When I returned, the room was full of that all to familiar smell... BBQ Chips!

Full power reversal for 10 minutes, and it was still cooking thanks to my 2.5 amp 5 volt supply.

One thing I still have to learn... let the IC cool before plucking it from the board.
... still have one slightly missing finger print.

Brad
cbmeeks wrote:
Radical Brad wrote:The warmest thing in my lab is either the soldering iron, or the 6560-101 IC.
I would hope that a soldering iron would always be the warmest thing in any given room...at least any room occupied by humans. I typically keep my soldering iron around 700-750 F when in use. LOL
User avatar
TLovskog
Vic 20 Enthusiast
Posts: 194
Joined: Fri Mar 25, 2011 3:16 pm
Location: Kävlinge, Sweden

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by TLovskog »

highinfidelity wrote:My goodness, this is by far the most complicated homemade array of prototyping boards that I've ever seen! Hats off! :shock:
I most definitely agree. By a factor 10 ... sweet Jesus ... and I though my 68000 system I wired up in the 80's was error prone to broken cables ... this must be ... well I am clearly to old.

My deepest bow and the hat of to you Radical Brad.
BR
Thomas Lövskog
User avatar
Radical Brad
Vic 20 Devotee
Posts: 256
Joined: Sat Jun 24, 2017 8:18 pm
Website: http://www.AtomicZombie.com
Location: Kakabeka Falls, ONT
Occupation: hACKER

Re: VGER-20... A Multi-Media Expansion Cartridge.

Post by Radical Brad »

Well thanks!
To me it just seemed like a bunch of simple logic that grew and grew.
None of the chips are complex, just 74HC gates.

A lot of what I am doing on VGER-20 is based on what I learned doing the huge breadboards.
Here are some vids of the giant board during early development...

Image
https://www.youtube.com/watch?v=chACO3WNtg0

Image
https://www.youtube.com/watch?v=XuzK2BwvmKQ

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

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

Working with basic 74 logic is a lot like assembly programming.
Just one simple bit at a time until the magic happens!

Cheers,
Brad
TLovskog wrote:
highinfidelity wrote:My goodness, this is by far the most complicated homemade array of prototyping boards that I've ever seen! Hats off! :shock:
I most definitely agree. By a factor 10 ... sweet Jesus ... and I though my 68000 system I wired up in the 80's was error prone to broken cables ... this must be ... well I am clearly to old.

My deepest bow and the hat of to you Radical Brad.
Post Reply