As of May 31, 2023, we have updated our Code of Conduct.

Questions tagged [memory-layout]

For questions regarding the layout or mapping of memory in a retrocomputer.

Filter by
Sorted by
Tagged with
20 votes
5 answers
3k views

Was 1991's Hellcats the first instance of incremental screen updates?

In case you have never seen it, 1991's Hellcats was a seminal release on the Mac. It ran at full 8-bit color and could, on a newish machine, drive three 1024x768 screens at the same time. Nothing on ...
Maury Markowitz's user avatar
60 votes
3 answers
16k views

Who set the 640K limit?

We all know that "640K should be enough for everyone". But who actually set this limit? The quote is often attributed to Bill Gates, but it doesn't seem like a decision for an Operating System vendor ...
PkP's user avatar
  • 939
10 votes
1 answer
1k views

Amiga 500+ rev8A, 1 MB chip RAM and 0.5 MB slow RAM

I have an 500+ rev8A, I added the missing 0.5 MB RAM and the U32 to the motherboard. I also have 512 KB in the trapdoor. This results in 1.5 MB chip RAM; but I want to have 1 MB chip RAM and 0.5 MB ...
lasertank's user avatar
  • 101
18 votes
4 answers
3k views

Why did the TI-99/4 have two databuses?

Wikipedia says on Russian page: Однако к 16-разрядной шине были подключены только 256 байт статической памяти и системное ПЗУ. Остальная память (ОЗУ) и периферийные устройства были 8-разрядными и ...
Героям слава's user avatar
5 votes
3 answers
524 views

How does the PMD 85 display colour or greyscales?

I stumbled across this computer in an article on hackaday, Home computers behind the Iron Curtain and since it has this bizarre resolution, I looked closer into it. Some claims from Wikipedia: ...
Героям слава's user avatar
55 votes
8 answers
11k views

Why didn't the 8086 use linear addressing?

The 8086 used a segmented memory architecture where the linear address was computed from a 16-bit segment number and a 16-bit offset. This greatly complicated things from a programming perspective. ...
Alex Hajnal's user avatar
  • 9,240
11 votes
2 answers
1k views

How does JSR actually work on the 65c816 CPU for the SNES (Super Nintendo)?

Take the following machine code for the 65c816 for the SNES (Super Nintendo): 00000000 ea ea 78 18 fb c2 18 a2 ff 1f 9a 20 fa 80 e2 20 |..x........ ... | 00000010 a9 80 8d 00 21 a9 e0 8d 22 21 ...
AlphaCentauri's user avatar
8 votes
1 answer
2k views

How does Notepad store text files in memory?

Before I knew about line endings, I used to open small executables in Notepad and ruin them completely. However, some more complex executables (e.g. Paint Shop) were too big for Notepad, and I was ...
wizzwizz4's user avatar
  • 18.1k
9 votes
2 answers
1k views

Unused RAM Chips on x86 machines

On classic x86 machines the upper 384 KB of system memory contains video RAM and BIOS ROM Besides other things. Those areas overlay over conventional RAM, so that you can't use all upper memory, but ...
Arne's user avatar
  • 1,274
12 votes
2 answers
1k views

Is all 100% of a 64k Apple II memory usable?

Are there any areas of the 64k RAM which are permanently unusable by anything, whether by the built-in monitor ROM or user programs? Looking at $C000-C0FF, this is the "softswitch" area, and as far ...
Dale Mahalko's user avatar
  • 3,561
10 votes
2 answers
896 views

Behaviour of $D000-$D3FF section on the C64 during bankswitching

My question is about bankswitching behaviour on the Commodore 64. I'm writing a C64 game for a 16kb cartridge with EXROM and GAME pulled low, so the available bankswitching modes are (according to ...
E. Smith's user avatar
  • 101
3 votes
1 answer
371 views

Can the BBC Master co-processor execute a program in the I/O processor's memory?

Whilst researching the 65C102's memory layout, it occurred to me that, since the I/O processor's memory is mapped to 0xFFFFxxxx, it might be possible to store code there and execute it by setting the ...
wizzwizz4's user avatar
  • 18.1k
28 votes
2 answers
4k views

How did an IBM 5150 with 16KB RAM work?

I keep reading that when it was first released, there was a variant of the IBM PC model 5150 that had only 16KB of RAM installed. From a hardware perspective, this would clearly work - the 5150 ...
Jules's user avatar
  • 12.7k
12 votes
1 answer
2k views

Why are some soft switches on the Apple II only triggered with a write?

The Apple II uses memory mapped I/O and soft switches to do many things. One thing has confused me though: why are some soft switches only activated when written to? For example, 80COLON ($C00D) and ...
bjb's user avatar
  • 15.3k
20 votes
2 answers
3k views

How to check the C64 graphics mode used by Maniac Mansion

I have been investigating the MS-DOS port of the C64's Maniac Mansion game. The original MS-DOS port used the C64-specific character map to draw the various backgrounds in the game. I noticed that ...
user avatar
14 votes
5 answers
4k views

Mapping more than 64kb of address space

I'm planning out a 6502 homebrew build but seem to be stuck in the issue of buying parts. My plan is to extend the addressing capabilities of the 6502 by giving myself 64kb of RAM, and another 64kb of ...
user avatar
10 votes
3 answers
2k views

Why are the PPU registers on the NES mirrored?

[Please see answers to this related question as well] The NES Picture Processing Unit has eight memory-mapped registers to the CPU in registers $2000 to $2007. The are incompletely decoded, so they ...
JAL's user avatar
  • 9,382
14 votes
1 answer
4k views

What is this unused memory range in the Game Boy's memory map?

Here is a basic memory map of the Game Boy's 16bit address bus: 0000-3FFF 16KB ROM Bank 00 (in cartridge, fixed at bank 00) 4000-7FFF 16KB ROM Bank 01..NN (in cartridge, switchable bank number) 8000-...
JAL's user avatar
  • 9,382
30 votes
6 answers
4k views

Why is the Amiga ROM at a high memory location, and RAM in low memory?

When a 68000 CPU powers up, it reads a few words at memory location zero to get the initial stack pointer and program counter. That suggests to me that a computer system designer would put the system ...
Richard Downer's user avatar
14 votes
2 answers
2k views

How does the Commodore 64 address more than 64 kilobytes of memory?

So, the Commodore 64 has two special registers in locations $00 and $01. By writing to these registers, you can somehow turn on and off the ROMs and other things. The thing that I am not understanding ...
Героям слава's user avatar
12 votes
2 answers
797 views

Why did Amstrad choose such bank combinations for its all-RAM mode in +2A and +3 Spectrum computers?

The +2A and the +3 versions of the ZX Spectrum, made by Amstrad, had a new banking mode, called "special". This banking mode is entered by setting bit 0 of port 1FFD. When active, two bits from this ...
mcleod_ideafix's user avatar
15 votes
1 answer
944 views

What did POKE 842,13 on Atari do? (Jamming the Return key)

In quite a few programs on Atari, I found the self-programming trick: 10 GRAPHICS 0 : REM clear the screen, enter standard text mode 20 POSITION 2,4 : REM place cursor 4 lines from ...
SF.'s user avatar
  • 6,735
16 votes
1 answer
886 views

How did the Sideways address space work?

I was researching the BBC Micro when I found the Sideways address space: a 16KiB memory space allowing access to up to 16 16KiB external blocks of ROM (or RAM). But 16 blocks of 16KiB is 256KiB, ...
wizzwizz4's user avatar
  • 18.1k
15 votes
2 answers
1k views

What is this code on the zero page that was put there by the BASIC ROM?

(question copied from SO (from the days before RC.SE existed): http://stackoverflow.com/q/31877835/477476) Zero-page memory maps of the PET that I've found claim that the zero page address range$00C2....
Cactus's user avatar
  • 2,593

1
2