Can you replace your C64 PLA for under $3?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Oh another black screen Commodore 64 wonder what's the problem with this one Oh what okay yeah just as I thought the PLA from this board is bad another dead PLA on a Commodore 64 okay well it's not a problem I'm just gonna make a replacement PLA [Music] all right so that was a little bit of a dramatization I didn't actually have a PLA problem well at least not with this machine right at this moment but if you watch any my repair videos in the past you know that I've had PLA problems a whole bunch of times it's a very common failure on the commodore 64 and it results in nothing else but a black screen well almost always now even though that was a dramatization I wasn't kidding about making a new PLA but before we get to that let's talk about what the PLA actually is the motherboard you see here is what's called a longboard and it's the most common thing you'll find in any breadbin commodore 64 the pla chip is this chip right here the position of the chip can change depending on which motherboard revision you're using but the marking on the board says u17 next to the socket and that doesn't change although I think on the sx 64 it might have a different designation but on the long boards it's always gonna say you 17 now the PLA which stands for programmable logic array always has the marking 906 one one 4-0 one there are a couple other markings you actually might see like 82 s 100 and I think there's one other one that's possible but generally you'll see the 906 one one four dash of one now the aforementioned 82 s 100 was actually a programmable chip which is where programmable logic array comes from but these 906 one 1/4 Daschle one chips are not programmable they are actually manufactured already with the programming contained inside of them but the name PLA or programmable logic array has just stuck going back to those earlier chips that were actually programmable now what does the PLA do you might ask I mean you know that when they go bad and results in a black screen but why is that exactly well on an 8-bit computer like the Commodore 64 the CPU has eight data bit lines which make up the data bus and those data bus lines are shared amongst all the peripherals on the computer like the cartridge slot the graphics chip the ROM chips here the interface chips and even the RAM all of that sits on that same bus but only one of those things at a time can be electrically connected to the bus and driving it if two things at the same time try to communicate over the bus like say one of these rom chips and the Vic graphics chip what happens is you have a bus conflict and the computer behaves erratically or doesn't work at all and that's where the PLA comes in it acts like a gatekeeper and regulates which of these peripherals is able to communicate on the bus now there's nothing super special about the PLA but at the time when this computer came out it was pretty cool that Commodore used it because what they did is they removed a whole lot of discrete logic chips like that you might find on a Commodore pet that did the same function as the PLA basically controlled what could talk when and they reduced it down to just this single chip it's one of the reasons why the Commodore 64 is so powerful and yet has so few chips because essentially you have primary function ships CPU roms CID graphics chip IO chips cartridge but there really aren't a lot of other support logic chips if you subtract the 8 ram chips that make up the 64 K and the SRAM chip that's used for color Ram you're only left with just a few actual support logic chips on the entire computer so we know the PLA is an essential chip and this here is a selection of bad PLA chips that I had my bad parts bin without this chip you're not doing anything on a Commodore 64 it's absolutely essential now I'll put a link in the description to a good video talking about the PLA and why these fail so much but I'll boil it down to something simple that maus when they were making these chips use a process that is very prone to decay and failure so over time these chips simply go bad now you might be asking if the original 64's had that 80 to 100 programmable chip which gave the PLA its name why can't we just get those chips program them and stick them in the board well unfortunately there's two reasons one reason is it's pretty much impossible to find those chips anymore they were really a technology the late 70s and by the time the Commodore 64 used it it was late in the lifecycle of that chip which is why Commodore switched to making their own PLA but there's actually another reason even if you could find one of those blanks the hardware required to program them is next to impossible flying you need very specialized older equipment to program them and the common Mini Pro which I've showed many times on my channel is just not capable of programming those 82 s100 chips now the fact that PLA fail isn't new and people have been trying to make replacements for a long time and there are all sorts of different attempts that have come and gone over the years and some have been much better than others I'm holding in my hand one of the more recent solutions to the PLA problem and it's called the Platinum this uses a CPL D to replicate the PLA it comes with there's a nice document that actually talks about what the PLA does and some of the problems with replacing the PLA with more modern things like the CPL D some of the specific issues with the different revisions of motherboards are timing problems in this especially is important because of different electrical characteristics of the components used on the different motherboards those slight differences in the motherboards actually has the side effect of making this not work universally in all of the motherboards the kit came with this small capacitor and instructions on the back of the sheet on how to modify your motherboard and correct those slight variances to allow this to work more universally okay let's try out the Platinum in this Commodore 64 this is a 250 4 to 6 motherboard one of the later revisions that has the 8701 timing chip as you can see this computer is working I have an actual mas PLA in here and I haven't done any modifications to this board whatsoever will turn this on has a little blue LED on it and sure enough there we go we have a working computer excellent ok what you see here is what's called a rev 8 motherboard it's one of the earliest Commodore 64 motherboards came out in 1982 has these gold RAM chips and the one differentiator is the video port only has 5 pins so it's lacking that luma chroma or s-video type output we can see that this thing is working fine with this PLA in here I'll remove that PLA turn it on well and check it out we have a black screen the blue LED is running but the machine is not working according to the paper here it says the model a motherboard has some timing specific components and requires installation of an 82 ohm cast Ram resistor and a timing capacitor at C 204 and finally we have my zip 64 which is revision 250 407 I'd say this is the most common I have a lot of these motherboards I find these a lot the pla chip is up here on this one so remember on that first board it was down there so they've switched the position but still marked with u17 let's turn this on so you see this as working fine with this original Maus PLA in here we'll take that out there we go turn this on blue light and we have a black screen again let's go back to the paper 250 407 this board has a cast Ram resistor but usually requires installation of a timing capacitor at C 204 so there you go so far two revisions out of the three that we've tried haven't worked alright so what would you think if I told you you can make your own PLA and you can do it for about two dollars and sixty cents us and it has really really wide compatibility doesn't require any modifications to any of the Commodore 64 so far that I've tried and it's all made with very easily obtainable parts and you can solder it yourself at home without any special skills it almost sounds too good to be true right well let me introduce you to the GAO PLA the gal PLA project was conceived and designed by Daniel Manton and I'm probably butchering your name Daniel I apologize he's out of the Netherlands and he decided to come up with a way to replace the Commodore 64 PLA with very easily obtainable products or chips with a design that was freely available to download that anyone could make and on today's video I'm gonna build one up from scratch and show you which parts you need to order to do it yourself and show you exactly how much it all costs daniel has a great website online now which I'll in the description below about how to build one of these yourself and a lot of other background information on the PLA his project is based upon original reverse engineering done by yen's Schoenfield sorry she enzyme probably screwing up your name Daniel's idea was to make a PLA that was so easy to make it had to be made with components that were also easy to obtain so he ended up picking the lattice gal 20 V 8 as the chips to use on his project these are very easily obtainable from China right now for just a few dollars for a package of ten he does mention that the gal 20 VA is no longer in production but it was so ubiquitous and used in so many places it's readily available from China right now I even looked through some of my spare parts bin and found some gal 20 v eights on some old video cards there seemingly everywhere especially in equipment from the 90s now Daniel goes on to talk about how good this ple replacement is now this is where I came in I actually helped him with testing of various things on this project one of those things was super Zacks on a rare cartridge that's kind of a bellwether test as to whether a PLA replacements going to work let's check out some footage of me testing his project with a super zaxxon cartridge first up we're gonna test the original Commodore mas PLA chip just as a control to make sure that super zaxxon is working so super zaxxon into the machine when we turn this on joystick or keyboard will do joystick and we'll do one player and apparently right away the issue manifests itself with graphical corruption though stock PLA everything seems to be working without any issue all right let's pop out the original Commodore PLA not that in all right moment of truth joystick one player [Applause] whoops well that's looking good now I don't see any glitches right so awesome so the 25 nanosecond chips in here working great no graphical corruption whatsoever with super zaxxon as you just saw the gal PLA works perfectly with super zaxxon and I tried it out a couple different machines and it all worked on all of them another good test is whether you can use a replacement kernel with the easy flash 3 cartridge and the answer to that is yes apparently the easy flash 3 does all sorts of trickery to get a kernel loaded from the cartridge slot without any additional wiring which is normally what's needed to change a kernel and it works perfectly with this project one thing that Daniel and I have not been able to test yet is the epics fast load cartridge I don't have an authentic one of these to test with and nor does he so hopefully someone can test this out and get back to us they used my logic analyzer to test the kostik as Ram delays and also the game to ROM h delay times and everything seemed to be in spec for what you'd expect from a PLA which is likely one of the reasons for the high compatibility I also measured the rise and fall time with my oscilloscope while it's not a perfect match for the original PLA it seems to be close enough to not cause any problems whatsoever on his webpage he has a link to pc v way so you can have your own boards made or you can get the Gerber files to make them at your own producer or you can contact Daniel directly if you want to just get a PCB from him and the bottom of the webpage he has the source code so you can check it out yourself and he also has the JED files for programming the gal chips which we'll do right now alright so what will you need to build one of these for yourself first you'll need some PCBs these were made at PCB weight but it's a tiny little board so it's inexpensive it's always gonna be the minimum price and you can get them made at any of the Chinese manufacturer or OSH park if you so desire next you'll need some gal chips these are the gal 20 v8s from Aliexpress the Year 25 nano second variant and they cost four dollars and seventeen cents for quantity 10 then optionally if you want to need a couple sockets to install onto the PCB although you could just solder these directly onto there I don't recommend it I recommend you just buy some inexpensive sockets I got 20 sockets from Aliexpress for $1 and 61 cents shipped and then you need some pin headers these will solder into the PCBs and allow you to connect into the motherboard socket for the PLA and then the very last thing you're gonna need is something like this this is a TL 866 mini Pro EEPROM programmer this is what is used to program the gal chips there are all sorts of other alternatives for programming them so you don't need to use one of these but I've used this on my channel quite a bit and I highly recommend it this is one of the older versions you can't get these anymore the newer one looks exactly the same and will work for programming these gal chips and that's what you're gonna find I'll have a link in the description right now the TL 866 programmer costs about thirty-eight dollars shipped from Aliexpress of course it goes without saying you're gonna need a soldering iron to assemble this but it's all through-hole parts so it's very easy and you can use any soldering iron even one of those cheap three dollar ones from China if you so desire alright enough talking let's put this thing together first off let's just check out the one that I've already built so the PCB has two sockets and there's the two gal chips in there and on the bottom you'll see the pin headers which are these things and this is what plugs into the motherboard when you look at the PCB you can see the outline for the two sockets they go right here and another one right there and you see the outline of the original socket with the notch on the top that is for the PLA socket on the motherboard so first off we need to cut these strips down to length so it goes in the longer set of holes so you just stick it in there and use something to break that off like that and we do it twice make sure you don't miss a pin or you're gonna need another set strip of those rips that one just went flying so there we go those are cut down so when we look at these headers they have a longer part and a shorter part the longer part is what goes into the motherboard socket and the shorter part is what we're going to solder onto the PCB now what I recommend doing to keep these straight is put them into this into the PCB like that and like that and you see how these are all wah right now we can't just solder those on or we're gonna end up having a hard time sticking it into the socket so I recommend taking something like a 64 or just a bear socket and you stick the pins into the socket like so and then we'll put the PCB on top of those pins and you might have to kind of bend it around to get it to go in but there it is it is now on those pins perfectly and then what I'm gonna do is I'm going to solder a couple of the pins onto the PCB not gonna do all of them so I don't want to transfer all that heat into the motherboard but let's just do a couple of them just like this one there one there so that's enough to keep those pins nice and steady and we can gently pull this out and you see now this is on there nice and straight and I can go ahead and I can solder on the rest of these pins now you all right so everything is soldered on there and looking good pins are straight so now it's time that we're gonna install these sockets now you have to install the pin header first you got to do the sockets second otherwise it's impossible to put this thing together and then you carefully flip it over do the rest of this soldering and just like that we're done with the soldering and this is all the work there is to do when it comes to assembly all we need to do now is program those chips and get them onto a Commodore 64 alright so programming the gal chips we're gonna need these JED files to do the programming and remember there are two gal chips there's a left and a right so he has the marked L&R now the our file says it works with both 25 nano second and 15 now second gal so you'll find that when you buy them both are available I recommend you get the 25 nanoseconds if you can but if you can't you get 15 they can still work for the left chip I recommend you use this top one if you're using 25 nano second gals for the 15 nano second there may be some timing problems which I did experience in my testing of super zaxxon but these are their alternative files specifically the l alt 2 is designed with extra delay in mind and he says you can program this if you're using a 15 now second gal it will work and it works perfectly with super zaxxon he does say it will work on a 25 nanosecond as well but I haven't tested that but I recommend you use this first file if you're using 25 nanoseconds now we have the jet files programming these gals is ridiculously easy we're going to stick it into the programmer and close the little lever in the software we're gonna go and change the configuration type to all and we're gonna type in gal 20 change it to lattice and we're looking for the gal 20 v8b like that one right there we're gonna hit select open the file we're gonna program the L file first so you see all these zeros and ones that are loaded in the software now we're gonna say program and I'm gonna turn off the lock bit what the lock fit is it just prevents you from reading the gal in later and verifying it so I'll just leave that off I mean we're not trying to protect this software that's on here so we're gonna hit program this just takes a moment it'll erase it again program it and it does a quick verify and we're good what I like to do is just take a marker and I program the L chip first I'll just draw an L on there and we'll take this out and we'll pop in the other chip and this one is going to be the right chip so we'll Rhea are back in the software we're gonna open up the our file and we're gonna hit device program same thing I'm going to leave the lock bit off hit program programming stopped over current protection short or icy damaged and we'll just check the chip it's definitely in there correctly the dot is up at the top none of the pins are bent or damaged maybe I had this no I it was in there correctly it's just try one more time program no that's bad so I guess that's the pitfall of getting stuff from China might get a bad chip so I marked that with an X luckily I have some more chips that I got from China I forgot to mention you can tell if they're 25 nano second because it says gal 20 v8b 25 there if it says 15 then it's the 15 nano second so I'll just take another one of these off here this is another 25 nano second lattice chip I'll pop that in there and now we'll try programming again there we go this one's working that chip definitely damaged or bad how annoying all right programming successful so I got a draw the are on this chip again just so we don't mix them up all right now we just need to install these into this adapter now this one appears to have a bunch of bent pins these chips definitely look like they were pulled out of pre-existing equipment like I don't think these are fakes because they're sort of scratched up and they probably just server on some old EU waisted gear that got sent into China for reuse but that's good for us because it means that we're probably getting genuine chips so there we go first one is in that's the L chip and the next one is the our chip which also has a couple bent pins there we go both chips are in just do a quick check to make sure you didn't bend any pins everything looks good and all the pins on the bottom they look okay as well so there we have it one completed PLA chip now it's time to test this thing out okay let's start back with this original machine this is the later version with the 8701 we'll pop this in there it is and let's turn it on is it gonna work there we go look at that it's working we'll do a little bit more testing in a second but let's just quickly test those two other c64 board revisions next up is as if 64 let's try Daniels PLA there we go powered on boom blue screen looking good and finally we have this rev a board which are very problematic it required two seperate mods to allow it to work I'm checking to see which of these is which so the socket on the right is u18 that's the SID but u17 is the PLA and Daniel nicely wrote c64 u17 right on the PCB so in case you forget it's right there there we go goes right in very easily a moment of truth here we go look at that it works it's so functional this chip it works in everything perfectly now really quick let's move this revi board back to the original PLA so this was the PLA here that I got in it this is one of the MAS chips definitely not the original chip I guess what happened is at some point probably the original PLA failed in this got replaced with this one or I don't know by the time I got this it was different okay so that's the maus PLA let's try the easy flash three cartridge in this machine because from my own testing while you get the startup screen if I try to load anything at all you get this garbage and corruption this does not work there is a mod you can do on this motherboard to allow the easy flash 3 to work but it does require soldering some stuff on here but what I'm curious about and this is totally untested is what if I take Daniels Gao PLA put it in will it then work without model buying the board at all alright let's just make sure the machine is working there you go blue screen pop in the easy flash three cartridge and there we go and now we try to load something no same fault okay so it doesn't cure that particular issue but I know the mod to fix this board is not hard to get this cartridge to work well switching back to the 254 to five board the later version there is no problem with easy flash three working on this board even with Daniels thing so we can keyboard does not work properly there we go and we can load DK arcade and there is actually a CID chip in here let's plug this in audio for a little arcade a little bit oh yeah yeah we know what this is time for an 8-bit dance party okay I'll spare you the dance party but I would do it because it's pretty cool that everything works perfectly here now I can load alternative kernels like here is Jaffe Doss working perfectly I wanted to also show the gal PLA installed in an S x64 my friend Brian was able to build one up and here it is installed in his S x64 and not only fits perfectly but it works perfectly alright let's talk about pricing and what this would actually cost to make one of these boards so you can get it down to two dollars and sixty-five cents but that is the caveat that you're making ten of them and that you already have a way to program the Gow chips so to go through all these items it costs thirteen dollars and 23 cents including shipping from PCB way for ten of them then to order twenty of the gal chips cost a total of eight dollars and thirty four cents including shipping from Aliexpress or at least it did at the time that I ordered these parts the pin headers cost three dollars and twenty eight cents for enough of them to make all ten boards and you need the 24 pin narrow sockets you'll need a total of twenty of those for a dollar sixty two that comes out to a total of sixty four dollars and sixty two cents which is six dollars and forty six cents each but keep in mind that it is including that the TLA six six programmer if you exclude that you're spending a total of twenty six dollars and forty six cents or two dollars and sixty-five cents II now you could make 10 of these keep a few for yourself sell the rest to friends who need PLA s for their 64's or just keep them for inevitably when other people sixty fours will die and you're like hey I have an extra PLA chip I can give you I mean any way you look at this this thing is just a great value well there you have it Daniel has created something that is absolutely amazing and a wonderful gift to the Commodore 64 community as far as I can tell this gal PLA achieves 100% compatibility at least with 20 and 95 nanosecond chips I've tested these far and wide on as much hardware as I can get my hands on and everything has worked flawlessly the only tiny issue I ran into is using the 15 nanosecond gal chips super zaxxon did have some graphical corruption but flashing that special jet file that Daniel did that adds extra delay to the lines fix the problem in super zaxxon Daniel's website which I'll link to in the description below has tons of information about all the timing and testing that we did and if you build one of these up and offer some feedback especially if you find incompatibilities please let him know you can reach out to him on that website and he'll update it with additional information there well if you liked this video I'd appreciate a thumbs up but if you didn't you know what to do you can hit that thumbs down button you can subscribe for more videos we'll be lots more in the future and I'd love to hear your comments and your suggestions especially your comments about this in the description below and that's it thank you very much for watching we'll see you next time goodbye [Music] [Applause] you
Info
Channel: Adrian's Digital Basement
Views: 112,765
Rating: 4.9663224 out of 5
Keywords: Commodore 64, C64, PLA, programmable logic array, 82s100, 906114-01., 906114, MOS 906114, breadbin, retro computer, vintage computer
Id: GKyoh_gGTYM
Channel Id: undefined
Length: 28min 30sec (1710 seconds)
Published: Sat Mar 14 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.