What can cause the diag to report bad char rom?

Modding and Technical Issues

Moderator: Moderators

Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

What can cause the diag to report bad char rom?

Post by Marsupial »

New poster but long time lurker. Writing to pick the brains of those with more VIC-20 knowledge than me. Any advise greatly welcomed.
I never owned a VIC-20 back in the day and was more of a C64 user.

Recently bought a pair of non-working VIC20 motherboards - both are NTSC 2-pin types. Both were in various state of not working. Apparently bad 2114 memory chips leads to many different behaviors.
Sadly, only one of the VIC chip works, the other does not generate clock; I have to swap VIC chip to change motherboard at the moment... I also had to replace a few ROM with EPROMs - one motherboard now have a replacement BASIC and Kernal; the other only original chips - I moved all good chips on one same motherboard.

Now that both motherboards are in working order (they boot and seemingly load software via disk or cart), I got myself several VIC20 cart PCBs (the 4x16k style) and am using that to run the diagnostic in order to see if I missed anything. I would like to be sure the VIAs and other are OK.

I have tried a few different DUMP of the diagnostic - even an PAL one apparently (it displays at a weird location)
they ALL give me the same thing - they halt at the first ROM and report it as BAD (with never the same checksum) - I read online this would be the CHAR ROM being a problem? Can it hide something else?

I tried parts swapping - both motherboards, both CHAR ROMs behave the same way.
I tried to replace the Character ROM with an 2732 EPROM (addressing the pins correctly) and also get the same result. I got the Char ROM binary from Zimmers. Is that a good CHAR ROM binary? (I also tried a 2532 but learnt it won't work in a VIC-20. Oh, well. I now have a VIC-20 char rom for my C64!!)

I am wondering - is it really the CHAR ROM the problem?
Do I need the full harness to get trough ROM CHECKSUM? Should I be looking at logic chips? is the diagnostic to be trusted? or should I be looking at it differently?
I really am more looking into that in order to assess what's working and what isn't, but I cannot get passed the first ROM checksum, even when changing the ROM with an EPROM, seems wrong..?

Maybe I need more knowledge of the diagnostic cart or how the VIC-20 behaves with it? any help would be welcomed.

Thanks.
USA_Joe
Vic 20 Amateur
Posts: 40
Joined: Wed May 31, 2023 11:14 am
Location: USA_California
Occupation: Retired

Re: What can cause the diag to report bad char rom?

Post by USA_Joe »

That was an interesting question as to whether the harness was needed for ROM testing. So I ran the diagnostics without the harness, and the ROM tests occur before it checks the ports (the first port checked is the serial port).

For the ROM tests, you should get the following (source: http://blog.tynemouthsoftware.co.uk/201 ... guide.html):
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROMCHECK FF - Character ROM checksum (should be FF)
ROMCHECK E0 - Kernal ROM checksum (should be E0)
ROMCHECK C0 - BASIC ROM checksum (should be C0)

If any of these fail, the actual checksum is shown. If the character ROM is bad, the first line will show an error, the second line will show an error if the Kernal ROM is bad, and if the the third line shows bad, it is the BASIC ROM at fault, as shown below. The checksum should be C0, but it was calculated as 0A. Sometimes, the number calculated changes each time you run the test indicating an intermittent fault.

Both the PAL and NTSC versions looks for the same checksums, so it appears the checksum should be the same for all versions of the ROM. Commodore presumably modified an spare byte until the checksum came out the same. ROMs that work but have different checksums (e.g. JiffyDOS) will fail as they haven't been adjusted (I think that gives 6B).
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Again, the information above between the dashed lines is from: http://blog.tynemouthsoftware.co.uk/201 ... guide.html

I know this doesn't help solve the problem, but I think it answers one of your questions. The only thing that sounds like it's common is that you use the same diagnostics cartridge in each of the VIC-20's you use to test. It's far reaching, but perhaps the cartridge has a fault?

As to the source of the CHAR ROM code, you can try the download from Ray Carlsen's website here:

https://portcommodore.com/rcarlsen/cbm/vic20/ROMs/


Good luck!

Joe
Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

Re: What can cause the diag to report bad char rom?

Post by Marsupial »

Thanks Joe for confirming I don't need a harness for the ROM check.

I have a bunch of cart pcb, which do have setup option. I got them from pcbway and they are the cgtr design
https://www.pcbway.com/project/sharepro ... 70748.html

I have tried burning 2 different EPROMs and tested with different binaries of the diagnostic cart ROM - maybe I got wrong binaries? Maybe the 4x16k carts with 74ls00 cause issues? Maybe it's a setup problem?
If someone has more experience with diag carts like this please chime in...

I'll try to hack a GORF cart into diag, to see (I have 5 VIC-20 carts, 3 are GORF 🤷🏼‍♂️)

I'll also try the char ROM from Ray's site.

Hopefully I'll find out what's wrong.

Unless it's something on both motherboards (same fail on both would be strange...)

Thanks a lot!
USA_Joe
Vic 20 Amateur
Posts: 40
Joined: Wed May 31, 2023 11:14 am
Location: USA_California
Occupation: Retired

Re: What can cause the diag to report bad char rom?

Post by USA_Joe »

I'm interested to hear what you discover. I have the same PCB's, but my diagnostics card is direct from a vendor.

Are you in the U.S.? If so, you could send me the chip in question and I can test it in several of my VIC-20's for you. And I'll pay return postage as well.

If you're in Southern California, it gets even easier.

Joe
Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

Re: What can cause the diag to report bad char rom?

Post by Marsupial »

If I don't get any breakthrough I might accept your offer!
I'm in eastern Canada.
USA_Joe
Vic 20 Amateur
Posts: 40
Joined: Wed May 31, 2023 11:14 am
Location: USA_California
Occupation: Retired

Re: What can cause the diag to report bad char rom?

Post by USA_Joe »

Close enough for me.

Joe
Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

Re: What can cause the diag to report bad char rom?

Post by Marsupial »

Tested on a modified Gorf cart with similar results.

Now I wonder. Gorf (and the other carts I have) is a 8k ROM. The diag is 4k.
When I run it on a 8k cart, the diag ROM is there twice to fill the space.

In my 4x16k PCBs, being for 16k ROM the config is there four times.

Can the extra ROM cause my issue? I'd think not as my understanding is that the character ROM is at $8000 while the carts load on one memory block such as $A000 or $6000...

There must be something else that eludes me...

Unlikely that I would havey two identically defective motherboards, or two marginally damaged character generators that both happens to dump exactly the same image as the dump on Zimmers, bit for bit.

... It's weird either way.
USA_Joe
Vic 20 Amateur
Posts: 40
Joined: Wed May 31, 2023 11:14 am
Location: USA_California
Occupation: Retired

Re: What can cause the diag to report bad char rom?

Post by USA_Joe »

I've never had a problem where multiple copies of a bin file on an EPROM causes a problem. Not on the VIC, C64, C128, C16, or C Plus/4.

That is very strange!

Joe
Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

Re: What can cause the diag to report bad char rom?

Post by Marsupial »

Yeah, I think the problem is on the motherboards.
3 carts and 3 different binaries can't all be wrong in the same way, and replacing the Character ROM leads to the same error. (although I have no "proven good" ROM to be sure)

So I guess there is some circuitry that is "just enough" to work, but does fail checksum. The two boards are of the same generation/revision, so having them be both wrong the same way may be possible even if strange

My next step will be to analyze schematics to figure out what logic chips are in the loop when it comes to making the checksum, and see if they may have issues.

Unless anyone has another idea? I do read online that one reported issue may hide another one, but I don't know the VIC-20 enough to know what that could lead to.
Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

Re: What can cause the diag to report bad char rom?

Post by Marsupial »

Looking at the schematics, there's not much in contact with the Character generator.

It's on the address line, so there's the memory chips. I tested them all in my Commodore 64 (don't have a static RAM tester) but can make more swap tests.

There are also the three 65245 at UD8, UE8 & UF8.
When diagnosing the motherboards, I had one of them extracted and tested good in my chip programmer. (the issue was with the RAM, not these controller chips) Those are 74LS245 on my motherboards, from Fairchild and Motorola - they are octal 3-state bus transceivers; I'm thinking I'd notice if they were bad...? but can unsolder them out and see what give, I have spare.

The Char ROM also touches the VIAs - both of them - and the VIC.
I wonder if I can pull out the VIAs to run the diag... If they cause issue the checksum may pass this way. Does the diag run without VIAs?

Something that I have in common in all those tests, is the VIC - I have only one working VIC chip. Could a marginally bad VIC cause checksum error on the ROM?

if only VIC chips were easier to locate... lol
USA_Joe
Vic 20 Amateur
Posts: 40
Joined: Wed May 31, 2023 11:14 am
Location: USA_California
Occupation: Retired

Re: What can cause the diag to report bad char rom?

Post by USA_Joe »

I actually think that both you and I are chasing a ghost with regards to the diagnostics. You're trying to find out why the diagnostics is failing on the CHAR ROM even though the computer boots up and works properly. On the VIC I'm working on, it also boots and works fine. It's just that the diagnostics is reporting that the cassette port is BAD. But it works fine in operation for loading and saving. Since the diagnostics stop after the first error, I can't see if any other issues might exist.

My VIC I'm working on is a CR (cost reduction) version that has a shield on it that is needed to mount into a VIC case since the board is shorter. I have a identical CR board that I repaired in the past that does not have the shield attached, and it passes the diagnostics. The only difference between the two boards is the shield. I wonder if the shield is shorting just a little bit. At this point, I'm done working on it since it all works in operation and I need the shield to stay on for putting the unit back together.

I do have a copy of a limited diagnostics BIN file that I can send you if you would like. It only checks the RAM and the ROM's. PM me if you're interested in a copy.

Joe
Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

Re: What can cause the diag to report bad char rom?

Post by Marsupial »

I've seen your thread about the diagnostic error you have. I keep thinking the diag do see an error, something not 100%ok... But it's the reporting that isn't accurate. (in both yours and my case)

If that's the case, it could be a chip that works OK-ish. But also that is slowly rotting... Those boards aren't getting younger.

So, while today it looks to work ok, maybe tomorrow something won't load properly anymore.
Or, maybe not. Go figure.

Also, the fact I have two motherboards with the same issue is very weird.

I'll pm you about that BIN for sure. Thanks!
USA_Joe
Vic 20 Amateur
Posts: 40
Joined: Wed May 31, 2023 11:14 am
Location: USA_California
Occupation: Retired

Re: What can cause the diag to report bad char rom?

Post by USA_Joe »

Here's a link to the Commodore 64 Dead Test manual. Page 2-7 explains what I mentioned about a faulty CIA in a C64.

http://c64.rulez.org/capac/portal/wp-co ... Manual.pdf

As stated, I would "assume" that the test logic is similar in the VIC test. Thus, one or both VIA's could be bad, or the TOD (time-of-day) has an issue.

Joe
Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

Re: What can cause the diag to report bad char rom?

Post by Marsupial »

I'd really like someone with more information to corroborate your theory, but otherwise I think your assumption make sense.

I will poke and Probe the motherboard to see any missing connections.
I'd really like to have a way to know if the VIA chips are good, and go from there.

I guess my next step will be scoping all bus at both VIAs to see if there's activity.
Marsupial
Vic 20 Drifter
Posts: 26
Joined: Mon May 13, 2024 8:03 pm

Re: What can cause the diag to report bad char rom?

Post by Marsupial »

Scoping the VIAs, I see activity on all bus. Activity on the ports A and B during keystroke on the left VIA.
I swapped the 4 VIAs from the 2 VIC-20 and got no changes.

I'd be surprised all VIAs have their timers bad.
... I think the VIAs are OK.
Post Reply