T64
application/octet-stream
Magic Bytes
Offset: 0
43 36 34 20 74 61 70 65 20 69 6D 61 67 65 20 66 69 6C 65
T64 is a tape image container format originally developed by Miha Peternel for the C64S emulator to represent Commodore 64 software. It is primarily used within the retrocomputing community to preserve and load legacy programs, games, and data archives on modern emulation software. As an obsolete format, it poses minimal security risk to modern host systems, though users should remain cautious when executing software or code extracted from unverified historical archives.
Validation Code
How to validate .t64 files in Python
Python
def is_t64(file_path: str) -> bool:
"""Check if file is a valid T64 by magic bytes."""
signature = bytes([0x43, 0x36, 0x34, 0x20, 0x74, 0x61, 0x70, 0x65, 0x20, 0x69, 0x6D, 0x61, 0x67, 0x65, 0x20, 0x66, 0x69, 0x6C, 0x65])
with open(file_path, "rb") as f:
return f.read(19) == signature
How to validate .t64 files in Node.js
Node.js
function isT64(buffer: Buffer): boolean {
const signature = Buffer.from([0x43, 0x36, 0x34, 0x20, 0x74, 0x61, 0x70, 0x65, 0x20, 0x69, 0x6D, 0x61, 0x67, 0x65, 0x20, 0x66, 0x69, 0x6C, 0x65]);
return buffer.subarray(0, 19).equals(signature);
}
Go
func IsT64(data []byte) bool {
signature := []byte{0x43, 0x36, 0x34, 0x20, 0x74, 0x61, 0x70, 0x65, 0x20, 0x69, 0x6D, 0x61, 0x67, 0x65, 0x20, 0x66, 0x69, 0x6C, 0x65}
if len(data) < 19 {
return false
}
return bytes.Equal(data[:19], signature)
}
API Endpoint
GET
/api/v1/t64
curl https://filesignature.org/api/v1/t64