Switch to the traditional unicorn/dinosaur support categorisation.

This commit is contained in:
dg
2023-05-07 23:06:56 +00:00
parent a62346c515
commit f7b8022d3a
33 changed files with 118 additions and 42 deletions

View File

@@ -88,50 +88,56 @@ Which?
The current support state is as follows. The current support state is as follows.
Dinosaurs (🦖) have yet to be observed in real life --- I've written the Dinosaurs (🦖) have yet to be observed in real life --- I've written the encoder
encoder and/or decoder based on Kryoflux (or other) dumps I've found. I don't (yet) have and/or decoder based on Kryoflux (or other) dumps I've found. I don't (yet) have
real, physical disks in my hand to test the capture process, or hardware to verify that written disks work. real, physical disks in my hand to test the capture process, or hardware to
verify that written disks work.
Unicorns (🦄) are completely real --- this means that I've read actual, Unicorns (🦄) are completely real --- this means that I've read actual, physical
physical disks with these formats and/or written real, physical disks and then disks with these formats and/or written real, physical disks and then used them
used them on real hardware, and so know they work (or had reports from people on real hardware, and so know they work (or had reports from people who've had
who've had it work). it work).
If a filesystem is listed, this means that FluxEngine natively supports that
particular filesystem and can read (and sometimes write, support varies) files
directly from disks, flux files or disk images. Some formats have multiple
choices because they can store multiple types of file system.
<!-- FORMATSSTART --> <!-- FORMATSSTART -->
<!-- This section is automatically generated. Do not edit. --> <!-- This section is automatically generated. Do not edit. -->
| Profile | Format | Read? | Write? | Filesystem? | | Profile | Format | Read? | Write? | Filesystem? |
|:--------|:-------|:-----:|:------:|:------------| |:--------|:-------|:-----:|:------:|:------------|
| `acornadfs` | Acorn ADFS: BBC Micro, Archimedes | YES | | | | `acornadfs` | Acorn ADFS: BBC Micro, Archimedes | 🦖 | | |
| `acorndfs` | Acorn DFS: Acorn Atom, BBC Micro series | YES | YES | ACORNDFS | | `acorndfs` | Acorn DFS: Acorn Atom, BBC Micro series | 🦄 | | ACORNDFS |
| `aeslanier` | AES Lanier "No Problem": 616kB 5.25" 77-track SSDD hard sectored | YES | | | | `aeslanier` | AES Lanier "No Problem": 616kB 5.25" 77-track SSDD hard sectored | 🦖 | | |
| `agat` | Agat: 840kB 5.25" 80-track DS | YES | YES | | | `agat` | Agat: 840kB 5.25" 80-track DS | 🦖 | 🦖 | |
| `amiga` | Amiga: 880kB 3.5" DSDD | YES | YES | AMIGAFFS | | `amiga` | Amiga: 880kB 3.5" DSDD | 🦄 | 🦄 | AMIGAFFS |
| `ampro` | Ampro Little Board: CP/M | YES | | CPMFS | | `ampro` | Ampro Little Board: CP/M | 🦖 | | CPMFS |
| `apple2` | Apple II: Prodos, Appledos, and CP/M | YES | YES | APPLEDOS CPMFS PRODOS | | `apple2` | Apple II: Prodos, Appledos, and CP/M | 🦄 | 🦄 | APPLEDOS CPMFS PRODOS |
| `atarist` | Atari ST: Almost PC compatible | YES | YES | | | `atarist` | Atari ST: Almost PC compatible | 🦄 | 🦄 | |
| `bk` | BK: 800kB 5.25"/3.5" 80-track 10-sector DSDD | YES | YES | | | `bk` | BK: 800kB 5.25"/3.5" 80-track 10-sector DSDD | 🦖 | 🦖 | |
| `brother` | Brother word processors: GCR family | YES | YES | BROTHER120 FATFS | | `brother` | Brother word processors: GCR family | 🦄 | 🦄 | BROTHER120 FATFS |
| `commodore` | Commodore: 1541, 1581, and variations | | | CBMFS | | `commodore` | Commodore: 1541, 1581, and variations | 🦄 | 🦄 | CBMFS |
| `eco1` | VDS Eco1: CP/M; 1210kB 77-track mixed format DSHD | YES | | CPMFS | | `eco1` | VDS Eco1: CP/M; 1210kB 77-track mixed format DSHD | 🦖 | | CPMFS |
| `epsonpf10` | Epson PF-10: CP/M; 3.5" 40-track DSDD | YES | | CPMFS | | `epsonpf10` | Epson PF-10: CP/M; 3.5" 40-track DSDD | 🦖 | | CPMFS |
| `f85` | Durango F85: 461kB 5.25" 77-track SS | YES | | | | `f85` | Durango F85: 461kB 5.25" 77-track SS | 🦖 | | |
| `fb100` | Brother FB-100: 100kB 3.5" 40-track SSSD | YES | | | | `fb100` | Brother FB-100: 100kB 3.5" 40-track SSSD | 🦖 | | |
| `hplif` | Hewlett-Packard LIF: a variety of disk formats used by HP | YES | | LIF | | `hplif` | Hewlett-Packard LIF: a variety of disk formats used by HP | 🦄 | 🦄 | LIF |
| `ibm` | ibm: Generic PC 3.5"/5.25" disks | YES | | FATFS | | `ibm` | IBM PC: Generic PC 3.5"/5.25" disks | 🦄 | 🦄 | FATFS |
| `icl30` | ICL Model 30: CP/M; 263kB 35-track DSSD | YES | | CPMFS | | `icl30` | ICL Model 30: CP/M; 263kB 35-track DSSD | 🦖 | | CPMFS |
| `mac` | Macintosh: 400kB/800kB 3.5" GCR | YES | YES | MACHFS | | `mac` | Macintosh: 400kB/800kB 3.5" GCR | 🦄 | 🦄 | MACHFS |
| `micropolis` | Micropolis: 100tpi MetaFloppy disks | YES | YES | | | `micropolis` | Micropolis: 100tpi MetaFloppy disks | 🦄 | 🦄 | |
| `mx` | DVK MX: Soviet-era PDP-11 clone | YES | | | | `mx` | DVK MX: Soviet-era PDP-11 clone | 🦖 | | |
| `n88basic` | N88-BASIC: PC8800/PC98 5.25"/3.5" 77-track 26-sector DSHD | YES | YES | | | `n88basic` | N88-BASIC: PC8800/PC98 5.25"/3.5" 77-track 26-sector DSHD | 🦄 | 🦄 | |
| `northstar` | Northstar: 5.25" hard sectored | YES | YES | | | `northstar` | Northstar: 5.25" hard sectored | 🦄 | 🦄 | |
| `psos` | pSOS: 800kB DSDD with PHILE | YES | YES | PHILE | | `psos` | pSOS: 800kB DSDD with PHILE | 🦄 | 🦄 | PHILE |
| `rolandd20` | Roland D20: 3.5" electronic synthesiser disks | YES | | | | `rolandd20` | Roland D20: 3.5" electronic synthesiser disks | 🦖 | | |
| `rx50` | Digital RX50: 400kB 5.25" 80-track 10-sector SSDD | YES | YES | | | `rx50` | Digital RX50: 400kB 5.25" 80-track 10-sector SSDD | 🦖 | 🦖 | |
| `smaky6` | Smaky 6: 308kB 5.25" 77-track 16-sector SSDD, hard sectored | YES | | SMAKY6 | | `smaky6` | Smaky 6: 308kB 5.25" 77-track 16-sector SSDD, hard sectored | 🦖 | | SMAKY6 |
| `tids990` | Texas Instruments DS990: 1126kB 8" DSSD | YES | YES | | | `tids990` | Texas Instruments DS990: 1126kB 8" DSSD | 🦖 | 🦖 | |
| `tiki` | Tiki 100: CP/M | YES | | CPMFS | | `tiki` | Tiki 100: CP/M | | | CPMFS |
| `victor9k` | Victor 9000 / Sirius One: 1224kB 5.25" DSDD GCR | YES | YES | | | `victor9k` | Victor 9000 / Sirius One: 1224kB 5.25" DSDD GCR | 🦖 | 🦖 | |
| `zilogmcz` | Zilog MCZ: 320kB 8" 77-track SSSD hard-sectored | YES | | | | `zilogmcz` | Zilog MCZ: 320kB 8" 77-track SSSD hard-sectored | 🦖 | | |
{: .datatable } {: .datatable }
<!-- FORMATSEND --> <!-- FORMATSEND -->

View File

@@ -12,13 +12,22 @@ import "lib/drive.proto";
import "lib/common.proto"; import "lib/common.proto";
import "lib/layout.proto"; import "lib/layout.proto";
// NEXT_TAG: 25 enum SupportStatus
{
UNSUPPORTED = 0;
DINOSAUR = 1;
UNICORN = 2;
}
// NEXT_TAG: 27
message ConfigProto message ConfigProto
{ {
optional string shortname = 24; optional string shortname = 24;
optional string comment = 8; optional string comment = 8;
optional bool is_extension = 13; optional bool is_extension = 13;
repeated string documentation = 23; repeated string documentation = 23;
optional SupportStatus read_support_status = 25 [ default = UNSUPPORTED ];
optional SupportStatus write_support_status = 26 [ default = UNSUPPORTED ];
optional LayoutProto layout = 18; optional LayoutProto layout = 18;

View File

@@ -5,6 +5,20 @@
extern const std::map<std::string, const ConfigProto*> formats; extern const std::map<std::string, const ConfigProto*> formats;
static std::string supportStatus(SupportStatus status)
{
switch (status)
{
case SupportStatus::DINOSAUR:
return "🦖";
case SupportStatus::UNICORN:
return "🦄";
}
return "";
}
int main(int argc, const char* argv[]) int main(int argc, const char* argv[])
{ {
fmt::print("<!-- FORMATSSTART -->\n"); fmt::print("<!-- FORMATSSTART -->\n");
@@ -47,8 +61,8 @@ int main(int argc, const char* argv[])
fmt::print("| `{}` | {} | {} | {} | {} |\n", fmt::print("| `{}` | {} | {} | {} | {} |\n",
name, name,
config->shortname() + ": " + config->comment(), config->shortname() + ": " + config->comment(),
config->has_decoder() ? "YES" : "", supportStatus(config->read_support_status()),
config->has_encoder() ? "YES" : "", supportStatus(config->write_support_status()),
ss.str()); ss.str());
} }

View File

@@ -1,5 +1,6 @@
shortname: "Acorn ADFS" shortname: "Acorn ADFS"
comment: 'BBC Micro, Archimedes' comment: 'BBC Micro, Archimedes'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'Acorn DFS' shortname: 'Acorn DFS'
comment: 'Acorn Atom, BBC Micro series' comment: 'Acorn Atom, BBC Micro series'
read_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'AES Lanier "No Problem"' shortname: 'AES Lanier "No Problem"'
comment: '616kB 5.25" 77-track SSDD hard sectored' comment: '616kB 5.25" 77-track SSDD hard sectored'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Agat' shortname: 'Agat'
comment: '840kB 5.25" 80-track DS' comment: '840kB 5.25" 80-track DS'
read_support_status: DINOSAUR
write_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Amiga' shortname: 'Amiga'
comment: '880kB 3.5" DSDD' comment: '880kB 3.5" DSDD'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'Ampro Little Board' shortname: 'Ampro Little Board'
comment: 'CP/M' comment: 'CP/M'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Apple II' shortname: 'Apple II'
comment: 'Prodos, Appledos, and CP/M' comment: 'Prodos, Appledos, and CP/M'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Atari ST' shortname: 'Atari ST'
comment: 'Almost PC compatible' comment: 'Almost PC compatible'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'BK' shortname: 'BK'
comment: '800kB 5.25"/3.5" 80-track 10-sector DSDD' comment: '800kB 5.25"/3.5" 80-track 10-sector DSDD'
read_support_status: DINOSAUR
write_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Brother word processors' shortname: 'Brother word processors'
comment: 'GCR family' comment: 'GCR family'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Commodore' shortname: 'Commodore'
comment: '1541, 1581, and variations' comment: '1541, 1581, and variations'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'VDS Eco1' shortname: 'VDS Eco1'
comment: 'CP/M; 1210kB 77-track mixed format DSHD' comment: 'CP/M; 1210kB 77-track mixed format DSHD'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'Epson PF-10' shortname: 'Epson PF-10'
comment: 'CP/M; 3.5" 40-track DSDD' comment: 'CP/M; 3.5" 40-track DSDD'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: "Durango F85" shortname: "Durango F85"
comment: '461kB 5.25" 77-track SS' comment: '461kB 5.25" 77-track SS'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'Brother FB-100' shortname: 'Brother FB-100'
comment: '100kB 3.5" 40-track SSSD' comment: '100kB 3.5" 40-track SSSD'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: "Hewlett-Packard LIF" shortname: "Hewlett-Packard LIF"
comment: 'a variety of disk formats used by HP' comment: 'a variety of disk formats used by HP'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'ibm' shortname: 'IBM PC'
comment: 'Generic PC 3.5"/5.25" disks' comment: 'Generic PC 3.5"/5.25" disks'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'ICL Model 30' shortname: 'ICL Model 30'
comment: 'CP/M; 263kB 35-track DSSD' comment: 'CP/M; 263kB 35-track DSSD'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Macintosh' shortname: 'Macintosh'
comment: '400kB/800kB 3.5" GCR' comment: '400kB/800kB 3.5" GCR'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Micropolis' shortname: 'Micropolis'
comment: '100tpi MetaFloppy disks' comment: '100tpi MetaFloppy disks'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'DVK MX' shortname: 'DVK MX'
comment: 'Soviet-era PDP-11 clone' comment: 'Soviet-era PDP-11 clone'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'N88-BASIC' shortname: 'N88-BASIC'
comment: 'PC8800/PC98 5.25"/3.5" 77-track 26-sector DSHD' comment: 'PC8800/PC98 5.25"/3.5" 77-track 26-sector DSHD'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Northstar' shortname: 'Northstar'
comment: '5.25" hard sectored' comment: '5.25" hard sectored'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'pSOS' shortname: 'pSOS'
comment: '800kB DSDD with PHILE' comment: '800kB DSDD with PHILE'
read_support_status: UNICORN
write_support_status: UNICORN
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'Roland D20' shortname: 'Roland D20'
comment: '3.5" electronic synthesiser disks' comment: '3.5" electronic synthesiser disks'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Digital RX50' shortname: 'Digital RX50'
comment: '400kB 5.25" 80-track 10-sector SSDD' comment: '400kB 5.25" 80-track 10-sector SSDD'
read_support_status: DINOSAUR
write_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'Smaky 6' shortname: 'Smaky 6'
comment: '308kB 5.25" 77-track 16-sector SSDD, hard sectored' comment: '308kB 5.25" 77-track 16-sector SSDD, hard sectored'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Texas Instruments DS990' shortname: 'Texas Instruments DS990'
comment: '1126kB 8" DSSD' comment: '1126kB 8" DSSD'
read_support_status: DINOSAUR
write_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,7 @@
shortname: 'Victor 9000 / Sirius One' shortname: 'Victor 9000 / Sirius One'
comment: '1224kB 5.25" DSDD GCR' comment: '1224kB 5.25" DSDD GCR'
read_support_status: DINOSAUR
write_support_status: DINOSAUR
documentation: documentation:
<<< <<<

View File

@@ -1,5 +1,6 @@
shortname: 'Zilog MCZ' shortname: 'Zilog MCZ'
comment: '320kB 8" 77-track SSSD hard-sectored' comment: '320kB 8" 77-track SSSD hard-sectored'
read_support_status: DINOSAUR
documentation: documentation:
<<< <<<