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: