ZX81 Video Circuit Part 2. Hi-res display of 256 x 192 pixels.

  Рет қаралды 4,400

DrMattRegan

DrMattRegan

Күн бұрын

Пікірлер: 55
@misterretrowolf1464
@misterretrowolf1464 8 ай бұрын
Thanks so much for this video series. My channel tries to look at how the early arcade boards worked, but this is so fascinating to see how the geniuses implemented clever tricks to keep hardware count down. Amazing explanations.
@DrMattRegan
@DrMattRegan 8 ай бұрын
Welcome aboard! I'll have a look at your channel.
@leechatt9709
@leechatt9709 10 ай бұрын
I Love how you explain this. You have just explained racing the beam using a grid which relates to NOP's Machine cycles per instruction! Please keep producing stuff like this. Took me a couple of years to get my ZX81 emulator just to produce video. Ive watched Ben eaters stuff and you've made this stuff even more understandable. Im completely self taught and appreciate the time and in depth explanation you've used.
@DrMattRegan
@DrMattRegan 10 ай бұрын
Excellent, thanks for the feedback. If you've watched Ben Eater and want to go over the fundamentals more, have a look at kzbin.info/aero/PLjQDRjQfW-84aOLT33kzoZghRofK-uL1F
@melkiorwiseman5234
@melkiorwiseman5234 Жыл бұрын
I'm so glad that we don't need to pull tricks like these nowadays, but it's still interesting to see how it was done "back in the day."
@DrMattRegan
@DrMattRegan Жыл бұрын
Yep, it's amazing how cheap they managed to get it.
@retrozmachine1189
@retrozmachine1189 Жыл бұрын
Hah. While watching this around the 7 minute mark I thought, replace the 2nd '245 with pull down resistors and at 8:43, there we go, resistors. I don't know anything about the circuit design of the ZX80 so it was just application of general principles. The crash bus method using resistors to separate the bus and let either side drive it appropriately is used in the Laser 200 (VZ-200) to merge the CPU and VDC address busses with the Z80 disabling the 6847's address output and relying on the video side high-Z to get it's address through to the video RAM. As always a fascinating look into this stuff by DrMatt
@DrMattRegan
@DrMattRegan Жыл бұрын
Sorry for the delay in responding, glad you liked it.
@SteveInScotland
@SteveInScotland Жыл бұрын
I find this fascinating, both how it’s done and the tricks employed to get it done on a budget. My first computer was the ZX81 and I currently have 3 of the little rascals, one I built from scratch with new parts. Thank you for your hard work, it is truly appreciated.
@DrMattRegan
@DrMattRegan Жыл бұрын
Thanks for the feedback. I have a couple of them and a couple spectrums, but no authentic ZX80s
@BertGrink
@BertGrink 10 ай бұрын
Holy Moly! this is immensely fascinating. Thank you for suggesting that I watch these videos, @DrMattRegan.
@DrMattRegan
@DrMattRegan 10 ай бұрын
Glad you like them! I wanted to document how they worked, (plus ZX81 was my first computer)
@BertGrink
@BertGrink 10 ай бұрын
@@DrMattRegan By watching your videos, I'm gaining a much better understanding of the magic the engineers at Sinclair wrought. Thank you again. :)
@DrMattRegan
@DrMattRegan 10 ай бұрын
@@BertGrink glad you’re enjoying it!
@jumhig
@jumhig Жыл бұрын
Very interesting, such a simple solution for composite video.
@DrMattRegan
@DrMattRegan Жыл бұрын
Many thanks!
@frankowalker4662
@frankowalker4662 9 ай бұрын
I love the Z80 CPU. I got my first computer, the ZX81, in 1982. I've kept it working all these years. I've installed 32K internal RAM and done a composite conversion using a 555 and got the ZXPAND SD card kit for it. I've also built many external I/O boards over the years. Some of which took out the ULA/CPU or regulator. (quite a bit of trial and error in the early days. LOL)
@DrMattRegan
@DrMattRegan 9 ай бұрын
Excellent. I unfortunately blew up my zx81 back in the 1980s. You might want to look at the Z80 build video on the channel. I’m thinking of doing a series on the microprogramming of the state machine for the Z80.
@frankowalker4662
@frankowalker4662 9 ай бұрын
@@DrMattRegan I'll check that out when I've watched this series, cheers.
@GodmanchesterGoblin
@GodmanchesterGoblin Жыл бұрын
Great video as always, thank you. And yes, in the mid 1980s, I was one of those who had most of the 74xxx part numbers and functions in my head. Also many of the pinouts and probably more of the worst case timing parameters than most would consider to be healthy 😂😂
@DrMattRegan
@DrMattRegan Жыл бұрын
Enjoy. It's kind of surprising how quickly you pick up pin outs as well. I actually think it's the debug process that actually makes you memorize them better. When running the logic probe around, it's just much quicker if you remember the pinouts. Just remember the 74LS02 is the odd one out!
@mheermance
@mheermance Жыл бұрын
Neat. I liked splitting the data bus.
@DrMattRegan
@DrMattRegan Жыл бұрын
Very cool. They pulled a lot of tricks to get this to work.
@Ajinkya_Mahajan
@Ajinkya_Mahajan Жыл бұрын
thanks for explaining it so wonderfully. I have read about zx80 but quite never understood the video timing logic but now i have an bit of idea.
@DrMattRegan
@DrMattRegan Жыл бұрын
Great to hear!
@h7qvi
@h7qvi Жыл бұрын
Amazing! I never looked close at retro video circuits coz i wasn't into computers at the time
@DrMattRegan
@DrMattRegan Жыл бұрын
Glad you liked it!
@AndyGraceMedia
@AndyGraceMedia Жыл бұрын
I absolutely love your content DrMatt and I am recommending to people. It's really well thought out and presented with cool animations and yet it's technical enough to be interesting to this electronics/software head with way too many years of code and hw dev. :)
@DrMattRegan
@DrMattRegan Жыл бұрын
Excellent, glad you're getting some value from it. I felt like a quick break from 6502, but there's more in the pipeline.
@____________________________.x
@____________________________.x Жыл бұрын
interesting 🙂
@DrMattRegan
@DrMattRegan Жыл бұрын
Glad you think so!
@crystalsheep1434
@crystalsheep1434 Жыл бұрын
Nice
@DrMattRegan
@DrMattRegan Жыл бұрын
Thanks
@EngineeringVignettes
@EngineeringVignettes Жыл бұрын
I would guess that the ZX80 CPU is doing nothing else but generating the video while waiting for an interrupt, then going and servicing the interrupt when it happens, coming back to rendering video when its done. That would explain why my TV rolled every time I pressed a key (which I did not find amusing back when I was a kid playing with the little PC). Being able to run arbitrary program code while in the VBLANK interval would help also but dedicated hardware would have to be generating the VBlanking pattern during that time.. Thanks, learned a bit about the little ZX80/81 and how it generated video from so few TTL ICs.
@DrMattRegan
@DrMattRegan Жыл бұрын
They use interrupt to generate sync. It’s very clever and I’ll go over it soon. When the display is active, the only spare time is during vsync which is when it checks for a keypress. If that causes action then it will service that and it’ll stop generating sync.
@thek3743
@thek3743 Жыл бұрын
very nice!
@DrMattRegan
@DrMattRegan Жыл бұрын
Thank you! Cheers!
@leadedsolder
@leadedsolder Жыл бұрын
This seems really similar to the "cheap video" microcode described by Don Lancaster. Guess someone else read the TV Typewriter Cookbook!
@DrMattRegan
@DrMattRegan Жыл бұрын
I'm trying to reverse engineer the ZX80/81, but i suspect the designers of the ZX80 would have known about Don Lancaster, although i believe he used a KIM-1. The designs will diverge a bit once we add in character generation and IRQ based horizontal sync are added (it uses a Z80 feature that the 6502 doesn't have).
@StanfordYell
@StanfordYell Жыл бұрын
Question: I see you are using CMOS level HC series rather than the TTL HCT, does this reliably work with the TTL Z80?
@DrMattRegan
@DrMattRegan Жыл бұрын
Yeah, i'm actually using the Z84C00 which is the CMOS version of the Z80, so it hasn't been a problem .
@StanfordYell
@StanfordYell Жыл бұрын
@@DrMattRegan Ah, that makes sense!
@GregCoonrod
@GregCoonrod Жыл бұрын
Given the comparitive reduction in cost of memory and the 74 series logic chips, why not go with the initial design that you proposed? Another question along the same vein: Would there be any benefit, from a cognitive complexity perspective, of splitting the image data and Z80 instruction data into two different EEPROMs?
@DrMattRegan
@DrMattRegan Жыл бұрын
Yeah, i don't really like using resistors this way, but i'm trying to explain the zx80 design, so that's why i went down that path.
@BertGrink
@BertGrink 10 ай бұрын
-Perhaps you could use a 16-bit EPROM? That would eliminate any timing differences between two separate devices, and perhaps simplify the circuit a little.- No, wait, that might not be a good idea after all; ultimately you'd want to have RAM to store the actual image data.
@colonelbarker
@colonelbarker Жыл бұрын
Hi Dr Matt. I really enjoy your videos but I've never felt the desire to follow along and actually solder up the project at the same time as you. If I'm totally honest it's because your previous projects have used some large EEPROMS and finite state machines that don't quite feel in the spirit of a lot of the machines from the era- but are really interesting from a logic / design point of view. I'd just like to clarify - is the intention to be able to use the original zx80/81 rom unmodified in the final machine? And more importantly- what sized per board would you recommend for the machine? All the best, Aaron
@DrMattRegan
@DrMattRegan Жыл бұрын
Hey Aaron. Yep, i'm planning to use the un-modified ZX80/81 ROM in the end. I use 27C040s personally because i have a bunch of them, but it should work with any 4/8K EPROM. Similarly for the SRAM, i use 628128s because i have them but of any size 1K and above will work. Just 7400 series logic other than that. No big EPROMs with state machines for the ZX80/81. I'm using 18x30 cm perf board which you can get on Ebay, but i generally go large and cut it down later. Regards Matt.
@colonelbarker
@colonelbarker Жыл бұрын
@@DrMattRegan Thanks. I keep using 32kb eeproms for everything because I've got a couple of tubes of them. I'll see if I can replicate the results of this video!
@DrMattRegan
@DrMattRegan Жыл бұрын
Excellent, I'm keen to hear how you go with it, please keep me informed!
@synthnerd4539
@synthnerd4539 Жыл бұрын
This is really interesting. I started with a Spectrum back in the day with its custom ULA but the way they got display working with basic devices is fascinating. Just a quick question though, @8:26 you mention storing code in the 2nd half of the scan line, but am I right in saying that as it stands at the end of this video, the system is still returning to the start of the next scan line at the end of the blue area in order to maintain sync?
@DrMattRegan
@DrMattRegan Жыл бұрын
Glad you found it interesting. In the second half of the scan line we generate the syncs and jump to the next scan line. We also do the inc bc to maintain 208 clocks per scan line.
@BertGrink
@BertGrink 10 ай бұрын
Hey @synthnerd4539 if you're really interested in these things, I'd recommend that you try to track down a copy of Chris Smith's book "The ZX Spectrum ULA: How to Design a Microcomputer". It will tell you all you want to know about the ULA, and then some.
@synthnerd4539
@synthnerd4539 10 ай бұрын
@@BertGrink I have tried to read that one!
@BertGrink
@BertGrink 10 ай бұрын
@@synthnerd4539 Yeah so have I; it is a VERY technical book, but some day, i WILL get to the end.... some day...
ZX81 Video Circuit Part 3: TEXT.
15:35
DrMattRegan
Рет қаралды 2,9 М.
CubeSat EPS v1: PCB Design Review and Challenges
17:37
Build a CubeSat
Рет қаралды 3,3 М.
My MEAN sister annoys me! 😡 Use this gadget #hack
00:24
СКОЛЬКО ПАЛЬЦЕВ ТУТ?
00:16
Masomka
Рет қаралды 1,5 МЛН
the balloon deflated while it was flying #tiktok
00:19
Анастасия Тарасова
Рет қаралды 36 МЛН
NAKED TYPEWRITER - OLIVETTI LETTERA 32, DL, 27
5:01
drumfish09
Рет қаралды 3
DIY Z80 Retro Computer #6: Monitor and Keyboard
9:30
Doctor Volt
Рет қаралды 6 М.
VGA from an EPROM, is it possible.
15:04
DrMattRegan
Рет қаралды 54 М.
The Madness of Z80 I/O
22:52
Noel's Retro Lab
Рет қаралды 75 М.
As promised - The ZX81 lives!  And that 32k upgrade got thrown in too!
9:27
I designed another 8-bit TTL computer... (Development board)
7:51
HalfBurntToast
Рет қаралды 8 М.
ZX81 Video Circuit Part 1: Z80 Solo.
18:33
DrMattRegan
Рет қаралды 13 М.
Zilog Z80 Deep Dive - How does it work?
15:05
NCOT Technology
Рет қаралды 27 М.
VIC 20 build. Colour
15:34
DrMattRegan
Рет қаралды 4,6 М.
ZX Spectrum DRAM timing explained.
13:31
DrMattRegan
Рет қаралды 6 М.
My MEAN sister annoys me! 😡 Use this gadget #hack
00:24