Jump to content
gorf68

VIC 20 playing cartridge games but no Basic boot.

Recommended Posts

Hello, I just tried one of my old VIC-20s and it freezes when trying to boot up into basic. It will however play all cartridges that don't boot to the prompt.

So all games appear fine except for adventure games that start with the cursor prompt.

 

Any idea what has went wrong? Is this likely a memory thing, or something wrong with the ROM?

 

Is this a common issue?

 

Any help would be appreciated.

Share this post


Link to post
Share on other sites

I'd bet on the ROM being bad … Those are usually (always?) socketed ROM chips, so you could try reading it into an EPROM burner (assuming you have access to one) to verify its contents vs. one of the various on-line sources of ROM images …

Share this post


Link to post
Share on other sites

Could be a ROM issue but could also be a RAM issue. Ray Carlsen suggests that bad 2114 RAM chips can cause the computer to freeze on power on. I don't know to which extent the cartridge games allocate memory for storage, otherwise you might notice strange things happen there as well.

 

http://personalpages.tds.net/~rcarlsen/cbm/vic20/vic20.txt

Share this post


Link to post
Share on other sites

 

The ROM is socketed.

 

Unfortunately I don't have an E-Prom programmer just now (used to) but I do have other VIC-20's, so I can try swapping the chips.

 

If it's RAM maybe using my 16K RAM expansion cart would work, as it would be switched to a new bank location!?

 

I'll give these a go.

 

 

Share this post


Link to post
Share on other sites
34 minutes ago, carlsson said:

Could be a ROM issue but could also be a RAM issue. Ray Carlsen suggests that bad 2114 RAM chips can cause the computer to freeze on power on. I don't know to which extent the cartridge games allocate memory for storage, otherwise you might notice strange things happen there as well.

 

I too was thinking ROM or RAM.  A bad BASIC or Kernal ROM could cause the normal startup sequence to fail.  Even one bad bit could cause the instructions to go in the wrong direction.  Equally likely is bad RAM used by the initialization routines.  If the startup sequence uses a RAM location for something like a counter, and that location is bad, then the process could get stuck in a loop.

 

Adding RAM expansion may not help as that increases program RAM.  It does not alter the built in RAM used by BASIC and the Kernal.  

 

As carlsson mentioned, a game may appear normal if it doesn't use that "bad" bit of RAM.  

Share this post


Link to post
Share on other sites

Ah, ok. I

had it in my head that it banked to use different RAM when in 3, 8 or 16K mode was used.  But it's been a long time since I've used it!

 

So swapping and socketed ROM and RAM chips, one at a time, from my good VIC may show me what (if any) chip is at fault then?

Share this post


Link to post
Share on other sites
20 hours ago, gorf68 said:

Ah, ok. I

had it in my head that it banked to use different RAM when in 3, 8 or 16K mode was used.  But it's been a long time since I've used it!

 

So swapping and socketed ROM and RAM chips, one at a time, from my good VIC may show me what (if any) chip is at fault then?

The VIC did organize the memory map differently between unexpanded, 3K expanded and 8K or more expanded.  That still didn't alter the placement of the built in RAM, especially the fist few kilobytes used by BASIC.

 

I'd agree with swapping socketed ROMS first as that is pretty simple.  Failing that, you'd need to unsolder and swap RAM chips.

Share this post


Link to post
Share on other sites

Didn't the 3K expander fit in the memory hole before the 5K that came with computer in the memory map?  If the built in RAM was bad, would the computer not start at all with the 3K expander?  Or could it possibly start BASIC and show less than 6656 bytes free if the memory test got up to the bad memory?  (Just curious)

Share this post


Link to post
Share on other sites

Hm, good thought. If the beginning of RAM is bad, perhaps that is why it freezes. I don't know if memory tested chronologically or if the built-in is tested prior to expansion memory.

Share this post


Link to post
Share on other sites
19 hours ago, carlsson said:

Hm, good thought. If the beginning of RAM is bad, perhaps that is why it freezes. I don't know if memory tested chronologically or if the built-in is tested prior to expansion memory.

Commodore 8-bit computers do perform a simple memory test on startup.  The purpose is to set the memory areas for BASIC.  That is why, for example, a C64 with bad RAM might boot up to something like 24,576 BASIC Bytes Free instead of the usual 38,911.  This test is not an exhaustive diagnostic of every byte.  I recall that the boot sequence checks every 256th byte via a simple read / write.  When an address is found that fails the test that location is used to set the limit for BASIC.

 

Using different RAM expanders on a VIC do shuffle certain memory areas around.  However the first 1 kilobytes of RAM - used by the kernal and BASIC - is always in the same spot and always uses the on board RAM chips.

 

If swapping the ROMs for known, good chips doesn't help then you likely have bad on board RAM in the first 1K space.

Share this post


Link to post
Share on other sites

Thanks to everyone who replied.

 

I'm going to try and have a look at this on the weekend.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...