Questions tagged [memory-layout]
For questions regarding the layout or mapping of memory in a retrocomputer.
86 questions
10votes
2answers
2kviews
What is a plausible reason for the extra hardware/cost for the Sol-PC "phantom" ROM?
The Sol-PC (also known as the Sol-10 and Sol-20) has ROM on the "personality card" addressed at $C000-$C7FF and, in a minimal configuration, RAM (for system use and the video frame buffer) ...
14votes
2answers
3kviews
How did MS-DOS utilities like 386MAX relocate drivers from lower 640 KB to high memory?
You copy the driver code and data but how do you redirect everything that may have jumped into the old entry point? You could scan all the interrupt vectors and see if any of them pointed to that ...
12votes
3answers
2kviews
Have there been any parallel blitter implementations?
I read about blitters - history and technical implementation (what I could understand), for example in Amiga and Bally Astrocade. The principle is that there is a fast copying of memory from one place ...
13votes
2answers
2kviews
Which programming language/environment pioneered row-major array order?
The Wikipedia page describing specifics of row-major vs column-major storage order for multi-dimensional arrays, mentions, among others, C/C++ (*1), Pascal and PL/I for the former, and, surely, ...
1vote
1answer
229views
Is the RAM layout in Amstrad CPC .SNA snapshot files in a simple straightforward order?
I'm looking at the .SNA snapshot file format for Amstrad CPC emulators based on the Multiface Two device. I'm used to the ZX Spectrum which had 16K ROM and 48K RAM and the 48K .SNA snapshot format is ...
11votes
1answer
933views
Are there official, standard, or conventional names for the screen RAM addresses on the ZX Spectrum?
I'm working on a disassembly tool for the Sinclair ZX Spectrum and want to do things "right" when possible. I remember seeing lists of ROM routines, system variables, and memory addresses ...
9votes
2answers
2kviews
How does the 8086 jump instruction work when the target address overflows?
For educational purposes, I'm developing my own software emulator for the 8086 microprocessor with VGA/MCGA support. Although it's far from complete, it's advanced enough to start using a BIOS (though ...
15votes
4answers
4kviews
Can DOS make use of more than 640 KB of conventional memory on 80186?
Can I have more than 640 KB conventional RAM under some DOS? I'm looking at an 80186 PC that has RAM at address A0000. Video RAM starts at B0000 as expected for a Hercules; A0000 is just more main ...
14votes
3answers
3kviews
Why does PC video memory base address change depending on video mode?
It is rather well-known that, with VGA-compatible PC video adapters, in black-and-white text modes video memory is available at linear address 0xB0000, in colour text mode at address 0xB8000, while in ...
8votes
1answer
1kviews
C64 char screen plot routine - not clear about reason for logical OR
I'm trying out some 6502 assembly language, specifically using Kick Assembler. I have the following routine that just sticks a character on the text screen at a specified x and y, it's taken from the ...
13votes
1answer
1kviews
What problem does LOADFIX solve?
From MS-DOS help for the LOADFIX command: Some programs will display the "Packed file corrupt" message when all or a portion of the program has been loaded in the first 64K of conventional ...
10votes
2answers
2kviews
How to use all memory on an IBM PC with 8086
I'm developing software for the IBM PC with an 8086 processor. I want my program to use all available memory. I know that I can use DOS int 21h function AH=48h to allocate all available conventional ...
12votes
1answer
663views
How to write Win16 program with only a single segment (combined code+data)?
I wrote a simple Win16 program in NASM assembly. It works on Windows 3.11. (Source code: https://github.com/pts/mininasm/blob/master/demo/hello/helljw16.nasm .) When I tried to combine the code and ...
22votes
4answers
3kviews
Was it possible to cause persistent changes to a mid-1980s IBM-PC using POKE in GWBASIC?
TL;DR: Using the DEF SEG and POKE commands in GWBASIC, was there any way to make changes to an IBM-PC compatible computer that would (a) persist even after a reboot and (b) cause an increase in crash ...
19votes
6answers
5kviews
Where is DOS stored in memory when a program starts?
When the execution of a COM program begins, DOS jumps to address 100h. But at what address is DOS stored in RAM while the COM program is executing? Is DOS stored in conventional memory? If so, isn't ...