Feature request - 16KB+7C00 memory on IBM PC
- Dominant language
- JavaScript
- Stars
- 23.5k
- Forks
- 1.9k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 7
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](https://retrocomputing.stackexchange.com/questions/5289/how-did-an-ibm-5150-with-16kb-ram-work)) - then it [can boot PC DOS](https://www.minuszerodegrees.net/5150/ram/5150_not_enough_ram_for_DOS.htm) 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](https://www.minuszerodegrees.net/5150/motherboard/IBM%205150%20motherboard%20-%20Removing%20RAM%20chips.png):
> 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](https://stackoverflow.com/questions/3715618/how-does-dos-load-a-program-into-memory) declaring a need for more than that (for PC DOS 1.x the COMMAND.COM has the role to [load executables](https://wiki.osdev.org/MZ)).
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](http://www.minuszerodegrees.net/manuals/IBM_5150_Technical_Reference_6025005_AUG81.pdf)
Related: https://github.com/joncampbell123/dosbox-x/issues/3664, https://github.com/640-KB/GLaBIOS/discussions/50
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.