Jump to content
IGNORED

using the SDRIVE-MAX in conjunction with other drives


SS

Recommended Posts

This sounds familiar. I got to this same point a couple of times with v0.9.

 

My old cat got up to get a snack, so I took a few minutes to do the upgrade and flashed to v1.0b. Initial tests show some very nice changes made in this branch.

 

First off, the initial screen calibration crosses change color from white to green to register your touch. Excellent usability fix right there. No more guessing if your touch actually registered or not.

 

Second, formatting works to completion with both my floppies (Happy 1050 and stock 1050) while the SDrive-MAX is connected but has empty slots in the corresponding drive numbers. Further, writing to D1: and D2: from files on the D3: (mounted on the SDrive-MAX) seem much faster than in my prior test with today's Master branch. I didn't try running the RWTEST utility but I will, maybe tomorrow.

 

Third, there's a new option in the CFG page for "1050" - I guess that allows creating enhanced density disk images? Not sure what that's all about yet …

 

Fourth, the system goes into a lower-power "idle" mode and a little screensaver flashes "SDrive-Max" at random locations on the screen.

 

Fifth, ATX file compatibility has not regressed, at least in my "easy" quick boot tests (Bruce Lee, The Goonies …) So these other fixes have not resulted in decreased performance.

 

Anyway, *MUCH* better cooperation with physical drives in my setup, so everything else is just gravy. Very happy with these changes!

  • Like 3
Link to comment
Share on other sites

As I said earlier, I had the SDRIVE-MAX built for me so I have not done any of the programming. Where can I find some good info about how to go about upgrading the firmware? Thanks.

Did anyone ever get back to you on this? If no one responds during the day today, I’ll see if I can figure up a good set of steps for a workflow for you.

 

Couple questions: what OS are you using? Second, do you know what kind of screen you’ve got in your device and if not, can whomever built it for you let you know? We need that info to determine what version to flash to the Arduino.

Link to comment
Share on other sites

Couple questions: what OS are you using? Second, do you know what kind of screen youve got in your device and if not, can whomever built it for you let you know? We need that info to determine what version to flash to the Arduino.

I am running Win10. I'll see if I can get any info about the screen, either from the builder or off of the device itself.

 

Thanks for your help.

  • Like 1
Link to comment
Share on other sites

This is the answer that I got regarding the screen:

 

"I believe the ili9341 is the driver that worked, but to be honest with you I have used a few various screens so I am not positive. You can try any, if it is wrong it wont damage the screen it just wont work."

Link to comment
Share on other sites

This is the answer that I got regarding the screen:

 

"I believe the ili9341 is the driver that worked, but to be honest with you I have used a few various screens so I am not positive. You can try any, if it is wrong it wont damage the screen it just wont work."

 

Okay, well that is the most common I'm sure, since the initial version only supported this screen. Assuming that's correct, then you need to do a couple things.

 

First, dig up a USB cable and plug the device into your PC. With luck, Win10 will recognize it right off, install a driver and you'll be good to go. After you plug it in, wait for the usual tones and then see if any errors pop up. If not, hit WIN +X, select Device Manager and see if your device was given a Windows COM: port. Hopefully you'll see it there. If not, if you get an error that there's an unrecognized device or you see a symbol with an exclamation mark for your device, installing a driver will depend on the type of serial chip used by the Arduino UNO board used by whomever made your device. You'll have to try to get that done before you can continue.

 

But assuming your device was recognized and a driver installed, you'll see an entry. Make note of whatever COM: port number you see.

 

Next, download and extract all the files below to a convenient folder. Once that's done, double-click the SDrive.bat Windows batch file. I did NOT create the batch file, but I've used it myself to program my device in Win10 and it works. It was created by another user ('BigBen' I think?) and posted in an earlier thread. Anyway, the script will run and ask you which COM: port to use. Tell it which one Windows has assigned to your Arduino. Once that's done, follow the instructions on the screen and let it run.

 

If at the end, the script gives you a success message but your screen is dark, you've got the wrong screen type selected. The folder has sub-folders within for each of several screen types. Copy the eeprom_writer.hex and SDrive.hex files from another screen folder out to the parent folder where the batch file is and try again. Once you've flashed the correct screen type, you'll see the screen flash for a second and the first calibration cross will appear in the upper left corner of the screen. You should be good to go then. :)

 

Good luck!

SDriveMax10b.zip

Edited by DrVenkman
  • Like 1
Link to comment
Share on other sites

have you tried keeping drives 1-4 empty on your sio 2 whatever yet and slots 5 and up loaded to see how they get along with the sdrive max?

 

have you booted with all drives empty on ape and sdrive while watching the sio data in the ape window? if you see the error being reported in the sio data then you know it's not off and you will have sio collisions.

 

the solution then would be to have and off button on the next rev of the firmware.. an empty slot/drive should give errors where as turning off the slot should ignore all sio..

 

that's all there is for that situation if that's the case.... sigh when will my diodes arrive? maybe I should just cannibalize something else in the mean-time.

Edited by _The Doctor__
Link to comment
Share on other sites

Sorry, I have had no time to put into it this week. Sometimes it's near impossible to get any extended time on the Atari at all with a very inquisitive toddler in the house! She hasn't wanted to fall asleep easily this week so I keep putting myself to sleep while I'm trying to put her to sleep! This totally kills my only private time of the day. :P

 

Hopefully I will get a chance for a few minutes to myself this weekend.

Link to comment
Share on other sites

23 years ago, I had the same problem... fast forward and you will see free time never came, you better start planning and making time now. If you do- not only you but your kids will learn to do so as well. It will be better for all. If you don't... nobody will ever have time, free, personal, or not. It won't turn out well. So figure out how to make time and win!

Edited by _The Doctor__
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

23 years ago, I had the same problem... fast forward and you will see free time never came, you better start planning and making time now. If you do- not only you but your kids will learn to do so as well. It will be better for all. If you don't... nobody will ever have time, free, personal, or not. It won't turn out well. So figure out how to make time and win!

 

I hear what you're saying but, PHEW!, I had so much more energy 23 years ago! I am going to be turning 50 this winter and this little one wears me out! She is the best thing that ever happened to me but maybe it would have been a little easier if I'd started a bit earlier in life. :)

Link to comment
Share on other sites

Hey, I've been trying to find the time to write it all up, but just wanted to say it's a fairly small software change to make the diodes unnecessary... I have tested this with all my drives (810, 1050, Indus, Rana, Trak) and it works great..

 

Hopefully tomorrow I can write it up. It's probably less that 5 lines total changed... :)

  • Like 4
Link to comment
Share on other sites

Hey, I've been trying to find the time to write it all up, but just wanted to say it's a fairly small software change to make the diodes unnecessary... I have tested this with all my drives (810, 1050, Indus, Rana, Trak) and it works great..

 

Hopefully tomorrow I can write it up. It's probably less that 5 lines total changed... :)

 

Excellent. Make sure to make a pull request to the GitHub repository so everyone can benefit in the official releases (presuming the change gets accepted and merged).

  • Like 2
Link to comment
Share on other sites

Sneak a few more minutes in tonight.. I didn't mean to be a tease.. :)

 

The diode is basically there to allow a 'wire-or' method of sharing the wire, only allowing the device to pull the line low and using the pull up resistor in the Atari to keep it high.

 

The ATMega32 chip can configure the pin used as serial transmit to be different functions, so all I did was change it so that normally it's an input not driving the pin high or low, but when it needs to send data it turns the pin to serial transmitter until it's done and then back to an input...

 

I'll clean up the code, and post a git diff tomorrow and figure out how to send it back.. I'm more of a mercurial guy than git.....

  • Like 3
Link to comment
Share on other sites

Sneak a few more minutes in tonight.. I didn't mean to be a tease.. :)

 

The diode is basically there to allow a 'wire-or' method of sharing the wire, only allowing the device to pull the line low and using the pull up resistor in the Atari to keep it high.

 

The ATMega32 chip can configure the pin used as serial transmit to be different functions, so all I did was change it so that normally it's an input not driving the pin high or low, but when it needs to send data it turns the pin to serial transmitter until it's done and then back to an input...

 

I'll clean up the code, and post a git diff tomorrow and figure out how to send it back.. I'm more of a mercurial guy than git.....

 

So long as none of that affects ATX file compatibility (the single biggest "selling point" of this device, if you ask me), I'm all in favor.

 

Please, if you haven't already, make sure to test your new code tweaks for compatibility with as many of the ATX files from the Atari 8-bit Software Preservation Initiative as you can.

  • Like 2
Link to comment
Share on other sites

Looks like a winner.. if it did affect any timing then that can be re-adjusted. if I am to understand it flips mode at transmit start and doesn't continue flipping the whole time but rather stays in serial mode till done then flips to input. that would be something more easily adjusted for if it really affected timing.

If it doesn't work perfectly at first it will in very short order.

 

put it through it's paces, it shouldn't affect writes much if at all provided the transmit/input pin is already flipped for frame responses etc. and shut off at when done the same way...

Edited by _The Doctor__
Link to comment
Share on other sites

I would think all would be good if the TxD pin activates after the device has received a Command frame, and stays active until the data frame which was provoked by the previously mentioned command frame has completed.

 

Basically, tri-state the pin until it is necessary to talk, then keep it active only when necessary.

 

It sounds to me that it it may be a good idea, simplify the design, and eliminate one now unnecessary part (the diode).

 

Hope it works.

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