6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Tue Sep 24, 2024 7:24 am

All times are UTC




Post new topic Reply to topic  [ 122 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8, 9  Next
Author Message
PostPosted: Sat Oct 20, 2018 8:51 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8514
Location: Southern California
Oneironaut wrote:
One more test, this time a basic color screen to check the 184x176 format

Really? The staircasing suggests half that many. (I didn't count all the way across, only partway, and then did a rough extrapolation.)

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 20, 2018 9:13 pm 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 642
Location: Gillies, Ontario, Canada
The VIC offers two options when a screen is composed of 23 x 11 dual height characters...

1) 184 x 176 in single color.
2) 92 x 176 with 4 colors.

As your keen eye suggests, what I posted was the later.
My system can do both, although I will most likely always use 92 x 176.

Internally though, JetPack always works with 184 x 176 pixels of 8 bits (32,384 bytes per frame).

Brad


GARTHWILSON wrote:
Oneironaut wrote:
One more test, this time a basic color screen to check the 184x176 format

Really? The staircasing suggests half that many. (I didn't count all the way across, only partway, and then did a rough extrapolation.)


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 30, 2018 7:43 pm 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 642
Location: Gillies, Ontario, Canada
Since it has been warmer than normal these days, the deer have been living in the garden, so my time has been spent creating a 10.5 foot tall fence around the 800 foot perimeter!

I did clean up the IO segment of the JetPack schematic, making a few alterations as well.

Image
JetPack Port Switch and IO Buffer Section

Full size...
http://lucidscience.com/temp/JetPack%20-%20Port%20&%20Frame%20Switch%20OCT%2030%202018%20L.png

Some of the significant modifications are...

- Added IO lines for RAM 1,2,3 decoding.
- Added a 4th independent RAM Bus (Audio Data).
- Changed the AND gate to 74HCT08, and moved it to the VIC side.

JetPack now mixes 4 independent SRAM sources on the fly to create virtual data to be read by the 6502 in the VIC-20. Three of the streams (Pixel, Color, Audio) are used directly by the VIC to generate frames at 30 FPS, and the other stream (Frame Code) is used internally by Jetpack to help with the mixing of data, and to generate events such as counter clocks, resets and frame sync.

The mixing of these individual memories to create the "Virtual Frame" is a very complex operation, synced very closely to the position of the VIC-20 raster beam. The end result is a combination of 6502 Code, Pixel, Color, and Audio information that the VIC uses to generate a multimedia experience never before considered possible on the Friendly Computer.

I hope to soon breadboard the small segment shown in the above schematics to prove out the timing.
From there, it will then be right to the Sprite Generator section of the GPU.

Cheers,
Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 31, 2018 10:02 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1429
Slightly offtopic:
After taking a look at that JetPack startup screen showing a rocket,
I just had to do a little search for space themed pixel art.

To me, this here really looks nice.

Edit: felt a need to add a downsized copy of a picture from Norma2D's gallery.
Attachment:
norma2d.png
norma2d.png [ 50.48 KiB | Viewed 1869 times ]


It's just a thought... but maybe we should try to ask a skilled artist for making a more impressive startup screen later.


Last edited by ttlworks on Wed Oct 31, 2018 3:46 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 31, 2018 1:31 pm 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 642
Location: Gillies, Ontario, Canada
Very nice works for sure!
I want to do an animated game like Dragon's Lair / Space Ace for JetPack one day, and this type of lo-color art is perfect.

I can easily achieve 30 FPS with many massive backgrounds and hundreds of Sprites, but the real constraints will be working with the VICs 4 color per block limitations. More on that later, but thanks for the link, it was inspiring to see that page.

Brad


ttlworks wrote:
Slightly offtopic:
After taking a look at that JetPack startup screen showing a rocket,
I just had to do a little search for space themed pixel art.

To me, this here really looks nice.

It's just a thought... but maybe we should try to ask a skilled artist for making a more impressive startup screen later.


Top
 Profile  
Reply with quote  
PostPosted: Sun Nov 04, 2018 8:47 pm 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 642
Location: Gillies, Ontario, Canada
The monster grows!

I finally have a free Sunday afternoon in my lab, and over the last few weeks have made some project decisions that will certainly require a much larger breadboard and table to work on.

Looking back on all of the high speed video work I did on the Vulcan-74 Project, it seemed sad to not reuse a lot of the technology on this final project. But since I settled on using the original NTSC output from the VIC, VGA certainly had no place.

But over the week, I have had time to think (perhaps too much time!).
So I have decided to recycle some of the Vulcan tech here, but this time as an NTSC video stream.
Yep... NTSC completely bit banged from logic components. I have done this before.
I will capture the VIC video, and strap some enhanced sprites right over the original output.
This allows me to keep to 1980's tech, celebrate the original VIC graphics, but also add the bling.

The result will be the single largest project I have ever considered.
The initial breadboard design will probably require at least four MOABs!!
Looks like I need to order another 50 breadboards to make 2 more panels.

The final kick that helped my make this decision is a private message I recently received.
In that message a member suggested that my projects were too expensive and crazy huge to be "adopted".

Yeah... for sure that's true!

But I never in a million years thought about selling or doing this in hopes that anyone else would be insane enough to even consider building any of my monsters! Let's face it, you have to be crazy to spend $500 on a breadboard and parts that will take 3 years to wire up, just to then do it all again on a hand wired copper bar PCB that will probably cost another $1000 in parts and take 4 more years to get working! I do this because I enjoy it, and that's the only reason.

Anyhow, I had a chuckle form the message, and realized that I was cheating myself by not adding a video generator circuit completely made from scratch. Was I getting afraid of wires??? Bha... bring it on. I will have video output in this project, and it will be the most complex circuit I have ever imagined! Sprites, megabytes of high speed SRAM, crazy fast blitting, VIC-20 sync decoding and overlay, multiple external 6502 CPUs working together under VIC control... Yes!!!

So today, I am completing the VIC-20 external 32K bank switcher and boot ROM loader as planned, and will soon post schematics on the NTSC video generator I plan to make. It will look much the same as the hardware on the Vulcan-74 boards, but will require at least 50% more logic, as NTSC is so much more technical a signal to generate. Compared to NTSC, VGA is child's play, which is why I am fully energized to get moving on this project again.

As for the generated NTSC video, it will be Half-HD overscan with 16384 colors, delivered as 8 Bit Luma * 5 Bit Chroma.
Yeah, that's twice as many colors as the original Amiga, and there won't be any wonky HAM artifacts.

Ok, typing time is over, I have wires to connect... millions of wires.

Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 05, 2018 2:53 am 
Offline
User avatar

Joined: Mon Apr 23, 2012 12:28 am
Posts: 760
Location: Huntsville, AL
VGA: 1987-present. Think it qualifies as 1980s technology.

_________________
Michael A.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 05, 2018 4:16 am 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 642
Location: Gillies, Ontario, Canada
Almost! I am stuck living in 1982, and even if VGA was age appropriate... I have no glass VGA monitors.
This project must have glass, so my trusty 1702 will be the window to the magic.

Brad

MichaelM wrote:
VGA: 1987-present. Think it qualifies as 1980s technology.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 05, 2018 1:23 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Oneironaut wrote:
I have no glass VGA monitors.
Just stop by my place, Brad, and I can help you out! :P (Take my junk... please!!)

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 05, 2018 1:32 pm 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 642
Location: Gillies, Ontario, Canada
I might consider that for sure!
Any chance of a 1702 being offered for sale?
I have been searching for a year now, but as you know... it's Canada, so shipping by dog sled is EXPENSIVE!

Brad

Dr Jefyll wrote:
Oneironaut wrote:
I have no glass VGA monitors.
Just stop by my place, Brad, and I can help you out! :P (Take my junk... please!!)


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 05, 2018 1:42 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1228
Location: Soddy-Daisy, TN USA
Oneironaut wrote:
The final kick that helped my make this decision is a private message I recently received.
In that message a member suggested that my projects were too expensive and crazy huge to be "adopted".

Yeah... for sure that's true!

But I never in a million years thought about selling or doing this in hopes that anyone else would be insane enough to even consider building any of my monsters! Let's face it, you have to be crazy to spend $500 on a breadboard and parts that will take 3 years to wire up, just to then do it all again on a hand wired copper bar PCB that will probably cost another $1000 in parts and take 4 more years to get working! I do this because I enjoy it, and that's the only reason.


I say keep on being you. I'm sure some people think I'm nuts for studying 8" floppy drives, cassette interfaces and trainer computers. Or nuts because I restore so many vintage computers (like the horribly painted TRS-80 Color Computer I'm working on now).

When it comes to my vintage computers, people have asked me, "But what can you do with it?". My response is always, "Anything I want.".

Rock on....

Oneironaut wrote:
As for the generated NTSC video, it will be Half-HD overscan with 16384 colors, delivered as 8 Bit Luma * 5 Bit Chroma.
Yeah, that's twice as many colors as the original Amiga, and there won't be any wonky HAM artifacts.


The original Amiga had 4096 colors so I think you're 4x that. IIRC, it also had 4-bit luma so maybe that's that you're thinking.

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 05, 2018 2:40 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Oneironaut wrote:
Any chance of a 1702 being offered for sale?
There's a 1701 here you can have -- would you like me to check whether it's in working order?

Quote:
shipping by dog sled is EXPENSIVE!
Be sure to wink when you make these jokes. Some forumites might not realize Ontario covers an immense span of latitude! For example I'm on a parallel with the southern border of South Dakota (and you're a lot closer to me than to Santa Claus! :P )

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 05, 2018 3:01 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
(London, Ontario is, remarkably, 900km further south than London, England. It's about the latitude of Marseille.)


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 05, 2018 7:56 pm 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 642
Location: Gillies, Ontario, Canada
I now have the Kernal Loader up and running.
Wiring is a disaster right now, but all seems to function.

Image
Kernal loader and Expansion RAM

I wrote the start of my "JetBasic OS" wedge, and loaded it into Block 5...

Image
Modified VIC-20 Welcome Screen

My wedge adds a new set of commands to the VIC-20 Basic OS.

New JetPack commands begin with a period. My wedge looks for this special character and then intercepts the basic user input and executes whatever routine is called. For instance, issuing ".IO2,100" writes a byte with the value of 100 directly to the expansion port at IO2 address 38912. I am using this to test communications with the command latches on the breadboard.

Soon I will create an entire subset of JetPack Commands to make a new VIC-20 OS.
Perhaps something like this...

.MOUNT (Mount a new external RAM device such as an SD card or Serial RAM)
.DIR (Show director of mounted device)
.EDIT "Boing.asm" (Launch the IDE to edit a file on the device)
.RUN "Boing.asm" (Compile and run the 6502 assembly program)

For now, I am concentrating on the basic IO from the VIC to the JetPack Breadboard, just for testing the the hardware as it is developed. I plan on moving directly to the NTSC Video generator as soon as this current wiring mess is up to my usual QC standards.

So at this point, I have a modified VIC-20 Basic OS, 32K Expansion RAM, and latched IO lines to the Breadboard.
Only 600 more ICs to wire up!

Cheers,
Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 06, 2018 3:16 pm 
Offline
User avatar

Joined: Mon May 25, 2015 2:25 pm
Posts: 642
Location: Gillies, Ontario, Canada
Yes, the 16K color statement I made was a mistake.
Using 8 bits of Luma, and 5 bits of Chroma, I will end up with 8192 Colors.
So only twice as good as Amiga HAM mode!

I chose 5 bits of Chroma because 8-10ns is the shortest controllable propagation delay I can make using 74HC logic (74HC234 in this case). By feeding 4 buffers (each with 8 IO), I can control 32 individual color burst phase delays, giving a final palette of 32 colors. Using 256 shades of 32 colors will be a nice even palette of 8192 colors.

The other 3 bits left over in the Chroma RAM will also go to good use...

BIT 05 : Alpha color for transparent Sprites
BIT 06 : Sprite Counter X Wrap / Y Count
BIT 07 : End of Sprite Data

By using these extra bits as shown above, the actual Sprite Data will contain microcode that will greatly speed up the X/Y counter circuitry as well as the Alpha (invisible) color generation.

Brad


cbmeeks wrote:
The original Amiga had 4096 colors so I think you're 4x that. IIRC, it also had 4-bit luma so maybe that's that you're thinking.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 122 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8, 9  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 49 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: