Jump to content
JGroth

Flashing SDrive-MAX

Recommended Posts

Hi everyone,

I've decided to upgrade my SDrive-MAX to the newest firmware which I believe is 1.5 in hope it fixes some bugs in 1.1 which are becoming annoying (can't save the configuration for example, it just says 'unknown cfg'). So I downloaded Arduino  studio to get avrdude and the latest firmware from http://www.kbrnet.de/projekte/sdrive-ng/index.html (I hope that is the right site to get the latest firmware). However I'm a bit unsure which files to actually flash the drive with. The README says:

Quote

bootloader.hex    Bootloader Flash File for ISP, install first!
SDrive.bin    Flash+EEPROM File for SD-Card update with bootloader

without bootloader use:
SDrive.hex    Flash File for ISP
SDrive.eep    EEPROM File for ISP

Do I have a bootloader so I should use SDrive.hex and SDrive.eep or do I use bootloader.hex and SDrive.bin? Do I use avrdude for the non-hex files?

Any suggestions/thoughts?

 

Regards,

JGroth

 

Share this post


Link to post
Share on other sites
2 hours ago, mimo said:

The link you shared is for SDrive, not SDrive-max

 

Try here https://atari8bit.net/everything-sdrive-max/

And here https://github.com/kbr-net/sdrive-max/releases

Oh, I see. My bad. Well, lets get the right files from the links you provided and see if any of those fixes the cfg problems I have (can't save the configuration).

 

No, downloaded the files and flashed it. Still can't save the configuration. A workaround would be to have the SDrive-MAX always on. It has an external power supply port (barrel jack, 5V I assume) but can I have it connected to the Atari and externally without frying anything?

 

Regards,

JGroth

Edited by JGroth
added copy
  • Like 1

Share this post


Link to post
Share on other sites

Have you tried a different SD card? I remember when I built my first SDrive-max that it did not work well with a particular card 

 

Share this post


Link to post
Share on other sites
13 hours ago, JGroth said:

Oh, I see. My bad. Well, lets get the right files from the links you provided and see if any of those fixes the cfg problems I have (can't save the configuration).

 

No, downloaded the files and flashed it. Still can't save the configuration. A workaround would be to have the SDrive-MAX always on. It has an external power supply port (barrel jack, 5V I assume) but can I have it connected to the Atari and externally without frying anything?

 

Regards,

JGroth

There have been posts by other users that found being powered from the Atari and externally at the same time damages the Arduino.

Share this post


Link to post
Share on other sites
13 hours ago, JGroth said:

No, downloaded the files and flashed it. Still can't save the configuration. A workaround would be to have the SDrive-MAX always on. It has an external power supply port (barrel jack, 5V I assume) but can I have it connected to the Atari and externally without frying anything?

Yeah, do NOT do this - you will destroy the Arduino UNO inside your device.  The barrel jack is nominally for a 9V DC PSU, but since the UNO runs at 5VDC, it will probably work okay at anything between about 7.5V - 12V, but you're better off just buying a super cheap UNO 9V PSU or powering it through the USB port.

 

Just to be clear about how you're saving your configuration: you need to hit the Cfg button, then tap SavIm and finally the Save button, which will return you to the main screen.

Share this post


Link to post
Share on other sites
14 hours ago, DrVenkman said:

Yeah, do NOT do this - you will destroy the Arduino UNO inside your device.  The barrel jack is nominally for a 9V DC PSU, but since the UNO runs at 5VDC, it will probably work okay at anything between about 7.5V - 12V, but you're better off just buying a super cheap UNO 9V PSU or powering it through the USB port.

 

Just to be clear about how you're saving your configuration: you need to hit the Cfg button, then tap SavIm and finally the Save button, which will return you to the main screen.

OK, Have done more investigations and reading into this. If the Arduino is of an SMD variant (which mine is) there is a little pcb to make the SDrive-Max play well with other SIO devices. On the https://atari8bit.net/everything-sdrive-max/ it is explained that PCB should have a switch which allows the Arduino to be powered from the Atari or externally. I flipped that switch and checked if the +5V from the Atari is connected to anything and its not so I should be safe powering the Arduino externally.

Regarding saving the config, what you describe works just fine. I've used that many times to make it boot from D0 and the D1. What you can't do though is to save the communication speed between the SDrive-Max and the Atari. AFAIK you can only set it from the Atari UI. So you boot from D0 and press CONTROL-U until it says 56000 (the fastest speed Sparta Dos 3.2g is willing to boot from) and then you save that configuration with CONTROL-W however I get 'Unknown cfg' when I do that and nothing is saved. If fact I get 'Unknown cfg' when it loads the UI.

The only conclusion I can draw from this is that it has managed to corrupt its own internal cfg file. I thought a re-flash would clear the cfg file but no. Still the same problem.

 

So what I have to do to get Sparta Dos 3.2g to boot from an HD image hosted by the SDrive-Max is to turn on the Atari which turns on the SDrive-Max. Sparta Dos fails to boot. I click the D0 icon and in the config I de-select boot from D1:. Save the image and press reset on the Atari. In the Atari UI that loads I press CONTROL-U to set the speed to 56000. On the SDrive-Max I go into config and select boot from D1:, save that image and press reset on the Atari and 9 times out 10 Sparta Dos boots. A lot of hoops to jump through every time I power cycle the Atari.

So since I can't save the communication settings I was going to have the SDrive-MAX turned on all the time to preserve the communication settings and hope it can handle the Atari gets power off and then on again now and then.

Any thoughts on that?

 

Regards,

JGroth

 

Share this post


Link to post
Share on other sites
1 hour ago, JGroth said:

If fact I get 'Unknown cfg' when it loads the UI.

The only conclusion I can draw from this is that it has managed to corrupt its own internal cfg file. I thought a re-flash would clear the cfg file but no. Still the same problem.

Pretty sure that is part of the D0:SDrive.ATR file, not the hex codes to be flashed to the Arduino. I would delete that .ATR file from the root directory of your SD card, copy a clean copy of that ATR back to your card and try again.

Share this post


Link to post
Share on other sites
1 hour ago, DrVenkman said:

Pretty sure that is part of the D0:SDrive.ATR file, not the hex codes to be flashed to the Arduino. I would delete that .ATR file from the root directory of your SD card, copy a clean copy of that ATR back to your card and try again.

OK, will try that.

 

Share this post


Link to post
Share on other sites

I just updated mine from 1.0 to 1.2 using the XLoader app and it was a breeze. Downloaded the zip file and used the proper display folder for my unit within the zip. Flashed eeprom_writer.hex first then SDrive.hex. Did the screen calibration and voila'. Done.

 

I did replace the sdrive.atr file with the one in the zip, but there really was no need for that.

Share this post


Link to post
Share on other sites
6 hours ago, NISMOPC said:

I just updated mine from 1.0 to 1.2 using the XLoader app and it was a breeze. Downloaded the zip file and used the proper display folder for my unit within the zip. Flashed eeprom_writer.hex first then SDrive.hex. Did the screen calibration and voila'. Done.

 

I did replace the sdrive.atr file with the one in the zip, but there really was no need for that.

I did the same thing and finally I can save the configuration. So next thing: become friend with spartados 3.2g.

 

Regards,

JGroth

Share this post


Link to post
Share on other sites
26 minutes ago, JGroth said:

I did the same thing and finally I can save the configuration. So next thing: become friend with spartados 3.2g.

 

Regards,

JGroth

For what it's worth, SpartaDOS 3.2g works fine with my SDrive-MAX set at 56,000 bps or slower. Faster and it hangs during boot. The new 1.2 release finally lets me create and format a DD ATR image under SpartaDOS 3.2g, and in SpartaDOS X, I can not only format a DD image, I can now create and format a "High" density image: 40 tracks, SS, 256 bps, 1440 sectors (about 360K). :) 

Edited by DrVenkman
typo

Share this post


Link to post
Share on other sites
12 minutes ago, DrVenkman said:

For what it's worth, SpartaDOS 3.2g works fine with my SDrive-MAX set at 56,000 bps or slower. Faster and it hangs during boot. The new 1.2 release finally lets me create and format a DD ATR image under SpartaDOS 3.2g, and in SpartaDOS X, I can not only format a DD image, I can now create and format a "High" density image: 40 tracks, SS, 256 bps, 1440 sectors (about 360K). :) 

How on earth did you manage to boot spartados x from sdrive-max? I thought ☓ was a cart/rom only thing.

 

Edited by JGroth

Share this post


Link to post
Share on other sites
7 minutes ago, JGroth said:

How on earth did you manage to boot spartados x from sdrive-max? I thought ☓ was a cart/rom only thing.

 

I didn't. I booted SDX from the Ultimate 1MB inside the machine and used it to format the ATR stored on the card in my SDrive-MAX. Previously you could only format single-density or enhanced-density disk on the SDrive-MAX no matter what DOS you booted. 

Share this post


Link to post
Share on other sites
7 minutes ago, DrVenkman said:

I didn't. I booted SDX from the Ultimate 1MB inside the machine and used it to format the ATR stored on the card in my SDrive-MAX. Previously you could only format single-density or enhanced-density disk on the SDrive-MAX no matter what DOS you booted. 

Ah, that explains it. 😊

Share this post


Link to post
Share on other sites
7 hours ago, NISMOPC said:

Downloaded the zip file and used the proper display folder for my unit within the zip.

How do you know which folder is the correct folder?

Share this post


Link to post
Share on other sites
10 minutes ago, Colleton said:

How do you know which folder is the correct folder?

Well, I built my own device so I know what kind of screen I have. However, the release notes for the current version say "screen auto-detection" but I don't know how that works or what it specifically means since the firmware release still includes folders for all the supported diplays.


This might be a question for the project's Github page. 

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Colleton said:

How do you know which folder is the correct folder?

I built my own (two of them) so I knew which LCD screens I had already. Or so I thought (see below)

One thing you can do is test each one by going through the ENTIRE process and see which one works properly. Even if your screen goes to a white screen when flashing the eeprom hex, wait a minute so you know it compelted, then flash the SDrive hex. It will still stay white (blank).

 

Proceed to flashing another screen until it works.

I know this because I accidentally loaded the wrong one and just flashed the correct one over it. Worked fine.

  • Like 3

Share this post


Link to post
Share on other sites

Good info, thank you.  I was worried about bricking it.

 

FWIW, mine is an ili9341.

Edited by Colleton
Added info

Share this post


Link to post
Share on other sites
23 hours ago, DrVenkman said:

@BigBen, can you explain what the screen auto-detection means in the release notes? 

 

Sorry, wrong information!

"Touchlines are now auto detected! In the previous version, you had to calibrate the screen after switching on for the first time, the crosses appeared. This has been dropped."

You can read the information in the readme file.

What do you need?

- an arduino UNO with atmega328p
- an Elegoo 2,8" TFT-Touchscreen Shield or similar with ILI9341 compatible
  controller using 8bit parallel mode(i think, that one from the adafruit
  project is the same). Touchlines must be wired as followed:
  Update! Touchlines are now auto detected!

  X+ <-> 8
  X- <-> A2
  Y+ <-> A3
  Y- <-> 9


Please pay attention to the order when flashing. FIRST eeprom_writer.hex then SDrive.hex. If you don't do it, you have to flash the Atmega again externally via a write interface. However, this requires the original data from the board. Has already happened to a friend!

 

Edited by BigBen
Wrong Info!
  • Like 1

Share this post


Link to post
Share on other sites
20 hours ago, Colleton said:

Good info, thank you.  I was worried about bricking it.

 

FWIW, mine is an ili9341.

Question for you. Where did you get your SDrive-Max?  I got mine from vintage computers and was wondering if that is the one to use before trying them all. Thanks

Share this post


Link to post
Share on other sites
1 hour ago, kraddude said:

Question for you. Where did you get your SDrive-Max?  I got mine from vintage computers and was wondering if that is the one to use before trying them all. Thanks

I emailed @Gavin1968 about something else. He mentioned that he uses the ili9341 for flashing. I’d start with that one first if you bought it from Vintage Computer Center. 
 

Bob C

  • Like 1

Share this post


Link to post
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.

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...