What are EXE files made of?

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 พ.ค. 2021
  • Almost everyone has opened an EXE file in a text editor and been mystified by the apparent nonsense. How does a computer make sense of it? Let’s uncover the illusion.
    Become a member: th-cam.com/users/Bisqwitjoin
    My links:
    Twitter: / realbisqwit
    Liberapay: liberapay.com/Bisqwit
    Patreon: / bisqwit (Other options at bisqwit.iki.fi/donate.html)
    Twitch: / realbisqwit
    Homepage: iki.fi/bisqwit/
    AMD64 programmer’s manual:
    www.amd.com/system/files/Tech...
    www.amd.com/system/files/Tech...
    www.amd.com/system/files/Tech...
    developer.amd.com/wordpress/me...
    www.amd.com/system/files/Tech...
    www.amd.com/system/files/Tech...
    8086 and 8088 datasheets:
    datasheets.chipdb.org/Intel/x8...
    datasheets.chipdb.org/Intel/x8...
    What I wore during the Tandy1000 filming (should have used black gloves too):
    s.click.aliexpress.com/e/_9fvUsZ
    www.aliexpress.com/item/40003...
    To contribute subtitles: th-cam.com/users/timedtext_vide...
    That’s numberwang!
    The flying numbers animation is from AllDesignCreative, by V. Sudharsan.
    For the Annotations Restored extension (please use!): [ar_start]tp=text,at=text,s=anchored,ts=357,te=368,t=For%20disassembling%2C%20any%20disassembler%20could%20be%20used%20for%20the%20same%20effect.%0AThe%20Tandy%201000%20does%20not%20have%20modern%20tools%20like%20%E2%80%9Cndisasm%E2%80%9D%2C%20%E2%80%9CCodeView%E2%80%9D%2C%20let%20alone%0A%E2%80%9CIDA%20Pro%E2%80%9D%2C%20%20but%20it%20does%20have%20MS-DOS%20Debugger%20%28debug.com%29%2C%20so%20I%20used%20that.,x=26.5,y=-2,txsz=2.6,w=73.5,h=12,bgc=4096,fgc=16776116,bgo=1;[ar_end]
    #numbers #assembler #hacking

ความคิดเห็น • 755

  • @sebto1301
    @sebto1301 3 ปีที่แล้ว +119

    If the instructions of the .EXE files are for the processor, why there are differences with the unix/linux executable files? Or there isn't? Windows/DOS filters those instructions? Or there is a kind of instructions for OS, and others for CPU?

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +194

      Because the EXE files doesn’t just contain instructions for the processor. It contains a structure. These structures are different in different operating systems.
      Additionally, even though the _processor_ is capable of executing the same instructions no matter which OS, how those instructions are actually _used_ differs. You can’t build a cabinet with instructions that show you how to build a chair, even if you are able to understand both instructions. Any time your program needs to do anything other than raw computation, it has to ask the operating system to do that. This is called a “system call”, or _syscall_ for short. For example, to open a file, you need a system call. The exact means to perform that system call differ from operating system to the next.
      There are also conventions and rules you have to follow, which vary from OS to the next. Rules such as which registers are used to pass function parameters. This set of rules is called ABI, application binary interface. If your program is compiled for the wrong ABI, no good things happen.

    • @blacklistnr1
      @blacklistnr1 3 ปีที่แล้ว +27

      Rudimentarily, yes, the code in EXE could be run by all OSs if it's the right CPU, but that would be a particularly useless or dangerous code. If an executable wants 4 GB of memory and access to your GPU to draw something on screen it doesn't just go and grab them from who's currently using them, instead it asks nicely the OS, to which the OS might reply here you go or nope in various ways.
      If some code doesn't follow this procedure:
      - it's doing something rather useless like adding 1 to register A a dozen times, without the ability to ask the user/OS for anything or tell them anything back
      - it's asking the OS in the wrong way therefore the OS will shut it down for doing something illegal
      - it's actually interacting with the user, but without asking the OS, so it's probably a virus targeting an exploit which gives it power over hardware resources and it's hopefully caught by someone(user)/something(antivirus) before it can do that
      And even before all that, the EXE file must first ask the OS to load the code which will run on the CPU, if the EXE file does that wrong it fails before even starting.

    • @kevynbuy603
      @kevynbuy603 3 ปีที่แล้ว +5

      Alot of the instructions call system api resources. Search up how to write hello world using x86 assembly.

    • @fllthdcrb
      @fllthdcrb 3 ปีที่แล้ว +21

      Different OSs have often different structures in their executables, as well as different sets of system calls (APIs) and ABIs, as Bisqwit described. And other things, too, such as filesystem organization. However, if the code itself is for the same processor, it may be possible to run a program from another OS, without emulation and therefore with usually little loss of performance, by providing a compatibility layer that implements the other OS's APIs, ABIs, behaviors, etc. A well-known example of such a layer is Wine, software for Linux and Mac OS that allows to run Windows software. It has varying degrees of success, depending on the APIs used (the most iffy IME is video playback, which requires appropriate codecs that frequently don't work well), but works pretty well for a lot of things. Besides implementing Windows APIs, Wine also creates directory trees to show to applications so they see something resembling a Windows filesystem (most would freak out if they don't find certain things they expect).

    • @AiOinc1
      @AiOinc1 3 ปีที่แล้ว

      Good question. At the end of the day, the programs do not run all on their own necessarily, they also make calls to the OS itself routinely to tell them that they are still working, to request resources, to offload complex operations such as handling networking protocols and moving images on screen, making sounds, etc. This is all handled by the OS itself, and while all of the instructions will complete successfully regardless if you're running Linux or Windows or DOS or even Mac OS on some machines, that does not mean the programs will be able to do anything because they still need those basic "Primitives" that are part of the OS itself.

  • @josecamua7380
    @josecamua7380 3 ปีที่แล้ว +464

    The legend has come back.

    • @briankimathi5033
      @briankimathi5033 3 ปีที่แล้ว +18

      I am relieved. I was worried with the virus around... I contemplated emailing him but saw that some of his videos have 4-5 months time difference. Honestly I'm happy he is back.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +79

      Thank you for your concern, both of you. I have been fine. But my stress levels have been quite high and energy levels quite low, lately. Thankfully I was able to put this video together nonetheless!

    • @EasyBreezyCheezy
      @EasyBreezyCheezy 3 ปีที่แล้ว +13

      @@Bisqwit try smoking weed or taking mushrooms!

    • @NormHen5413
      @NormHen5413 3 ปีที่แล้ว +2

      @@Bisqwit Coffee is good at restoring physical and mental energy(antidepressant), but it can cause a slight spike to blood pressure(might contribute to stress?) and the possibility of manic behavior.

    • @josecamua7380
      @josecamua7380 3 ปีที่แล้ว +11

      @@EasyBreezyCheezy what in the world bro?

  • @seanjackson6474
    @seanjackson6474 3 ปีที่แล้ว +324

    I loved that you showed off those computer sounds btw.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +59

      Thank you! I debated it a little, but eventually I decided that at least _I_ love to hear those sounds, and I don’t like to be a slave of algorithms.

    • @seanjackson6474
      @seanjackson6474 3 ปีที่แล้ว +7

      @@Bisqwit and that's why your channel is great :)

    • @raf.nogueira
      @raf.nogueira 3 ปีที่แล้ว +3

      What is heavily complicated for me to understand is how these assembly programs in 80s and 90s could access video functions to draw things on the screen. I have a huge curiosity on how these binary and hex calculations become the first user interfaces and games inside companies like Atari, Nintendo, the Xerox interfaces and Apple with Macintosh's, etc . WIsh someone could make a video about that....

    • @futu1983
      @futu1983 3 ปีที่แล้ว +7

      @@raf.nogueira Explanation is in this video at 1:38.

    • @zatoichihanzo9167
      @zatoichihanzo9167 3 ปีที่แล้ว +4

      @@Bisqwit the algorithm kind of brought me here and I loved that part the most 🖤I might even look for more old computer booting up...Its sounds, tempo, code... its relaxing and amazing to watch

  • @Rand0081
    @Rand0081 3 ปีที่แล้ว +174

    Before the Tandy 1000 appeared I was thinking, "Only Bisqwit could explain Windows, on Linux" ❤️

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +12

      What did you think after the Tandy 1000 appeared?

    • @Rand0081
      @Rand0081 3 ปีที่แล้ว +12

      @@Bisqwit as always, never comment before the end :)

    • @LolWutMikehSM
      @LolWutMikehSM 3 ปีที่แล้ว +2

      This explains the processor operations and not windows though, right?

    • @ahndeux
      @ahndeux 3 ปีที่แล้ว

      Linux wasn't even a glimmer in Linus daddy's groins when we grew up with old school TRS80 and older computers.

  • @FredM80
    @FredM80 3 ปีที่แล้ว +95

    I really like how you show that same numbers can be a text, a sound, a bitmap, depending of its interpretation !

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +16

      And an infinite number of other interpretations as well! These were just the first ones that came to my mind.

    • @TopiVuorio
      @TopiVuorio 2 ปีที่แล้ว +5

      Yeah its kinda philosophical!

  • @marioskoutras6583
    @marioskoutras6583 3 ปีที่แล้ว +57

    When you enable subtitles : [Tandy1000: bukiikiikiikii kiikiikii].. Gold!

    • @ColeslawProd
      @ColeslawProd 3 ปีที่แล้ว +3

      Them: No! You can't use an old Tandy computer for anything useful today!
      Me: Hehehe floppy drive go bururu kiikiikibukiibkiburru

  • @JimLeonard
    @JimLeonard 3 ปีที่แล้ว +391

    A little disappointed the MZ EXE header/structure wasn't touched on, as that is what I thought the video was about, but it's still an entertaining look at what x86 code actually is.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +171

      Sorry about that. The 16-bit DOS EXE file is simple enough that it would be possible to cover in a time about the same as this video, but when we get into NE/PE, the background concepts become far less approachable and require a lot of explanation, limiting the options to 1) a very long video or 2) a video that most viewers don’t understand.

    • @CorneliusCornbread
      @CorneliusCornbread 3 ปีที่แล้ว +20

      ​@@Bisqwit Maybe you could make a video discussing EXE metadata, or if that's not enough content, computer file metadata in general?

    • @djouze00
      @djouze00 3 ปีที่แล้ว +37

      @@Bisqwit I think I can say most of us wouldn't mind a very long video :)
      This was a really nice one btw.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +65

      Thanks @Dzouje! I really appreciate the sentiment. However, the problem is, longer videos take _much_ longer time to produce… Because it’s not just the labor, but also the time needed to think of a good script / representation. The relationship between video length and production time is almost exponential in most cases, at least of my genre.

    • @JamieBainbridge
      @JamieBainbridge 3 ปีที่แล้ว +9

      I also expected this to be about executable format metadata like MZ and ELF. Still, it was interesting all the same!

  • @ILightWas
    @ILightWas 3 ปีที่แล้ว +21

    4:30 "Good afternoon this is your captain speaking, welcome onboard Flight 4B7 with service from San Francisco to New York.
    We are currently third in line for take-off and are expected to be in the air in approximately seven minutes time.
    We ask that you please fasten your seat-belts at this time and secure all baggage underneath your seat or in the overhead compartments.
    We also ask that ... "

  • @mariobrother1802
    @mariobrother1802 3 ปีที่แล้ว +23

    Clever use of the Papers, Please sound effects when comparing the Tandy disassembly code to the datasheet, it fits quite well!

    • @E5rael
      @E5rael 2 ปีที่แล้ว +1

      I knew the sound effects sounded familiar, but couldn't quite put my finger on from what game they were borrowed from; thanks for the answer! :D

  • @Koettnylle
    @Koettnylle 3 ปีที่แล้ว +10

    I think including the sounds is GOOD for channel growth

  • @pienasty
    @pienasty 3 ปีที่แล้ว +19

    Great simple explanation of a somewhat scary thing, I love it! Glad to see more videos from you!

  • @user-vn7ce5ig1z
    @user-vn7ce5ig1z 3 ปีที่แล้ว +13

    8:41 - For those wondering, this bit of code is just parsing the command-line arguments. 😉

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +6

      Indeed. You are very good! It is a program I wrote entirely in assembly. You can find its source code here: bisqwit.iki.fi/src/miscasm/becho.asm

  • @SuperDragonite2172
    @SuperDragonite2172 3 ปีที่แล้ว +1

    Glad to see more content from you, Bisqwit. I've been a fan of your content for years, but never commented on your videos until now. Your content helped to rekindle my love of programming and I've recently had time to dive back into it. I look forward to more videos and I wish you the best. //Draco

  • @satysin630
    @satysin630 3 ปีที่แล้ว +1

    Great to see you back. Hope you had a nice break from TH-cam and are doing well Bisqwit!

  • @TheBackyardChemist
    @TheBackyardChemist 3 ปีที่แล้ว +25

    I fear an Unicode video would need to be 1 hour long :D
    I think the other parts of the .exe file could be just as interesting, think self extracting archives, etc.

  • @channelbangmamat7119
    @channelbangmamat7119 3 ปีที่แล้ว +26

    I remember opening an exe file with notepad as an 8yo trying to circumvent the WPA process for WMP10 back then 😆 hoping that I would find the if statement in there to comment out lol 😂

    • @EvilSapphireR
      @EvilSapphireR 3 ปีที่แล้ว +3

      Well you had the principle right, just not the right language and the right tools.

    • @channelbangmamat7119
      @channelbangmamat7119 3 ปีที่แล้ว +3

      @@EvilSapphireR later on, I realized that I need more tools and knowledge to do that.. fast forward, I am now a software engineer 😄

  • @jlmg3543
    @jlmg3543 3 ปีที่แล้ว +3

    Oooooooh today I learned something new! Thanks Bisqwit. Also the editing was really nice. God bless you!

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +1

      Thank you very much!

  • @vegardertilbake1
    @vegardertilbake1 3 ปีที่แล้ว +3

    My brain increases just a bit for every Bisqwit video I watch. Thanks!

  • @Marco-sz6mq
    @Marco-sz6mq 3 ปีที่แล้ว +58

    We missed you! Welcome back! 😉

  • @crunchyduck
    @crunchyduck 3 ปีที่แล้ว +1

    I've been working on a small game and that section with the old PC perfectly fit the vibe I wanted to go for in it, and ever since I've been down a rabbit hole of foley work, digging up videos of the music of FDDs. thank you greatly.

  • @only4posting
    @only4posting 3 ปีที่แล้ว +13

    Hey ! Nice to see you back. Hope you're doing well...

  • @velorek88
    @velorek88 3 ปีที่แล้ว

    Cool! I really liked the video. I knew about many of the different pieces but somehow you managed to put all the knowledge together in a way that made sense. Thanks!

  • @RemnantCult
    @RemnantCult 3 ปีที่แล้ว +2

    Your editing skills have improved. That really helps with greenhorn programmers just learning about low-level stuff. Keep it up!

  • @core36
    @core36 3 ปีที่แล้ว +36

    This is the stuff I am subscribed for. Actually, this is the stuff why I use youtube at all. I am glad you exist and I love your content 👍

    • @raven4k998
      @raven4k998 3 ปีที่แล้ว

      they are made out of cat fish

  • @starc0w
    @starc0w 3 ปีที่แล้ว +2

    I love your videos! You have a very good and original way of teaching this passion. You are a very good teacher! Thank you very much for making such great videos!

  • @markrobinson2648
    @markrobinson2648 3 ปีที่แล้ว

    Nice to have you back! Was missing your content. Hope you've stayed safe during the pandemic.

  • @tommyhuffman7499
    @tommyhuffman7499 3 ปีที่แล้ว +14

    Everything is high or low voltage. The numbers are also abstractions😋

    • @hexagonist23
      @hexagonist23 2 ปีที่แล้ว +1

      Actually everything is just charges flowing through conductors. High or loe voltages are abstractions

  • @torchmusic27
    @torchmusic27 3 ปีที่แล้ว +1

    Great video again Bisqwit, you really are excellent at explaining these topics in understandable terms.

  • @motbus3
    @motbus3 3 ปีที่แล้ว

    It is so nice to see Bisqwit videos :) As many people here are happy to see you again.
    this topic is really interesting.
    it is interesting how many emulators tries to mimic not only the instructions but the number of cycles for each.
    some effects on some emulators were just possible due to some hacky abuse of how the processor worked.
    that's fascinating.
    imho, it is even more incredible because with very few resources, no internet (not as complete as today) people accomplished amazing deeds.
    one of my favorites is Rollercoaster simulator.
    there is something magical about going from some wiring specifications at processor level to a full experience we carried for life.

  • @ugandanknuckles3900
    @ugandanknuckles3900 3 ปีที่แล้ว +3

    That was highly informative for a laymen such as myself who only deals in environments. Looking at numbers makes my head spin.
    ASCII looks daunting, the 8008 chip really does simplify what is today a maze of a processing instruction.
    It's amazing anyone could make a program let alone multiplayer servers etc with tons of stuff happening both inside and outside.
    Just all looks so daunting...

  • @devjock
    @devjock 3 ปีที่แล้ว

    I'm so sorry but I legit thought at 8:53 you said "Inside the minecraft processor" and I got a bit excited :D Awesome explanation as always. Love the little soundeffects and clipart. It really adds to the whole!

  • @JP-lr8rr
    @JP-lr8rr 3 ปีที่แล้ว +1

    That was amazing, great editing and very informative. I also love that you do videos where you reverse engineer old games. I heard Pokemon was first written in the Gameboy specific ASM lang and that is just insane. Hope to see more from you. BTW I liked hearing the sound of that old computer. Gained a subscriber today!

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +2

      Most games on the 8-bit consoles, including Gameboy, were completely written in assembler. It is not even that hard, when you gain experience. Laborsome, sure. But then again, you can achieve certain things with surprisingly little amount of assembler code when your entire hardware is designed with that point in mind.

  • @UseQPixinDune
    @UseQPixinDune 3 ปีที่แล้ว +2

    My favourite TH-camr is back at it again and I couldn't be happier!

  • @InakaGames
    @InakaGames 3 ปีที่แล้ว +2

    Jumping in here, just to let you know that I love this content, and that the work you put into Simon's Quest is absolutely transformative in making a definitive edition of the game. Thank you sir!

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +1

      Thank you! I still wish one day I could finish the two big parts I am working on:
      - Changing the town doors visually to close for night & open for day
      - Music for the prologue

  • @sanstevenson
    @sanstevenson 3 ปีที่แล้ว

    I was actually watching one of his old videos when i receive a notification...welcome back.

  • @li82576
    @li82576 3 ปีที่แล้ว

    amazing video! this is exactly the type of content that interests me, especially when it is presented by someone as incredible as you.

  • @LangleyNA
    @LangleyNA 3 ปีที่แล้ว +6

    I first opened a binary around age eight-to-twelve, via a plaintext editor, and was presented with gobbledygook just as you describe. I recall querying Google around 2002 with queries like "how to make an EXE" and "how to make a DLL." Ahahaha.

  • @ancientapparition1638
    @ancientapparition1638 3 ปีที่แล้ว +5

    6:08 Love the mask hahaha

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      Thanks!

  • @Trunkerad
    @Trunkerad 3 ปีที่แล้ว +5

    I already knew all the stuff in this video, but I watched it anyways for the calming computer noises.

  • @stupossibleify
    @stupossibleify ปีที่แล้ว

    Looking forward to some more videos, but in the meantime I'm rewatching some of your earlier uploads

  • @GloriousAssam
    @GloriousAssam 2 ปีที่แล้ว

    Fabulous video, really made it clear, thanks also for the video of your retro PC!

  • @EximiusDux
    @EximiusDux 3 ปีที่แล้ว

    A nice return from the one and only Bisqwit!

  • @Moonify
    @Moonify 3 ปีที่แล้ว

    Glad to have you back. I loves this video, the edition was on point.

  • @user-ep4dr2tu2w
    @user-ep4dr2tu2w 3 ปีที่แล้ว

    So happy to see you back

  • @victorgabr
    @victorgabr 3 ปีที่แล้ว +30

    He is back! We miss you.

    • @user-vn7ce5ig1z
      @user-vn7ce5ig1z 3 ปีที่แล้ว +1

      I was just thinking of him two days ago. Not the biggest coincidence, but a coincidence nonetheless. 🤷

  • @HugRunner
    @HugRunner 3 ปีที่แล้ว +1

    Awesome content as always, just as the creator. Thanks a lot for creating interesting and insightful content! :)

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      Thank you for the kind words!

  • @vibecheck663
    @vibecheck663 3 ปีที่แล้ว +1

    I may not fully understand everything you said, but it has blown my mind and made me appreciate the advancement of modern computers so much more. Thank you for making this!

  • @ChadZeluff
    @ChadZeluff 3 ปีที่แล้ว +17

    Bisqwit, inbetween this video and the last, I built an 8-bit CPU across many breadboards and wrote my own little assembly language for it. The whole process was such an eye-opener. This video was really terrific in solidifying what I learned, thank you :)

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +8

      Congratulations on your endeavor! It sounds like a lot of fun.

    • @trik9464
      @trik9464 3 ปีที่แล้ว

      Thats crazy

    • @ScorieDivine
      @ScorieDivine 3 ปีที่แล้ว +1

      ben eater?

    • @Jack-uc5ly
      @Jack-uc5ly 3 ปีที่แล้ว +1

      wow very impressive! What instructions did you follow to make it?

  • @Filaxsan
    @Filaxsan 2 ปีที่แล้ว +1

    Super interesting, super insightful! Thanks Bisqwit!

  • @AlessandroPacifico
    @AlessandroPacifico 3 ปีที่แล้ว

    Love it. Would have also loved a longer version more in-depth.

  • @danielji2742
    @danielji2742 3 ปีที่แล้ว +1

    The typing game you made, You changed the Dos stub text on it :) I love finding secrets in files.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +1

      Thanks! But there is no DOS stub in it, because the game _is_ a DOS game.

  • @Makos93
    @Makos93 3 ปีที่แล้ว +3

    I love that Tandy ASMR. Thank you for leaving that in!

  • @RicardoRamosRetrocomputacao
    @RicardoRamosRetrocomputacao 3 ปีที่แล้ว +5

    God! This was the first time in my life that I was able to understand a piece of assembly code. Thanks!

  • @zennmyst5347
    @zennmyst5347 3 ปีที่แล้ว

    I love these kinds of videos from you. Simple and understood. That said at some point a hope you do cover NE/PE. Maybe in parts? So its not one long video. Either was thank you for this video.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      If I figure out a way to make it in an entertaining format, I will.

  • @ari_archer
    @ari_archer 3 ปีที่แล้ว +1

    i just found this channel, i love it, it's super relaxing

    • @ari_archer
      @ari_archer 2 ปีที่แล้ว

      omg whoever deleted or repotlrted the scam comment thanks, a group of scammers are stalking me

    • @Bisqwit
      @Bisqwit  2 ปีที่แล้ว

      I did. Nobody is stalking you specifically. This is what I spend 15 minutes doing 3~4 TIMES A DAY nowadays on my channel. th-cam.com/video/YPU4Galm9yk/w-d-xo.html Thanks TH-cam, for doing NOTHING.

  • @PSPBobb
    @PSPBobb 3 ปีที่แล้ว

    Amazing video, everything is so clear and easy to understand, you are an outstanding teacher!

  • @domtuto3570
    @domtuto3570 3 ปีที่แล้ว

    The return of the king 🤴 so happy to watch a new video!

  • @unknown50ct
    @unknown50ct 3 ปีที่แล้ว +1

    You can hear the passion you have for computers. Great content.

  • @inelpandzic
    @inelpandzic 3 ปีที่แล้ว

    Really excellent!! I happen to know this stuff, but still learned new things :D Thanks!

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +1

      Thank you!

  • @ultraenergy313
    @ultraenergy313 3 ปีที่แล้ว

    Glad to have you back

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      You too! :-)

  • @binaryflawgic5713
    @binaryflawgic5713 2 ปีที่แล้ว

    Really apreciated the emulator reference. I vaguely remember that video, but, back then, I thought it was just an emulator, I hadn't realised the "spin“ on it.
    Also you made me realise I probably never tried to open a binary file with a text editor. Windows helped with that. But I have broken many a terminal (emulator) sessions since I started using Linux, by `cat`ing binaries.

  • @rainerzufall5627
    @rainerzufall5627 3 ปีที่แล้ว +2

    Awesome explanation! Thank you for making videos :)

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      My pleasure!

  • @raf.nogueira
    @raf.nogueira 3 ปีที่แล้ว +5

    What is heavily complicated for me to understand is how these assembly programs in 80s and 90s could access video functions to draw things on the screen. I have a huge curiosity on how these binary and hex calculations become the first user interfaces and games inside companies like Atari, Nintendo, the Xerox interfaces and Apple with Macintosh's, etc . WIsh someone could make a video about that....

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +7

      One of my future video plans has actually been to explain how graphics worked in CGA, EGA and VGA (and possibly MDA and Hercules, even though I have not much experience with those).
      As for video game consoles, each of them is a separate case. There already exist videos in TH-cam that explain how graphics work on the 8-bit NES (Nintendo), if you want to look them up.

    • @omfgmouse
      @omfgmouse 3 ปีที่แล้ว +1

      The "Retro Game Mechanics Explained" channel has an absolutely brilliant series of videos on how the SNES works and how it's programmed, if that's not too modern for you :)

    • @raf.nogueira
      @raf.nogueira 3 ปีที่แล้ว

      @@omfgmouse God bless you

  • @hav0x963
    @hav0x963 3 ปีที่แล้ว +22

    This exact question has been in my mind for the last 2 days or so. Can you read minds?
    Whenever I have a question, I can now just pray that god bisqwit will upload his answers.

    • @angelomichel1887
      @angelomichel1887 3 ปีที่แล้ว

      I SURE WILL SIR BECAUSE ENJOY THE STORAGE

  • @PixelOutlaw
    @PixelOutlaw 3 ปีที่แล้ว +1

    One thing you might cover next @Bisqwit is how to actually make and use .so and .dll files. Many C++ programming books just lead the reader to compile simple examples pertaining to syntax and features of C++ but do not expand on what it means to compile a modular reusable library. They are taught that you can include code with your main.cpp file but do not elaborate on the use and creation of shared objects.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +1

      Shared libraries are an operating system level concept, not a language concept. At best, it’s compiler-specific. I might cover that topic at some time, but to be honest I’m not exactly familiar with the details either. Especially when we get to library versioning…

  • @CT--od7ux
    @CT--od7ux 3 ปีที่แล้ว

    Thats A Beauty, Love It, It Is Great To Have You Back, Biqwit

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      Thank You, I Was Never Away Though. Why Are We Starting Every Word With A Capital Letter?

    • @CT--od7ux
      @CT--od7ux 3 ปีที่แล้ว

      cause I Love Writting Like That

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      It causes headache.

  • @jangofett132
    @jangofett132 3 ปีที่แล้ว +1

    fantastic video like always!

  • @applefanXXX
    @applefanXXX 3 ปีที่แล้ว

    I am no closer to understanding but that is certainly not your videos fault. What a great piece of work!

  • @twinkytwinklier4047
    @twinkytwinklier4047 3 ปีที่แล้ว

    4:34
    Computer: old af
    Also computer: *transcendence noises*

  • @justinmohns8279
    @justinmohns8279 2 ปีที่แล้ว

    It was very nostalgic to hear the familiar sounds of a Tandy 1000 trying hard to follow simple instructions. I miss struggling to convince it to play games.

  • @seasidekafka
    @seasidekafka 3 ปีที่แล้ว

    bisqwit is back!

  • @_ch1pset
    @_ch1pset 3 ปีที่แล้ว

    Wow, this was way more involved than I was expecting. I graduated with a Bachelors in Computer Engineering last year(poor timing) and I have actually developed an instruction set architecture from scratch and implemented it in Verilog code AND also ran that on an FPGA AND also ran a program written with that ISA. Very fun projects, I wish the classes weren't so crunched for time. Sadly, I still haven't found a job(actually I have, but I quit because it wasn't what I thought it was) so none of this knowledge has thus far proven practically useful. I'm not trying to discourage anyone from getting a Computer Engineering degree, maybe my bad luck is just due to the pandemic, but also, most companies right now just aren't interested in hiring people that even know what an ISA is. They need front end web developers, and mobile app developers. And those are the exact kind of jobs that I have gotten offers(and have stupidly turned down, but I'm stubborn I know) from.

  • @ilmarinen79
    @ilmarinen79 3 ปีที่แล้ว +2

    I love how much work you put into these videos, they are always quite something to experience. Also the Tandy sounds, oh my :-D

  • @RiteshKudalkar
    @RiteshKudalkar 2 ปีที่แล้ว +1

    This is so fascinating. Can you make another video considering ARM Arch 64, like the one in the new Microsoft Surface or the Apple Macbook Pro? It'll be really interesting to compare the instructions given they have a different OS.

  • @AlanRiosoff
    @AlanRiosoff 3 ปีที่แล้ว

    Estou muito feliz com a notificação do seu vídeo!! Muito obrigado!!! Seu conteúdo é maravilhoso! Saudações do Brasil!

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +1

      Muito obrigado! Apesar de não falar português, agradeço seu comentário!

    • @AlanRiosoff
      @AlanRiosoff 3 ปีที่แล้ว

      @@Bisqwit

  • @CutMeSomeSlackTheVII
    @CutMeSomeSlackTheVII ปีที่แล้ว

    Your desktop layout makes me insanely nostalgic

    • @Bisqwit
      @Bisqwit  ปีที่แล้ว

      You mean the physical desk?

  • @Veso266
    @Veso266 3 ปีที่แล้ว

    You are back, woho
    ah the unfortunate consequence of programming for your daily job is that after you get mentally tired home you cannot do anything more then lay down and sleep, watching you channel history (when you drove a bus you had a lot more time and energy to program at home) but you get more money now so thats a good thing even if the job is a bit more stresful

  • @JarrydHall
    @JarrydHall 3 ปีที่แล้ว

    @5:30, haha what a gentle beast! My ears are still ringing from the CRT though. Please apply a low pass filter in future videos with a CRT, it’s so loud! :)

  • @navjotsingh6930
    @navjotsingh6930 3 ปีที่แล้ว

    Exactly what I needed. Awesome content.

  • @Detyrious
    @Detyrious 3 ปีที่แล้ว +1

    This is fascinating on so many levels. Think about this: You have 8 light bulbs and 8 switches in another room. That plus a lookup table is practically a CPU. Well, since two humans on either end would be involved and the instructions would be executed on paper probably the slowest CPU of all time, but you could send instructions and the other human in the other room could execute them.
    Now think about this a bit more. Think about your smartphone and all the incredible things it can do: render 3D graphics, connect wirelessly to the internet, snap high resolution images (and even edit them in real time) and many many more. Now.. think about, that all these things are fundamentally possible because of simple switches. If some decades ago you pointed at a electric switch and said: "Some day these switches will enable us to fly to the moon." you would be called crazy. Even today, if you told most people that their phones and computers work with billions of switches and not much else (okay, very simplified), they would'nt believe it. Now, for all the god-beleivers: Does your computer die, when you turn it off? Does it have a soul? Most would say 'no'. So why should a human have a soul? If you see what incredible complex things can be made from a lot of simple things, don't you begin to question that humans are nothing else? A machine run by billions and trillions of very small machines which run on relativly simple, chemical and physical rules.
    Maybe it's just me, but the technical advancements of the last years have shown me one thing: We are not as special as we think and complexity is created from simplicity. Food for thought.
    Sorry for my bad English, it's not my first language.

  • @Project2100
    @Project2100 3 ปีที่แล้ว +1

    Hi Bisqwit, I have a curiosity: have you ever worked with screensavers?
    I just finished constructing a working prototype, and among my first discoveries are that a screensaver is actually a Windows executable, and that its entry point is predefined inside a static library (ScrnSave.lib, specifically). Programming one from scratch has been proven to be challenging in unusual ways.
    Many blessings to you too 🙏.
    P.S.: A friend of mine recently built an 8086 computer on a breadboard; he's going to love this.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +1

      I have not worked on screensavers for Microsoft® Windows® other than that noticed that they are essentially EXE files.

  • @voxbine4005
    @voxbine4005 3 ปีที่แล้ว

    A day ago i saw yur channel searching new videos, now i wake up and i have new video, everything is conected.

  • @oxey_
    @oxey_ 3 ปีที่แล้ว

    You have a blessed day as well, great video! :)

  • @trinidad17
    @trinidad17 3 ปีที่แล้ว +1

    10:47 I see you are like living in the edge without parking your HD before turning it off.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      There is no parking utility on this computer that I am aware of.

  • @FlipJanson_
    @FlipJanson_ 3 ปีที่แล้ว

    Great video as always 👍

  • @onthecodeagain
    @onthecodeagain 3 ปีที่แล้ว

    Nice to see you on the code again ;)

  • @95vinoth
    @95vinoth 3 ปีที่แล้ว

    Amazing video. I think if you go even more deeper those instructions are converted into high (on) and low voltage signals(off) and are passed to numerous logical gates during execution.

  • @efa666
    @efa666 3 ปีที่แล้ว +2

    There are no numbers, just fields of varying voltages, the numbers only exist in our realm of perception.

    • @aaleeksii
      @aaleeksii 3 ปีที่แล้ว

      Very well said. Tickles my nerd-senses. I hope this comment gets traction

  • @Thinzy
    @Thinzy 3 ปีที่แล้ว +1

    he's returned, blessed be this day

  • @joandominguez1199
    @joandominguez1199 3 ปีที่แล้ว

    Excellent video as always.

  • @panupentikainen953
    @panupentikainen953 3 ปีที่แล้ว

    Kiitos tästäkin videosta!
    8086:n valtakaudella assembler oli vielä ulkoa opittavissa. 386 toi hirveän määrän lisää rekistereitä ja mahdollisuuksia - alkoi mennä liian monimutkaiseksi mulle, joten vaihdoin C:hen. AMD64 on jo sellainen himmeli, että on turvallisinta jättää assembler-koodaus harvoille ja valituille erikoishenkilöille. :) Onneksi konetehot ovat nykyään sillä tasolla, että tavallisia ohjelmia ei tarvitse lähteä suunnittelemaan binäärikoodia vääntäen.

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว +1

      Kiitos! Joo, assembler-koodausta tarvitsee nykyään tosi vähän x86:lla. Lähinnä sellaiset tapaukset, missä SIMDistä on hyötyä, tarvitsevat usein asmia, koska kääntäjät ovat vieläkin aika heikkoja optimoimaan SIMDiä tehokkaasti, ja intrinsiceissäkin on toisinaan ongelmia.

  • @Pedritox0953
    @Pedritox0953 3 ปีที่แล้ว

    Wonderful video!!

  • @Sandvich18
    @Sandvich18 3 ปีที่แล้ว

    I wouldn't be exaggerating if I said this video was the highlight of my weekend. Thank you, Bisqwit!!

  • @nimcompoo
    @nimcompoo 3 ปีที่แล้ว

    Oh hello there bisqwit, it's so nice to meet you again. Hope you are doing fantastic. 😀

    • @Bisqwit
      @Bisqwit  3 ปีที่แล้ว

      Hello Aanjishnu! Indian names are always so mystifying.

  • @17TheVIP
    @17TheVIP 3 ปีที่แล้ว

    Wow man you came back :)

  • @syproful
    @syproful 3 ปีที่แล้ว

    These days we are so high in the tree. I love to go back to the basics. Maybe you could do a video on the different architectures, and instruction sets they have. And how they can all run Windows or linux in the end.

  • @seanjackson6474
    @seanjackson6474 3 ปีที่แล้ว

    My favorite TH-camr is back

  • @Whowhennowme
    @Whowhennowme 3 ปีที่แล้ว +1

    Beautiful video, thumbs up 👍

  • @maxmuster7003
    @maxmuster7003 3 ปีที่แล้ว

    Not all bytes of a mashine code are visible as an ASCII, but with a group of 8 bits, or as a hexadicimal value for example. The hexadicimal value of one byte is divided into 4 bits with the high nibble and 4 bits with the low nibble of a byte. And the bytes can combined together to build a 16 bit or 32 bit or 64 bit, ....value depending on the instructions of the mashine code. Some bytes are a part of the instructions and some other bytes can contain a table with simple values for a routine.

  • @xmvziron
    @xmvziron 2 ปีที่แล้ว

    Love the Papers, Please sound effects!