Good stuff Al and thanks for the shoutout! Glad my BIOS ramblings were useful to someone 😁 Weird that the later BIOS didn't work for you, but these are finicky machines after all...
EMS is mapped into the above-640k area; I once wrote an 386/v86 machine monitor with EMS emulation using the 386's MMU memory mapping unit that was published as a multi-articles series in German c't magazin back at the end of the 80's. The code now lives on in the FreeDOS project...
@@AlsGeekLab the v86 machine monitor could handle INT 13H (disk/floppy) and DMA transfers correctly within the EMS window above 640k. As this runs on DOS, the monitor claimed the whole extended memory above 1M, to be paged into the four windows of EMS. IIRC I started with EMS 3.2 and added 4.0 support. Basic goal was to get Borland's Turbo C/C++, Pascal, and Debugger to use the virtual EMS for their code overlays, so there was more memory left for your own application. Fun fact: I started working on the article series when East Germans were getting into the Embassy of Bundesrepublik Deutschland in Prague and we were totally surprised by the falling of the Wall while my editors and I were progressing through the article series. There are several historical references interwoven with the technical details, poking fun of Intel's Protected Mode and the politics of the day.
@@TheSulross this is not a DOS (emulation), it is a v86 mode machine monitor that additionally offers the EMS API. It starts on a bare metal 80386 (or VM) in real mide and then switches into protected mode, hopping in and out of v86 mode from there.
Apparently, Bill Gates never actually said that 640K ought to be enough for anyone. I always thought he did, but it seems like that wasn't true, or at least no solid evidence of it has been found. The closest thing that has even been found is him suggesting that 640K is sufficient for DOS on the 8088, and that by the time anyone needs more than that, OS/2 and the 286 should be ready. Which, if true, is a totally different statement. Saying 640K is enough for the original IBM PC running DOS until OS/2 is ready, is very different from saying it's enough for all time... in this case, it still indicates a lack of foresight regarding how long DOS would last, but it would suggest that they never really planned for DOS to stick around in the 1990s and that's why it only supports 640K of conventional memory.
It is on video somewhere I think. Some conference, by a booth. Yes, adequate for the time being was his point. It is important to remember that various mini computers existed.
If you try messing with the bus speed, make sure your cards are good quality. I used to work at a computer store (1989-1991) where we built computers. My favorite 286 board was a DFI Racer 12MHz. With good cards (doesn't mean expensive) we were able to the system and ISA bus at the full 12MHz with 0 wait states. I/O was great on it. We had the advantage of having lots if different cards to test with it.
@@AlsGeekLab when you built computers as a company many boards and cards were sourced from Taiwan. Some were good some garbage. Many were okay. It's not so different from getting parts from China today. Some are good some not so much. Generally, if you had a single subpar item it was okay. More than one you asking for trouble. The better all the parts, the better you could push it. Same as overclocking today.
The problem is that the 286 is HORRIBLE for multitasking since it cannot return to real mode after it has transitioned into protected mode. So any access of conventional memory, including things like BIOS calls, requires saving the processor state and physically resetting the processor using the keyboard controller. That causes a lot of overhead. The 386 fixed that by adding virtual 8086 mode.
No, Intel just assumed that all programs would be changed to run in protected mode. Hardware back then was not difficult to write drivers for and relying on the BIOS in a modern OS would be ridiculous (as today -- even Minix has all its own drivers built in). The idea that computers would be backwards compatible was new, it was expected that when a new better computer came out you'd get new software.
@@ssl3546 If Intel truly believed that people were going to upgrade all of their software, then they could have designed a protected mode processor from the ground up eliminating anomalies such as segment-offset addressing. It would have been far cleaner and easier. They didn't. They chose to create a processor that was fully compatible with an 8088 and even started up in that mode. So they clearly wanted to take advantage of legacy compatibility.
The 5162's case is a standard AT form factor. So if you have a dead system board and want to build the ultimate 'sleeper' box, you can install any AT board from a 386 up to the early Pentium II boards. The only real limitation is the power supply, and the monitor being EGA only if you want the look to remain period accurate. For multimedia, CD/DVD drives with a black bezel should be easy enough to get hold of.
It's actually not a problem - thats the free conventional *after* running DesqView. Before then, it's 600k free. When you use DV, it uses XMS/EMS to swap programs around, and I have plenty of those, so no problems there. Unfortunately, many DOS apps just don't play nicely and so can't be protected and will still lock up when running alongside other stuff that makes IRQ or DMA requests
I’m planning on doing this with my 5162. I actually bought it after seeing your earlier videos on the 5162 from a few years ago. I pretty much followed your specification to the letter with the same monitor, graphics and sound cards, IBM 3.5” floppy drive and UK layout Model F AT keyboard. It’s the pride of my (small) collection. Thanks for posting the info on the Rampage card and your config.sys as that took me a long time to figure out and I can now cross check against yours. I’m looking forward to seeing just how fast you can make your machine.
Nice! Glad to see I inspired you to get the 5162! My 5154 is a big banged up, hopefully yours is in a better state! In theory, the 286 should be able to go all the way up to 24mhz, but the supporting chips wouldn't work with that. That's why I did that bit on the video re what the clock related chips are. Replacing those chips, I reckon I'll be able to get 10, 12 or maybe even 16 MHz. It's all a matter of stability above 8mhz. The bus controller is only good to 8.33 MHz, but apparently the AT bus never got a full specification, so perhaps it can go faster, or perhaps it should be limited outwith the CPU speed (sounds complicated!). As we know, there were plenty of 286 class machines faster than 8mhz, so it's possible within reason. What matters most at the end of the day, however, is the reliability of the machine!
Another great video. If memory serves me correctly, IBM at time were losing lots of market share to the clones, and they were looking for a way to at hold market share until the PS/2 hit the market with the MCA architecture, that they hoped would allow them to control the clone market, or should I say kill off as many unlicensed IBM clones as possibles to recapture the PC market. But as you know this was too little too late and MCA was only a limited success.
Indeed, IBM had lost the market by around 1985/86 (so right around the time the 5162 came out). If they had made their machines a little cheaper and brought leading tech then they would have been able to capture the market, but the clones were aggressive. This 286-6 was almost equalled by the clone-xt market which were super cheap, and running hot at between 8-12mhz, even if they were 8-bit bus XTs, they were good enough for what most people needed until 1990 with windows 3.
The typical 8088-PC was for me a dead horse. I had used CBM and CP/M long before I had used my first 8088 system and the 8088 felt so incredibly slow, also MSDOS 2.11 was extremely minimalistic, no cache, very slow screen IO... when I later used an Amiga the 8088 systems at school felt even worse. So I completely ignored the 8088 era and my first PC was a 286 board for my Amiga. At first with 8Mhz, then upgraded to 12Mhz, it was a solid system and DRDOS 6 and 7 were blazingly fast in comparison to the integrated MSDOS 3.3 and even more to the old 2.11. This was for quite some time my only PC and in hindsight I wouldn't have needed it because software emulated PCs were pretty okeyish on the Amiga. Only years later I bought a couple of components from a bankrupt company for an Apple and an Egg, my 486dlc40/8MByte-RAM was running Linux right from the start, only years later with Windows XP I considered switching for daily business to Windows.
I've had an 5150 & a 5160 I believe with a 10Meg HDD. Both lost in time to my ignorant mother, wouldn't leave them in her basement packed in storage nicely; Trashed them without my knowlegdge
Great video Al - yer editing is awesome as always. I LOVED and used desqview and still use desqview/x to this day... thanks for sharing yer upgrades!!!
Does your 5162 have a silver sticker under the board to the left of the drive bays (when looking at the front)? If so, whats the number? Also, in your config.sys change the lastdrive parameter to something like lastdrive=E, it'll free up another few kb of conventional ram.
It has a black sticker with the serial num on it, I'd have to take the machine apart again to find out what it says, so next time I have it open I'll do that and let you know. Re the lastdrive setting - really as much as a few K?! I use the drive letter X for my network drive, so would I have to allocate it to E instead?
@@AlsGeekLab Yeah, I was surprised at how much RAM I saved by just moving my drives down and changing that setting. Apparently anything below E does not make a difference, but above that it does. So I'd definitely try moving your network drive to as low as it can be then change that parameter and go from there. Thankfully with MS-DOS this is a pretty easy thing to try out.
That freed up 2k of RAM so definitely worthwhile. I also commented out the EGA.SYS driver which is in the windows dir. I'm not 100% sure what the benefit of that particular driver is, so if it makes a difference I'll put it back in. But it went from 587K free for my full network drivers etc (ie, the usually loaded stuff) to 589K after changing LASTDRIVE to E, then 592k after removing EGA.SYS, so well worth the tidy up of CONFIG.SYS! Thanks again!
You and me both! See my comment to Gary Wilkinson re the possibilities of the upgrade path from here. I reckon the bus controller will be the hard part.
It would definitely be interesting, however I don't know much about os/2 and my basic understanding of it is that os/2 version 1 only supports one DOS app at a time, so that's not really much use for my needs. OS/2 2.x supports multiple DOS windows, but it doesn't work on 286s as far as I have read. Do you know differently?
@@AlsGeekLab no idea. I only used OS/2 from 2.0 - 3.0, and never used it to run DOS or Windows apps, only OS/2 apps. I loved it, though. I only switched from my Amiga when OS/2 2.0 came out, never having heard of OS/2 until right before 2.0 came out. I sometimes ran mine with the GUI stripped out with an IBM shareware app called Tshell and it was screaming fast on my 386DX33 machine with 20MB of RAM. :). That was my first x86 machine.
With the new BIOS are not possible to use 512k, 1M or 4M 30 pin SIMMs on the board slots directly instead those 256k? Or the memory is hardwired to accept only 256k RAM sticks?
Yes, the motherboard is hardwired to accept 512k in SIMMS and 128k in DIPs, although you can disable the DIPs to have 512k SIMMs enabled only. The rest you can backfill like me with the memory expansion board. Unfortunately no other configuration is possible (ie, the use of 1MB SIMMs or so)
We didn't get many Tandy's in the UK, so I didn't play with them much, but I'd reckon I'd be reasonably handy as long as I could get the details on the machine.
@@AlsGeekLab I have a Tandy 1000 TL with an EMS Related problem. I use a LoTech EMS card to add 2 MB of RAM, and would like to find a software driver to turn 1 MB of that EMS Ram into Linear XMS RAM.
@@ZombieRyushu I don't think that's a Tandy specific matter. It should work on any AT. Essentially, you have to ensure that the card itself supports the notion of dividing the ram (eg, providing a starting and end address for the memory on the board). If the driver or software allows this, then you should be in luck. I defined the XMS starting at 640k and lasting to 4096K, letting the card set up EMS stating at 4096K-8196K. The driver for the EMS automatically detected this setting in the EEPROM on the card and it worked great with HIMEM.SYS for XMS after that.
Still looking for 60ns DIPs to get my Victor V286c to 16Mhz with the full 1MB RAM. Not sure DIPs that fast were even made since I haven't been able to find any. Would love some advice :)
@@AlsGeekLab I bought 80ns for it an it blankly refuses, 70ns might do it, was hoping to find 60 just to be sure. And yeah, I realize I'm trying to do the impossible. But that's part of the fun :)
Good stuff Al and thanks for the shoutout! Glad my BIOS ramblings were useful to someone 😁
Weird that the later BIOS didn't work for you, but these are finicky machines after all...
Thanks Rees! Yep, finnicky sure is the word!
FYI I've managed to get the machine to 10 MHz now by upgrading the support chips (see my latest video). How did you get on?
Great video as always. Thanks for the shoutout. Looking forward to the next installment!
Waiting on that shipment of chips. Hopefully coming soon!
EMS is mapped into the above-640k area; I once wrote an 386/v86 machine monitor with EMS emulation using the 386's MMU memory mapping unit that was published as a multi-articles series in German c't magazin back at the end of the 80's. The code now lives on in the FreeDOS project...
That's very cool! What were it's features?!
@@AlsGeekLab the v86 machine monitor could handle INT 13H (disk/floppy) and DMA transfers correctly within the EMS window above 640k. As this runs on DOS, the monitor claimed the whole extended memory above 1M, to be paged into the four windows of EMS. IIRC I started with EMS 3.2 and added 4.0 support. Basic goal was to get Borland's Turbo C/C++, Pascal, and Debugger to use the virtual EMS for their code overlays, so there was more memory left for your own application. Fun fact: I started working on the article series when East Germans were getting into the Embassy of Bundesrepublik Deutschland in Prague and we were totally surprised by the falling of the Wall while my editors and I were progressing through the article series. There are several historical references interwoven with the technical details, poking fun of Intel's Protected Mode and the politics of the day.
@@TheDiveO great insights into an important time! Thanks for sharing!
So this could be built as a Linux loadable kernel module and incorporated as one’s own DOS emulator implementation…hmmm
@@TheSulross this is not a DOS (emulation), it is a v86 mode machine monitor that additionally offers the EMS API. It starts on a bare metal 80386 (or VM) in real mide and then switches into protected mode, hopping in and out of v86 mode from there.
Apparently, Bill Gates never actually said that 640K ought to be enough for anyone. I always thought he did, but it seems like that wasn't true, or at least no solid evidence of it has been found. The closest thing that has even been found is him suggesting that 640K is sufficient for DOS on the 8088, and that by the time anyone needs more than that, OS/2 and the 286 should be ready. Which, if true, is a totally different statement. Saying 640K is enough for the original IBM PC running DOS until OS/2 is ready, is very different from saying it's enough for all time... in this case, it still indicates a lack of foresight regarding how long DOS would last, but it would suggest that they never really planned for DOS to stick around in the 1990s and that's why it only supports 640K of conventional memory.
Yes, I was just being cheeky 😁
It is on video somewhere I think. Some conference, by a booth. Yes, adequate for the time being was his point. It is important to remember that various mini computers existed.
Now you've got enough memory to remember how get to the grocers, and what to buy when you get there!
😂
Love it! Very well explained. Thanks for sharing.
Glad you enjoyed it! Thanks Chris!
If you try messing with the bus speed, make sure your cards are good quality.
I used to work at a computer store (1989-1991) where we built computers. My favorite 286 board was a DFI Racer 12MHz. With good cards (doesn't mean expensive) we were able to the system and ISA bus at the full 12MHz with 0 wait states. I/O was great on it. We had the advantage of having lots if different cards to test with it.
Thanks for the tip! What exactly do you mean. By 'good cards'
@@AlsGeekLab when you built computers as a company many boards and cards were sourced from Taiwan. Some were good some garbage. Many were okay. It's not so different from getting parts from China today. Some are good some not so much. Generally, if you had a single subpar item it was okay. More than one you asking for trouble. The better all the parts, the better you could push it. Same as overclocking today.
The problem is that the 286 is HORRIBLE for multitasking since it cannot return to real mode after it has transitioned into protected mode. So any access of conventional memory, including things like BIOS calls, requires saving the processor state and physically resetting the processor using the keyboard controller. That causes a lot of overhead. The 386 fixed that by adding virtual 8086 mode.
You're not wrong! The 286 was described by Bill Gates as the"brain-dead" CPU and for once, I agree with him!
No, Intel just assumed that all programs would be changed to run in protected mode. Hardware back then was not difficult to write drivers for and relying on the BIOS in a modern OS would be ridiculous (as today -- even Minix has all its own drivers built in). The idea that computers would be backwards compatible was new, it was expected that when a new better computer came out you'd get new software.
@@ssl3546 If Intel truly believed that people were going to upgrade all of their software, then they could have designed a protected mode processor from the ground up eliminating anomalies such as segment-offset addressing. It would have been far cleaner and easier.
They didn't. They chose to create a processor that was fully compatible with an 8088 and even started up in that mode. So they clearly wanted to take advantage of legacy compatibility.
The 5162's case is a standard AT form factor. So if you have a dead system board and want to build the ultimate 'sleeper' box, you can install any AT board from a 386 up to the early Pentium II boards. The only real limitation is the power supply, and the monitor being EGA only if you want the look to remain period accurate. For multimedia, CD/DVD drives with a black bezel should be easy enough to get hold of.
I did that with my then new ASUS P5A-B baby AT board with an AMD K6-III 450 ! Good memories.
It nice upgrade on the IBM 5162. The Conventional memory of 442k free memory will limit some executable computer programs.
It's actually not a problem - thats the free conventional *after* running DesqView. Before then, it's 600k free. When you use DV, it uses XMS/EMS to swap programs around, and I have plenty of those, so no problems there. Unfortunately, many DOS apps just don't play nicely and so can't be protected and will still lock up when running alongside other stuff that makes IRQ or DMA requests
I’m planning on doing this with my 5162. I actually bought it after seeing your earlier videos on the 5162 from a few years ago. I pretty much followed your specification to the letter with the same monitor, graphics and sound cards, IBM 3.5” floppy drive and UK layout Model F AT keyboard. It’s the pride of my (small) collection. Thanks for posting the info on the Rampage card and your config.sys as that took me a long time to figure out and I can now cross check against yours. I’m looking forward to seeing just how fast you can make your machine.
Nice! Glad to see I inspired you to get the 5162! My 5154 is a big banged up, hopefully yours is in a better state!
In theory, the 286 should be able to go all the way up to 24mhz, but the supporting chips wouldn't work with that. That's why I did that bit on the video re what the clock related chips are. Replacing those chips, I reckon I'll be able to get 10, 12 or maybe even 16 MHz. It's all a matter of stability above 8mhz. The bus controller is only good to 8.33 MHz, but apparently the AT bus never got a full specification, so perhaps it can go faster, or perhaps it should be limited outwith the CPU speed (sounds complicated!). As we know, there were plenty of 286 class machines faster than 8mhz, so it's possible within reason. What matters most at the end of the day, however, is the reliability of the machine!
Another great video. If memory serves me correctly, IBM at time were losing lots of market share to the clones, and they were looking for a way to at hold market share until the PS/2 hit the market with the MCA architecture, that they hoped would allow them to control the clone market, or should I say kill off as many unlicensed IBM clones as possibles to recapture the PC market. But as you know this was too little too late and MCA was only a limited success.
Indeed, IBM had lost the market by around 1985/86 (so right around the time the 5162 came out). If they had made their machines a little cheaper and brought leading tech then they would have been able to capture the market, but the clones were aggressive. This 286-6 was almost equalled by the clone-xt market which were super cheap, and running hot at between 8-12mhz, even if they were 8-bit bus XTs, they were good enough for what most people needed until 1990 with windows 3.
The typical 8088-PC was for me a dead horse. I had used CBM and CP/M long before I had used my first 8088 system and the 8088 felt so incredibly slow, also MSDOS 2.11 was extremely minimalistic, no cache, very slow screen IO... when I later used an Amiga the 8088 systems at school felt even worse. So I completely ignored the 8088 era and my first PC was a 286 board for my Amiga. At first with 8Mhz, then upgraded to 12Mhz, it was a solid system and DRDOS 6 and 7 were blazingly fast in comparison to the integrated MSDOS 3.3 and even more to the old 2.11. This was for quite some time my only PC and in hindsight I wouldn't have needed it because software emulated PCs were pretty okeyish on the Amiga. Only years later I bought a couple of components from a bankrupt company for an Apple and an Egg, my 486dlc40/8MByte-RAM was running Linux right from the start, only years later with Windows XP I considered switching for daily business to Windows.
Yes the 8088 and even 286 were pretty brain-dead CPUs and DOS was always a "quick and dirty" operating system!
Very interesting video, thanks!
Glad you enjoyed it!
I've had an 5150 & a 5160 I believe with a 10Meg HDD.
Both lost in time to my ignorant mother, wouldn't leave them in her basement packed in storage nicely;
Trashed them without my knowlegdge
That's sad to hear 😔
Nice video on 5162! Sub’d
Thanks for the sub, I really appreciate it!
Great video, thanks
Al, Bill Gates never said 640k ought to be enough. How this was attributed to him has not been ever found.
I know, I was just having a laugh
Great video Al - yer editing is awesome as always. I LOVED and used desqview and still use desqview/x to this day... thanks for sharing yer upgrades!!!
Thanks Paulie! ❤️❤️❤️
Does your 5162 have a silver sticker under the board to the left of the drive bays (when looking at the front)? If so, whats the number?
Also, in your config.sys change the lastdrive parameter to something like lastdrive=E, it'll free up another few kb of conventional ram.
It has a black sticker with the serial num on it, I'd have to take the machine apart again to find out what it says, so next time I have it open I'll do that and let you know.
Re the lastdrive setting - really as much as a few K?! I use the drive letter X for my network drive, so would I have to allocate it to E instead?
@@AlsGeekLab Yeah, I was surprised at how much RAM I saved by just moving my drives down and changing that setting. Apparently anything below E does not make a difference, but above that it does. So I'd definitely try moving your network drive to as low as it can be then change that parameter and go from there. Thankfully with MS-DOS this is a pretty easy thing to try out.
That freed up 2k of RAM so definitely worthwhile. I also commented out the EGA.SYS driver which is in the windows dir. I'm not 100% sure what the benefit of that particular driver is, so if it makes a difference I'll put it back in. But it went from 587K free for my full network drivers etc (ie, the usually loaded stuff) to 589K after changing LASTDRIVE to E, then 592k after removing EGA.SYS, so well worth the tidy up of CONFIG.SYS! Thanks again!
Great video, really interested to see how fast you can get this to go.
You and me both! See my comment to Gary Wilkinson re the possibilities of the upgrade path from here. I reckon the bus controller will be the hard part.
An amazing entry to IBMs PC history. Thanks for sharing I look forward to part 2.
Glad you enjoyed it! Currently waiting on the shipment of those two chips before I can do anything with a further push
Any thoughts on trying out OS/2 on this machine?
It would definitely be interesting, however I don't know much about os/2 and my basic understanding of it is that os/2 version 1 only supports one DOS app at a time, so that's not really much use for my needs. OS/2 2.x supports multiple DOS windows, but it doesn't work on 286s as far as I have read. Do you know differently?
@@AlsGeekLab no idea. I only used OS/2 from 2.0 - 3.0, and never used it to run DOS or Windows apps, only OS/2 apps. I loved it, though. I only switched from my Amiga when OS/2 2.0 came out, never having heard of OS/2 until right before 2.0 came out. I sometimes ran mine with the GUI stripped out with an IBM shareware app called Tshell and it was screaming fast on my 386DX33 machine with 20MB of RAM. :). That was my first x86 machine.
With the new BIOS are not possible to use 512k, 1M or 4M 30 pin SIMMs on the board slots directly instead those 256k? Or the memory is hardwired to accept only 256k RAM sticks?
Yes, the motherboard is hardwired to accept 512k in SIMMS and 128k in DIPs, although you can disable the DIPs to have 512k SIMMs enabled only. The rest you can backfill like me with the memory expansion board. Unfortunately no other configuration is possible (ie, the use of 1MB SIMMs or so)
Hey there! How Adept are you with the Tandy 1000 Series?
We didn't get many Tandy's in the UK, so I didn't play with them much, but I'd reckon I'd be reasonably handy as long as I could get the details on the machine.
@@AlsGeekLab I have a Tandy 1000 TL with an EMS Related problem. I use a LoTech EMS card to add 2 MB of RAM, and would like to find a software driver to turn 1 MB of that EMS Ram into Linear XMS RAM.
@@ZombieRyushu I don't think that's a Tandy specific matter. It should work on any AT. Essentially, you have to ensure that the card itself supports the notion of dividing the ram (eg, providing a starting and end address for the memory on the board). If the driver or software allows this, then you should be in luck. I defined the XMS starting at 640k and lasting to 4096K, letting the card set up EMS stating at 4096K-8196K. The driver for the EMS automatically detected this setting in the EEPROM on the card and it worked great with HIMEM.SYS for XMS after that.
@@AlsGeekLab My LoTech Card only supports acting as EMS.
@@ZombieRyushu I'm afraid that probably means you are out of luck, unless anyone has written an updated driver or shim for it.
Still looking for 60ns DIPs to get my Victor V286c to 16Mhz with the full 1MB RAM. Not sure DIPs that fast were even made since I haven't been able to find any. Would love some advice :)
60ns is theoretically possible, but the world had mainly moved on from DIP by the time that speed rolled around. Do you really need 60ns for 16mhz ?
@@AlsGeekLab I bought 80ns for it an it blankly refuses, 70ns might do it, was hoping to find 60 just to be sure. And yeah, I realize I'm trying to do the impossible. But that's part of the fun :)