mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	Switch to the traditional unicorn/dinosaur support categorisation.
This commit is contained in:
		
							
								
								
									
										82
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								README.md
									
									
									
									
									
								
							| @@ -88,50 +88,56 @@ Which? | ||||
|  | ||||
| The current support state is as follows. | ||||
|  | ||||
| Dinosaurs (🦖) have yet to be observed in real life --- I've written the | ||||
| encoder 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. | ||||
| Dinosaurs (🦖) have yet to be observed in real life --- I've written the encoder | ||||
| 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. | ||||
|  | ||||
| Unicorns (🦄) are completely real --- this means that I've read actual, | ||||
| physical disks with these formats and/or written real, physical disks and then | ||||
| used them on real hardware, and so know they work (or had reports from people | ||||
| who've had it work). | ||||
| Unicorns (🦄) are completely real --- this means that I've read actual, physical | ||||
| disks with these formats and/or written real, physical disks and then used them | ||||
| on real hardware, and so know they work (or had reports from people who've had | ||||
| 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 --> | ||||
| <!-- This section is automatically generated. Do not edit. --> | ||||
| | Profile | Format | Read? | Write? | Filesystem? | | ||||
| |:--------|:-------|:-----:|:------:|:------------| | ||||
| | `acornadfs` | Acorn ADFS: BBC Micro, Archimedes | YES |  |  | | ||||
| | `acorndfs` | Acorn DFS: Acorn Atom, BBC Micro series | YES | YES | ACORNDFS  | | ||||
| | `aeslanier` | AES Lanier "No Problem": 616kB 5.25" 77-track SSDD hard sectored | YES |  |  | | ||||
| | `agat` | Agat: 840kB 5.25" 80-track DS | YES | YES |  | | ||||
| | `amiga` | Amiga: 880kB 3.5" DSDD | YES | YES | AMIGAFFS  | | ||||
| | `ampro` | Ampro Little Board: CP/M | YES |  | CPMFS  | | ||||
| | `apple2` | Apple II: Prodos, Appledos, and CP/M | YES | YES | APPLEDOS CPMFS PRODOS  | | ||||
| | `atarist` | Atari ST: Almost PC compatible | YES | YES |  | | ||||
| | `bk` | BK: 800kB 5.25"/3.5" 80-track 10-sector DSDD | YES | YES |  | | ||||
| | `brother` | Brother word processors: GCR family | YES | YES | BROTHER120 FATFS  | | ||||
| | `commodore` | Commodore: 1541, 1581, and variations |  |  | CBMFS  | | ||||
| | `eco1` | VDS Eco1: CP/M; 1210kB 77-track mixed format DSHD | YES |  | CPMFS  | | ||||
| | `epsonpf10` | Epson PF-10: CP/M; 3.5" 40-track DSDD | YES |  | CPMFS  | | ||||
| | `f85` | Durango F85: 461kB 5.25" 77-track SS | YES |  |  | | ||||
| | `fb100` | Brother FB-100: 100kB 3.5" 40-track SSSD | YES |  |  | | ||||
| | `hplif` | Hewlett-Packard LIF: a variety of disk formats used by HP | YES |  | LIF  | | ||||
| | `ibm` | ibm: Generic PC 3.5"/5.25" disks | YES |  | FATFS  | | ||||
| | `icl30` | ICL Model 30: CP/M; 263kB 35-track DSSD | YES |  | CPMFS  | | ||||
| | `mac` | Macintosh: 400kB/800kB 3.5" GCR | YES | YES | MACHFS  | | ||||
| | `micropolis` | Micropolis: 100tpi MetaFloppy disks | YES | YES |  | | ||||
| | `mx` | DVK MX: Soviet-era PDP-11 clone | YES |  |  | | ||||
| | `n88basic` | N88-BASIC: PC8800/PC98 5.25"/3.5" 77-track 26-sector DSHD | YES | YES |  | | ||||
| | `northstar` | Northstar: 5.25" hard sectored | YES | YES |  | | ||||
| | `psos` | pSOS: 800kB DSDD with PHILE | YES | YES | PHILE  | | ||||
| | `rolandd20` | Roland D20: 3.5" electronic synthesiser disks | YES |  |  | | ||||
| | `rx50` | Digital RX50: 400kB 5.25" 80-track 10-sector SSDD | YES | YES |  | | ||||
| | `smaky6` | Smaky 6: 308kB 5.25" 77-track 16-sector SSDD, hard sectored | YES |  | SMAKY6  | | ||||
| | `tids990` | Texas Instruments DS990: 1126kB 8" DSSD | YES | YES |  | | ||||
| | `tiki` | Tiki 100: CP/M | YES |  | CPMFS  | | ||||
| | `victor9k` | Victor 9000 / Sirius One: 1224kB 5.25" DSDD GCR | YES | YES |  | | ||||
| | `zilogmcz` | Zilog MCZ: 320kB 8" 77-track SSSD hard-sectored | YES |  |  | | ||||
| | `acornadfs` | Acorn ADFS: BBC Micro, Archimedes | 🦖 |  |  | | ||||
| | `acorndfs` | Acorn DFS: Acorn Atom, BBC Micro series | 🦄 |  | ACORNDFS  | | ||||
| | `aeslanier` | AES Lanier "No Problem": 616kB 5.25" 77-track SSDD hard sectored | 🦖 |  |  | | ||||
| | `agat` | Agat: 840kB 5.25" 80-track DS | 🦖 | 🦖 |  | | ||||
| | `amiga` | Amiga: 880kB 3.5" DSDD | 🦄 | 🦄 | AMIGAFFS  | | ||||
| | `ampro` | Ampro Little Board: CP/M | 🦖 |  | CPMFS  | | ||||
| | `apple2` | Apple II: Prodos, Appledos, and CP/M | 🦄 | 🦄 | APPLEDOS CPMFS PRODOS  | | ||||
| | `atarist` | Atari ST: Almost PC compatible | 🦄 | 🦄 |  | | ||||
| | `bk` | BK: 800kB 5.25"/3.5" 80-track 10-sector DSDD | 🦖 | 🦖 |  | | ||||
| | `brother` | Brother word processors: GCR family | 🦄 | 🦄 | BROTHER120 FATFS  | | ||||
| | `commodore` | Commodore: 1541, 1581, and variations | 🦄 | 🦄 | CBMFS  | | ||||
| | `eco1` | VDS Eco1: CP/M; 1210kB 77-track mixed format DSHD | 🦖 |  | CPMFS  | | ||||
| | `epsonpf10` | Epson PF-10: CP/M; 3.5" 40-track DSDD | 🦖 |  | CPMFS  | | ||||
| | `f85` | Durango F85: 461kB 5.25" 77-track SS | 🦖 |  |  | | ||||
| | `fb100` | Brother FB-100: 100kB 3.5" 40-track SSSD | 🦖 |  |  | | ||||
| | `hplif` | Hewlett-Packard LIF: a variety of disk formats used by HP | 🦄 | 🦄 | LIF  | | ||||
| | `ibm` | IBM PC: Generic PC 3.5"/5.25" disks | 🦄 | 🦄 | FATFS  | | ||||
| | `icl30` | ICL Model 30: CP/M; 263kB 35-track DSSD | 🦖 |  | CPMFS  | | ||||
| | `mac` | Macintosh: 400kB/800kB 3.5" GCR | 🦄 | 🦄 | MACHFS  | | ||||
| | `micropolis` | Micropolis: 100tpi MetaFloppy disks | 🦄 | 🦄 |  | | ||||
| | `mx` | DVK MX: Soviet-era PDP-11 clone | 🦖 |  |  | | ||||
| | `n88basic` | N88-BASIC: PC8800/PC98 5.25"/3.5" 77-track 26-sector DSHD | 🦄 | 🦄 |  | | ||||
| | `northstar` | Northstar: 5.25" hard sectored | 🦄 | 🦄 |  | | ||||
| | `psos` | pSOS: 800kB DSDD with PHILE | 🦄 | 🦄 | PHILE  | | ||||
| | `rolandd20` | Roland D20: 3.5" electronic synthesiser disks | 🦖 |  |  | | ||||
| | `rx50` | Digital RX50: 400kB 5.25" 80-track 10-sector SSDD | 🦖 | 🦖 |  | | ||||
| | `smaky6` | Smaky 6: 308kB 5.25" 77-track 16-sector SSDD, hard sectored | 🦖 |  | SMAKY6  | | ||||
| | `tids990` | Texas Instruments DS990: 1126kB 8" DSSD | 🦖 | 🦖 |  | | ||||
| | `tiki` | Tiki 100: CP/M |  |  | CPMFS  | | ||||
| | `victor9k` | Victor 9000 / Sirius One: 1224kB 5.25" DSDD GCR | 🦖 | 🦖 |  | | ||||
| | `zilogmcz` | Zilog MCZ: 320kB 8" 77-track SSSD hard-sectored | 🦖 |  |  | | ||||
| {: .datatable } | ||||
| <!-- FORMATSEND --> | ||||
|  | ||||
|   | ||||
| @@ -12,13 +12,22 @@ import "lib/drive.proto"; | ||||
| import "lib/common.proto"; | ||||
| import "lib/layout.proto"; | ||||
|  | ||||
| // NEXT_TAG: 25 | ||||
| enum SupportStatus | ||||
| { | ||||
| 	UNSUPPORTED = 0; | ||||
| 	DINOSAUR = 1; | ||||
| 	UNICORN = 2; | ||||
| } | ||||
|  | ||||
| // NEXT_TAG: 27 | ||||
| message ConfigProto | ||||
| { | ||||
| 	optional string shortname = 24; | ||||
|     optional string comment = 8; | ||||
|     optional bool is_extension = 13; | ||||
| 	repeated string documentation = 23; | ||||
| 	optional SupportStatus read_support_status = 25 [ default = UNSUPPORTED ]; | ||||
| 	optional SupportStatus write_support_status = 26 [ default = UNSUPPORTED ]; | ||||
|  | ||||
|     optional LayoutProto layout = 18; | ||||
|  | ||||
|   | ||||
| @@ -5,6 +5,20 @@ | ||||
|  | ||||
| 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[]) | ||||
| { | ||||
|     fmt::print("<!-- FORMATSSTART -->\n"); | ||||
| @@ -47,8 +61,8 @@ int main(int argc, const char* argv[]) | ||||
|         fmt::print("| `{}` | {} | {} | {} | {} |\n", | ||||
|             name, | ||||
|             config->shortname() + ": " + config->comment(), | ||||
|             config->has_decoder() ? "YES" : "", | ||||
|             config->has_encoder() ? "YES" : "", | ||||
|             supportStatus(config->read_support_status()), | ||||
|             supportStatus(config->write_support_status()), | ||||
|             ss.str()); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: "Acorn ADFS" | ||||
| comment: 'BBC Micro, Archimedes' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'Acorn DFS' | ||||
| comment: 'Acorn Atom, BBC Micro series' | ||||
| read_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'AES Lanier "No Problem"' | ||||
| comment: '616kB 5.25" 77-track SSDD hard sectored' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Agat' | ||||
| comment: '840kB 5.25" 80-track DS' | ||||
| read_support_status: DINOSAUR | ||||
| write_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Amiga' | ||||
| comment: '880kB 3.5" DSDD' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'Ampro Little Board' | ||||
| comment: 'CP/M' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Apple II' | ||||
| comment: 'Prodos, Appledos, and CP/M' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Atari ST' | ||||
| comment: 'Almost PC compatible' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'BK' | ||||
| comment: '800kB 5.25"/3.5" 80-track 10-sector DSDD' | ||||
| read_support_status: DINOSAUR | ||||
| write_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Brother word processors' | ||||
| comment: 'GCR family' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Commodore' | ||||
| comment: '1541, 1581, and variations' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'VDS Eco1' | ||||
| comment: 'CP/M; 1210kB 77-track mixed format DSHD' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'Epson PF-10' | ||||
| comment: 'CP/M; 3.5" 40-track DSDD' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: "Durango F85" | ||||
| comment: '461kB 5.25" 77-track SS' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'Brother FB-100' | ||||
| comment: '100kB 3.5" 40-track SSSD' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: "Hewlett-Packard LIF" | ||||
| comment: 'a variety of disk formats used by HP' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'ibm' | ||||
| shortname: 'IBM PC' | ||||
| comment: 'Generic PC 3.5"/5.25" disks' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'ICL Model 30' | ||||
| comment: 'CP/M; 263kB 35-track DSSD' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Macintosh' | ||||
| comment: '400kB/800kB 3.5" GCR' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Micropolis' | ||||
| comment: '100tpi MetaFloppy disks' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'DVK MX' | ||||
| comment: 'Soviet-era PDP-11 clone' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'N88-BASIC' | ||||
| comment: 'PC8800/PC98 5.25"/3.5" 77-track 26-sector DSHD' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Northstar' | ||||
| comment: '5.25" hard sectored' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'pSOS' | ||||
| comment: '800kB DSDD with PHILE' | ||||
| read_support_status: UNICORN | ||||
| write_support_status: UNICORN | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'Roland D20' | ||||
| comment: '3.5" electronic synthesiser disks' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Digital RX50' | ||||
| comment: '400kB 5.25" 80-track 10-sector SSDD' | ||||
| read_support_status: DINOSAUR | ||||
| write_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'Smaky 6' | ||||
| comment: '308kB 5.25" 77-track 16-sector SSDD, hard sectored' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Texas Instruments DS990' | ||||
| comment: '1126kB 8" DSSD' | ||||
| read_support_status: DINOSAUR | ||||
| write_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| shortname: 'Victor 9000 / Sirius One' | ||||
| comment: '1224kB 5.25" DSDD GCR' | ||||
| read_support_status: DINOSAUR | ||||
| write_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| shortname: 'Zilog MCZ' | ||||
| comment: '320kB 8" 77-track SSSD hard-sectored' | ||||
| read_support_status: DINOSAUR | ||||
|  | ||||
| documentation: | ||||
| <<< | ||||
|   | ||||
		Reference in New Issue
	
	Block a user