DOS Executables Explained [Byte Size] | Nostalgia Nerd

  Рет қаралды 143,892

Nostalgia Nerd

Nostalgia Nerd

Күн бұрын

.COM .BAT. EXE... these are a few of my favourite things. Ahhhh MS-DOS. A beautiful command line driven operating system which filled our hearts with glee. Core to this glee filled life was file formats and the programs lurking within them. These would come with either a .com .exe or .bat extension so they could be executed by a few taps on your keyboard. But what exactly is a .com file and how does it differ from an .exe or .bat file. Come to think of it, why do I care?.... I can't answer that question, but at least I can tell you how these files differ. So here we go.
** For exclusive videos, mystery boxes and other rewards, please consider supporting me at; / nostalgianerd **
☟Sharing☟
If you wish to share this video in forums, social media, on your website, *please do so*! It helps tremendously with the channel!
☟Subcribe☟
www.youtube.co...
✊Support Me! ✊
*Patreon*: www.patreon.co...
Visit my eBay Shop: ebay.to/1QQpYyy
Buy via. my Amazon affiliate link: nnerd.me/MGOI
★Join me on Social Media★
Twitter: / nostalnerd
Face: / nostalnerd
Instagram: / nostalgianerd
Web: www.nostalgiane...
★Equipment★
Lumix G6 with Vario 14-42mm Lens
Nikon D3200 with 40mm Macro
Corel Video Studio Ultimate 2018
Corel Paint Shop Pro 2018
Blue Snowball Microphone
♜Resources♜
If you believe I have forgotten to attribute anything in this video, please let me know, so I can add the source in. It takes time to make these videos and therefore it can be easy to forget things or make a mistake.

Пікірлер: 513
@Nostalgianerd
@Nostalgianerd 6 жыл бұрын
Does anyone want to see a video about that "Menu" batch file I made?
@coffee115
@coffee115 6 жыл бұрын
Batch files need more love. So, yes.
@samuelhulme8347
@samuelhulme8347 6 жыл бұрын
Nostalgia Nerd yes please
@TurboWafflz
@TurboWafflz 6 жыл бұрын
YES!!!
@bazza5699
@bazza5699 6 жыл бұрын
defo.. :)
@lordkleiton
@lordkleiton 6 жыл бұрын
yes
@TheBodgybrothers
@TheBodgybrothers 6 жыл бұрын
Remember a time when "dir" listed the files so slow you could read them as they scrolled down the screen? I miss my old 286 and 386.
@FlameRat_YehLon
@FlameRat_YehLon 6 жыл бұрын
Nowadays you can still kinda do that if you are on a bad network connection and run ls on Linux using SSH.
@enginerd80
@enginerd80 6 жыл бұрын
@ger du I think the "p" parameter was added to the dir command quite late . Before that, "dir | more" could be used.
@arthur_p_dent
@arthur_p_dent 5 жыл бұрын
@@enginerd80 I don't know when exactly it was added, but MS-DOS 2.11 definitely already did have the "/p" parameter. Btw, I am not sure what kind of PC Brad had - my first computer, an 8088-8 XT, did scroll the file names too fast for me to read if I didn't use /p - even when it was the directory of a diskette.
@enginerd80
@enginerd80 5 жыл бұрын
@@arthur_p_dent Oh... well, in that case I guess I just learned about the /p parameter late then. Or maybe there were differences between the standard MS-DOS and the variant on my first PC (IBM-DOS or PC-DOS 4.00 on 10 MHz 286 IBM PS/1). Actually, most likely I just learned the "| more" thing first, and only learned much later about the /p, and just assumed that it was a new feature in that DOS version.
@arthur_p_dent
@arthur_p_dent 5 жыл бұрын
@@enginerd80 most definitely the latter . I also had some bootdisks with PC-DOS 3.3 and they did have the /p and /w switch. Most of the other switches, however, most notably the /s switch to display all subdirectories, and the switches to specify file attributes (and show hidden and system files) and sort orders, were not yet avaliable in 3.3. Not sure when exactly they came. MS-DOS 5.0 had them, but I never worked with 4.x.
@csours
@csours 6 жыл бұрын
"At this point batch files became irrelevant for most users" - Oh if only... Still writing batch files in 2018, as that is the lowest common denominator for Windows.
@gymnasiast90
@gymnasiast90 6 жыл бұрын
It is true though. If you write your own batch files (or Bash scripts, etc.) or even use them in 2018, you're not like _most_ users. They're tremendously useful, but really mostly to power users.
@szoszaty
@szoszaty 6 жыл бұрын
I just write today a .bat file into the Startup folder, to set the VNC server to show only the primary display (the setting resets after every reboot).
@kjamison5951
@kjamison5951 6 жыл бұрын
I did an install of DOS 6.22 with Windows 3.1 last week and wrote a BAT file to handle a few things... I surprised myself remembering everything that I did.
@MistaMaddog247
@MistaMaddog247 6 жыл бұрын
I still make BAT files for things like rename many files at once cause there's still things that are hard to do with just Windows Explorer. Linux shell scripts are even more flexable...
@Panj0
@Panj0 6 жыл бұрын
All about that PowerShell script now though. AFAIK they are as capable/flexible as Linux shell scripts (relative to Windows, ofc).
@jocefjose6004
@jocefjose6004 5 жыл бұрын
My younger officemates would marvel at me when i start working on the command line in a more recent windows. They think im a master level hacker or something. Lol
@feywerfolevado6286
@feywerfolevado6286 5 жыл бұрын
By god; me and a friend during middle school would make “OSes” that were really just fancy command line GUI’s and menu systems and put them onto floppies in BATCH
@s4ndwichMakeR
@s4ndwichMakeR 6 жыл бұрын
Yeah, I did the same … writing huuuge menu BAT files for starting games and programs and processing user input with CHOICE and %ERRORLEVEL%. Overexaggerated that a bit though when I ended up using templating via variables and ANSI.SYS for color and cursor replacement.
@chuuni6924
@chuuni6924 6 жыл бұрын
The things with .com executables and the .com domain actually did confuse me back when I first got Internets. Since I was used to running and even writing .com programs, I was convinced that altavista.digital.com was a program somewhere on my computer that I never managed to find, but that I could check out how it worked and even write similar things myself. I lived with this frustration for years before I found out how DNS works.
@LaikaLycanthrope
@LaikaLycanthrope 5 жыл бұрын
Yeah, I remember being confused about that, too, when I first heard web-jargon (decent, affordable internet that didn't involve long distance charges didn't come to my city until 19-freaking -98), especially coming from learning how to understand FIDOnet addressing.
@karlbergen6826
@karlbergen6826 5 жыл бұрын
Many of the com files were actually executables which have the header MZ. True .COM files were limited in size and could not declare a stack. It was decided to make .COM and .EXE interchangeable in later versions of DOS. Batch files are simply text files of DOS command. Later Norton come up with an enhanced DOS command interpreter dubbed as NDOS. This added a new kind of executable file, a BTM file. It could contain additional commands and like bash could define aliases. Later 4DOS introduced as shareware It could feature colored text much like bash. It was NDOS on steroids. Unfortunately Windows95 wiped it out.
@rfvtgbzhn
@rfvtgbzhn 4 жыл бұрын
@@karlbergen6826 true, later versions of command.com are an example for this. E.g. the command.com of MS-DOS 7.10 (which is the base of Windows 95B to Windows 98SE) has 93,890 bytes. PS: I find it kind of funny that youtube formats command.com as a link.
@Lucius_Chiaraviglio
@Lucius_Chiaraviglio 4 жыл бұрын
Somebody needs to come up with a .exe top-level internet domain . . . .
@BlackburnBigdragon
@BlackburnBigdragon 6 жыл бұрын
Oh my god!!! "Dr. Sbaitso"!!! I used to play with that all the time!!! It was such a funny program! It was this computer voice psychyatrist where it would "Ask you to talk to it about your problems." and you could just type anything at all into the thing and have a conversation with it. The conversations me and my friends would force that thing into were often really hilarious. It was such a fun little gem of a program.
@adejupe8308
@adejupe8308 6 жыл бұрын
BlackburnBigdragon remember the SB test .mid file then?
@BlackburnBigdragon
@BlackburnBigdragon 6 жыл бұрын
Yep. Believe it or not, I still have that old Soudblaster setup floppy disk in my collection as well as a USB floppy drive. If the disk is still readable, I could probably still load all that stuff up in DosBox. I also still have my first computer still sitting in my computer room. I haven't turned it on in over a decade. Someday I'm going to turn it on. It might even have those programs on it. I know that the original Doom and X-Wing are on it.
@Humaricslastcall
@Humaricslastcall 6 жыл бұрын
.BAT files are still in use to this day, and even for their original purpose. Of course the language somewhat changed (from DOS to the new fangled NT command line) but their operation still remains the same.
@lunarmodule6419
@lunarmodule6419 6 жыл бұрын
Haaaa good old Dos! Stopping Windows to get enough RAM to run Doom from Dos. Thx
@GewelReal
@GewelReal 5 жыл бұрын
These days we get soo much RAM and Windows is soo efficent at managing it that I don't think we'll ever get back to things like that
@LaikaLycanthrope
@LaikaLycanthrope 5 жыл бұрын
Sad thing is, I don't remember having a problem running it on a 286 ... I'm pretty sure it was the 286 I was running it on, I used it for most of the 90s.
@jpvoodoo5522
@jpvoodoo5522 5 жыл бұрын
Wouldn't you would just loadhigh some things from config.sys? Do you mean you were running doom from within windows 3.1 and had to exit to dos-hell?
@iannickCZ
@iannickCZ 5 жыл бұрын
"You massive nerd!" The computer: *blip*
@stunthumb
@stunthumb 6 жыл бұрын
Filled? - DOS still fills me with glee, especially when you have it working for you - I still use it at work, it's great for scripted FTP feeds and all that great stuff. Gotta love DOS - in fact we have a summer student right now, we're subjecting him to DOS as much as possible.
@Rouxenator
@Rouxenator 6 жыл бұрын
SBAITSO !!! If you keep pestering him about what Sbaitso is he would eventually spill the beans... "Sbaitso is Sound Blaster Acting Intelligent Speach to Text Operator". What a blast.
@kjamison5951
@kjamison5951 6 жыл бұрын
Paul Roux Surely it’s “Text to Speech Operator”? Pedant in training.
@nickwallette6201
@nickwallette6201 6 жыл бұрын
Yeah, that's Dr. Sbaisto, which is... like... probably not even a real doctor.
@adejupe8308
@adejupe8308 6 жыл бұрын
Nick Wallette oh he was. He taught me how to remove my sister's kidney.....
@adejupe8308
@adejupe8308 6 жыл бұрын
LordSenile noooo... Sbaitso was text to speech. Speech to text didn't really come around until the mid to late nineties with IBMs Dragon. And that was pants, I can assure you!!!
@sk198181
@sk198181 5 жыл бұрын
My brother in law and I spent 2 months compiling about a 30 page text document story we wrote and then got super stoned one night and let Dr Sbaitso read it out loud to us. I don't think I ever laughed that hard in my life.
@koppadasao
@koppadasao 6 жыл бұрын
"echo off"? That's wrong! It's suppose to be "@echo off", thank you!
@armornick
@armornick 6 жыл бұрын
Technically "echo off" works too, but it will show the command. The @ stops the following command from being shown so you can use it with anything but turning the echo off stops every command from showing.
@koppadasao
@koppadasao 6 жыл бұрын
Nick Armor Which is why I said it’s supposed to be @echo off
@rashidisw
@rashidisw 6 жыл бұрын
The "@" prefix only have real effect when it was run from a .bat file, which is to suppress the visibility of executed line if the "echo" are still on state. So if the .bat file only have 5 or less lines, you may want prefix all the lines using the "@".
@johnfrancisdoe1563
@johnfrancisdoe1563 6 жыл бұрын
Koppa Dasao @echo off doesn't work in older MS-DOS versions, as it was a later feature enhancement.
@razeezar
@razeezar 6 жыл бұрын
As a kid, to me 'echo off' was some esoteric process invoked before a game began. Kind of the PC equivalent of the lights dimming and the curtains parting at the cinema before the entertainment begins :-) It turns out that all it really meant is that the game's programmers simply forgot, or chose not to use the '@'!
@PanDownTiltLeft
@PanDownTiltLeft 5 жыл бұрын
Besides the 64K limit, the other main difference between .com and.exe is that the exe header includes relocation information so that the application can run anywhere in memory as opposed to a.com file that is restricted to starting at location 100h
@danielshannon167
@danielshannon167 6 жыл бұрын
Really looking forward to learning about exe vs msi files. I never figured out why I should download one over the other when I try to download programs on the internet
@sk198181
@sk198181 5 жыл бұрын
Duuuuude Dr Sbaitso was life. Nice little piece of obscure nostalgia.
@coffee115
@coffee115 6 жыл бұрын
I miss being able to patch game EXE files using a series of batch files or a utility. Imagine doing that nowadays! Heck, some games even told you to change around a byte or two to fix issues with OS/2 or some sort. Dunno why they didn't just use command-line arguments, but whatever formats your hard disk, I guess.
@logansorenssen
@logansorenssen 6 жыл бұрын
coffee115 Patching binaries is still a thing, technically, but it's usually easier to just ship a whole replacement binary, nowadays.
@raafmaat
@raafmaat 6 жыл бұрын
also, the security risks this involve is just insane, i remember excecuting randomly downloaded trainers etc, oh man, if i would do that today i cant even imagine all the adware and spyware i would get haha
@KuraIthys
@KuraIthys 6 жыл бұрын
Yeah... Still, did you know windows to this day contains not one, but 5 seperate batch file interpreters? Wanna write an old-fashioned dos style batch file? That still works. Visual basic style batch file? Yep. That's possible too. Javascript batch file? For some reason, you can do that too. There were more, but I forget what they were. Also some require installing optional windows components... But it's still kind of bizarre to realise that's there...
@KuraIthys
@KuraIthys 6 жыл бұрын
@raafmaat lol. Did you know Quake was banned on a lot of office networks? Why you ask? Because strictly speaking it's a trojan. As in it contains a backdoor that can give ID software (or I guess someone else that knows how it works) direct access to your system. Scary huh. XD And that's not some dodgy trainer, hacked software, warez or other pirated thing... nope. That's Quake itself, as written by ID software... Go figure.
@compmanio36
@compmanio36 6 жыл бұрын
The difference between malware and legit software is usually intent. Something like Teamviewer could technically be considered a Trojan, since it gives remote access to your files, session, allows execution of code, etc. But since it's used as a remote desktop/assistance tool, and generally doesn't hide itself well, it's not. But it does most of the same things a Trojan would do.
@MicrophonicFool
@MicrophonicFool 6 жыл бұрын
The second I saw the closeup of the curved side panels on the CRT, I knew that was either an Amstrad PC1512 or possibly PC1640. Most people consider those to be Europe/UK machines, but they did make their way to Canada in large-ish numbers in the late 80's. It was my job to yank the second floppy and install a Seagate or Miniscribe HD into them. (Sometimes requiring a wee bit of hand filing on the outer case to make the cover bezel fit handsomely)
@Kippykip
@Kippykip 6 жыл бұрын
One interesting note is running Windows applications under DOS will error out as "This program cannot be run in DOS mode." This text and function is still used in modern compilers today, put a random modern day Windows .EXE into a hex editor and take a look yourself.
@danmanx2
@danmanx2 6 жыл бұрын
I saw the Quake installation screen! Fun fact, when the private beta version was released, I called out of school. Totally worth it.
@k0vert
@k0vert 6 жыл бұрын
I am so damn glad you featured DR SBAITSO! God I had forgotten about how much fun I had making it say ridiculous stuff in like 2nd grade... good stuff dude. Really enjoy the content.
@Fuzz.A
@Fuzz.A 6 жыл бұрын
Subscribed!!! because of the nostalgia you brought to your channel
@delta7890
@delta7890 6 жыл бұрын
1:20 BIG RED RACING, HOLY CRAP! I remember having a shareware copy of this game as a kid and playing the heck out of it. Nostalgia bomb!
@dj_paultuk7052
@dj_paultuk7052 6 жыл бұрын
God that brings back memories. You should do something on DoS Shell as well. It was awesome !. Who needed windows when you had Dos Shell.
@dragunovbushcraft152
@dragunovbushcraft152 5 жыл бұрын
XTree Gold ROCKED!
@p1nkfreud
@p1nkfreud 5 жыл бұрын
Regarding bat files running last, behind com and exe, you could always just have the com file exclusively launch a .bat and then self terminate...
@Robeight
@Robeight 6 жыл бұрын
Who misses DOS?
@liminal_love2795
@liminal_love2795 6 жыл бұрын
Robeight i miss it
@coffee115
@coffee115 6 жыл бұрын
I miss it in that there was only so much that could go wrong. A lot of cryptic stuff, yes, but cryptic stuff I _knew_. Nowadays you almost need a certification just to get a competent look in.
@herbiehusker1889
@herbiehusker1889 6 жыл бұрын
I use it almost every day.
@DragonGrafx-16
@DragonGrafx-16 6 жыл бұрын
I don't miss it because I still use it.
@XrisD147
@XrisD147 6 жыл бұрын
Nope, I love android.
@-taz-
@-taz- 6 жыл бұрын
Don't forget about the self-bootstrapping games. You had to reboot your machine with a disk in the A: drive to run those!
@nneeerrrd
@nneeerrrd 6 жыл бұрын
Long live *.OVL.* We'll revenge!
@eddiehimself
@eddiehimself 4 жыл бұрын
I remember as a kiddo on our Windows 95 PC seeing those cogs in the icon of the .bat files and thinking it was really cool because they reminded me of the cogs in some of the levels of Super Mario 2: 6 Golden Coins on my GameBoy lol.
@typograf62
@typograf62 5 жыл бұрын
COM-file meant COre iMage also. As it was just load and run.
@kopuz.co.uk.
@kopuz.co.uk. 6 жыл бұрын
The IMAGE_DOS_HEADER which contains MZ or "4D 5A" also known as IMAGE_DOS_SIGNATURE , it is still used in PE formats today which technically makes all PE files MS-DOS compatible, although you will most likely see the famous string "This program cannot be run in DOS mode." but it will execute nonetheless.
@DanielMonteiroNit
@DanielMonteiroNit 6 жыл бұрын
PE do contain a full (but minimalistic), complete MZ file just for that
@johnfrancisdoe1563
@johnfrancisdoe1563 6 жыл бұрын
Daniel Monteiro And you can in fact choose almost any MS-DOS EXE instead when creating the program file, but the addressing in the PE, NE, LE or LX program needs to be adjusted to the size of your DOS program, so changing it later can get quite tricky.
@rfvtgbzhn
@rfvtgbzhn 4 жыл бұрын
@@johnfrancisdoe1563 true, scandisk.exe contains a full DOS and Windows program, which is in this case used so you can really run the same executable in DOS and Windows with basically the same functionality but a very different interface. As far as I know some third party disk tools also used this trick.
@Sparkette
@Sparkette Жыл бұрын
Fun fact: the error message you refer to is actually displayed by the executable; in other words, DOS runs the executable, and what the executable does is print that message and exit. That's why if you open a Windows EXE in a hex or text editor, you'll see that text near the beginning. If you search online, you'll see it's actually led to some confusion for Mac users in the past, who would attempt to run a program that (unbeknownst to them) isn't compatible with Macs, and would find it opening in TextEdit. They'd see that text right away and naturally reach the conclusion that the reason it's not working is because their Mac is in "DOS mode".
@alexriesenbeck
@alexriesenbeck 6 жыл бұрын
Oh man! Thanks for this. I really never knew the run order of these three great filetypes. Your videos are awesome
@brasilianguy5437
@brasilianguy5437 4 жыл бұрын
Just to mention, the opening a .COM file with DEBUG.EXE we have the assembly of the .COM file ... And also build some small .COM programs aswell, like calling the ST11 ROM to format the ancients hard drives "physically".
@gaiuszeno1331
@gaiuszeno1331 4 жыл бұрын
Who doesn't love the command line? Even now I do all my productive work on the command line and really only use a GUI for games or web browsing
@ml-images9983
@ml-images9983 6 жыл бұрын
My favorite game was editing command.com and changing the way extensions are processed, for example swapping exe and bat
@adejupe8308
@adejupe8308 6 жыл бұрын
I remember making an extremely long and convoluted autoexec.bat back in the day, with various balances of expanded, extended and convench (as we called it) memory!! Used nice colours and some flashing text....and of course, the ever-present battle to see just how much you could load with himem.sys to try to crack the 630k of free base ram barrier!! Don't think it ever happened though, himem and emm386.....oh how I loved you so!!!!
@JimmiG84
@JimmiG84 6 жыл бұрын
Have to admit I didn't know the technical reasons for having both com and exe files. Bat files are still around though as login scripts, scheduled tasks etc. . Our IT environment is held together by bat files and duct tape.
@VisionedWheat66
@VisionedWheat66 6 жыл бұрын
Clockon! I use that on my DOS machine as well, I recognised the startup chime at 2:10.
@stephenpalmer4052
@stephenpalmer4052 6 жыл бұрын
Like many others here, I still use batch files to perform support tasks in modern windows implentations. Just so much easier than Powershell to do some pretty basic but automatable tasks. It winds me up so much watching younger and offshore collegues struggling with scripts, or ploughing through a GUI when a little two line FOR /F would suffice
@Pitel42
@Pitel42 6 жыл бұрын
Do ELF next! :)
@maighstir3003
@maighstir3003 6 жыл бұрын
The PE/Portable Executable format wasn't mentioned either, as far as I could tell.
@nickwallette6201
@nickwallette6201 6 жыл бұрын
I second this. I've written way too much C code to understand as little as I do about how executable code is loaded into memory and run. Teach me, Nostalgic Nerd.
@jamieperrett8791
@jamieperrett8791 6 жыл бұрын
TSR / ELF / PE I love acronyms
@renerheaume5238
@renerheaume5238 5 жыл бұрын
That MZ signature is still present in every PE file on Windows. In fact, it is part of a DOS stub that just prints "This executable cannor be run in DOS.". Except for regedit.exe on Windows 95 and 98, in which their DOS part contains Windows registry repair commands instead of a sad take on "Hello world". As for ELF, it might still be a little bit too recent for this channel. Linux used another executable format before ELF (never used it myself, as I first used Linux in 2001, when ELF was everywhere) for there is a kernel config option for it (well there was one for Linux 4.2, but heck, I have not booted with Linux PC for over a year)
@gaiuszeno1331
@gaiuszeno1331 3 жыл бұрын
Or maybe a.out
@dswift864
@dswift864 6 жыл бұрын
I had a boot disk that I created designed to use as little memory as possible so I could run games. The good old days Who else remembers playing DOS games at 60hz refresh until it felt like your eyes were bleeding :)
@jackkraken3888
@jackkraken3888 6 жыл бұрын
MS DOS might be outdated but I remember seeing a number of retailers use it for their electronic point of sale machines.
@marcchavez6658
@marcchavez6658 6 жыл бұрын
Jack Kraken: Still has its place for simple automation tasks. Not that you want to do it, but I bet the Apollo Navigation Computer can still get you to the Moon and back
@B_Site
@B_Site 6 жыл бұрын
oh i LOVE batch files. i discovered them when i was 13 and it got me into scripting and programming
@RDJ134
@RDJ134 6 жыл бұрын
Thank you for make me feel very very old after watching this video. Been there done that.. :(
@GenericInternetter
@GenericInternetter 5 жыл бұрын
i understood nothing about computers until my mother bought me a book all about MS-DOS 5.0, then i understood basically everything. the early 90's was truly a different time.
@LaikaLycanthrope
@LaikaLycanthrope 5 жыл бұрын
I started with DOS 3.3 For Dummies. Because my mother called me up, said she'd bought a computer, and I should come help her get it running, because I'd had a Vic-20 a few years before, so of course I should know what to do with a Tandy 286. Computer courses were just starting to be a thing when I LEFT high school, and you had to be crazy good at math to even be considered to be allowed to take it. And the first course my school offered was taught by the phys ed teacher, and all he knew how to do was make us play a space invaders tournament ...
@indenkellerag
@indenkellerag 3 жыл бұрын
" .com stands for command" Commercials: am i joke to you?
@custume
@custume 6 жыл бұрын
Oh, yes, yes I remember making my boot menu of DOS, after that win 95, and last one I made was a massive menu for win 98 that have tools and so on , I think I even got the Dosshel in it, and the 98 one I had the partition magic and some others Good video
@paunchstevenson
@paunchstevenson 6 жыл бұрын
Spent many hours playing with Dr. Sbaitso in 1992-93.
@wisteela
@wisteela 6 жыл бұрын
And in CP/M-86 they went from COM to CMD to save mix ups and so you'd know which it was for
@wubbledub
@wubbledub 6 жыл бұрын
Talking about batch files reminded me of when my mom kept doing something that would delete the autoexec.bat file and I had to keep rebuilding it.
@FlameRat_YehLon
@FlameRat_YehLon 6 жыл бұрын
Also .com files has nothing to do with the COM framework?
@armornick
@armornick 6 жыл бұрын
No, that COM stands for Component Object Model.
@miigon9117
@miigon9117 4 жыл бұрын
That COM technology is a Windows thing
@stickmaker10111
@stickmaker10111 5 жыл бұрын
My operating system is much different than the mainstream. My main entry function(s) do a little bit more work than passing char argument arrays and setting up various things for the standard `int main(int, char**)` prototype, which is defined as `Return main(ArgList**);` or `int main(ArgList**);` or even `int64_t main(ArgList**);`. Since I like the unix version of `Collect, Process, Output` so much, users can direct multiple programs (or files themselves) to feed in data as either a dynamic or const buffer, which is stored in memory differently, or a data stream. This means my program can collect the data it needs (think makefile targets after the colon) by the user before the processing begins, verifying arguments and validating supplied 'targets'. This improves caching by the OS. My executable accounts for this by checking for a symbol to be present to do this, much like how DllMain acts differently from the main in windows. The user can set up the information without having to open files, malloc buffers themselves, worry about handling all possible cases of FNF/OOM, yada yada. They can even release the data if they no longer need it during any of the phases, otherwise the operating system cleans it up on exit of the function if needbe. The function looks like `void Collect(FileList**, ArgList**);` `void Process(DataList**);` `Return Output(ProcData**);`. The collection process is responsible to parsing the data entered into it and making sure its applicable to use, meaning getting it into suitable form for processing. The processing stage does the work with collected data, such as converting bmp to raw. The output then writes to the destination file and ensures validity. A typical program can look like this. pastebin.com/L7WvqyRU
@pelgervampireduck
@pelgervampireduck 6 жыл бұрын
I usually do dir *.bat, dir *.com and dir *.exe to look for the executables in games. most of the times there's a install.exe or setup.exe or config.exe to setup the game, and a blah.exe to run it. (blah being the name or an acronym). some games have a blah.com instead of blah.exe, specially older games. if there's a bat I do type blah.bat or edit blah.bat so I know what it calls, if it has some parameters like "blah.exe /p /i" I leave it, but if the bat is just "blah.exe", I delete it and run blah.exe directly, or I create my own bat if I need paramenters like "blah -nojoystick -noipx -vga" or whatever.
@romwil
@romwil 6 жыл бұрын
Exactly this. Every time.
@FlameRat_YehLon
@FlameRat_YehLon 6 жыл бұрын
I always read any batch file not written by myself before I run it, because I'm afraid that someone's being snicky XD
@abdulazizalserhani28
@abdulazizalserhani28 6 жыл бұрын
Fact: Do you know Microsoft's DOS software include setup.exe to install (for example, to install Windows 3.x, you had to type setup.exe to install Windows 3.x usually installed from A:\
@Discern4
@Discern4 6 жыл бұрын
I was also a pro at writing .bat files back in the day, but if a game came with a .bat file, I would purposely avoid it and run the .exe instead. Those .bat files included with games were often sloppily made and pointless when you could just run the .exe. Sometimes they were made by a third party, like whoever distributed the shareware version, so they often weren't even 'official' files from the game creator.
@ShadowSora643
@ShadowSora643 5 жыл бұрын
During some free time I had in my networking class in high school I was able to successfully install windows 95 in a virtual machine and I probably got way more excited about that than I should of. The whole reason why I did that was to play OG Minesweeper btw.
@ChesterRico
@ChesterRico 6 жыл бұрын
Brings me back!
@MilliVee1966
@MilliVee1966 6 жыл бұрын
VeryiInteresting but wrong CP/M . QDOS (the original MSDOS) was based on the CPM 2.2 (and its variants 80, 3.0, Plus, ZCPR and in some instances MP/M) structure - CP/M 86 came out after MSDOS and was a 8086 version of CP/M 2.2 which was an 8080 / Z80 OS. Batch files (.bat) were based on the CP/M .SUB (submit) files. There really was nothing new in MSDOS at the start with the exception of .EXE files - the rest already was in use with CP/M which is why MSDOS was written to be very compatible structure wise with CP/M to make it easier to port software to it. UP to this day with windows you can do a bios interrupt 9 to print a '$' terminated string - just as you could do in CP/M 1 back in 1976.
@asgerms
@asgerms 6 жыл бұрын
On the Apple-II we had 4 executable types : I, B, T and A. That obviously makes the Apple-II 33% better than the PC :)
@tiikoni8742
@tiikoni8742 6 жыл бұрын
Hehee, I also had own bat-menu at end of autoexec at some point. Though it looked pretty ugly and its usefulness was questionable, I still got lot of awe from some friends :-D
@Waccoon
@Waccoon 5 жыл бұрын
Meanwhile, we Amiga/Atari/Mac people were shaking our heads at all this x86/Intel/IBM/MS stupidity. If only more people knew how bad the PC really was back in the day!
@john_amend_all
@john_amend_all 6 жыл бұрын
CP/M 3 added the ability to select execution order: SETDEF (COM,SUB) or SETDEF (SUB,COM). But that feature never made it into DOS.
@Agent_Jack
@Agent_Jack 6 жыл бұрын
Oh my God big red racing I loved that game so much I think I played that game to the death of my 486 PC when I was very young
@hethdavid
@hethdavid 6 жыл бұрын
Was Supremacy ported to the NES as the game Overlord? Start screen art looks familiar.
@radixcl
@radixcl 6 жыл бұрын
AFAIK, .com meant "Copy Of Memory", not "command". Greetings from Chile!
@micronn
@micronn 6 жыл бұрын
I've always thought that COM files mean "Copy of Memory", and not "Command" (which would be for the CMD extension).
@petercarter9034
@petercarter9034 6 жыл бұрын
Ah,,those were the days !
@razeezar
@razeezar 6 жыл бұрын
You know, I think I knew that they were the days even at the time!
@twocvbloke
@twocvbloke 6 жыл бұрын
C: un C:\DOS un C:\RUN\DOS\RUN C:\Run you frigging bastard!!!
@TrevorJ
@TrevorJ 6 жыл бұрын
40 years? where did the time go?
@OldAussieAds
@OldAussieAds 6 жыл бұрын
I thought 86-DOS was called QDOS (Quick and Dirty Operating System). Maybe I'm remembering it incorrectly.
@mateusfelipecota
@mateusfelipecota 6 жыл бұрын
Wait, now that I realized that Dr. Sbaitso is the announcer voice of The Modern Rogue
@biologicalagent
@biologicalagent 5 жыл бұрын
Holy hotdog stand, Batman!
@rwashi
@rwashi 6 жыл бұрын
Nice explanation, you rock., however I do have some of those programs and files around, good old DOS.:grin:
@mikeoleksa
@mikeoleksa 5 жыл бұрын
The Bat file was what the Commissioner used to summon Batman you fool. LOL
@smanzoli
@smanzoli 5 жыл бұрын
Initially, the only programs that existed were COM files. The format of a COM file is... um, none. There is no format. A COM file is just a memory image. This "format" was inherited from CP/M. To load a COM file, the program loader merely sucked the file into memory unchanged and then jumped to the first byte. No fixups, no checksum, nothing. Just load and go. The COM file format had many problems, among which was that programs could not be bigger than about 64KB. To address these limitations, the EXE file format was introduced. The header of an EXE file begins with the magic letters "MZ" and continues with other information that the program loader uses to load the program into memory and prepare it for execution. And there things lay, with COM files being "raw memory images" and EXE files being "structured", and the distinction was rigidly maintained. If you renamed an EXE file to COM, the operating system would try to execute the header as if it were machine code (which didn't get you very far), and conversely if you renamed a COM file to EXE, the program loader would reject it because the magic MZ header was missing. So when did the program loader change to ignore the extension entirely and just use the presence or absence of an MZ header to determine what type of program it is? Compatibility, of course. Over time, programs like FORMAT.COM, EDIT.COM, and even COMMAND.COM grew larger than about 64KB. Under the original rules, that meant that the extension had to be changed to EXE, but doing so introduced a compatibility problem. After all, since the files had been COM files up until then, programs or batch files that wanted to, say, spawn a command interpreter, would try to execute COMMAND.COM. If the command interpreter were renamed to COMMAND.EXE, these programs which hard-coded the program name would stop working since there was no COMMAND.COM any more. Making the program loader more flexible meant that these "well-known programs" could retain their COM extension while no longer being constrained by the "It all must fit into 64KB" limitation of COM files. But wait, what if a COM program just happened to begin with the letters MZ? Fortunately, that never happened, because the machine code for "MZ" disassembles as follows: 0100 4D DEC BP 0101 5A POP DX The first instruction decrements a register whose initial value is undefined, and the second instruction underflows the stack. No sane program would begin with two undefined operations.
@IkarusKommt
@IkarusKommt 4 жыл бұрын
You still need some work to load a com file, like setup the PSP, parse the file name from the command line and place it into PSP, setup registers...
@nethernoah484
@nethernoah484 6 жыл бұрын
Bash scripts are basically the unix/linux equivalent of batch files.
@FlameRat_YehLon
@FlameRat_YehLon 6 жыл бұрын
Except you can only use GOTO with batch.
@BollingHolt
@BollingHolt 6 жыл бұрын
Oh, that sweet, sweet Amstrad!!!!! I miss mine!
@harrytsang1501
@harrytsang1501 6 жыл бұрын
To this date, I still write up bat files with excel to use FFmpeg
@markusTegelane
@markusTegelane 6 жыл бұрын
MZ are still first two characters of an executable in Windows
@georgemaragos2378
@georgemaragos2378 6 жыл бұрын
Cool, why at 1:15 do you have 2 files game.exe and setup.exe as zero length files, its almost like a virus scanner zapped them. Regards George
@psammiad
@psammiad 6 жыл бұрын
Wow I'd forgotten about Dr Sbaitso
@Foebane72
@Foebane72 6 жыл бұрын
When I run Amiga demos, I still have to hunt for the right file in a command line.
@DanielHuman1996
@DanielHuman1996 6 жыл бұрын
I've always wondered if there is a way to open .exe files and reveal the graphics, sprites, and sound data.
@armornick
@armornick 6 жыл бұрын
You can, and Windows exposes a whole bunch of programming functions to inspect all of the resources inside an executable. Of course, it's possible to make your own format so people can't open your files even if they extract it from the exe.
@somedonkus69420
@somedonkus69420 6 жыл бұрын
Can you explain how Linux, FreeBSD and MacOS implement similar executable files? I know your things is DOS but it would be interesting :).
@tmdrake
@tmdrake 5 жыл бұрын
Love this show!
@WBEEF557
@WBEEF557 5 жыл бұрын
Can you also make a movie about dos4gw? I was always wondering what it did and why the bigger games used it.
@antoniuskelvinkurniawan
@antoniuskelvinkurniawan 6 жыл бұрын
Can you explain the *.app that modern mac uses? Or the format the classic mac uses?
@LightTheUnicorn
@LightTheUnicorn 6 жыл бұрын
The modern ".app" Mac executables have deep roots in NEXTSTEP, which was the precursor of Mac OS X. They're not actually a single binary file, but a "package", hence the ability to right-click on them and "show package contents" to view the resources inside. It's also why they can appear as a directory in other operating systems. They include all (or sometimes most) of the code and additional data for the application under a single umbrella. If you're into this sort of thing, it's a really wonderful bit of Apple/NEXT history to read about.
@cmelft2463
@cmelft2463 6 жыл бұрын
Wish I grew up during this era, must have just missed out as only really remember messing around with win95. I have some basic understanding of dos but it mostly confuses the hell out of me.
@AdamG1
@AdamG1 6 жыл бұрын
Missing my childhood best friend, Dr. SBAITSO!
@kirishima638
@kirishima638 6 жыл бұрын
Being a PC users in the DOS days must have been truly awful.
@johnlivingstone8591
@johnlivingstone8591 6 жыл бұрын
Ah what memories, ahh what horrors. Thinking back to the good old days of the temperamental pig of computing.
@marcchavez6658
@marcchavez6658 6 жыл бұрын
John Livingstone: I remember learning to "optimize" for faster boot times by deleting unnecessary files until it crashed.
@patrickradcliffe3837
@patrickradcliffe3837 6 жыл бұрын
The bane to ever DOS users existence the dreaded AUTOEXEC.BAT. the endless hours of trial and error of getting drivers loaded in a correct order.
@1310up
@1310up 6 жыл бұрын
Ultima 7, 5h to make it works, 10h to make it works WITH sound. The disk with the correct autoexec.bat / config.sys was the holy grail.
@patrickradcliffe3837
@patrickradcliffe3837 6 жыл бұрын
FCB oh yes the other bane the CONFIG.SYS file.
@ozonesama
@ozonesama 6 жыл бұрын
No mention of the related .PIF files ? :'-(
@OriginalPiMan
@OriginalPiMan 6 жыл бұрын
I still use very simple .bat files to streamline loading games into DOSBox.
@Sparkette
@Sparkette 6 жыл бұрын
The website for 3M Command strpis?
@personal_utube
@personal_utube 6 жыл бұрын
You sound like Douglas from The IT Crowd.
@Spolodaface
@Spolodaface 6 жыл бұрын
what's the music credit for 2:26?
@borys666
@borys666 6 жыл бұрын
Hmm, I was expecting some info about relocation, chunks etc. At least you can clearly state what is "fixed address for .com files" 0x1000 if I recall.
@lotrbuilders5041
@lotrbuilders5041 6 жыл бұрын
Borys Jelcyn Nope, could be loaded anywhere. That doesn’t matter due to the memory segmentation map. All programs did start at ....:0100h, but that was to allow a header be loaded
@Robert-nz2qw
@Robert-nz2qw 6 жыл бұрын
Yes it has been!
@auralius768
@auralius768 4 жыл бұрын
2:25 what is this song?
Why Does USB Keep Changing? | Nostalgia Nerd
20:51
Nostalgia Nerd
Рет қаралды 3,2 МЛН
Why did we Abandon 4:3? | Nostalgia Nerd
16:40
Nostalgia Nerd
Рет қаралды 698 М.
ПРИКОЛЫ НАД БРАТОМ #shorts
00:23
Паша Осадчий
Рет қаралды 6 МЛН
Which One Is The Best - From Small To Giant #katebrush #shorts
00:17
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 244 МЛН
Why does DOS use 8.3 Filenames? [Byte Size] | Nostalgia Nerd
9:49
Nostalgia Nerd
Рет қаралды 197 М.
Why is HD 1080p? | Nostalgia Nerd
20:59
Nostalgia Nerd
Рет қаралды 314 М.
What is the Smallest Possible .EXE?
17:04
Inkbox
Рет қаралды 397 М.
32-bit DOS Applications
15:34
RetroGarage
Рет қаралды 78 М.
You Hated This Game | Nostalgia Nerd
21:06
Nostalgia Nerd
Рет қаралды 91 М.
These Keys Shouldn't Exist | Nostalgia Nerd
19:32
Nostalgia Nerd
Рет қаралды 676 М.
How do non-euclidean games work? | Bitwise
14:19
DigiDigger
Рет қаралды 2,4 МЛН
How A Steam Bug Deleted Someone’s Entire PC
11:49
Kevin Fang
Рет қаралды 999 М.
Windows’ Hidden Self Destruct Code | Nostalgia Nerd
19:40
Nostalgia Nerd
Рет қаралды 1 МЛН
ПРИКОЛЫ НАД БРАТОМ #shorts
00:23
Паша Осадчий
Рет қаралды 6 МЛН