KSM
Status
| Field | Value |
|---|---|
| Extension(s) | .ksm |
| Common ecosystem | Older Pfaff lead |
| Format family | Machine-specific lead |
| Satin Studio status | Researching |
| Open / import | No |
| Export | No |
| Confidence | Low-medium. |
What it is
KSM is a rare older Pfaff-family extension seen in embroidery conversion lists.
Satin Studio direction
Lookup entry only until real files identify it.
Versions and variants
KSM may not use one command mode for the whole stream; color/needle state may affect how following movement records are interpreted.
File identification notes
Reported structure includes a 512-byte header and unsigned x, y, control triplets. One reported quirk: after a color change to a specific needle, following x, y positions may look like normal movement until later control values trigger sewing again.
Observed structure notes
- Observed KSM readers skip a 512-byte (
0x200) header before reading three-byte records iny, x, controlorder. - Control bit
0x40negates X and bit0x20negates Y. The low five control bits drive state. - Observed controls include
0x07,0x13, and0x1Dtrim;0x17through0x19resume sewing;0x0Bthrough0x12needle changes;0x05stop;0x1Bpre-end state; and0x08end.
Structure sketch
Observed KSM files use a 512-byte header and stateful three-byte records:
struct KsmCandidate<'a> {
header: [u8; 0x200],
records: &'a [KsmRecord],
}
struct KsmRecord {
y: u8,
x: u8,
control: u8, // 0x40 negates x; 0x20 negates y; low five bits are state
}
enum KsmState {
Continue,
Stop,
Trim,
ResumeSewing,
NeedleChange { needle: u8 },
PreEnd,
End,
}
What we still need
Known Pfaff KSM files, color/needle behavior, and independent reader validation.