NOTE: NOT SOLD TO CALIFORNIA BUYERS.  PLEASE DO NOT BUY OR BID IF YOU'RE FROM CALIFORNIA.

Listed is a brand new 24KB RAM EXPANSION BOARD  for the cartridge port.   It's ready to use.  Simply insert it into the VIC20's cartridge port and power up your VIC20 to see the RAM increase.  The board also comes with a RESET button that you can simply (and gently) press it to reset the VIC20 without powering off the VIC20.

I have a couple left that I don't use.  Let me know if you need more than one.  Please note that board delivered will not have chip sockets.  That is, the chips are directly soldered into the board, not mounting on sockets.

The VIC20 comes with 5KB of RAM built-in; out of that 5KB, only 3.5KB is available.  That's why you see the VIC20 displays 3583 bytes (3.5 x 1024) available for BASIC when you turn on the VIC20.  NOW...With the additional 24KB, your VIC20 now has 27.5KB.  This is why you will see 28159 bytes (27.5 x 1024) available when you boot up the VIC20 with the RAM expansion board inserted.

The 24KB expansion is made possible for the THREE 8KB blocks in the VIC20 memory map, BLK1 ($2000-$3FFF), BLK2 ($4000-$5FFF), BLK3 ($6000-$7FFF), respectively.  You can now use these memory areas for assembly code, etc.  And VIC20's BASIC is also seeing this.  Please note that this is all the information provided in the listing.  There are a lot of information available on the internet regarding VIC20's memory map and how to use it.


THE BOARD

You can use the below BASIC program to test the RAM expansion.  Basically, we POKE a value (any value 0-255) of 25 into 8192 sequential memory locations of the block and read it back via the PEEK command to see if each memory location has the same value.  It should.  If not, please check your VIC20!

10 REM STARTING EXPANDED RAM BLOCK ADDRESS
20 REM FOR EXAMPLE BLK1 STARTS AT ADDRESS $2000
30 REM IN HEX OR 8192 IN DECIMAL
40 ADDR = 8192
50 FOR I = 0 TO 8191
60 POKE ADDR + I, 25
70 IF (PEEK(ADDR + I) <> 25) GOTO 100
80 NEXT I
90 GOTO 110
100 PRINT "MEMORY ERROR!": GOTO 120
110 PRINT "RAM TEST IS SUCCESSFUL!"
120 END

It will take about 2-3 minutes to run the test.  Remember that the VIC20's speed is only 1Mhz!!!  Ah...The good old days!

To test BLK2 and BLK3, change 'ADDR' in line 40 to 16384 and 24576, respectively.  THE ADDRESS RANGES FOR BLK1, BLK2, AND BLK3 ARE PRINTED ON THE BOARD, FACING UP!

IMPORTANT:
  • Turn off or unplug your VIC20 when not in use.
  • Turn off or unplug your VIC20 FIRST before inserting or pulling out the board, as if you would do for a cartridge.  When inserting or pulling out the board, make sure to use the upper right corner and the middle top areas to hold the board, as these areas are clear of any soldering, thus no pins from the components touching your fingers.
  • Although the board is designed to have the chips completely hidden once the board is inserted into the VIC20's cartridge port, NEVER touch the chips on the board when in use.  The static electricity from your body can cause the chip not to work properly.
  • I AM NOT RESPONSIBLE FOR YOUR PROJECT IN ANYWAY, THAT IS, ANY KIND OF DAMAGES TO YOU OR YOUR MACHINE(S)/COMPUTER(S), INCLUDING BUT NOT LIMITED OF TO PHYSICAL, MENTAL, EMOTIONAL, PROPERTY-WISE, OR FINANCIAL DAMAGES FROM YOUR PROJECT(S), NOR AM I RESPONSIBLE FOR ANY TECHNICAL SUPPORT.  THIS IS JUST LIKE A BREAD BOARD THAT YOU USE IT WITH YOUR OWN RESPONSIBILITY AND IMAGINATION.
  • I AM NOT RESPONSIBLE FOR ANY TECHNICAL SUPPORT.  THIS BOARD PROVIDES YOU THE EXTRA MEMORY.  THAT IS IT.  I CANNOT GUARANTEE IN ANY WAY IF OTHER PRODUCTS WOULD MAKE USE OF THIS MEMORY EFFECTIVELY OR CORRECTLY.
TERMS:
  • SOLD AS-IS
  • No returns or refund
Some additional information I found on the net about the VIC20's memory behavior.  I am not responsible for the below information in anyway, and you would need to do your diligence in more research and verification.

THE MYSTERIOUS MOVING SCREEN 

You may have been warned by some (tape-based) software suppliers [in the early days of the VIC20] that "THIS PROGRAM WILL ONLY RUN ON VIC-20's WITH NO ADDITIONAL MEMORY INSTALLED Or you may have tried to load a program from a tape when you had your 16k RAM cartridge in place and found it didn't work, or had some really weird goings-on happening on the screen." The reason is that when you put an 8k or 16k RAM in the VIC's BLK #1 location and turned on the VIC, the screen RAM is moved to a new position.

A well written program will not be affected by the amount of memory you have, but for those of you who own some poorly written 
programs. There are two possible solutions.

POSSIBLE SOLUTION #1. Additionally, there is a set of statements that will allow you to preprogram any programs that you write to run in any 
VIC memory configuration: 

Make this one of your first program lines: 

S = 4 * (PEEK (36866) AND 128) + 64 * (PEEK (36869) AND 112) : C = 37888 + 4 * (PEEK (36866) AND 128)

You can now peek or poke to the screen (no matter where it is) by using the variable S as the start of the screen memory locations and C as the start of the color memory locations. For example, the 3rd character on the 3rd line would be S+68. (S=start of the screen, and 68 is the 3rd line because each line is 22 characters long, so 3*22=66, and the 3rd character adds 2 because the 1st position is the zero, the 2nd position is 1, etc.)

POSSIBLE SOLUTION #2. Use the program below which will put the screen back at its original position and relocate basic to start above the screen RAM area. This will allow you to use up to 24k of RAM. It has the side benefit of protecting the RAM area below the screen from being overrun by basic, and that is the area where you store the special characters you design for your own games. Or you can store machine language subroutines there without fear of destruction 
or using any of basic' s memory area.

PROGRAM TO RELOCATE THE SCREEN 

By: E.J. Lippert II 
NOTE: This program must stand alone. It cannot be part of another program

10 POKE 8192,00 

20 POKE 44,32 

30 CLR 

40 POKE 648,30 

50 POKE 36866,150 

60 POKE 36869,240 

70 FOR I = 217 TO 228:POKE J,158:NEXT 

80 FOR I = 229 TO 250:POKE I,159:NEXT 

90 PRINT "CLEAR/HOME" 

99 NEW