No video

Coding on a 1980s Business Minicomputer!

  Рет қаралды 215,299

Usagi Electric

Usagi Electric

Күн бұрын

NOTE: My understanding of Modulo was incorrect here. The actual remainder stored in "OPA" will be different than what I show in the video. In the examples, 28/3, the remainder will actually be 1 (9:3=27;28-27=1). For 37/5, the remainder will be 2 (5*7=35, 37-35=2).
Happy holidays y’all! There are many different facets to the Centurion project that we’ve been working hard on, and one of those is cracking the code for… code. And, I think we’ve got it! Tag along as I walk through writing a program in CPL, Centurion Programming Language, and have all sorts of trouble with the built-in editor, compile errors, coding mistakes, etc. You know, the usual fair when programming anything!
Centurion Wiki:
github.com/Nak...
All of the code used in this episode and the CPU6 Programmer's Manual are available at the links below:
github.com/Nak...
github.com/Nak...
If you want to support the channel please hop over to Patreon:
/ usagielectric
Also, we now have some epic shirts for sale!
my-store-11554...
Come join us on Discord and Twitter!
Discord: / discord
Twitter: / usagielectric
Intro Music adapted from:
Artist: The Runaway Five
Title: The Shinra Shuffle
ocremix.org/re...
Thanks for watching!
Chapters
0:00 Introduction
1:00 What is a Centurion?
5:08 Now a look at the software side
7:27 What kind of code are we going to write today?
8:33 Let’s spin the big boy up
10:24 Time to start coding
12:14 Necessary house keeping at beginning of code
13:47 Setting formats and declaring variables
15:38 Writing the entry into the program
16:28 Printing text on the CRT
17:28 Our main program loop
22:59 Printing the answer
24:06 Closing down the program and handing back control
25:18 Compile attempt #1
29:00 Compile attempt #2
30:10 Compile attempt #3
32:00 Compile attempt #4 (nailed it)
33:10 Why was it so slow?
33:56 What if you want to program something?
35:50 Bunny!

Пікірлер: 786
@kenromaine2387
@kenromaine2387 Жыл бұрын
Just watched today's video on writing a new CPL program. New CPL source code Complied, Assembled, Linked and ran, great job team. This time last year we just started working on getting the Diag PROM Bd to run the diag, tests, what a year. To the KZfaq viewers keep in mind when the Warrrex-Centurion was designed in the 1970's by a small team of people in Richardson, TX. This computer put food on the table and paid the bills for 100's of families for over 10 years. Regards, Ken R.
@JohnDlugosz
@JohnDlugosz Жыл бұрын
I grew up in Plano, which is just north of Richardson, from 1976. I remember that area as having a lot of interesting computer tech. There was a supercomputer company there too, and I think that's the one started by Feynman's son. Later this would be the "Telecom Corridor" and it was more about switches and other telecom tech. This is close to where Texas Instruments is located, too.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Жыл бұрын
Interesting to hear. But the name “CPL” makes me twitch a bit, because back in the 1960s it was the name of a British effort to put together a rival to IBM’s PL/I. The name stood for either “Combined Programming Language” or “Cambridge Plus London”, being the names of the two Universities involved in the effort. The full language as originally conceived was never implemented. But a cut-down version, intended for bootstrapping the full compiler, was put into use and achieved some popularity on various computers as a low-level systems programming language. It was called “BCPL”, which stood for either “Bootstrap CPL” or “Basic CPL”. Some folks at Bell Labs got hold of this, and saw it had some promise for implementing an operating system they were working on. They created their own, even more cut-down version, which they called “B”. This was then developed further, with the addition of types and structures (which the original BCPL did not have), into another language, called “C”. And the rest, as they say, is history.
@UsagiElectric
@UsagiElectric Жыл бұрын
Ken, thank you so much for all your help! We couldn't have gotten anywhere near this far if it hadn't been for your unbelievably good memory and excellent hardware repair skills!
@sebastienkneur1280
@sebastienkneur1280 Жыл бұрын
It’s amazing what you all managed to do in so little time from this non-functional, long-forgotten, entirely proprietary undocumented technology. You managed to preserve this knowledge and demonstrate it in all its 8bit glory. Amazing !!!!
@VK2FVAX
@VK2FVAX Жыл бұрын
So, the O/S is still under copywrite and they don't want to make it freely available. Fair call ..after all they wrote it. What about a hobbyist license? People sling a collective 10$ and they get a license to go play with it. Money gets donated to ..what ever the majority of the still living/interested copywrite owners decree? For 10$ for a hobbyist project ..who wouldn't sling some cash at it all? I certainly would.
@dont-want-no-wrench
@dont-want-no-wrench Жыл бұрын
the guy who saved that manual deserves a badge of some kind. so much info like that just disappeared
@scottlarson1548
@scottlarson1548 Жыл бұрын
The real exciting parts of these old multiuser systems is how they handle simultaneous access to files and databases. When you can run two or more programs that are heavily updating a huge file and the file doesn't get trashed, *that's* when you realize that someone worked very hard on the part of the OS that delegates file access to users.
@monad_tcp
@monad_tcp Жыл бұрын
yep, DOS absolutely couldn't do that at all, you would need novell or something
@davidmccaffrey5665
@davidmccaffrey5665 Жыл бұрын
​@@monad_tcp4
@tunichtgut5285
@tunichtgut5285 Жыл бұрын
This reminds me a little bit of my first C programming attempts on an Atari 520st. I had only one floppy drive. The C compiler from Digital Research was on ~10 floppy disk. You had to put the source code on a separate floppy disk and then switch between the compiler disks (the compiler would tell you which disk to insert) and the source code disk. If you inserted the wrong disk you had to start all over again. On compiler run took about 15 minutes.
@HPPalmtopTube
@HPPalmtopTube Жыл бұрын
I used to program on the C64 using "Power C"... Although it came on 4 disks instead of 10 on your Atari, it required swapping disks up to 10 or 15 times even to compile one file of only 2-3KB, and it took the better of 10 minutes... It also lacked many useful header/libraries so you'd have to write nearly everything yourself. I would assume that your experience on the Atari was meant to be used with a hard drive, but the C64 never even had support for one of those back then, so you had no other options...
@axelBr1
@axelBr1 Жыл бұрын
In 1989/1990 I had an Amstrad PCW something or other, that I used for writing my projects and doing a bit of PASCAL programming. It only had a single floppy, and wasn't multi-tasking, so had to reboot each time I switched between the editor and the compiler. During a programming session I got overly familiar with quitting without writing; which didn't end well when I switched back to a word processing session.
@PaxtonSanders
@PaxtonSanders Жыл бұрын
Astonishing, I never thought I'd see an editor that makes vi look easy, or at least intuitive. Great job, Kompoz!
@fllthdcrb
@fllthdcrb Жыл бұрын
You know, *nix systems have an editor of a similar type to Kompoz, called "ed". I believe it was the first editor for Unix. Maybe it's not as bad, but it too makes vi look easy.
@genderender
@genderender Жыл бұрын
​@@fllthdcrb "ed" standing for "line editor". It filled the same purpose as compose, but even more stripped back. There was never a UI version of ed, so you always had to rely on the terminal to maintain information Was developed in the era *before* CRTs and inspired a compose-like version called "ex" with actual UI features (like a text buffer wow). And said ex was further developed so you could edit the buffer directly in a visual manner, creating "vi". Can even use ex-mode in Vim today
@dwainsims3065
@dwainsims3065 Жыл бұрын
Egad! I recall using "ed" to edit data files on a PDP in 1982-84. It was abysmal - I just not realize it at the time.
@mkinitcpio
@mkinitcpio Жыл бұрын
yeah its funny how when it was unveiled vi was a tremendous advance in user friendliness, but it was also criticized for being wasteful. Terminals and connections were extremely slow and often paper-based so the terseness of interactive programs output was highly valued
@honza970
@honza970 6 ай бұрын
the 'ex' syntax is often used in vi. That is what you do when you enter : command, like :q! is how to exit the vi and also how to exit the ex.
@TastyBusiness
@TastyBusiness Жыл бұрын
Man, I felt that 31:44. That's a common sentiment when trying to be productive in janky old programming environments. Thank you for going to the effort of demonstrating this machine doing work.
@boblittle2529
@boblittle2529 Жыл бұрын
Me too! Made me actually LOL because I've been there. I bet most of us watching this have been there too.
@richardclarke376
@richardclarke376 Жыл бұрын
Shaking my head at how you do string assignments! Even 40 years ago this machine was clearly way behind the state of the art. On a PDP-11 under RSTS at that time I was using a full screen editor to create programs in the excellent 'Basic Plus' language. You could still be somewhat productive using those tools today !
@edgeeffect
@edgeeffect Жыл бұрын
Yeah, that was an amazing editor on the VT100 ... Really hard work if your terminal isn't cursor addressable though.
@TesterAnimal1
@TesterAnimal1 Жыл бұрын
@@edgeeffect the VT100 was cursor addressable. Once the TPU editor came out editing was easy. Before that the edit program was all typed commands.
@richardclarke376
@richardclarke376 Жыл бұрын
This is not to throw shade at the Centurion dev team. They probably only had 2-3 developers for this entire system which as Ken says paid hundreds of mortgages of people during the 70s and 80s.
@jessepollard7132
@jessepollard7132 Жыл бұрын
@@TesterAnimal1 edt worked quite well with the VT100. Even teco would work in a screen mode.
@JoeBurnett
@JoeBurnett Жыл бұрын
I REALLY enjoyed this video! Your difficulty reminds me of all the frustration I experienced while learning to program 6502 ASM code on my Apple IIe as a teenager back in the 80s. Congratulations on your progress!
@UsagiElectric
@UsagiElectric Жыл бұрын
Thank you so much! Programming is difficult no matter what language, but a confusing editor can really make it something that'll push your patience to the max, haha.
@KameraShy
@KameraShy Жыл бұрын
Those were the days!
@KameraShy
@KameraShy Жыл бұрын
@@UsagiElectric BUT ... regardless of how awkward, confusing and rudimentary an interactive editor is, those of us who began programming on punch cards still really appreciate it. Or think about programming on a remote computer through a dial up connection at 300 baud. Or on a teletype terminal that lists the program by printing on paper. In the mid-70's programmers at big companies used terminals for IBM mainframes that were enhanced Selectric typewriters.
@TesterAnimal1
@TesterAnimal1 Жыл бұрын
I remember actually writing COBOL code onto coding sheets and having them sent away to be entered by operators and compile errors come back the next day. That was in the 1980. Absolutely bonkers. That was British Rail, an old, publicly owned company full of time wasters. I still have no clue what the system was about, and I never got anything useful done there. So ridiculous.
@alanduncan3710
@alanduncan3710 Жыл бұрын
I learned IBM 360 assembly language on punch cards in the late 70's. It was running on a Burroughs 6800 mainframe with a simulator program. You only got 2 compiles per day.
@TheRetroEngine
@TheRetroEngine Жыл бұрын
Oh wow. I have a ZX Spectrum and Commodore 64. This is PROPER retro, having a mini/mainframe in your workroom and coding like this. Loved seeing it. I started my career on an ICL-ME29 as a Computer Operator running Cobol job streams (if I remember rightly) which moved onto Unix after a couple of year. Great seeing this old kit put to use, and the memory/CPU 'restrictions' showed how much can be gotten through it.
@marcoroose9973
@marcoroose9973 Жыл бұрын
How glad I am to have a modern programming language and a modern IDE for coding! Great video about ancient coding!
@HPPalmtopTube
@HPPalmtopTube Жыл бұрын
You definately are! :) Imagine the carpal tunnel and other sores in your hands you'd get after a day of coding with Kompoz on this ancient beast... The lack of an easy command line history in modern shells also sounds painful...
@sebastienkneur1280
@sebastienkneur1280 Жыл бұрын
It’s incredible to be able to see these old tools in action and imagine how people worked back then. The learning curve and the tediousness are such it makes me hard to imagine how they were convinced to put so much money and time into this and get productivity gains.
@sdjhgfkshfswdfhskljh3360
@sdjhgfkshfswdfhskljh3360 Жыл бұрын
I don't think it is that hard to learn. It is more boring. You need to make lots of unnecessary steps.
@UsagiElectric
@UsagiElectric Жыл бұрын
Programming for the machine was certainly an exercise in mental fortitude, but I think once you got the hang of the editor, it would be a lot easier. However, from an end-user perspective, a lot of the applications are incredibly user friendly and very well written! One thing I didn't touch on in this video (but will in the next), is that writing an executable in CPL is only half of the job. The Centurion actually makes use of an in-depth scripting language called JCL (Job Control Language), and a lot of things like printing to the screen, getting input from the user, making conditional choices, etc. are all handled by JCL, with the script calling the executable only at the end once it's gotten all the necessary information saved in the appropriate places. JCL is even more obtuse and difficult to follow than CPL, but the two together are incredibly powerful!
@mikekopack6441
@mikekopack6441 Жыл бұрын
I'm getting serious COBOL flashbacks watching this.... my eye is twitching... UGH... the IDIOTIC way we did things back in the 70's...
@geofftaylor8913
@geofftaylor8913 Жыл бұрын
Ha ha ha. Oh I hated COBOL in the day.
@DrHughJohnson
@DrHughJohnson Жыл бұрын
I have to use COBOL still, it’s insane.
@mikekopack6441
@mikekopack6441 Жыл бұрын
@@DrHughJohnson yeah I’d be finding another job!
@chriswatson2407
@chriswatson2407 Жыл бұрын
I don't think I ever managed to actually compile in COBOL. I switched to Pascal which I still write to this day for my job.
@sparkplug1018
@sparkplug1018 Жыл бұрын
Complies Only By Odd Luck. According to my father that was the feeling, he was very happy to be rid of it.
@xjet
@xjet Жыл бұрын
Ah takes me back to the late 1970s when I was working with a Signetics 2650 8- bit CPU and had nothing more than the 1Kbyte PIPBUG monitor rom as system firmware. All programs had to be written in assembler and then converted to hex codes for keyed entry (ie: hand-assembled). So much work but such a buzz when even the simplest program was debugged and working. Kids today.... 🙂
@aldergas01
@aldergas01 Жыл бұрын
I just wanted to express my heartfelt gratitude for all the hard work you put into restoring vintage computer systems. Your expertise as an electronic engineer is truly impressive and your dedication to the craft is admirable. You are a person of great quality and I have no doubt that your contributions to the field will continue to make a positive impact. I hope that this new year brings you all the success and happiness you deserve. Wishing you a happy 2023!
@graealex
@graealex Жыл бұрын
Lockpicking lawyer would be proud of you. Btw you can disassemble the lock and file a working key from a blank. Or just get the whole lock to a locksmith, and he'll give you a working key from his collection.
@KameraShy
@KameraShy Жыл бұрын
Or just swap a toggle switch.
@CATech1138
@CATech1138 Жыл бұрын
Or gut the lock
@graealex
@graealex Жыл бұрын
@@KameraShy I think the overall theme is to keep everything intact and original, so just getting a key for the lock would mean everything stays genuine. If he can rake it open in one second, that shouldn't be too hard.
@jonvaljean76790
@jonvaljean76790 Жыл бұрын
Beautiful video, thank you for that trip down memory lane. When I was a just.starting.out programmer working for ACT in the Milan office, writing the Linkage Editor for the Olivetti A7 minicomputer, 1973, we used coding sheets. That’s right. We wrote out each line of code on a formatted sheet of paper. We could then walk through the proposed code - called it a “code walk-through” and discover various stupid errors. After a number of expresso stops - the coffee was brought up from the bar on the ground floor, in little individual thermos containers - the code could be entered into the machine and since we were good … it often worked first time. That was the most important lesson of coding once upon a time. Go slow, step by step, think it through, and catch mistakes before they occur. Became a mantra of Deming … rework is harder than doing it right the first time. Thank you so much !
@mikekopack6441
@mikekopack6441 Жыл бұрын
THIS... THIS is where the idea of Computer Programmers being "High Priests" of the machine came from. Look at all the esoteric crazy non-intuitive things you had to do just to write a simple math problem! Thank god we've come so far. Of course, by the 1976 there were the big 3 microcomputers each running BASIC that you could have done the same thing on at home just as fast (ok maybe not AS fast given interpreted BASIC vs compiled code) and a LOT easier!
@Rob2
@Rob2 Жыл бұрын
It is more like 1977 when that happened... and a lot happened in a year in those days.
@AJMjazz
@AJMjazz Жыл бұрын
Well done! You brought back nightmares of my college days. But they were good nightmares.
@absenttk4213
@absenttk4213 Жыл бұрын
During the time in which I watched this video, I wrote this program in C#, showered, wrote this program in C++, ate, then wrote this program in C. Right about the time it ended I caught up on my daily prayers to the GCC gods.
@ironlion45
@ironlion45 2 ай бұрын
The palpable excitement Dave expresses when he gets things working in this video is really heartwarming. :D
@Phostings1
@Phostings1 Жыл бұрын
Wow, I really enjoyed myself watching this! I'm fairly new to the programming scene and just got my new job as a software engineer. Even though our text editors are so much better today, it amazes me to see how difficult CPL can be just to edit in its environment! You did an awesome job debugging your code. Congrats on making it all work!
@Conenion
@Conenion Жыл бұрын
Lukily, editors have much improved since then ;-D
@balloonvendor
@balloonvendor Жыл бұрын
Enjoying your videos from Japan. Since 2023 is the year of the Usagi in Japan,🐇 May you continue to make great strides. (Like a rabbit jumping)
@shinedom
@shinedom Жыл бұрын
As a pascal native programmer i really understsnd the efforts, the suffering but also the joy wen the compiled propgram works. I think it may be very interesting to go trought the machine code to really understand the steps the CPU does during the execution
@UsagiElectric
@UsagiElectric Жыл бұрын
This was actually day two of filming too! The first day of filming it all feel apart about midway through and I had to come back in to the emulator and spend some time sussing things out. In the end I couldn't use any of the footage from day one, so seeing it actually print the right answer was properly exciting! I believe we could get the full compiled assembly from one of the temp files, but the we still don't actually have a full grasp on the entire ISA, though we're getting a lot closer. It would definitely be interesting to see how the assembly achieves the same thing, but I would also definitely need someone to walk me through it first, haha.
@KameraShy
@KameraShy Жыл бұрын
Wasn't Pascal the wave of the future? What happened to it?
@meindertsprang7491
@meindertsprang7491 Жыл бұрын
@@KameraShy It evolved. I learnt Pascal at school, being initially designed as an educational language. Then I got my first computer (after using the Intel SDK85, a 6502 kit and an Acorn Atom), a massive 2 drive CP/M beast that came with full Pascal MT+ compiler. Then there was MSDOS and Turbo Pascal, which evolved into Borland Pascal. It is still very much alive as Delphi (Embracadero) and I use it every day to write and maintain the windows configuration software that come with our products.
@AMcAFaves
@AMcAFaves Жыл бұрын
@@KameraShy Down another branch, Niklaus Wirth after designing Pascal, designed Modula(-2) and then designed Oberon, which is not only a programming language, but also an OS (which he has also designed a RISC chip to run on.)
@Ice_Karma
@Ice_Karma Жыл бұрын
@@AMcAFaves Down _another_ another branch, Anders Hejlsberg, the guy who created Turbo Pascal, has been at Microsoft for some time, where he created C#.
@captainchaos3667
@captainchaos3667 Жыл бұрын
I appreciate that you always show us at the end that these projects are being properly supervised.
@Trucmuch
@Trucmuch Жыл бұрын
Great video. And I get that the point is not to get the correct answer but to test a program on that device. I just want to point out that of all the Euler problems, the one chosen is really not brute-force friendly. The multiple of 3 are 3,6,9,...,996,999 their sum is obviously 3x(1+2+3+...+333) = 3 x 334 x 333 / 2 = 166,833 The multiple of 5 are 5,10,...,990,995 their sum is obviously 5x(1+2+3+...+199) = 5 x 200 x 199 / 2 = 99,500 we can sum those two values except the multiple of 15 are been counting twice so we have to subtract it once The multiple of 15 are 15,30,...,975,990 their sum is obviously 15x(1+2+3+...+66) = 15 x 67 x 66 / 2 = 33,165 the answer is 166,833 + 99,500 - 33,165 = 233,168 as the computer rightful answered
@antonnym214
@antonnym214 Жыл бұрын
Excellent video! This is a milestone! You're right. 90% of the problem is the editor. CPL appears to be influenced by Fortran, but most likely very streamlined for ease of compile. Around that same time, I was working at Control Data Corp with a language called TAC BB2, which I really liked. It was a full featured "Business BASIC". Very easy to use, no hassles with compiling and all those compiler directives. Notably, it lacked floating point math, so all money transactions were done in pennies, and when you printed out, you structured the print with a decimal point. To me, the lack of floating point was not a deficiency. I like that. It avoided rounding errors. All good wishes for 2023.
@douro20
@douro20 Жыл бұрын
Don't forget there were at least a couple of computer lines designed specifically to run BASIC, one from HP and the other better known one from Wang. There is at least one video of an HP 250 running- it's a timesharing BASIC system integrated into a small desk with a tiny console monitor, based on the architecture of the HP 9835.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Жыл бұрын
So how did you avoid rounding errors in interest calculations?
@JanBruunAndersen
@JanBruunAndersen Жыл бұрын
@@lawrencedoliveiro9104 - unless you have a language that supports some kind of infinite precision (which would require an infinite amount of memory) you will always get rounding errors.
@KameraShy
@KameraShy Жыл бұрын
Interesting. Since this was intended to be an accounting machine for small business languages such as Fortran and standard Basic were intended for other purposes. COBOL would have been too heavy. PL/I was used in a few shops for business programming but never caught on. It may also have been too much for the Centurion.
@ifrit05
@ifrit05 Жыл бұрын
15:07 I jokingly said "Outer Planets Alliance" in my head right before you said the same thing lmfao I can't even right now. xD
@steenhansen8
@steenhansen8 Жыл бұрын
Yyaaaayy, love this. I learned assembly, Cobol and more in 1980 and this is just totally memory lane :-)
@arteeFartee-e9
@arteeFartee-e9 Жыл бұрын
Can you imagine not having a CRT to do all this? Instead imagine the frustration of keying into IBM punch cards (with ALL the errors), submitting your stack of cards, and getting a printout the following day. Somehow, that's how we got the Apollo Guidance Computer to get to the Moon and back again.
@Mueller3D
@Mueller3D Жыл бұрын
Well, the nice thing about punch cards is that they typically don't just disappear into the ether like bits in RAM can 🙂
@Rob2
@Rob2 Жыл бұрын
@@Mueller3D I learned programming that way! It makes you think about the algorithm you want to use and the way that is best coded in the used language, before blindly entering sourcecode and hit "compile&run" until it compiles without syntax errors and appears to run OK. The chance of bugs is decreased doing it that way.
@rocketman221projects
@rocketman221projects Жыл бұрын
@@Mueller3D You sure get a mess if you drop your punch cards though.
@JanBruunAndersen
@JanBruunAndersen Жыл бұрын
Well actually.... Punching cards AND correcting errors, was not that hard. And always make sure to take a pen and draw a fat line diagonally across your card stack. Ask me how I know.
@nickpalance3622
@nickpalance3622 Жыл бұрын
I was gonna say that substituting a new punch card for one with a different line of code would seem easier. Not like the hardware would eat your cards prior to the place where you made the change. And yes I’ve heard horror stories about dropping a stack of cards. Life is full of trade offs. Must be why in these modern times we’ve got nothing better to do than argue over where to put your curly braces in C/C++ and how many spaces (or just use tabs) etc. etc. 🔥
@juamont
@juamont Жыл бұрын
I swear the youtube algorythm is dumber everyday, I litterally searched "1980s coding" several times the last few months and this channel NEVER came up
@bayareapianist
@bayareapianist Жыл бұрын
I just had a flashback. In late 80s, I took a computer course in a local college. I was a new EE graduate and I remember I kept swearing at the designers who didn't have any logic for very basic commands. As we said then the commands came from their butt. I left the course the same night. I'm glad the mini computers died in '90s.
@your_utube
@your_utube Жыл бұрын
Way back in the '80s when I had to load my assembler for the Z80 in the ZX Spectrum, it would take 15 minutes to load the assembler from tape, and a split second to crash it. So, you can guess, I did not write too much of that on the ZX Spectrum. Therefore, I had to do a lot of READING to ensure I did not do something that would anger the assembler and crash it. You learn to appease the beast and keep it calm! I preferred to use Spectrum Basic, which was much better, very powerful, just slower. I wrote a full-page word processor in a week and it worked, but you would press a button and wait for the whole screen to update, so I changed a few parameters, and limited it to 3 lines. This is why I called it a periscope editor, although it was easy to use, powerful, and it allowed me to save documents to tape, load it from tape, and print it to a dot-matric printer. Later, I wanted to print it a bit more "normal" instead of the blocky text, so I would send a code to switch the printer to NLQ (Near-letter quality), which is a feature the printer supported. This was all in the manual that came with the printer, so again I had to READ the manual to be able to do this. Boy, those were the days! Thanks for taking me back there to those almost-pioneer days.
@ExtremeMetal
@ExtremeMetal Жыл бұрын
It'd be interesting to see the centurion run the Mandelbrot benchmark written by Matt Heffernan to see how it stacks up against 80s 8 bit home systems and also James Sharman's homemade pipelined 8 bit CPU.
@mrkosmos9421
@mrkosmos9421 Жыл бұрын
+1, totally agree
@Vanders456
@Vanders456 Жыл бұрын
Sure but are *you* going to type that in using that terrible editor?
@mrkosmos9421
@mrkosmos9421 Жыл бұрын
I'd actually do this with both assembly and CPL, like the benchmarks
@mrkosmos9421
@mrkosmos9421 Жыл бұрын
@@Vanders456 Writing from a modern PC to a floppy maybe?
@ExtremeMetal
@ExtremeMetal Жыл бұрын
@@Vanders456 porting nano might be necessary first.
@b0neme
@b0neme Жыл бұрын
Congratulations! You are now a programmer! You experienced the total panic of failure, and with a tweak, the thrill of success! Computers are fun like that. After hours of looking at a core dump in COBOL or emulating your app for iPhone, you FINALLY find the bug, and squish it!!! Welcome to The Brotherhood!
@michaelbenn4741
@michaelbenn4741 Жыл бұрын
LOL, how we used to do things :-) I used work on the Phoenix drives you mentioned attached to Wang 2200 systems, and they were great when they worked, but boy, did they seem to crash a lot! That smell and that awful screeching noise still haunt my nightmares! After a head crash there was the fun of replacing the heads, then getting the damned things aligned. Oh the joys of being mini-computer maintainence engineer! Great video! BTW, at around 21:15 the text on the screen shows strings being declared using " ' STRING ' ", but your voice-over and what you type are in the format ' " STRING " '.
@michaelbenn4741
@michaelbenn4741 Жыл бұрын
Ahah! I should have waited for the end of the video, LOL ;-)
@MrAsBBB
@MrAsBBB Жыл бұрын
Suddenly found your channel. I just love it. It’s my whole history of computing . From where you need 32 Amps for a processor to an iPhone. What a journey ! Just love the noise of the fans behind you. I so miss that. All the cooling coming up through the floor. What a pleasure :-) Programming was programming. Oh one of our Integraph pdp11/70 wouldn’t boot. I had to slap the 8.5 inch floppy for it to boot.such fun
@Croaker369
@Croaker369 Жыл бұрын
That is is really good demonstration on how things use to be in the 70’s when it came to programming minis and mainframes
@boblittle2529
@boblittle2529 Жыл бұрын
I've been in computer programming for 34 years and written code in BASIC to assembly and many languages in between. This video makes me appreciate how rough programmers before me had it. Some of you who hate VIM should be glad you don't have to use Kompoze.
@rich_in_paradise
@rich_in_paradise Жыл бұрын
"30 minutes of head-scratching later..." Classic programming experience 🤣
@bryandowdey1779
@bryandowdey1779 Жыл бұрын
Happy New Year and congratulations on your first successful program on the Centurion! Your efforts and frustration remind me of my programming days back in the mid to late 1970's! Brought back a whole load of memories! 😀
@UsagiElectric
@UsagiElectric Жыл бұрын
Thank you, and Happy New Year to you and yours as well! Y'all were proper programmers back in the day. The necessity to keep the full structure of your program in your head and work from there is something that I'm glad I experienced but certainly not envious of, haha.
@highpath4776
@highpath4776 Жыл бұрын
@@UsagiElectric 1) If you are going to use a system designed from tape use , better get a tape unit for the machine... 2) For programming I was always taught to write down (pen and paper) what I was going to get typed into the machine - this should help get your structure / " ; etc correct as you can (or get someone else) to step through it and spot errors. Of course you need to check for typos still. 3) It is always worth copying your first saved file to a "backup / ver0.00 " file that you can bring back if you edit the working programme and find you have lost something" (3a the use these days of "undo" as a command or whatever in "apps", is that poss on the likes of these 8 bit systems ?
@Professorke
@Professorke Жыл бұрын
Wow, this is nostalgia for me, reliving my young programming days again. You are the best! Happy New Year and I wish you good health and lots of retrocode.
@TheVintageApplianceEmporium
@TheVintageApplianceEmporium Жыл бұрын
I just love it when you get all excited and happy 🤩
@solidstate0
@solidstate0 Жыл бұрын
Man! That thing is stacked - and a 5MHz CPU too! Had to laugh, I thought you were going to have to hotwire that thing when you said you'd no key - but then to see you actually 'Pick' the lock - priceless. Excellent work dude!
@echandler
@echandler Жыл бұрын
Congrats on getting your program to run. Now all you need is for someone to port TECO to the Centurion. :)!
@fredrikvanlienden6749
@fredrikvanlienden6749 Жыл бұрын
This is a very interesting series, i've never used these kinds of machines, and I find it really informative and exciting. Kudos to all who put in effort to make this happen.
@rancidbeef582
@rancidbeef582 Жыл бұрын
Vintage computers AND a bit of Lock Picking Lawyer! Love it!
@UpLateGeek
@UpLateGeek Жыл бұрын
That text editor makes VI look positively user-friendly! And I can see why there was so much demand for BASIC to be ported to different machines back in the day. It's a shame there wasn't a BASIC for the Centurion, that would've made life a lot easier! But I guess it makes sense that a business computer wouldn't need it, since the majority of those computers would just be running one custom made program that all the terminals would access.
@martinhow121
@martinhow121 Жыл бұрын
VI is user friendly - compared to edlin, lined, TECO or any similar line based block editors of the time.
@tectopic
@tectopic Жыл бұрын
There’s nothing wrong with vi(1) 😊
@lilithcal
@lilithcal Жыл бұрын
Oh my gawd, a shiver just went down my spine. My first home computer was an Altair 8800 (still have it) but my first business computer was a Centurion by Warrex. Seems to be that same configuration. Same line printer. We switched out printers at some point and I got to take the printer home with me. Also added a tape backup at one point but I had nothing but trouble with it. Programming in CPL was a drudge but they eventually added conditional looping and it allowed me to change my programming style. Eventually I was laid off for economy reasons but got to keep the printer, now lost to history when I had to give up my house.
@rickkephartactual7706
@rickkephartactual7706 Жыл бұрын
This video brought back a lot of memories. I loved it at the time but I would never want to go back to that. I'm spoiled rotten now. Thank you
@John_Krone
@John_Krone Жыл бұрын
It is so satisfying to write on those older keyboards. One must respect those old first programmers. wow
@mephustowest1876
@mephustowest1876 Жыл бұрын
It was so exciting watching the Centurion running code. I really enjoyed this video. Congratulations on the progress and I can't wait to see more developments. Happy New Year!
@daghtus
@daghtus Жыл бұрын
LPL would be so proud of ya for picking the lock like a boss with that wave rake.
@TechBench
@TechBench Жыл бұрын
I'll admit that if I started programming in CPL back in 1982 instead of TI BASIC, I probably would not have kicked off my career in computer engineering. However, it's really cool to see the CPL program compile and run like that. Yep, with the really slow TI BASIC screen I/O, I also quickly learned not to output too many things to display during computations.
@ke9tv
@ke9tv Жыл бұрын
22:53 - I saw that END LOP - now I know what kind of Usagi is writing tthat program! :) 28:26 Always make a backup! KOMPOZ looks a lot like EDLIN on the old CP/M machines. It probably lets you read in multiple lines from the input tape, work with them in RAM, and then write them out in a bunch. What most programmers did was work mostly with modules that would fit in memory, suck them in at one go, edit them, and then write them out. (Of course, a programmer would boost the amount of user memory available for the edit session. That's why programmers did so much of their work outside business hours on these machines.)
@edgeeffect
@edgeeffect Жыл бұрын
On CP/M, I would always use WordStar in non document mode to avoid the horrors of line editors.
@neleabels
@neleabels Жыл бұрын
True programmer still do their Windows coding with EDLIN!😉
@lucasrem
@lucasrem Жыл бұрын
ED, the UNIX ed text editor is the base editor. EDLIN is a Q/Dos alternative, that MS copied in MS DOS too, we all call them ED ! i only wrote routines to export data on Digital system, good tool !
@ke9tv
@ke9tv Жыл бұрын
@@lucasrem Yeah, saying EDLIN was a brain fault, it's been a long time. I meant CP/M's ED. It was very different from ED on Unix, which was a lot more convenient. Once they became available, I'd use either RED (Ed Reams's small-C screen editor) or MINCE (Mince Is Not Complete EMACS).
@scottjohnson5415
@scottjohnson5415 Жыл бұрын
@@lucasrem There was also VI, and then later on VIM
@ultrametric9317
@ultrametric9317 Жыл бұрын
DUDE - you need to write a FORTH system for this computer. That will open up true multitasking and modern control of the hardware so you can add peripherals. It's pretty much a cookbook procedure to implement a FORTH system when you know the details of the CPU and memory map. Great funny video. Reminds me of struggling with XEDIT only much worse :)
@malcolmgibson6288
@malcolmgibson6288 Жыл бұрын
Takes me back more years than I care to remember, and my first efforts at programming. 👍
@rzerobzero
@rzerobzero 11 ай бұрын
Goodness, I felt each one of those errors in my soul. Good for you for figuring this all out.
@johnhermanson1156
@johnhermanson1156 Жыл бұрын
Hadn't heard the name "CPL" spoken for many years - unless I'm getting my wires crossed, it was the foundation that a Z80 development system ran on top of that I once used. And now I know what the letters mean. Thankfully my mission was the Intel assembly code we used it to develop and not dealing with actual CPL, it's native editor or inner workings. Still, my co-workers and I had our share of struggles very similar to what you just went through. I really appreciate how you have fun with this older stuff and you mostly refrain from reminding your audience how dated the technology is - no reminder needed. Your exacerbation and finally triumph was a pretty frequent and common shared experience back then!
@LJ45Chimera
@LJ45Chimera Жыл бұрын
For comparison this program, written in Fortran 77 and run on my PDP11/73 takes 2.45 secs with progress indicator and 0.61 secs without indicator.
@digitalnomad9985
@digitalnomad9985 Ай бұрын
You could do a compromise where the progress indicator is updated only when one of the conditions for the add subroutine is satisfied. This would slow the program down less and fulfill the purpose just as well IMO.
@britz4393
@britz4393 Жыл бұрын
You opened some very old memories. Lots of head banging. I loved the video.
@sammytimgaming2947
@sammytimgaming2947 Жыл бұрын
Oh my god, I've been watching since the first few videos. Keep up the good work!
@PCRetroTech
@PCRetroTech Жыл бұрын
This seems like a very efficient system. I can't believe that editor didn't require you to acknowledge the disk every 60 seconds and retype everything if you missed an acknowledgement, or that the compiler didn't require you to manually patch the executable for operation at a fixed memory address. At this rate of progress we'll soon have kids operating computers!
@curtvaughan2836
@curtvaughan2836 Жыл бұрын
I feel your pain with the debugging process. My first programming, back in the early 70's, was done using cards one would input to a Remote Job Entry (RJE) site via a card reader to a CDC 6400/6600 mainframe. Some time later, depending on the mainframe system load, one would pick up a printout of the results of your compilation and (hopefully) program execution. Every time errors occurred, it was back to the coding sheet for corrections, and then back to the keypunch machine to produce a new set of cards for execution. I was in my 20's at the time, computing was new and interesting, so that lessened the pain. I look back on those days nostalgically. Enjoy your exploration into old technology. I later spent about seven years, from the mid-70s to the early 80s, working on PDP11's (an 11/04, 1103, and an 11/70), before moving on to working with a Cray X/MP and Y/MP in the late 80s. Then the "modern" era of computing finally began.
@acceler9
@acceler9 Жыл бұрын
This reminds me sooo much of trying to type in a program from a magazine to a Commodore 64 back in the day. I knew NOTHING about code at the time, so if I had an error, I was screwed! Loving your content lately!!!
@fllthdcrb
@fllthdcrb Жыл бұрын
At least editing programs was easier on the C64!
@martinstam5241
@martinstam5241 Жыл бұрын
Kidding aside: super-kudos for solving an Euler challenge on the Centurion.
@LelandMaurello
@LelandMaurello Жыл бұрын
Love the 'dance for joy' when the program finally compiles and gives an answer. I remember doing many of those learning programming.
@KameraShy
@KameraShy Жыл бұрын
Everybody follow along? Got it all? Ready to program one of these things? Regardless of language and generation of machine, it is good practice to make a baseline copy of a program before going in to edit it. Has saved my bytes many times. And hours of re-typing. Even using "normal" editors.
@LoneWolf0648
@LoneWolf0648 Жыл бұрын
i could only imagine his reaction if one of the errors lead to another bad chip somewhere. its good to see this thing doing something thats not an included function, great work.
@sergiostanislauskas8985
@sergiostanislauskas8985 Жыл бұрын
You certainly have balls of steel! The OS looks a lot like M/PM... It's incredible how people wrote serious systems in these "business" computers in the 70's, 80''s... I remember writing a Pert/CPM program in a TRS-80 and guys using it to control projects with 200-300 activities as the company did not have enough money to pay for IBM Projacs.... These small computers really changed the computing landscape!
@GentryBa1
@GentryBa1 Жыл бұрын
Will watch it this night! I LOVE YOUR Minicomputer videos! 🥰
@OptimiSkeptic
@OptimiSkeptic Жыл бұрын
Oh my GLOB, that frustrated arms-in-the-air turn and walk away from the keyboard resurrected some very old emotional trauma.
@ticklemesenpai447
@ticklemesenpai447 Жыл бұрын
Man what a cool channel. Also I died laughing when you pulled out the lockpicking tools to turn this thing on.
@Hitchhiker_a.d.R.
@Hitchhiker_a.d.R. Жыл бұрын
I came across the centurion playlist two days ago when I took a little break from studying for my upcoming exams... let's just say I haven't learned a thing about organic chemistry in the past 48 hours. Thank you for your excellent work, both in terms of the videos and the repair itself!
@erichkohl9317
@erichkohl9317 Жыл бұрын
That editor makes me appreciate vim, as a casual Linux user. I wrote a program in FORTRAN about a year ago just for fun... the experience was very similar to this!
@AirPiracy
@AirPiracy Жыл бұрын
Oh my gosh...I'm getting the shakes remembering how challenging it was to program even the most basic programs in the early '80s! Well done!
@AndreasToth
@AndreasToth 7 ай бұрын
The instructions to the compiler at the start of the program are painful but I do appreciate that they are kept with the program and don't need to be remembered and input on the command-line each time the compiler is invoked. About the program itself, the syntax is, well, archaic, but that shouldn't be a surprise, considering. However, archaic or not, one thing that this era of programming lacked was blank lines, every line of code followed the other without any breathing space between them. Coding then was like writing books without paragraphs. UPDATE: It seems the final source code does in fact contain blank lines, but this may simply be because it was written recently by people that know better.
@goodamigo9373
@goodamigo9373 Жыл бұрын
Can we appreciate the fact that if you want to code on an old computer you have to pick it's lock first
@MrAsBBB
@MrAsBBB Жыл бұрын
I spent my time 30 years ago making a progress bar where the “>” went across the screen. Oh how time flies. You did brilliant 35:37
@douglasmaddox7808
@douglasmaddox7808 Жыл бұрын
This gave me flashbacks & PTSD! I got my degree in CIS back in the early 80s. I can't tell you the hours I spent at the computer center writing code for my classes. FORTRAN, COBOL, Pascal & Basic. Later taught myself P/L1. Editing, compiling repeat ad nauseam. Then actually get to run it only to find 10 more errors. Start all over again. All of use looking like zombies squinting at the ADM terminals. Not daring to get up to use the bathroom lest we lose our set & terminal. Your passing out on the floor is exactly what happens when it finally runs correctly. Our uniform was jeans, t-shirt & mountain climbing boots. Swinging from depression to mania. Living on cheesesteaks, pizza & caffeine. It's a wonder I survived.
@c-mos
@c-mos Жыл бұрын
This is great series! Thanks for making this :-) Now I know how the hell for bad programmers looks like... and it has an inscription on the gate... HELLORD! - written in large friendly letters ;-)
@JB52520
@JB52520 Жыл бұрын
Abandon all hope ye who press enter here
@martinhaub6828
@martinhaub6828 Жыл бұрын
Boy was that interesting! Watching you go through the torture of editing the program made me appreciate the genius of line numbers in timesharing BASIC in replacing errors. How far we've come in 40 years!
@JohnDlugosz
@JohnDlugosz Жыл бұрын
Yea, as someone with a one-line 24-character display, I could really appreciate the use of line numbers to specify where to put a new line or targeting a line to be edited.
@jimle22
@jimle22 Жыл бұрын
Man, congratulations. You got a lot more patience than I will ever have.
@DwightWalker
@DwightWalker Жыл бұрын
It was very good how you remembered the obtuse shell commands to operate the compiler and editor. Yes before there were graphics, text based systems were all there were in 1980s. It was like PDP-10, PDP-11 and VAX/VMS which I used at University of Queensland in Australia.
@StevenIngram
@StevenIngram Жыл бұрын
I'm glad someone is working on a basic text editor. That makes all the difference in the world.
@ninefingerdeathgrip
@ninefingerdeathgrip Жыл бұрын
It's weird how much it can raise ones heart rate to just watch compiling on KZfaq, even with a knowledge that the program will most likely run and function properly by the end of the video.
@marks93cobra
@marks93cobra Жыл бұрын
Reminds me of FORTRAN programming on a Perkin Elmer back in the early '90s...the line editor wasn't great, but once you got the hang of it, became perfectly usable....ahh...the days of the 20 minute compiles...hit go, get up and go make another cup of coffee and chat with the co-workers, those were the days.
@tonycanning8518
@tonycanning8518 Жыл бұрын
Omg, such a blast from the past. I started on Minicomuters and terminals ...
@Rob2
@Rob2 Жыл бұрын
That kind of editors was typical for the time... editing text was really painful. Now, that probably did not hurt the program quality. You had to THINK before you started entering program text and debug it using single-step techniques.
@VernGraner
@VernGraner Жыл бұрын
It has been SO MUCH FUN watching you work on this machine! A labor of love and a true contribution to creating a resilient history of these super cool old machines. KUDOS! 👍😁
@overlandkltolondon
@overlandkltolondon Жыл бұрын
Watching you use kompoz makes me glad we have tools such as vi these days.
@saifal-badri
@saifal-badri 6 ай бұрын
Watching you operate this computer made me appreciate the power button on modern computers 😂
@augustuscrocker9328
@augustuscrocker9328 Жыл бұрын
Fun blast from the past -- reminded me of writing lots of code for machines like this. From a programmer-of-those-times perspective, your reactions to the kludgy text editor were amusing and deja vu clench-worthy. In our day, we desk-checked our code and made every effort to avoid using the compiler as a debugging tool! The early ASYNC/ASCII character-cell CRTs were effectively paper-free teletypes and nearly useless as text-editing devices (though we wrote lots of code on them), and until the DEC VT-100 came along, there were no standards for full-screen operations, which created a market for word processing and enabled such wonders as in-line editing, etc in the ASCII world. For large projects, some of us continued to rely on unit record devices like card readers
@aharkness5657
@aharkness5657 Жыл бұрын
This video is such an accurate display of what programming is like :-D
@roysainsbury4556
@roysainsbury4556 Жыл бұрын
I ran this on my Psion Organiser in OPL (BASIC-like), 0.9Mhz. It took 19 seconds, or 13 without the "progress twiddle". I wrote an alternative algorithm that took about 7 (no progress twiddle). In interpreted basic on the TRS80 model-I, 1.77Mhz, without progress twiddle, about 35 seconds. The difference would be that OPL "translates" into a sort of P-code (they call it Q-code), so it's quicker than interpreted BASIC. Turbo Pascal on CP/M on TRS80 Model-4 4Mhz, about 1 second! This compiles to machine-code. A version compiling to P-code would be slower. I noticed some of the CPL code looked a bit FORTRAN-like, such as the .LE., and the use of output formats. I shall try it in FORTH when I get a chance.
@TurpInTexas
@TurpInTexas Жыл бұрын
Yep, as an old timer who first learned to program in the 1970's, that was painful. Lol! All that typing. I recall a co-worker who typed those header blurb's so fast it just sounded like one big splat sound with a very short pause between the next blurb, so as not to overload the keyboard buffer. So you know you gotta find a port for Colossal Cave or Adventure to put on your machine next, right? I think that was practically standard on those machines in that day.
@PlayerClarinet
@PlayerClarinet Жыл бұрын
Awesome work. As your interaction with the Centurion transitions from getting the hardware running to working at the terminal for long periods, I'd recommend moving the terminal away from the chassis onto a bench. That's how the system would have been used back in the day: you sit at the terminal when it's at desk-height, and the noisy components in the chassis aren't wearing away at your eardrums.
@PlayerClarinet
@PlayerClarinet Жыл бұрын
And with a bit of luck, you might be able to use the Centurion terminal with the PDP-11. Two birds, one stone.
@MarcelHuguenin
@MarcelHuguenin Жыл бұрын
Happy New Year to you and your family! I feel with you remembering now the time I had to program on CP/M (and CCP/M, Concurrent CP/M on a NorthStar Multi User machine). Editing always was a drag and I had to re-enter stuff many times. You did a great job! Regards, Marcel
@MrAsBBB
@MrAsBBB Жыл бұрын
I truly remember this enjoyment. It’s palpable.
@bborkzilla
@bborkzilla Жыл бұрын
For 2023 you can use 1978 as the week days, months and so on line up perfectly.
@eboyd53
@eboyd53 Жыл бұрын
Line editors were the balm back in the day! I was the goto person for the full screen editor in my shop back in the 80's.
Building a “Miniature” Centurion Minicomputer (Part 1)
17:02
Usagi Electric
Рет қаралды 26 М.
The Bendix G15 Inches Closer and Closer to Booting!
23:04
Usagi Electric
Рет қаралды 51 М.
Pool Bed Prank By My Grandpa 😂 #funny
00:47
SKITS
Рет қаралды 18 МЛН
小蚂蚁被感动了!火影忍者 #佐助 #家庭
00:54
火影忍者一家
Рет қаралды 53 МЛН
A teacher captured the cutest moment at the nursery #shorts
00:33
Fabiosa Stories
Рет қаралды 62 МЛН
The Dawn and Dusk of Sun Microsystems
18:33
Asianometry
Рет қаралды 1,3 МЛН
1981 CAD Monster - HP Series 200 9836C
38:49
Tech Tangents
Рет қаралды 296 М.
Pocket Computers from the 1980s
23:28
The 8-Bit Guy
Рет қаралды 1,2 МЛН
I Bought a PDP-11/83!
26:18
Usagi Electric
Рет қаралды 168 М.
Harder Drive: Hard drives we didn't want or need
36:47
suckerpinch
Рет қаралды 1,6 МЛН
Meet my new Litton Minicomputer (it has Drum Memory)!
19:12
Usagi Electric
Рет қаралды 74 М.
Coding Challenge: 3D on Apple II
45:40
The Coding Train
Рет қаралды 325 М.
Why DOS Was (and Is) a Thing
32:24
FreeDOS
Рет қаралды 169 М.
I used 1980s technology for a week
17:37
Liam Thompson
Рет қаралды 2,7 МЛН
Pool Bed Prank By My Grandpa 😂 #funny
00:47
SKITS
Рет қаралды 18 МЛН