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

Modding and Technical Issues

Moderator: Moderators

User avatar
RobertBe
Vic 20 Elite
Posts: 2304
Joined: Sat Jul 14, 2007 2:48 pm

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

Post by RobertBe »

Radical Brad wrote:Wish I had access to a nice 1084 monitor instead.
Well, if you can travel over there, perhaps you can borrow one from the Toronto PET User Group.

Happy holidays!
Robert Bernardo
Fresno Commodore User Group
http://www.dickestel.com/fcug.htm
User avatar
joshuadenmark
Big Mover
Posts: 1217
Joined: Sat Oct 23, 2010 11:32 am
Location: Fr-Havn, Denmark
Occupation: Service engineer

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

Post by joshuadenmark »

Love your mancave Brad, thanks for showing :D
Kind regards, Peter.
____________________________________________________
In need of a wiki logon - PM me
User avatar
mingle
Vic 20 Dabbler
Posts: 89
Joined: Sun Sep 25, 2016 2:38 am
Location: Melbourne, Australia

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

Post by mingle »

Great stuff Brad, keep up the excellent work.

That's a very neat man-cave - you know what they say about a neat desk! :-)

Cheers,

Mike.
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!

Well, Toronto is a bit out of my neighborhood. Actually 1400 KM out of my way!
I managed to repair the monitor, it was just a bad plastic spring thingy.

Interesting reading about "desk psychology".
Seems I don't fit into their box of definitions all too well, but that is typical!

When it comes to my parts and workspace (electronics and bikes), I am insanely organized.

I have rules, strict rules. Everything labelled, in numerical order, and all sotrage containers, bins, buckets, etc must also be the same size and color. If I have 10 or more of something, like say a 422ohm resistor, it then warrants a bin with a label. Bins are inventoried and kept on file. I even sort chips by manufacturer, so I have 8 separate bins with various 74HC245 buffers. 64 from Philips, 32 from Fairchild, etc.

Same goes for my bike parts. I have 200+ 10 gallon pails with all parts sorted such as head tube bearing, ring sets, cables, etc.
All pails match, have custom racks built for them, and are inventoried.

But reading about the "neat desk personality" made me laugh.
"Cautious, conventional"... that's so much the opposite of my personality!
I prefer danger, excitement, and tossing caution to the wind to see where the chips land.
The more "impossible" the task, the more I want it.
Forget the "conventional knowledge", it is just a road block for the mind.

I used to keep a messy space, and then one day I tracked the time it was taking over an 8 hour day to locate parts.
It was surprising how much time can be wasted looking for a misplaced tool, or a certain part mixed with others.
From that day, I took neatness to the far level of sanity, and I have been so much more productive.
I force myself to put everything back before the lights go off... no exceptions.

The "discipline" part of the "neat desk personality" is somewhat accurate.
It's not as much discipline as it is the dislike of failure or time wasted.
I will never give up until this project is working exactly the way I want.
A neat workspace gets me to the goal with less resistance.
With such minimal free time, 10 minutes to find a resistor is not acceptable.

I would also have argue with their assessment of "a messy desk is a creative mind".
Every person I have ever met that has a messy desk was just lazy.
Most of them not creative at all. No "Picasso" hiding in there, just slobs!
Their personal lives also seemed to echo their surroundings... messed up.
But those are just the ones I know of. That's the problem with these "trait templates".

I wonder how often these "personality trait templates" are accurate?
Psychology has always been an interest to me.

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 »

All my talking about neatness drove me to clean up some wiring tonight...

Image
VGER-20 beginning to look like something.

The 3 level translators are working perfectly.
I also added the Stereo Audio Port and a new 15 Bit DAC.
Now VGER-20 can display 32,768 colors.

Here is how the 5 Volt TTL VIC-20 talks back and forth with the 3.3 Volt CMOS FPGA....

Image
74LVC245 Buffers to bridge the gap.

I still intend to explore the other buffers as mentioned by eslapion in the previous posts.
For now, my breadboard friendly LVC buffers are working nicely.

Here is the new ultra high precision Color DAC...

Image
This is a 5 Bit x 3 Color Resistor DAC

Ok, by high precision, I actually mean... a bunch of cheap resistors!
I didn't even have the correct values, so I used a parallel / series configuration.
Colors look good though when I display the palette using the VIC-20 Basic test program.
Later, I will use the proper values and 1% tolerance resistors.

I still have not had the time to test all of the new Graphics Commands.
Once I get that done, I will whip up something interesting to look at.
VIC-20 Graphical Eye Candy coming soon!

Later,
Radical Brad
norm8332
Vic 20 Nerd
Posts: 626
Joined: Sun Nov 13, 2016 11:04 am
Location: USA

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

Post by norm8332 »

Man, that breadboard works looks awesome! Where may I ask did you get all that different colored solid wire from, I need some.
“In religion and politics people’s beliefs and convictions are in almost every case gotten at second-hand, and without examination... whose opinions about them were not worth a brass farthing.”

-Autobiography of Mark Twain
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

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

Post by eslapion »

Radical Brad wrote:Ok, by high precision, I actually mean... a bunch of cheap resistors!
R-2R always does a good job...

https://en.wikipedia.org/wiki/Resistor_ladder
norm8332 wrote:Where may I ask did you get all that different colored solid wire from, I need some.
I have a ton of 22 awg single braid wire of 9 different colors that's been sitting in my stash for nearly 15 years. Want any ?
Be normal.
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!

I usually use AWG20 for soldering point-to-point board prototypes, and I use CAT-5 wire bread-boarding.

I see people trying to make neat breadboards using the supplied stranded wire, and cannot figure out why they supply such thick impossible wire to use on a breadboard. That may be ok for a LED blinky project, but for anything substantial, you need smaller solid core wire.

The absolute best (and least expensive) bread-boarding wire is CAT-5 (twisted pair networking cable).
I have been using the same box for over 10 years, and as you can see... I use a LOT of wires!
You also get white, red, green, brown, blue wires, which is a good palette for this kind of work.

Here is a quick tutorial I posted a while back over on 6502.org when someone asked...

Tools Required
- Side Cutters
- Knife
- Free time


Image
A box of Cat-5 wiring. 500 feet will last you a while!

I use Cat-5 wiring for all of my breadboard work, as it is economical, easy to shape, and solid core.
Cat-5 has 8 wires; 4 white, and 1 red, 1, green 1 blue, 1 brown. A good selection for bread boarding.
This size and type of wire is absolutely perfect for a breadboard. Much better than the fat wire kits.
You don't have to buy an entire box, but I wired 2 floors of my house and still have a lifetime supply.


Image
Cutting the segments to the required length.

When I do final breadboard wiring, I like all bus wiring to be the same length and color. I am fussy that way.
To plan the wiring, I measure the distance, including the bends along the way, and than add 1 inch to that.
Wires are cut from the box of Cat-5 into the required lengths, remembering that there are 8 wires per cut.


Image
Trim the outside shield back about half an inch to pull the wires.

To extract the 4 twisted pairs, I cut back on the outer shield to about half an inch using side cutters.


Image
Exposing the 8 wires. There are 4 twisted pairs.

You can then hold the end of the wire and pull the twisted pairs from the outer shield.
On a very long wire (over 12 inches), you may need to grasp the pairs with pliers when pulling them free.


Image
The 4 twisted pairs pulled form the outer shield.

You now have 4 sets of twisted pairs, each color includes a white wire.
These colors (red, green, blue & brown) are a good selection for bread boarding actually.
I typically use red and green for GND and VCC, blue for data, brown for control, and white for addresses.


Image
Untwisting of the wiring pairs.

To untwist the wiring pairs, hold the wire lightly with your thumb and finger, and then spin the wire.
This takes a bit of finesse, but once you have it down, you can untwist a long wire in seconds.
One odd thing I have noticed after doing computer wiring for many decades is that the twist differs for colors.
The brown and red pair always have a lesser twist than the blue and green pairs. Must be a reason!


Image
Drag the wire over a round surface to make it straight.

Ok, now you have a bunch of individual wires, but they are all wavy from being twisted together.
To make the wires straight again, drag them over a round surface like a pen, holding them tight as you pull.
This operation may take a few pulls, and if you bend the wire about 90 degrees around the pen, it helps.

Image
Exposing the bare copper for the breadboard.

To expose the bare copper wire for insertion into the breadboard, I just use a small pocket knife.
Roll the fire along the blade edge so that you are cutting about 1/4" of shielding away.
A knife that is somewhat dull is probably better until you get the finesse of not pushing too hard!
A quick roll of the wire to make a cut line will be enough to then pull the shield away with the blade edge.
After hundreds of feet of wire cut and stripped, I have yet to cut my thumb.
You could also try a wire stripping tool, but that would certainly take a lot more time.

Image
1/4" is the perfect length of bare wire for the breadboard.

Most breadboards are held to an aluminum backing plate with some double sided tape.
Some ultra cheapo boards may only have a sticker on the back and no grounding plane at all.
The 1/4" length of wire prevents "over reaching" beyond the wire clip and into the base of the board.
If you push the wire too far into the board, then you may actually poke through into the ground plane.
A wire too short will on the other hand, pop out of the board easily.
After stripping a few hundred ends, you get used to knowing what 1/4" looks like.


Image
The perfect breadboard wire resting in its new home!

Now you have an endless supply of wire that is absolutely perfect for bread boarding purposes.
This wire is thin, can be bent into shape, has a decent color spread, and is very cost effective.
The worst possible wire is stranded, hard to shape, and comes in an expensive pre-cut kit!

Colors make all the difference when trying to debug a large board.
I actually pre-cut many different lengths.

Image
A Pile of small "Data Wires". I like blue for the Data Bus.

Now I can tell that the blue wires select data for these 74HC688 comparators.

Image
A simple VGA generator using comparators to create a state machine.

I also use this same wire for point-to-point perforated board circuit designs.
For neatly wrapping bus bundles, just use a 2 inch section of white wire and coil it around the bundle.


Usually, wiring is just plastered down without trying to be neat during initial testing.

Image
Trying out a simple blitter. What a wiring mess!

Once things are working, I shorten the wires, and hand bend them to fit.
This is like making a tiny exhaust pipe to fit under a car, but you don't need a pipe bender!

Clean wiring makes for a much nicer board that is easy to alter of debug...

Image

Sorry for the long winded answer, I thought a few photos would be better than... "just cut up network wires"!

Cheers!
Radical Brad
Last edited by Radical Brad on Thu Dec 28, 2017 7:26 pm, edited 1 time in total.
norm8332
Vic 20 Nerd
Posts: 626
Joined: Sun Nov 13, 2016 11:04 am
Location: USA

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

Post by norm8332 »

Thanks for that very informative post! I think I do have some solid core CAT5 cable, I just never thought about it until you pointed it out. I've been using Chinese jumper cables and my boards always look like spaghetti because they come in limited lengths.
“In religion and politics people’s beliefs and convictions are in almost every case gotten at second-hand, and without examination... whose opinions about them were not worth a brass farthing.”

-Autobiography of Mark Twain
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 »

My god could you please keep doing this kind of post? :D

This gives a noob a fighting chance.
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 »

If by "noob", you mean someone that does not do electronics for a living, and someone that just hacks away at things without any formal training, then I am glad to be part of your club!

Don't be afraid to turn your notepad sketches into reality. Just take it one small part at a time.
The best experience is hands on the hardware!

Thanks for the comments!
Brad
toby405 wrote:My god could you please keep doing this kind of post? :D
This gives a noob a fighting chance.
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 have been experimenting with different "default" palettes for the GPU.

Since the colors are fully programmable using 256 of 32768 colors, I wanted to have at least some basic palette ready on power up. The VIC-20 can reprogram them all any time, but at least there will be something other than black showing ont he screen by having a "default" palette. This is much the same deal as the original VGA adapter.

Here is my 16 shades of 16 colors default palette being drawn to the VGA by a VIC-20 Basic Program...

Image
256 Colors, using 16 shades of 16 different hues.

I chose to divide the palette into 16 x 16 so that a single 16 color sprite could be "color shifted" to make 16 different shades of the same Sprite. For example, a ball graphic made of 16 black and white shades (colors 0-15), could become a green shaded ball by shifting the palette by a value of 48. To make this happen instantly, I added a command in the GPU called "Color Shift". This is also similar to the way the Amiga could cycle colors to achieve graphics effects that seemed to be out of its pay grade.

That's all I have time for.
Not much yet, but it won't be long before my VIC-20 starts doing some real magic.

Oh yeah... I have been to lazy to put the front back on my recently repaired monitor!

Cheers, and thanks for all the positive comments!
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 »

Hey C64, VIC just got Sprites!

Image
A 64x64 Pixel Sprite being drawn from VIC-20 Basic!

Although Basic is probably 1000 times as slow as pure 6502 assembly, it still has balls.
... groan, I know!

Anyhow, this very basic test proves out several of the important Commands in the VGER-20 System...

- Clear Screen
- Draw Lines
- Set Palette
- Set XY Locations
- Draw Sprite
- Set Alpha Color
- Shift Colors

The Sprite is saved as 32 shades, and the Palette is programmed as 32 shades of 8 colors.
This way, I color shift of 32 changes the overall ball color on each screen rebound.

Image
This Sprite has 32 shades, which can be cycled.

Here is a Video of VIC doing some magic...


https://youtu.be/OvVRkKCmn4w


In assembly, I would imagine the VIC-20 could hurl 50 of these Sprites around.
I better cover up my C64 so it doesn't get jealous and start asking for an upgrade as well!

I still have to test several more functions one at a time, and then I will start some assembly programming.
After that, I will put down the VIC-20 32K expansion SRAM so programs can be loaded and assembled.

Soon, the VIC-20 shall become the most powerful upgraded stock 8 Bit computer ever!
... you go VIC!

Cheers,
Radical Brad
User avatar
mingle
Vic 20 Dabbler
Posts: 89
Joined: Sun Sep 25, 2016 2:38 am
Location: Melbourne, Australia

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

Post by mingle »

Wow, great progress.

I reckon you're selling yourself short - having this level of ability is something pretty special.

I know from experience how tricky this stuff can be very, very tricky to grasp. To have an innate ability is amazing.

Keep up the great work - and don't let the praise go to your head! :-)

Cheers,

Mike.
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 »

Very interesting read. I notice you don't use a lot of decoupling caps near each IC. Have you run into any issues with that? I would have thought the very nature of breadboard design would need more caps not less.
Cat; the other white meat.
Post Reply