anteo / playtzx

PlayTZX with MacOS support

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PlayTZX v0.12d
--------------

This version uses PortAudio library (http://www.portaudio.com/) to play
audio, so it should compile and work on different platforms (incl. OS X)
without an issue.

------------------------------------------------------------------------

This is a modified version of v0.12b to remove the arbitrary limit of
2048 blocks which was previously hardcoded and would cause buffer
overflows on any TZX files with greater than 2048 blocks (eg Summit
Software's 'Rescue From Atlantis', Side A.

However, I don't have the time or patience to fix the rest of the
potential buffer overflows in this code, so I *STRONGLY* recommend you
don't run this code as root under any circumstances. The whole thing
needs rewriting by somebody who understands why
strcpy( fixed_size_buffer, user_supplied_data ) is a bad idea. On the
other hand, having looked at the code, I'd suggest rewriting the whole
thing from scratch is probably easier, and you'll end up with better
code as well.

Philip Kendall <pak21-spectrum@srcf.ucam.org>, 2005-05-16

The README supplied with v0.12b follows below:

------------------------------------------------------------------------

PlayTZX for Linux
-----------------

This is a version 0.12b of PlayTZX for Linux. It is mostly just Tomaz
Kac's PlayTZX source code with Linux audio things. It has been updated
with version 0.59b from Tomaz Kac by Fredrick Meunier.

If you haven't already noticed, this Readme is VERY bad, I will have to
write better one some day. :)

Compiling
---------

Makefile is pretty straightforward. And it works in my case. :)
It should compile with (x86?) Linux-systems with Open Sound System things,
which is some kind of standard in Linux.

Usage
-----

If you run playtzx without arguments you will see this help:

ZXTape Utilities - Play TZX , TZX to VOC Converter and TZX Info v0.56b

Usage: PLAYTZX [switches] FILE.TZX [OUTPUT.VOC]

       Switches:  -voc      Create a .VOC file instead of SB output
		  -au       Create a .au file instead of /dev/audio output
		  -freq n   Set sampling frequency to n Hz
		  -info     Show extensive Info on TZX file
		  -one      Show One line of Info per block (condensed form)
		  -x        eXpand the Groups in one line mode
		  -b    n   Start replay/conversion  at block n
		  -e    n   End replay/conversion after block n
		  -p        Wait after each page of Info

I hope most of those are quite clear. -p is not very clever option and it will
be removed. -au option does work. I decided to add the -au feature because 
every UNIX-machine has a .au-file player (eg. "cat file.au > /dev/audio"). 
Note however that this way the sound you hear might be wrong. It seems that
/dev/audio thinks that .au file is sampled at 8kHz even though it isn't AND
even though the .au file header says that it is sampled at some other sample
rate. But converting .au file created by playtzx with sox to .wav-format
and playing it with some wav-player makes the right kind of noise. I think
this .au-file playing feature is quite useless but because it was easy to
add, I did it... (but finding out why it does not work when sample rate is
not 8kHz was not easy...)

.voc file output is straight from Tomaz original code. The only way I have 
been able to test it is to make a .voc-file, convert it to .au with sox and 
then play it. And it sounds strange... :(

Future
------

There is no future ;-) 

I am moving in January 1998 and I will not have my PC anymore. And because
developing Linux applications with a Sinclair ZX Spectrum is a bit difficult
(at least with the rubber key 48k version ;-), I hope somebody else might
be able to fix any bugs that are found in playtzx.

I hope to be able to buy a new PC and start from scratch with a new TZX-player
for Linux. I have already some plans... It would have command line and X
interface and some interesting features...

Feedback
--------

Any feedback on this PlayTZX for Linux is welcome. My email address is
turtiain@iki.fi

And you can get this PlayTZX on http://www.iki.fi/turtiain/playtzx.html



About

PlayTZX with MacOS support


Languages

Language:C 47.3%Language:Shell 33.3%Language:Makefile 16.8%Language:Objective-C 1.8%Language:M4 0.7%