--- title: "Modern Tools for Working With TS Computers and Software" id: 50454 type: "post" slug: "modern-tools-for-working-with-ts-computers-and-software" url: "http://localhost/blog/modern-tools-for-working-with-ts-computers-and-software/" markdown_url: "http://localhost/blog/modern-tools-for-working-with-ts-computers-and-software.md" published_at: "2023-06-10T20:04:49+00:00" modified_at: "2023-06-10T20:11:58+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2023/06/20230809-041334.png" excerpt: "Here are some of the tools and programs I've been using to archive cassettes and disks for Timex/Sinclair computers. Audacity Available for Windows, Linux and Mac computers, Audacity is my go-to for converting cassette tapes to digital files. Audacity can record from just about any audio input source on your computer. My MacBook does not…" category: - name: "Blog" slug: "blog" taxonomy: "category" url: "http://localhost/category/blog/" post_tag: - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" --- # Modern Tools for Working With TS Computers and Software Here are some of the tools and programs I’ve been using to archive cassettes and disks for Timex/Sinclair computers. ## [Audacity](https://www.audacityteam.org/) Available for Windows, Linux and Mac computers, Audacity is my go-to for converting cassette tapes to digital files. Audacity can record from just about any audio input source on your computer. My MacBook does not have a microphone input, so I’m using a USB mic/ear port that cost less than $10. I’ve connected the EAR output of my TS 2020 cassette recorder to the mic in of the port. Recording in Audacity is simple: I press play and hit the record button and in most cases, the recording levels are good. Once in a while, I either adjust the sound level on the tape or the input gain. ![Image](http://localhost/wp-content/uploads/2023/06/audacity-with-wave-file-1024x223.png)Audacity with a recording of a TS 2068 tape. Once I have a recording, I export it from Audacity as a WAV file (mono, 44.1khz, 16 bit). The next stop is to FUSE, a ZX Spectrum and TS 2068 emulator. [Download Audacity](https://www.audacityteam.org/) ## [FUSE](https://fuse-emulator.sourceforge.net/) Fuse (the Free Unix Spectrum Emulator) was originally a ZX Spectrum emulator for Unix. It has been ported to Mac OS X, Windows, the Wii, AmigaOS and MorphOS. You can [download compiled binaries for these platforms by starting at the FUSE website](https://fuse-emulator.sourceforge.net/). I like FUSE because it can load directly from WAV files and its loader is quite robust. It’ll immediately tell me whether my conversion has been successful. The image above is [Salamander Software’s Laser Zone](https://worldofspectrum.org/archive/software/games/laser-zone-quicksilva-ltd), released by [Quicksilva](http://localhost/company/quicksilva/) for the ZX Spectrum and eventually converted to the TS 2068. ![Image](http://localhost/wp-content/uploads/2023/06/Laser-Zone-screenshot-1.png) ![Image](http://localhost/wp-content/uploads/2023/06/Laser-zone-screenshot-2.png) Once I’ve confirmed that the file is good, my next step is to convert it to the more popular (and a lot smaller) TZX and TAP formats. [Download FUSE](https://fuse-emulator.sourceforge.net/) ## [tzxtools](https://shredzone.org/docs/tzxtools/) tzxtools is a collection of command line tools for processing TZX files. TZX is a common file format for preserving computer tapes of the ZX Spectrum, but also Amstrad CPC and C64. tzxtools mainly supports ZX Spectrum TZX files, but raw file operations can be applied on any TZX file. I start with tzxtools because it produces normal speed TZX files (more on that below). I also like it because most of the commands can produce some output as they run. *tzxwav* is the program I use to convert the WAV file from Audacity to TZX and TAP files. Here’s an example command: ``` tzxwav -p -v -o laserzone.tzx laserzone.wav ``` In the example, *-p* shows a progress bar as it works through the WAV file and *-v* gives verbose text output of the conversion process. *-o* specifies the output file, followed by the file name. The filename extension determines what kind of file tzxwav will produce. Last, the source filename is provided. On a good tape, there are no errors and you get output that looks like this: ![Image](http://localhost/wp-content/uploads/2023/06/Laser-Zone-tzx-conversion.png)Verbose output from tzxwav converting my laserzone.wav file to laserzone.tzx I do this again for the TAP format. If *tzxwav* has a hard time converting a WAV file, I’ll turn to fuse-utils. [Download tzxtools](https://shredzone.org/docs/tzxtools/) ## [fuse-utils](https://sourceforge.net/projects/fuse-emulator/files/fuse-utils/) A set of emulator and file manipulation utilities, fuse-utils leverages the libraries that are part of FUSE. I use *audio2tape* to convert WAV files to TZX and TAP files. *audio2tape* is really good at converting difficult WAV files. Its main difference is that it writes TZX files using [*Turbo Speed* blocks](https://www.alessandrogrussu.it/tapir/tzxform120.html#TURBOSPEED). I don’t quite know what that means aside from a string of error messages when trying to make TAP files. Here’s an example *audio2tape* command: ``` audio2tape laserzone.wav laserzone.tzx ``` And here’s what its output looks like: ``` Block ended, found 19 bytes Flag: 0x00 Type: Header Program: VLOADER First block seconds: 7.30503 Last block seconds: 12.1233 Checksum:PASS Read:0x6d Computed:0x6d Block ended, found 725 bytes Flag: 0xff Type: Data First block seconds: 12.9139 Last block seconds: 18.3376 Checksum:PASS Read:0x90 Computed:0x90 Block ended, found 19 bytes Flag: 0x00 Type: Header CODE: LZLOGO First block seconds: 23.0791 Last block seconds: 27.9036 Checksum:PASS Read:0x8a Computed:0x8a Block ended, found 6914 bytes Flag: 0xff Type: Data First block seconds: 28.6981 Last block seconds: 57.7498 Checksum:PASS Read:0x6e Computed:0x6e Block ended, found 19 bytes Flag: 0x00 Type: Header CODE: LASERZONE First block seconds: 63.7603 Last block seconds: 68.5727 Checksum:PASS Read:0xd4 Computed:0xd4 Block ended, found 12434 bytes Flag: 0xff Type: Data First block seconds: 69.357 Last block seconds: 132.179 Checksum:PASS Read:0xa0 Computed:0xa0 found 6 ROM blocks ``` The important part here is the Checksum:PASS. That generally means the conversion has been successful. [Download fuse-utils](https://sourceforge.net/projects/fuse-emulator/files/fuse-utils/) ## Check your work The last step is back to FUSE to check that the TZX and TAP files work. In the case of Laser Zone, [it’s a resounding yes](http://localhost/product/laser-zone/).