VOGONS


Reply 60 of 60, by weedeewee

User metadata
Rank l33t
Rank
l33t
mkarcher wrote on 2023-10-26, 18:09:
Yeah, that's what relocation is supposed to do. The TOPCAT chipset this thread is all about only supports full 384KB relocation […]
Show full quote
weedeewee wrote on 2023-10-26, 15:19:
mkarcher wrote on 2023-10-26, 15:11:

The 128KB of RAM "hidden behind" the VGA RAM space A000-BFFF, so that will give you 192KB of EMS at the cost of 64KB UMB.

mmh, yes. Isn't that what the relocation should do? Allow access to that otherwise overlapping piece of memory.
How does the computer distinguish between memory accesses to the VGA memory and that RAM memory which is hidden due to being overlapped in address space by the VGA memory access window?

Yeah, that's what relocation is supposed to do. The TOPCAT chipset this thread is all about only supports full 384KB relocation or no relocation. Partial relocation of RAM is not implemented in hardware. The AMI BIOS of the OP does not seem to enable relocation at all, even if it were possible (it's only possible with four 256KB SIPPs or two 1MB SIPPs, or the equivalent amount of RAM as DIP chips). The OP is currently facing a no-relocation behaviour, so the memory "behind" the VGA is lost.

The hardware EMS engine can map any physical RAM to the page frame. This also applies to RAM at addresses A000-FFFF. The hardware EMS engine always maps physical RAM into the page frame, it does not map "ISA address space". So it is perfectly valid and not ambigous to map the physical memory at address A000 into the page frame at e.g. E000, allowing the processor to access the RAM "behind the VGA" by accessing the page frame. Obviously, if the RAM at A000-A3FF is mapped to the first page of E000-E3FF, you can't access the physical memory at E000-E3FF at that FSB address - but this is exactly what EMS is all about: You get a standardized API to remap which memory is visible in the page frame, so software can instruct the EMS driver to switch as desired. TOPEMM is able to map any memory not in use for conventional memory, UMBs, ROM shadowing or extended memory into the page frame. TOPEMM makes most sense if end of extended memory is lower than the actual amount of physically installed memory, so there is a significant amount of unused physical RAM after the extended memory, because all this RAM can be claimed as EMS. Most sensible TOPCAT BIOSes allow the user to enter an extended memory size that is less than the physically installed memory to reserve some RAM for EMS.

The chipset can address up to 8 4MB modules, resulting in 32MB of RAM (I don't know whether the DIP sockets are able to accomodate 4Mx4 / 4Mx1 chips, so it might not work on this board). As the TOPCAT SX targets the 286 and 386SX processors, the maximum amount of conventional + extended memory is just short of 16MB, the remaining 16MB+x can only be used for EMS purposes.

Thanks, Very interesting. I wasn't aware the chipset on this board had any hardware EMS functionalities.
I'll have to remember this when looking through my mainboard collection, hoping to find a 286/386sx board with this chipset.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port