• Please review our updated Terms and Rules here

C128 increasingly unstable VDC (it seems)

Divarin

Veteran Member
Joined
Mar 9, 2019
Messages
574
Location
Cleveland, OH
Hi all I have a new issue I'd like some help with.

I have a C128 that I've been using for about a year now on almost a daily basis mostly for BBSing. I go back and forth between VIC (40 col) video output and VDC (80 col) video output depending on which BBS I'm calling.

Over the past couple weeks or so there has been an intermittent problem which has been getting progressively worse and now I can reproduce it pretty much any time. The 80 col output goes haywire after some text scrolling. I've done a lot of experimentation to see if it was my Link232 cart or something but it isn't. I can BBS all day in 40 cols no problem, if I switch to the VDC (I'm using StrikeTerm 2014 btw) then I can connect to a BBS but after a few lines of text start to scroll by it freaks out and I have to either hit F1 to pop StrikeTerm back into 40 column mode or power-cycle the machine. The VDC output will not work again until I've power cycled.

Also after this happens I usually need to either keep the power off for at least 10 seconds or I need to hit the reset button multiple times before the VDC starts working again.

I narrowed it down to scrolling by just starting up in 128 mode in 80 cols, and I can sit there all day no problem but if I write a little program like:
10 print "hello world"
20 goto 10

then when this runs after only a few lines scroll up the VDC does it's thing and all kinds of crazy glitches show up, what these glitches look like are somewhat random and also there's an RGB2HDMI interpreting the output so it's hard to say exactly what is coming out of the RGBI port other than ... not what you'd expect.

The reason I think it's related to scrolling, rather than just printing is if I run this program:
10 print chr$(205.5+rnd(1));
20 goto 10

it doesn't glitch out until after the text starts to scroll up.

I also pulled the Link232 cart while running this little experiment just to make sure there's as few variables as possible, and nothing plugged into the user port.

One last clue is that in 128 mode 80 cols sometimes (not always) when I go to type these little basic test programs one of the characters I type will pop up in a random position on the screen rather than where the cursor is. For example one time I typed:
10 print "hello world"
but when I typed that first quote it showed up one line above the current line and around column 60ish (just taking a guess)
I was curious if this was just a visual glitch so I listed the program and the opening quote was missing but a space was there instead:
10 print hello world"
 
I've had to replace U24 on a couple of my 128s over the years, it's a buffer for the RGBI signals from the VDC>
74LS244.
Thanks I'll try replacing that. I kind of wish I had taken the time to order the parts to put together my retro chip tester pro.
 
Reading you post after more sleep, double check that it's not the rgb2hdmi by making a mono 80 col cable by grabbing the composite signal off pin 7 of the db9. (pin 1 is gnd)
 
Oh because its happening on the composite output of the RGBI port you think it's not that buffer chip?
Where can I find VDC ram tests?

EDIT:
Well, I found this test: https://csdb.dk/release/?id=157510&show=summary
It looks like there are some anomalies, such as some tests show all the same byte value except for 1 or 2. I'm hoping I can figure out how to translate the output of this test to understand exactly which ram chips might be bad and need replaced. Strangely the behavior of this program doesn't match the readme (or the screen shot on csdb.dk), it just keep repeating tests non-stop there's no summary.

Let me know if you know of any other/better tests I can run.
 
Last edited:
Alright after letting the test run for a really long time it did finally finish but the summary just shows:

1/1
1/2
2/1
2/2

What I was expecting (based on the readme and screen shot):
1/1 OK 64k
1/2 OK 64k
2/1 OK 64k
2/2 OK 64k

So I'm wondering if there was at least one fault in each area it was testing.


I also found memtest64 (https://csdb.dk/release/?id=158763) and ran that, it passed all of the tests but I'm not sure how comprehensive it is. That program shows:
testing cpu memory... ok
testing cpu bank 1... ok
testing vdc dram 0... ok
testing colour ram... ok

normal 17487
zp+sp 6615
vdc/load 43966
vdc/copy 3629
vdc/fill 2282


EDIT: okay ran this test again and strangely this time the results were different. this time when it ran the VDC dram tests it didn't just do 0 it did 0 through 7 and the final results were different (although it still reported all vdc dram tests OK):

normal 17502
zp+sp 6621
vdc/load 47736
vdc/copy 4383
vdc/fill 3208


If I run this test in 80 column mode then it glitches in the middle of the VDC dram tests.

I guess the most likely culprits are one of (or both) of the 4416 dram chips U23 and/or U25 or maybe the capacitors C23 and/or C25. I don't have an ESR meter to test caps in circuit but I have been considering getting one, otherwise I could desolder them and test them out of circuit.
 
Last edited:
It's strange that it passes in 40col, but fails in 80 col mode.

I just downloaded and ran the test on mine in 80 col mode and it passed all the tests with no corruptions, so the test works in 80 col mode fine.

I've got a plug and play 64k vdc upgrade board here, you just remove your vdc, plug it into the board, and then install the board back into the vdc socket. It has 2 4464 rams on it and totally bypasses the onboard 4416 chips.

If you want it, $20 including shipping.

But I'm thinking it could be ram or a defective VDC, so hard to tell without swapping parts.
 
It's strange that it passes in 40col, but fails in 80 col mode.

I just downloaded and ran the test on mine in 80 col mode and it passed all the tests with no corruptions, so the test works in 80 col mode fine.

I've got a plug and play 64k vdc upgrade board here, you just remove your vdc, plug it into the board, and then install the board back into the vdc socket. It has 2 4464 rams on it and totally bypasses the onboard 4416 chips.

If you want it, $20 including shipping.

But I'm thinking it could be ram or a defective VDC, so hard to tell without swapping parts.
That sounds like a good idea it would save me buying replacement ram chips. Now that I have the board open and I see those caps aren't electrolytic I'm much less likely to suspect them. I guess if I use this upgrade board and I still have an issue it would have to be the VDC itself.

go ahead and PM me the info and I'll buy that board off of you as it would be the same cost as buying replacement vdc ram chips and this route no desoldering is needed which is a plus.
 
Alright received the vdc upgrade board today and installed it. It seems to work but the behavior is the same, glitches as soon as it starts to scroll.

I'm thinking the VDC chip itself is the only possibility left but if you (or anyone else) can think of other possible causes I'd love to know.

EDIT: here's one other interesting clue.
I wanted to know when this glitches out is the rest of the computer still running. Sometimes it seemed like it because in StrikeTerm I could hit F1 to go back to the menu which is in 40 cols, but sometimes that doesn't work.
So I wrote a little program like this:

10 print ti$
12 graphic 5
14 print ti$
16 graphic 0
20 t=ti
30 if ti < t+60 goto 30
40 goto 10

This prints the time on each screen (40 & 80) every second, what I wanted to see is when the 80 col glitches out does the 40 col keep going? And no it doesn't.
Is there any way the 74ls244 buffer, if faulty, could cause this even looking at the composite 80 col output (which doesn't appear to be fed by this chip)
Is there a way that if the VDC has a fault it could freeze up the rest of the system? If not, then this would imply the VDC might not be the issue but I'm suspecting it is likely that a faulty VDC could freeze up the rest of the system.
 
Last edited:
Did a little more playing around in basic today. I found that when the system is locked up I can always hit runstop+restore but usually the character definitions on the 80 column screen are corrupted after that. Also I can use the VDC for any length of time and print characters to it all day long it's not until it starts the scroll that it glitches out and even then the amount of scrolling needed to make that happen seems to be random, sometimes I can just hit enter for 2 or 3 "pages" and sometimes I only get a few lines to scroll by before it glitches. Has to be the VDC.
 
Thanks I ordered one already, it was $25 but closer to $40 after shipping, it's in route but coming from Germany so it'll be a while before it gets here.
Yeah too bad that one in Texas wasn't up when I was hunting around for it, would have been cheaper and faster. oh well. At least these VDC chips are still floating around and not too expensive.
 
Followup on this, I got the new VDC and it does seem to have solved my problem but I think there might be a bigger issue with my 128 which might have led to my old VDC failing in the first place (or maybe unrelated).

First off, another issue that the computer has been having is, when using the VIC, sometimes the screen would get dark and muddy and the jailbars would get worse and then it would pop back to normal (crisp & clear). I assumed this was an issue with the video jack itself so I sprayed some deox-it in it, and also reflowed the solder on that connector and after that the problem seemed to go away but now that seems to have been a coincidence as that problem is, intermittently, happening again.

So, with that in mind, while testing the new VDC chip, while on a BBS, occasionally the characters on the 80 column display would get corrupted and then fix themselves. And later I was testing using both display chips again with a simple basic program that would print to both and I noticed that when the VIC was flickering between dark/muddy & crisp/clear that the character defs on the 80 VDC side were also showing anomalies. The change in the characters on the VDC side coincided with the flickering of the VIC. Then I power-cycled and everything was fine (for now).

It might be that I've been using a Ray Carlsen Model BB-64 (https://portcommodore.com/rcarlsen/customPS.html) which I picked up in 2018 for my c64, maybe it's under power for the 128?
The 9 volt AC is rated at 1000mA (1 amp) and the 5 volt DC is rated at 4 amps.
I noticed Ray's c64/128 models use 5 amp 5 volts instead of 4, maybe that extra amp is needed? Does anyone know the actual power requirements for the c128? I guess I can try to hook up the 5 volt supply to my bench power supply and see how many amps it actually uses.

However I have been using this power supply on this c128 for about 2 years and only recently started noticing these issues so I'm not sure my issues have anything to do with the power supply.
 
Back
Top