[Prev] [Next] [Contents] [Commodore] [New] [Search] [Home]

  1. Your character set takes memory space away from your BASIC program. Of course, with 38K available for a BASIC program, most applications won't have problems.

WARNING: You must be careful to protect the character set from being overwritten by your BASIC program, which also uses the RAM.

There are two locations in the Commodore 64 to start your character set that should NOT be used with BASIC: location 0 and location 2048. The first should not be used because the system stores important data on page 0. The second can't be used because that is where your BASIC program starts! However, there are 6 other starting positions for your custom character set.

The best place to put your character set for use with BASIC while experimenting is beginning at 12288 ($3000 in HEX). This is done by POKEing the low 4 bits of location 53272 with 12. Try the POKE now, like this:

   POKE 53272,(PEEK(53272)AND240)+12

Immediately, all the letters on the screen turn to garbage, This is because there are no characters set up at location 12288 right now... only random bytes. Set the Commodore 64 back to normal by hitting the <RUN/STOP> key and then the <RESTORE> key.

Now let's begin creating graphics characters. To protect your char- acter set from BASIC, you should reduce the amount of memory BASIC thinks it has. The amount of memory in your computer stays the same... it's just that you've told BASIC not to use some of it. Type:

   PRINT FRE(0)-(SGN(FRE(0))<0)*65535
The number displayed is the amount of memory space left unused. Now type the following:
   POKE 52,48:POKE56,48:CLR
Now type:
   PRINT FRE(0)-(SGN(FRE(0))<0)*65535

[Prev] [Next] [Contents] [Commodore] [New] [Search] [Home]
This page has been created by Sami Rautiainen.
Read the small print. Last updated September 23, 2004.