PCBWay 3rd PCB Design Contest
VOTE NOW!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Design 1/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Usability 2/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Creativity 3/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Content 4/4

The SIO2SD is a device that allows you to load games/applications into any 8-bit Atari XL/XE computers via SIO interface from SD/MMC cards.

Device abilities:

  • Works with SD (not SDHC) and MMC(FAT12,FAT16 and FAT32 formats)
  • Handles ATR (rw), XFD (ro) and COM/XEX (ro) file types.
  • 16×2 LCD display allows to “walk” catalog tree and choose files to load.
  • Handles SIO with turbo (allows to set speed index from 1 to 16, default is 6 (69kb/s), in versions 1.x speed index was always 10 (51kb/s))
  • All densities with 128B and 256B sectors, including 16MB disks.
  • Handles drives D1 to D8.
  • Can be configured using ATARI (it’s possible to load configuration tool directly from MCU flash memory, so no SD card is needed)

Usage

  • You have to format (FAT) SD card using computer
  • In the root directory, create ATARI folder. Here you can place folders and files. This is the start folder for SIO2SD. It's a better idea to use folders with up to about 100 files than one big folder with many, many files.
  • On the first use of a new formatted card SIO2SD will create a SIO2SD.CFG file in the root directory, where configuration will be stored (files to disks mapping).
  • Note: the directory named ATARI must be present on the card or else SIO2SD won't recognize the card and won't perform the upgrade.

 

Keyboard:

  • K1: next Atari drive (D1,D2,..)
  • K2: next file/folder
  • K3: parent directory (cd ..)
  • K4: go to folder/map file to current Atari drive
  • SHIFT+K2: firmware upgrade
  • SHIFT+K4: turn off current Atari drive ("eject disk")

 

Options:

  • sio high speed
  • off
  • hsindex from 1 to 16 (6 is the default setting)
  • cfg tool load (when to override D1 to load configuration program)
  • never
  • startup+shift - only when SHIFT was pressed during startup (power on)
  • every startup
  • no card - only if SD card is not inserted (default setting)
  • shift pressed - SHIFT always causes D1 override (tested on every SIO 'S' command on D1 - available from version 2.2)
  • LED mode (meanig of LEDs)
  • SD read/write - first LED shows SD reads, second LED shows SD writes
  • SIO read/write - first LED shows SIO reads, second SIO writes
  • SD act/SIO act - first LED shows any SD activity, second any SIO activity
  • device id (number of device for SIO2SD.XEX - available from version 2.2)
  • values from 0 to 3
  • write protect (write protection in ATR files - available from version 2.2)
  • never - ATR's are always R/W (write protect flag ignored)
  • obey ATR flag - obey ATR write protect flag - default
  • always - ATR's are always R/O



Version features:

  • Supported cards: vers. <=2.5 : MMC/SDSC
  • vers. >=3.0 : MMC/SDSC/SDHC (and very likely with SDXC, but only FAT32 formated)
  • Supported partitioning schemas: vers. <=2.5 : no partition, MBR (Master Boot Record)
  • vers. >=3.0 : no partition, MBR (Master Boot Record), GPT (GUID Partition Table - EFI)
  • Supported formats: vers. <=2.0 : FAT16 and FAT32 (FAT12 support was buggy)
  • vers. >=2.1 : FAT12,FAT16 and FAT32
  • Handles ATR (rw), XFD (ro) and COM/XEX (ro) file types
  • 16x2 LCD display allows to "walk" catalog tree and choose files to load (40x2 LCD displays are also supported)
  • TURBO: vers. <=1.3 : constant speed index 10 (51kb/s)
  • vers. 2.0 - 2.5 : speed index can be set by user from 0 to 16, default is 6 (69kb/s)
  • vers. >=3.0 : additional turbo mode. I've called it 7-bit mode (7th bit of command switches turbo). This is new turbo mode very similar to XF551 turbo mode.
  • All densities with 128B and 256B sectors, including 16MB disks
  • Number of simulated drives: vers. <=1.2 : 4
  • vers. 1.3 - 2.5 : 8
  • vers. >=3.0 : 15 + 100
  • Configuration program: vers. <=2.5 : built-in (can be loaded directly from AVR MCU with no SD card present in slot, but program has to be very simple due to memory size)
  • vers. >=3.0 : has to be present on SD card, but any program can be used
  • vers. >=3.0 : New ATR files and new folders can be created using SIO commands
  • vers. >=3.0 : "Empty disk" mode (ATR file created automatically during format command)
  • vers. >=3.0 : Deleting files from card using SIO commands
  • vers. >=3.0 : Renaming files and folders using SIO commands
  • vers. >=3.0 : Reading and writting all files using SIO commands (inside ATARI folder and subfolders)
  • vers. >=3.0 : 100 extra "virtual drives" V0..V99, which can be mapped to any drive from D1 to D15
  • vers. >=3.0 : Fast mapping - Drives V0 to V3 have additional, special meaning. When one of keys from K1 to K4 is pressed during start then device overrides mapping of D1 and maps one of those drives to D1 (K1 = V0, K2 = V1 etc.).
  • vers. >=3.0 : Builtin very simple TURBO loader (for 7th bit mode - turbo mode similar to one used in XF551)


Software 3.X changes

3.0rc1 -> 3.0rc2

  • Fixed LCD handling bug (RC1 doesn't work without LCD)
  • Added "swap" command (K3 in VDISK MODE swaps mappings of D1 and D2)
  • Added "rol4" command (K4 in VDISK MODE moves mappings D1<D2<D3<D4<D1)
  • Added "ror4" command (SHIFT+K4 in VDISK MODE moves mappings D1>D2>D3>D4>D1)

3.0rc2 -> 3.0rc3

  • Fixed xex-loader.
  • Added new key combinations OPTION+SELECT and OPTION+START to turbo-loader (new turbo IRQ locations: $700 and $500).

3.0rc3 -> 3.0rc4

  • Fixed SIO routines (mainly incompatibilities with software made for TOMS turbo)

3.0rc4 -> 3.0rc5

  • Changes in SD initialization routines ("card init error" should appear much less frequently)
  • SD speed is choosen automatically (SD speed option was removed)
  • Fixed card insertion/removal logic
  • Added ability to go directly to setup when card is not present (using dbl-shift)

3.0rc5 -> 3.1rc1

  • Virtual disks simplification
  • Fixed turbo routines - emulation of Top-Drive (aka TOMS) and XF551
  • More compatible SIO routines (return to timings from version 2.x - slower, but more reliable)
  • Ordinary files and empty disks are emulated as SD disks if possible (size < 90k)

3.1rc1 -> 3.1rc2

  • Fixed bug in file handle (mainly XEX files)
  • Fixed warmstart issue in xex-loader



Connecting PCB to SIO:


Maximum speed or how to get 127kb/s:


Software

Most of well known high speed SIO routines can only work with speeds up to 69kb/s (hsindex = 6). First of all if you want to use higher speeds with SIO2SD (or similar 127kb/s capable device) then you need better routines. Probably the best routines were coded by Matthias Reichl. You can download them together with source code from his site: http://www.horus.com/~hias/atari/#hipatch


Hardware

In most cases SIO2SD can work with speed up to 127kb/s (hsindex = 0) without major hardware modifications. The only important thing is to add 4k7 ohm resistor (if you do not have one already) between SIO DATAOUT and +5V (pin 1 and 5 of SIO connector).

It should be enough, but more advanced users should remove also at least two capacitors from Atari. Capacitors to be removed connect DATAOUT and DATAIN with ground. Those are small, 100nF capacitors (looks like resistors). In 800XL, 65XE and 130XE computers they have numbers C77 and C78. To show the difference please look below at oscillograms - with and without those capacitors.

:As you see it is much better to remove them than to leave them. And even in slower speeds the communication should be more stable.


Components :

2 pcs Resistor 10k - R1, R3

1 pcs 2.2k - R2 potentiometer

3 pcs Resistor 1.8k - R4, R5, R6

3 pcs Resistor 3.3k - R7, R8, R9

1 pcs Resistor 27R - R10

3 pcs Resistor 220R - R11, R12, R13

1 pcs 10uF - C4 tantalum capacitor

2 pcs Ceramic capacitor 22pF - C1, C2

4 pcs Ceramic capacitor 100nF - C3, C12, C10, C11

5 pcs Ceramic capacitor 22nF - C5, C6, C7, C8, C9

1 pcs Quartz 14,318 MHZ - Q1

1 pcs BAT85 Schottky diode optional

1 pcs ATMEGA32-16PI (or Atmega 32L-8PU) - IC1 processor

1 pcs 3.3V - IC2 stabilizer

3 pcs 3MM LED Diode 3V - LED1, LED2, LED3

5 pcs Mirco Touch Switch Button - S1, S2, S3, S4, S5

1 pcs SD - SD connector

1 pcs LCD (2*16 alphanumeric based on HD44780 chipset) - JP4




Bill of materials used in this project

Resistor 10k
2
2.2k potentiometer
1
Resistor 1.8k
3
Resistor 3.3k
3
Resistor 27R
1
Resistor 220R
3
10uF tantalum capacitor
1
Ceramic capacitor 22pF
2
Ceramic capacitor 100nF
4
Ceramic capacitor 22nF
5
Quartz 14
1
318 MHZ
1
BAT85 Schottky diode optional
1
ATMEGA32-16PI (or Atmega 32L-8PU)
1
3.3V - IC2 stabilizer
3
3MM LED Diode 3V - LED1
5
LED2
1
LED3
1
Dec 03,2019
620 viewsReport item
  • Comments(0)
  • Likes(1)
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
    View More