238
votes
Accepted
How did Commodore's anti-Microsoft Easter Egg work?
I'm the author of the TPUG article.
The "BILL GATES SUCKS" message isn't really an Easter egg; that was just a conceit of mine to make the article a bit more interesting and to turn it into a bit of ...
74
votes
Did computer games for Commodore 64 really take "25 minutes" to load "if everything went alright"?
Theoretically it could take 25 minutes (or more), in practice it never did.
Theoretically it could, because the C-64's built-in tape handling routines had a data rate of about 300 bit/s. That's 37.5 ...
64
votes
How did Commodore's anti-Microsoft Easter Egg work?
That's not a real easter egg. Someone just made an effort to find random seeds that produce the numbers to create the intended words. It would be an easter egg if the seed numbers were in some way ...
64
votes
Accepted
Why did Commodore fill their power supplies with epoxy?
Epoxy offers two advantages -- it is an electrical insulator, and it conducts heat better than air. Transformers and inductors are generally potted with epoxy for this reason. [ref] Perhaps the cause ...
63
votes
Accepted
Why are C64 games inconsistent with which joystick port they use?
As Wilson points out in his answer, it has to do with how the CIA chips interact with the keyboard and the joystick ports, and the confusion that can arise trying to determine where input is being ...
62
votes
Why did the VIC-20 and C64 have only 22 and 40 columns when the earlier PET had 80 column text?
One reason was likely that the VIC-20 and C64 did not have their own displays, but were designed to be connected to a television set. The interface between the computer and the television was not ...
61
votes
Accepted
Why do programmable sound generators like SID include a noise generator?
One basic distinction in acoustics is the one between sounds that oscillate with a pattern that is repeated over time and sounds that are chaotic in nature, and show no repetitive pattern.
Sounds ...
53
votes
How did C64 games handle music during gameplay?
Your assumptions about timing and interrupts are correct. Actually, it is surprisingly easy to add SID music to games because they tend to follow a basic pattern.
Compose the tune in a C64 SID editor....
52
votes
Accepted
Why did the C64 have ← and ↑ as dedicated keys?
The ← and ↑ symbols were originally included in ASCII-1963 as programming operators. They were used in a number of programming languages at the time, but the only common usage left today is in ...
51
votes
Accepted
Why did Commodore 64 cartridge games disappear?
Time to market was another factor. I worked in the games industry in the 1980s and when we were getting the final game from the developer, mastering to cassette and disk took just hours before they ...
48
votes
Why did the VIC-II and SID use 6 µm technology in the era of 3 µm and 1.5 µm?
After some more research, I believe I've stumbled across the real answer: The VIC-II and SID used a larger process node size because Commodore's fabrication line circa 1981 was uniquely positioned ...
43
votes
Accepted
How can I store a machine language program to disk on a C64?
I have looked all around online, but I cannot find on how to do this.
Well, you won't, as the C64's BASIC2 does not provide such function or a monitor. The old PETs had TIM in ROM, while BASIC 3.5 ...
41
votes
Accepted
Why do all the Speech Synthesizers have that same Voice?
The ones you list are all S.A.M, from what is now SoftVoice Inc. It was developed first for the Apple II, Lisa, Atari 8-bit machines and the Commodore 64; based on awareness of those versions, the ...
40
votes
Accepted
What is the Commodore 64C "France version" and why does it need a beefy resistor?
As noted in the question, the resistor is there to allow something to consume more current without voltage dropping too much.
But what consumes more current may not visible in the schematics.
France (...
39
votes
Accepted
C64 BASIC: How to suppress the '?' sign when using the INPUT command?
Use the INPUT# command.
The INPUT# command is meant for non-interactive I/O on files or devices, i.e. reading from a file on disk, serial port, whatever. Because it is non-interactive, it will not ...
38
votes
Accepted
Commodore 64 to modern TV
The VIC-II chip inside the C64 computer outputs a S-Video signal, which is mixed and modulated into the matal box that contains the UHF modulator circuit. Earlier models made composite video available ...
37
votes
Why did Commodore 64 cartridge games disappear?
A cartridge was limited to 16 kbytes ROM, and some were only 8k. There would be plenty of RAM to use, but the code and data must fit into the 16 kbytes. As programs became more sophisticated, the ...
35
votes
What was the purpose and history of the C64's special keys?
The Restore key triggered the NMI (non-maskable interrupt) line; to actually have an effect it had to be combined with Run/Stop - it would soft-reset the machine (via an indirect jump vector that ...
35
votes
Accepted
C64: Why is POS(π) faster than POS(0)?
That interpreter apparently parses the source text, or at least the numerical literal values, at every execution. π is a single-byte magic token, therefore, as soon as it is recognized, it is ...
34
votes
What's the deal with Commodore's RESTORE key?
TL;DR:
There is no fundamental difference just because a different interrupt is used. For all practical purpose the Restore-key works like the Apple II's Reset-key or the PC's Ctrl-Alt-Del key ...
34
votes
Accepted
Why does the Commodore 64 have 4K of non-banked RAM at $C000?
I wonder why the Commodore 64 memory map was created as it was.
As so often it helps to look at a machine's predecessor; in the case of the C64 that's not the VIC 20, but the Max Machine, a very ...
31
votes
Why did the VIC-20 and C64 have only 22 and 40 columns when the earlier PET had 80 column text?
Use of TV as monitor is the reason for these low resolutions.
The issue is that the color resolution of TV is very low. While B&W TV could resolve pixel small enough for ~400 to ~600 pixels, color ...
29
votes
Accepted
6502 ORA not updating the accumulator
I think your ORA D404 instruction is trying to read from the SID registers, which is not possible. You can't rely on the value read from that address. Register 04 is write-only.
If you want to do read-...
28
votes
Accepted
How to use BASIC after "LOAD "$",8 on the C64
Try using the "new" command. This clears BASIC's memory, so that you can write a new program.
28
votes
Who wrote the MS BASIC on the PET/C64/etc?
It is well established that Microsoft's 6502 BASIC (and Commodore BASIC is just a manufacturer specific adaption) is a port of the original 8080 BASIC done for the Altair -- alas, not a direct one, as ...
28
votes
Accepted
Are pixels on the Commodore 64 square?
The pixels are not exactly square, the actual aspect ratio depends on the TV system.
For PAL-B, the pixel aspect ratio is 0.937:1, the pixels are a bit higher than they are wide.
For NTSC, the ratio ...
28
votes
Accepted
Why does the VIC-II duplicate its registers? (C64)
It's called incomplete decoding.
Peripheral registers in the C-64 (and generally in the 6800/6502 world) are memory mapped, meaning that RAM, ROM, and all the peripheral chips (VIC, SID, and the two ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
commodore-64 × 311commodore × 27
assembly × 24
emulation × 24
6502 × 24
basic × 24
hardware × 18
commodore-128 × 17
history × 16
graphics × 15
programming × 15
disk-drive × 14
floppy-disk × 13
video × 13
vic-20 × 13
sid × 11
gaming × 10
game-cartridge × 10
joystick × 10
memory-layout × 9
cassette-tape × 9
commodore-pet × 9
cc65 × 9
memory × 8
power × 8