Jump to content
IGNORED

SDrive-MAX ATX support


Farb

Recommended Posts

 

Actually it was the SD Card. I had to format with https://www.sdcard.org/downloads/formatter_4/index.htmlinstead of Windows... copied all the data off of it, did a Quick Format with that Utility, and then copied everything back. It makes more sense that the Firmware doesn't like the SD Card data... now I can actually select an .ATR file.

 

Still not working so apparently I need to recheck my soldering (and now that I have printed a case I can do a better job of measuring everything), but getting closer...

 

- Thanks, Alan

 

I can confirm that if you hook the diode up to the Receive line vs the Transmit line that it won't work. :-) Mine's working now. Yay!

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

I mounted my Sdrive-Max in a 5 1/4 x 3 x 2 1/8 inch aluminum box. This gave room to add some switches.
I have a SPDT power switch that connects the +5 volt connection on the Arduino to Pin 10 on the SIO or a socket for a 5 volt wall wart.
I had to drill 2 holes in the screen board to securely mount the assembly.

/
/
(A) pin 10 on SIO ------* * *------ wall wart connector (B)
|
|
|
+5 volt connection on Arduino

So (A) connects the Sdrive-Max to Atari power and (B) to wall wart power. In the (B) position, I can use power from the other power connectors
already on the Arduino if a wall wart is not plugged in. Since there has been so much discussion about if and when diodes are needed, I wired in
both the Tx and Rx diodes with SPST switches across them. Now I can switch either of them in or out of the circuit.

The pictures show how the box was machined. There is also a picture of my boy (Leonardo) getting ready for Santa.



post-14426-0-13144700-1544498274_thumb.jpg

post-14426-0-25852000-1544498275_thumb.jpg

post-14426-0-33648700-1544498276_thumb.jpg

post-14426-0-39407200-1544498277_thumb.jpg

post-14426-0-51276000-1544498278_thumb.jpg

post-14426-0-64542600-1544498279_thumb.jpg

post-14426-0-94904600-1544498280_thumb.jpg

post-14426-0-13726200-1544498282_thumb.jpg

post-14426-0-17770200-1544498283_thumb.jpg

post-14426-0-24291200-1544498284_thumb.jpg

  • Like 2
Link to comment
Share on other sites

Isn't it extreme to drill holes in the case and mount switches for testing something that only needs to be confirmed one time? In fact, I've heard it's already been confirmed.

 

What's the use? If you use the box, it's only a matter of time until someone flips a switch and makes it not work.

 

I can [almost] understand the power source switch, but not the diode ones.

  • Like 1
Link to comment
Share on other sites

Can this thread get back to the ATX part of this and have another thread for builds of the hardware?

On that note, the ATX code currently emulates the timing of an 810 drive. I was able to test this with an 810 drive that DjayBee was kind enough to bring to Fujiama and let me use.

 

Klaus and I have put in the initial hooks to create 1050 drive timing -- the switch is already on the configuration screen and the ATX code has separate timing numbers defined for 1050. However, I don't have a 1050 drive to test with so the current numbers are just a wild guess on my part and are definitely not correct.

 

So, does anyone here have:

 

1. A stock, working 1050 drive

2. An SDrive Max built with a diode that can work alongside the 1050

3. The ability to compile and install the SDrive Max firmware from source

4. The desire to run timing tests and adjust the delay numbers in the code to try and get them accurate?

 

Please let me know if anyone is able to assist with this.

 

Thanks!

  • Like 4
Link to comment
Share on other sites

Hi Daniel,
I could try it. My 1050 is perfectly adjusted, speed, frequency and the pulse pause ratio are set to factory settings.

The Databyte floppy disks Montezuma's Revenge and Mr. Robot and His Robot Factory will load without any problems.
I can compile the software.
My SDrive-Max has the diode installed.
Even with me the floppy is blocked when connecting the Sdrive Max. I have just found the reason, he is in the wrong definition

of the pin for PD0 / RXD! The pin does not work as an open collector. It outputs a fixed output voltage of 4.8V. This blocks the SIO bus.

Provisionally an open collector is built into the line and the floppy is running as well. Can you check the pin definition?

Many Greetings,
Bernd

  • Like 3
Link to comment
Share on other sites

The reason for the blocked SIO bus is the Arduino UNO. There is a connection to the USB chip via the

TXD and RXD connection, open collector is not possible. Today we are at a local retro meeting and have

taken all parts for testing. Unfortunately missing in my component collection a 74LS07. A 74LS05 also works,

as an inverter you have to use 2. The disk in MD from SDrive Max was copied to the 1050 without any problem

after the change. If the 74LS07 was delivered, I'll add a schematic. The diode is then no longer necessary.

 

@Daniel: I can help you now.

 

 

post-4842-0-89880100-1544886549.jpeg

post-4842-0-30928900-1544886569.jpeg

post-4842-0-58622900-1544886587.jpeg

post-4842-0-58896300-1544886652_thumb.png

  • Like 9
Link to comment
Share on other sites

Hi BigBen,

 

Thanks for the offer of help and glad you got the problem you were seeing resolved.

 

The current 1050 features are in branch v10 of the SDrive Max source code. You can access it by pulling down the latest code (git pull) and then switching to the v10 branch (git checkout v10).

 

There are a number of #define statements in atx.c:

 

// number of milliseconds drive takes to process a request

MS_DRIVE_REQUEST_DELAY_1050

// number of milliseconds to calculate CRC

MS_CRC_CALCULATION_1050

// number of milliseconds drive takes to step 1 track

MS_TRACK_STEP_1050

// number of milliseconds drive head takes to settle after all track stepping is complete
MS_HEAD_SETTLE_1050

// number of times drive will retry before returning a result

MAX_RETRIES_1050

 

These are currently values I've pulled from Avery's hardware manual and other places. The current values do not work well at all :-P

 

The way I adjusted things on the 810 side was to use "The Cracker's Tool 2" program's "Freie Sektorwahl" option using a real disk in the drive and picking various sector start/end combinations to exercise seeking across different tracks and sector placement within those tracks to get a good timing sampling set. Then I repeated the process with an ATX of that same disk on SDrive Max and adjusted the timings to get things close. I was never able to get them EXACT but "pretty close" seemed to get most protected software I tried working properly.

 

You probably have your own thoughts on a more precise means of measuring everything, but I wanted to share what I did :-)

 

Let me know how I can assist and thanks again for the help!

Edited by Farb
  • Like 3
Link to comment
Share on other sites

Is there some sort of user manual on how to use these devices? I'm a bit lost... i got one, it has external power, but it will only start if powered over SIO? Why the external power?

And how do you get images and .xex .atr etc on the SD card if they are on your pc? I guess i need an sd card reader in a pc as well?

 

I've never worked with floppies and harddrives on the atari; i did play with Aspeqt last couple of days; i guess it should work similar?

Anyway, some sdrive-for-dummies would be appreciated :)

Link to comment
Share on other sites

@ Daniel: I first describe my steps.
On the 1050 an SD disk formatted and with the SCP interface an ATX file generated. Result: Both have the same disk as a basis.

Next step is an Excel spreadsheet for the measured data. Time tracking between two consecutive tracks calculated. Values ​​greater

than or less than 12.x are not used for the checksum, a total of 34 values. Checksum = 12,41176471.
#define MS_TRACK_STEP_1050 12.41 / old 10.2

Adjusting the times on the SDrive-Max about
#define MS_HEAD_SETTLE_1050 40 / old 20

Look at "Check 1050 to SDrive-Max" file.
Largest measured difference only 0.4ms.
30 ATX files loaded without problems, all were functional.
I added the blank disk for further testing here.

Before the demand comes, why on track 11 the value is so big, the read head can not capture the first sector of the track and has to wait one turn - 220ms.

It was a lot of fun to determine the values. :) :) :) :)

The 74LS07 TTL's arrived. Tomorrow I will solder the parts.

 

@jowi: The manual will certainly come from the developer when the software is done. The Sdrive Max needs only one power supply.

Either via the Atari SIO interface or via USB / Power Jack. Please do not make the mistake to connect the power supply via SIO and

at the same time connect a power supply to the USB / Power Jack. Since the power supplies only smoke.

Empty_SD_Disk.zip

1050 Measurements.pdf

Check 1050 to SDrive-Max.pdf

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

@BigBen - this is super work, thank you for doing it!

 

I installed the firmware and ran through our ATX test suite and it passed everything with the exception of... wait for it... the Databyte protection :P I confirmed that Databyte's Mr. Robot would not boot as well.

 

However, everything else passing indicates quite a good level of compatibility. This is a fantastic start!

Edited by Farb
  • Like 3
Link to comment
Share on other sites

@BigBen - this is super work, thank you for doing it!

 

I installed the firmware and ran through our ATX test suite and it passed everything with the exception of... wait for it... the Databyte protection :P I confirmed that Databyte's Mr. Robot would not boot as well.

 

However, everything else passing indicates quite a good level of compatibility. This is a fantastic start!

 

Thanks,

Montezuma from Datamost has the same problem as Mr. Robot.

Even The Cracker's Tools 2 can not be loaded as an ATX. There's still a lot of work ahead of you.

Now comes Christmas mood. Time to warm up at the soldering iron.

Link to comment
Share on other sites

  • 2 weeks later...

Just got an automatic e-mail from Github.....looks like KBR has used the X-mas holidays VERY well !!!

 

At least I think this is a list of changes/improvements:

 

 

  • tape pause function
  • screen blanker
  • new beta tag
  • Fixed bug in handling of ATX sectors flagged as missing.
  • Implemented 810 firmware retry logic.
  • inline fix
  • added cfg button for drive type selection
  • added red signal if SD card write cache not written
  • now all drives could be used for ATX files, and saves RAM too
  • make touchscreen interrupt controlled and sleep cpu when idle
  • set display into sleep mode also
  • Added hooks for different 1050 mode timings.
  • Revert "inline fix"
  • wipe out swap functions on AVR
  • Added comments to explain the __AVR__ macro check.
  • debounce touchscreen calibration
  • added config option for enable blanker, some optimization
  • update HISTORY
  • code reformatting and update comments
  • display sleep and AVR idle mode removed, because it's benefit(20mA) was not worth. Added a simple screen blanker instead.
  • check for usart errors and immediately return, also for better debuging purpose
  • fixed writing at SIO highspeed
  • improved LED(circle) displaying for better SIO-highspeed compatiblity
  • removed tape turbo button conflict
  • fixed wrong bg-color on tape end message
  • better reset display blank timer on each floppy access
  • no blanker in debug mode
  • fixed bug on ATX file change
  • fixed issue, if more than 40 tracks present in atxinfo tool
  • fixed double track issue for ATX files
  • little optimization
  • update README
  • update HISTORY
  • added support for HX8347I displays
  • Added BigBen's tweaked 1050 timing values.
  • Merge branch 'v10' of https://github.com/kbr-net/sdrive-max into v10
  • update HISTORY
  • Merge branch 'v10' of https://github.com/kbr-net/sdrive-max into v10
  • remove beta tag
  • Like 3
Link to comment
Share on other sites

 

Just got an automatic e-mail from Github.....looks like KBR has used the X-mas holidays VERY well !!!

 

 

I got the same email. Already compiled and flashed to my device.

 

I didn't do any extensive testing but I did confirm it al least WORKS. :P Booted up DOS 2.5, then loaded an ATX (The Goonies) and both worked. I haven't yet tested with my other devices and drives. As this is (mostly) folding the 1.0beta branch changes into the Master branch, plus the addition of another LCD display device option, basic functionality is probably nearly the same for most people.

Edited by DrVenkman
Link to comment
Share on other sites

I am probably asking something that is covered yet. But... strange enough I am a real noob when it comes to this. How do I update firmware using Mac OS X? Or is the device itself capable of updating firmware?

 

I am currently with the 0.93 or so....

Bought it this way.

Thanks for any help!

Marius

Link to comment
Share on other sites

I am probably asking something that is covered yet. But... strange enough I am a real noob when it comes to this. How do I update firmware using Mac OS X? Or is the device itself capable of updating firmware?

 

I am currently with the 0.93 or so....

Bought it this way.

Thanks for any help!

Marius

 

You need AVRDUDE, download the newest version here:https://www.obdev.at/products/crosspack/download.html

 

 

Download the little script I made earlier:

 

http://atariage.com/forums/topic/275629-sdrive-max-atx-support/?p=4099563

 

And of course you need the latest compiled files posted by Mr.Robot.

Edited by Level42
Link to comment
Share on other sites

Jeez....trying to flash my Sdrive and can't get it to work myself .....have to say that I have another iMac now and did a fresh re-install of High Sierra and when I connect the Sdrive it doesn't show up in my USB devices ?!?!?

 

It's been SO long I've flashed (or used) the Sdrive that I may have forgotten something ??

 

I did install the latest AVRDUDE...

Link to comment
Share on other sites

 

You need AVRDUDE, download the newest version here:https://www.obdev.at/products/crosspack/download.html

 

 

Download the little script I made earlier:

 

http://atariage.com/forums/topic/275629-sdrive-max-atx-support/?p=4099563

 

And of course you need the latest compiled files posted by Mr.Robot.

 

Hmm... it does not work. I added you to FaceBook (well I tried) perhaps we can talk in messenger in Dutch.

 

The problems:

1. It recognizes my SIO2BT (that is not connected for months) as the SDRIVE

2. it gives two errors avrdude command not found

 

I hope you can help me. I have totally NO IDEA how to update firmware. I do not even know what chipset is used in my SDRIVE max (when I see the ZIP from Mr. Robot I get the impression that I need to know what version I have?)

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