Commodore 64C problem
Hi, I've just bought your cartridge from TFW8b and I've inserted it into my Commodore 64C and I had many problems: freeze, glitch, not showing the menu etc. then I've inserted it into the good old Commodore 64 and it worked perfectly fine. Here the specs of the motherboards:
- C64 Assy 250407 Rev A
- C64C Assy 250469 Schematic 252311 Rev A
My questions are:
- Do you know if there is a known issue with this type of C64C/motherboard?
- If yes, Is there any workaround to make it work?
- If no, and the problem is the C64C can you tell me, if you know, what could be the cause of this?
Thank you a lot for your work it's really great!
I have the same c64c as you mine works fine. Hope this helps.
On Sat, 10 Apr 2021, 00:46 Eugenio Smith, @.***> wrote:
Hi, I've just bought your cartridge from TFW8b and I've inserted it into my Commodore 64C and I had many problems: freeze, glitch, not showing the menu etc. then I've inserted it into the good old Commodore 64 and it worked perfectly fine. Here the specs of the motherboards:
- C64 Assy 250407 Rev A
- C64C Assy 250469 Schematic 252311 Rev B
My questions are:
- Do you know if there is a known issue with this type of C64C/motherboard?
- If yes, Is there any workaround to make it work?
- If no, and the problem is the C64C can you tell me, if you know, what could be the cause of this?
Thank you a lot for your work it's really great!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/KimJorgensen/KungFuFlash/issues/89, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFZZSZQKHPJMPZF4UMW6JVDTH6GUXANCNFSM42V3IMDQ .
I also have that exact C64C model and it works without any issues and it is in fact that Commodore 64 I use for most of the Kung Fu Flash development. Are you using the latest firmware release? I did fix some C64C timing issues in v1.18
Thank you for your answer. I've just noticed that my board is Rev A instead of Rev B. Sorry about that! I use the 1.21p is that correct? Does where is was made has something to do with this issue? Because it's made in Honk Kong, I don't know I'm just guessing. What could cause the cartridge slot not working properly?
Here some pics of my C64 e Kung-Fu…
- KFF https://drive.google.com/file/d/1VQXUpJTJ_mN_4w0ZTv_tQKGjCvWveboD/view?usp=sharing
- C64C https://drive.google.com/file/d/1Wtk2_yc1McnqQyye06e9Wg0cuf8QYxUP/view?usp=sharing
Have you tryed cleaning the contacts on the cartridge with isopropyl alcohol that normally sorts out any problems I have on my old bread bin c64
On Sat, 10 Apr 2021, 15:32 Eugenio Smith, @.***> wrote:
Thank you for your answer. I've just noticed that my board is Rev A instead of Rev B. Sorry about that! I use the 1.21p is that correct? Does where is was made has something to do with this issue? Because it's made in Honk Kong, I don't know I'm just guessing. What could cause the cartridge slot not working properly?
Here some pics of my C64 e Kung-Fu…
- KFF https://drive.google.com/file/d/1VQXUpJTJ_mN_4w0ZTv_tQKGjCvWveboD/view?usp=sharing
- C64C https://drive.google.com/file/d/1Wtk2_yc1McnqQyye06e9Wg0cuf8QYxUP/view?usp=sharing
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/KimJorgensen/KungFuFlash/issues/89#issuecomment-817145840, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFZZSZRAVZSFYFZY7PW5KU3TIBORTANCNFSM42V3IMDQ .
@gooner2077 but the cartridge is brand new, I've just bought it. I cleaned the contact of the cartridge slot with air.
Like I said it worked for me when mine one was playing up on my bread bin c64 but worked fine on my c64c. Was only a suggestion it might work it might not.
On Sat, 10 Apr 2021, 17:02 Eugenio Smith, @.***> wrote:
@gooner2077 https://github.com/gooner2077 but the cartridge is brand new, I've just bought it. I cleaned the contact of the cartridge slot with air.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/KimJorgensen/KungFuFlash/issues/89#issuecomment-817158650, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFZZSZSFQKM7U73OW42DARDTIBZAXANCNFSM42V3IMDQ .
Thank you, your suggestions are really appreciated!
I've just tried again, I've been able to load few .crt file and it worked for a while but then, when I press the MENU button, I got this:
- https://drive.google.com/file/d/1r2vlNqBowI3Dlb2CvE8QudPHmtkv-jDU/view?usp=sharing
- https://drive.google.com/file/d/1OLjqwA76v2FKXrIs455l-UBkic_LCGGu/view?usp=sharing
- https://drive.google.com/file/d/1wdBCuhmm2L2xG_ukxwBRN3lAjPe9gjot/view?usp=sharing
Does it helps troubleshooting the problem?
Thank you for your help!
Double check contact points on kff board. I've seen pcb that not been 100% flat. And different connectors on different computers does not have the exact same width. Depending on wear and tear. In my case the very outmost connector got smaller tears after 10 reseatings. My quick fix was a thin layer of solderpaste on the outmost Few connection points on pbc. Not sure if it worth it. Do this on your own risk.
I have similar issues with KFF in certain boards - while others are rock-stable - but my issues are always initiated by me pressing a button.
My KFF has upwards pointing buttons - and when pressing them you inadvertently wriggle the cartridge a little. If I stabilize the cartridge by putting a rubber eraser (or something similar with the correct height) below the cartridge - pressing the buttons it safe/working again...
Most cartridges have backwards pointing buttons - pressing them usually does not introduce as much wriggle to the cartridge as upwards pointing buttons does..
@penny-bit Now I know this is a long shot - and it may not explain your problems - can you give some more details on the crashes. freezes and glitches that you see ? do your issues appear without pressing buttons or ?
PS: I've created an feature request for a new PCB revision with backwards pointing buttons #77 - if this proves to be the issue for you then you could consider voting/chiming-in on this issue - that will give a better a picture of how many users that have these kinds of problems
I'm not sure but probably those Cart will still be unstable (just a little better) with those buttons. The real problems can be seen if you put the Cartridge in and out 25 times (scaring the contact points). One or several will have less deep scaring (or nothing at all). Those are the ones that don't touch in your port. If you have the opportunity, try those in another computer they may work there.
I did some more tests yesterday on the C64C (specs above)…
After I cleaned all the contacts of the cartridge slot with a contacts cleaner spray, bended them a little bit inward, then I’ve also cleaned the contact of the VIC 8565 and the SID 8580, just those two because they are the only ones socketed, then I waited for the spry to get dry.
Then I’ve plugged the KFF and at the beginning it worked fine and I’ve been able to load a Dead Test Cart and it started just fine, but after the first cycle it stopped with the screen I’ve posted above. After this I tried to press menu or reset on the KFF and again same freeze screen after a few on and off cycles I was able to start again the Dead Test Cart but again it didn’t even finish the first cycle test.
One thing I’ve noticed in general, if I erase the file KungFuFlash.dat file on the SD with another computer sometime (not always) it lets the KFF start again.
After all this, I’ve plugged the KFF into the breadbin C64 (specs above) with the KFF loaded with Dead Test Cart and it did 10 cycles without any problems. I’ve pressed menu and reset buttons without any problems. It works just fine.
Something I can’t explain though is that Dead Test Cart didn’t show any problems on both boards. Other strange thing is if I plug an original Final Cartridge III in the C64C it works just fine.
@uffejakobsen Thank you for posting here, but as far as my knowledge goes, I don’t think the problem here is the position of the buttons because if it would be that all the time I press some buttons I would get problems, instead sometimes (especially at the beginning) it works fine.
I really looked for solutions on internet, forums, YT, everywhere but unfortunately I didn’t find any answers, everybody says to clean the contact, change the cart connector etc. but at this point I actually think the problem is something else, some strange defect on my board which I can’t troubleshoot. If anyone has some other suggestions it’s really appreciated.
I hope all this makes sense and helps. Thank you all.
A possible problem could be if the supply circuit is unstable (dried capacitors, low supply voltage, etc.), so the base machine may still be running, but faults will already occur from an extra load.
@penny-bit Thanks for your reply Could you try with another microSD-card ? I have seen issues that may relate to the SD card access - I do not fully understand the issue - one system turning on with the KFF inserted - but without a SDcard inserter into KFF - then inserting is later seems to make is more stable... Again this is just my initial observations - it may be wrong - as I need more time to do experiments before opening an issue
I've noticed the SD-card stability on one C64 I have too - I'm not sure what that is either. I have experimented with some firmware modifications to reduce the interrupt duration with just 2 or 3 168MHz cycles from the default KFF menu startup code, and that change alone significantly improved the stability of the cartridge + SDCard on that particular C64 I have issue with. It is indeed hard to pinpoint what exactly the issue is. Maybe it is just that the PHI2 clock signal on that C64 board of mine has a higher jitter than other boards, causing the next ARM interrupt to be one or two cycles shorter occasionally.
@medzes how did you modify the firmware in order to reduce the interrupt duration?
Other and final test... I bought a C64C board on ebay identical as the one I have. It was sold as working board but it didn't have the VIC, SID and CLOCK chips. So I just moved those chips from my board to the new one. It passed 100 cycles of diagnostic cart without any problem but the KFF still have same problem. I don't think the new board is not working, or it's really improbable that two boards have the same identical issue. So the only thing are the chips coming from the original board, but I checked them with the oscilloscope and all the clocks and voltages are OK. So at this point I really didn't know what to do. After few days, I though it would be a good idea to try to fine tune the DOT CLOCK. I tried to set the small trimmer CT1 close to the clock chip and I noticed that if I rotate it a small amount back and forth trying to find the right setting (I just tried because I don't own a frequencymeter) this would make the KFF more stable, it crashes less. Now I don't know this is right or it's just a luck, but I think all this issue definitely it has something to do with the clock of this particular board.
Thank you all for your support and suggestions.
@penny-bit Thank you for your feedback. I have tested Kung Fu Flash on different C64 boards but not on the 250469 Rev A so it is possible that this particular board has stricter timing requirements. However, it would be nice if this bug could be reproduced without swapping chips. Regarding adjustment of CT1; can't you use the oscilloscope to measure the frequency?
@KimJorgensen Sorry, I didn't express myself well. I meant the new board was delivered without those chips and I had to plug mine into it, I don't have a spare VIC, SID and CLOCK chips to try out.
Apparently the CT1 trimmer adjusts really tiny differences of the crystal oscillator Y1 so those differences are extremely hard to spot on an handheld oscilloscope, at least for me, so I think a frequencymeter would be better for this matter. Moreover, do you think a so tiny difference would make the KFF stop working properly?
After all this tests I think the board has some weird incompatibility with the KFF or, more probable, the VIC witch is the chip that generate the clock for all the other chips (if I understood right) is somehow faulty and after few minutes, it might get too hot, and it stop to work properly.
Now I just played with the C64C and the KFF and it seems to work fine, it just crashed once, but definitely better than before.
Thank you
@penny-bit The CTO should be able to change the frequency a little (I dont know how much but much less than 1%? I've not tried it). It would have both an effect on the frequency, the startup speed of the crystal and on the clock-jitter, so the stability of the clock delays.
My guess would be a small change to the CTO changes the Q factor of the resonator, which causes the oscillator to have less jitter. And I believe it is the jitter that can occasionally cause shorter periods between ARM interrupt. (so say 5ns jitter late followed by 5ns jitter early could reduce 2 cycles for the arm for one interrupt)
To change the arm interrupt delay, I changed the C code around a little- like swapping around legs of the case statements and if statements. I also dug into the generated assembly and removed some spurious instructions. Unfortunately its very hard to predict what will happen when you make such changes, I measured the effect using an oscilloscope.
@penny-bit I meant that it would be nice if this could be tested on different 250469 Rev A boards with their original chips to see if it is the revision of the board that causes the issue. Then I could get such board and start debugging the problem. However, if it is due to the chips or adjustments on the board then it wouldn't help much to acquire that specific board revision.
I have a C64C that also has problems with the KFF. It handles other cartridges (UII+ etc) just fine. The KFF also works fine in my other boards. My issue is mainly that on powerup there appears to be a 50% chance of things getting stuck. For example, if I flash a trivial .prg, or just leave out the SD card, about half of the time the screen will be black, and the other half the program runs fine, or I get the "no sd card" message. I think I'm on the latest firmware (1.23p) FWIW my C64C board reads PCB No.252311 REV.4, not sure where this fits in the REV A / REV B timeline.
I am repairing an Assy 250469 Rev.3 motherboard right now, i am experiencing similar uncertainty with the KFF, at first it was as if the T1 capacitor trimmer was affecting the stability, but i didn't even have time to examine it with an oscilloscope. The Jupier Lander CRT-image also produces strange phenomena, the track image crashes, the music starts and then a few sounds later it completely fades (but otherwise there is a SwinSID in the machine)...
Good my board is the same but mounted on a C64G, the same thing happens to me when pressing the reset button, it stays frozen
What strikes me is that pressing the cartridge down near the buttons when restarting the cartridge with the reset button, the last program or game executed comes out well, if I upload it up the home screen already comes out without loading the last program but with fewer bites than normal, although I still have the screen when I press the menu button and take the cartridge up or down.
Maybe the expansion port is somewhat unstable but also this board of problems in the kff and that I have updated to version 1.26p
Could someone tell me what could be the problem of the cbm freezing when pressing the menu button?, thanks
This is a good question, first of all it is worth checking if the T1 trimmer is tuned to the correct frequency (14.31818 MHz on pin 8 of 8701)
You can try the new v1.27 firmware where a diagnostic tool has been added that can measure the clock frequency of the C64.
Hello Kim, How accurate is this diagnostic tool? I set it up with an oscilloscope, and compared to that, this kind of method shows a little difference, I had to set it up a little later. I don't know which value is closer to the reference. One request: You could enter the two reference values in the tool at the next update so that laymen do not have to search for exact values during calibration. Thanks!..
Hi Zitev,
What values did you get?
The accuracy of the tool should be down to the precision of the clock circuit on the Kung Fu Flash board. I did a test with 8 different KFF boards on the same C64 and got slightly different results with the largest deviation being 39 Hz. It should be noted that the frequency of the C64 can also change slightly when getting warm. This tool was only intended to aid troubleshooting not for laymen doing calibration :)
Hi,
On the c64 panel, after replacing the T1 trimmer capacitor, I set the PAL clock signal to 14.31818 MHz as measured by a scope on pin 8 of the MOS8701. KFF's new diagnostic tool showed 985206 Hz (deviation is minimal). True, now I have not checked with a scope how the current state differs from the set one..
Good and thank you very much for this chat, and updated the kkf but the menu does not come out, someone could tell me how to run the measurement tool in usb mode, basic, I know the procedure of the buttons but so far, thank you
And in case of being wrong the watch where to adjust it on my plate, thanks
Hello Arcahell,
The T1 trimmer is visible around the center of the motherboard, a tiny, lemon-yellow, adjustable capacity. You can adjust it with a screwdriver that fits exactly into it, by turning it carefully. I think an oscilloscope can be a great help in setting the exact frequency (the scope dipstick shall be measured on the lower left foot 8 of IC 8701 to the left of the T1 trim, the correct frequency for PAL machine is: 14.31818 MHz), but since the machine itself seems stable even with a relatively large frequency deviation, it is not absolutely necessary ...
You can try the new v1.27 firmware where a diagnostic tool has been added that can measure the clock frequency of the C64.
By the way you could tell me if you have tried your creation Kung Fu Flash on an Assy board 250469 Schematic 252311 Rev A, your information is very important to me and I would be very grateful, everything seems to be fine on my board but the cartridge menu does not work and on another more classic board everything works correctly, thanks in advance