Hot answers tagged

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 ...
Greg Hewgill's user avatar
  • 6,869
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 ...
Patrick Schlüter's user avatar
30 votes
Accepted

Why does the VIC-20 have 5KiB of RAM?

Simple reason: Commodore had an overstock of 2114 Chips at that time (*1), so Jack Tramiel, then president of Commodore, ordered the project (*2) to use them. Yeah, but why 5 KiB? Why not just 4KiB? ...
Raffzahn's user avatar
  • 220k
29 votes

Why does the C64's LIST command choke on REM statements with a Shift+L?

Internally, a BASIC program isn't represented as the text you see when you list it, but as a tokenized data structure where each of the language keywords are represented in an optimized 1-character ...
Retrograde's user avatar
  • 4,506
22 votes
Accepted

What was the end of line convention for text files on the 8-bit Commodores

C64 Basic used a CR as EOL for disk files. (source: Commodore SX-64 User's Guide, page 22: “CR stands for the CHR$ code 13, the carriage return, which is automatically PRINTed at the end of ever ...
scruss's user avatar
  • 21.5k
21 votes
Accepted

Were cartridge slots cheaper at the back?

Maybe it's just that it was a few cents cheaper to build that way. The company was certainly very focused on cost reduction. Yes, it was. Not much, but there are several small savings: The board ...
Raffzahn's user avatar
  • 220k
18 votes
Accepted

cprintf printing invisible characters in C program on VIC 20

The Fix for cc65 This was discussed in cc65 issue #946 and fixed by cc65 PR #965. That was merged to the master branch on 2019-10-26, and should appear in V2.19 of cc65. (I don't know when that ...
cjs's user avatar
  • 25k
18 votes

VIC-20 vs. VC20 (or VC-20)

VIC-20 vs VC20 (or VC-20) In all original documents only VC20. Often stylised with the C as the commodore logo "C=". The intended naming was always Commodore<space>VC20, like written ...
Raffzahn's user avatar
  • 220k
17 votes
Accepted

Why did the VIC-20 and C64 have only 22 and 40 columns when the earlier PET had 80 column text?

Space on a chip die was very limited - you couldn't just put an unlimited amount of functionality into one chip. If you have a closer look at video chips used in 8 bit computers, they either feature ...
Venner's user avatar
  • 1,684
16 votes

VIC20, VIC-20, or VIC 20?

To start with, it was of course VC-20: SCNR. In general I'd say VIC-20 would be the most consistent spelling. To start with, Commodore's own technical manual gives a good base, as here was no reason ...
Raffzahn's user avatar
  • 220k
15 votes
Accepted

Why does the C64's LIST command choke on REM statements with a Shift+L?

What I don't understand is why this quirk exists and how it works. As usual, lousy programming. It's a routine that exists in next to every Microsoft Basic, but often modified by the receiving ...
Raffzahn's user avatar
  • 220k
15 votes

Is there software that will run across multiple Commodore 8-bit machines without modification?

BASIC games that use no memory specific code can be ported between different commodore machines. (I did some successfully between PET and C64). Machinecode games could be transferred between some ...
EL Dendo's user avatar
  • 1,112
14 votes
Accepted

Did the VIC-20 support raster scanline tricks like the Commodore 64?

You're correct; the only interrupts on offer in a Vic-20 are those from a VIA — they're plain old 6522s in the Vic-20, not 6526s. The original VIC chip exposes the current scan line via a couple of ...
Tommy's user avatar
  • 36.6k
14 votes

Were cartridge slots cheaper at the back?

If a machine has a vertical cartridge slot on the top, it's liable to have junk fall into it unless it either has a door, or unless something is left in it. The Odyssey2 video game system simply had ...
supercat's user avatar
  • 35.7k
13 votes
Accepted

Is it possible to bank out Kernal in Commodore PET, VIC-20 or 264 series computers?

You cannot do that on the VIC-20; not only is no such feature provided by the built-in hardware but there's also no ROMDIS signal on the memory expansion bus or anything else similar. PETs with a ...
Tommy's user avatar
  • 36.6k
12 votes

Is there software that will run across multiple Commodore 8-bit machines without modification?

It seems that Michael Steil at pagefault.org has recently posted an analysis of the KERNAL calls from all of the Commodore 8-bit machines to try and track lineage. However, what is relevant here is ...
bjb's user avatar
  • 16.2k
12 votes

Why does the C64's LIST command choke on REM statements with a Shift+L?

The answer by @Raffzahn is close, but it has at least one important detail wrong: the total length of the token names has nothing to do with it. The following facts all all relate to the issue. ...
Rhialto supports Monica's user avatar
12 votes
Accepted

Why does the Vic-20 have two VIA chips?

[Not sure if I understand the question in full] A parallel port chip like the 6522 is about providing port lines. In case of a 6522 these are 16 lines (two 8 bit ports) for arbitrary use plus 4 ...
Raffzahn's user avatar
  • 220k
12 votes
Accepted

Why did the Vic-20 need special chips for I/O?

Commodore owned MOS technologies, who made the VIA chips. Although the VIC-20 might have been able to replace a VIA chip with a 4051, a 74LS139, a couple of 74LS373s, and eight resistors, I don't ...
supercat's user avatar
  • 35.7k
12 votes

VIC20, VIC-20, or VIC 20?

According to this 1983 Commodore catalogue it is VIC 20 with a space. The owner's manual also refers to the machine as VIC 20 with a space, though they seem to occasionally omit the space. I note ...
Mark Williams's user avatar
12 votes

Why did the VIC-20 and C64 have only 22 and 40 columns when the earlier PET had 80 column text?

The monitor is physically attached - part of the unit There's no video port. You have to use the built-in monitor. As such, Commodore simply chose a monitor fit for 80 columns. That wasn't hard, ...
Harper - Reinstate Monica's user avatar
10 votes
Accepted

Commodore VIC-20/64/128/16/Plus 4 floppy disk drive replacement

SD2IEC SD2IEC is a free software which turns an ATmega644 microcontroller into an emulated VC1541. It attempts a near-complete emulation (I think REL files aren't implemented, but nearly noone ever ...
10 votes

How does memory addressing/mapping work in 8-bit systems?

First note that in "real" retro computers the amount of address lines on a memory chip is generally much lower than the address lines the CPU has. This means that you won't be able to "fill" the CPU's ...
tofro's user avatar
  • 34.3k
10 votes

Did any devices use the Commodore 64 joystick ports as outputs or two-way communications ports?

The dongle for the PaperClip word processor plugged into joystick port 1. It read bits 0 and 1 from the dongle and wrote bits 2, 3 and 4 to control it. Keyboard interference probably wasn't an issue ...
Alan B's user avatar
  • 4,055
9 votes

Commodore VIC-20/64/128/16/Plus 4 floppy disk drive replacement

Pi1541 Pi1541 is a real-time, cycle exact, Commodore 1541 disk drive emulator that can run on a Raspberry Pi 3B, 3B+ or 3A+. It's a Raspberry Pi hat and some specialized software that emulates the ...
Martin Maciaszek's user avatar
9 votes
Accepted

Cartridge modems - was the Vic-20 a special case?

I thought the RS-232 port on the Vic-20 was completely separate from the cartridge port, so a thing had to be plugged into one or the other, and if the modem was plugged into the latter then it could ...
Raffzahn's user avatar
  • 220k
9 votes

How do I adjust the OS print output to different screen dimensions on VIC-20?

As Raffzahn points out, unfortunately you can't "adjust" the OS; you need to replace KERNAL code to have a different number of screen columns work mostly as expected. So while there are demos out ...
cjs's user avatar
  • 25k
8 votes

Getting your Commodore VIC-20, 64 or 128 online

Here are the answers of which I am aware, and I know there are others: https://jammingsignal.com/commodore-wi-fi-modem/ Schema's WiFi modem. Connects via the user port. Has a TFT display, and you ...
Jim MacKenzie's user avatar
8 votes

How does memory addressing/mapping work in 8-bit systems?

I'm not really sure how this question is meant, so this is maybe less of an answer as an attempt to understand the question first and answer accordingly. If I attach a 16 KiB EEPROM to a 6502 or ...
Raffzahn's user avatar
  • 220k
8 votes

Why did the Vic-20 need special chips for I/O?

Sinclair was a company particularly sensitive to BOM¹ costs. They were willing to put in quite a lot of development effort to have a machine that was a cheap as possible to manufacture, and selling ...
cjs's user avatar
  • 25k

Only top scored, non community-wiki answers of a minimum length are eligible