Тёмный

What were XMS, EMS and Conventional memory and why did the PC have them? 

Timberwolf
Подписаться 4,9 тыс.
Просмотров 2,9 тыс.
50% 1

What was all that talk of memory managers and AUTOEXEC.BAT boot menus about? How would an 8MB 486 fail to run a game which worked fine on a 1MB 286? Why was EMM386.EXE definitely not on Ultima 7's Christmas card list? And why does your friend have digitised sound on that game when you do not, even though you both have the same soundcard?
It's #doscember , and so time to delve into one of those questions of DOS that I never quite understood: what were EMS and XMS, and how could I have the wrong sort of memory?
The DOS/Dos joke was done better (and earlier) here: • A Bad Education Review... . Maybe it'll become a tradition or something.
Memory map:
0:00 A premise of sorts
0:52 5150
2:16 Pinhead
3:46 That segment thing
5:18 Where 640K came from
8:35 The 80286 arrives
10:05 Popcorn
11:00 Where EMS came from
11:43 Bank switching
13:57 Where XMS came from
15:23 Emulation
16:13 Precious conventional memory
17:50 HMA and the A20 gate
18:55 DOS wars
21:22 Better DOS and making memory
22:54 Boot disks and menus
23:32 DOS/4GW and that
Media credits:
Installation floppy disks (3.5-inch) for Microsoft MS-DOS 6.22 image by Blake Patterson from Alexandria, VA, USA, CC-BY 2.0
Raystown Lake, Huntington and Lititz trip image by Bob, CC-BY 2.0
Some CC-0 sounds used from Freesound
Some CC-0 and public domain images used from Wikimedia Commons
Stock footage from Pexels
Some stock imagery from Pixabay
CC-BY 2.0: creativecommons.org/licenses/...
Bonus fact: that 286 shown inexplicably on the floor of a very, very messy room was also later a 486/100, then eventually a K6/200 until lack of availability of AT motherboards supporting modern sockets forced me to finally buy a new case. I also did, eventually, tidy my room.
#doscember #⁠doscember2023

Наука

Опубликовано:

 

6 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 34   
@TheRasteri
@TheRasteri 8 месяцев назад
"segmented addressing just isn't complicated enough, what if we made it even worse?"
@maxmuster7003
@maxmuster7003 8 месяцев назад
In the 16 bit BIG Real Mode we can set the DS segment register pointing to our data segment (nothing special), but together with using a 32 bit offset register in combination we can address every memory location in the 4 gb address space from the 16 bit BIG Real Mode.
@TheSwillMan
@TheSwillMan 6 месяцев назад
wow. this might be the most detailed RU-vid video about DOS memory management that currently exists, not that there's much competition. what an absolute mess.
@Soundole
@Soundole 7 месяцев назад
A lot of the gaming experiences of my youth make much more sense now, thank you! I remember receiving an Ultima Collection for Christmas one year (when we were running Windows 98), and getting VII to run was practically impossible! What a fascinating era of tech history!
@mogwaay
@mogwaay 8 месяцев назад
Wonderful! And the first time I've heard a decent explanation of DOS=HIGH,UMB kinda means, splendid!
@vfigplays
@vfigplays 8 месяцев назад
“then we replaced it with getting your svga card to work.” ouch! timberwolf, you are too good at digging up all the suppressed trauma! although i lived through the config.sys-fiddling, bootdisk-juggling glory days between dos 3.3 and 6.22, i never understood any of the differences between high memory, upper memory, expanded memory, extended memory, or springy stretchy memory. so in my own programming, 640kB +video ram simply had to be enough. thanks for the explainer! i am still confused by it all, but i think thats now just because it is all needlessly complicated and thankfully past!
@TimberwolfK
@TimberwolfK 8 месяцев назад
One of the saving graces having a Trident 8900 was it being so common everything I played in the day detected it just fine. Painfully slow once it was detected, mind, but at least it worked...
@leonardocastro742
@leonardocastro742 8 месяцев назад
Really good video made laugh several times. With really good information for those of us trying to understand how was in the good old days.
@zzco
@zzco 2 месяца назад
Originally it was a "barrier", but later on it became more of a "rail". Basically don't whizz on the third rail. You could use everything ABOVE 1MB just fine, but between 640K and 1MB was "reserved for future expansion".
@tmuiuocrndqs
@tmuiuocrndqs 8 месяцев назад
Said Timberwolf, as he was floating under a balloon near the memory tree: “I think that the memory suspects something!” “What sort of thing?” “I don’t know. But something tells me that it’s suspicious!” “Perhaps it thinks that your game doesn’t use it.” ... “I have just been thinking, and I have come to a very important decision. This is the wrong sort of memory.” “Is it?” “Quite the wrong sort. So I should think it wouldn’t work, shouldn’t you?” “Should I?” “Yes. So I think I shall come down.”
@RetroTinkerer
@RetroTinkerer 7 месяцев назад
Good times indeed... I can't hardly remember how I got around the first time a DOS game asked for certain version of VESA video. I cheated a lot using QEMM386 before memmaker was bundled with MS-DOS so I never got around understanding what the hell were any of this memory stuff. So thanks for sharing this video!
@TimberwolfK
@TimberwolfK 7 месяцев назад
QEMM was one of thoe things I missed out on - I never had a computer powerful enough to take advantage of it until long after MS-DOS 6.22 was ubiquitous.
@armorgeddon
@armorgeddon 8 месяцев назад
Awesome video! Even three of my favorite games are shown in it :-) Since my IT education in school only started in mid-1995 I had no clue about the possiblity of creating a boot menu, so I ended up with 5 boot disks to make all my games run on my 486. Well not *all* of my games since one of my favorites, conincidently Digger (still awesome!), would run way to fast to play on even my dad's 12 MHz 386 NEC laptop. When I tried that it was the first time in my life that I realized backward compatibility was an issue even on PC. One of the reasons I kept one of the 8088 systems from our broader family in my possession until today (Atari PC3) like every other PC I owned afterwards. I knew your channel before, but I've now subscribed, since your content is high quality stuff! Thanks very much!
@ekho_viktor
@ekho_viktor 8 месяцев назад
Really interesting! I'm too young to have experienced the DOS days so this is all very curious to me... Glad things are simpler now! 😅 Also smooth transition from the NFS Pioneer logo back to you; that was clever
@maxmuster7003
@maxmuster7003 8 месяцев назад
On 80386+ (32 bit CPU) the only one difference between the 32 bit mode and the 16 bit mode is the usage of instructions with or without an operand size (66h) and with or without an address size (67h) prefix. In the 16 bit mode we have to use these prefixes for 32 bit and in the 32 bit mode for 16 bit instructions. That means in the 16 bit protected mode we have larger segment sizes in the global descriptor table of an 80386+, so we can address 4 gb memory in 16 bit protected mode too. In the 16 bit Real Address Mode of MS DOS we can use 32 bit operands/register with instructions and a operand size prefix(66h).
@RegularOldDan
@RegularOldDan 8 месяцев назад
Oh. I had completely forgotten I used to deal with all of this. So glad I don't need to think about this any more.
@TimberwolfK
@TimberwolfK 8 месяцев назад
I must admit, it's a lot less of a bother with modern emulation, where throwing in an extra 4MB or upgrading to a more capable BIOS is only a few clicks away rather than six months of solid saving paper round money...
@stevec00ps
@stevec00ps 8 месяцев назад
Great video! :) Although I can still create customised boot menus to do all this, I forget what it was all doing behind the scenes!
@khajrane
@khajrane 8 месяцев назад
As a die hard motorola 68k enjoyer that was thoroughly entertaining and educating video. Ao THAT is why the 640k...
@TimberwolfK
@TimberwolfK 8 месяцев назад
I remember messing about a bit with them at University and they had such a nice assembler - all those logical registers! Although even there, you had the "nobody will ever use the top 8 bits of the address register, right?" issue ..
@watchm4ker
@watchm4ker 5 месяцев назад
The 68K had its own share of Bus Errors. That seriously hamstrung it, and by the time it was fixed, the x86 was already established.
@evilmiera
@evilmiera 8 месяцев назад
Oh man, conventional memory and the like, I remember having to ask my uncle who built my first PC how to set that up so I could run Cannon Fodder.
@Yesterzine
@Yesterzine 8 месяцев назад
Recognised Need for Speed instantly Crew represent.
@TimberwolfK
@TimberwolfK 8 месяцев назад
It's the little-known EA/Pioneer title, The New Fish Simulator actually.
@1981patx
@1981patx 8 месяцев назад
Nice one, thanks :)
@tom23rd
@tom23rd Месяц назад
Wow, someone who actually knows what he's talking about 🥰 no one ever mentions the undocumented 286 calls 🎉 subbed bc i was there, too 😅
@Momentvm
@Momentvm 8 месяцев назад
Now that's a great video. These days programming is relatively easy. Guys and gals who programmed DOS era PCs were just built different to deal with this segmented nonsense and zero process isolation and protection features.
@SianaGearz
@SianaGearz 7 месяцев назад
I used QEMM back in the day a fair bit, it seemed to work a little better than Memmaker. Why actually, what was special about it?
@TimberwolfK
@TimberwolfK 7 месяцев назад
Interesting question. I noticed while playing around with Memmaker that it struggled on the most aggressive settings to produce a stable configuration, which limited me to around 610-620K (which I think is about where my 486 with CD-ROM and soundcard also topped out in the day). Possibly Quarterdeck did more testing and had some smarter approaches at the limit to move the last few reluctant things into UMBs.
@supercellex4D
@supercellex4D 2 месяца назад
Good video except for one problem XENIX IS NOT LINUX. Xenix is a sublicensed version of AT&T Unix because AT&T was under antitrust limitations. Linux is a kernel licensed under GPLv2. actually i think it was pronounciation, he did say Xenix it just sounded like Linux
@TimberwolfK
@TimberwolfK 2 месяца назад
I thought I clearly pronounced Unix at 10:01 and the subtitles also show "Unix variant", where did you get Linux from?
@supercellex4D
@supercellex4D 2 месяца назад
@@TimberwolfK "A version of Microsoft's own Unix variant, Linux" Microsoft never touched the Linux kernel in the 80s, that's because it didn't exist. MS only got involved in Linux today with Azure, WSL and various projects within FreeDesktop.
@TimberwolfK
@TimberwolfK 2 месяца назад
Hmm, I definitely hear that as "Xenix" (and it's in the subtitles). ETA: ah, I see you've noticed the same. Unfortunate with all those OS names not a million miles from each other!
Далее
The Clever Way to Count Tanks - Numberphile
16:45
Просмотров 757 тыс.
The History of QBASIC and my history with it
29:48
Просмотров 8 тыс.
Иран и Израиль. Вот и всё
19:43
Просмотров 1,5 млн
Why The Windows Phone Failed
24:08
Просмотров 274 тыс.
What is the Smallest Possible .EXE?
17:57
Просмотров 340 тыс.
The Evolution of the Operating System
27:27
Просмотров 167 тыс.
The Top 10 Worst Operating Systems of All Time
25:40
Просмотров 704 тыс.
38911 Bytes Free? Commodore 64's BASIC RAM
29:57
Просмотров 38 тыс.
КРАХ WINDOWS 19 ИЮЛЯ 2024 | ОБЪЯСНЯЕМ
10:04
How to Soldering wire in Factory ?
0:10
Просмотров 13 млн
КРАХ WINDOWS 19 ИЮЛЯ 2024 | ОБЪЯСНЯЕМ
10:04