View Full Version : OUT OF MEMORY IN 0 - Simple test ?

October 18th, 2009, 06:21 PM
Hello !!!

My name is Pedro, and this is my first post in the forum.
I've bougth a C64 as gift for my brother birthday.
He is a C64 fan, but he has been using vice since our previous C64 hadf crashed. Finally I decided to buy another. This Commodore was made in USA (NTSC).

When I first turn on, I noticed something strange ...

1514 bytes FREE !!!!. I was pretty sure that 38911 was the rigth number.

I tried to load programs using the dataset without success. They don't load or eventually crash.

After several retries, instead of the expected welcome (Commodore Basic V2 ....) appears OUT OF MEMORY IN 0.

I started to reading here, and the piggyback method and I'm ready to try this.
I've found a local IC vendor who has the 4164 chips in stock and also the 74ls257.

But, before this hard work, I made a silly test ...

I made several pokes and peek to different addresses and always recover the value previosuly written. Even after a short turn-off the values is there.

I tried several addresses:


With 0 and 255 values each one

Seeing the schematic and the 4264 datasheet, the memory is a 65536 bit memory and the 65536 byte memory bank was made with eigth of them in the way that every byte is composed from its bit outputs (D0-D7) .. D0 is always pin 2-14 of one 4164, D1 is the 2-14 of another and so on.

The question is:

Is one memory is blown, and every byte need one bit of that memory, how is it possible that writing 255 to one byte and then reading retunr the same value. Of course I tried with 0, and it read 0 also. If one chip were damaged, let's say that D7 chip is blown, after writing 255 you must read 127 .....

Where is the trick ????. I'm in my first steps inside the C64 ... so I need your help.

Many thanks for reading


October 18th, 2009, 07:25 PM
Hi Pedro,

Commodore made a diagnostic ROM cartridge that plugs in and will tell you which chip to replace if you have the older version of the motherboard.

If you don't have the older version you can look at the chip location layout diagrams for the different boards and figure out which one to replace.

Look around on eBay for it. If you can't find it you can download the ROM image file and easily burn it to an EPROM that you can use inside another cartridge.


October 19th, 2009, 07:49 AM
Thanks for your response !!!

It would be great to get this cartridge. I don't have any cartridge at the moment, but I can manage to get one, and then burn the program in some EEPROM. But I need to be sure that this program is working fine first.

But I'm still confused ... if one memory is bad, one bit of each byte is bad, and then all the bytes are bad. But BASIC still works ....Also does the tape (i.e the kernell tape routines) ... Ok, the programs crash, but some code is loaded after all .... I loaded SPY STRIKES BACK and worked till the presentation with music !!! ... so there's good memory somewhere ....
Why the self-test leads 0 bytes free (OUT OF MEMORY)

And don't forget about the POKE and PEEK. How can all this things work fine with a bad memory chip ???.

What a strange failure ....



October 19th, 2009, 08:07 AM
There are 2 things that offhand can cause memory errors...

1. Bad RAM
2. Bad PLA chip

But, if you can make other things work that use a lot of memory then I'd say you probably have a bad RAM chip and not a bad PLA.

I do repairs on C64 boards and have all the rates on my website.


nige the hippy
October 19th, 2009, 08:11 AM
it could just be one faulty bit part-way up the memory. Enough room below it to store the program, but not enough to do anything sensible. The power-on memory test maybe just counts until it reaches an error, then says that that's the top of ram.