Quick clarification on the curses library. It doesn't actually emulate terminals. It actually allows you to write terminal programs that will work on any supported terminal. Each type of terminal (ADDS vs VT100 vs VT220 ad infinitum) uses different "escape sequences" to accomplish things like moving the cursor, bold, etc. Curses abstracts that away so the programmer can just ask for bold and curses knows what sequence to send to the actual terminal being used.
@stickworldanimated95452 жыл бұрын
Love your videos bro!
@bichela2 жыл бұрын
As long as the terminal has a terminfo or termcap entry it will work on that terminal.
@strangedude90082 жыл бұрын
does this "curses" name address the curses being said aloud to the thing that is not working the expected way?
@zvpunry19712 жыл бұрын
@@strangedude9008 Exactly this is reason it is named curses. There is no way to make a program compatible with many different terminals, all incompatible in some evil ways, without curses.
@nfavor2 жыл бұрын
Next step is for Ren to build a Centurion emulator which could then run the UE14500 emulator!
@UsagiElectric2 жыл бұрын
An emulator running and emulator! We need to go deeper, maybe run the Centurion emulator on Wine on Linux so we have an emulator running an emulator running an emulator!
@ducksonplays41902 жыл бұрын
@@UsagiElectric Wine apparently stands for Wine Is Not an Emulator, fascinating
@rubenhillier7702 жыл бұрын
This series is cool to see how the computer comes together over time
@UsagiElectric2 жыл бұрын
Thank you!
@antonnym2142 жыл бұрын
You and Ren have done a phenomenal job here. Hyper-interesting and informative. All good wishes!
@UsagiElectric2 жыл бұрын
Ren gets all the credit, he did an absolutely stunning job!
@VandalIO2 жыл бұрын
Man I m excited ! Woah this is a big milestone .. if community can write code for ue14500 we can play Tetris or chess on ue14500
@dominick253 Жыл бұрын
Hook it up to the internet and use it to view KZbin 🤣😂🤣
@MarcelHuguenin2 жыл бұрын
Never thought these projects were coming together but that's just awesome. I wandered what kind of programs you would eventually run on the Centurion. I am curious what more ideas will be coming out in the future. What a remarkable job you are both doing.
@UsagiElectric2 жыл бұрын
Thank you so much! The Centurion and tube computer are indeed dramatically different machines, but serial data is serial data, and so we should be able to get them to talk to each other at some point in time, which would be wild. But, just having the Centurion emulate the tube computer would be a sight to see for sure!
@MarcelHuguenin2 жыл бұрын
@@UsagiElectric and it is such a brilliant idea ! 🤓
@ducksonplays41902 жыл бұрын
@@UsagiElectric Indeed, I have an idea, the Centurion emulating the vacuum tube computer, which is running a program that talks to the vacuum tube computer.
@RMphy892 жыл бұрын
I think you’re about to blow up wayyyyyy past 300 comments per video.
@UsagiElectric2 жыл бұрын
Fingers crossed!
@MrKeserian2 жыл бұрын
Sorry, I just realized that the channel logo is a bunny with vacuum tube ears. That's adorable!
@solotron73902 жыл бұрын
If only Mr. Spock had the UE14500 in 1930...
@ATOMSHAMRADIO2 жыл бұрын
Love tube type stuff⚛👍
@tuppyglossop2222 жыл бұрын
Awesome!
@UsagiElectric2 жыл бұрын
Thank you!
@g-only12 жыл бұрын
Ur awesome
@UsagiElectric2 жыл бұрын
Thank you!
@H3wastooshort2 жыл бұрын
This could maybe also be ported to the web. There are Javascript based terminal emulators wich could be connected to the C program compiled to WebAssembly. Would definitely be interesting for viewers to try
@dominick253 Жыл бұрын
What did those actually do back then?
@Vallee1522 жыл бұрын
What does the raw option in the assembler change, why can't you just view the first file you made for hellorld?
@karlramberg2 жыл бұрын
Awesome
@jeromethiel43232 жыл бұрын
It's a VCU, gosh darn it! Vacuum computing unit. Argh! ^-^
@68hoffman Жыл бұрын
kool
@friedtomatoes49462 жыл бұрын
I vote tubie mc tubeface
@stelian952 жыл бұрын
When I saw the emulator I had an idea: How about turning your manual I/O unit into an automated one using an Arduino that talks to the computer via USB? This way you could run automated tests on the real vacuum tube computer and even perform emulator vs real hardware tests. This could make the rest of the development process easier. Also, by adding an RS-232 interface you could hook it up to the Centurion or loads of other old computers. I would design a custom protocol over serial that gets implemented on both the Arduino and the computer that sends the commands to the vacuum tube computer to do all this.
@rubenhillier7702 жыл бұрын
This series is cool to see how the computer comes together over time
@KeritechElectronics2 жыл бұрын
Centurion running an UE14500 emulator? Just how cool is that! Nice to see that the emulator can also reflect the discombobulated logic state - what use is an emulator when it can't faithfully work like the original? :)
@UsagiElectric2 жыл бұрын
Yeah, I really liked Ren's choice of adding in the ability to put the chaos state in! It's been a ton of fun to play with an emulated version of the tube computer!
@frankowalker46622 жыл бұрын
That is so awesome. Ren has done such a remarkable job on the EMU. You have to get the Centurion hooked up to the UE14500 as a terminal somehow using the emulator. Get them talking to each other. This whole project is a mind blower.
@UsagiElectric2 жыл бұрын
Super long term stretch goals is to definitely get the two talking to each other! If I can manage to get the UE14500 to output and receive at 300 baud, we can totally build a level shifter and get the two connected via the MUX port!
@antonnym2142 жыл бұрын
Wren did an outstanding job emulating your outstanding CPU... Kudos to all of you who worked on this, and I, too, am excited about getting the emulator on the Centurion! All good wishes.
@sparthir2 жыл бұрын
Everytime I see someone type out a full command instead of using TAB for auto-complete the efficiency part of me cringes. XD
@kamalmanzukie2 жыл бұрын
love you 😘
@VandalIO2 жыл бұрын
😂 didn’t know you used modern computer… I am disappointed 😔 😝 Kidding
@leigh93602 жыл бұрын
I've found this whole project so interesting and inspiring that it has prompted me to set up an electronics lab in my house. Nothing on the scale you have, but it has made me quite excited about diving back into electronics, which I haven't touched since college. I just wanted to say I appreciate it and thanks for sharing. Great idea and incredible work!
@0x1EGEN2 жыл бұрын
It's cool to see the emulator prove the UE14500 turing completeness :)
@UsagiElectric2 жыл бұрын
I don't know if it's quite Turing complete yet. It's actually really difficult to do jumps, but I think we're pretty close and with some clever programming, we might be able to get it to actually be properly, fully Turing complete!
@leftymuller2 жыл бұрын
This reminds of the Star Trek TOS ep. City on the edge of forever... but you have succeeded in building a computer using stone knives and bearskins !
@leandrolaporta21962 жыл бұрын
Emulating the vacuum tube computer on the centurion is the coolest thing I could imagine, awesome, who was the genius that come up with that, freaking awesome!! For now you can run it on a pi and connect the centurion terminal through rs232 converter xD
@shinedom2 жыл бұрын
What about building a PC interface connected with the remote control of the real cpu and run pograms trou the computer? We should see the real thing running a complete program for the first time and check if the emulator really works... great job thouh... i'll keep following
@UsagiElectric2 жыл бұрын
Thank you! That's actually something I'm hoping to incorporate into the Program Control board. Include all the level shifting circuitry on the board with a specific plug that'll let it connect to the PC for an alternate way to run programs. However, I think once the memory board gets further along, it may be worth building a small level shifting board for testing just the processor and memory without the Program Control board built yet.
@shinedom2 жыл бұрын
@@UsagiElectric thanks for the complete reply... are relays good to act as level shifters? Instead of vaccuum tubes ... they galvanically isolate the two circuits and you can use the voltages you prefer without attenuation...
@Unfinished802 жыл бұрын
I'm really digging this project. Thanks! I would love to see a punch tape system for this. Maybe later
@shinedom2 жыл бұрын
Punc tape or punc cards reader... i think it may be very interesting
@UsagiElectric2 жыл бұрын
Thank you! We actually debated quite a lot over on the Discord about the best way to get programs into the machine and paper tape was a big contender! But, I think ultimately, I'm going to end up going with reel-to-reel audio tape as that gives me a little more flexibility in design.
@BDJones0552 жыл бұрын
Will the tube computer need a Tube Serial board so it can communicate to the terminal?
@UsagiElectric2 жыл бұрын
Yup, that's the planned Input/Output board. Hoping to squeeze 300 baud 7-bit RS-232 and 45.5 baud 5-bit baudot on it. I think it'll be pretty awesome to see the tube computer punching stuff up on a Teletype!
@Rebel96682 жыл бұрын
Watching this reminds me why I never took computer classes in high school back in the '80's. I have not one clue about what is going on there. Guess I'll stick with restoring old vacuum tube radios from the '30's & '40's.
@gameyord71822 жыл бұрын
¿And the centurion? You will make it work rigth??
@UsagiElectric2 жыл бұрын
Yup, working on it right now!
@DAVIDGREGORYKERR2 жыл бұрын
should it not be ..... ./configure make sudo make install insert password
@leyasep59192 жыл бұрын
VTC14500 : Vacuum Tube Computer ... yeah that makes sense.
@AUATUWVSH2 жыл бұрын
i wouldn't suppose there would be a c compiler for the Centurion, for general development
@UsagiElectric2 жыл бұрын
There is actually a C Compiler that is a WIP, but we're still learning a massive amount about the ISA of the Centurion, so it's not quite ready for to be put up on the Wiki for people to download. However, if you want to get in on developing it and get some early builds of stuff, come join us over on the Discord chat server ( discord.gg/p7UsfHD ).
@AUATUWVSH2 жыл бұрын
oh how cool! im surprised someone hasn't ported the altair8800 music demo to it yet, i would try myself but i would need to understand the original, and the destination architecture first
@gwyllymsuter45512 жыл бұрын
Emulator + arduino+ serial port = running code directly on the processor. Just saying
@UsagiElectric2 жыл бұрын
That's actually a really good idea, but it will require a lot of level shifting to make sure things work right. And, that's actually something I'm hoping to incorporate into the Program Control board. But, I think once the memory board gets further along, it may be worth building a small level shifting board for testing on a larger scale.
@gwyllymsuter45512 жыл бұрын
@@UsagiElectric you don't actually need the valve memory to run the code from a PC. Use its internal ram to spit out an instruction and wait for a result to come back. Any memory or jump calls can be quite easily managed bu the arduino. JFETS with pilot lights are fun
@kencarlile1212 Жыл бұрын
Hellorld! Been waiting to catch back up to this, after I watched all of the Centurion videos and then started watching all the rest of the videos!
@richardbarrow2977 Жыл бұрын
Has anyone tries compiling this emulator for the intel 8080? I'd like to give it a try on my old computer
@charlesklein72322 жыл бұрын
were do you get the tubes? what type are they? their is no way to contact you, what country are you in? im interested in what your doing but you dont seem to give enough information. im a hobbyist and can afford hundreds of dollars but not thousands.
2 жыл бұрын
I'm not "not so much" interested in vacuum tubes, but you are so keen and passionate about the project that it's impossible not to be interested by me either ;)
@UsagiElectric2 жыл бұрын
Thank you so much!
@jsalsman2 жыл бұрын
The lamps really need to be represented with something more easily discernable than v versus V.
@loveforallbxlmannif2 жыл бұрын
What happens if you treat sound with this computer ? What could be his sample rate ?
@jj74qformerlyjailbreak32 жыл бұрын
I really want to build something like this but with only Transistors.
@RPrice_OG2 жыл бұрын
Stuff just got real. I am so freakin' impressed by this project.
@ianfife427622 күн бұрын
Have you ever used neon indicator in lab testisting
@Bang6484a2 жыл бұрын
Right now 29 comments. Any progress sir?
@ropersonline2 жыл бұрын
Am I correct in counting 190 valves?
@UsagiElectric2 жыл бұрын
You are indeed! Kudos to you for the patience in counting that. There are 188x 6AU6 pentodes and 2x 2D21 thyratrons. Total power draw is in the neighborhood of 360W, which is... a lot, haha.
@ropersonline2 жыл бұрын
@@UsagiElectric Thanks for confirming. Maybe it might be useful to add that info to the wiki as well?
@exidy-yt2 жыл бұрын
Ken Arnold built the Curses library? The same Ken Arnold who composed the music for Ultima 3, 4 and 5? Then again that's a pretty common pair of Anglo names....
@etchedpixels2 жыл бұрын
Curses was built for the rogue game. Different Ken Arnold I believe.
@edgarwalk56372 жыл бұрын
Seeing the assembler gave me an idea, the creation of a USB interface to the switched inputs of the vacuum tube computer. Write the assembler code with the convenience of a PC, then run on the vacuum tube computer. For more complex programs, you could run a single program that wipes and reloads data.
@UsagiElectric2 жыл бұрын
Thank you! That's actually something I'm hoping to incorporate into the Program Control board (in a sense). Include all the level shifting circuitry on the board with a specific plug that'll let it connect to the PC for an alternate way to run programs. However, I think once the memory board gets further along, it may be worth building a small level shifting board for testing just the processor and memory without the Program Control board built yet.
@TheOriginalEviltech2 жыл бұрын
Someone should port DOOM for it :)
@UsagiElectric2 жыл бұрын
The slowest Doom port in the world!
@TheOriginalEviltech2 жыл бұрын
@@UsagiElectric I think someone built a computer in Minecraft out of blocks in the game and another guy that was familiar with his project built a DOOM port for it. so why not? :)
@chrisst89222 жыл бұрын
Just need a small block of platinum to finish it off.
@jhoughjr12 жыл бұрын
this wins the internet today
@UsagiElectric2 жыл бұрын
Thanks!
@glufke2 жыл бұрын
This is just awesome....
@UsagiElectric2 жыл бұрын
Thank you!
@Clancydaenlightened Жыл бұрын
15:54 shit cant even run hello world!
@lindoran2 жыл бұрын
Very neat! It is cool we live in a time where so much is able to be simulated on a computer before it's even built up as a prototype
@UsagiElectric2 жыл бұрын
Right! It was really wild to see what the tube computer could be capable of, and having a tool like the emulator can ultimately probe to be indispensable for writing for more complex software. Ren really knocked it out of the park with this one!
@Simcore9992 жыл бұрын
🤟
@UsagiElectric2 жыл бұрын
Cheers!
@CollinBaillie2 жыл бұрын
Man, I wish there were videos in this level of detail that taught assembly programming. I can grok everything happening, and possibly learn the assembly instructions, but ask me to create something in assembly and I'd be lost.
@UsagiElectric2 жыл бұрын
Assembly is some properly difficult stuff! The Tube Computer is extremely simple being a RISC architecture with just 16 instructions makes it a lot easier to grasp what's going on. Then the Centurion is the polar opposite with 256 OpCodes, a very CISC architecture, and addressing modes that'll make most programmers cry. I do want to spend some more time learning complex assembly but there's so many different, unique architectures and syntax styles out there, it's a one of the most difficult fields to break into!
@philtipping2 жыл бұрын
@@UsagiElectric What an amazing project - love the enthusiasm - very impressed. Good luck with the development :) @Collin Baillie Re. assembly code, you may be interested in the PlasMa project video series which shows a simple order code in vid #4. As with Usagi's it has 16 instructions but the structure is simple enough to assemble in your head... although watching Usagi's videos makes you think he's been doing that from the start :)
@trcostan2 жыл бұрын
It would be really cool to add IO to the computer so you could run code on it directly!
@UsagiElectric2 жыл бұрын
That's totally on the list of things to build in the future!
@Rob22 жыл бұрын
I still use curses a lot for quick-and-dirty programs that display some status and have simple input commands (function keys and/or a commandline). It is much quicker for development than GUI stuff. And indeed, more efficient to run remotely over slow connections.
@AxelWerner2 жыл бұрын
To me you Nakazoto and the guy who build the real thing are GODs !!! Its not that any of that solves any real world problem or is of any real use but just to learn and play, but the amount of work that did go in each of this is just mind blowing !!! Your brains are pure GOLD !! Engineering FTW !! The fact that you guys put everything OPEN SOURCE is the best. PLEASE, show us, teach us, inspire us, even we may never achieve the same level, its a blessing to watch you guys and what a human brain can achieve, even with technical limitations. I bow down in front of you, Sensei !!
@senilyDeluxe2 жыл бұрын
An (any) operating system is defined as a piece or bunch of software that turns a computer into more than just a collection of circuits that get warm when turned on.
@jimmy215842 жыл бұрын
I’m steadily working through the backlog of videos, and was wondering if I should try writing an emulator for it; maybe how few lines of Python it could be done in. I just saw the video title, so I guess there’s no need!
@Professorke2 жыл бұрын
It's awesome. You put in a tremendous amount of effort to get to a fantastic result. Your system is great for starters in the programming world. It's easy to learn and it's entertaining. The students will not be bored 🙂
@alexandrsoldiernetizen1622 жыл бұрын
So get the guy to write a C compiler for Centurion.
@UsagiElectric2 жыл бұрын
Actually, we already have a C compiler in the works for the Centurion. Most of the custom stuff we're working on building for the Centurion is being built in C, so we've got WIP compilers, emulators, software, etc. The only problem is the Centurion is progressing at a dramatically faster pace than the Tube Computer. I guess I need to get back to work, haha.
@ElianWailmer03232 жыл бұрын
This Video was AWESOME. It's so cool to see an emulator for your computer
@UsagiElectric2 жыл бұрын
Thank you so much!
@ElianWailmer03232 жыл бұрын
@@UsagiElectric No problemo keep up the great videos ᐠ₍⁽˚⑅̆˚⁾₎ᐟ
@adailyllama47862 жыл бұрын
This endeavor reminds me so much of Back to the Future III, when the single microchip burnt out and Doc made a substitute with tubes. The vacuum tube replacement covered almost the entire hood of the car.
@cb3142 жыл бұрын
Wen I was 12 I was dreaming to construct a computer like that. Finaly never did but I still like this things.
@skfalpink1232 жыл бұрын
I never cease to be amazed at how many (seriously) smart people there are out there. I only wish I could have been one of them...
@philiphighe18582 жыл бұрын
You mad fellow! The idea of emulating the vacuum tube computer on the Centurion is awesome!
@merseyviking2 жыл бұрын
Absolutely fantastic work! As soon as you said Ren had a reason to use curses, I was squealing with delight!
@elinbenson2 жыл бұрын
What would be really cool is to set up a serial interface to control the vacuum tube computer using a terminal.
@numlockkilla2 жыл бұрын
This is amazing
@DJPhantomRage2 жыл бұрын
It would be cool to have the vacuum tube computer run a ascii BBS via a telnet port somehow.
@Wim37u2 жыл бұрын
No Doom, yet?
@hrybanton2 жыл бұрын
ни хуя не понял, но очень интерестно
@thomaslechner16222 жыл бұрын
Can it run Crysis?
@UsagiElectric2 жыл бұрын
Ah yes, can it run Crysis! This is a fun thought experiment actually. The minimum CPU spec for Crysis is a Pentium 4 @ 2.8GHz. This actually makes figuring stuff out a little easier since the P4 is a single core CPU. We do have to make a few guesses here. Crysis is power hungry, so let’s assume that on a P4, CPU usage will average 90%. That means that Crysis is performing around 2.5 billion calculations per second. That should yield around 30 FPS, which is about 83 million calculations per frame. With a resolution of 1920 x 1080, that’s 2,073,600 pixels. That means it’s roughly 40 calculations per pixel. But, now we have to think about bus widths. If we boil a single calculation down to just moving a 32-bit value from one location to another, the P4 can do that in a single shot because it has a 32-bit wide bus. The UE14500 only has a 1-bit wide bus, so that same operation takes 32 distinct operations on the UE14500. Which means that the UE14500 needs to do roughly 1,280 calculations per pixel. And now we’re up to speed. I don’t know for sure at this point, but I think it’s possible to push the UE14500 to 100Hz. That means it’ll take 12.8 seconds to calculate one pixel. Working out from there, that’s 26,542,080 seconds to calculate a full frame. That’s 442,368 minutes, or 7,372 hours, or 307 days. So, sure, it could run Crysis, but only at a blistering frame rate of 1.2 frames per year!
@thomaslechner16222 жыл бұрын
@@UsagiElectric I guess that 1.2frames per year is not fluent enough for a pro gamer ;) BTW I can see no reason why those tubes coudln't do many hundreds of kilohertz, maybe even megs?!
@ducksonplays41902 жыл бұрын
@@thomaslechner1622 Maybe MHz, though that is unlikely as you said. Many large scale vacuum tube computers with massive sizes and thousands of vacuum tubes could run at hundreds of KHz. I see no reason why a tiny "simple" couple hundred vacuum tube computer couldn't match the same speeds or greater if designed well.
@commodore128d-oldchannel72 жыл бұрын
Now make Kevin emulate the Centurion! :P
@grotsoftsadventuresinelect88682 жыл бұрын
Love it! Great job Ren.
@UsagiElectric2 жыл бұрын
Ren really knocked it out of the park!
@Lilithe2 жыл бұрын
bnuy!
@user-folk19872 жыл бұрын
Бы ло бы интереснее использовать ламповый процессор для вычислений, а не эмулятор. Можно задавать программу при помощи пк
@celelestial62502 жыл бұрын
This is so cool!
@UsagiElectric2 жыл бұрын
Thank you so much!
@GHILLIESARCADEANDMORE2 жыл бұрын
Cool
@UsagiElectric2 жыл бұрын
Thanks!
@commandgames48572 жыл бұрын
189th
@ImmortanJoeCamel2 жыл бұрын
Nice! Looking forward to the site. After watching the videos I set out to create the minimum reference system for the mc14500b in Verilog. I'm using that project to learn verilog actually. I look forward to being able to better see the differences in the UE version so I can do that too!
@UsagiElectric2 жыл бұрын
Thank you! And that sounds awesome! If you get some workable Verilog going, let me know and I'll add it to the Wiki site!
@ImmortanJoeCamel2 жыл бұрын
@@UsagiElectric Awesome! I've found that the odd way it clocks the logic has been the biggest issue. Using the rising and falling edge of the clock isn't easily doable in Verilog. I want to keep it pretty generic so it can be used however people want.
@1971merlin2 жыл бұрын
I really enjoy the content but I find the cadence of the dudes speech and the way he laughs at himself and tries to build hype to be rather tedious. 20 minutes of video for 5 or 6 minutes content becomes wearing after a while. Just a little feedback, not to be negative, but to let you know where improvement could be made.
@UsagiElectric2 жыл бұрын
Sorry you didn't enjoy the video. Unfortunately, this is just my presenting style, and if it's not a style you can watch, that's totally alright! There's a ton of brilliant channels out there that dig into old tech. that are not only massive inspirations for me, but also unique and entertaining in there own right. Definitely check out James Sharman, Adrian's Digital Basement, Mr. Carlson's Lab, The 8-Bit Guy, Artem Kashkanov, and Applied Science. And that's just a few of the really amazing channels out there.
@guidolehwalder93762 жыл бұрын
compile command for armbian: gcc -o ue14500-emu ./ue14500-emu.c -lncurses ;)
@Jensen5672 жыл бұрын
Would love to see the clock input hooked up to a pendulum similar to the master clock that @LOOKMUMNOCOMPUTER has.