Questions tagged [memory]

For questions about computer memory in a retrocomputing context

Filter by
Sorted by
Tagged with
39
votes
4answers
8k views

When did computers stop checking memory on boot?

I remember my old 8088 used to do this (640K OK) but can't remember seeing anything like this since. Does this still happen and it's just not visible? If not, when did it stop, and why? (Imagining ...
32
votes
7answers
10k views

Last computer not to use octets / 8-bit bytes

I am old enough to remember computers that were not octet oriented. E.g. the first that I used was an ICL 4120. It had 24 bit words which were, when necessary, divided into four 6-bit characters. ...
28
votes
1answer
3k views

Did DOS zero out the BSS area when it loaded a program?

As an example, say we have a DOS MZ EXE file that's around 20 KiB in size. The EXE header contains the value 0x1400 at offset 0x0A indicating that the program is requesting 5,120 paragraphs (or 80 KiB)...
26
votes
7answers
14k views

How can you run a program that is bigger than RAM?

Suppose you have a program that is 218 words long. However you are using a 16 bit machine and have 216 words of RAM. (The RAM is directly addressed by the CPU). On the other hand, you have unlimited '...
26
votes
6answers
3k views

Core Memory Stability

How reliable was the ferrite ring core memory system? When the power went off, did all the magnetic positions of the iron rings in the program wire grid remain exactly as they were?
25
votes
4answers
4k views

Why was it common to reference memory locations using negative numbers on some BASICs?

If you had an Apple II, it was common in BASIC to reference memory locations above the 32K point by using a negative number. For example, if you wanted to click the speaker you would PEEK/POKE -16336 ...
25
votes
6answers
14k views

Windows 98 with 2GB of RAM

I have assembled a retro-gaming PC out of an old Shuttle SN45G with a Windows 98/Windows XP dual boot. The motherboard can handle 2GB of RAM, but apparently Windows 98 can only handle 1Gb. Windows ...
25
votes
2answers
3k views

Details of video memory access arbitration in Space Invaders

I am working on an FPGA implementation of the original Space Invaders arcade machine and I'd like to implement access arbitration between the CPU and the video system. I can imagine several ways of ...
23
votes
1answer
2k views

What is a dropfile?

After reading Charles Duffy's comment on Was there a clearly identifiable "first computer" to use or demonstrate the use of virtual memory?: I had a computer science professor around 1999 ...
22
votes
2answers
4k views

What happened to bubble memory - is it still being sold?

At one time bubble memory was advertised as being able to store huge amounts of data in the size of a sugar cube. I don't remember what the memory density was compared to today's SD cards. What ...
21
votes
4answers
5k views

What were wait-states, and why was it only an issue for PCs?

PC compatibles in the 1980s were often advertised as having zero, one, two, or sometimes more "wait states". Zero wait states was the best. Basically, the wait-states I am asking about are due to the ...
21
votes
3answers
5k views

How does the Gameboy's memory bank switching work?

I'm writing a Game Boy emulator, but I don't completely understand how its memory mapping works. Here is what I (think) I know (and don't know). The CPU can address up to 0x10000 memory locations ...
20
votes
8answers
5k views

Which CPUs, if any, had an 8-bit address space?

Even the Intel 4004, which had a 4-bit word size, had a 12-bit address space. I'm wondering if any commercial CPUs had an 8-bit or similar address-space for programs, data, or both. I'm particularly ...
19
votes
11answers
4k views

Was it possible to write a novel on a BBC Micro 16kb/32kb memory era computer without expansions?

BBC Micro model B has 32k memory. An average book, like Mary Shelley's Frankenstein, has about 350,000 characters in it. So you'd need over 10 times the memory to load it in, plus the software to edit ...
19
votes
2answers
2k views

68000 and memory access speed

On the one hand, I get the impression that memory chips around 1980 could be accessed no faster than 2 MHz. On the other hand, the 68000, introduced in 1979, had a typical clock speed of 8 MHz. How ...
19
votes
2answers
3k views

How did the ZX80 store both a useful program and screen memory?

I have a vague recollection from my earliest days that the ZX80 only shipped with 1K of RAM. If this RAM was used to store both the program and the contents of the 32x24 screen, wouldn't that mean ...
19
votes
2answers
2k views

Why do old computers perform a long memory test on every boot?

Basically any computers from the mid 90s and earlier perform a slow memory check on every single boot. The more memory there is present, the slower that process becomes, for example: https://www....
19
votes
1answer
849 views

Which computers had features added purely for tax reasons?

I was recently reading about the Amstrad CPC 472, which was a CPC 464 with an extra, unusable 8KB of RAM added to avoid Spanish import fees on computers with 64KB or less. Did any other computers have ...
18
votes
12answers
5k views

Did early assembly games use hardcoded memory locations?

In the era of C64, Apple][ GS, and SNES, did the games use hardcoded memory locations, or did they let the assembler help them (like modern assemblers)? If yes, how did they manage the memory?
18
votes
5answers
3k views

80s DRAM chips: one per bit of data bus width?

As I understand it, in the eighties the typical way of handling memory was one RAM chip per bit of data bus width. Suppose you were building a 16-bit machine and you wanted to give it 32K of RAM, you ...
18
votes
3answers
4k views

Why did the Cray-1 have 8 parity bits per word?

According to https://en.wikipedia.org/wiki/Cray-1 The Cray-1 was built as a 64-bit system, a departure from the 7600/6600, which were 60-bit machines (a change was also planned for the 8600). ...
17
votes
3answers
3k views

Do you need to allocate memory before you use it in MS-DOS?

In modern operating systems (for example: Windows), you can't access a memory location before you allocate that memory location to your program (or else a segmentation fault will occur). I am ...
16
votes
2answers
4k views

What is causing the problem with the RAM in this (claimed) Spectrum 48k?

I bought what was claimed by the seller to be an Issue 4S Spectrum 48k. I tried loading games and some worked while others didn't. Turns out it was the 16k ones that worked and 48k didn't. This ...
16
votes
3answers
2k views

How did the IBM PC handle multiple physical devices serving memory at the same physical address?

I'm trying to figure out how the IBM 5150 PC handled the case where multiple physical devices (memory chips) were mapped to the same address within the 8088's physical address space. The closest I've ...
15
votes
6answers
1k views

Was photographic film ever used for digital data storage?

I was thinking about how Williams Tubes worked and how one could hypothetically "snapshot" (quite literally!) the state of a computer's memory by simply taking a photograph of the phosphor end of a ...
15
votes
6answers
4k views

Can a 16K computer be upgraded to 64K?

A slightly odd question, but is it possible to take an old 16K computer that wasn't designed for memory upgrades, such as a Commodore 16 or PET 4016, and upgrade it to 64K as a hardware hack? I'm not ...
15
votes
1answer
639 views

Under what circumstances would RAM locations 0 and 1 be written and/or read on the C64?

To be clear, I'm talking about the actual memory cells at addresses $0000 and $0001 in the DRAM chips. Devices can of course initiate read or write requests to these address on the address/data buses ...
14
votes
3answers
2k views

Speed of early ROM versus RAM chips

In the late seventies, up through around 1981, the maximum access speed of off-the-shelf RAM chips was around 2.6 MHz. Did the same speed limit apply to ROM chips of the same era? If not, what would ...
14
votes
2answers
966 views

Historical price of ROM

Historical price charts for RAM are quite readily available, e.g. in the mid-seventies a ballpark figure was a penny a byte. What was the price of ROM (assuming you were getting the chips produced in ...
14
votes
3answers
547 views

Did any computers use automatically-operated mechanical storage as electronically-read-addressable memory

From what I understand of ENIAC, it had a very large number of manually-operated rotary switches which behaved as ROM. While programming ENIAC in the early days required a plugboard, the machine was ...
13
votes
3answers
3k views

What happened to ZIP RAM?

I have several retro machines and add-on cards for the Amiga that use ZIP RAM. This vertically mounted chip design enjoyed a brief popularity in the early 1990s, in between the original DIP DRAM and ...
13
votes
7answers
2k views

Z80 and video chip contending for random access

Back in the 8-bit days, I used 6502 computers, where the story about memory access was easy to understand. RAM chips of the late seventies and early eighties could do 2 MHz (or a bit more e.g. 2.6 in ...
13
votes
2answers
2k views

Why does the Galaksija use SRAM instead of DRAM?

From what I understand, SRAM is more expensive than DRAM, but takes less support circuitry. That doesn't matter though, since the Z80 includes everything needed to refresh and support DRAM, doesn't it....
13
votes
2answers
1k views

What was the design of the Macintosh II's MMU replacement?

I am in the process of repairing a Macintosh II and trying to understand the design rationale behind Apple's MMU replacement part installed in this machine. As you can see in the picture, there is a ...
13
votes
2answers
579 views

Protected/virtual memory support in classic AmigaOS

It is a well-known fact that AmigaOS is a single address space, totally unprotected memory operating system. The original implementation ran on a Motorola 68000, that did not support virtual memory if ...
13
votes
1answer
358 views

How did restarts resolve parity errors triggered by broken core-rope wires?

In his account of the history of the Apollo Guidance Computer, Don Eyles describes the role of a parity bit as follows (p. 80): ... if one of those hair thin wires in our woven core-rope memory ...
12
votes
6answers
2k views

Memory-limited workloads

I'm trying to figure out whether computing workloads, particularly those related to science and engineering, have historically been limited by memory or CPU. (By the former, I mean not memory access ...
12
votes
6answers
800 views

Largest ratio between base and maximum RAM

For example, the Apple II originally shipped with a base 4K of RAM but could be expanded to 48K, so the maximum was twelve times the base. Of all the computers ever shipped, which one has had the ...
12
votes
1answer
1k views

What manages Upper Memory Blocks (UMBs) in MS-DOS?

I had always assumed that EMM386.EXE was responsible for managing the Upper Memory Blocks - UMBs - the memory space between 640KiB and 1MiB in real mode x86. For example, on MS-DOS 6.22, help emm386....
12
votes
2answers
289 views

Was the Commodore 128 movable zero page / stack and second block of color RAM actually used?

The Commodore 128 hardware allowed two things that weren't possible on the C64: Moving the 6502 zero page and 6502 stack to another place in RAM besides pages 0 and 1, and switching the CPU and/or the ...
11
votes
3answers
867 views

IBM PC expansion card latency

In the IBM PC and early successors and compatibles, it was commonplace for most of the computer's memory to be on cards in general expansion slots. (e.g. the original IBM PC could take 64K on the ...
11
votes
3answers
478 views

ZX80 BASIC checking free memory

Did ZX80 BASIC have a way to check how much memory you were using and how much was left? Or otherwise: if you were writing a program on a machine with the RAM expansion, was there a way to tell ...
10
votes
3answers
2k views

On a Gameboy, what happens when attempting to read/write external RAM while RAM is disabled?

According to the GBdevwiki: 0000-1FFF - RAM Enable (Write Only) Before external RAM can be read or written, it must be enabled by writing to this address space. It is recommended to disable ...
10
votes
4answers
1k views

How did DOS know where to load itself in upper memory?

If I remember correctly, you could ask DOS to load in upper memory by writing something like... DOS=UMB ...somewhere in the CONFIG.SYS file. But the question is, how did DOS know what portions of ...
10
votes
3answers
1k views

Why are the PPU registers on the NES mirrored?

The NES Picture Processing Unit has eight memory-mapped registers to the CPU in registers $2000 to $2007. The are incompletely decoded, so they are mirrored every 8 bytes from register $2008 to $...
10
votes
2answers
965 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 ...
10
votes
1answer
891 views

What sort of RAM chips did the Commodore 64 use in 1994?

For the first few years after its release in 1982, the Commodore 64 used eight RAM chips of 64kbit each. In the late eighties, it became cheaper to use a pair of 256kbit chips of the 4-bit-wide ...
10
votes
1answer
915 views

How to identify size of a 30 pin SIMM (Atari 1040 STe)

I have recently acquired an Atari 1040 STe with 1MB of RAM. I read that you can extend its RAM with 30 pin SIMM up to 4MB. But it can be done only with 256KB or 1MB SIMM, and that 2MB, 4MB, 8MB and ...
10
votes
2answers
2k views

When did 64K RAM become about as cheap as 16K?

In the days of 8-bit computers, two of the more common memory configurations were 16K and 64K, implemented as eight RAM chips of 16kbit or 64kbit respectively. The setup was one chip per bit over the ...
10
votes
1answer
605 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 ...