How to directly run BIOS interrupt routines from DOS Debug
HTML-код
- Опубликовано: 11 сен 2024
- In my research, I have found that people often do not run interrupts directly from a memory location. Such an unsustainable condition cannot be allowed to remain unaddressed, so here is a video showing you how to do some cool and awesome stuff in Debug.
Fantastic !! So interesting!! learning to much from such videos nowadays.... 40yrs too late ^-^
Very interesting video. I spent a weekend messing around trying to write a simple bootloader recently and I was entirely puzzled by interrupts, as it was the first time I learned of their existance. It had nothing to do with DOS, but I did use interrupt 10 to print my text. Would definitely be interested in more videos like this.
That's actually the reason why I made this video in the first place: I had the idea of writing a small user interface kind of like Debug which runs independently of an operating system and boots directly from the boot drive's boot sector. Knowing how to do things without INT 21 is critical if you're going to do that, since INT 21 is actually supplied by DOS. Thanks, I may make more videos like this in the future.
This would be interrupt 10h, obviously. My bad.
Best explanation of BIOS software interrupts ever!
This was great to watch; I would love to see more low-level stuff like this
Great content and a good teacher !
This was absolutely fascinating.
DOS...games almost rarely crashed....and LBLT, I love to listen to your smooth low-key voice and laid back personality. Needed something like this after enduring cold for 24 hours, power outage....thanks to cyclone. Your voice reminds of of local radio show host Joey Reynolds. Definitely, you doing stuff like this is very educational, and reminds me of the good o' days.
Thank you Fes, I appreciate it... That's very kind of you. ^_^
It's always comforting to know that there are nerdier people than you in this world. I took an entire course on asm in college and still I could only understand about half the words in this video. Interesting nevertheless.
I don't think this is stuff you're likely to learn in any university anymore... This is really only something you can learn from "enthusiast" sources.
I am so jealous of people who got to experience computing in the 80s and 90s
Strange as it may seem, I really enjoyed watching this :) The code for INT 10h:
- turns AH into an offset (SHL,1), puts it in SI, assuming it has a lookup table for its local sub-functions. Just by seeing this as you trace, knowing what it does more or less. Would that qualify as a condition? ha ha:)
Yes. Thank you. I am actually writing my own x86 bare bones OS, for fun...demos and graphics right now, so that was a great reminder about calling ints directly via the vector table. I usually think of the Amiga or c64 way to do that, so here is the obvious "rosetta stone" of looking at that way of doing things sans OS. On the 64, you can switch out the rom based BIOS/BASIC/OS with a single bit, on the Amiga, you can go into Supervisor mode and start blindly trashing memory if you are your own OS and do not have to return to Workbench/Kickstart.
I love seeing stuff like this. But then again, I learned about this kind of stuff so it was easier for me to follow along. I would like to see more of these kind of videos, but this is a very niche topic that probably interests only a few people.
I thought the same thing. However, it seems to have interested enough people that a follow-up will probably appear in the near future.
Fascinating!
You forgot to set the VGA video mode to 13 the second time
I didn't quite get little endianess until I wrote out some numbers in binary, now I'm convinced that it's humans who have it flipped!
This is an interesting point: There is no specific reason why the most significant digit has to be on the left and the least significant has to be on the right; it could just as easily be the other way around. One hundred could just as easily be represented by the digits 001 as by 100. Ultimately, though, this is really a much deeper question about different human cultures and what people choose for seemingly arbitrary reasons: Should a language go from left to right (as most Western languages do) or right to left (as most Semitic languages do)? Or should they be written vertically (as East Asian languages are sometimes written)? Greek used to be written in a "Boustrophedon" format, meaning that one line would go left-to-right, then the next would go from right-to-left, the advantage being that you could keep reading without having to move your eyes back to the beginning of the next line. Why was this writing system abandoned? I don't know... I don't think there is a concrete reason why; it just fell out of favor. The directional conventions that people have fairly arbitrarily chosen, from which side of the street to drive on to whether a wedding ring is worn on the left or the right hand, are really just a product of historical chance and long-running conformity.
Ah, took me back by 3 decades 👌
How about a tutorial to write a TSR ?
If my memory serves me right that will be int 21 function 31
That is a great idea. Perhaps I'll do a video on just that. Any requests on what the TSR should do?
@@LateBlt hi, maybe we can have the tsr poll the bda ( bios data area ) address for the NUM lock status and turn the num lock off if it was turned on. Basically prevent the NUM lock from being turned on 😀. I did this using c sometime in the early 90s when i was reading bios and dos internals. The good old days .
Great idea and a great memory !
@@discomallu9769 or better yet... put a NUM/CAPS/SCROLL-OSD on screen :D And to make it even cooler: adjust text mode character height from 16 to 15 pixels to get an extra line and a half of text for putting the OSD. I know, I'm late to the party.
Me: Man, Win 3.x had such cute graphics! Maybe do some more games from that era. Totally up to you, of course.
LB: I'm going to make a video about something with no graphics at all, because that's how 1337 I am.
Respect.
Thanks, although it doesn't really have anything to do with being 1337... It's just more efficient to work without graphics or a mouse, to stick with a keyboard and a text console.
You sure your name isn't 1337blt? ;)
I could have said hardcore, but this is a family-friendly channel.
Oddly, I was not notified that this is a family-friendly channel. It's a good thing you told me, otherwise I might have replied that when you're going hardcore, it's better to be late than to be early.
I enjoyed the video. But I'm disappointed that your Enter-key presses aren't as loud as they used to be! I miss the satisfying KER-CHUNK that I used to hear when you pressed the Enter key.
Yes, a lot of people commented on the Enter key back in the day. Unfortunately, I no longer have that keyboard, and I currently make videos on a laptop whose keyboard is relatively quiet. Sadly, you can never really go anywhere without leaving something behind.
YAY! i love when you get into nerd shit. :)
& now that i've watched it, since you requested feedback: this filled in some gaps in my tech knowledge, but i could've learned more if you'd had a bit of a dry run before recording. you clearly know how to do this stuff, but it comes across as being a bit rusty for you, which makes it difficult to learn from - a lot of "okay, i understand how - oh, he took that back. alright, unlearning that & focusing again for the information i'm trying to absorb". it's a tiring way to learn. i normally prefer your honest reactions, but perhaps you could test just the code before recording, so you're a bit more confident in the information you're providing. beyond that, of course i enjoyed the video, & i always love watching you nerd out. :)
Thanks for the feedback. I actually did test this before making the video, but in my testing, I used P. Then I thought that it might make more sense to use T, since T actually shows the code within subroutines which gets skipped over by P. My understanding is that T and P are identical except that P goes right through an interrupt all at once, while T "steps into" it; I thought, therefore, that T would be better to show what's actually going on. Unfortunately it seems that it actually just makes things crash. Sorry! =)
oh, gotcha! then that makes sense & i'm sure the next video along these lines will be easier to comprehend. either way, let me be clear that i definitely enjoyed it & would love to get more assembly lessons from lateblt!
Stored backwards = little endian 😆
Wh!!