ChildOfCv Posted March 11, 2019 Share Posted March 11, 2019 Maybe more for idle fun, but also to aid in diagnosis, I am working on an Arduino shield for the Mega 2560 that connects to the expansion port on the ColecoVision, in order to diagnose as many hardware problems as it practically can. I'm only in the beginning stages at the moment. First check is clock functionality (easy enough), then that the bus behaves like it should (check that the processor disengages when told, and that none of the bus lines are shorted). Planned additions will be ROM checksum, RAM and VRAM checks, cartridge ROM check (though this would require a 32K cartridge to fully check all access lines), sound and VDC checks, and possibly even checking the RF and video switcher directly. The shield board is not technically advanced--basically it just maps most of the expansion port pins to Arduino pins, and the diagnostic software will do all the testing itself. I did add a rudimentary DAC that I mostly cribbed from the Atari for video output, though it will only truly be useful for black/white images at best. Still, if I enabled the external video and sent a "composite" signal through it, the RF modulator should be able to make it appear on the screen. Anyway, just ordered a prototype PCB for this. We'll see how long it takes to arrive. If interested, I've added the board design to my CV schematics under the Diag sub-project. https://drive.google.com/file/d/1lVH7_HhNAEBQ5yUY1j8FsJktdYjzmgUc/view?usp=sharing 6 Quote Link to comment Share on other sites More sharing options...
omf Posted March 11, 2019 Share Posted March 11, 2019 Don't suppose you have any schematics or other useful information for the French SECAM model colecovision? Information on that is rather rare unfortunately. i have been trying to fix the video output on mine but i have not found the worn out component as yet. the machine works but after a short time i get white ghosting on the screen so must be a old on its last legs component. i have changed all the chips apart from the z80, i have also changed the video transistors still the ghosting is present. the arduino shield idea looks like an interesting project and ill be following. Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted March 12, 2019 Author Share Posted March 12, 2019 (edited) Unfortunately I don't have a SECAM version to play with. I guess I could see if one ever gets listed on eBay for cheap and then trace it out. So that version doesn't seem to have an RF connector? I guess you just connect it to the SCART input? Well, one thing that might help for reverse-engineering it would be if you could take some high-res photos of both the front and back in the upper-left area. Like, straight-on view with a good DSL camera from a distance with a good lens to minimize parallax error. And of course in good lighting so that nothing is hard to see. Edited March 12, 2019 by ChildOfCv Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted March 14, 2019 Author Share Posted March 14, 2019 So far so good... Choose a test mode: 1) Basic functionality CLK0: 126:123 CLK1: 130:119 CLK0 seems ok CLK1 seems ok RESET recovery time: 591 Checking BUSACK BUSACK pass Checking bus lines Bus test pass Checking resting state Resting state looks okay Checking wait state WAIT: 79:170 WAIT seems ok Checking U5 U5 pass I think next check will be CPU address space (ROM checksum, SRAM check, cartridge ROM check). Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted March 15, 2019 Author Share Posted March 15, 2019 ROM checksum done...at least for American unmodified ROM. I guess I'll need to find all the different variations out there and build a database of CRC32 checksums if I want this to be more than a regional thing. And my latest facepalm is finding out that I hooked up the data lines in the reverse order. Anyway, next is the RAM test. 1 Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted March 21, 2019 Author Share Posted March 21, 2019 RAM and VRAM tests written. Choose a test mode: 1) Basic functionality 2) Memory tests 3) VRAM test CLK0: 129:120 CLK1: 129:120 CLK0 seems ok CLK1 seems ok RESET recovery time: 556 BUSACK pass Checking BUSACK Checking bus lines Bus test pass Checking resting state Resting state looks okay Checking wait state WAIT: 76:173 WAIT seems ok Checking U5 U5 pass Choose a test mode: 1) Basic functionality 2) Memory tests 3) VRAM test Testing ROM 0 1024 2048 3072 4096 5120 6144 7168 ROM checksum: 6605AF34 America OK Testing system RAM Testing 1's Testing 0's Testing 01's Testing 10's RAM test passed Choose a test mode: 1) Basic functionality 2) Memory tests 3) VRAM test Testing video memory Testing 1's Testing 0's Testing 01's Testing 10's VRAM test pass 2 Quote Link to comment Share on other sites More sharing options...
+Yurkie Posted March 23, 2019 Share Posted March 23, 2019 Maybe more for idle fun, but also to aid in diagnosis, I am working on an Arduino shield for the Mega 2560 that connects to the expansion port on the ColecoVision, in order to diagnose as many hardware problems as it practically can. I'm only in the beginning stages at the moment. First check is clock functionality (easy enough), then that the bus behaves like it should (check that the processor disengages when told, and that none of the bus lines are shorted). Planned additions will be ROM checksum, RAM and VRAM checks, cartridge ROM check (though this would require a 32K cartridge to fully check all access lines), sound and VDC checks, and possibly even checking the RF and video switcher directly. The shield board is not technically advanced--basically it just maps most of the expansion port pins to Arduino pins, and the diagnostic software will do all the testing itself. I did add a rudimentary DAC that I mostly cribbed from the Atari for video output, though it will only truly be useful for black/white images at best. Still, if I enabled the external video and sent a "composite" signal through it, the RF modulator should be able to make it appear on the screen. Anyway, just ordered a prototype PCB for this. We'll see how long it takes to arrive. Screen Shot 2019-03-10 at 12.15.32 AM.png If interested, I've added the board design to my CV schematics under the Diag sub-project. https://drive.google.com/file/d/1lVH7_HhNAEBQ5yUY1j8FsJktdYjzmgUc/view?usp=sharing Damn nice work. Thanks for your contribution to the community. Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted June 8, 2019 Author Share Posted June 8, 2019 (edited) New update (finally!) I added a voltage readout as part of initial diagnosis. For starters, I just had it printing out in a loop, but now that that's okay, I'll add a threshold and a good/bad flag. 23:04:09.354 -> Choose a test mode: 23:04:09.354 -> 1) Basic functionality 23:04:09.354 -> 2) Memory tests 23:04:09.354 -> 3) VRAM test 23:04:09.354 -> 4) Input test 23:04:12.483 -> Voltages: -4.98 0.0 0.0 23:04:13.501 -> Voltages: -4.99 0.0 0.0 23:04:14.509 -> Voltages: -4.98 0.0 0.0 23:04:15.502 -> Voltages: -4.98 0.0 0.0 (turned CV on) 23:04:16.506 -> Voltages: -4.96 4.95 12.2 23:04:17.501 -> Voltages: -4.96 4.95 12.2 23:04:18.514 -> Voltages: -4.96 4.96 12.2 23:04:19.500 -> Voltages: -4.95 4.95 12.2 23:04:20.519 -> Voltages: -4.96 4.95 12.0 23:04:21.513 -> Voltages: -4.96 4.95 12.2 23:04:22.507 -> Voltages: -4.96 4.96 12.0 23:04:23.532 -> Voltages: -4.96 4.95 12.2 Also, now that I have added electronics for testing whether bus lines are stuck in high or low state, I'll be modifying the program to give the bus a more thorough checkout too. And oh yeah, I have fixed the voltage printout to properly display the fractional parts. The 12V numbers should be 12.02, not 12.2. Big difference... Edited June 8, 2019 by ChildOfCv 2 Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted June 28, 2019 Author Share Posted June 28, 2019 It's about time for another update. I started work on an external video generator, both to test the RF module (assuming it's still there) and to test the external video connection. I also added the diagnostics board sketch program into the archive, which is a PITA since Kicad's archive capability ignores anything that is not recognized as a Kicad-related file. Awesome. Have to do it myself, I guess. Anyway, the image (basically generated by xoring the x and y position) is stable, at least on my TV, though a bit wonky at the top for some reason. Even if you don't care about the video circuit, the rest of the diags should be useful. Coleco.zip 1 Quote Link to comment Share on other sites More sharing options...
Ikrananka Posted June 28, 2019 Share Posted June 28, 2019 Are there any other changes to the Coleco.zip other than the addition of the diagnostic shield? What's your plan with the diagnostic shield? Will you be selling this in the future or do you intend for this to be DIY? Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted June 28, 2019 Author Share Posted June 28, 2019 I made some minor alterations to some schematics to clean them up, but assuming I didn't screw it up, there are no connection differences. The RF board should look a little cleaner, and possibly the EM1. But thinking back, I haven't updated the PDFs yet. Should probably do that too. I don't plan to make a business out of this, but I guess if someone would prefer the board built, I could put it together. I did buy a few of those right-angle 60-pin connectors, and that seems to be an accomplishment in itself. On the other hand, they've apparently laid around a while, as it seems that the first order of using them is to hit them with contact cleaner. I'll need to have at least one more prototype board made though, to make sure the latest changes work with the CV external video input (the previous design was still at the napkin drawing phase, and had a few issues such as insufficient DC bias and too much gain). Time to use the breadboard in anger to make sure the current design works. But I could also throw a board together with everything except the video capability. 2 Quote Link to comment Share on other sites More sharing options...
Ikrananka Posted June 28, 2019 Share Posted June 28, 2019 Cool - thanks for letting me know. I'd certainly be interested in a board if one was available. Quote Link to comment Share on other sites More sharing options...
omf Posted July 2, 2019 Share Posted July 2, 2019 On 6/28/2019 at 9:00 AM, ChildOfCv said: It's about time for another update. I started work on an external video generator, both to test the RF module (assuming it's still there) and to test the external video connection. I also added the diagnostics board sketch program into the archive, which is a PITA since Kicad's archive capability ignores anything that is not recognized as a Kicad-related file. Awesome. Have to do it myself, I guess. Anyway, the image (basically generated by xoring the x and y position) is stable, at least on my TV, though a bit wonky at the top for some reason. Even if you don't care about the video circuit, the rest of the diags should be useful. Coleco.zip 2.87 MB · 5 downloads i have been looking at the schematics / pcb files in the zip, and i wanted to give a lettle feedback for the colecovision drawings. the eprom space seems to be only 28 pins which is the same as the main EU board. it would be nice to allow 32 pin chips. these are easier to come by if someone wanted to get a board made also, pin 13 on the cartridge connector is only connected to the shielding contacting screw hole, this causes issues with the risky rick game. it would be far better if these two points were connected to ground, this allows risky rick to function properly there appear to be a few pcd drawings that are incomplete with unrouted nets. good work in accumulating / drawing all those files you have shared ? Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted July 2, 2019 Author Share Posted July 2, 2019 40 minutes ago, omf said: i have been looking at the schematics / pcb files in the zip, and i wanted to give a lettle feedback for the colecovision drawings. the eprom space seems to be only 28 pins which is the same as the main EU board. it would be nice to allow 32 pin chips. these are easier to come by if someone wanted to get a board made also, pin 13 on the cartridge connector is only connected to the shielding contacting screw hole, this causes issues with the risky rick game. it would be far better if these two points were connected to ground, this allows risky rick to function properly there appear to be a few pcd drawings that are incomplete with unrouted nets. good work in accumulating / drawing all those files you have shared ? So you're coming from the perspective of having a modern board made then? That would be interesting to attempt, but the main purpose of these was to represent the production boards. Definitely, if I were going to have a new board made, there are many cool things that could be done, such as switching to surface mount to save space. But at the same time, Collectorvision seems to have that niche covered. That's interesting about Risky Rick. Does it have other chips besides ROM in there? Or did they use the shield pin as a ground pin? Or could it be using a type of ROM that was not recommended? Either way, yeah I don't know why Coleco decided to add a shield-only pin. If you're talking about the diagnostics shield, the Mega supplies power and ground to separate locations on the board. It wasn't worthwhile to run a connection on the shield board just to satisfy Kicad. The Mega itself makes that connection, and besides that, I wasn't even pulling power from that location. One "trick" would be to create a middle layer that connects those locations, and just omit it from the Gerbers. But again, why jump through hoops just to erase a line? Now, if any of the Coleco products are showing unconnected pins, then I need to fix that. Quote Link to comment Share on other sites More sharing options...
omf Posted July 2, 2019 Share Posted July 2, 2019 31 minutes ago, ChildOfCv said: So you're coming from the perspective of having a modern board made then? That would be interesting to attempt, but the main purpose of these was to represent the production boards. Definitely, if I were going to have a new board made, there are many cool things that could be done, such as switching to surface mount to save space. But at the same time, Collectorvision seems to have that niche covered. That's interesting about Risky Rick. Does it have other chips besides ROM in there? Or did they use the shield pin as a ground pin? Or could it be using a type of ROM that was not recommended? Either way, yeah I don't know why Coleco decided to add a shield-only pin. If you're talking about the diagnostics shield, the Mega supplies power and ground to separate locations on the board. It wasn't worthwhile to run a connection on the shield board just to satisfy Kicad. The Mega itself makes that connection, and besides that, I wasn't even pulling power from that location. One "trick" would be to create a middle layer that connects those locations, and just omit it from the Gerbers. But again, why jump through hoops just to erase a line? Now, if any of the Coleco products are showing unconnected pins, then I need to fix that. thought it would be nice to attempt a descent board for the coleco rather than that shabby thing that was produced i dont know what circuitry risky has inside as that would mean damaging the label, it just triggers demo mode if 13 is not connected to ground which prevents exiting level 1, this does not happen without intervention if you have thrown your shield away if its dirty or gets in the way of various mods. i bring up the system rom because there is the option to add 32 pin roms to american units with a small mod. the super action controller has net lines that dont go anywhere on the on the numeric pad too, also there is something iffy with the normal controller in 3d preview but that could be a kicad bug? Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted July 2, 2019 Author Share Posted July 2, 2019 Interesting about the SAC. I wonder if one of the PCB footprints didn't make it into the exported stuff? Which connection does it show as not connected? I know I had to fudge an 8-way switch for the joystick part in order to accurately show the contacts. I also had to create a custom footprint for the finger buttons. Then there was the custom button contacts on the keypad... that's actually a lot of custom. Quote Link to comment Share on other sites More sharing options...
omf Posted July 2, 2019 Share Posted July 2, 2019 15 minutes ago, ChildOfCv said: Interesting about the SAC. I wonder if one of the PCB footprints didn't make it into the exported stuff? Which connection does it show as not connected? I know I had to fudge an 8-way switch for the joystick part in order to accurately show the contacts. I also had to create a custom footprint for the finger buttons. Then there was the custom button contacts on the keypad... that's actually a lot of custom. cyan below on top picture doesnt go anywhere normal pad dodgey part Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted July 3, 2019 Author Share Posted July 3, 2019 Thanks. Looks like a genuine oversight on the top picture. Fixed. On the bottom picture, those are supposed to be jumpers. And I borrowed a button footprint and relocated its holes to match the controller's. Never bothered to look at the 3D stuff since I don't even have experience with 3D modeling. But I did erase the 3D model part from the footprint, so it will now just show a bare board with the PCB holes instead. I also added the jumpers from the standard controller into the schematic so that Kicad can quit complaining about extra footprints and "unconnected" parts. The main switch on the console still looks tiny though. Maybe if I can figure out FreeCAD I'll get around to filling in the 3D views. Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted July 3, 2019 Author Share Posted July 3, 2019 Here's an update with the PCB issues addressed. I also went through and regenerated all of the PDFs. Coleco.zip 2 Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted December 9, 2019 Author Share Posted December 9, 2019 Finally another update on this project. I built a self-contained board because the plugs between the shield and main board are always going bad. Here it is only as good as the original shield version was, but more software diagnostics are forthcoming now. Also, traces have been corrected in the design, so future boards won't need those hacked wires or the bridged solder connections. New developments will be to more comprehensively test the VDC (as in, not just the memory), as well as to exercise the sound chip. The total cost of the board and components is still in the $20 range though, with the Atmega640 accounting for $8 of it by itself. 3 Quote Link to comment Share on other sites More sharing options...
+Yurkie Posted December 11, 2019 Share Posted December 11, 2019 Would be awesome to get some SGM cases to house your pcb. Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted April 6, 2020 Author Share Posted April 6, 2020 Another update, another board. I added a cartridge test board for more comprehensive tests. Makes sure pins make contact at the cartridge port, and tests address decoding for the ROM select lines. I also updated the Colecovision schematics set. Coleco.zip 5 Quote Link to comment Share on other sites More sharing options...
omf Posted April 6, 2020 Share Posted April 6, 2020 4 hours ago, ChildOfCv said: Another update, another board. I added a cartridge test board for more comprehensive tests. Makes sure pins make contact at the cartridge port, and tests address decoding for the ROM select lines. I also updated the Colecovision schematics set. Coleco.zip 3.28 MB · 4 downloads liking the schematics, you seem to know a great deal of kicad. i am dabbling with it but i think this level of greatness is far beyond me currently i did notice that the coleco scart board pcb appeared to be the NTSC consol version and not the french secam version though. not sure what happened there? Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted April 6, 2020 Author Share Posted April 6, 2020 2 hours ago, omf said: i did notice that the coleco scart board pcb appeared to be the NTSC consol version and not the french secam version though. not sure what happened there? Yeah the reason there is that I copied the SECAM version from the NTSC version and then redid the video part in the schematics, using images posted by another user on the board. I haven't had the time to redo the PCB part though, and even on the schematic you'll notice that a few of the parts are as yet unidentified. But IIRC, many parts are shifted around, so this would be a huge task that I haven't had time to get to. Most likely, I'd have to erase all wire traces, reposition each component to its new place on the board, and then remap the traces. Could definitely take some time to finish. I don't want to delete the PCB entirely though, since it already has all the components (except the SCART components) somewhere near where they need to be. Quote Link to comment Share on other sites More sharing options...
Tursi Posted April 7, 2020 Share Posted April 7, 2020 17 hours ago, ChildOfCv said: Another update, another board. I added a cartridge test board for more comprehensive tests. Makes sure pins make contact at the cartridge port, and tests address decoding for the ROM select lines. Coleco.zip 3.28 MB · 10 downloads Nice! Can it test for the ground pin that sometimes gets disconnected and causes issues with some carts? Seems like having a quick verification of that wouldn't hurt. Thanks for the schematic update! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.