SIO2MicroSD

Be sure to check out the updated/prototype boards page.

Created for the Atari 8 bit computer family to use as a replacement for the Atari 810/1050 drives.  An Arduino board was used as the platform as it is widely available, affordable and fun to use.

siop2sio2microsd1a

Features:

  • 4 Virtual Drives (D1:-D4:)
  • Supports standard SD/ED/DD ATR files
  • Up to 4 sub-directories under the Atari sub-directory
  • High Speed SIO *
  • Load/Unload/Swap with 4 buttons and 16×2 LCD Display
  • Optional “Game/Simple Mode” configuration to limit menu choices for easier use
  • LCD detail mode to view access commands and use
  • XEX Boot-Loader **
  • Ability to save current configuration of all settings
  • S-Drive main functions compatible ***
  • Full board version has built-in USB to update firmware or use as SIO2PC device
  • Because it is based on the Arduino, the hardware configuration options are limitless
 
*     Limited to mode 9 (about 56 kb)due to 16Mhz crystal used with the stock Arduino.
**   XEX Bootloader code used from S-Drive source
*** Only main portions of S-Drive were implemented based on documentation
 

Documentation

 SIO2uSD Documentation 12-31-12
 
 

Video Demo

A video showing some of the features can be seen on YouTube.  Please excuse the enclosure.  It is my personal prototype. :)

Full PCB & Schematic

A test run of boards were done by OSH Park.  The quality was outstanding.  I rushed to get these out and made a few design mistakes.  The LCD header is backwards.  I use header cables, so not a huge deal.  The power barrel holes are too small as well.  Let’s not pay attention to the silk screen text on the back of the board being inverted.

pcbfront1sio2microsdr2

sio2microsdv2

“Home-Made” Prototype PCB

If you would rather take on the challenge of making your own PCB, here is a version I designed that allows for a one-sided circuit board that can be made at home!

sio2microsdprotofront sio2microsdprotoback

sio2microsdv1psch     sio2usd711v1

While creating the software, I ran this 100% on a breadboard.  If you have an Arduino, this doesn’t take too long to wire up.

buttonsformenus

Hex Code for Arduino

The file below should be copied and pasted to a clean plain text file so that it is re-converted back to what it will see as an Intel Hex file.

sio2microsd1.hex
 

You can run AVRDude to upload this to your Arduino chip.  This software is included with the free download from their site.  Here is an example  line to use if you own an Arduino with an ATMega 328P IC and it is located on COM3.

avrdude -V -F -C avrdude.conf -p m328p -c stk500v1 -P COM3 -b 57600 -U flash:w:sio2microsd.hex -v
 

Make sure all the files are in the same directory to make it easy.  Here is the pin setup for the Arduino:

/*
* Menu Button A0
* Up Button A1
* Down Button A2
* Enter Button A3

* LCD Connections *
* LCD RS pin to digital pin 7
* LCD Enable pin to digital pin 6
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground

* Atari Connections *
* Atari SIO Pin 4 or 6 Black to Arduino GND
* Atari SIO Pin 5 Green to Pin 0 TX (PD0)
* Atari SIO Pin 3 Orange to Pin 1 RX (PD1)
* Atari SIO Pin 7 Violet to Pin 8 Digital Input (PB0)

* SD Card Pinout *
* Pin 10 CS (be sure to protect to 3.3v)
* Pin 11 DI (be sure to protect to 3.3v)
* Pin 12 DO
* Pin 13 SCK (be sure to protect to 3.3v)
*/

History

  • January 2011 received Arduino and parts to start experimenting
  • Feb 2011 had SIO routines partially working
  • March 2011 finished main program
  • July 2011 created first PCB using Eagle and toner etching
  • Decided on name SIO2MicroSD – Was SIO2Arduino
  • August 2011 had PCB made professionally
  • August 2011 started adding SDrive functions to code
  • September 2011 code cleanup and refinement
  • September 2011 added XEX loader to code
  • December 2012 created documentation and blog

References

Contact

Please contact me for availability of parts or more info.  I started revising the board and could make a run if enough people are interested.  For a completed board with no case, I believe it would run around $50-$60.  You can send a reply at the bottom of this page.  You can also send an email to my gmail account – TheDiskwiz.

What started all of this?

6 Responses to SIO2MicroSD

  1. Pingback: Arduino - SIO2MicroSD.

  2. DaNDeE says:

    Hey there. Me again. ;) I finally found someone who can help me flash the ATM and he is asking for the proper fuses setting for AVRDude. Could you please shed some light on this? Thanks alot.

  3. Sascha says:

    Hi Diskwiz,
    this is a nice piece of work!
    A friend asked me to burn an atmega328P with the sio2microsd1.hex. Any clue which fuse values must be used? Curently the chips fuses are set as follows: hfuse=0xda, lfuse=0xff and efuse=0x05. Will this work?
    Thanks and best regards!
    Sascha

    • diskwiz says:

      Thank you. I believe you want h=0xda l=0xff e=0x05, just as you stated. I use the tools that come with the Arduino software to write the hex and have not had to change the fuse settings.

  4. AD says:

    Can I just use a arduino uno alone with a sd card reader, flash the hex code and it would work or not?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s