- 25
- 47 332
chill runs
United States
เข้าร่วมเมื่อ 10 ม.ค. 2022
CI desktop notifications (Hydra/Nix, neomutt/Maildir, notmuch/notifymuch) (dev stream 2024.1)
Working on getting notifications on the workstation whenever a CI build job finishes.
มุมมอง: 92
วีดีโอ
Operating system development: profiling and timing (dev stream 2023.4)
มุมมอง 136ปีที่แล้ว
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)
มุมมอง 58ปีที่แล้ว
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)
มุมมอง 149ปีที่แล้ว
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
มุมมอง 103ปีที่แล้ว
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
มุมมอง 264ปีที่แล้ว
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
มุมมอง 439ปีที่แล้ว
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
มุมมอง 25K2 ปีที่แล้ว
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
มุมมอง 1032 ปีที่แล้ว
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
มุมมอง 8K2 ปีที่แล้ว
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
มุมมอง 3792 ปีที่แล้ว
Realms of Chaos stream (Apogee, 1995, DOS) with commentary
x86 assembly language for MS-DOS: Hello, world
มุมมอง 10K2 ปีที่แล้ว
x86 assembly language for MS-DOS: Hello, world
Solar Winds gameplay with commentary (Epic MegaGames, 1993, DOS)
มุมมอง 1.1K2 ปีที่แล้ว
Solar Winds gameplay with commentary (Epic MegaGames, 1993, DOS)
Tyrian (Epic MegaGames, MS-DOS, 1995) gameplay with commentary
มุมมอง 772 ปีที่แล้ว
Tyrian (Epic MegaGames, MS-DOS, 1995) gameplay with commentary
Bio Menace (Apogee, MS-DOS) live gameplay stream with commentary
มุมมอง 772 ปีที่แล้ว
Bio Menace (Apogee, MS-DOS) live gameplay stream with commentary
Classic MS-DOS games stream: Robomaze, Robomaze II, Robomaze III
มุมมอง 2122 ปีที่แล้ว
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
Blaster Master long play, no deaths, real NES.
มุมมอง 672 ปีที่แล้ว
Blaster Master long play, no deaths, real NES.
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.
I love how simple COM format is.
Programming languages were incomprehensible, then I saw Assembly. It's the only one that makes sense to me.
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
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.
2024… Starfield stole their ship control design from this game. Take that algorithm
I dunno what the fuk your talking about minabytes that is a modern term so your video is all wrong and stupid
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!"
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.
I had to make a DOS emulator a while back the DPMI system (INT 31h) I found pretty interesting.
I like the mod music in the background.
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!!!
@2:02 I swear it sounds like you're saying 'meba byte'.
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
You made all that sound quite straight forward and approachable which is saying something when you're introducing assembly!
I want to write an OS that sits atop MS-DOS that runs on ELF, similar to how Windows 3 uses NE. Lol.
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.
You keep talking in past tense but they are megabytes if you are speaking in past tense.
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.
When I worked on my first PC, knowing it could have 640k of RAM, it seemed, and it was, an inexhaustible ocean of RAM.
"You are more ugly!"
QEMM
That was great, thank you!
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.
If i remember correctly one can generate COM files with the DOS debugger, too. No need for an assembler 😊
Dr. DOS was VAASTLY superior to CRAP DOS, and EVIL M$ tactics destrpyed it! .....NO FORGIVENESS!!!!!!!! EVIL EVIL EVIL EVIL!!!!!!!!!!!!!!!!!!!!!!!!!
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.
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.
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
Best game ever so nostalgic
8:45 "Extended Memory - XMS maps extended RAM to UMBs". What UMBs does XMS use? or does it use conventional memory?
Mebibyte... Ugh.
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
Is the code published somewhere?
this is a great video, subscribed
This is awesome, I look forward to seeing much more.
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.
Do you have a GitHub page?
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?
Nobody who used a computer in that time would call a megabyte "mibibyte".
I used computers then and called it a megabyte at that time. I use computers now and chose the term mebibyte in this video.
@@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?
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.
the good old days of messing with autoexec.bat and config.sys to to free up memory to maybe run a game
You just have to know your config.sys and autoexec.bat files.
"We'll never need more than 640K " - some guy that was completely wrong.
if you're referring to Bill Gates, there's no evidence that he ever actually said that
ms tres
To get Falcon3.0 with expansion packs running.. you needed to know all this shiet in this video - front and back.
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.
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.
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.
Bah humbug, I think no one needs more than 64k 😂
The music goes hard
no, el 8088 es una variante del 8086, mas economica, el 8086 es de 1976 y el 8088 es de 1979
Talk about a blast from the past! When I was a teenager (pre-internet), I remember fighting with DOS and reading deep into manuals to squeeze out every free byte of RAM for my games. It could be quite intricate, and it took a while. It was almost like a game itself to find the right combinations.
I agree it felt like dark wizard magic. Now I just use some configuration files from Phils computer lab. It was finally able to get some games working I never did.