Jump to content
IGNORED

Firmwareupdate for the Sdrive Max


BigBen

Recommended Posts

Well dang it! I tried multiple times to re-flash the firmware on my SDrive-Max to V1.3 yesterday, but kept getting weird errors that possibly point towards an issue with the boot loader. Not sure how to fix that, and quite frankly I don't have the time to take it any further this week, so it'll have to wait.

 

Link to comment
Share on other sites

  • 11 months later...

SO I am looking to update my SDrive-Max. It was one made for me.  SO the sdrive-max-v13.zip has a whole bunch of folders in it.  I think the numbers in the folder names refers to the screen controller?

 

How do I know which screen controller I have in it? Do I have to take it all apart?? Is there a default? Do I try and if it looks bad .. try again?

 

 

sdrive.jpg

Link to comment
Share on other sites

2 minutes ago, Bikerbob said:

How do I know which screen controller I have in it? Do I have to take it all apart?? Is there a default? Do I try and if it looks bad .. try again?

You can just try them one at a time until the screen works. No harm will come by doing this :)

Link to comment
Share on other sites

34 minutes ago, mytek said:

You can just try them one at a time until the screen works. No harm will come by doing this :)

I can see when it first boots up.. its does flash TFT 9341  - So thats solved.. but when I try and use Xloader to flash .. it locks up.. and yes I am doing the eeprom_writer.hex first.. 

 

I can flash this with arduino-ide correct?? I setup a board arduino-Uno.. do I need a library? anyone seen a tutorial on flashing?

 

Is it possible the Arduino Uno is locked ? so that it cannot be flashed?  When I run Xloader it just resets the device several times, IDE says cannot access the programmer.

 

James

Edited by Bikerbob
Link to comment
Share on other sites

On 5/26/2020 at 6:34 PM, StickJock said:

I'm having difficulty updating my SDrive-Max firmware.  I've downloaded & extracted the 1.2 files.  When I run Xloader & select the eeprom_writer.hex file & click upload, it says "Uploading..." and freezes.  I have to unplug the USB cable to get it to come back, at which point is says, "Upload failed".

 

The display clears, flashes white, then goes back to the SDmax display.  It does this twice.  Like it is resetting twice.

 

My configuration is correct as I can flash a separate, new Uno (although, oddly, not with the SDrive.hex file, which doesn't freeze but does come back with "Update failed".).  Flashing the eeprom_writer.hex file to the spare uno shows the normal writing & verifying progress bars on the display.

 

I finally got around to wanting to update my fw as I tried to format a DD disk and it failed, as previously discussed about the v1.1 fw.

 

Any ideas?

 

My setup includes a homemade UNO2SIO board, as well as a bicolor LED on the TX & RX lines with a 220 ohm resistor on the comman annode.

 

I unsoldered the annode wire on my RX/TX LED, and I was then able to flash the new fw.

 

So I am guessing that maybe 220 ohm is the wrong value to use here?

I think that I had tried a 470 ohm, but one side of the LED wouldn't light up when I was breadboarding it, so I went to a smaller LED.

 

Any suggestions on what the proper value of resistor I should use here is?  Or should I rework my board to hook the annode right to pwr and use two separate resistors on the RX & TX?

 

It's been 30 years since I studied EE at university, so I remember just enough to be dangerous!

Thanks.

 

 

 

Ok, so I assume this is the issue I am having. 

 

mine has a 260 ohm resistor on the green command led.. I can cut it and resolder I guess. But how is this build supposed to be so I dont have to open it up to do this in the future?

 

James

Edited by Bikerbob
Link to comment
Share on other sites

I just tried to program a second S-Drive I was building, you can program using the following commands in CMD.EXE

Basically using Avrdude, you will need to change the the file paths to suit your system and the COM port.

 

I got the right .HEX files on the 3rd attempt, take a few seconds to program

 

"C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe" "-CC:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM4 -b115200 -D "-Uflash:w:D:\S-Drive Max 1.3\atmega328-ili9329\eeprom_writer.hex:i"

 

than when it's finished

 

"C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe" "-CC:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM4 -b115200 -D "-Uflash:w:D:\S-Drive Max 1.3\atmega328-ili9329\SDrive.hex:i"

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
On 12/27/2022 at 3:21 PM, Bikerbob said:

I cant seem to find it else where so I will post the last 1.3v firmware up here in .hex format.

 

James

 

sdrive-max-v13.zip 314.34 kB · 22 downloads

Hi,

 

    I just downloaded and extracted the zip file, and updated from a working 0.9 firmware to 1.3:

 

/tmp/sdrive-max-v13/atmega328-RM68090$ sudo avrdude -carduino -pm328p -P /dev/ttyUSB0 -U flash:w:eeprom_writer.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "eeprom_writer.hex"
avrdude: input file eeprom_writer.hex auto detected as Intel Hex
avrdude: writing flash (6032 bytes):

Writing | ################################################## | 100% 1.03s

avrdude: 6032 bytes of flash written
avrdude: verifying flash memory against eeprom_writer.hex:
avrdude: load data flash data from input file eeprom_writer.hex:
avrdude: input file eeprom_writer.hex auto detected as Intel Hex
avrdude: input file eeprom_writer.hex contains 6032 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.81s

avrdude: verifying ...
avrdude: 6032 bytes of flash verified

avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done.  Thank you.

/tmp/sdrive-max-v13/atmega328-RM68090$ sudo avrdude -carduino -pm328p -P /dev/ttyUSB0 -U flash:w:SDrive.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "SDrive.hex"
avrdude: input file SDrive.hex auto detected as Intel Hex
avrdude: writing flash (32108 bytes):

Writing | ################################################## | 100% 5.49s

avrdude: 32108 bytes of flash written
avrdude: verifying flash memory against SDrive.hex:
avrdude: load data flash data from input file SDrive.hex:
avrdude: input file SDrive.hex auto detected as Intel Hex
avrdude: input file SDrive.hex contains 32108 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 4.24s

avrdude: verifying ...
avrdude: 32108 bytes of flash verified

avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done.  Thank you.

 

Unfortunately, when I plug in the SDrive-Max to my Atari 800XL, I just get a white screen on the SDrive-Max display, and nothing else, e.g. the 800XL goes to Self Test, and the SDrive-MAX just sits there (I was expecting it to display the cross-hair 4 corner calibration routine, or just boot up as normal).

 

If I take out the micro-SD card, which was working previously, I don't get a "missing SD card" error, so something has obviously gone wrong.

 

If I unplug the SDrive-Max from the 800XL, and power it up via the micro-USB cable I programmed it with, it still boots to a white screen (with or without an sd card in it).

 

Any ideas on how to fix?

 

Link to comment
Share on other sites

Yes, now I'm reading up on it, that makes a lot of sense. Unfortunately it looks like it might be bricked. I get:

~/Documents/systems/Atari/SDrive Max/sdrive-max-v13/atmega328-ili9341$ sudo avrdude -carduino -pm328p -P /dev/ttyUSB0 -U flash:w:eeprom_writer.hex
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

 

 

I got some firmware reset files ages ago, (which I got from this post: 

but no luck with those:

 

 

~/Documents/systems/Atari/SDrive Max/reset_arduino_hex_code$ sudo avrdude -c usbasp -pm328p -P usb -U flash:w:eeprom_clear.ino.with_bootloader.standard.hex
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude done.  Thank you.

 

Or:

~/Documents/systems/Atari/SDrive Max/reset_arduino_hex_code$ sudo avrdude -c usbasp -pm328p -P usb -U flash:w:eeprom_clear.ino.standard.hex 
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude done.  Thank you.

 

or: 

 

sudo avrdude -c usbasp -pm328p -P /dev/ttyUSB0 -U flash:w:eeprom_clear.ino.with_bootloader.standard.hex
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude done.  Thank you.

 

If I look at the output of dmesg:

10910.643463] usb 3-2: new full-speed USB device number 14 using xhci_hcd
[10910.805055] usb 3-2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.63
[10910.805060] usb 3-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[10910.805062] usb 3-2: Product: USB2.0-Serial
[10910.816215] ch341 3-2:1.0: ch341-uart converter detected
[10910.830196] usb 3-2: ch341-uart converter now attached to ttyUSB0

 

It looks like the reset firmware either targets a different device, or needs aliasing (somehow), which is almost definitely rabbit hole territory.

 

 

Link to comment
Share on other sites

  • 4 weeks later...
1 hour ago, Ricky Spanish said:

Any chance for a .ROM / .CAR support ? Although IIRC it may be impossible do to the SIO ?

Yep I believe that is only possible via the cartridge port or PBI. SIO can't pull that one off as far as I recall.

  • Like 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...