retroio

module
v1.0.1-0...-26be4aa Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2021 License: MIT

README

RetroIO (rio)

A command-line utility written in the Go programming language for working with disk and cassette tape files used by emulators of home computers from the 1980s.

One example would be tzx tapes from the ZX Spectrum 8-bit home computer.

Supported Media and Commands

Directory Command
  • Amstrad: DSK
  • Commodore 64: D64, D71, D81

The dir command reads a disk and prints the directory listing to the terminal. Any hidden/scratch files will also be displayed.

$ rio c64 dir super-mario-bros64.d64

LOAD"$",8
SEARCHING FOR $
LOADING
READY.
LIST

0 "SUPER MARIO BROS" .  4 
192  "SUPER M. BROS.64" PRG
59   "SMB.64 DOCS"      PRG
0    "                " DEL
0    "     ¦¦¦¦¦      " DEL
0    "    ¦¦¦¦¦¦¦¦¦   " DEL
0    "    ---vv-v     " DEL
0    "   -v-vvv-vvv   " DEL
0    "   -v--vvv-vvv  " DEL
0    "   --vvvv----   " DEL
0    "     vvvvvvv    " DEL
0    "    --¦---      " DEL
0    "   ---¦--¦---   " DEL
0    "  ----¦¦¦¦----  " DEL
0    "  vv-¦v¦¦v¦-vv  " DEL
0    "  vvv¦¦¦¦¦¦vvv  " DEL
0    "  vv¦¦¦¦¦¦¦¦vv  " DEL
0    "    ¦¦¦  ¦¦¦    " DEL
0    "   ---    ---   " DEL
0    "  ----    ----  " DEL
0    "                " DEL
428 BLOCKS FREE.
Geometry Command
  • Amstrad: DSK, CDT
  • Commodore 64: D64, D71, D81, T64, TAP
  • ZX Spectrum: TZX, TAP, TRD

The geometry command will read and display core metadata about the layout of the media. This can be disk track and sector details, or the header and block information from a cassette tape.

$ rio spectrum geometry skool-daze.tzx

TZX processing complete!

ARCHIVE INFORMATION:
  Title     : Skool Daze
  Publisher : Microsphere
  Authors   : David S. Reidy, Keith Warrington
  Year      : 1984
  Loader    : Microsphere
  Comment   : Timing corrected by Mikie.

DATA BLOCKS:
#1 Standard Speed Data : 19 bytes, pause for 970 ms.
   - Header       : BASIC Program
   - Filename     : skooldaze
   - AutoStartLine: 0
#2 Standard Speed Data : 333 bytes, pause for 5981 ms.
   - Standard Data: 331 bytes
#3 Turbo Speed Data    : 82109 bytes, pause for 0 ms.

TZX revision: 1.10
Read Command
  • ZX Spectrum: TZX and TAP

The read command will read data contained on the media.

At present only printing of BASIC programs is supported. Simply add the --bas flag when reading the media image.

Please note that decoding is currently experimental and the output may not be considered valid BASIC, and may even be garbled or missing completely.

$ rio spectrum read --bas manic-miner.tzx

BASIC PROGRAMS:

BLK#02: ManicMiner
  10  CLEAR 30000
  20  PAPER 0: BORDER 0: INK 0: CLS : LOAD ""CODE : LOAD ""CODE 
  30  RANDOMIZE USR 33792

Installation

$ go get -u -v github.com/mrcook/retroio/...

To install the app after manually cloning the repository you must first change to the rio directory:

$ cd retroio/rio
$ go install

Usage

$ rio help

To display a list of commands

Note: the correct media type will be set for the requested system based on the file extension, however this can be overridden with the --media flag.

LICENSE

Copyright (c) 2018-2020 Michael R. Cook. All rights reserved.

This work is licensed under the terms of the MIT license. For a copy, see https://opensource.org/licenses/MIT.

Directories

Path Synopsis
cdt
Package cdt implements reading Amstrad CDT (TZX) formatted files, as specified in the TZX specification.
Package cdt implements reading Amstrad CDT (TZX) formatted files, as specified in the TZX specification.
dsk
Amstrad CP/M Disc reading.
Amstrad CP/M Disc reading.
dsk/amsdos
CP/M disk format.
CP/M disk format.
d64
Package d64 implements reading Commodore emulator D64 disk images.
Package d64 implements reading Commodore emulator D64 disk images.
d71
Package d71 implements reading Commodore D71 image files.
Package d71 implements reading Commodore D71 image files.
d81
Package d81 implements reading Commodore D81 image files.
Package d81 implements reading Commodore D81 image files.
disk
Package disk implements reading of Commodore D64, D71, and D81 disk images.
Package disk implements reading of Commodore D64, D71, and D81 disk images.
t64
Package t64 implements reading of Commodore C64 tape files as specified at: http://vice-emu.sourceforge.net/vice_16.html#SEC295 https://ist.uwaterloo.ca/~schepers/formats/T64.TXT
Package t64 implements reading of Commodore C64 tape files as specified at: http://vice-emu.sourceforge.net/vice_16.html#SEC295 https://ist.uwaterloo.ca/~schepers/formats/T64.TXT
tap
Package tap implements reading of Commodore C64 tape files as specified at: https://ist.uwaterloo.ca/~schepers/formats/TAP.TXT
Package tap implements reading of Commodore C64 tape files as specified at: https://ist.uwaterloo.ca/~schepers/formats/TAP.TXT
basic
Package basic is a simple decoder for ZX Spectrum BASIC as stored on tapes.
Package basic is a simple decoder for ZX Spectrum BASIC as stored on tapes.
tap
Package tap implements reading of ZX Spectrum TAP formatted files, as specified in the TAP- and BLK specification at: http://www.zx-modules.de/fileformats/tapformat.html
Package tap implements reading of ZX Spectrum TAP formatted files, as specified in the TAP- and BLK specification at: http://www.zx-modules.de/fileformats/tapformat.html
trd
https://faqwiki.zxnet.co.uk/wiki/TR-DOS_filesystem http://www.8bit-wiki.de/index.php?id=3&filt=Sinclair/ZX_Spectrum/interfaces/betadisk/_manual/&cid=16062&mode=dl&tx=330ea210000
https://faqwiki.zxnet.co.uk/wiki/TR-DOS_filesystem http://www.8bit-wiki.de/index.php?id=3&filt=Sinclair/ZX_Spectrum/interfaces/betadisk/_manual/&cid=16062&mode=dl&tx=330ea210000
tzx
Package tzx implements reading of ZX Spectrum TZX formatted files, as specified in the TZX specification.
Package tzx implements reading of ZX Spectrum TZX formatted files, as specified in the TZX specification.
Package image provides an io.Reader interface, along with various byte reading helper functions for processing image data files.
Package image provides an io.Reader interface, along with various byte reading helper functions for processing image data files.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL