Assembly Programming is Hard…

  Рет қаралды 116,942

Usagi Electric

Usagi Electric

Күн бұрын

Пікірлер: 650
@KurisuYamato
@KurisuYamato 7 ай бұрын
Low Level Format command: Some Assembly Required.
@badscrew4023
@badscrew4023 7 ай бұрын
it's a win
@melkiorwiseman5234
@melkiorwiseman5234 7 ай бұрын
I think you just won the Internet for the day! 🤣
@UsagiElectric
@UsagiElectric 7 ай бұрын
Got a good chuckle out of me!
@Dinnye01
@Dinnye01 7 ай бұрын
@CompuSAR you have been summoned!
@TeraunceFoaloke
@TeraunceFoaloke 7 ай бұрын
ow!
@DavidLightman
@DavidLightman 7 ай бұрын
sooo you just wrote, a low lever format utility, machine language obviously, for an ancient usupported not longer existing drive, on a discontinued, no information, obscure microcode computer from 40 years ago, and expecting to be easy?, man the fact that you made it work it is amazing!, the level of understanding that you need to solve something like that, holy cow, you rock.
@hicknopunk
@hicknopunk 7 ай бұрын
You make it sound easy 😂
@jnharton
@jnharton 7 ай бұрын
He's got a lot more knowledge and experience than those of us who had barely even heard of the machine before seeing his videos. And once you know how to accomplish on a computer something it can seem easy until you actually sit down to write some code. Of course, as seen at ~ 7:41 sometimes your beautifully written program turns out to not work as intended...
@the_kombinator
@the_kombinator 7 ай бұрын
I would have used AI ;)
@c128stuff
@c128stuff 7 ай бұрын
@@the_kombinator ai won't produce anything meaningfull in a case like this.
@the_kombinator
@the_kombinator 7 ай бұрын
@@c128stuff How would it not? Prompt it with a specific domain, feed it examples of assembly language, let it create code.
@scottlarson1548
@scottlarson1548 7 ай бұрын
My favorite story of writing assembly code was when Gates and Allen wrote a BASIC interpreter on a PDP-10 at Harvard using an 8080 emulator. When Paul Allen was on the plane to New Mexico to deliver the interpreter to Ed Roberts at MITS, he suddenly realized that he had no code to *load* the interpreter on their Altair 8800. So he wrote the loader in assembly on paper and spent the entire flight executing the code over and over in his head.
@robertsmith2956
@robertsmith2956 7 ай бұрын
emulators don't work for machine language. I remember trying to help a kid, and I told them just write it to this register, and your good to go. Seems the emulator does not let you write to the machine registers and make system calls. Emulators don't' handle magnetic field shifts on the platter of spinning disks. Found a great idea for a phone app to fill a needed nitch, and dammit, the iphone emulator will not let you use the camera so couldn't even get an alpha version out for testing on them. The funniest thing I ever saw was Object Oriented Assembly Language book. LOL
@scottlarson1548
@scottlarson1548 7 ай бұрын
@@robertsmith2956 So Microsoft BASIC for the 8080 never worked because it was written on an emulator?
@robertsmith2956
@robertsmith2956 7 ай бұрын
@@scottlarson1548 It didn't. You just never noticed. But it could have been the DOS under it.
@scottlarson1548
@scottlarson1548 7 ай бұрын
@@robertsmith2956 OK troll.
@robertsmith2956
@robertsmith2956 7 ай бұрын
@@scottlarson1548 I guess you never tried to interface with a plotter on yours.
@ericlundquist7429
@ericlundquist7429 7 ай бұрын
Congratulations! Excellent work! Kudos to you and the team! It's so amazing watching you all bring these old systems back to life!
@UsagiElectric
@UsagiElectric 7 ай бұрын
Thanks Eric! Hopefully, my assembly wasn't too painful to look at, haha.
@Jimmeh_B
@Jimmeh_B 7 ай бұрын
@@UsagiElectric Ha! Of course it was! When is assembly not painful to look at? Brings back (good) memories of 8 yr old me banging my head against dad's Sanyo MBC1000 while teaching myself CPM. Excellent video Mr. Usagi!!!
@vikjes
@vikjes 7 ай бұрын
Hearing a Texan saying "It's so hot" is kind of scary...
@mysock351C
@mysock351C 7 ай бұрын
As a former Houstonite it’s hard to say which was worse. The 95-100 with humidity, or desert heat. I had to spend five hours on a roof in 117 degree desert air and you don’t get soaking wet since it’s so dry. Instead it just made me go slowly insane. I can imagine Dubai will just be that much worse.
@DrewskisBrews
@DrewskisBrews 7 ай бұрын
You can take that to the bank
@PhilWheatInAustin
@PhilWheatInAustin 7 ай бұрын
@@DrewskisBrews I should have scrolled down before making my top level comment. I should have known it was going to be a duplicate.
@foxyfoxington2651
@foxyfoxington2651 7 ай бұрын
@@mysock351C Once you get above 110 humidity becomes irrelevant. It just sucks.
@GGigabiteM
@GGigabiteM 7 ай бұрын
@@foxyfoxington2651 Humidity is very relevant, with high heat and high humidity, sweating is no longer effective at controlling body temperature and it's easier to overheat and stroke out. You could be covered from head to toe in sweat, with every bit of clothing as wet as you jumped into a river and you can still overheat due to it not evaporating. There's not much you can do in this situation but find somewhere with A/C, a stiff breeze or jump in a cold body of water. High heat and low humidity, sweating is extremely effective if you can stay out of the sun and stay hydrated. Both situations are dangerous, but knowing what to do can mean the difference of living and stroking out.
@Jim-be8sj
@Jim-be8sj 7 ай бұрын
Fantastic case study that highlights the fundamental tragedy of our times: computers do exactly what we tell them to do, not what we want them to do.
@Jimmeh_B
@Jimmeh_B 7 ай бұрын
Exactly. That's why I prefer machines over people. Most of the time.
@mikebarushok5361
@mikebarushok5361 7 ай бұрын
That's why everyone needs to discover the undocumented DWIM instruction when writing system hardware code.
@monad_tcp
@monad_tcp 7 ай бұрын
that's why they're useful, and AI is useless, AI don't do what you tell it to do
@mysock351C
@mysock351C 7 ай бұрын
All too relatable lol. Had that happen when writing code for my PC to access hardware when most of my experience was with code and assembly on older Motorola MCUs like the 68HC11 and 68000 and forgetting at one point that the x86’s are little-endian. Must have wasted several hours trying to figure out why the PC seems to have dyslexia when it tries to read in the data. Worst part is the error was right in plain sight, but was “invisible” due to the ingrained bias for seeing big-endian.
@berndeckenfels
@berndeckenfels 7 ай бұрын
That’s one happy fellow
@algorithminc.8850
@algorithminc.8850 7 ай бұрын
A friend told to me ages ago, "You can burn out on the things you love doing." I chuckled, when you effectively said it. Creating very "high tech" daily - I relax by working on "old tech" (1920's/30's radios, 40's TV's, 70's/80's computers). There are many brilliant ideas forgotten in the old tech and thoughts to spark. Sometimes old-tech efforts become as laborious as production work and no longer a hobby. What you've done there is quite positively impressive. I think the old bits should be preserved for history. I like your tube-computer project myself. Perhaps a key is not to pile up too many projects to do at once - to focus on the bits you're really most wanting to work on at a given time. Perhaps stating the obvious. Lots of great bits on this channel. Thanks. Cheers
@robertsmith2956
@robertsmith2956 7 ай бұрын
When I bought my beetle, I was floored. Why that is so simple, why aren't they still making cars this way. Hate not being a drunk. Would love to watch them try and hook an immobilizer to one. Now i'm learning to program fuel injector control for a project. Back to hardware and software integration as the world use to be. With their pulse guns, TUUBES may once again be king.
@mikebarushok5361
@mikebarushok5361 7 ай бұрын
I'm having a very bad day (medical issues). This video is just what I needed. It's always a little bit easier knowing that when everything is getting frustrating and you can't see the way forward that somebody, somewhere has found a way through. Thanks!
@UsagiElectric
@UsagiElectric 7 ай бұрын
I'm sorry to hear that it's been a rough day. If there's one thing I've learned working on computers, it's to never give up. Tenacity and stubbornness will often get you through, so don't quit, as long as your gulping down air, you're still in it and I know you can make it to the other side!
@rickhole
@rickhole 7 ай бұрын
@@UsagiElectric I have found many times that a short break to clear the mind works wonders. How many times I have left the room for a break and the anwer pops into my mind just after I move the flush lever! Really.
@hicknopunk
@hicknopunk 7 ай бұрын
I hope you are doing okay buddy 🤗
@SimonBauer7
@SimonBauer7 6 ай бұрын
hope you get better!
@brianh.4185
@brianh.4185 7 ай бұрын
Listening to this brings me back to my uni days when I co-oped with a major manufacturer and met Jack Bush. Jack spoke assembly like his primary language. He would make the PDPs dance. I never was able to figure out if he was a genius or just plain mad.
@adamthethird4753
@adamthethird4753 7 ай бұрын
“It’s remarkable how often those two traits coincide” - Cpt. Jack Sparrow
@c128stuff
@c128stuff 7 ай бұрын
"I never was able to figure out if he was a genius or just plain mad." There is more than a bit of overlap between those 2 things...
@tezinho81
@tezinho81 7 ай бұрын
True geniuses see and interpret the world in a different way to most of us... Which can be indistinguishable from madness for some.
@robertsmith2956
@robertsmith2956 7 ай бұрын
@@tezinho81 I have never been able to understand humans. They are BSOD'S to me.
@Enjoymentboy
@Enjoymentboy 7 ай бұрын
I remember so clearly about 30 years ago when I was in my second semester of computer engineering and Wednesday nights was my assembler class. I've never gotten the hang of coding and assembler was worse than I had imagined. But I pushed though and on the 6th class I went in feeling really good about things as they were finally making sense. Our instructor was a grizzled old russian guy and pretty much EXACLTY what you'd expect from your mental image of a 60 year old soviet hacker with a super thick accent. I got to class, sat down with my assignment and he walked in. he went up the board and started writing things that literally meant nothing to me. Push AX, Pop B...nonsense like that. Everyone was writing stuff down and I was positive he wasn't even speaking english. I turned to my buddy Grant and asked if he had any idea what the guy was talking about and he looked at me with a puzzled expression and asked "Didn't you do your assignment?". I looked at my notes and then back at Grant and said "I thought I did". It was at that moment that I knew that programming was not for me. I packed up and walked out. The instructor asked where I was going and I told him as far away from programming as I possibly could get and the next morning I switched to electronics engineering to see that I had C+ first thing that morning.
@KarlAdamsAudio
@KarlAdamsAudio 7 ай бұрын
You get some idea of the effort involved from the intensity of the celebration. When 'my code does exactly what I intended it to' is such a sweet victory, you know that the damn thing really put up a fight in the meantime.
@martinrayner6466
@martinrayner6466 7 ай бұрын
_As a software developer of over 40years experience. Started assembly/machine code on a commodore PET. It's not about being smart, or dumb. Its all about being methodical and unrelenting. _*_Well done._*
@jwhite5008
@jwhite5008 7 ай бұрын
Novice software dev: I wasted 24h on stupid mistake, oh no, I'm so dumb! Experienced dev: I wasted 24h on stupid mistake, haha, business as usual... (yes I've done it) Many thanks for the discord crew, you are truly awesome! David, even if you don't succeed yourself (and you are better than you think you are), your enthusiasm alone is enough to keep everything going. Definitely not tired of the Centurion, wish you updated us more often on it!
@rickhole
@rickhole 7 ай бұрын
Right on! You have nailed it.
@ernestcline2868
@ernestcline2868 7 ай бұрын
24h = 44o
@clonkex
@clonkex 7 ай бұрын
​@@ernestcline2868😑
@filefly
@filefly 7 ай бұрын
@@ernestcline2868 lol this is amazing
@lasskinn474
@lasskinn474 7 ай бұрын
a lot of it is just not giving up - with caveat of that you're not trying to do something logically impossible, in which case not giving up gets problematic.
@ultraviolettp3446
@ultraviolettp3446 7 ай бұрын
I can only speak for myself, but considering that there is likely no other youtuber who would dare to work on a system like this, I don't see an issue with you spending time to do this series to get it working. I went to college starting in 1980 and remember having to book computer time in the lab to run my Fortran projects. While I no longer remember what hardware I was using, I do appreciate vintage computer systems and this makes me appreciate where we are now with systems. Keep up the great work - and most importantly, never lose that "geeky and nerdy" enthusiasm that you show in each episode. I appreciate you from the Commonwealth of Virginia! Kudos!
@brooksmatthewjohn
@brooksmatthewjohn 7 ай бұрын
You have such infectious enthusiasm, it's always a joy to watch your videos.
@stephenhill4492
@stephenhill4492 7 ай бұрын
It’s always obvious after you’ve spotted it. Well done in solving such an insanely difficult problem.
@horusfalcon
@horusfalcon 7 ай бұрын
Yup. What you're hunting for is always in the last place you look. 😆
@lorensims4846
@lorensims4846 7 ай бұрын
Assembly Programming is hard, but back in the day it was often the only way to do it, for reasons. But you have to be perfect and have complete knowledge of the machine you are trying to program. This is why we were so excited to finally get BASIC and Forth or anything that might be able to abstract away some of those gritty details that kept tripping us up. I remember a review in Creative Computing of an 8" floppy drive for S-100 systems that seemed to perform well but there was a bug in the disk format command. The drive could happily format a paper plate and report success, so readers were warned about that. Reads and writes seemed to be fine, but you might want to buy preformatted floppies or format them on a different machine.
@toby9999
@toby9999 6 ай бұрын
I built an S-100 system back late 70s. Hand assembled and soldered boards. There was no assembler. Everything was hex and hand calculated etc. Tedious, but a fun challenge at that time. I even wrote my own machine code monitor debugger in machine code because the only thing available was rather limited.
@dazealex
@dazealex 7 ай бұрын
Software Engineer here... Have done a lot of code dealing with boot sectors, etc., but never, ever wrote or thought of writing my own low level formatter! Good job, Usagi!
6 ай бұрын
Steve Gibson did it pre www.
@antonnym214
@antonnym214 7 ай бұрын
I am NOT sick of the Centurion. This is great stuff! Thank you for presenting this.
@rickhole
@rickhole 7 ай бұрын
In the 60s-80s and presumably before (but that was before my experience), one was not REALLY a programmer until he or she has written and debugged in Assembly. So, Dave, you are HEREBY granted the rank of ENTERED APPRENTICE GURU of Centurion Programming. I predict you will climb the ranks to Master Guru soon!
@skilz8098
@skilz8098 7 ай бұрын
At one time Assembly was for amateurs especially when your program was on set of punch cards. And back then, the standard size of a byte that we know and love today being 8 bits, wasn't always 8 bits. And at one time, those punch cards were for amateurs. The generation before them had to plug and unplug wires into specific ports to program the old vacuum tube computers and before that, the old relay computers. I think it'd be fun to watch some of these modern web dev script kiddies try to setup and program a textile loom from the late 1800s, early 1900s without any videos, without any internet and the only thing available to them would be the loom itself and the user manual. Now that would make for an entertaining experience for others to observe.
@robertsmith2956
@robertsmith2956 4 ай бұрын
@@skilz8098 Ahh the memory cards. rows and columns of magnets strung together with fine copper wire. Think the wildest thing I saw was a printer with a head the size of the paper so it printed the entire page with on strike. Then tractor fed the next sheet into place. It was fast. My bucket list is building a arduino optical reader to read ticker tape, and punch cards so I can read some old programs I still have. The tape I wouldn't trust to hold up with a pin reader.
@skilz8098
@skilz8098 4 ай бұрын
@@robertsmith2956 Nice! Yeah, not even the loom from my example, but how about the print press itself as you kind of inferred towards with the printing of a single page. Many of them have no idea about the origins of type setting. Yet that's still sort of another example of programming.
@TheMarkRich
@TheMarkRich 7 ай бұрын
I cut my programming teeth on 6500 and 8088/8086 assembly. I feel your pain. But that warm fuzzy feeling inside when the logic makes sense and the program works is soooooo good. 😃
@marcwolf60
@marcwolf60 7 ай бұрын
No.. I love the Mini Centurion. But please start the Bendix SOON!!!
@UsagiElectric
@UsagiElectric 7 ай бұрын
Soon! Lloyd's foot is nearly healed, and he's been such an instrumental help behind the scenes, I can't in good conscious bring DC up for the first time without him here to witness it. As soon as he's back to 100%, we'll get him down here and push that big green button!
@BR0KK85
@BR0KK85 7 ай бұрын
Same came to write that ! The time spent on these old thinks is never wasted and well spend!
@Frisco1355
@Frisco1355 7 ай бұрын
Yes, this
@Dinnye01
@Dinnye01 7 ай бұрын
That's fair enough! We can wait!​@@UsagiElectric
@senilyDeluxe
@senilyDeluxe 7 ай бұрын
Bendix, Bendix, just a little bit and take it easy, show you're liking it... say Dave Dee Dozy Beaky Mick & Tich
@ryanmccampbell7
@ryanmccampbell7 7 ай бұрын
You're way too humble, most modern SWE's even in big tech companies can barely read x86 asm let alone write it, meanwhile you're writing full programs in an assembly language that if I recall was reverse engineered from scratch.
@genius1a
@genius1a 7 ай бұрын
And let us not forget: That was absolutely cutting edge technology and programming back then - the only real advantage we have today is imminent worldwide communication and myriads of information floating around. But you still have to UNDERSTAND it as our ancestors had to master it. Absolutely stunning how you were able to revive this complex machine!
@joeofloath
@joeofloath 7 ай бұрын
To be fair, X86 assembly is probably the worst and least readable of all assembly languages. This reads more like modern(ish) microcontroller assembly, which is more readable but still absolutely wild if you've never touched bare metal before.
@ryanmccampbell7
@ryanmccampbell7 7 ай бұрын
@@joeofloath I think the "core" of x86 isn't that complicated or different from other languages, it's just that they've kept adding new and more esoteric instructions over the last 40 years or so and you need to decipher all those random nonsense abbreviations.
@KR4FTW3RK
@KR4FTW3RK 6 ай бұрын
@@genius1a pretty much every modern language is somewhat readable... this shit? Might aswell be staring at hieroglyphics
@genius1a
@genius1a 6 ай бұрын
@@KR4FTW3RK making readable programming languages was never the problem... It's about thinking of every single register operation and keeping a low character number for memory restrictions. There's a reason why assembly is lightning fast in comparison to C++ or basic. These readable ways of telling the computer what it should execute has to go through multiple stages of automated interpretation to the level of being almost like assembly with loads of generalizations and unnecessary ballast to make it possible. I feel that some of that will be solvable by AI translation, but our youth has no incentive to do programming at all, as everything you could possibly need in your happy life gets catered by the electronics and media industry nice and easy. Politicians and teachers don't see the long term impact for society. Usagi is one of the few showing, what can be done and achieved long term if you put in decent effort on something that seems unbearable at first glance.
@povilasstaniulis9484
@povilasstaniulis9484 7 ай бұрын
Congrats on your success ! As a developer myself I can say one thing: it's not just you. I had frustrating moments like this more times than I can count. Times when I was looking at a piece of code which looked totally correct to me but still did not work. And in most of these cases, it turned out the fault was something really simple. As simple as a one or two-line fix. Those "simple" faults usually take the most time to find.
@adailyllama4786
@adailyllama4786 7 ай бұрын
Assembly taught me one critical thing many years ago - patience.
@cathrynm
@cathrynm 7 ай бұрын
I wouldn't be suprised if the original programmer of the lost format utility was given 9+ days to code it. It's not hard if you just accept it's going to take time. (And easier maybe if you're being paid salary and don't depend on publishing a video to get paid.)
@cathrynm
@cathrynm 7 ай бұрын
And yeah, watched to the end -- this is 'just programming', how it goes.
@EkiToji
@EkiToji 7 ай бұрын
@@cathrynm Assembly is one of those things that is easier when you have a full understanding of the hardware. Each command directly translates into opcode for the processor so you're literally telling it what you want to do step by step instead of having a higher level language's compiler do all the dirty work for you. It does however mean you need an excellent understanding to do things efficiently but if you do there's really no beating it. I for one personally miss the days I spent programming on AVR's instruction set with the 8-bit Atmel chips and directly dealing with all the registers and the ALU.
@robertsmith2956
@robertsmith2956 7 ай бұрын
@@EkiToji Amazing how much faster the atmel registers worked when you accessed them with assembly instead of using the compiler to code it. I used to drive my professors nuts. Everyone would have sheets of code, mine would be a dozen lines. Helped having the system manuals for the main frame. All 12 feet of them.
@EkiToji
@EkiToji 7 ай бұрын
@@robertsmith2956 Modern compilers can be pretty impressive though. I think the days are fully gone when you have to worry about individual clock cycles for if you should do a bit shift or an add for example.
@computer_toucher
@computer_toucher 7 ай бұрын
This is so awesome, getting into the nitty gritty of these old things. And I love your enthusiasm and emotional outbursts when things go either right or wrong. So glad I discovered your channel back when I did :)
@colindevaux4476
@colindevaux4476 7 ай бұрын
never seen one of these machines and most likely never will. but what i love about all your videos is your enthusiasm and excitement. and the add bonus of bunnies :)
@UsagiElectric
@UsagiElectric 7 ай бұрын
Thank you so much! Be honest though, it's mostly the bunnies :P
@colindevaux4476
@colindevaux4476 7 ай бұрын
@@UsagiElectric yep. you got me :)
@YoutubeBorkedMyOldHandle_why
@YoutubeBorkedMyOldHandle_why 7 ай бұрын
Exactly! Assembly is like that. I recall a similar experience some 40 years ago while working on a Z80 program. For a couple of weeks everything had been going just great. Then, I made an absolutely trivial change ... and the program crashed, over and over and over again. Long story short, I stared it down for probably 18 hours, trying 'Everything' until it finally clicked. Some recently added text data had clobbered some executable code. Today, this would be trivial, in fact the very first think I'd check ... but that's how you learn man. I've maintained since then, that you can never be a real assembly programmer, until you've spent 18 hours in a row staring at the screen, looking for that one tiny tiny little detail that you thought you understood, but somehow missed.
@hicknopunk
@hicknopunk 7 ай бұрын
This is why I am not a real programmer 😅
@robertsmith2956
@robertsmith2956 4 ай бұрын
hackers tried to change an equivalent test command to a set command in linux kernal code once. changed an == to := in the source tree.
@James2210
@James2210 2 ай бұрын
Or you make a change and remember it, thinking "surely that couldn't have anything to do with this" and it did
@AureliusR
@AureliusR Ай бұрын
@@hicknopunk Don't let others gatekeep what being a programmer means!
@AureliusR
@AureliusR Ай бұрын
@@robertsmith2956 What? Firstly, it's kernel, second, := is not valid C
@jaut-76
@jaut-76 7 ай бұрын
I love and hate assembly programming but slowly getting better at it. Helps when you have original manuals that explain it well
@Bata.andrei
@Bata.andrei 7 ай бұрын
Inever could get my head aroung learning C++ or other high level programming languages, but for some reason, assembly made sense to me from day one. I don't speak assembly as my native tongue, but the more i use it, the easier it becomes
@Jimmeh_B
@Jimmeh_B 7 ай бұрын
I think that depends on whether or not you actually understand architecture. I agree. I gave up on C many many moons ago. I learned Pascal 6 and 7 during high school and it was a struggle. I cut my teeth when I was 8 years old when I taught myself CPM on a Z80. Or maybe it was just that I had a younger mind that made it seem easier? Either way, it just made sense to me.
@Bata.andrei
@Bata.andrei 7 ай бұрын
@@Jimmeh_B I think assembler comes easier to me because I am a hardware guy primarily and i like to get to know what my system does at low level.
@kaitlyn__L
@kaitlyn__L 7 ай бұрын
@@Bata.andreisame. I mostly engage physically, with hardware, and I gave up on Python or C. But assembly clicked right away; memory addresses encoding literal combinations of output pins on the CPU, putting stuff in and out of registers, bits as bits and your job to make sense of it… was all the kind of stuff I was already familiar with with buttons and logic gates.
@mikefochtman7164
@mikefochtman7164 7 ай бұрын
Don't kick yourself too much for taking longer than your friend to deal with assembler. Like your friend, I've done assembler on a wide number of architectures dating back to Z80 and the obscure 6510. From that I've done several 'mini' systems and it gets easier with each one. So the fact that this is probably your first CPU assembly and your friends umpteenth means you've nothing to feel bad about. Not to mention all the different support boards/ features. MMIO board is certainly different than the 'class E' I/O boards I worked with in SEL systems, but good documentation and some samples can be great tools to learn from.
@MatroxMillennium
@MatroxMillennium 7 ай бұрын
Woohoo! Very excited to see you at VCFSW (this will be my first VCF attendance)
@UsagiElectric
@UsagiElectric 7 ай бұрын
Heck yeah, see you in a week!
@jasnic2131
@jasnic2131 7 ай бұрын
Congratulations to you Dave, tremendous effort! Trust me when I say, I know how it feels to be stuck with something that doesn't work when you know it should, you spend so much of your life (hours or even days) trying different things and boom, it works! That is the best feeling of them all. Keep up the good work!
@HugoJosePinto
@HugoJosePinto 7 ай бұрын
By all means keep the Centurion episodes coming! Those are insanely fun, and besides I’m using you as in inspiration for similar work in restoring a Data General oddity myself and I’ve learned TONS with your videos!
@baronvonschnellenstein2811
@baronvonschnellenstein2811 7 ай бұрын
Well done Usagi! Now, you've learned some assembly "the best way" (e.g., the hard way). You haven't been learning assembly properly unless at some point you write and execute code that ends up "pointing up its own backside". I expect you now have some direct perspective as to why the chaps at Bell Labs implemented the C language, with which to write Unix, but without going bonkers in the process! :p Also, regardless of the language - quite often it takes a second pair of eyes (or sleeping on it) to spot an issue when ones self has been staring at the same code for hours on end.
@stevecrankorganguy804
@stevecrankorganguy804 6 ай бұрын
I always preferred assembly language programming for the 6502. I got to the point I could not do basic, but did the program in assembly just fine. Over the years I did many reams of assembly and had a great time doing it! I even wrote a DOS for MFM and again for SCSI. That was a challenge! Thanks for the great video! Steve
@richardhole8429
@richardhole8429 7 ай бұрын
This was among the most exciting episodes on the internet, from any content provider. They say, no pain. No gain. You had both.
@exidy-yt
@exidy-yt 7 ай бұрын
Dave, your eyes looked like two pissholes in a snowbank before you did your final attempt at formatting the fixed platter. I was SO stoked for you to get it finally working, you needed some restful sleep and I know you would have slept like crap if you had to go to bed on a fail after all that. Congrats! And no worries, I can never get sick of Centurion content, it's what brought me here after all!
@Alcarods
@Alcarods 7 ай бұрын
I'm sure I'm not the only one, but I never get tired of Centurion content! So exciting!!
@SergeiJonovich
@SergeiJonovich 7 ай бұрын
result - your perseverance on this is inspiring. Congrats on beating that thing!
@EmperorKonstantine01
@EmperorKonstantine01 7 ай бұрын
Just getting this machine up and running on first base was a milestone, this is further progress. Well Done!
@wtmayhew
@wtmayhew 7 ай бұрын
Superb job! Thanks so much for sharing your journey getting the hawk fixed platter back.
@antonnym214
@antonnym214 7 ай бұрын
I can sympathize. Back in the 80s, I worked on an Altos system in MPM II and had to write my own file copy, file print, and file search commands.
@Derpy1969
@Derpy1969 7 ай бұрын
I enjoy seeing you accomplish your goals. It’s truly fun to see you succeed.
@johnvanwinkle4351
@johnvanwinkle4351 7 ай бұрын
I love your never give up attitude and enthusiasm. Great job!
@TimGreenOwb
@TimGreenOwb 7 ай бұрын
I feel your pain. I once spent days beating my head against the wall only to finally figure out the BC register pair doesn't affect the Zero flag.
@big0bad0brad
@big0bad0brad 7 ай бұрын
That's about as good as PICASM having an active high carry flag but an active low borrow flag
@antonnym214
@antonnym214 7 ай бұрын
My man! congrats. Nice job on the format command. Now you can enjoy your trip. This time of year, Dubai has similar daytime highs to what we have here in New Mexico (105°). Stay cool!
@wa4aos
@wa4aos 7 ай бұрын
CONGRATS !!! Your enthusiasm at success was understandable and appreciated. Good for you !!!!
@3vi1J
@3vi1J 7 ай бұрын
Congrats! Way to push through when the going gets tough!
@c128stuff
@c128stuff 7 ай бұрын
Haha, no, not getting tired of seeing mini centurion stuff, it is a fun and interesting project.
@curiousorange27
@curiousorange27 4 ай бұрын
you're energy and passion actually makes assembly fun to watch! Keep it up - cheers
@subynut
@subynut 7 ай бұрын
It is so frustrating when a "simple" bug in the code keeps things from working right! Glad you and your army of developers figured it out and got it working!
@TarakuT
@TarakuT 6 ай бұрын
assembly is so hard! lol.. I feel you on this. good luck man. also I would see if you can find small projects that you can do on the side in 1 video to both help keep you from burning out, as well as give you the feeling of accomplishment fixing small things. Just a thought
@paulalmquist5683
@paulalmquist5683 7 ай бұрын
Well done. Perseverance pays off. I have spent some long hours on bugs too. That feeling when success finally come is amazing.
@KameraShy
@KameraShy 7 ай бұрын
The more difficult and complex the program, the more time you need to take to step back and clear your head. The most effective problem solving technique: a good night's sleep.
@mistermac56
@mistermac56 7 ай бұрын
I understand your frustration, but when you worked with the people helping you out, you gained some valuable knowledge. It makes success so much more rewarding. This video brings back college memories of my EDP classes in the 80's with IBM 370 assembler. I was struggling right out of the gate and became so frustrated, I was almost at the point of dropping out of an EDP major. I went to my professor, who knew IBM 370 assembly language inside and out and told him I was thinking about changing my major, and he gave me a great piece of advice. Stop trying to think how to code in higher level language, like RPG and COBOL. It was a struggle at first, but I finally "got it" and frustration disappeared and confidence was built. When I moved on to the IBM 370 Job Control Language class, I had extremely few problems.
@RobSchofield
@RobSchofield 7 ай бұрын
@ 14:50 - the true "All-nighter High" - the giggles usually come next, followed by the munchies 😀
@esra_erimez
@esra_erimez 7 ай бұрын
8:16 I can't tell you the number of times in my life that I have been in this situation and felt this way. I truly feel for you.
@MarcelHuguenin
@MarcelHuguenin 7 ай бұрын
Congratulations David and TeamCenturion! Wonderful achievement and great video!
@BladSG
@BladSG 7 ай бұрын
i-am-losing-my-mind... this was so exciting and cool, really glad you didnt give up and made it, the relief of success was great to see
@inmbolmie1853
@inmbolmie1853 7 ай бұрын
The days when men were men and wrote their own low-level formatting tools are back!
@howwitty
@howwitty 7 ай бұрын
I think people who code in higher level languages like C should have a healthy respect for machine code and I am slightly suspicious of their motivations if they don't.
@lauram5905
@lauram5905 7 ай бұрын
​@@howwitty modern web coders are fascinating people who think it's okay to have a 2MB library (repeatedly downloaded and cached) running visual effects for 50kb of webpage text, and somehow using 200MB of client RAM
@ahmad-murery
@ahmad-murery 7 ай бұрын
@@lauram5905 This is what always bothers me, they don't consider the performance and resource limits, it's OK for them as long as it woks on their own devices
@scottlarson1548
@scottlarson1548 7 ай бұрын
@@lauram5905 Try doing that in assembly code.
@kaitlyn__L
@kaitlyn__L 7 ай бұрын
@@lauram5905lmao yep. Reading one page of KZbin comments (CPU-bound JS code) uses as much battery power as 20 minutes of HD video (hardware accelerated codec) on my laptop. It’s a ridiculous statistic!
@ericsteel173
@ericsteel173 6 ай бұрын
The first time I took Assembler in college, the class was at night, 7:00 - 9:40 pm. That was bad enough. But the instructor was an old school IBM veteran, from Selma, AL. He had a deep, sonorous voice and talked very s-l-o-w-l-y. I was always zoned out by 7:10 pm.
@HelloKittyFanMan
@HelloKittyFanMan 6 ай бұрын
Wow, how exciting that you got all that fixed (except maybe one negligible track or something like that)! Good work by not only you but your helpers!
@GothGuy885
@GothGuy885 7 ай бұрын
Awesome work Guys! glad that you got the problem fixed, Usagi, you know alot more then I do about Assembly Language, which in my case it not much at all to Zero, when it comes down to the blood and guts of it. thanks for the Video !, I always totally enjoy your content😀
@frankowalker4662
@frankowalker4662 7 ай бұрын
That's brilliant. Great result from you and your helpers. 👍
@billchatfield3064
@billchatfield3064 6 ай бұрын
I love the fade to black and white with the sad music. Haha. That really captures that feeling when your code doesn't work.
@connclissmann6514
@connclissmann6514 6 ай бұрын
Thanks for this and congratulations on booting on the fixed platter.
@Davide0033
@Davide0033 7 ай бұрын
having a bad day but this video made it a lot better. i love the centurion and trubleshooting, but also the memes are top notch
@LawrenceFoster-i7j
@LawrenceFoster-i7j 6 ай бұрын
The joyous enthusiasm is addictive - subscribed
@TheTerminalGuy1
@TheTerminalGuy1 7 ай бұрын
I'm so happy for you! When I look back at what the Centurion was like 3 years ago when you first got it, I'm flabbergasted! Sadly my bunny died 1 hour before you're video was released...
@tarstarkusz
@tarstarkusz 7 ай бұрын
That's funny, because on PCs, the low level format is on the disc controller bios. For example, in the XT the default MFM controller bios is in the C segment and can be launched in debug by G C800:5 (IIRC) which launches the program found at 6800:5 which is a low level formating program built into the card's bios (not the main bios, which is in the F segment)
@jeromethiel4323
@jeromethiel4323 7 ай бұрын
Assembler is better than coding in machine code. I've done that, and that's another level of crazy. Because i didn't have an assembler, i had to hand compile code. Granted it was only 6502, which isn't an instruction rich processor, but still. My saving grace was when i ran across a magazine article talking about the apple integer basic having a mini-assembler, and how to copy that code out into floating point land. It wasn't great, but it was better than doing it by hand.
@mbeware
@mbeware 7 ай бұрын
you have so many projects and they are so interesting, that I don't mind many weeks about the same project, because I know that eventually, I'll have a new video on those other projects. I don't think you abandoned projects without explaining. you changed direction or adapted. Combined with your great story telling, it makes for great video. Sometimes, I imagine the technical documentation that you translate, being in the same style with turn, twist and surprises. that would make an interesting manual.;-)
@argoneum
@argoneum 7 ай бұрын
Even simple mistakes aren't defining anyone's intelligence, just by standing too close you often don't see the forest, 'cause trees are obscuring the view. Fun thing with bit-slice processors is that someone had to actually invent the machine code specific to this machine. The time when you built your processors, with some guidance from AMD's data book on Am2900 series. Some (more complex) instructions can be implemented with microcode, which is even lower level than assembly: one machine code instruction = a microprogram. Thanks for the video 😸
@peterlemon1385
@peterlemon1385 7 ай бұрын
Glad you managed to sort that problem out. I hope the emulator you 1st tested on, which ran you old incorrect code fine, can be fixed to better represent the same fault with your old code, to make the emulator more accurate & possibly help other people trying to do similar stuff in the future, testing on that emulator =D
@Enigma758
@Enigma758 7 ай бұрын
Congrats, your dedication surely paid off!
@alanjhargreaves
@alanjhargreaves 7 ай бұрын
Love your excitement.
@OtherWorldExplorers
@OtherWorldExplorers 7 ай бұрын
When passion almost becomes work.
@peterhall6656
@peterhall6656 6 ай бұрын
I did assembly level code for a Fast Fourier Transform back in 1971 or 72 when I was doing Fourier Theory. It finally worked but it was a lot of work even once you had the theory sorted out. Later I used to do assembly for a TRS-80 for fun. I never wanted to be a programmer and I am not good at it. Years later I worked on applying Fourier theory in a defence science context (submarines, helicopter gerarbox acoustic predictive failure models etc )
@Roxor128
@Roxor128 7 ай бұрын
If you want to beat jet-lag quickly, avoid sleeping on the flight and stay up until evening at the destination, regardless of how tired you are. Preferably with some sun exposure at the destination. As an example, Back in 2016 I took a holiday in Europe for a couple of months, and I live in Australia. On the return trip, we had a stopover in Hong Kong. We left Germany on a morning flight and arrived in Hong Kong at about 8 o'clock in the morning. That day was spent wandering around in a daze and we made a point to be outside in the sun as much as possible to hammer home the time of day to our brains. We stayed up until about 5 or 6 in the evening before we couldn't go on any further and went to bed. Next morning we were all synced up with the sun again, and the flight to Sydney only crossed a couple of time-zones, which wasn't really noticeable.
@jonathanhernandez4304
@jonathanhernandez4304 7 ай бұрын
It's good to be dumb and yet master what a pro can do. Who cares how long it took. The accomplishments taste great and I share in your excitement. I learned my career in Manufacturing Engineering at the slowest pace. But 30 years into it I can safely say, I'm good at what I do. Now I'm learning STM32 boards and more. You are motivating others...good work man!
@MrLukealbanese
@MrLukealbanese 7 ай бұрын
Stunning achievement David, well done ;-)
@lindoran
@lindoran 7 ай бұрын
Its a wonderful feeling when everything pays out!! Fantastic 😊😊
@rudycandu1633
@rudycandu1633 7 ай бұрын
In 1982 I was in my second year taking Electronic Technology course at a community college. One of the classes was a microprocessor course. We needed to do a project, wire up the electronics and write the code in assembly language for the Z80. My project was to make a floppy disk controller for the S100 bus, write the code in assembly language, and to read a file on the 8 inch disk. (CP/M operating system) I found a LSI chip that was available. Made a schematic. Then wire wrapped the circuit board. Wrote the code. But it didn't work. I went over everything. Using a two channel scope I check all the timing signals. Everything was correct. In the end I figured it had to be a bad 40 pin wire-wrap socket used for the floppy controller chip. I wired a second socket in parallel, moved the chip, ran my original code. The file was displayed on the console. *Eureka Rudy It works* I enjoyed everything about that course, including writing the code in assembly language. I had no idea that I would have a career designing microprocessor/microcontroller based products. (retired two years ago)
@treahblade
@treahblade 7 ай бұрын
Take it from someone who has written a 16bit OS from assembly that your experience of multiple failures once you get it to real hardware and have to deal with physical stuff is pretty normal actually. I had a bug in my OS that I only figured out years later why it was failing and it was pretty painfully obvious that I have no idea how I missed it for the whole time I was trying to get FS stuff to work. ASM is is hardmode and its easy to get turned around or just plain miss things :) Keep up the great work.
@anidnmeno
@anidnmeno 7 ай бұрын
7:25 every time i'm like "let me handle this issue _right quick_ "
@Plarndude
@Plarndude 7 ай бұрын
Wow! Congratulations! I felt completely lost looking at assembly code. My brain just hurts now.
@Lord-Sméagol
@Lord-Sméagol 7 ай бұрын
Great bare metal assembly coding! This reminds me of experimenting with the track format command [WD1797] in 1985, squashing the preamble and inter-sector gaps enough to fit an 11th 512 byte sector in (and over-stroking to 83 tracks) to reliably increase my Nascom 2 CP/M floppy free space from 786K to 898K.
@Lord-Sméagol
@Lord-Sméagol 7 ай бұрын
I did a lot of Z80 on my Nascom 2. If the program is small, I don't even need an assembler (or disassembler); I know Z80 in hex! When programming on my PC, I find the C x86/x64 intrinsics make most things possible (SIMD, AVX), but I still need the extra control that assembly coding provides to do optimizations that the C compiler can't manage. Sometimes, assembly coding is the only way to ge the job done!
@Nichetronix
@Nichetronix 7 ай бұрын
David, I love seeing the comments in this piece of code! In the Increment routine: "Shabloinks A, B, and Z registers" LOL! I don't speak Japanese as you do, but I am assuming that "shabloink" is something like "destroy"? Please advise, and good luck in Dubai and at VCFSW! BTW the "Round 1"... "Round 6" thing is real life in embedded programming! But you persevered to the end, and it worked! Congrats!
@sutorippuwebmaster8783
@sutorippuwebmaster8783 4 ай бұрын
Alright, alright, I subbed. You didn't need to keep showing me old computer sorcery I could never master. (But do keep at that. This stuff's nifty.)
@irisastravortex
@irisastravortex 6 ай бұрын
I love to follow the slow & long journey and see the gradual progress 😊
@cerberes
@cerberes 7 ай бұрын
Your joy brings us nerds joy! Congrats on your success.
@ksbs2036
@ksbs2036 6 ай бұрын
I missed the reason why USAGI had to write a format program? Was there not a disk low level format program on one of his disks/images? Or was this something that was so rarely done that it wasn't a standardly shipped program? Setting up a DMA engine and configuring registers to kick off a low level format is serious bare-metal programming. Experienced people would find this a solid challenge any day.
@Bora1333
@Bora1333 7 ай бұрын
Amazing Love seeing you so happy ❤
@rogerfroud300
@rogerfroud300 6 ай бұрын
Kudos for sticking with it. Assembly isn't actually that hard, but it's a different mindset to most other programming tasks that you young folk are used to. My first experience was with a 6802 development system that had a debug monitor to allow you to key in hex values to any hex location, and that's that. Yes, I'm very old. I wrote a simple machine control system for my Mech Eng. Degree project without an assembler at all, looking up the hex codes by hand and entering it each time it was powered down because there wasn't a way to store the program. So think yourself lucky to have such a sophisticated suite of tools and hardware! My first use of a Mainframe computer with a real language involved punched cards, but that's another story. Programmers have no clue as to how hard it was to achieve anything significant with this emerging technology. Life is so much simpler these days. Infinite processing and storage, connectivity, libraries and the internet to get examples and free tools from. We had none of that, so don't complain if you're struggling while you have every advantage that we never had.
@Steven_VE9SY
@Steven_VE9SY 7 ай бұрын
I love the Centurion vids! Having used to work with the, I love it. I now wist I had been more into then programming fore parimutuel betting system at a rave track I worked for. When they got rid of the system mid 80's all that gear when to the dump after printing out all ta money info and formatting all the drives. With absolutely nowhere to move it let alone store it I never said a thing. Could have whole thing for free. I still cry to this day The when i think about it! big, Loud an not the easiest thing to program with. but I would love to have a place to have it so I ca turn it on and tinker once in a while. I am willing to met there were extra on ton of extra parts that where ordered never used. They would find the issue while waiting, and next time same thing. We had test cards because they would lose them an order a new (the boss met me and was so of the stuff was impressed and he got me the job at 155_ would keep ordering new stuff. I'm willing to bet we cataloged at least6 finch or hawk drive. To many years gone by to remember it all.
@thirstyCactus
@thirstyCactus 2 ай бұрын
You are a madman, my friend! Nice work!
@LeicaM11
@LeicaM11 6 ай бұрын
I really loved, programming with Assembler on my first 80286, back in 1988. I am very often thinking about,this. I am also loving it, programming my HP41CX.
@ctid107
@ctid107 7 ай бұрын
Congratulations from N. Ireland. Been following your Centurion blues (accidental pun!) for a while, I'm of an age to remember other old stuff like Datapoint 2200.
@fglatzel
@fglatzel 6 ай бұрын
This takes me back memory lane, when I started as an assembly programmer in the 80s in Germany. Forty years later, it's hard to imagine a life without C++ and Python.
FM is RLL, MFM is RLL, RLL is RLL! Fight me.
37:40
Usagi Electric
Рет қаралды 65 М.
Making Simple Linux Distro from Scratch
11:51
Nir Lichtman
Рет қаралды 214 М.
I Sent a Subscriber to Disneyland
0:27
MrBeast
Рет қаралды 104 МЛН
Thank you mommy 😊💝 #shorts
0:24
5-Minute Crafts HOUSE
Рет қаралды 33 МЛН
Antarctic 360° Real Time 24 Hour Sun Part B
12:00:08
Conspiracy Toonz
Рет қаралды 1,7 М.
This NEC PC-8001 is Epic!
24:37
Usagi Electric
Рет қаралды 102 М.
Is Functional Programming DEAD Already?
21:07
Continuous Delivery
Рет қаралды 78 М.
The Largest Printer I Own Prints!
23:38
Usagi Electric
Рет қаралды 55 М.
Hacking a weird TV censoring device
20:59
Ben Eater
Рет қаралды 3,3 МЛН
Retro MS-DOS Coding - Recreating the Iconic Award BIOS Screen
18:16
NCOT Technology
Рет қаралды 81 М.
Lindows - The Linux Distro That Microsoft Sued… and Lost
32:29
Michael MJD
Рет қаралды 164 М.
This is the code that sent Apollo 11 to the moon (and it’s awesome)
19:09
I Thought It Would Be Easy… It Wasn’t
28:11
Usagi Electric
Рет қаралды 74 М.
Did We Decode A Program Sent From The Past? | Retro Recipes
34:08
Retro Recipes 🕹️ vintage tech + tv
Рет қаралды 97 М.