Jump to content

Arcanis-Will

Members
  • Posts

    41
  • Joined

  • Last visited

About Arcanis-Will

  • Birthday 10/21/1966

Profile Information

  • Gender
    Male
  • Location
    Minnesota
  • Interests
    Self development - always working on something new.

    Activities I enjoy - Microcontrollers, embedded development, music, bass guitar, miniature wargaming (mostly scifi and fantasy), video gaming, rebuilding old computers :)
  • Currently Playing
    Alley Cat (Atari 800) - so far I've downloaded a handfull of disk images and this one is my favorite.
  • Playing Next
    No idea! Totally new to the Atari 8-bit scene so I am mostly ignorant of the "best" of the games and programs that I should try on my rebuilt 800. Building up a list of working and non-working games so I can try them out.

Recent Profile Visitors

3,352 profile views

Arcanis-Will's Achievements

Space Invader

Space Invader (2/9)

7

Reputation

  1. I think that I used a cleaner called Goo-Gone to help soften and dissolve the foam. Use it somewhat sparingly. You can then use alcohol to wipe off the goo-gone and residue.
  2. Looks good and you seem to be on the right path. You've already identified an non-obvious issue which is the fact that you can't just plug in the adapter since the Atari pinout is non-standard. Also (if it was not already obvious to you), from looking at the schematic I see that the DB-9 adapter gets its power from the serial port on either RTS or DTR so your program will need to assert one of those control lines then wait a short time before attempting to talk to the adapter. I looked at the Atari schematic and it seems like you should use port 1. If you have a multimeter and you are using that DB-9 connector with the built-in screw terminals then you see either +10 or -8 volts on the control lines. it would be really easy to debug your initialization step and confirm that you have the +10 volts working on the right pin. If things don't seem to work you could go back and recheck that. The 850 Operator's Manual has a lot of good information. I assume you will be using the Concurrent I/O mode? Seems like it is the only mode that fits the needs of realtime send & receive but it has the limitation that you can't do other peripheral access while it is active. So you should be sure to have a polling function that does not leave the Atari in concurrent mode permanently. My first attempt would be to write a polling subroutine that enables concurrent mode, gets an update, then disables it again before returning. This way it won't block you from saving your program to disk and/or loading data files, printing, etc. Oh and the 850 that I have is also very brittle. The edge of the case had snapped off but luckily it was pushed inside so I still had it. I was able to superglue mine as well. Good luck! Looks like fun!
  3. You mentioned the steep learning curve. I wanted to point out a few potential pitfalls that you might overlook. Going with a prepackaged solution does have the benefit that you do not have to debug the very low-level protocol which is non-trivial. Now, you didn't say what your background is or what kind of equipment you have at hand. Possible yes - realistic and acheivable? Maybe, maybe not, depending on skill and experience doing similar. Do you want to spend your time debugging the protocol or writing the higher level application? If you like the idea of this then go for it. I have made my preference above which is to go with the microcontroller approach. In my opinion using an offboard processor is following in the Atari model where you are creating a smart peripheral. So that's a matter of your choice. Edit: I was too hasty and missed that the serial adapter has an interface chip inside it. So you can drive it at 9600 or 19200 from the Atari 850. Also the 850 has 4 serial ports so you could treat that as a hub (with multiple serial adapters though). You don't really need a hub unless you are managing a lot of sensors. Interfacing to a small number of sensors, you can just daisy chain them similar to Atari SIO. I would instead of buying the hub, add another sensor or two. Or save money and just delete the hub.
  4. Quick Update: I have received my order of Labelle 106 and it worked extremely well to lubricate the cartridge doors. For the Atari 800, the pivot mechanism is all plastic-on-plastic and my system's plastic is quite hard and brittle so there was a lot of friction. I applied the Labelle 106 to the plastic hinges and worked it in. The door opens very smoothly now. I will still go back and grease the release latch the next time I take apart the chassis. For the Atari 400, the pivot is plastic pins into the metal brackets. Since I had it disassembled at the time, I greased the door pins, the release latch, and also the power interlock rod that slides in the metal shield. All was very sticky before and the power interlock did not work well. Now it seems like brand new. Works like a charm. Several days have passed and it is not gumming up or melting the plastic yet, which is a good sign. So far this is a great product.
  5. To expand on what ProWizard said - I found something else that can cause the black screen (if you can follow this hopefully it will make sense). Your symptom could be caused indirectly by a good GTIA which is affected by a failed chip select coming from either U2 (Address Decoder), or U3 (MMU). It took me several hours of troubleshooting to determine that at the times that my dead 800XL works, all the signals from the GTIA are great, but when it fails, the GTIA is not getting accessed and the waveforms are not coming out. Probing the CS line on the GTIA yields garbage, not pulses. So that comes from U2 which is apparently fed garbage from U3. However other parts of U3 feed good pulses to the ROM chips. So in my case I think I have a damaged MMU. If you have access to an oscilloscope you can identify the necessary signals using the SAMS Computer Facts Technical Service Manual. This will let you determine if you see good pulses going to the RAM demux chips (U26, U27), to the ROM chips (U4, U5), and to the GTIA. Also since you have a black screen you can look at the SAMS guide page 26/27/28 - the wide schematic - and see the sample waveforms at certain pins. if you have a scope, check the signals. If not, try swapping GTIA, MMU, and Address Decoder (U7, U3, U2).
  6. You can test most of your soldering by probing the continuity across all 8 chips. Because the majority of the pins are common (I think all but Data In & Data Out), you should have continuity across all of them. Look up the schematic for the board, or even simpler, look at the datasheet for the memory. Then identify all the common lines which is basically everything except the two data pins. A quick example - pin 3 is /WE. If the memory is marked U9 - U16, then put 1 test lead on pin 3 of U9. You should have a solid connection to U10 pin 3, U11, pin 3, and so on. This will verify socket / PCB trace connections and will tell you that all sockets are attached to the PCB. If you find that one doesn't then you need to touch up that pin. If none are reachable from the first socket then it might be the first socket with the issue. Also, the schematic specifically calls for HM6864-2P, not 4164. I am not familiar with the difference between the 4164 and the 4864. Are they compatible? ps - I would do this with power off to avoid accidental shorts to 5v or GND.
  7. Just some off the cuff ideas... If it's really the 1-wire protocol as used in the Dallas semiconductor products, then the interface is straightforward. You may have already thought of this. If it were me, I would use an Arduino Uno or something similar as a separate processor to do all the complex timing and interfacing with the sensors. It can also pre-format / parse / validate the data before sending on only good data in a plain-text or some kind of simple message format to the Atari over a serial data link (like SIO). Advantages for using the Arduino: - Already-written and tested libraries for 1-wire, basically everything is done for you, lots of examples available, very simple. - Highly programmable - pretty decent IDE given what it is. - You can build the entire thing on its own and have it print the data to the debug serial port which will show up on your PC. This makes it easy to debug your parsing. - Much faster processor for performing 1-wire interface and data validation - Very easy to interface the Arduino's 5V level serial port (hardware UART) directly to the Atari's SIO port. - Cheap - I just bought one for $17.95 (+shipping) from Amazon. - Great learning project. - Modular - you can debug the sensor interface and get that working independently of the GUI programming on the Atari. Disadvantages (potential at least): - How well do you know C and/or C++? - Somewhat more complex project because you now have an intermediate message protocol to invent. But it can be simple. - You need to figure out how to read/write data to the SIO port - what would this Arduino look like? An 850 interface? - Or would it instead need to connect to a joystick port and bring associated complexities.
  8. Did you double and triple check that you have the right parts and the right speed? Also that they are all oriented correctly?
  9. Solved! After some 2 hours more troubleshooting I found that I had a bad Pokey (A101). First I tried the Star Raiders cart - no improvement. Then I remembered I had an extra OS Module from the pile of stuff I bought, so I swapped all three ROM from the module to the 400 motherboard, one at a time - still no improvement. Then I decided to pull the only other large component on the board and try running the computer without it - so I pulled the Pokey off and voila! I got a working display just like that. So the computer will boot to Memo Pad (or Star Raiders) without Pokey. After I found that out, I replaced the dead Pokey with another pulled off my dead 800XL board, and it powers up! Finally! All keys on the keyboard work too. What a relief! I just finished putting it all back together. As a side note, I took the time to lube up the 400's door mechanisms. Earlier this week I had ordered some Labelle 106 plastic-safe grease. It came in today and so I used it to grease up the 400's door mechanism, and the release latch where it rubs on the shield, and also the power interlock rod which had been sticking in the shield. The door and interlock work amazingly well now! It's really cool.
  10. Yes, no key click sounds either. I've tried 2 different CPU cards and 4 RAM cards with no change so I am looking more towards motherboard and ROMs. I do not have any means to burn a cartridge for diagnostics. However, I just realized that even though I did try the cartridge slot (which did not work), it was actually done while using the MS Basic hidden inside Star Raiders which is not at all the same. I will go back and reverify with a real Star Raiders cart, which I have recently acquired. Thanks.
  11. I am attempting to troubleshoot a dead Atari 400 using the flowchart on page 5-4 of the Atari 400/800 Field Service Manual. It's the sequence called "400 Power-Up Catastrophic Failures and Basic Operations Black / Grey Screen". My symptom is exactly that - a blank / black screen on powerup. I have followed the sequence and found the following: -- Is there -5V... YES -- Is there +12V... YES -- Check the CPU Board for Clock Circuit - YES * -- All testpoints listed in table 5-1 had signal patterns at the indicated frequencies - except for the first 2 entries in the table. I could not figure out where pins 21 and 22 of J101 were. I could not identify J101. Therefore skipped those two measurements. If anyone knows where those testpoints are please let me know. -- Chip Reset Voltages: Is there +5V on A302 pin 36 - YES and on A303 pin 30 - NO - it's not 5V - it is a fluctuating value around 1.5 to 2V. Seeing this apparent failure, I retested it using another CPU card that was tested good, and have the same result - not +5V. EDIT: Looking at the actual CPU board schematic, it appears the flowchart is wrong - the reset line for A303 is pin 40, not pin 30. Pin 30 is a data line which would explain the fluctuating values. It looks like I am unstuck - I will have to go back and confirm on the right pin but I already packed up all my stuff for the night. The next step after that would be to replace the GTIA but I was told this board was tested and had a good GTIA so I will go on to the next step which is apparently to replace a bunch of chips on the motherboard (chips that I don't have). Will have to resume this tomorrow. Also, just to confirm the reset back at the source, I probed the output of the reset circuit on the motherboard and it is outputting 5V (A111 pin 15).
  12. I'm not completely sure I understand what you are describing by hard wired. To me, hard wired means no connector - both ends soldered - but you mention that the other end does have a header. Do you mean that it's not a ribbon cable and is instead a set of separate wires going to the header? The female header at the end of my ribbon cable was very well stuck onto the pin header and it took a lot of careful prying. Plus you have to be sure that the end of the header is raised enough to clear the edge of the shield or PCB - there was something that otherwise interfered with the header coming straight off. If you had a picture it would be easier to visualize. Are you referring to something like this? I can't find any other references online at the moment. If that is what yours is like, the header (at top of pic) will indeed come off the pins but you have to ease it off carefully. http://1.bp.blogspot.com/-pw80_H6Aw1E/Tzf19oQ9ZCI/AAAAAAAAABU/ts9La9FwPgk/s1600/2012-01-29_15-51-48.jpg To your other question, I don't know how to judge the vintage but maybe someone else will.
  13. Here is a summary of what I found when fixing the 10 or 11 "broken" (non-working) keys on my Atari 800. Not in any particular order. Hopefully this will help others. The root cause for all broken keys was that the solder pad(s) for those keys had been lifted off the underlying PCB. Appears some kind of force was applied to the key and/or they were mounted in a way that allowed pressure on the keys to push the solder pads away from the PCB. This popped the pads free which in turn broke continuity at just about every pad. Some pads made intermittent contact. The effect was that every pad made a break in the circuit which prevents the key and all others after it from working. The keys themselves were fine. The mechanical mechanisms worked. This was verified by using a multimeter to test each key directly. Probe right at the contact points for that key where it is soldered to the PCB. You may not be able to see the breaks. You will need to use a pencil or test probe to push on each key's solder points. There are 2 leads from each key that will stuck up slightly at the PCB and you can push on the sharp end of the lead to see if it moves. If the key's lead wiggles at all, then your solder pad is loose / broken and you need to jumper it with wire for best fix. The fix was to solder wire from the nearby working neighbor keys (as per the circuit diagram) which thus restored continuity. You will need to carefully remove as much of the foam mess as you can without further damaging the traces. You cannot test continuity across the PCB without removing the foam at least off each solder joint. Check continuity from the connector at the end of the ribbon cable down onto the PCB connection. This rules out the ribbon cable. Use the Atari key scan matrix diagram to figure out which pins on the ribbon cable connect to which keys. The diagram tells you which ribbon cable pin goes to which key, so visually follow the trace from the incoming PCB pad of the ribbon cable up across the board to the first key. Check that path with a meter. Then check from that key to the next (as per diagram and / or the circuit traces themselves). Simply touching up / resoldering each pad will not repair a problem where the pad is actually lifted and disconnected from the traces. You need to add your own wiring to make contact to - and across - the lifted pad so that what was once an isolated key is now part of the chain again. I jumpered across the non-functional pads and soldered at each point, effectively making my own traces to replace the many damaged ones on the board. It is not high-current - I used some spare wire-wrap wire that I had from some long time ago project. After resoldering everything, I used a printout of the scan matrix and checkmarked each and every connection as I retested them with a meter. You want to verify that the incoming ribbon cable pad at the PCB has continuity up through each key that it is supposed to interact with. Reading glasses helped a lot.
  14. Agreed. It has enough damage accumulated already.
  15. My 800 is also an older one with a metal shield on the door. It had decayed foam and the shield was loose. Boy was that a pain to clean it up and remove the old tape strips from the door and the shield. The decayed foam was easy to clean off, but the pieces of tape were still firmly cemented in place. So I ordered the Labelle 106 and will post a report once it comes in.
×
×
  • Create New...