p2000t / M2000

Emulator for the Philips P2000 home computer
GNU General Public License v3.0
7 stars 2 forks source link

Come up with a filename extension for a new clean P2000 cassette format which uses 32-byte headers #62

Closed dionoid closed 11 months ago

dionoid commented 11 months ago

@yqxq suggested creating a new 'clean' cassette format for the P2000 which uses 32-byte headers, compared to .cas which uses 256-byte headers of which 224 bytes are random/unused.

To prevent problems with other P2000 emulators (e.g. Mame), this new cassette format needs a different file extension. Suggestions:

dionoid commented 11 months ago

My 2 cents: I prefer .tap because:

ifilot commented 11 months ago

I have the following to add to this discussion:

New features

dionoid commented 11 months ago

Note that size reduction isn't important to me: it's the fact that the headers in a .cas file have 224 "wrong" bytes that were not read from the tape header + data blocks. Also, I think it should remain straight-forward to transfer the cassette data from a P2000 to a PC (and vice versa) using RS232, so that's why I prefer to keep the format just a dump of the cassette header + data blocks.

yqxq commented 11 months ago

I'm tweaking the dump tool to fix the glitch, it is actually quite simple to have it send/receive less, it also speeds up transfers by 20%. .p2000t has the benefit that you can attach an app to it in Mac/Win/Linux. 3 char ones won't work, as most are already claimed by the vast amount of other emulators. Having double-click in the Finder/Explore work is a massive benefit to open files from the menu. And you see right away what it is. CRC is not needed IMO, as I mod the heck out of cas files in a HEX editor. Then for every edit you need to fix the CRC. It is not that 2400 baud messes up a lot...

dionoid commented 11 months ago

I see the added value of being able to choose a default app for a specific extension, but I would like to keep it 3-chars so it will also work with the DOS version of M2000 without having to make exceptions in the code. What about .p2k ? Seems like a reasonable compromise and no other emulator is using that extension.

ifilot commented 11 months ago

Also, I think it should remain straight-forward to transfer the cassette data from a P2000 to a PC (and vice versa) using RS232, so that's why I prefer to keep the format just a dump of the cassette header + data blocks.

Very clear. Given that scope and intention, the features I proposed would only complicate matters.

but I would like to keep it 3-chars so it will also work with the DOS version of M2000 without having to make exceptions in the code

I agree with this. For optimal backwards compatibility, we should natively support a 8+3 filename which puts a 3-character limitation on the extension.

dionoid commented 11 months ago

To bypass this discussion: M2000 actually doesn't care about the file extension for cassette files. In the next release M2000 will auto-detect and support 256-byte and 32-byte headers and handle both appropriately. New cassette files created by M2000 will remain using 256-byte headers.

Closing this item for now. Feel free to reopen.