A little info on my experiences with SDrive.
Full developement credit/creators(C.P.U.(2008) , Robert Petružela (Bob!k) & Radek Šterba (Raster)) is at:SDRIVE. Please refer there for their updates.
How to program
You will need a pc or linux box. I used a pc, so that is what I will describe.
Since I did not need the full programming environment at this time, I opted to find and install ponyprog.exe. This software will program many types of processors using a serial port(all in list) or a parallel port(most in list). The serial adapter was the more complex and I did not have a few of the parts. So I opted to use the parallel port. There are a few cable wirings that can be used on quite a few sites, with no clear cut info on which works. After reading about them all, I decided on the STK200 compatible version. Schematic here, 3rd one down.
I first tried on my laptop(486 100mHz oldie) I use for sending files to my Jaguar using BJL. Never having done this, and finding nothing on the internet, I had no idea what to expect. I didn't even know what files to load and try to write. I finally assumed that it would be in the sdrive.hex file. Ponyprog.exe knows the atmega has two programming memories, Flash and Eeprom. Didn't have a clue. Since this was designed to program in circuit, I had the atmega plugged into my sdrive board. And I plugged the atari in to power the board since there was no way the atmega could get power from the parallel port. So I tried reading the atmega8. I got an error saying the program could not identify the device, but the docs says this is normal for chips that did not respond. What did I know? Nothing in sdrive explained any of this. Well, reading the chip went fine. All blank as I expected. So I loaded up sdrive.hex and tried to write it to the chip. Got an identiy error again(every time at least once). Then waited. Took 45 minutes. I did not know if this was normal. But the write failed. Tried many more times before I gave up and tried on my second pc, a 2gHz Amd. Same results. I tried using both program methods...AVR ISP API and AVR ISP I/O. I still do not know the difference. I also spent a lot of time going over the circuit and my board. Everything checked. Meanwhile I got paid orders that were waiting. I built the breadboard version to program the atmega and got the same results. I was quite frustrated. Questions and answers on chat and forums didn't help. Though I did finally get to the point where I could write and read garbage on the chip. Both PC ports were set up bi directional. I was getting close to wiring up the serial programmer cable. But, I thought, I have one more PC I can try.
So I hooked everything up to Pinky, set up Parallel, LPT1, and the interface type to AVR ISP I/O. Loaded both files(I finally found I also needed sdrive.eep for the eeprom), tried to write, and ERROR. I did not have any LPT ports available. HUH? Went back to the setup and sure enough, LPT1 was grayed out. I know I set it. So I check interface type, changed it to AVR ISP API, the LPT1 port came to life. I went back and tried to program the chip. It worked!!! Wrote both memories, verified both, and generated no errors! In less than 30 seconds! And the green LED was lit when done. New things that looked good. I shut down the program, reran it and tried to read the chip. Good looking data!! I loaded the source files and did a verify and it passed! Only took about 10 days to get to this point. So I turn off the atari, un plugged the programming cable, turned on the Atari, it sputtered and...nothing.
Well, I knew the Atari was trying to boot. I knew Sdrive was working at least some, all four yellow LEDs were lit saying it was in boot drive mode. I could see the LEDs flicker on my SPIDER/PEEKER, but I was not getting a response from sdrive. So I used my oscilloscope to see if signals were passing between them. Only signals from the Atari. After a bit of searching I finally found that I had a problem with the dip switch. Drive thought it was D4. LEDs may have told me this, but I hadn't gotten to the point of reading what sdrive was supposed to do. Once I fixed the problem and sdrive was D1:, I rebooted and viola! Sdrive booted to its menu. Took a while to figure out how to use, but thats another story.
I do not know why the other PCs did not work. Only difference is the LPT1 was available in both interface settings. Will keep looking into it.
Since I prefer this programming be done from the laptop, I may make and test the serial program cable anyway.
I was able to program and test the remaining atmega8 chips in very short order.
END.
REV:10Mar2009.
Return
Return