Framebuffer - VGA from Scratch - Part 3

preview_player
Показать описание

In this video I add a framebuffer to the developing vga circuit. In many ways this makes the circuit a complete (if simple and low specification) vga adapter that we'll go on to add functionality too in future videos. Adding the framebuffer only increases the visual quality a little bit (The horizontal resolution is no longer limited by cpu clock rate) but it does free up the cpu.

To demonstrate this I write some decompressor code that could be called basic looped video or gif type animation playback and use it to play some recognisable animations on the cpu/vga combination.

0:00 Introduction
0:29 Re-cap
4:40 Adding X/Y Counters
10:45 Memory Interface discussion
11:34 (1) Duel Port Ram
13:31 (2) Time-Division Multiplexing
15:30 (3) Bus Request
18:20 (4) Hybrid
21:00 (4.1) Hybrid+
21:56 Adding the Ram
28:55 Interfacing
34:19 Back to the cpu
38:40 Pattern Test
40:57 Image test
42:38 Corruption!
43:50 Animation Test
45:30 Post credits scene
Рекомендации по теме
Комментарии
Автор

These are the vga capture devices I purchased from amazon.co.uk
Equivalent looking links from amazon.com:

weirdboyjim
Автор

I want to let you know that, even if this series has a really low views/quality ratio, it's extremely informative and entertaining for the ones that do watch it. Thanks

Otakutaru
Автор

I love watching the schematic and breadboard being created at the same time

mekafinchi
Автор

That write FIFO is a really elegant solution to allowing much greater software freedom over video ram, I'd love to see it implemented

mekafinchi
Автор

I recently found this YouTube gem. The presentation, the technical details, the solution. We need to start promoting this channel is so underrated.

joga
Автор

Absolutely bloody brilliant! The last seconds are the icing on the cake. 🤣🤣🤣 Well done James, well done!

Peter_S_
Автор

Interesting to watch you work on what was THE number one issue back in the old days.... getting a picture on the screen without strangulating the CPU. I've gotta vote for "show us the FIFO" too. :)

edgeeffect
Автор

I like the Hybrid++ design the most! Reminds me a bit of my own system, or at least very similar to how I originally envisioned everything.

zment
Автор

Vote for the FIFO.
Would be interesting about handling the situation where the FIFO fills up prior to the VGA getting to a blanking interval.

johncochran
Автор

Seriously, at some point, you're going to run out of ways to blow my mind - the Nyan cat animation is staggeringly good!
And, probably most importantly, this is the only time I haven't minded being rick rolled, haha!

UsagiElectric
Автор

Amazing work and great video, thank you. Reminds me of the computer boards I was working with around 1985, the 8 inch floppy disc drive controller board alone used about 90off 74 series chips.

piclife
Автор

Loved the work on the frame buffer, this was really fun to watch. You were competing with the 2021 Gymnastics Final but my eyes tended to stay on this, lol. I would also like to submit a vote in favor of the write FIFO. It would complete the design and be a nice fix for the corruption issues.

gnudarve
Автор

This series is looking like the practical complement my Digital Systems course in High school should have had in its second year. All the basics to make a computer where there yes (mux, demux, flipflops etc etc), but the amount of work needed to be done on top of that knowledge without any other information would be huge, this would have had a absolutely positive impact on the course overhall quality and ensuring practical knowhow would be achieved in much greater depth.

wskinnyodden
Автор

Thanks again for another video. I liked the discussion on how to solve the memory access issue. As someone who also balked at the price of dual ported RAM (seriously, it's 2021, how can this not be dirt cheap now?) it was nice to hear the discussion of alternatives.

Philip
Автор

Brilliant work, James. Rick's moves looked pretty fluid. I've finally added video output to my new backplane build, but using a TMS9918. Primarily for nostalgic reasons with the TI-99 being my childhood computer. I do plan on building an alternative display card soon.

TroySchrapel
Автор

Man, that is so cool. I remember watching Ben Eater's vids and wanting him to take the next steps to make it more efficient. So glad I found your channel.

Voltaire
Автор

Dude, you're a genius... I will have to watch this through another few times with a notepad.

_Stin_
Автор

Awesome as always, thanks! This feels on the same level as the first computers and consoles I started using.
For the videos, what data format did you use? Just the raw data for all the frames?

rauljvila
Автор

Awesome :-)
I am curious about the FIFO as well.

daskasspatzle
Автор

Hey really glad to see this project progress. I feel you missed a big opitunity with your vga. You use double RAM to combat the contention issue but you could perhaps use it as a hardware double buffer. That way the VGA adapter would be reading from one whilst the CPU writes to another, obviously you lose the ability to read what is currently being drawn to screen but you gain the ability to write as slow or as fast as possible since the CPU would be in charge of flipping the buffers at the next available blanking. Anyway thats just my idea, you obviously got yours to work and it's amazing.

prehistoricBanana