chill runs
chill runs
  • 25
  • 48 113

Відео

Operating system development: profiling and timing (dev stream 2023.4)
Переглядів 139Рік тому
I created an ELF/DWARF parser, so we can now accurately profile the CPU in static functions. Originally aired on Twitch on 2023-08-08. www.twitch.tv/chill_runs. I'm trying to do these every Tuesday and/or Thursday.
Operating system development: profiling and timing (dev stream 2023.3)
Переглядів 59Рік тому
Following up on last week's stream, we used the now working IP sampler to profile a running program. Then we grouped the results by subroutine using OpenWatcom's map files as a symbol table. We'll need to do some more work to accurately profile functions with static linkage.
Operating system development: profiling and timing (dev stream 2023.2)
Переглядів 155Рік тому
A lot of core features are feeling stable now, so I'm turning my attention to some performance optimization. In particular, things are slow on IBM XT class systems. I roughed out a profiler using the 8088 single step interrupt, tried a couple different approaches to storing the data, and ruled out a couple ideas. After this session, I abandoned the idea of saving files. For now, the profiler wi...
StarTropics 2 ROM hacking stream
Переглядів 108Рік тому
My friend and I were talking about the annoying low health beep in this game. I decided to disable it for them and streamed the investigation and hack. Originally aired on my Twitch channel: www.twitch.tv/chill_runs
Blaster Master ROM hacking/disassembly stream 2023-06-15
Переглядів 272Рік тому
More disassembly of Blaster Master for the NES. In this stream, I started looking into the code that controls enemy behaviors. Originally aired on my Twitch channel: www.twitch.tv/chill_runs
Introducing my own retro x86 operating system. Dev stream 2023.1
Переглядів 449Рік тому
I've been working on my own 16-bit real mode x86 operating system. It targets CPUs back to the 8088 and hardware back to the IBM XT. I've been working on it for about a year now and am ready to stream some development. Originally aired on my Twitch channel: www.twitch.tv/chill_runs
MS-DOS Memory Management on x86
Переглядів 25 тис.2 роки тому
I review the history and evolution of memory management in MS-DOS on x86 PC architecture. 0:00 Introduction/terminology. 0:53 Origins of MS-DOS. 1:33 8086, 80286, 80386 memory model. Real/protected modes. 3:17 PC address space. DOS address space and memory terminology. 6:46 Expanded memory. 8:26 Extended memory. 10:18 DOS Extenders. 11:35 Microsoft moves to Windows. 12:21 Conclusion.
Paganitzu stream (Apogee, 1991, DOS) with commentary
Переглядів 1042 роки тому
I play through Paganitzu Part 1: Romancing the Rose. I enjoyed revisiting this top down action/puzzle game.
Debugging assembly language with MS-DOS DEBUG
Переглядів 8 тис.2 роки тому
I do a demonstration of writing and debugging x86 assembly language code using the MS-DOS debug utility. 00:00 Introduction/prerequisites 02:05 Launching DOS debug 02:35 Getting help 02:56 Showing CPU state and the next instruction 04:38 Quick intro to assembling and running code 05:50 Command argument types. Displaying and changing memory 11:42 Assembling code 12:33 Running code. Breakpoints 1...
Realms of Chaos stream (Apogee, 1995, DOS) with commentary
Переглядів 3902 роки тому
Realms of Chaos stream (Apogee, 1995, DOS) with commentary
x86 assembly language for MS-DOS: Hello, world
Переглядів 11 тис.2 роки тому
x86 assembly language for MS-DOS: Hello, world
Solar Winds gameplay with commentary (Epic MegaGames, 1993, DOS)
Переглядів 1,2 тис.2 роки тому
Solar Winds gameplay with commentary (Epic MegaGames, 1993, DOS)
Tyrian (Epic MegaGames, MS-DOS, 1995) gameplay with commentary
Переглядів 782 роки тому
Tyrian (Epic MegaGames, MS-DOS, 1995) gameplay with commentary
Bio Menace (Apogee, MS-DOS) live gameplay stream with commentary
Переглядів 842 роки тому
Bio Menace (Apogee, MS-DOS) live gameplay stream with commentary
Classic MS-DOS games stream: Robomaze, Robomaze II, Robomaze III
Переглядів 2262 роки тому
Classic MS-DOS games stream: Robomaze, Robomaze II, Robomaze III
Super Ghouls 'n Ghosts SNES long play, professional difficulty, loop 1, no deaths
Переглядів 262 роки тому
Super Ghouls 'n Ghosts SNES long play, professional difficulty, loop 1, no deaths
Gradius long play, no deaths, real NES
Переглядів 132 роки тому
Gradius long play, no deaths, real NES
Blaster Master long play, no deaths, real NES.
Переглядів 712 роки тому
Blaster Master long play, no deaths, real NES.

КОМЕНТАРІ

  • @SnipE_mS
    @SnipE_mS 24 дні тому

    I remember not having any idea what to do in this game as a kid. Granted, I had no clue what an RPG was at the time.

    • @mollymesita7755
      @mollymesita7755 8 днів тому

      Glad it wasn't just me HAHA

    • @SnipE_mS
      @SnipE_mS 8 днів тому

      @ for sure! I always got shareware disks from a local electronics store and they would sometimes have a couple games on it. I remember loading it up and being impressed with the animations and stuff like that but then just flying around and trying to shoot things

  • @martingeorgiev999
    @martingeorgiev999 Місяць тому

    I love how simple COM format is.

  • @theJellyjoker
    @theJellyjoker 2 місяці тому

    Programming languages were incomprehensible, then I saw Assembly. It's the only one that makes sense to me.

  • @corygiesbrecht5423
    @corygiesbrecht5423 2 місяці тому

    I am currently playing this on my handheld. I janked the controls to Dpad being up and down and the buttons diagonal movement. So fun

  • @DaimlerSleeveValve
    @DaimlerSleeveValve 3 місяці тому

    No mention of how DOS keeps track of blocks of RAM - there is a 16-byte area in front of each allocated chunk, with links forward and backward to the next and previous allocations. Being in real mode, any program can follow these links and work out what else is going on in the machine.

  • @dthomaswilliamson33
    @dthomaswilliamson33 4 місяці тому

    2024… Starfield stole their ship control design from this game. Take that algorithm

  • @pikadroo
    @pikadroo 4 місяці тому

    I dunno what the fuk your talking about minabytes that is a modern term so your video is all wrong and stupid

  • @vanhetgoor
    @vanhetgoor 4 місяці тому

    A wise man once said: "640 kB or memory should be enough for everybody!" A wise man said: "I'll be glad to accept the invitation to your island Mr. Epst**n!"

  • @briansmith2739
    @briansmith2739 4 місяці тому

    I remember playing this Shareware on a Demo disk, "250 Dos games," when I was a kid. This was one of the first computer games I played on Windows 95 back in 1996.

  • @greggoog7559
    @greggoog7559 5 місяців тому

    Disqualified for actually saying (!) "MibaBytes" or something

  • @jaysistar2711
    @jaysistar2711 5 місяців тому

    I had to make a DOS emulator a while back the DPMI system (INT 31h) I found pretty interesting.

  • @jaysistar2711
    @jaysistar2711 5 місяців тому

    I like the mod music in the background.

  • @ioluuni9890
    @ioluuni9890 5 місяців тому

    I'm a university student, who struggle to learn this topic, and this video was extremely helpful. thank you very much for putting so much effort into it!!!

  • @Lardzor
    @Lardzor 5 місяців тому

    @2:02 I swear it sounds like you're saying 'meba byte'.

  • @unknownXYZchris
    @unknownXYZchris 5 місяців тому

    mebibyte ??? 👎👎👎 perhaps somehow correct, but well, this crazy wording was invented for people who cannot get their mind around that 1kb are 1024 bytes and not 1000 bytes

  • @bernieman9016
    @bernieman9016 6 місяців тому

    You made all that sound quite straight forward and approachable which is saying something when you're introducing assembly!

  • @zzco
    @zzco 6 місяців тому

    I want to write an OS that sits atop MS-DOS that runs on ELF, similar to how Windows 3 uses NE. Lol.

  • @AhmedAzhad
    @AhmedAzhad 6 місяців тому

    Your content is super accurate. But are you using voice changers or robotic voice - it is so boring to listen to it - so many times turned off the video.

  • @ninjazhu
    @ninjazhu 6 місяців тому

    You keep talking in past tense but they are megabytes if you are speaking in past tense.

  • @az09letters92
    @az09letters92 6 місяців тому

    You completely forgot to mention unofficial "unreal" mode, where you first switch the CPU to protected mode, extend the segments to 4GB and switch back to real mode. Boom, you can now access full 4GB of RAM from real mode, with real mode DOS, drivers, TSRs, etc. all functioning normally.

  • @grandrapids57
    @grandrapids57 6 місяців тому

    When I worked on my first PC, knowing it could have 640k of RAM, it seemed, and it was, an inexhaustible ocean of RAM.

  • @Nickelodeon81
    @Nickelodeon81 7 місяців тому

    "You are more ugly!"

  • @Taras-Nabad
    @Taras-Nabad 7 місяців тому

    QEMM

  • @NickFletcher-gb9ne
    @NickFletcher-gb9ne 7 місяців тому

    That was great, thank you!

  • @johng.1703
    @johng.1703 7 місяців тому

    I remember back in the day having a 20MB 386 that was tricked out, and having to have a multiple choice config / autoexec depending on what I needed as I didn't have enough base / umb / himem to get all of the drivers in and be able to run a half decent dos game. one config also had a 16MB ram drive that copied games I would play into it and run the game from ram. it was a long copy time, but games ran fast.

  • @arturwiebe7482
    @arturwiebe7482 7 місяців тому

    If i remember correctly one can generate COM files with the DOS debugger, too. No need for an assembler 😊

  • @stevenbliss989
    @stevenbliss989 7 місяців тому

    Dr. DOS was VAASTLY superior to CRAP DOS, and EVIL M$ tactics destrpyed it! .....NO FORGIVENESS!!!!!!!! EVIL EVIL EVIL EVIL!!!!!!!!!!!!!!!!!!!!!!!!!

  • @zerobyte802
    @zerobyte802 8 місяців тому

    The worm reverse code appears to be: Compare obj-velocity-x with “direction to Jason” (stored in $01) the EOR is a quick way to see if the signs match or not. BPL decides no reverse (bit 7 matches - ie the worm is going towards Jason) Then the reverse code is: Set velocity to F (going right) If vector to Jason (LDX $01) is left, then negate. Store result in obj-velocity-x.

  • @zerobyte802
    @zerobyte802 8 місяців тому

    Do you have the commented disassembly posted on GitHub or anything like that? I’d be happy to contribute my own findings. I’m interested in poking through the audio engine and music pattern data.

  • @Irvin700
    @Irvin700 8 місяців тому

    This is pretty cool! I just got into 8086 - 80486 era and memory management of the 1MB barrier in real mode and protected mode. If only I was more into it when I was younger lol

  • @Rare.99
    @Rare.99 9 місяців тому

    Best game ever so nostalgic

  • @magnum333
    @magnum333 10 місяців тому

    8:45 "Extended Memory - XMS maps extended RAM to UMBs". What UMBs does XMS use? or does it use conventional memory?

  • @roop5318
    @roop5318 11 місяців тому

    Mebibyte... Ugh.

  • @sundhaug92
    @sundhaug92 11 місяців тому

    1:58 you forgot the 186 2:33 the 286 was only mostly compatible, it didn't roll over at the 1MB limit like the 8086/8088 and 186, which is why the A20 gate was needed 3:00 the 386 can run real-mode apps in protected mode using virtual 8086 mode

  • @tetsuoshiva
    @tetsuoshiva Рік тому

    Is the code published somewhere?

  • @enirya
    @enirya Рік тому

    this is a great video, subscribed

  • @adamdnewman
    @adamdnewman Рік тому

    This is awesome, I look forward to seeing much more.

  • @BlackEpyon
    @BlackEpyon Рік тому

    The difference between the 8086 and 8088 is that the 8086 has 16 of it's address pins duplexing as data pins, while the 8088 only has 8 of them duplexing as data pins, but they are otherwise identical. This means that the 8086 is capable of accessing it's memory 16-bits at a time instead of 8-bits like the 8088. What I'm curious about is whether or not any motherboards actually implemented this. Given that the 8086 was more popular among business-oriented machines, I'm guessing somebody did, but I'm not familiar with any specifically.

  • @CostumeJewelryHome
    @CostumeJewelryHome Рік тому

    Do you have a GitHub page?

    • @chillruns6221
      @chillruns6221 Рік тому

      I generally use self-hosted git repositories, except for when I fork others' projects. Why do you ask? Are you looking for anything in particular?

  • @skagon_
    @skagon_ Рік тому

    Nobody who used a computer in that time would call a megabyte "mibibyte".

    • @chillruns6221
      @chillruns6221 Рік тому

      I used computers then and called it a megabyte at that time. I use computers now and chose the term mebibyte in this video.

    • @skagon_
      @skagon_ Рік тому

      @@chillruns6221 How about you get back in touch with reality and stop using idiotic made-up crap that were meant to fix a problem that never existed?

  • @dmac7128
    @dmac7128 Рік тому

    From my experience the memory area above 640 Kb was only available as RAM when a memory manager program like 386MAX or QEMM was installed. DOS 5.0 and higher has a similar memory manager included. Plus you could only do this on a 386 or higher CPU. There were some DOS games that needed this because they needed 600 Kb+ of RAM to run. These memory manager programs also supported the EMS memory interface in software by reserving a 64 Kb UMB area. They also scanned the entire upper memory area to map all free UMB's which included unused areas that were reserved for the system BIOS Typically these programs would load device drivers and TSRs into these recovered UMBs.

  • @Erlisch1337
    @Erlisch1337 Рік тому

    the good old days of messing with autoexec.bat and config.sys to to free up memory to maybe run a game

  • @iwanttocomplain
    @iwanttocomplain Рік тому

    You just have to know your config.sys and autoexec.bat files.

  • @CameronHuff
    @CameronHuff Рік тому

    "We'll never need more than 640K " - some guy that was completely wrong.

    • @shallex5744
      @shallex5744 6 місяців тому

      if you're referring to Bill Gates, there's no evidence that he ever actually said that

  • @assholeyeng
    @assholeyeng Рік тому

    ms tres

  • @pelimies1818
    @pelimies1818 Рік тому

    To get Falcon3.0 with expansion packs running.. you needed to know all this shiet in this video - front and back.

  • @schifoso
    @schifoso Рік тому

    The first KB was not occupied by the BIOS. It was RAM and was the BIOS Data Area (BDA); the values were populated by the BIOS. The first KB was actually the Interrupt Vector Table (IVT), then came BDA values for items such as COM/LPT port addresses, memory size, keyboard buffer, soft reset behavior, etc. MS-DOS boot sector would load initial code to 0:7C0, and would use 70:0 as the DOD data area.

    • @chillruns6221
      @chillruns6221 Рік тому

      I don't go into that level of detail in the video, but had intended all those things, not only BIOS code, to be included in what I call BIOS. What you say is true, of course. Thank you for specifying.

    • @AK-vx4dy
      @AK-vx4dy 5 місяців тому

      I still rember doing multiconfig on clients computer so they choose according type of memory for specific game or application. I was also quite good (better than memmaker) in fitting drivers and dos in high memory.

  • @supercompooper
    @supercompooper Рік тому

    Bah humbug, I think no one needs more than 64k 😂

  • @megarollxrgmbroadcasting91

    The music goes hard

  • @8088argentina
    @8088argentina Рік тому

    no, el 8088 es una variante del 8086, mas economica, el 8086 es de 1976 y el 8088 es de 1979