WonderWitch .fx files: Difference between revisions
From WSdev Wiki
Jump to navigationJump to search
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[FreyaOS]] uses [[XMODEM]] transfers to send and receive files through the serial port. These transfers do not include any file metadata by default - such as the file's name, size, permissions or creation date. As such, .fx files are used - binary files with a special 128-byte header<ref>XMODEM transfers are performed in 128-byte blocks; this allows fetching the file's metadata as the first block</ref>. | [[WonderWitch/FreyaOS|FreyaOS]] uses [[XMODEM]] transfers to send and receive files through the serial port. These transfers do not include any file metadata by default - such as the file's name, size, permissions or creation date. As such, .fx files are used - binary files with a special 128-byte header<ref>XMODEM transfers are performed in 128-byte blocks; this allows fetching the file's metadata as the first block</ref>. | ||
== Format == | == Format == |
Revision as of 05:59, 17 March 2024
FreyaOS uses XMODEM transfers to send and receive files through the serial port. These transfers do not include any file metadata by default - such as the file's name, size, permissions or creation date. As such, .fx files are used - binary files with a special 128-byte header[1].
Format
Offset | Length | Contents |
---|---|---|
$00 | 4 | Magic string: #!ws
|
$04 | 60 | Padding; typically 0xFF. |
$40 | 16 | File name; zero-terminated Shift-JIS string. |
$50 | 24 | User-friendly file name; zero-terminated Shift-JIS string.
FreyaOS displays the first 12 characters in its file selector. |
$68 | 4 | ? |
$6C | 4 | Total file size, in bytes, excluding the header. |
$70 | 2 | XMODEM chunk count - above file size divided by 128, then rounded up. |
$72 | 2 | File mode |
$74 | 4 | Modification time - seconds since January 1st, 2000. |
$78 | 4 | ? |
$7C | 4 | Offset to resource data, bytes excluding header; -1 if not present. |
File mode
15 bit 8 7 bit 0 ---- ---- ---- ---- ???? ???? ??i? ?rwx | ||| | ||+- Execute | |+-- Write | +--- Read +------- Intermediate library
- ↑ XMODEM transfers are performed in 128-byte blocks; this allows fetching the file's metadata as the first block