Consolidate the Apple II formats together.

This commit is contained in:
dg
2023-05-05 21:11:06 +00:00
parent 199cefdb71
commit 0f56108bf5
6 changed files with 79 additions and 88 deletions

View File

@@ -177,7 +177,7 @@ endef
$(call do-encodedecodetest,agat840)
$(call do-encodedecodetest,amiga)
$(call do-encodedecodetest,appleii140)
$(call do-encodedecodetest,apple2,,--140)
$(call do-encodedecodetest,atarist,,--360)
$(call do-encodedecodetest,atarist,,--370)
$(call do-encodedecodetest,atarist,,--400)

View File

@@ -30,7 +30,8 @@ FluxEngine can remap the sectors from physical to logical using modifiers. If
you don't specify a remapping modifier, you get the sectors in the order they
appear on the disk.
If you don't want an image in physical sector order, specify one of these options:
If you don't want an image in physical sector order, specify one of these
options:
- `--appledos` Selects AppleDOS sector translation
- `--prodos` Selects ProDOS sector translation
@@ -40,15 +41,21 @@ These options also select the appropriate file system; FluxEngine has read-only
support for all of these. For example:
```
fluxengine ls appleii140 --appledos -f image.flux
fluxengine ls apple2 --appledos -f image.flux
```
In addition, some third-party systems use 80-track double sides drives, with
the same underlying disk format. These are supported with the `appleii640`
profile. The complication here is that the AppleDOS filesystem only supports up
the same underlying disk format. The full list of formats supported is:
- `--140` 35-track single-sided (the normal Apple II format)
- `--640` 80-track double-sided
`--140` is the default.
The complication here is that the AppleDOS filesystem only supports up
to 50 tracks, so it needs tweaking to support larger disks. It treats the
second side of the disk as a completely different volume. To access these
files, use `--appledos --side1`.
files, use `--640 --appledos --side1`.
[^1]: CP/M disks use the ProDOS translation for the first three tracks and a
different translation for all the tracks thereafter.
@@ -65,12 +72,12 @@ Reading discs
Just do:
```
fluxengine read appleii140
fluxengine read apple2
```
(or `appleii640`)
(or `apple2 --640`)
You should end up with an `appleii140.img` which is 143360 bytes long. It will
You should end up with an `apple2.img` which is 143360 bytes long. It will
be in physical sector ordering if you don't specify a file system format as
described above.
@@ -79,7 +86,7 @@ Writing discs
Just do:
```
fluxengine write appleii140 -i appleii140.img
fluxengine write apple2 -i apple2.img
```
The image will be expected to be in physical sector ordering if you don't

View File

@@ -1,10 +1,5 @@
comment: 'Apple II generic settings'
is_extension: true
comment: 'Apple II family'
drive {
high_density: false
}
decoder {
apple2 {}
}
@@ -13,6 +8,66 @@ encoder {
apple2 {}
}
option_group {
comment: "Format variant"
option {
name: "140"
comment: '140kB 5.25" 35-track SS'
set_by_default: true
config {
layout {
tracks: 35
sides: 1
layoutdata {
sector_size: 256
physical {
start_sector: 0
count: 16
}
}
}
tpi: 48
}
}
option {
name: "640"
comment: '640kB 5.25" 80-track DS'
config {
layout {
tracks: 80
sides: 2
order: HCS
layoutdata {
sector_size: 256
physical {
start_sector: 0
count: 16
}
}
}
tpi: 96
}
}
}
option {
name: "side1"
comment: "for AppleDOS file system access, read the volume on side 1 of a disk"
config {
filesystem {
appledos {
filesystem_offset_sectors: 0x500
}
}
}
}
option_group {
comment: "Filesystem and sector skew"

View File

@@ -1,27 +0,0 @@
comment: 'Apple II 140kB 5.25" 35 track SSDD'
include: '_apple2'
image_reader {
filename: "appleii140.img"
type: IMG
}
image_writer {
filename: "appleii140.img"
type: IMG
}
layout {
tracks: 35
sides: 1
layoutdata {
sector_size: 256
physical {
start_sector: 0
count: 16
}
}
}
tpi: 48

View File

@@ -1,42 +0,0 @@
comment: 'Apple II 640kB 5.25" 80 track DSDD'
include: '_apple2'
image_reader {
filename: "appleii640.img"
type: IMG
}
image_writer {
filename: "appleii640.img"
type: IMG
}
layout {
tracks: 80
sides: 2
order: HCS
layoutdata {
sector_size: 256
physical {
start_sector: 0
count: 16
}
}
}
tpi: 96
option {
name: "side1"
comment: "read the volume on side 1 of a disk (AppleDOS only)"
message: "accessing volume on side 1"
config {
filesystem {
appledos {
filesystem_offset_sectors: 0x500
}
}
}
}

View File

@@ -1,5 +1,4 @@
FORMATS = \
_apple2 \
_atari \
_mx \
40track_drive \
@@ -11,8 +10,7 @@ FORMATS = \
ampro400 \
ampro800 \
apple2_drive \
appleii140 \
appleii640 \
apple2 \
atarist \
bk800 \
brother120 \