VOGONS


First post, by clb

User metadata
Rank Member
Rank
Member

Heya,

1) it is possible to install a dedicated EMS card on an XT and 286 class of PCs, e.g. https://www.lo-tech.co.uk/wiki/Lo-tech_2MB_EMS_Board

There's a list of games that can leverage EMS memory to their benefit: https://www.vogonswiki.com/index.php/List_of_ … hat_require_EMS

Looking at that list, these are all games that won't run fast enough on a XT 8088 CPU with 4.77MHz (well, I have a turbo board that goes up to 8MHz, but probably doesn't make much difference in any of those games). Based on that list, it seems that such an EMS card is more useful for a 286 PC?

Though my question is - is that accurate? Or are there games (or other software?) out there that run playable on a 8088, and can leverage EMS memory?

The reason for asking is that list does not seem complete: it is missing Wolfenstein 3D, and also Commander Keen 4/5/6? (not sure what Keen uses EMS for, but at least it does detect its presence at startup: https://i.postimg.cc/x80c8kgq/keen5.png ). Wolfenstein3D looks unplayable on a 8088, but Keen apparently should work?

2) Another way of upgrading memory would be to install this kind of UMB card https://monotech.fwscart.com/MicroRAM_640K_UM … 4_19914752.aspx that enables RAM at any higher memory addresses that are unused by option ROMs. That would allow filling high address space with UMB blocks, and according to the photos should work on a 8088 as well.

While 8088 era games never would have used this UMB since that card is a "modern approach"(?), 286+ era games certainly might have been programmed for upper memory. That makes me wonder whether there might be some games from that era out there that could utilize UMB if available, but also be light enough on CPU that they'd also be playable on a 8088 with such an UMB card?

There are some earlier threads about this topic here at vogons and vcfed that I was able to find, but none that felt like they'd clear the topic.

Thanks!

Reply 1 of 10, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie

Depends on how you define playable but yes there are a couple games more 286 aligned that will physically run on an XT
that are more playable on an XT with EMS present, sometimes you get a couple extra graphical features when you have ems.

If you have a Turbo 8086 XT (or NEC V20/30) there are definitely 286 games that will run OK.

Honestly have never seen UMB used for anything other than device drivers though

Reply 2 of 10, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie

UMB is usefull to place Drivers in high memory, I think few or no game use it, as UMB arrived late and the games of the 8088 area must run on PC with 512Kb anyway.

For EMS, I think that some application like spreadsheet used it.

Then, EMS is more for a 286 machine.

Also, my MOD Player, Mod Master use it, and it help a lot for 8088/8086 to load big music files.

Reply 3 of 10, by clb

User metadata
Rank Member
Rank
Member
rmay635703 wrote on 2022-01-03, 14:47:

Depends on how you define playable but yes there are a couple games more 286 aligned that will physically run on an XT
that are more playable on an XT with EMS present, sometimes you get a couple extra graphical features when you have ems.

If you have a Turbo 8086 XT (or NEC V20/30) there are definitely 286 games that will run OK.

Thanks - if someone knows names, it'd be super interesting to know!

Reply 4 of 10, by Plasma

User metadata
Rank Member
Rank
Member

The EMS spec didn't exist until 1985, so any programs that use EMS are going to be after that. By the late 80s, anyone still using an original 4.77MHz PC/XT probably wasn't spending big bucks on an expanded memory board. So there is a very narrow window where it would make sense for game developers to target both.

Reply 5 of 10, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie

There is at least one Arkanoid /Breakout clone that will use EMS, don’t remember the specifics of what you gain but it detects it during startup .

It’s unfortunate my archive of shareware disks went kaput, would dig through them to find the game.

Reply 6 of 10, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie

I thought the 808x processors could only address 1MB RAM , with a 20-bit address line?

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 7 of 10, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
debs3759 wrote on 2022-01-03, 21:58:

I thought the 808x processors could only address 1MB RAM , with a 20-bit address line?

Right, that's why EMS was created. To use bank switching to sidestep this limitation

Reply 8 of 10, by Calvero

User metadata
Rank Member
Rank
Member
clb wrote on 2022-01-03, 14:19:

(not sure what Keen uses EMS for, but at least it does detect its presence at startup: https://i.postimg.cc/x80c8kgq/keen5.png ).

Commander Keen 4-6 just uses EMS to have an extra 64 KB of memory to store graphics and sound, etc. It doesn't do bank switching.

Reply 9 of 10, by mkarcher

User metadata
Rank l33t
Rank
l33t
Calvero wrote on 2022-01-05, 20:02:
clb wrote on 2022-01-03, 14:19:

(not sure what Keen uses EMS for, but at least it does detect its presence at startup: https://i.postimg.cc/x80c8kgq/keen5.png ).

Commander Keen 4-6 just uses EMS to have an extra 64 KB of memory to store graphics and sound, etc. It doesn't do bank switching.

Which actually was not that uncommon those days. If I remember correctly, Borland's Turbo C 2.0 IDE did the same. UMBs weren't really a thing until DOS 5.0, so the 64KB "pseudo-UMB" you can get in the page frame was a good thing to have. The best thing: Using 64KB of EMS as pseudo-UMB inside an application doesn't inhibit other software (like a disk cache or a RAM drive) to use the remaining EMS memory as intended. You just shouldn't rely on the pseudo-UMB to be accessible while in hardware interrupt handlers.

Reply 10 of 10, by uridium

User metadata
Rank Newbie
Rank
Newbie

The LoTech cards work just fine in XT's. I have one in my NEC V20 system.

I just wish I could find more than 2mb on a card. Useful for things like disk cache and Borland C++ application swapping. Hmm.