Jump to content

CaptPKelly

New Members
  • Posts

    6
  • Joined

  • Last visited

Recent Profile Visitors

514 profile views

CaptPKelly's Achievements

Combat Commando

Combat Commando (1/9)

0

Reputation

  1. Motrucker: I wasn't pointing fingers at anyone here. I'm trying to point out to the non-technical people that a smoked power supply and a black screen does not automatically mean their C64 was completely fried. This is a mistake many have made and all you have to do is read the comments on YT videos dealing with the issue to know that a lot of people (with no technical knowledge) believe (without evidence) that this has happened to them. Now it's time for a retraction on my part: Because of this discussion I have spent the last week pouring over schematics and data sheets of various components on both the C64 mother board and the external PSU. Understand that much of the information on this circuitry has only become available in the last ten years or so since the resurgence of the popularity of the C64 and it's "siblings". Also understand that I have not concerned myself with the circuitry of the C64 in 20 some years. In the 80's, unless you had a Dremel tool and the time and patience to dig it out, the only thing you could do was assume what was buried inside the PSU. What I have found out: The original power supply did NOT use an IC, 5 volt regulator as I always assumed. It used a PNP transistor configured as a "C" class amplifier - essentially a voltage regulator. The output voltage is set by a 10 watt 220 ohm resistor. It is an extremely simple circuit with no protection at all other than a 5 amp fuse on the input side, also encased in the epoxy. The problem with this dangerously over simplified regulator is the 220 ohm resistor. When it fails, while it's burning towards failure, it can cause the SK3052P to regulate to a higher and higher voltage. This won't last long, a few seconds perhaps, but it could put out close to 7 to 9 volts on the 5V. line. Although the PSU was designed to at least adequately meet the power demands of the mother board, a cartridge plugged in to the system could increase this demand on the PSU to near maximum producing extra heat causing the resistor to eventually fail. The other thing I discovered is that I was mistaken over a particular marking on the C64 schematic and a "warning" notation that further confuses the matter - all concerning 5Vcc, 5Vc, 5Vcan, and +5V. This was something I misinterpreted 25 years ago and never discovered my mistake. As I said, my concerns on the C64 circuitry was shelved in 1988. The bottom line is that the 5V from the PSU actually does feed most of the TTL ICs on the board, and although these old TTL ICs are somewhat tolerant of higher current, they do not withstand an increase in voltage - even momentary especially those in the 74LSxxx series. If you still use an original power supply, then it's actually a good idea to invest in a (reliable and tested) "Saver" power cable.
  2. I thought I would pass this on to anyone who may be questioning the integrity of the memory chips in their C-64. The "non-destructive" term means that when the program is finished testing each memory location, it returns it to it's original state. I wrote it to help another forum member to sort out some possible memory problems we haven't located yet. I have attached a d64 disk image but both programs can be typed in and saved on the C-64 if you can't write files to the disk drive from your PC. I have to append a .txt to the file for the editor to allow me to upload it. Just delete the ".txt" from the file name after you download it. The attached d64 disk image includes the ML writer program, but the program file it creates is already on the disk. Program one: This is a familiar DATA reader. A pain to type in but the machine language heart of the memory tester. *Lines 1-6 are a limited check sum test on the data statements. It's not fool proof and it doesn't show where your typing error is. *The rest of the program creates the ML program called "MEN TEST ML" on your disk. It does not poke it into memory. *If you want to change the name of the resulting file you can, but be sure to change the name in program 2. 1 CS=0 2 READ X: CS=CS+X:IF X<>255 THEN 2 6 IF CS<>12694 THEN PRINT"ERROR IN DATA STATEMENTS":END 8 RESTORE 10 OPEN 1,8,1,"@0:MEM TEST ML,P,W" 20 PRINT#1,CHR$(0)CHR$(192); 30 READ x 40 PRINT#1,CHR$(x); 50 IF x <>255 THEN 30 60 CLOSE1 70 OPEN15,8,15,"V0:MEM TEST ML" 80 CLOSE15 90 END 100 DATA 172,0,4,140,59,3,160,0 101 DATA 140,55,3,140,56,3,140,57 102 DATA 3,140,58,3,162,1,32,82 103 DATA 192,32,54,192,32,88,192,32 104 DATA 94,192,140,0,4,200,208,238 105 DATA 230,252,206,52,3,208,231,173 106 DATA 59,3,141,0,4,96,138,145 107 DATA 251,142,54,3,177,251,205,54 108 DATA 3,240,8,238,55,3,208,3 109 DATA 238,56,3,138,24,42,170,208 110 DATA 229,96,177,251,141,53,3,96 111 DATA 173,53,3,145,251,96,173,55 112 DATA 3,208,6,173,56,3,208,1 113 DATA 96,238,57,3,208,3,238,58 114 DATA 3,169,0,141,55,3,141,56 115 DATA 3,96,0,0,0,255 Program 2: This is the BASIC controller for the ML. You could alter the code to check all 64k of memory in one test, but you would not know where the errors are located. * The actual test of each individual memory location is a "bit-wise" test. It tests each of eight bits, one at a time. * Two areas it does not test - the first 1k block the first 256 bytes of user memory, where the ML portion resides - if the program is working then this "page" is OK. * The program tells you what areas it is testing to help narrow down where the problem memory is located. * You can not test zero page without major alteration of the ML. It uses zero page indexing to point to memory locations. The program will end up writing numbers all over the place when it tests location 251 and 252 including the PLA register at location 0 and 1 * You can not test page 3 of the first 1k (I just realized) because location 820-827 can not be altered during the ML loop. If you are versed in 6502 then you will know how to alter these to zero page locations before running the program. * This does not test the control registers on the VIC, SID, or 2 CIAs, but it tests the memory hidden beneath them. There's no bells and whistles to this program. It does it's job and exits (after about 15 seconds) but hopefully it's a tool that may help someone fix their C-64 Some locations for the programmer: * 251-252 : page pointer, lo byte/hi byte, for (zp,indirect indexed),Y to mem location being inspected. example: testing screen memory 251=0: 252=4: 820=3 * 820 : loop counter. A "down-counter" A 3 poked here will loop the test 4 times. Each loop advance the page counter 1 page. * 825-826 : total error counter after the ML finishes the specified number of loops * 11000 : this is a 16 byte, secondary way into the ML. It turns off interrupts and bank switches underlying RAM before JSR to the ML, and restores it when returning to BASIC it's the short DATA loader at line 1000 and it's location can be anywhere you may want to put it. Be sure to change "Q=11000" to what ever location you put it. 10 IF LD=0THENLD=1:LOAD"mem test ml",8,1 15 GOSUB1000:GOSUB2000 20 PRINTCHR$(147) 22 PRINT T1$:Q=49152 24 M1=0:M2=4:LP=3:ER=0:GOSUB100 26 PRINT TE$;ER;ER$;RT$ 30 PRINT T2$:Q=11000 34 M1=0:M2=216:LP=3:ER=0:GOSUB100 36 PRINT TE$;ER;ER$;RT$ 40 PRINT T3$:Q=49152 42 M1=0:M2=8:LP=151:ER=0:GOSUB100 44 PRINT TE$;ER;ER$;RT$ 50 PRINT T4$:Q=49152 52 M1=0:M2=193:LP=14:ER=0:GOSUB100 54 PRINT TE$;ER;ER$;RT$ 60 PRINT T5$:Q=11000 65 M1=0:M2=160:LP=7:ER=0:GOSUB100 67 PRINTTE$;ER;ER$;RT$ 70 PRINT T6$:Q=11000 75 M1=0:M2=208:LP=47:ER=0:GOSUB100 77 PRINT TE$;ER;ER$,RT$ 99 END 100 POKE251,M1:POKE252,M2:POKE820,LP 110 SYS(Q) 120 ER=PEEK(825)+PEEK(826)*256 130 RETURN 1000 FORT=0TO16:READX:POKE11000+T,X:NEXT 1001 RETURN 1010 DATA 120,169,248,37,1,133,1,32,0 1011 DATA 192,169,7,5,1,133,1,96 2000 T1$="testing screen memory" 2001 T2$="testing color memory" 2002 T3$="testing basic program memory" 2003 T4$="testing high (user) memory" 2004 T5$="testing ram under basic rom" 2005 T6$="testing all other high ram under rom" 2010 TE$="test recorded":ER$="errors" 2015 RT$=CHR$(13) 2020 RETURN CBM Studio Assembly code if you want to alter it: *=49152 screen = 1024 mem_ptr = 251 lp_ctr = 820 mem_sav = 821 tmp_num = 822 err_ctr = 823 error = 825 scr_sav = 827 start ldy screen sty scr_sav ldy #0 sty err_ctr sty err_ctr+1 sty error sty error+1 ldx #1 loop1 jsr save_mem jsr loc_tst jsr rst_mem jsr set_error sty screen iny bne loop1 inc mem_ptr+1 dec lp_ctr bne loop1 lda scr_sav sta screen rts loc_tst txa sta (mem_ptr),y stx tmp_num lda (mem_ptr),y cmp tmp_num beq next inc err_ctr bne next inc err_ctr+1 next txa clc rol tax bne loc_tst rts save_mem lda (mem_ptr),y sta mem_sav rts rst_mem lda mem_sav sta (mem_ptr),y rts set_error lda err_ctr bne st_er lda err_ctr+1 bne st_er rts st_er inc error bne clr_ctr inc error+1 clr_ctr lda #0 sta err_ctr sta err_ctr+1 rts tech tools.d64.txt
  3. Carlsson: I agree. My main "soap box" is based on a technician's view point. The notion that "the power supply will cook everything on the board" is one of those sensational statements that get's substantiated and passed on by people that experienced some problem when their PSU failed, automatically assumed they experienced the exact same thing, and pass the story on to others as fact - when in fact, if after replacing the PSU, they had themselves or someone who knew how to do it, had opened the C64 enclosure and replaced the buss fuse protecting the 9Vac line would have had a working computer once again. There's no telling how many perfectly good C64s lie buried in the city land-fill because of a blown fuse that not many even knew was there.
  4. bradhig1; Be careful of the eBay units. Most of these (in your link) are simply recovered original power supplies. 99% chance they will eventually fail. You will be better off in the long run to buy a new supply made with more modern voltage regulating circuits. No one out there (in their right minds) are entombing their heat producing electronics in hard plastic. Allowing them to air cool, some even use "pancake" fans to help with that, makes them far less likely to cause troubles down the road. The bare minimum output to look for are 1 amp on the 9V line and 1.5 amps on the 5V line. Some list their output in wattage. The minimum wattage is 10 watts on the 9V line and 7.5 watts on the 5V line (voltage x amps = watts). Most have designed their PSUs to meet the output of the original PSU but a higher amperage on either or both outputs means the PSU runs cooler. The "saver" devices are an extra precaution - with circuitry similar to the GFI wall plug in your bathroom. Like I said, it isn't impossible for the 9Vac to rise to double the voltage and cook the VIC and SID output amplifiers. The effect is to make the C64 blind, deaf, and dumb. In the last week I have been hunting for a replacement VIC chip and although they exist, they are becoming more and more rare. You don't want to have to replace it if you can prevent it. The saver may never come into play, but it's there for an added level of protection if you want.
  5. Hay motrucker. Understand there are differences in the power supplies made for the European market over the ones made for the U.S. The European power supplies that operate on 240 vac and a split primary transformer, if about 5 different conditions are met within the brick supply and on the mother board, could put >12 volts out on (VDD) line or the 12 volt regulated line that feeds the VIC and SID chips. This most likely won't cause them to cease internal function but it would burn out their output amps (where this 12V goes) so it effectively makes the whole chip useless. It is possible for the 9Vac on the European PSU to rise to between 18 to 20 volts if the 5 volt brick regulator fails, but unless the fuse on the mother board has been tampered with this will instantly blow the fuse protecting the 5 and 12 volt mother board regulators. Any momentary spike of high voltage has to get through about 5 safety and filter components before it would ever reach the chips on the board. The only possibility of this happening on a U.S. intended power supply (and if you are in the US and your C64 works you have a U.S. power supply - the European version in the US would put out 4.5 vac and insufficient amperage and unregulated 5Vdc) is if the secondary winding over heats, burns it's insulation coating and melts through and contacts the primary winding. Most of the transformers used in these PSUs have primary and secondary winding isolation which means the secondary would have to melt through about a quarter inch of nylon and/or phenolic to get to the primary. This is next to impossible. What I'm saying is that these devices in your link are like putting training wheels on a tricycle. It doesn't hurt anything, but it's unnecessary here in the U.S.. They may help the rare European PSU over voltage spike, but in the U.S. it's just an added LED, more complexity to go wrong, and a psychological comfort for non-electronic tech C64 users that believe their power supply is waiting for the right opportunity to fry their mother board. If it gives you peace of mind and you want to buy one, go ahead, it won't hurt the C64 at all. None of this is refuting that the original "brick" power supplies were/are totally inadequate. If you have one it will self distrust one day. I recommend instead of buying a "Saver" cable, built primarily on a misunderstanding (to put it diplomatically), investing in a new supply with at least a 2 amp, fused 9 volt output. The 5V dc@1.5 amps is more than sufficient unless you plug in a really power hungry cartridge. There were a few out there that didn't pay attention to the power limits published by Commodore / CBM. Everything I've stated in this and my previous post come straight out of the C64 schematic. It's all there for anyone to see if you know how to read it. It also comes from first hand experience and knowledgewith the C64 that began when I first designed a new, beefed up PSU back in 1986 to replace the original, burnt out unit. Nothing inside the computer was damaged or fried, or blown to bits, it just had no power.
  6. This topic is a year old but you never stated whether you found the problem. I'm an electronic tech (among other things) and I know the C64 schematic. Good intentioned people will give you misinformed advice. It's not their fault, they are just misinformed. This reply is a bit lengthy but it's about as definitive as you will get these days. Background info: The red LED runs straight from the "brick" power supply 5 volt line. The rest of the C64 could be in flames and as long as the supply was putting out 2.1 to 5.7 volts, that LED will happily give off it's glow. Even then it's only indicating that the supply is putting out ?something? and that it's less than 10 to 12 volts. It could even be low voltage ac and the LED will still burn in a 50% duty cycle (60 flashes per second). There are two voltages coming from the power supply; 9Vac and 5Vdc(+Vc) The 5 volt line that runs the LED is considered (+Vc). It is not (+Vcc). The (+Vc) line is power for all the analog chips like the VIC, SID, and various clocks/oscillators around the board. It also goes out on the cartridge connector to power the ICs on any cartridge. This 5 volts from the "brick" never, never, never touches the digital circuits on the mother board, i.e. CPU, memory, CIA, PIA, or various logic gates. Even the ground returns for each are separated The 9 volts alternating current or 9vac. does several things. It sets the vertical sync frequency on the VIC chip, is the input frequency for the TOD clock on both CIAs. and finally goes out on the RS-232 connector as power for external devices. Next it goes through a diode/capacitor "ladder" that doubles the voltage (ac) and gets both rectified and regulated to 12 vdc (VDD) with a 7812 regulator. This is power for both the SID and VIC internal, output amplifiers. Finally the 9Vac goes through a bridge rectifier, and is regulated by a 5 volt 7805 regulator. This is (+Vcc) and is the power for all digital ICs on the board. The early versions of the C64 mother board used an inadequate heat sink for this chip and was prone to heat failure over time. Later versions of the board used a large aluminum plate to dissipate the heat but could cause what they call a "cold solder joint" on the ground pin of the regulator when assembled at the factory. A cold solder joint behaves exactly as you describe; it works properly until it heats up. Misinformed info: The power supply can not send high voltage through the digital circuitry. Aside from the fact that the 9Vac is fuse protected before it goes anywhere, it would take out the bridge rectifier and 7805 first. It might (and that's a slim-to-none "might") get past the 12 volt regulator because of the way the voltage ladder works, and that would damage both the SID and VIC causing a silent computer and black screen. The 6502 may be happily giving you the READY prompt, just no way to show it on the monitor. In any case, if the LED is glowing you know that the power supply did not short to line voltage because this (+Vc) 5 volts comes from the same transformer as the 9Vac inside the "brick" and the LED would have popped like a firecracker. 99 times out of 100, a transformer burns out it's secondary winding (low voltage side) and power simply goes away. Trouble shooting your specific problem: Check the two regulators 7812 and 7805 with a volt meter. The input voltage should be ~18 to 24 Vdc for the 7812 and ~9 to 10 Vdc for the 7805. the output voltage should be +/- .5 volt for each. 4.7V is actually ideal for (+Vcc). While the unit is cold, physically wiggle these two chips and see if it causes the computer to hang up or the video to go crazy. Be especially careful not to touch the leads with your fingers. It won't hurt you but it may cause the voltage to rise past tolerance for the TTL chips. If the wiggle test hangs the computer, you can get away with re-soldering it, but because of the age of the C64 I would replace these two chips just for good measure - about $1.50 for each at any electronic supply, even Radio Shack if there is still one in your area. The other, more obscure trouble that can cause a black screen (among other stranger video effects) are two chips, labeled on the board and schematic as U13 and U25 located left of the SID and right of the memory chips.These are 74LS257 tri-state multiplexers. They are used to allow the CPU to access or address memory on the high side of the system clock, and the VIC chip to access memory on the low side of the system clock. If one goes bad, or both go bad , or even one goes partially bad, (or one leg has a cold solder joint on either chip) the CPU may still appear to work but the monitor will display random garbage; the CPU will lock up on boot up while the VIC may or may not try to operate but will give a blue or usually a black screen. If the CPU cannot address memory location $00 and $01, the entire system locks up. You can find these common TTL ICs at most electronic supply like Jameco, AVEC, American Electronics. etc on line - also for about $1.50 each
×
×
  • Create New...