Why did BASIC programs tend to READ a redundant copy of DATA?
Take for example this BASIC version of ELIZA which starts out (in lines 50–170) by a number of READ loops which copy DATA (lines 1340 and following) into a handful of arrays.Isn't this rather wasteful...
View ArticleHow much memory did the PlayStation development kit have?
The PlayStation 1 had two megabytes of main memory, one megabyte of video memory and half a megabyte of audio memory. Squeezing everything to fit into these limits was one of the big challenges of...
View ArticleHow 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...
View ArticleDid any 8-bit computers use 16kx4 RAM chips?
An 8-bit computer wanting 64K of RAM, could most straightforwardly use eight 64kx1 DRAM chips (64kbit, 1 data line). The Commodore 64 initially did this, but in the mid-80s, the cost-reduced redesign...
View ArticleDid 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)...
View ArticleHow did the X-Men game for Sega Genesis have its state survive a console reset?
The Sega Genesis system had a rather interesting game. X-Men (1993) was based on the popular cartoon version of the comic book series. But it had what was still one of the most unique (and unintuitive)...
View ArticleLargest memory peripheral for Sinclair ZX81?
Back in the early to mid 1980s, 1981-1983, I vaguely recall seeing an advert in a (I think) UK based computer periodical monthly (such as Your Computer, or Computer and Video Games), for a memory...
View ArticleDid any x86 CPU optionally trap unaligned access?
x86 CPUs have always supported unaligned load/store.Early RISC CPUs didn't. So imagine writing portable code on a 386. It seems to work fine, but how do you know you haven't accidentally misaligned...
View ArticleIs this the reason why fread/fwrite has 2 `size_t` arguments?
It just came to me that, the C standard I/O functions fread and fwrite are having 2 size_t arguments because of I guess possibly, that on some systems, there may be more memory of which whose size can...
View ArticleDid anyone use quarter-bad RAM chips?
There was a time in the early 80s when 64k RAM chips had a significant defect rate, such that half-bad ones could be obtained at a discount. Some computer manufacturers such as Sinclair and Tandy took...
View ArticleWhy did DOS-based Windows require HIMEM.SYS to boot?
My understanding is that all versions of Microsoft Windows that ran on top of DOS — that is, the lineage from Windows 1.0 up to Windows ME, even though the reliance on DOS diminished over time —...
View ArticleVAX 11/780 16MB memory board - what was the physical size?
I'm trying to get a feel for what it looked like when you designed a computer to have a lot of memory chips stuffed into it. To that end, I found this:...
View ArticleDid 486 SMP systems provide Total Store Ordering?
Cache-coherent SMP (symmetric, or shared-memory, multi processing) systems can provide various grades of memory ordering guarantees, the stronger ones being more expensive but making it easier to write...
View ArticleWere there any games/software that used memory beyond what was advertised...
Were there any games/software that used memory beyond what was advertised as available to BASIC on the machine ?On home / personal computers any time up to 1984 .Without needing to plug in any...
View ArticleWhat 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...
View ArticleWhen did the PC bus start slowing access to video RAM?
The PC architecture, from the original IBM PC onward, has always been designed around the idea that video memory will be on an expansion card. This was an unusual design decision; most 80s computers...
View ArticleCould the Z80 do interference-free video as the 6502 could?
Technically this isn't just about video since it applies to any regularlyscheduled DMA¹ from a non-CPU subsystem, but video is the most commonapplication of this technique so I'll use that as the...
View ArticleWhy do old computers (PCs) 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:...
View ArticleWhat are the minimum system requirements to run GW-BASIC?
In DOSBox 0.74, I can run GWBASIC.EXE without any problem (DOSBox reports 632 KB of free conventional memory). It is GW-BASIC's version 3.10 dated 01-07-1989 with filesize 72576 bytes. On screen it...
View ArticleCould today's flash memory be used instead of RAM in 1980s 8 bit machines?
I wonder if this is possible and could be a retro-project? (Not something I would try myself, though)The bandwidth of flash is surely faster than yesterday's 1980s RAM (?)Why? One possible interesting...
View ArticleWas it possible to write a novel on a BBC Micro 16kb/32kb memory era computer...
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...
View ArticleWhat is “character memory” to which the VIC-II memory setup register refers?
I'm trying to understand how video memory worked on the Commodore64 in text mode. I see that the VIC-II has a memory setup register (at $D018) that keeps track of some of this information along with...
View ArticleIn a 48K Spectrum why are there 5 successive contended cycles in JR?
In a 48K Spectrum, the contention pattern for the JR instruction (see e.g. https://sinclair.wiki.zxnet.co.uk/wiki/Contended_memory) is:pc:4, pc+1:3, pc+1:1, pc+1:1, pc+1:1, pc+1:1, pc+1:1There is an...
View ArticleWhat happened to 1T-SRAM?
SRAM cells take 6 transistors per bit. A long time ago, a company called Mosys claimed they could replace this with just 1 transistor, also claiming it was as fast as true SRAM. Not only that, but...
View ArticleHow did the IBM PC handle multiple physical devices serving memory at the...
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...
View ArticleHow much trouble was it to program segmented memory (8086)? [closed]
50 years ago, segmented memory allowed short instruction words to address high memory (above 64K) by saving the high bits of the memory address in something called the segment register.Then the short...
View ArticleWhy did programmers keep using EMS when XMS became commonly available?
I used to spend hours trying to get all of my drivers loaded in such a way that DOS games would still run. I actually managed to get a game that claimed it could not be run with DoubleSpace because of...
View ArticleWhat aspect of resetting a NES explains bits of game state being preserved?
I owned a Paperboy cartridge for the NES and something odd I noticed was that the random order of houses in the game stayed the same between pressing the Reset button, but were different when turning...
View ArticleWhich 8086 or 8088-based computer, probably made by Zenith, offered EMS...
During one of my early jobs, circa 1987, I wrote some stepper motor control and data acquisition software for an MS-DOS computer in Turbo Pascal. I'm trying to recall the computer model. I'm pretty...
View ArticleHow did MS-DOS utilities like 386MAX relocate drivers from lower 640 KB to...
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...
View Article