diff --git a/README.md b/README.md index 4af7eb7..dab6491 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,79 @@ -#TZXDuino - +# TZXDuino Arduino based TZX and TAP (currently only ZX spectrum and Amstrad CPC flavour) file player.
-(Excuse the badly written code, I'm working on that ;) ) +(Excuse the badly written code, I'm working on that ;) )
## Parts Used -1. Arduino (I used a Nano, but this should work on any NANO compatible) -2. SD card module -3. 16x2 I2C LCD -4. Small audio amp, I used an LM386 module, but any headphone type amp should work -5. 5 x Buttons (micro switches are best, but any should work) +1. Arduino (I used a Nano, but this should work on any Nano compatible.)
+2. SD Card module
+3. 16x2 I2C LCD
+4. Small audio amplifier. (I used an LM386 module, but any headphone type amplifier should work.)
+5. 5 x Buttons (Micro switches are the best, but any should work.)
## Installation -Not All Libraries Are Equal! - -With so many variations on the SD, LCD I2C, and TimerOne libraries i thought I'd include them here. So to prevent any hair pulling moments use these versions of the libraries. +**Not All Libraries Are Equal!**
+
+With so many variations on the SD, LCD I2C and TimerOne libraries I thought I'd include them here. So to prevent any hair pulling moments use these versions of the libraries.
## Wiring +All buttons and the motor control pull the pin to GND.
+
+Arduino pins:
+  D6 -> MOTOR CONTROL (Connected to one side of the 2.5mm socket. Only used on some CPC models.)
+  D7 -> BUTTON (ROOT)
+  D9 -> Output (To amplifier)
+D10 -> SDCS (SD Card chip select)
+D11 -> MOSI (SD Card MOSI pin)
+D12 -> MISO (SD Card MI/MISO pin)
+D13 -> SCK (SD Card SCK pin)
+  A0 -> BUTTON (DOWN)
+  A1 -> BUTTON (UP)
+  A2 -> BUTTON (STOP)
+  A3 -> BUTTON (PLAY)
+  A4 -> LCD SDA
+  A5 -> LCD SCL
+
+LCD pins:
+ SDA -> Arduino A4
+  SCL -> Arduino A5
+ VCC -> 5V
+GND -> GND
+
+SD Card pins:
+     5V -> 5V
+ GND -> GND
+SDCS -> D10 Arduino
+MOSI -> D11 Arduino
+MISO -> D12 Arduino
+   SCK -> D13 Arduino
-All buttons and the motor control pull the pin to GND. - -Arduino Pins:
- 06 -> MOTOR CONTROL (Connected to one side of the 2.5mm socket Only used on some CPC models)
- 07 -> BUTTON (ROOT)
- 09 -> Output (To Amp)
- 10 -> SDCS (SD Card chip select)
- 11 -> MOSI (SD Card MOSI PIN)
- 12 -> MISO (SD Card MI PIN)
- 13 -> SCK (SD Card SCK PIN)
-A0 14 -> BUTTON (DOWN)
-A1 15 -> BUTTON (UP)
-A2 16 -> BUTTON (STOP)
-A3 17 -> BUTTON (PLAT)
-A4 SDA 18 -> LCD SDA
-A5 SCL 19 -> LCD SCL
+## Usage +Wire up as above, and program the Arduino using the IDE.

+Copy some TZX/TAP/CDT files onto a FAT32 formatted SD Card, plug it into the TZXDuino and power it on.

-LCD PINS:
-SDA -> Arduino A4
-SCL -> Arduino A5
-VCC -> 5v
-GND -> GND
+I suggest to format SD Card with this tool to ensure maximum compatibility.
+[SD Memory Card Formatter 5.0 for SD/SDHC/SDXC](https://www.sdcard.org/downloads/formatter_4/)
+**CAUTION: Formatting will cause complete data loss on SD Card. Make sure to backup the SD Card before formatting**

-SD CARD PINS:
- GND -> GND
-3.3V -> NC
- 5V -> 5V
-SDCS -> 10 ARDUINO
-MOSI -> 11 ARDUINO
- SCK -> 13 ARDUINO
-MISO -> 12 ARDUINO
- GND -> GND
+**Button functions:**
+- UP/DOWN - No playback: move through the files
+ During playback: Works as PREVIOUS/NEXT file.
+- PLAY - On file: starts playback.
+ On directory: open directory.
+- STOP - During playback: stops playback.
+ No playback: up a directory.
+- ROOT - During playback: restart playback.
+ No playback: set TSX Baud Rate

-## Usage -Wire up as above, and program the Arduino using the IDE. - -Drop some TZX/TAP/CDT files onto a FAT32 formatted SD card, plug it into the TZXDuino, and power on. - -Up/Down buttons move through the files, Play starts playback. - -To get files to load first time you'll need to adjust the volume until you get a strong signal on the Spectrum / CPC. -Once you've got a strong signal you should able to load most files as if you were using a normal tape. +To get files to load first time you'll need to adjust the volume until you get a strong signal on the Spectrum / CPC.
+Once you've got a strong signal you should able to load most files as if you were using a normal tape.
## History -Starting with the Arduitape WAV playing project, i've moved to playing TZX and TAP files directly without needing to convert them to a WAV file first. +Starting with the Arduitape WAV playing project. I've moved to playing TZX and TAP files directly without needing to convert them to a WAV file first.
## Credits -Code: Andrew Beer - -Testing: Duncan Edwards +Code: Andrew Beer
+
+Testing: Duncan Edwards
+
+Code update: [Jujan](https://github.com/Jujan)