All Questions
1,074
questions
19
votes
3
answers
4k
views
How do CGA emulators for Hercules graphics work?
HGC cards on IBM PCs used to be able to run CGA software by using a CGA emulator. How exactly did those programs work? What were the limitations?
19
votes
1
answer
3k
views
Where does the hierarchical directory structure originate from?
Windows, Macintosh, Unix/Linux: today, they all support a hierarchical directory structure. The differences are in the details (mount points vs drive letters), but all use a hierarchical directory ...
19
votes
7
answers
5k
views
What video connections were common in Europe?
What video connections were common on European TVs and monitors during the "retro" era?
In the USA, first there were none on TVs (RF screw terminals only) and monitors had composite (yellow RCA, CVBS)...
19
votes
6
answers
2k
views
Limiting factor on sprite sizes
Early consoles and home computers that were optimized for games, tended to provide sprites. From a game programmer's viewpoint, these were good to have. Of course, one always wanted more and larger ...
19
votes
8
answers
7k
views
Why did IBM PC have horizontal cursor instead of vertical or block cursor?
Most 8 bit machines, like C-64, seem to have block cursors, while modern user interfaces often have vertical cursors. PC has horizontal cursor of two (or 3) scanlines by default, and block cursor for ...
19
votes
11
answers
4k
views
What was the earliest system to explicitly support threading based on shared memory?
The notion of multiple processes has been around a long time, at least since the IBM 360. Multiple processes running at the same time, in separate memory spaces with protection from each other.
(In ...
19
votes
2
answers
2k
views
First computer emulator in Windows
I released my ZX Spectrum emulation Wspecem, and GPL sources first time publicly in the Internet at large, the 15th May 1996, for Windows 95.
I am quite sure it was the first ZX Spectrum emulation ...
19
votes
1
answer
3k
views
What's the timeline of Motorola 6800-family CPUs from 1974 to 1979?
According to Wikipedia, The Motorola 6800 was released in 1974. Between that and the release of the 6809 in 1979 (or 1978?) there was at least one other 6800-series CPU released, the 6802 ...
19
votes
2
answers
2k
views
How were 4-digit IC part numbers assigned?
It seems that integrated circuits of the 1970s tended to have 4-digit part numbers. This includes not only the ones that came to be well-known like CPUs (Intel 4004, 8008, 8080, 8085, 8086, 8088, ...
18
votes
7
answers
6k
views
What should be the waveform for ZX Spectrum tapes?
I am digitizing about 40 tapes with programs for the ZX Spectrum.
I am somewhat puzzled by the waveform after digitization.
The signal of most cassettes is meander-shaped.
One of the cassettes can ...
18
votes
1
answer
5k
views
How many lines of code were in the first Unix version (with the Thompson shell)?
How many lines of code were in the first Unix version (with the Thompson shell)?
Given that the modern Linux kernel has about 15 million lines of code, I do wonder of the amount with the first Unix ...
18
votes
5
answers
6k
views
What was the first multiprocessor x86 motherboard?
I know dual socket motherboards were around in the 90's before Intel released the Core series. And SMP hardware and operating systems have been around earlier than the PC platform of course.
...
18
votes
1
answer
1k
views
Why is the 8254's default rate 18.2 Hz?
The Intel 8253/8254 timer, in its default configuration, triggers IRQ0 18.2 times per second. Why this strange rate, and not something like 60 Hz (to match the most common video refresh rate) or 100 ...
18
votes
1
answer
7k
views
Which original retrocomputer OS's are still maintained and updated today, for original hardware?
I would like to know which original Operating Systems that run on retrocomputers are still being actively maintained and updated. This only applies to retrocomputer OS's that may still be used on ...
18
votes
3
answers
2k
views
How did the original Apple Macintosh and Atari ST use protected mode?
The Macintosh, ST, and Amiga were all 68000 CPU systems released in 1984-85, along with their respective new Operating Systems. While this was 5 years before protected mode became commonplace on Intel ...
18
votes
1
answer
1k
views
How to move sprites to the border on c64?
As far as I know, there is no register in the VIC-II, which would enable this.
Despite that, in nearly all intros and in many cases even in old games, sprites on the border were visible. Actually, it ...
17
votes
3
answers
2k
views
Why did the Sinclair ZX-Spectrum use a membrane keyboard?
As a kid, I always had problems with the keyboard. Membrane was hard to come by and expensive. I did not have Kempston/Protec. So I had to play on the keyboard.
I was using QAOPMN combination, and ...
17
votes
1
answer
3k
views
Why was the 6502 version of Microsoft BASIC coded like the 8080 and 6800 versions even though this was rather inefficient?
It's quite clear that the 6502 version of Microsoft BASIC at all levels uses substantially the same structure and technique as the earlier 8080 and 6800 versions. As has been pointed out in various ...
17
votes
4
answers
6k
views
Why did 3.5" floppies win (and not another size)?
It's an open question whether desktops would've kept using 5.25" until the end of the floppy era, but laptops meant something smaller was going to be introduced; that much was essentially ...
17
votes
3
answers
2k
views
Ideal resolution for color computer on NTSC
Suppose you were, in the early eighties, designing a color computer to run on an NTSC TV with a free hand to choose the specifications within the limits of the technology of the time. What would be ...
17
votes
3
answers
3k
views
Who decides what is the memory address that the CGA video buffer will be mapped to?
In DOS, the memory mapped IO base address for the CGA video buffer is 0xB8000. So when you write to 0xB8000, you are actually writing to a buffer in the CGA card itself and not to RAM.
What I want to ...
17
votes
3
answers
1k
views
x86 as a Pascal Machine?
From this answer by gsg about the usage of certain x86 instructions:
Note that the x86 was originally designed as a Pascal machine, which is why there are instructions to support nested functions (...
17
votes
3
answers
8k
views
Why were early 3D games so full of muted colours?
A lot of games from the PS1 and especially PS2 era are full of low contrast greys and browns and not much else. Some examples:
Why is this? Was it just a design decision, or was there a technical ...
17
votes
9
answers
4k
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 ...
16
votes
4
answers
4k
views
For fast scrolling DOS games, when was Mode13h preferred over Mode X?
Back in the DOS days of gaming (more specifically, 80286 - 80486 era), developers typically needed to choose between using the chunky and easier Mode 13h or the more complex "Mode X" that provided ...
16
votes
1
answer
938
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, ...
16
votes
5
answers
4k
views
Adding the third floppy drive?
I've seen a few computers with more than two floppy drives, most with two 3.5" and one 5.25". My question is how was this achieved? I've heard that it could be done with a second controller card, but ...
16
votes
1
answer
4k
views
Why does the C64 have the following palette?
The Commodore 64 has the following fixed palette of 16 colours:
(Your palette may vary due to tuning of screen, etc.)
What was the reason for this selection of colours? Are these colours ...
16
votes
1
answer
7k
views
How to write directly to video memory using "debug.exe" in MS-DOS?
The base address for the video memory in MS-DOS is 0xB8000. I am trying to write to this address using debug.exe, but I am getting an error:
1165:0103 mov [b8000],ax
^ Error
16
votes
12
answers
8k
views
How can a Z80 assembly program find out its own memory address?
I'm wondering how to write a program in Z80 assembler that discovers its own memory location.
I thought that maybe I could somehow load the program counter PC into, for example, BC.
Is there a way ...
16
votes
2
answers
582
views
Inserting NOPs to improve IIgs shadow copy performance
The answer to this question discussed a technique on the Apple IIgs for copying memory onto itself. The motivation for the technique was to maximize use of "fast" (2.8MHz) RAM over "slow" (1MHz) RAM ...
15
votes
1
answer
906
views
What format is used for CoCo cassette tapes?
Color Computer machines initially used audio cassette tapes for storage. How was the data stored? What was the maximum bit rate?
15
votes
4
answers
6k
views
How could early computers perform data operations before John von Neumann proposed the concept of ALU?
According to Wikipedia, John von Neumann proposed the Arithmetic and Logic Unit concept in 1945.
Mathematician John von Neumann proposed the ALU concept in 1945 in a report on the foundations for a ...
15
votes
1
answer
1k
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 ...
15
votes
2
answers
3k
views
How do C64 cartridges swap running programs without losing state and context?
I recently picked up a 1541 Ultimate II+ for my Commodore 64 and have been amazed at how this device seemingly can do every flash memory and other enhancement feature for the machine, short of CPU ...
15
votes
2
answers
3k
views
Why did the PlayStation 2 implement backward compatibility that way?
It is well known that the PlayStation 2 implemented compatibility with the previous console by essentially incorporating a PS1 on a chip.
The fact of backward compatibility is unremarkable as far as ...
15
votes
2
answers
3k
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 ...
14
votes
3
answers
2k
views
How did the PDP-8 handle strings?
The PDP-8 was a popular 12-bit minicomputer of the late sixties. It used word addressing, so that it always dealt in 12-bit words, of which it could address 4096 with a full bank of core memory.
In ...
14
votes
7
answers
6k
views
Transfer files to DOS over serial cable from Linux?
I have a modern Linux computer and a 286 computer running DOS. I would like to transfer files from the Linux computer to the DOS computer over a null modem serial cable. I know you can use INTERLINK....
14
votes
10
answers
5k
views
Can one isolate processes on a 8086?
I've read that modern OSes rely on hardware-powered process isolation to prevent processes (and/or users) from clobbering each others' RAM. But on Intel processors, this hardware was first included in ...
13
votes
1
answer
2k
views
What is the exact bus protocol used by the C64/C128 REU?
The Commodore 64/128 RAM Expansion Units used a DMA controller
to move data between the REU's RAM and system RAM (or I/O space). One
would set the addreses, length and direction for the transfer (or
...
13
votes
1
answer
1k
views
Did Nintendo pay WDC for their use of the 65816 core?
When Nintendo used the 6502 core in the NES (as part of the Ricoh 2A03/2A07 microprocessor and sound generator), they circumvented the 6502's patent protection by disabling the BCD arithmetic. As a ...
13
votes
2
answers
2k
views
What was the first x86 CPU to use a cache of any kind?
I believe the 80286 had a prefetch instruction queue, but did it have any other forms of cache? Was the 80386 the first x86 CPU to have a cache?
13
votes
3
answers
2k
views
Ada and its candidate languages
If one considers the languages which were considered as a basis for Ada, as listed in the "Report to the High Order Language Working Group" at e.g. http://bernd-oppolzer.de/DoD-Language-...
13
votes
1
answer
3k
views
On what Apple II and II+ keyboards can the ']' character be generated?
It had long been my impression that while brackets [ and ] could
be displayed by the Apple II, the standard Apple II keyboard was not
capable of generating them.
Some time ago I noticed that on this ...
13
votes
1
answer
865
views
What is the prototype of the Eastern Bloc videoterminal Videoton 340?
Several decades ago, the Hungarian company "Videoton" manufactured a videoterminal for which I couldn't find a Western prototype. It likely existed, as the device had been assigned a "ES" number, ...
13
votes
5
answers
468
views
Preventing socketed chip corrosion?
I spent a couple hours repairing an Amiga A3000 that wouldn't boot yesterday. The fix was to remove Kickstart ROMs, clean the DIP leads and sockets with contact cleaner, and re-insert. Apparently a ...
13
votes
4
answers
4k
views
Writting DSK images onto a 3″ floppy for Amstrad/Sinclair computers
For a project I'm working on, I need to write some disks to test on my Amstrad CPC 6128.
I've got some 3″ blank disks, and all my Amstrad computers (CPC and PCW) have 3″ disks, as well as my Spectrum +...
13
votes
1
answer
4k
views
Is the only reason that my PAL NES is able to run NTSC/American games that it's doing it on an EverDrive?
I have an original PAL NES console. To the best of my knowledge, it is entirely unmodified.
I have an EverDrive N8 Pro inside on which I've put a bunch of European/PAL ROMs, but also a few NTSC/...
12
votes
1
answer
1k
views
Can PDP-11 general registers be referenced by memory addresses?
From time to time it is mentioned in RC that the PDP-11 general registers R0-R7 are accessible at addresses 177700 to 177717 (considered as 16 bit program addresses).
The mapping is as follows, again ...