VOGONS


First post, by PTherapist

User metadata
Rank Oldbie
Rank
Oldbie

So I've been tinkering with my 286 and something has been bothering me. For info, motherboard matches the AL-6410.

It has a total of 1MB RAM installed (36 DIP-16 chips on the motherboard, there are no SIPP or SIMM slots). There are switches on the motherboard to configure the RAM from 256K up to 1MB.

When set at 1MB, it gives me 512K Conventional & 512K Extended. This then leads to problems, with some more demanding programs and games requiring nearer to 640K RAM than what is left from 512K. If I configure the switches to 640K, I get the full 640K conventional and those programs run, but I'm then losing all extended RAM.

I tried specifying in GSETUP to use 640K & 384K, but it doesn't change anything and the BIOS (standard 286 AMI BIOS) just complains of a memory mismatch upon reboot and sets itself back to 512K+512K.

Is there anyway at all to get this thing to use 640K+384K?

Reply 2 of 8, by mkarcher

User metadata
Rank l33t
Rank
l33t

Early 286 mainboards in fact did not support the 640+348 configuration, because that one is technically more difficult to handle than 512+512. So rmay634703 is correct that the only way to make use of all mainboard RAM and get 640K conventional is using a 16bit ISA memory expansion card. On 6MHz and 8MHz systems, ISA memory cards should be able to match mainboard memory speed, whereas faster systems usually slow down on ISA bus cycles for compatibility with slower cards. Your board has a 10MHz system clock, so maybe they overclock the ISA bus to full 10MHz, enabling maximum performance on memory cards, or they inserted additional non-optional wait-states, slowing maximum ISA speed to "effective 6.6MHz".

Assuming you want to go the memory card route, you have two options:

  1. Configure memory to 640K onboard. Get any 16-bit ISA memory expansion board, and set it up for "base address = 1M". You lose 384K of the mainboard RAM.
  2. Configure memory to 1MB onboard. Get an 16-bit ISA memory expansion board that supports backfill and a base address of 1.5M for the extended memory. A lot of memory expansion boards do, because 512+512 was a common configuration on early 286 mainboards, but not all boards do. Try to check the manual before you buy. You do not lose any memory.

Reply 3 of 8, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2021-07-14, 21:12:
Early 286 mainboards in fact did not support the 640+348 configuration, because that one is technically more difficult to handle […]
Show full quote

Early 286 mainboards in fact did not support the 640+348 configuration, because that one is technically more difficult to handle than 512+512. So rmay634703 is correct that the only way to make use of all mainboard RAM and get 640K conventional is using a 16bit ISA memory expansion card. On 6MHz and 8MHz systems, ISA memory cards should be able to match mainboard memory speed, whereas faster systems usually slow down on ISA bus cycles for compatibility with slower cards. Your board has a 10MHz system clock, so maybe they overclock the ISA bus to full 10MHz, enabling maximum performance on memory cards, or they inserted additional non-optional wait-states, slowing maximum ISA speed to "effective 6.6MHz".

Assuming you want to go the memory card route, you have two options:

  1. Configure memory to 640K onboard. Get any 16-bit ISA memory expansion board, and set it up for "base address = 1M". You lose 384K of the mainboard RAM.
  2. Configure memory to 1MB onboard. Get an 16-bit ISA memory expansion board that supports backfill and a base address of 1.5M for the extended memory. A lot of memory expansion boards do, because 512+512 was a common configuration on early 286 mainboards, but not all boards do. Try to check the manual before you buy. You do not lose any memory.

Would it be possible to do 512K base + 512K extended and perhaps put EMS at 512K-640K?

Reply 4 of 8, by mkarcher

User metadata
Rank l33t
Rank
l33t
jakethompson1 wrote on 2021-07-14, 21:16:

Would it be possible to do 512K base + 512K extended and perhaps put EMS at 512K-640K?

A classic EMS 3.2-compliant EMS card has a page frame of 64K. You could put it either at 512K-576K or 576K to 640K. You can allocate 4 pages, map them, hide the EMS driver from applications that would use EMS on their own and expand the conventional memory to 576K at least. This would need an EMS board that supports a page frame base address of 512K (8000h).

On the other hand, good EMS 4.0-compliant EMS boards often have a big range of mappable addresses, and are perfectly able to map some of their memory into the 512-640K range, and provide a classic EMS 3.2-compatible page frame at a high address like D000 at the same time. Be aware that EMS 4.0 is just a software specification that enables advanced boards to expose their enhanced capabilities, but it doesn't require boards to support them to be compliant. A board that just has classic EMS 3.2 hardware capabilities can be "EMS 4.0 compliant" with just a new driver that always says "sorry, this advanced feature is not supported" if you try to invoke EMS 4.0-specific hardware features. So make sure to read the fine print to find out the actual hardware capabilities of EMS 4.0 boards. EMS 4.0 is the successor of EEMS (enhanced EMS), and the advanced mapping features are already in EEMS. So if you find a EEMS board, it most likely also allows backfill + pageframe.

8-bit EMS boards are dog slow in a 286 system, so I don't recommend expanding conventional memory into an 8-bit EMS board. 16-bit EMS boards often are EMS/XMS combination boards, and might also provide classic backfill (512 -> 640K) in addition to extended memory and/or EMS memory.

Reply 5 of 8, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

There was a card for IBM AT to provide the 128 KB between 512K and 640K:
http://minuszerodegrees.net/5170/cards/5170_c … rds.htm#128_meo
...and countless clones, of course.

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 6 of 8, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Grzyb wrote on 2021-07-14, 22:01:

There was a card for IBM AT to provide the 128 KB between 512K and 640K:
http://minuszerodegrees.net/5170/cards/5170_c … rds.htm#128_meo
...and countless clones, of course.

Yep I came to post this. These "tophat" type cards were like shit in a cow pasture back in the day and can still be had cheap on ebay

Reply 7 of 8, by Jo22

User metadata
Rank l33t++
Rank
l33t++
mkarcher wrote on 2021-07-14, 21:12:

Early 286 mainboards in fact did not support the 640+348 configuration, because that one is technically more difficult to handle than 512+512.

My Schneider Tower AT from circa 1988 does support both configurations.. 😀
There's an option for it in the Setup Utility.
The BIOS was derived from Phoenix BIOS.
Anyway, it was a somewhat high-end and rare 286 system at the time.
I mean, it had both an on-board bus mouse interface and a Super EGA chip (incl. CGA/HGC modes)..

Edit:

mkarcher wrote on 2021-07-14, 21:26:

On the other hand, good EMS 4.0-compliant EMS boards often have a big range of mappable addresses, and are perfectly able to map some of their memory into the 512-640K range, and provide a classic EMS 3.2-compatible page frame at a high address like D000 at the same time. Be aware that EMS 4.0 is just a software specification that enables advanced boards to expose their enhanced capabilities, but it doesn't require boards to support them to be compliant. A board that just has classic EMS 3.2 hardware capabilities can be "EMS 4.0 compliant" with just a new driver that always says "sorry, this advanced feature is not supported" if you try to invoke EMS 4.0-specific hardware features. So make sure to read the fine print to find out the actual hardware capabilities of EMS 4.0 boards. EMS 4.0 is the successor of EEMS (enhanced EMS), and the advanced mapping features are already in EEMS. So if you find a EEMS board, it most likely also allows backfill + pageframe.

The earlier EEMS (Enhanced Expanded Memory Standard) from AST Research (+Quadram, Ashton Tate) was a bit better in some cass than EMS 4.0, afaik. 😉
Some features of DESQView made use of it, if memory serves.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 8, by PTherapist

User metadata
Rank Oldbie
Rank
Oldbie

Thanks all for the suggestions.

I'll have to look into the RAM expansion card idea. A quick search of eBay shows they're not very common here in the UK though and costly to import.

I bought a RAM expansion card a couple of years back (can't remember if it's 1MB or 2MB), but never could get it to work on anything - it either wouldn't be detected, or would hard crash with parity errors. I'll have to dig it out and investigate further, maybe it has some bad chips and/or I didn't try all the correct settings both on the card & the motherboard.

The card no longer has all of it's original RAM though, since I couldn't get it to work I "borrowed" some of it's RAM to upgrade my 256K XT 5160 to 640KB. 🤣 I suppose I could try to run it with what RAM is left + maybe the removed 128K from my XT.