Why not a ".TSX" Format for MSX Tapes???

Page 10/10
3 | 4 | 5 | 6 | 7 | 8 | 9 |

By oraculo666

Supporter (5)

oraculo666's picture

11-05-2016, 19:51

CAS is just the same info contained in a tape concatenated into one file. Headers and data blocks one after the other. No additional information other than the header locations are padded with zeros to fall on exact multiple of 8 bytes.

SD_statcher: I think I read somewhere that the filters were present to get rid of noise out of the msx recording range. This is the main reason you can't go much higher than 3600 bauds. The actual read speed is calibrated every time the msx reads a header signal to compensate for differences in tape speed.

By manolito74

Paladin (773)

manolito74's picture

30-11-2016, 03:35


Long, long time ago.... a group of MSX users started to talk about the possibility of adopt the ".TZX" format in MSX, what we could name as ".TSX". Due to different reasons the project was forgotten or never started.

Now in the www.zonadepruebas.com Forum we are talking again about this possibility. There is a User that knows a lot about the ".TZX" Format and has a lot of experience managing this format. He has also created a tool in order to converte the ".TZX" Files to ".WAV" Files. The name of tha User in the Forum is "BlackHole".

So @ wouter_: don't worry. This part is solved. He has done a Tool that convert the ".TZX" file to a ".WAV". And the great advantage is that when you compress this Wav file it weights less than the one you can do from the original tape. ;-)

Recently BlackHole has read something about the "Kansas City Standard" and he has considered the possibility of adapt the ".TZX" format at the MSX necessities.

At the moment BlackHole has just done a very little test. He has made a ".TZX" file from the Game "Aufwiedersehen Monty". Due to the fact that there is not a tool to do this automatically BlackHole have done it manually, analizing the File, using an Hexadecimal Editor, using the CasTool Utilities, etc. The great new is that he has been able to obtain the ".TZX" File of that Game and he has converted the ".TZX" File to ".Wav" and it loads perfectly in the "Open MSX" Emulator.

This User, BlackHole, is doing as much as he can but unluckily he is not a MSX expert so he needs the help of the MSX Comunity in order to define the ".TSX" Format, about the differentes ways of protection in MSX Games, etc.

Please if anyone of you are interested in the idea we'll thank you your help a lot. You can visit the Posts/Thread here:


The Forum is in spanish but if someone needs help with the translation, etc could ask me for help.

Another good notice is that the user @Louthrax in our MRC Forum can help us with examples of Wav Files with Games that have different types of protection.

The initial step I think is the most serious and delicated. We have to define correctly the ".TSX" format and we have to analyse and gather as much information as we can and consider all the situations that we can find in our MSX Games/Programs.

Thank you very much indeed. ;-)

By Manuel

Ascended (12905)

Manuel's picture

30-11-2016, 13:16

I'm still not sure what the advantage is above 'pure' WAV files (which are cleaned up).

By Tolvatar

Paladin (702)

Tolvatar's picture

05-02-2017, 15:06

Different wavs from same cassette are all different on CRC.
You can't know if it's a good dump.
2 dumps from 2 cassettes with same CRC ensure correcta dump.
Hope i explain well enough. I'm spanish, sorry for my english

By eimaster

Expert (74)

eimaster's picture

06-03-2017, 11:09

I have one question:

Suppose that:
* I have 2 MSX computers A and B. I connected both computers A and B with a custom made cassette cable. Cassette's OUT-PIN of computer A with cassette's IN-PIN of computer B. I don't know if a signal amplifier is needed in between or not!
* There is a BASIC program in computer A.
* On computer B I type cload or load"cas:" or bload"cas:" and hit ENTER

NOW IF on computer A:
I save a the basic program with the appropriate command csave"filename" or save"cas:filename" or if I save a memory image with bsave"cas:filename",start,end,run

Would the computer B be able to load or bload that filename program/image from computer A as normal as it does with a cassette?!

Then as I think:
** If the answer is YES then I think that the output stream when saving is TOTALLY DIGITAL and therefore original tapes can be perfectly preserved and CRC test for same game would be the same on all computers and on whatever tape or tape image file.

** If the answer is NO then I think the output stream is not DIGITAL and this means that the digital stream had undergone through a transformation process with some kind of a modulator and became ANALOG before it reach the cassette recorder (exactly just like what happens to digital infos sent-out from a computer via telephone line on old 56kbps modems). Thus, original tapes cannot be preserved as a true digital image but can be preserved as a perfect analog audio signals digitized in WAV file, so CRC test would never be the same even if saving the same thing more than once on the same computer.

That's what I think and I maight not be right so what do you think? (sorry Tongue ! This is my 2nd question Cool )

By hit9918

Prophet (2543)

hit9918's picture

06-03-2017, 19:04

yes, digital. it goes with a 9600hz wav. the wav sample bytes are either 0 or 255. two positions of the MSX IO pin, "digital".

in theory there could be a variable delay on the time axis.
this is done on ZX, I doubt it was done on MSX.
a delay in cpu cycles, this again can be stored in a digital way.

and then there are the dozen reasons why something still doesnt work in practice.
transfer MSX to MSX, maybe the SAVE has less MOTOR OFF time than the LOAD needs.
sometimes entering a BASIC line or inputing a string has a hiccup because of garbage collector.
but bload cload does not have this problem.

By eimaster

Expert (74)

eimaster's picture

07-03-2017, 04:56

What about storing/restoring/appending data to sequential files, does it have any problems?!


Enlighted (4468)

NYYRIKKI's picture

08-03-2017, 02:55

eimaster wrote:

Would the computer B be able to load or bload that filename program/image from computer A as normal as it does with a cassette?!

Yes, this would work as long as you use amplifier in between.


That's what I think and I maight not be right so what do you think? (sorry Tongue ! This is my 2nd question Cool )

Here you go a bit wrong... If you are a programmer, you can easily forget that all digital signals have also "analog features" as that part is hidden from us... This is hidden from our view as this has been handled by implementing enough tolerance that analog features (such as volume or attenuation) of the signal don't cause error behavior. Usually when talking about fast loading the tolerance to errors is one of the things that get reduced.

Another problem in your way of thinking is that digital signals are same before sending and after receiving only if the sender and receiver talks the same protocol. If you ie. send digital signal to air with modern RC-car controller, you can't receive it correctly with WLAN adapter even if both would work on 5GHz band, because they don't talk "same language".

If you think BASIC load commands or software that use BIOS for cassette I/O there is no problem... The protocol is known, so actually CAS-format is enough to store the data (it does not save the protocol) and there is no need for improvement. Here the CRC test also always returns same result, because the data does not change.

Tape recorder is not a device that receives the signal as digital signal that has a protocol. It simply stores it "as is" meaning that it stores analog representation of the digital signal. We have same problem when we try to save the signal with a computer that does not know the protocol. As it can't understand the signal or sync it to anything, it has to store it in much higher accuracy to prevent moire effects and such. It is same as if I ask you to say Japanese language sentence to your Japanese friend... If you speak Japanese natively, you only need to remember what I told you to represent my message to the subject person. If you don't understand Japanese at all then you have to remember a lot of more information about my intonation, pitch and such in order to deliver the message without error. In this case it is likely that the message sounds a bit funny in the Japanese ears, but the important thing is that the receiver understands the message. In such case the CRC sum is likely not to match even between recordings, but the data part of the signal has still been delivered correctly.

In digital data the actual wave form or volume changes are not that important to save, but in order to store all the different possible variations of MSX cassette signal you should rather think, how you can store all the possible frequencies between 50Hz-15KHz in finest possible resolution & without errors.

Page 10/10
3 | 4 | 5 | 6 | 7 | 8 | 9 |
My MSX profile