Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

11 Good

About atariry

  • Rank
    Space Invader

Profile Information

  • Gender
  • Location
    Cambridge, UK
  • Interests
    Microprocessors, Atari, Arduino, 68000
  1. Having listened to the Antic Podcast, I was aware of the vintage computer events which take place in the US, although not so sure about the amount of Atari stuff present. So I while googling for information I stumbled across some events in the UK. I suggested visiting one of these later in the year to my niece, but she suggested a different event which was earlier in the year. What: Revival 2019 When: Sat/Sun 8/9 June 2019 Where: Walsall football stadium (middle of England near Birmingham), UK I visited on the Saturday and met up with my niece and her husband who is a big console collector. Atari content was virtually nil, see later. I was surprised at the size of the event, and pleasantly surprised at the number of dealers who were mainly selling console carts and CDs, but lots of other stuff too. There was a display of old 80's vintage computers, e.g. BBC micro, an Acorn Atom, a Memotech (rare), several types of Amiga, with one playing Doom, but only a solitary Atari ST playing Bubble Bobble. One dealer specialised in Sinclair Spectrum spares. There was a row of Vextrex machines. There was also about 10 pinball tables on free play. In the colsole area (which included some unusual Japenese consoles) was an Atari 5200 and a bunch of carts, which at the time I saw it was playing Frogger. There were also quite a few arcade machines on free play too. I quite enjoyed a few games of Missile Command, which reminded me how much I suck at video games. I did look out for any Atari 400/800 carts, and found one in the junk box of one of the dealers. It was "Soccer", having a plain silver striped label with a hole punched through so you could see the screw. I asked "how much" and was answered "£10, because its very rare". So I threw it back in the junk pile. I would have paid £2 max. I did buy an Atari tee shirt and Atari baseball cap for £35 (which seemed a bit expensive, but I wanted to leave with at least something). One area had a significant Commodore presence, with a couple of guys selling different books covering the history of Commodore with DVDs to accompany. One of these was the ex-CEO of Commodore in the UK, with whom I had an interesting chat, and who later I saw getting asked for selfies. I assume that he is well known in the UK Commodore scene. There were also a number of talks on various subjects throughout the 2 days. To summarise I found it an interesting day and made a number of small purchases, but Atari-wise, it was a bust.
  2. So to continue the story... Using the 2532 "NOP" EPROM, with the reset injected externally from the Teensy3.5, everything checked with the scope looked OK. So I put a NE555 in the new socket to restore the power on reset circuit. I also put all the original chips back in, including the ROM. I didn't connect up the drive mech. Doing more checks, the power on reset was OK and clocks were OK too. This time the address bus was changing and there was a pattern suggesting that the CPU was executing some kind of loop. This was more like it, but I couldn't understand why previously in this configuration the 6507 was dead. I removed a known working Tandon mech from another Ebay 1050 purchase, however I was happy that this drive was fully working. I connected up the known good mech to the PCB from drive #2 (the one on which I had done all the work). I switched on and I saw the drive head seek and spin up and motor off. I was happy but couldn't understand why it was now working, the only major change was that the NE555 was now socketed and had a new part, however I did check the original power on circuit. Now I wanted to do more checks, but there is no room on my bench for my Atari 800 and the 130XE was in pieces due to some video experiments. So I now started to write some code to make the Teensy3.5 send command packets to the drive. The protocol is simply 19200 baud "RS232" at TTL levels (which isn't really called RS232!). I connected up DATAIN and DATAOUT and had the usual serial comms confusion of which 1050 SIO pin connected to the TX and RX of the Teensy3.5. I also connected up the COMMAND SIO pin to a spare Teensy I/O. I coded the sequence to do the GET STATUS command, but (to cut a long story short) it didn't work. It was a bit of a guess, but I connected up the +5V/READY SIO pin. This did the trick and the GET STATUS command now worked. I chose this command as it does not need the mech to be connected. Some time later I did look at the commented source code of the 1050 firmware and saw where the check for READY high is done. Now I do know that the Atari 400/800 generates a clock signal which can be used by the "listener" to know when to sample each bit (I used this technique many years ago using a PIC micro) but the 1050 doesn't need or care about the serial clock and in fact the schematics (thank you Jerzy Sobola) show that this SIO pin is not connected (apart from to the other SIO connector, as a pass through). I could now code up more SIO commands, particularly PUT, READ and FORMAT, When I tried the FORMAT command I saw the head seek to track 0, step from track 0 to 39, but then generated an error. Occassionally it would start to step back to track 0, but would still stop and generate an error. So now was time to get out my old original 1050 drives, both upgraded to Happy status. Well one didn't work and the other couldn't format. WTF! After much messing around I managed to get one of the drive to format a floppy. I am now suspicious of the quality of some of my floppies which haven't seen the light of day for over 30 years. I found some spare floppies and tried the repair drive again. Finally I was able to get a floppy to format. I completed coding of READ and PUT and using the Arduino serial monitor was able to play around and check that the 1050 was working. Nevertheless there were intermittant fails. Now I was using a non Atari PSU, so I switched to a genuine Atari PSU. This did appear to help (but I am not 100% certain). The next evening I setup to do more work. I plugged in the Atari PSU and powered up the drive. Nothing! I toggled the power switch. Still nothing. WTF! The drive was completely dead again. So I removed the mech. The connectors are so tight and close together it is a PITA. I scoped various pins and to my surprise saw the 5V power supply going to 5V and then to 0V at a low frequency. It was a bit of a guess but I put my finger on top of each of the tall capacitors and wobbled them. This appeared to fix the 5V. I now removed the PCB from the 1050 case bottom and examined the solder joints of these capacitors. I quickly found a cracked joint on one of the pins. Now remember this was the drive that got a massive thwack in the post. I re-soldered the joint, connected up the mech and the drive now worked again (and has done ever since). The Arduino software could easily be ported to an Uno or Nano. If anyone asks I will tidy it up and send a copy. One bad habit I have is never finishing anything off .
  3. Hi @nezgar (Not sure if this is the correct mark-up!), many thanks for your comments. It is always nice to read that other people are interest in my postings. The 2532 EPROM does work with the JP1/JP3 jumper settings. Thanks for pointing out how to use the more common 2732 EPROM. Somewhere I should have a box full of these EPROMs, but I cannot find it. I have other boxes with EPROMs of other sizes which I know exactly where they are, but 2 other boxes have gone astray. Annoyingly it means that I don't have any 2732s to experiment with. When I searched on Ebay I was shocked but not surprised at the price of 2532s, but just shocked at the asking prices for 2732s. I'll be trying the "NOP" EPROM in the PCB from drive #1, and it will be interesting to see if the voltage level on the program pin is the same as on the other PCB.
  4. Note: both drives have 2793 and tandon mechs, one has revL ROM and the other revK (FWIW). I did remove all ICs from both drives, trying not to mix them . Interestingly I found in one drive, a bent pin on two of the ICs (2793 and 6810). I straightened the pins, re-socketed the chips, connected the mech, powered on, but the drive was dead. Bummer . Supecting that the RAMs might be faulty and causing the strange 6507 behaviour, I took a different approach. Using a Teensy3.5 type Arduino (which has 5V tolerant pins, and plenty of them) I wired them all to the 6810 RAM chip and used an external 5V supply for power. I wrote code to thoroughly test the RAM using industry algorithms and I also checked all 6 chip selects. Both RAMs from each drive passed. The Arduino code needs tidying up but I am happy to release it, in case it might be of help. Over the next few days I repeated the same exercise for the 6532 RIOT chip, connecting PORTA and PORTB back to back. Again both chips passed with flying colours. So the problem was not caused by a faulty RAM corrupting the stack. My next approach was to dust down an old homebrew EPROM emulator. This can emulate upto a 64k byte RAM using a stack of 6264 8k RAMs. Again I connected it's control signals to pins of the Teensy and wrote the code to download a ROM image. The emulator is based on shift registers (rather like SPI) so is pretty easy to code. Of course it didn't go without a glitch. I found that I had used capacitors to slug some of the signals (I have no recollection why), and this took time to figure out. The solution was simply to snip them off! I then had an intermittant problem. There is a green LED which lights when the EPROM is being accessed, and poking on the circuit board, I could make it light brighly. Eventually I found a loose connection and I was in business. Unfortunately my header is based on the 27XXX series of EPROMs and is not compatible with the pinout of the 2332 ROM (or 2532 EPROM), so some creative wiring was needed. I wrote some 6502 code (my first in over 30 years!) to simply fill the emulated ROM with NOP instructions. This was to allow me to use a scope to check the address lines.They should count up like a binary counter. I got this working pretty quickly. I then modified the code to access each peripheral chip to confirm that the chip select decodes were working. I was able to blow this code into a 2532 EPROM. Again the source and binary are available should anybody find them useful. I had to remove the NE555 reset generator IC, so that I could connect my own reset controlled by the Teensy, which I used to trigger the scope and logic analyser. In scoping the pins of the 6507 I found some unusual looking waveforms on some of the address pins. The waveforms were not simple low and high logic levels, but the logic high appeared to be modulated by lower address pins, making it look bumpy (I'll see if I have a screen grab). I was convinced that the 6507 was either faulty or that there was a short, but after a look of fruitless looking, I figured that's just how (some of) the address pins behave. Also when using the 2532 EPROM, the logic high level on pin 20 (the program pin) was really low. This pin is used as a chip select and connects to A12 (if I recall correctly). Again this appears to be normal and the system still runs (it doesn't lock up as I originally observed). I assume that the program pin is a little unusual and just heavily loads whichever IC is driving it. During most of this work I have been working on drive/PCB #2 (the one which got bumped but showed a tiny bit of life). Only the 6507 and EPROM emulator were plugged in (the 2793, RIOT and 6810 were removed). I think that I briefly checked with drive/PCB #1, and it also appeared to run the EPROM emulator code correctly. My plan, possibly a little ambitious, was to write some code to check out features of the floppy, with no connection to the Atari. I'm unlikely to do this now, but the idea was to have an EPROM with code to diagnose the digital circuitry and floppy operation of the 1050. I may re-visit this at a later date. ...to be continued.
  5. I know that there are a few other threads on 1050 disk drive repair, so I hope I am forgiven for starting a new one. Hopefully some of my techniques might help others. Back in November a bunch of Atari 8 bit stuff was put on Ebay UK by a seller - "ginger_colin". It was all "buy it now" and most items were "for parts or not working", even though for the computer systems he showed the computer as operational in the pictures. Someone grabbed a bargain Atari 800 for less than £100. A number of items sounded like they needed a clean. I bought a 1050 for £30, then a day or so later bought a second for £35. I bought the first to use the case for an Atari related project which I started back in 2000, but then the second just seemed too good a bargain to pass up. The second drive was badly protected (hardly any bubble wrap) and when I took the drive apart it was clear that it had taken quite a hit during delivery. I powered up drive #1, but it was completely dead. I powered up drive #2 (the damaged one) and switching on and off several times, it operated the drive once only. So I knew that I had a repair project on my hands. I took both drives apart and cleaned the cases (using JIF and soap) and used a brush to get rid of fine black "dust". I suspect that the original owner was a smoker. Drive #2 had broken and cracked support pillars. The switch was bent up - quite a feat if you know the size of the 3 pins of this switch, as was the LED. The LED bent back, but the switch didn't. The tab to open the drive was completely stuck, as it was clear that the drive had been hit hard on the front. The brown front plastic surround was cracked and pieces broken off in the bottom left corner. Much later I also noticed that the front of the mech was also cracked. To his credit the seller refunded the money for drive #2 without me even asking. He was also selling a bare mechanism, and having communicated with him it sounded like this was due to him having to replace another drive (for a different buyer) which must also have been broken in the post (I assume that he must have had to replace the plastic case leaving him with a spare mech). I removed both mechs and used a multimeter and scope to check the power supplies. Both drives checked out OK and the 5V looked very clean. The 6507 clocks for both drives were good and RSTB was working correctly. What surprised me was that for both drives the address lines were not toggling. This puzzled me as if the firmware was not seeing the mech I would have thought that the code would end up in a tight "error" loop so giving some 6507 address line toggling. I surmised that the CPUs have executed some bad opcodes which crashed the CPUs, possibly due to back RAM used for the stack. So I then started a more thorough examination. I will post more later, so those that are not interested do not have to wade through a long initial posting.
  6. I have just bought a mint Atari 800XL (from Ebay - where else?). The thing that interested me (apart from being described as mint) was that it was a NTSC version. Note: I am in the UK. I connected it up to the above Samsung TV using the composite video lead. Although the Samsung TV is an older model it displayed the NTSC picture correctly. Although the connection was only composite video, the picture quality was much much better than the picture quality I get from my 130XE PAL system. I was using a Missile Command cart and the difference between NTSC and PAL is like night and day. Now if only I could get S-Video to work on this TV, the NTSC picture would be even better! The other thing which I was expecting, was that the game played much faster on the NTSC 800XL than it did on my PAL 130XE.
  7. I have an old Samsung UE46B7020. There are two jack sockets on the back for composite/audioL/AudioR and another for Y/Pr/Pb. I have connected my 800 via composite video and the picture quality is very poor. Where certain colour combinations appear there is a horrible grid pattern. I have been unable to get luma/chroma to work. Using luma alone, there is some colour bleed(?).
  8. Does anyone know where to buy the screws used in the bottom of an Atari 800 case (service manual says "Remove the five screws (no. 6 32x3/8) from Bottom Cover")? Ideally UK, possibly EU. I tried Ebay UK and Google, but only found Ebay US or Hong Kong suppliers. A recent purchase had only one genuine black screw, 2 missing, and 2 wood screws!
  9. I recently spotted an Atari 800 on Ebay (UK). Not working. I spotted that it had a genuine ROM and RAM cartridge. I already have an Atari 800 (made in 1985 from parts found around various Silicon Valley surplus stores) but I've wanted the cartridges for some time, one reason is that I want to 3D print cases for my own bare modules, so I need something to measure up. Anyway I won the Atari at the surprisingly low cost of £89. It arrived today (at work). The packaging seemed "light". When I got it home an opened it up to my horror was a huge hole in the rear of the case (see attached picture). At first I wondered if the seller had not flagged this up, but I quickly spotted plastic pieces inside the case and shook them out. It had clearly been damaged in transit as the packaging was totally inadequte. Bummer Firstly I put the ROM and then 16K RAM and then bare 32k RAM module in my 800 and they all worked. I then put my own bare RAM and ROM in the new 800. I connected a S-Video lead to a Dell monitor and switched on. I had put in the SALT cart and the screen appeared but some characters were badly smeared. Score! I thought. It actually works. Perhaps only the colour pot needs adjustment. I then took the whole thing apart. It needed cleaning. Two of the screws on the bottom were not Atari suggesting someone had been in at some time. As I cleaned the power board I noticed a nasty hack on the SIO connector. Someone had attempted to repair one of the pins and I could see that it was still broken. All in pieces I put it on my desk and powered up. I now got the red screen of death. I swapped ROM and RAM, but no good. Bizarre as it had been working. I then swapped out the CPU card with one from my 400 (another recent Ebay score). It now worked again. Luckily I had another spare CPU card (from years ago) which I found that ANTIC and GTIA were bad but the CPU was good. I swapped ANTIC and GTIA from the now broken 800 board to the old CPU board and inserted it. It worked! What a stroke of luck. I have a spare SIO socket, unsoldered many years ago from a broken Atari printer. I snipped the legs of the broken SIO socket in order to more easily remove it, and after cleaning the holes, soldered in the "new" one. Not a bad fix if I say so myself. So now the final headache, and I hope someone can help with advice. How do I best repair the damaged case? The good news is that I have all the parts (5 or 6). They fit together quite well. I'd like suggestions as to the best type of glue to use in order to make the fixes as seamless as possible. I was thinking that I can use tape (on the outside) to hold the parts in place and then I can apply glue on the inside along the broken seam? If I apply along to seam it will spill out? Anyway suggestions please.
  10. Just downloaded and "installed". I like the simplicity of the installer . Found an ATR and had Boulderdash up and running in less than a minute. I rarely use emulators, but for the occasional game (or demoing to friends), Xformer10 is perfect. Many thanks for releasing it.
  11. While working on my Atari on a breadboard project, I nearly blew up the GTIA chip. I had wired up power, clocks and controls, but not address or data, of Sally (6502), ANTIC and GTIA. When I powered up, I was having problems programming the FPGA board, and I saw that the 5V power rail was low. I then saw that the power supply was limiting the current, and stupidly I raised the limit from 500mA to 1A. I then smelt something burning, so quickly turned off the power supply. Touching the chips, the GTIA chip was too hot to hold my finger on. Damn!!! I opened the Atari official 400/800 field service manual and to my horror saw that I had the +5V and GND connections reversed. I had googled for pinouts and had used the rather nice pictures from user.xmission.com. On this site the picture of GTIA has VCC (i.e. +5V on pin 3), as opposed to other sources which show pin 3 as ground. I will attempt to contact the webmaster to ask if the pictures can be corrected. Just my luck to use these and not double check with other sources. Lesson learned! I reversed the power connections to the GTIA and powered up. All was well and current draw was no more than 300mA. Nevertheless all pins of GTIA looked dead on a scope. I re-connected the 3.57MHz source to FOSC, and finally saw a waveform on the CSYNC pin, which was horizontal sync pulses, but without and vertical sync (which I suspect/hope comes from the ANTIC chip which is not yet programmed). --Atariry
  12. Here is the schematic of the board (minus the two pull down resistors on the RD4 and RD5 pins which I forgot to add). Note that it needs 6 connections above and beyond what is available on the Atari 400 memory connector. Four of these connections use unused pins on this connector and route to pads R,T,M and N on the PCB. They will need wires added underneath the main PCB of the 400 to SEL4, SEL5, A14 and A15. Two other connections for RD4 and RD5 need flying wires to the main PCB (there are not enough spare connections on the edge connector). I have yet to add these wires to confirm my suspicions, but I will report back if it works! --Atariry
  13. @mytek thanks for the pointer to the 1088XEL project. I have read up about it and it is an impressive piece of work. Perhaps once I have finished my breadboard project I could go the 1088XEL route? For the time being I have started on the breadboard project, even though the breadboards which I ordered from Ebay have not arrived. I am using a Teensy 3.5 as the master controller, whose purpose is to be fully decided, but I would like it to be able to poke and peek. This is made difficult by having to continuously clock theta2, so I am using a cheap Altera EPC2 board to interface between theTeensy and the Atari chips. I have temporarily wired up Sally (6502), GTIA and ANTIC. These came from the NTSC CPU board from my Atari 800 which I modified many years ago to to be a PAL 800 (I bought the 800 back in 1985 when I was in the USA). I am using the 2 PLLs on the EPC2 board to generate the 3.57MHz FOSC clock and I see it divided down by Antic to half the frequency. The data bus and address busses are not wired up, but clocks and controls are. I use resistors to pull the 6502 databus to 0x8D, which executes as STA #8D8D, in order to see some writes. I see the line sync on the CSYNC pin of GTIA is active, but no sign of a vertical sync component, which I assume needs to come from ANTIC once it executes a display list. I also see bursts of 8 REF (refresh) from ANTIC. Interestingly at the same time as the REF bursts I see corresponding nasty low going glitches on the 6502 R/W pin just after the rising edge of REF. The REF bursts are repeated at line sync rate, which corresponds with details I have read in various postings to this forum. BTW I nearly blew up the GTIA. I don't know if it is damaged, only time will tell. I will post the reason separately. --Atariry
  14. Very recently I fished out my box of Atari chips stored from the mid 80's when I upgraded my NTSC 800 to a PAL 800 using the boards/parts from a PAL 400. Here is a picture of the goodies I never threw out! So I have decided that my next project is to build a NTSC Atari on a set of plug in breadboards (already on order from Ebay). I have also bought a newer Sally CPU to avoid having to wire up several tristate buffers. My idea is to only have a single 64k RAM, and to use an Arduino (Teensy 3.5 which is 5V tolerant) to load the Atari ROMs into the RAM. I will add decode circuitry to "protect" the ROM addresses. I intend to use the Arduino to reset the 6502/Sally in order to write to the RAM by programming the I/O's of the Arduino. I was wondering whether I could hold the 6502 in reset (or hold Sally in the HALT state) while I access the RAM and peripherals. Now I think that there is a problem, that assuming I can write to the Antic and load the memory with a display list, in theory the Antic should generate a picture, but I now have the problem that Antic will assert its HALT output to grab the address in order to read the display list and screen data. I wanted to keep the interface between the Arduino and the Atari as simple as possible, just using the ability to tristate the Arduino ports once the RAM was loaded. I have read a number of posts which state that the 6502 is dynamic. It sounds like if held in the HALT state for too long it will lose it's state. This is not a problem, as I think it might be better to simply hold the 6502 in reset and HALT in order to keep its data and address lines tristated. So I don't care about freezing the 6502 and resuming later, although that would be a nice way to debug/dump the memory using the Arduino. My question is whether Antic, GTIA, Pokey and 6520 need a continual phi0 clock signal to stop them losing their state. Are they dynamic too? I could make the interface between the Arduino and the Atari bus more complicated and just use phi0 cycles, like the 6502 does, but now the interface is getting more complicated, and I was hoping to keep the overall chip count as low as possible. I will post more details as the project progresses. ---Atariry
  15. I wonder if anyone recognises the Atari 400 48k RAM expansion, attached (I couldn't see how to put it inline), please let me know. This board is from the mid 80's when I had an Atari 400. Note I am in the UK, so this board might have only been available in the UK. In fact I have two of these boards. I recently bought an Atari 400 off Ebay, so that I could get the two boards working. This 400 was only 16k, so I can expand it to 48k and sell it on (and I can test the other board and sell it separately). I recall that there are two wires which need to connect to the motherboard. I have seen the mod wires needed for the official Atari expansion, and I am aware from studying the schematics that Atari omitted some parts on the 400 which would switch out the RAM when either a 8k or 16k cartridge/ROM was plugged in. Of course since the 400 was not expandable and only had 16k, so this circuitry was not needed (and shaved some $ off the BOM of the 400). I see that the mod wires connect the missing connections to the cartrigde connector to the Atari 48k expansion RAM card, which presumably has circuitry to switch off the upper 8k or 16k of the RAM. I intend to reverse engineer the schematic and will post once completed. Nevertheless if anyone has any information about this board, especially where the two wires connect to, that would be most helpful. --Atariry
  • Create New...