-
Notifications
You must be signed in to change notification settings - Fork 176
Feature request - 16KB+7C00 memory on IBM PC #106
Description
To add memory setting 18KB or 16K/32K (if it's more straightforward to populate the whole second bank instead only the top 2K) or similar
IBM PC when configured as 16KB (DIP switch setting), but having RAM chip present also at range 0x7800-0x7FFF (2KB below 32K, importantly including the 1K above 0x7C00 - the PC BIOS boot vector) - then it can boot PC DOS and it'll behave as if it has only 16KB:
Motherboard configured for 16 KB RAM
Note 1: There was a successful boot if all I did was simply populate the second RAM bank, leaving the motherboard switches set to 16 KB.
That's possible due to the permanently connected U12 memory transievers:
SW1 and SW2 are used simply to inform the POST of bank population. They do not enable/disable RAM banks.
So, the DIP switches control the memory size value to be reported/assigned via BIOS/POST/DOS, but the CPU/programs can access any memory present, including 0x7C00.
I assume DOS receives the MEMORY_SIZE, IO_RAM_SIZE or similar from the BIOS and denies loading of programs declaring a need for more than that (for PC DOS 1.x the COMMAND.COM has the role to load executables).
Scenario: "User didn't have enough RAM chips or some of them failed".
If having 16K + 2K non-contiguous step is complicated - then just make 16K reported out of 32K installed.
Source code of BIOS