mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Add a special reader program for Acorn disks as I keep getting the parameters
wrong.
This commit is contained in:
@@ -10,6 +10,7 @@ Tested ones are:
|
||||
|
||||
- ADFS L: 80 track, 16 sector, 2 sides, 256 bytes per sector == 640kB.
|
||||
- ADFE D/E: 80 track, 5 sector, 2 sides, 1024 bytes per sector == 800kB.
|
||||
- ADFS F: 80 track, 10 sector, 2 sides, 1024 bytes per sector == 1600kB.
|
||||
|
||||
I expect the others to work, but haven't tried them; [get in
|
||||
touch](https://github.com/davidgiven/fluxengine/issues/new) if you have any
|
||||
@@ -28,8 +29,8 @@ Reading discs
|
||||
Just do:
|
||||
|
||||
```
|
||||
.obj/fe-readibm --sector-id-base=0
|
||||
.obj/fe-readacorn
|
||||
```
|
||||
|
||||
You should end up with an `ibm.img` of the appropriate size for your disk
|
||||
You should end up with an `acorn.img` of the appropriate size for your disk
|
||||
format.
|
||||
|
||||
@@ -84,6 +84,7 @@ brotherinc = include_directories('lib/brother')
|
||||
|
||||
executable('fe-erase', ['src/fe-erase.cc'], include_directories: [feinc], link_with: [felib, writerlib])
|
||||
executable('fe-inspect', ['src/fe-inspect.cc'], include_directories: [feinc, fmtinc, decoderinc], link_with: [felib, readerlib, decoderlib, fmtlib])
|
||||
executable('fe-readacorn', ['src/fe-readacorn.cc'], include_directories: [feinc, fmtinc, decoderinc], link_with: [felib, readerlib, decoderlib, fmtlib])
|
||||
executable('fe-readbrother', ['src/fe-readbrother.cc'], include_directories: [feinc, fmtinc, decoderinc, brotherinc], link_with: [felib, readerlib, decoderlib, brotherdecoderlib, fmtlib])
|
||||
executable('fe-readibm', ['src/fe-readibm.cc'], include_directories: [feinc, fmtinc, decoderinc], link_with: [felib, readerlib, decoderlib, fmtlib])
|
||||
executable('fe-rpm', ['src/fe-rpm.cc'], include_directories: [feinc], link_with: [felib])
|
||||
|
||||
32
src/fe-readacorn.cc
Normal file
32
src/fe-readacorn.cc
Normal file
@@ -0,0 +1,32 @@
|
||||
#include "globals.h"
|
||||
#include "flags.h"
|
||||
#include "reader.h"
|
||||
#include "fluxmap.h"
|
||||
#include "decoders.h"
|
||||
#include "image.h"
|
||||
#include "sector.h"
|
||||
#include "sectorset.h"
|
||||
#include "record.h"
|
||||
#include <fmt/format.h>
|
||||
|
||||
static StringFlag outputFilename(
|
||||
{ "--output", "-o" },
|
||||
"The output image file to write to.",
|
||||
"acorn.img");
|
||||
|
||||
static IntFlag sectorIdBase(
|
||||
{ "--sector-id-base" },
|
||||
"Sector ID of the first sector.",
|
||||
0);
|
||||
|
||||
int main(int argc, const char* argv[])
|
||||
{
|
||||
setReaderDefaultSource(":t=0-79:s=0-1");
|
||||
Flag::parseFlags(argc, argv);
|
||||
|
||||
MfmBitmapDecoder bitmapDecoder;
|
||||
IbmRecordParser recordParser(sectorIdBase);
|
||||
readDiskCommand(bitmapDecoder, recordParser, outputFilename);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user