Тёмный
No video :(

Let's Build a FAST Serial Terminal with PS/2 and VGA 

Slu4
Подписаться 7 тыс.
Просмотров 16 тыс.
50% 1

Опубликовано:

 

28 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 122   
@NilsKullberg
@NilsKullberg 3 года назад
Absolutely splendid! Thanks for sharing these fantastic recipes. - Talk about squeezing everything possible (and a little "impossible" as well) from these small chips ... Very nice indeed!
@slu467
@slu467 3 года назад
Thanks Nisse, glad you like this stuff, too :-D BTW the sketch uses 2048 of 2048 bytes of SRAM :)))
@NilsKullberg
@NilsKullberg 3 года назад
@@slu467 I thought as much :-D - Couldn't have been easy to squeeze the final drops out of the chips. Impressive!
@amnesie6615
@amnesie6615 3 года назад
Wow THIS is cool! Danke für so viel geniale Arbeit, ich weiß das sehr zu schätzen, gerade wenn man noch nicht so erfahren ist.
@slu467
@slu467 3 года назад
Dankeschön :-) es stecken tatsächlich viele Stunden drin... viel Spaß damit!
@gambler301
@gambler301 3 года назад
That's almost exactly what I need for my breadboard pc
@slu467
@slu467 3 года назад
It's adding that extra bit of vintage touch... :-D
3 года назад
I'm so impressed, I'm going to implement it on my 6502 homebrew. So far, it's the best Arduino to VGA I've seen.
@slu467
@slu467 3 года назад
That's great. Please let me know how it goes!
3 года назад
@@slu467 I tried it, and for the most part, it works. Alice does its job. As for Bob, the text is barely legible, it displays the characters unstably/flashy, and dimly. (Don't know how to better describe it) The text position and alignment on the screen are stable. I double-checked the wiring, and all seems ok. I even changed the WIDTH to 40 (both in the .ino and .s files) to see if it would change something. Alas, same result. Timing issue maybe? The monitor detects a signal of 720x480, rather than 640x480. Do you have any pointers? I really want to make this work... it's too cool of a project!
@slu467
@slu467 3 года назад
@ Since the text position is stable, this does not sound like a timing issue. If you see the characters too dim (but at their correct place) the pixel data is maybe not driven correctly? I'd double-check the output stage of the 74166 to the VGA connector pins 1, 2, 3 via 150 Ohm. Hmm, but it is also possible that your monitor "misunderstands" the sync signals and therefore switches off brightness... I've only tested the circuit on my older VGA monitor and newer TV which both worked okay... good luck! Due to timing constraints the Arduino can't match the VGA timing perfectly. Most monitors are pretty forgiving, though...
@TheDarkelvenangel
@TheDarkelvenangel 3 года назад
Impressive! And some ANSI escape sequences to boot. I find it amazing what you can do with these micros.
@slu467
@slu467 3 года назад
Thanks, glad you like it!
@stupossibleify
@stupossibleify 3 года назад
Love seeing new videos from you! Please keep them coming!
@slu467
@slu467 3 года назад
Thanks a lot ... keeps me motivated :-)
@your-dad
@your-dad Месяц назад
Fantastic! I think you can do it with only one chip to achieve RCA output, there are those libraries called TVout and PS2Keyboard you can load in one single chip so you can type and recieve with only one chip onstead of three! Please do a video about it :)
@markholdahl6511
@markholdahl6511 2 года назад
This reminds me of Don Lancaster's TV Typewriter only easier to build! :)
@adamhuk447
@adamhuk447 3 года назад
Very nice video as always. It was fun to watch. As soon as I have a bit more time, I will try to recreate this. Thanks for your time and sharing the knowledge with us. Grüße
@slu467
@slu467 3 года назад
Hi Adam, pls let me know how it goes...
@adamhuk447
@adamhuk447 3 года назад
@@slu467 I will do it. The "Datasette" videos were also very educational and I had a reason to get my old C64 + accessory box out again (in my possession for 30 years).
@Redfizh
@Redfizh 3 года назад
First! I'm always waiting these :)
@slu467
@slu467 3 года назад
Thanks for watching, Samu :-) It has been a while...
@christ2290
@christ2290 Год назад
Fantastic work and great video!
@slu467
@slu467 Год назад
Glad you like it :-) Thanks!
@illdieanyway7865
@illdieanyway7865 3 дня назад
Man you never disappoint, do you?
@ASCIITerminal
@ASCIITerminal 3 года назад
Very impressive!
@slu467
@slu467 3 года назад
Glad you like it!
@PhilR0gers
@PhilR0gers 9 месяцев назад
I always wondered how to program the barebones microcontroller. Now I know. And now I don't have to embed an entire Arduino Nano in my designs.
@stuartmartin3408
@stuartmartin3408 3 года назад
Brilliant! you got a new subscriber 👍
@slu467
@slu467 3 года назад
Welcome aboard, Stuart :-) glad you like my stuff
@djc1402
@djc1402 3 года назад
Another great video. I've got all the parts and PCB to make your Minimal UART CPU but haven't got time to build it at the moment. When I get it running I'll let you know and I'll be very interested in adding the terminal to it too.
@slu467
@slu467 3 года назад
Hi David, good to hear you plan on joining the 'Minimal' club :-D let me know how it goes!
@ducksonplays4190
@ducksonplays4190 3 года назад
This is really interesting, what's your secret to achieving so many great videos in a row?
@slu467
@slu467 3 года назад
Thanks Duckson Plays, glad you like my stuff. I guess I just do what feels interesting to me :-)
@ducksonplays4190
@ducksonplays4190 3 года назад
@@slu467 Well I'm glad we are both interested in the same thing. I don't know if the terminal would be much use to me but it's cool to see. Your minimalistic CPU is worthy of the minicomputer title. :-)
@ducksonplays4190
@ducksonplays4190 3 года назад
@@slu467 I think I will use wire wrapping for my CPU since it's more stable than breadboards and less easy to mess up. PCBs seem nice but how do you know your schematic is correct.
@slu467
@slu467 3 года назад
Wire-wrapping IS kind of interesting for larger projects. Very reliable electrical connections, indeed! BTW I am now at iteration 5 with my PSB computer :-D
@ducksonplays4190
@ducksonplays4190 3 года назад
@@slu467 Oooh... I'm curious what is your CPU's instruction set. I want to compare clock efficiency with mine and yours doing the same tasks. Your CPU design seems very chip efficient and powerful.
@rsbohn
@rsbohn 4 месяца назад
Very nice.
@chrisskyr623
@chrisskyr623 3 года назад
This is awesome
@barto1035
@barto1035 3 года назад
7:41 nice to see how you look like! I don't know if this was intentional. Interesting video as always
@slu467
@slu467 3 года назад
Thanks, Barto10, I wouldn't have recognized myself in that reflection... but no, that wasn't intentional :-D
@WaldoHazeleger
@WaldoHazeleger Год назад
Nice project. Certainly gonna build it, since I finished building the minimal v1.5 board now. Would it be possible to replace ps/2 for usb keyboard by replacing atmega328p by an atmega32u4 ?
@slu467
@slu467 Год назад
Hey Waldo, USB has a more complicated protocol, so I'd say you definitely would have to upgrade the µCs for that... probably the whole point of this design (squeeze out oldschool stuff) becomes obsolete then ;-)
@invent0r137
@invent0r137 2 года назад
This is so awesome!!! Could you possibly make a video on making it work with composite video instead of VGA?
@slu467
@slu467 2 года назад
Hi, search for the website of Grant Searle. He has done exactly that ;-)
@invent0r137
@invent0r137 2 года назад
@@slu467 Thanks! Yeah I've come across his website before but I don't think I have the skill to fully understand his design yet, but I'll keep learning and get to that level eventually.
@billysallerlei
@billysallerlei 4 месяца назад
thats what I'm searching for..... not the "serial terminal", no it is the process to get sketches into an 328P without an UNO board.... Until now I put an 328 DIP in the UNO Board an programming it to run it in alone the free world. Now I can design my own board with an 328 TQFP soldered on it an programming it with arduino sketches. Thanks.
@KillTheFace55
@KillTheFace55 3 года назад
This is very cool!
@slu467
@slu467 3 года назад
Glad you like this!
@lixgueza-cx6tl
@lixgueza-cx6tl 5 месяцев назад
awesome
@TSteffi
@TSteffi 11 месяцев назад
This is great. Almost perfect. Would it be possible to use 3 chips instead of one for bob, one for R,G, and B respectively? Alice could use "Chip Select" pins to decide which ones should be active, but send the same data to all 3. It would require 7 Chips instead of 3, But would allow for 8 colors. Alternatively, you could use another µC to implement ANSI music control codes for some sound output.
@slu467
@slu467 11 месяцев назад
Great ideas! Sounds like a new project, though ;-)
@TSteffi
@TSteffi 11 месяцев назад
@@slu467 Well, since the last manufacturer of serial terminals has closed, you have all the market to yourself ;-)
@arkanjo7509
@arkanjo7509 3 года назад
very cool
@slu467
@slu467 3 года назад
Glad you like my videos!
@enzito_sdf6978
@enzito_sdf6978 3 года назад
very cool! do you think this could work at 80x25??
@slu467
@slu467 3 года назад
The short answer is: No way! ...but maybe somebody proves me wrong in the future :-D
@openBSDguru
@openBSDguru 2 года назад
really nice project. are slower bitrates possible. i have some old hardware that only run on 9600 and not 28800?
@slu467
@slu467 2 года назад
Should be a tiny mod.
@carlosalbertomartinezmaldo3745
Splendid!! One Question. It's possible to make a color terminal?
@slu467
@slu467 Год назад
Hi Carlos, well, I have the strong feeling that the ATMega is pretty much at its limit here. One would have to sacrifice resolution for color. If you really want more features it may be time for a more powerful µC.
@johnm2012
@johnm2012 11 месяцев назад
It's actually very easy to make a colour terminal with the much more powerful ESP32 module and the FabGL library. You can program it using the Arduino IDE if you add them using the Board Manager and Library Manager, respectively. There's even a sketch called ANSI Terminal in the Examples folder that works without modification. There are pre-built boards available cheaply that combine an ESP32, a VGA socket and a pair of PS/2 connectors for keyboard and mouse. You can connect "logic level RS232" signals directly to it or add a MAX3232 board for true 9-pin RS232 compatibility. Search for "ESP32 VGA" and "FabGL".
@hstrinzel
@hstrinzel 5 месяцев назад
Is this 80-column wide? Much CP/M software requires that... ?
@slu467
@slu467 5 месяцев назад
Nope, it can't do 80 in time. Would love to see someone pull it off on the Nano.
@colonelbarker
@colonelbarker Год назад
Hey Slu, I've got some socketed Arduino Unos here, do you think if I programmed them with this code in place I could take them out and used this setup it would work? Assuming I changed the fuses of course!
@colonelbarker
@colonelbarker Год назад
Future Aaron here- the boards file is now located at: C:\Users\(USER)\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6 For the 2023 version of the IDE.
@slu467
@slu467 Год назад
Hey Aaron, as long as you can get your hands on some raw AtMega328s it should work out fine. Happy tinkering 🙂 Any ambitions for a future "Minimal 64" build? ;-)
@colonelbarker
@colonelbarker Год назад
@@slu467I've got a whole tube of them here! I followed through the instructions here and got the blinky example working fine on the 16mhz clock but I've had trouble with the 24mhz crystal. I've made an active one with a 74HC04 and some passive and am hoping that will work out better. I was thinking about making the new Minimal but thought I'd wait in case you revised it again, I've now got two of them here. I'm currently working on a ZX80/81 clone that's been quite a lot of trouble!
@colonelbarker
@colonelbarker Год назад
@@slu467 If I am using an active oscillator for the input of bob would I need to change the fuse bits on bob to expect an active signal for it to work? I've assembled the whole thing, I can load Blinky but none of the functionality works after I upload the code to the pair, no VGA, no seral data. I've checked on the scope and there are no video signals coming out of Bob, but I *am* getting the 24mhz signal out of pin 14 of bob.
@slu467
@slu467 Год назад
@@colonelbarker It might be good to make sure that each µC receives it's program correctly (via 16MHz I guess) and *runs* it's code corretly, too, at a higher rate. I'd test that procedure with some "dummy" blinkenlights code. The fuse bits need to match the oscillator setup you intend to use. But keep in mind that all this is using the AtMega *out of spec*. I might just have been lucky with my production run. Never had any problems though... good luck!
@mnoxman
@mnoxman 2 года назад
Is the limitation of the lines and columns related to the clock or could this generate a 80x24 (+status line (25 total)). What is the minimum baud that this can support (9600?)?
@slu467
@slu467 2 года назад
IMHO 80 cols is not possible. 60 cols is *just* possible with 24MHz overclocking. I'd like you very much to prove me wrong :-) Min. baudrate in my design is 28800 (can be set by a jumper) but lower rates might be possible if you are playing around with the Arduino timers a bit.
@derekchristenson5711
@derekchristenson5711 Год назад
Very cool! Way too fast for most of what I'd use it for, but I'll have to look at the code (and Mr. Baffa's adaptation) just the same. 🙂
@ergabibbo2301
@ergabibbo2301 3 года назад
8:05 was the breadboard connected only to the keyboard and monitor?
@slu467
@slu467 3 года назад
Yep, except for the 5V supply of cause :-)
@ergabibbo2301
@ergabibbo2301 3 года назад
@@slu467 Good , thanks for information.
@vanhetgoor
@vanhetgoor 2 года назад
Only three chips! Are you aware of how much processing power a bare bone Arduino has? It is capable of doing all the work the flight control computer had to do during the MOONLANDING and singing Daisy Daisy at the same time.
@slu467
@slu467 2 года назад
Hi vanhetgoor, I absolutely wasn't aware of that. Thanks for pointing me to a new and fascinating project :-) Cheers!
@SnakeByte69
@SnakeByte69 3 года назад
How hard is it to make it 80x25 Characters?
@slu467
@slu467 3 года назад
Well, for me it's impossible on the ATmega328. Be sure, I would have done the 80 x 25 if I saw a way... hopefully someone out there proves me wrong ;-)
@rabybanz4381
@rabybanz4381 2 года назад
Hi Sir! Wow! Do you sell a ready to use unit? if yes, how much? Thank you for any information....
@slu467
@slu467 2 года назад
Thanks for tuning in. This is a free DIY project. I do not plan on selling any of this. However, the design is so minimal that it is very easy and reliable to build on a breadboard. Cheers!
@HonzaHadrbolec
@HonzaHadrbolec 2 года назад
Hello, that's great guide, but I have a problem. Burning of bootloader seems be ok but control LED doesn't glow for me. I have checked wiring even tried another Atmega 328P. I doun't know where could be problem :'(
@slu467
@slu467 2 года назад
Hm, difficult to help here from afar. I assume you do not have a digital scope at hand to really take a look at the signals... polarity of the LED is okay, too?
@videocommenter235
@videocommenter235 2 года назад
Wonder if you can hook this to a linux box.
@slu467
@slu467 2 года назад
You can hook this up to any serial device.
@invent0r137
@invent0r137 2 года назад
Hi, I recently tried building this but for some reason I'm not getting any output on the monitor. I was able to change the fuse bytes and upload the bootloader to both of the microcontrollers, and verify that it worked with the blink sketch. I also uploaded the Alice and Bob sketches, and wired everything according to your github schematic. The only difference is that I used a 62 ohm resistor for the vsync and hsync signals since I didn't have a 75 ohm resistor. Any ideas on what I could be doing wrong?
@slu467
@slu467 2 года назад
Hi, this design is known to work, i. e. it has successfully been built by others. 62ohms should be fine. I am using 68 all the time. Hard to tell, what is going wrong with your build. I'd recommend using a cheap PC scope to look at all the signals (VSYNC, HSYNC etc.).
@ajinkyamahajan102
@ajinkyamahajan102 3 года назад
This is my next project
@slu467
@slu467 3 года назад
Glad I got you hooked :-) let me know how it goes...
@bpptheo9966
@bpptheo9966 3 года назад
Can you eventual Show how to build an VGA or HDMI Capture Card. Which capture VGA Input Into USB -- so that you could Capture it via Python Into an PNG? That would bei realy cool ^^
@slu467
@slu467 3 года назад
Hi there, for the moment that would be a bit off-track for me ;-)
@rjameslower
@rjameslower 3 года назад
How the connections was made? I mean the atmegas does not use spi or i2c for data transfer
@slu467
@slu467 3 года назад
Hi James, just a plain parallel bus and a "new data" toggle.
@maximjacquet2942
@maximjacquet2942 2 года назад
Is there a way to make this work using composite video?
@slu467
@slu467 2 года назад
Hi Maxim, composite is a little easier to implement (slower timing). Search for 'Grant Searle' terminal. Cheers!
@maximjacquet2942
@maximjacquet2942 2 года назад
Thanks!
@salahbouzid477
@salahbouzid477 3 года назад
HI sir think you so mutch please sir can you build or make the vga monitor work as screen scrolling display a like 8x8 led matrix or dmd p10
@henrybooks7193
@henrybooks7193 3 года назад
Hello! I have just made this on breadboards and I was just wondering because every time I try to use it, the only character that will show is @ symbols instead of the character I want to type. I was wondering if you had this issue while building? and if so what you did to solve it. thanks!
@henrybooks7193
@henrybooks7193 3 года назад
also, if it matters at all, I am using a 74HC165 instead of a 74HC166. although i used this on your minimal vga project and it seemed to work fine. I also do not have a ps2 keyboard so I am just using PuTTY as a serial terminal. I was thinking it might be my baud rate, so on my speed select I tied both my pins to ground. I was assuming this meant it was running at 28800 baud but i might be wrong as i could not find a key anywhere telling what the different baud rate selections were. And one more thing, sorry when i try to connect the B microprocessor RX / TX lines the screen goes crazy and wont show a stable picture. Thank you! i know that was a lot.
@slu467
@slu467 3 года назад
Did you have the TR0-TR7 lines installed properly? They do not show up as "lines" on the schematic but their connection is indicated by the labels. You are talking about the loop back test, right?
@henrybooks7193
@henrybooks7193 3 года назад
@@slu467 thank you so much! I did not realize there was lines right there. I hooked it up and I got it to sort of work, it puts a stable picture and shows a blinking cursor. sometimes when i turn it on it will work fine and other times it wont. also, when i connect the RX / TX lines to Bob it makes the screen go crazy. and since i do not have a ps2 keyboard i have those lines tied to ground and i am using PuTTY as a serial terminal program on my computer.
@henrybooks7193
@henrybooks7193 3 года назад
I also have both my baud rate select lines tied to ground and i think that means it is at 28800 baud? But that could be a problem
@slu467
@slu467 3 года назад
Henry, this build is so critical that I recommend you do not change *anything* at all. You cannot expect the circuit to work properly when using different ICs. I have chose the the 74HC166 for a reason. You are right about the Baudrate but I have no idea what you are doing with the RX/TX lines. They are *only* for in-situ programming of the Arduino B. Do not use them for anything else. Good luck!
@rjameslower
@rjameslower 3 года назад
The fuses was changed... But why?
@slu467
@slu467 3 года назад
for the shift register's clock... and to save a crystal along the way...
@rjameslower
@rjameslower 3 года назад
@@slu467 thanks I am a noob
@stephenwong9723
@stephenwong9723 3 года назад
Why not 80x25?
@slu467
@slu467 3 года назад
Hi Stephen, the already heavily overclocked ATmega328 can't pump it out fast enough within the VGA timing.
@stephenwong9723
@stephenwong9723 3 года назад
@@slu467 Ok, perhaps an STM32 or RP2040 (say Raspberry Pi Pico) will be capable to do 80x25 VT100 emulation, right?
@slu467
@slu467 3 года назад
@@stephenwong9723 I am thinking Pi Pico, too. Actually, it is pure madness to try and implement VGA on an ATmega328 ;-)
@stephenwong9723
@stephenwong9723 3 года назад
@@slu467 True, Video signaling is too too much for an ATmega328.
@genjii931
@genjii931 3 года назад
Poor overworked Bob.
@slu467
@slu467 3 года назад
Jep, Alice has got the easier job...
@maximjacquet2942
@maximjacquet2942 2 года назад
Hello! As you told me, I am trying to do the terminal from grant searle’s website. I am currently running into some problems when trying to upload code. I never did this and files seem to be in .hex. I was wondering if you could help me in anyway and if you had other platforms we could communicate other than RU-vid comments. (By the way I subscribed!!)
@slu467
@slu467 2 года назад
Hi Maxim, I've never used Grant's code for composite video and can't be of any help with that, I'm afraid. Just explore it slowly step by step... cheers!
@maximjacquet2942
@maximjacquet2942 2 года назад
Ok thanks anyways but I wanted you to know I really like your videos. If this ends up not working I’ll make your design as I am sure it works!
Далее
Bilasizmi?
00:12
Просмотров 280 тыс.
Woman = best friend🤣
00:31
Просмотров 3,2 млн
I built my own computer. by hand.
13:03
Просмотров 1,2 млн
Let's Build a Minimal I/O Expansion Card
8:31
Просмотров 2,2 тыс.
The world's worst video card?
32:47
Просмотров 6 млн
Build a DEC style terminal for $25!
24:19
Просмотров 33 тыс.
Is this the FASTEST and CHEAPEST 8-Bit Computer Ever?
28:43
Minimal Arduino Nano VGA 320x200 (using ONE IC)
7:31
Bilasizmi?
00:12
Просмотров 280 тыс.