Consolidate all the Atari ST formats together.

This commit is contained in:
dg
2023-05-05 20:15:47 +00:00
parent 137b921e8d
commit 9cb284583b
13 changed files with 205 additions and 258 deletions

View File

@@ -178,14 +178,14 @@ endef
$(call do-encodedecodetest,agat840)
$(call do-encodedecodetest,amiga)
$(call do-encodedecodetest,appleii140)
$(call do-encodedecodetest,atarist360)
$(call do-encodedecodetest,atarist370)
$(call do-encodedecodetest,atarist400)
$(call do-encodedecodetest,atarist410)
$(call do-encodedecodetest,atarist720)
$(call do-encodedecodetest,atarist740)
$(call do-encodedecodetest,atarist800)
$(call do-encodedecodetest,atarist820)
$(call do-encodedecodetest,atarist,,--360)
$(call do-encodedecodetest,atarist,,--370)
$(call do-encodedecodetest,atarist,,--400)
$(call do-encodedecodetest,atarist,,--410)
$(call do-encodedecodetest,atarist,,--720)
$(call do-encodedecodetest,atarist,,--740)
$(call do-encodedecodetest,atarist,,--800)
$(call do-encodedecodetest,atarist,,--820)
$(call do-encodedecodetest,bk800)
$(call do-encodedecodetest,brother120)
$(call do-encodedecodetest,brother240)

View File

@@ -33,29 +33,29 @@ FluxEngine can also write Atari ST scheme disks.
The syntax is:
fluxengine write <format> -i input.st
fluxengine write atarist -i input.st <format>
Available formats
-----------------
`<format>` can be one of these:
- `atarist360`: a 360kB 3.5" disk, with 80 cylinders, 1 side, and 9 sectors
per track.
- `atarist370`: a 370kB 3.5" disk, with 82 cylinders, 1 side, and 9 sectors
per track.
- `atarist400`: a 400kB 3.5" disk, with 80 cylinders, 1 side, and 10 sectors
per track.
- `atarist410`: a 410kB 3.5" disk, with 82 cylinders, 1 side, and 10 sectors
per track.
- `atarist720`: a 720kB 3.5" disk, with 80 cylinders, 2 sides, and 9 sectors
per track.
- `atarist740`: a 740kB 3.5" disk, with 82 cylinders, 2 sides, and 9 sectors
per track.
- `atarist800`: a 800kB 3.5" disk, with 80 cylinders, 2 sides, and 10 sectors
per track.
- `atarist820`: a 820kB 3.5" disk, with 82 cylinders, 2 sides, and 10 sectors
per track.
- `--360`: a 360kB 3.5" disk, with 80 cylinders, 1 side, and 9 sectors per
track.
- `--370`: a 370kB 3.5" disk, with 82 cylinders, 1 side, and 9 sectors per
track.
- `--400`: a 400kB 3.5" disk, with 80 cylinders, 1 side, and 10 sectors per
track.
- `--410`: a 410kB 3.5" disk, with 82 cylinders, 1 side, and 10 sectors per
track.
- `--720`: a 720kB 3.5" disk, with 80 cylinders, 2 sides, and 9 sectors per
track.
- `--740`: a 740kB 3.5" disk, with 82 cylinders, 2 sides, and 9 sectors per
track.
- `--800`: a 800kB 3.5" disk, with 80 cylinders, 2 sides, and 10 sectors per
track.
- `--820`: a 820kB 3.5" disk, with 82 cylinders, 2 sides, and 10 sectors per
track.
See [the IBM format documentation](disk-ibm.md) for more information. Note that
only some PC 3.5" floppy disk drives are capable of seeking to the 82nd track.

View File

@@ -1,23 +0,0 @@
comment: 'Common Atari definitions'
is_extension: true
encoder {
ibm {
trackdata {
target_rotational_period_ms: 200
target_clock_period_us: 4
emit_iam: false
gap0: 80
gap2: 22
gap3: 34
}
}
}
decoder {
ibm {
trackdata {
ignore_sector: 66
}
}
}

179
src/formats/atarist.textpb Normal file
View File

@@ -0,0 +1,179 @@
comment: 'Atari ST family'
encoder {
ibm {
trackdata {
target_rotational_period_ms: 200
target_clock_period_us: 4
emit_iam: false
gap0: 80
gap2: 22
gap3: 34
}
}
}
decoder {
ibm {
trackdata {
ignore_sector: 66
}
}
}
option_group {
comment: "Format variant"
option {
name: "360"
comment: '360kB 3.5" 80-track 9-sector SSDD'
config {
layout {
tracks: 80
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}
}
}
option {
name: "370"
comment: '370kB 3.5" 82-track 9-sector SSDD'
config {
layout {
tracks: 82
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}
}
}
option {
name: "400"
comment: '400kB 3.5" 80-track 10-sector SSDD'
config {
layout {
tracks: 80
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 10
}
}
}
}
}
option {
name: "410"
comment: '410kB 3.5" 82-track 10-sector SSDD'
config {
layout {
tracks: 82
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 10
}
}
}
}
}
option {
name: "720"
comment: '720kB 3.5" 80-track 9-sector DSDD'
config {
layout {
tracks: 80
sides: 2
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}
}
}
option {
name: "740"
comment: '740kB 3.5" 82-track 9-sector DSDD'
config {
layout {
tracks: 82
sides: 2
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}
}
}
option {
name: "800"
comment: '800kB 3.5" 80-track 10-sector DSDD'
config {
layout {
tracks: 80
sides: 2
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 10
}
}
}
}
}
option {
name: "820"
comment: '820kB 3.5" 82-track 10-sector DSDD'
config {
layout {
tracks: 82
sides: 2
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 10
}
}
}
}
}
}

View File

@@ -1,25 +0,0 @@
comment: 'Atari ST 360kB 3.5" 80-track 9-sector SSDD'
include: '_atari'
image_reader {
filename: "atarist360.st"
type: IMG
}
image_writer {
filename: "atarist360.st"
type: IMG
}
layout {
tracks: 80
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}

View File

@@ -1,25 +0,0 @@
comment: 'Atari ST 370kB 3.5" 82-track 9-sector SSDD'
include: '_atari'
image_reader {
filename: "atarist370.st"
type: IMG
}
image_writer {
filename: "atarist370.st"
type: IMG
}
layout {
tracks: 82
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}

View File

@@ -1,25 +0,0 @@
comment: 'Atari ST 400kB 3.5" 80-track 10-sector SSDD'
include: '_atari'
image_reader {
filename: "atarist400.st"
type: IMG
}
image_writer {
filename: "atarist400.st"
type: IMG
}
layout {
tracks: 80
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 10
}
}
}

View File

@@ -1,25 +0,0 @@
comment: 'Atari ST 410kB 3.5" 82-track 10-sector SSDD'
include: '_atari'
image_reader {
filename: "atarist410.st"
type: IMG
}
image_writer {
filename: "atarist410.st"
type: IMG
}
layout {
tracks: 82
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 10
}
}
}

View File

@@ -1,25 +0,0 @@
comment: 'Atari ST 720kB 3.5" 80-track 9-sector DSDD'
include: '_atari'
image_reader {
filename: "atarist720.st"
type: IMG
}
image_writer {
filename: "atarist720.st"
type: IMG
}
layout {
tracks: 80
sides: 2
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}

View File

@@ -1,25 +0,0 @@
comment: 'Atari ST 740kB 3.5" 82-track 9-sector DSDD'
include: '_atari'
image_reader {
filename: "atarist740.st"
type: IMG
}
image_writer {
filename: "atarist740.st"
type: IMG
}
layout {
tracks: 82
sides: 2
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}

View File

@@ -1,26 +0,0 @@
comment: 'Atari ST 800kB 3.5" 80-track 10-sector DSDD'
include: '_atari'
image_reader {
filename: "atarist800.st"
type: IMG
}
image_writer {
filename: "atarist800.st"
type: IMG
}
layout {
tracks: 80
sides: 2
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 10
}
}
}

View File

@@ -1,26 +0,0 @@
comment: 'Atari ST 820kB 3.5" 82-track 10-sector DSDD'
include: '_atari'
image_reader {
filename: "atarist820.st"
type: IMG
}
image_writer {
filename: "atarist820.st"
type: IMG
}
layout {
tracks: 82
sides: 2
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 10
}
}
}

View File

@@ -15,14 +15,7 @@ FORMATS = \
apple2_drive \
appleii140 \
appleii640 \
atarist360 \
atarist370 \
atarist400 \
atarist410 \
atarist720 \
atarist740 \
atarist800 \
atarist820 \
atarist \
bk800 \
brother120 \
brother240 \