40 Columns in Basic on the Commodore VIC-20

  /     /   Commodore     Programming     Retro     VIC-20    

There are a number of programs that allow you to use 40 columns of text from Basic on a Commodore VIC-20. This can be useful as by default the Vic's screen is 22 columns by 23 rows. They are supplied as a machine language programs which take over some of the Basic printing routines to provide you with a display using a smaller font. Because of the need to remap the screen each of these programs needs at least an additional 8K RAM expansion.

VIC 40/FAT-40

There is a little bit of confusion surrounding the name and origin of this. The date given by FAT-40 on Zimmers is 13th July 1983 and is for a PAL screen. However, there is a program called VIC 40 published in Ahoy! Magazine, October 1984 for NTSC. Either way they seem to be compatible as FAT-40 works with the Ahoy! Magazine, VIC 40 Demo also on Zimmers and is dated 1984.

The demo really demonstrates how good this extension is because it shows full character sets plus hi-res graphics being used at the same time. From the Ahoy! Magazine article it says how this program makes the Vic compatible with PET Basic programs and also demonstrates how to use this mode from machine code programs. With an 8K RAM expansion it leaves 4466 bytes free for your Basic programs.

The PET support is quite good in that it moves the screen map to the correct location for the PET so that you can Poke directly into it and it also emulates the Sound system. Naturally it doesn't extend the Basic to v4 which PET's often use, but other than that it is pretty good.

PET Compatibility Tests

You can test the PET compatibility of VIC 40 using the following:

Switch to lowercase:

poke 59468,14

Switch to uppercase:

poke 59468,12

Print an A in top-left corner of screen:

poke 32768,65

Screen-40

Screen-40 is a available for NTSC screens on Zimmers and seems to have been published in Compute! Gazette, June 1985. It is much the same at VIC 40, but lacks PET support. However, it uses 653 fewer bytes and therefore with an 8K RAM expansion it leaves 5119 bytes free.


Super Screen

This was a commercial program sold by Audiogenic and reviewed in Commodore Magazine, November 1983. A PAL version of it is available on a .T64 tape image.

For me this version has the nicest font, however unfortunately it has an annoying behaviour in that it prints an extra new line after every print. The included demo show this not being done, but it is cumbersome and makes Super Screen a pain to work with.


PET Loader

PET Loader is a cartridge for PAL systems available from Zimmers. It is presumably meant to make it easier/possible to run PET programs written in Basic on the Vic. However, while it patches Basic and provides 40 columns, common pokes for sound and text display don't work. That said, because it is a cartridge, it is nice to be able to boot directly into 40 columns. There is more discussion about patching it to work with NTSC systems on the denial forum.


The Big One

The Big One is a little different from the other programs listed in this article in that it doesn't display 40 columns. Instead, it uses the same character font for a normal Vic, but expands the number of columns displayed to 25 and the number of rows to 30. It works on an unexpanded Vic and comes with a demonstration program.

Because of overscan, 25 columns is just about as much as you can extend the number of columns to before they start disappearing off the side of older television set screens. The version linked to is for PAL systems and is hosted on the Zimmers website. I mention it here because you may find that it is more comfortable to use than the small fonts of the 40 column extensions and because it works on an unexpanded Vic.

Video of the Extensions

You can see the extensions being used on a Commodore VIC-20 in the video below:

Creative Commons License
40 Columns in Basic on the Commodore VIC-20 by Lawrence Woodman is licensed under a Creative Commons Attribution 4.0 International License.

Related Articles

Adding a Basic Stub to a VIC-20 Assembly Language Program

To make machine language programs more friendly it is nice to add a basic stub which contains a line with a SYS statement to start the code. This is easy to do on the Vic-20 and the process gives you ...   Read More

Creating a TTY Simulator in Assembly Language on the VIC-20

The Vicmon machine language cartridge is an excellent tool for exploring the Vic-20. This article and its associated video will show you how to use it to create a simple program that will change the n...   Read More

Beginning Assembly Programming on the Commodore VIC-20

The Commodore Vic-20 is a great machine to learn an assembly language on. It was released in 1981 and was the first computer to sell one million units, which contributes to its popularity today. The ...   Read More

Spreadsheets on the Commodore VIC-20

The VIC-20 had a number a spreadsheet programs released for it which despite the limited resources of the Vic could actually be quite usable. The two best known are SimpliCalc and PractiCalc, but ther...   Read More

Transferring Files to and from CP/M .D71 Disk Images Using ctools

Using Vice to emulate a Commodore 128 running CP/M works very well, but it isn't easy to get CP/M files directly onto and off a .D64/.D71 disk image. The easiest way to do this under Linux is to use c...   Read More

Sign up to get new articles straight to your inbox.

Delivered by FeedBurner

Comments

blog comments powered by Disqus