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,agat840)
$(call do-encodedecodetest,amiga) $(call do-encodedecodetest,amiga)
$(call do-encodedecodetest,appleii140) $(call do-encodedecodetest,appleii140)
$(call do-encodedecodetest,atarist360) $(call do-encodedecodetest,atarist,,--360)
$(call do-encodedecodetest,atarist370) $(call do-encodedecodetest,atarist,,--370)
$(call do-encodedecodetest,atarist400) $(call do-encodedecodetest,atarist,,--400)
$(call do-encodedecodetest,atarist410) $(call do-encodedecodetest,atarist,,--410)
$(call do-encodedecodetest,atarist720) $(call do-encodedecodetest,atarist,,--720)
$(call do-encodedecodetest,atarist740) $(call do-encodedecodetest,atarist,,--740)
$(call do-encodedecodetest,atarist800) $(call do-encodedecodetest,atarist,,--800)
$(call do-encodedecodetest,atarist820) $(call do-encodedecodetest,atarist,,--820)
$(call do-encodedecodetest,bk800) $(call do-encodedecodetest,bk800)
$(call do-encodedecodetest,brother120) $(call do-encodedecodetest,brother120)
$(call do-encodedecodetest,brother240) $(call do-encodedecodetest,brother240)

View File

@@ -33,29 +33,29 @@ FluxEngine can also write Atari ST scheme disks.
The syntax is: The syntax is:
fluxengine write <format> -i input.st fluxengine write atarist -i input.st <format>
Available formats Available formats
----------------- -----------------
`<format>` can be one of these: `<format>` can be one of these:
- `atarist360`: a 360kB 3.5" disk, with 80 cylinders, 1 side, and 9 sectors - `--360`: a 360kB 3.5" disk, with 80 cylinders, 1 side, and 9 sectors per
per track. track.
- `atarist370`: a 370kB 3.5" disk, with 82 cylinders, 1 side, and 9 sectors - `--370`: a 370kB 3.5" disk, with 82 cylinders, 1 side, and 9 sectors per
per track. track.
- `atarist400`: a 400kB 3.5" disk, with 80 cylinders, 1 side, and 10 sectors - `--400`: a 400kB 3.5" disk, with 80 cylinders, 1 side, and 10 sectors per
per track. track.
- `atarist410`: a 410kB 3.5" disk, with 82 cylinders, 1 side, and 10 sectors - `--410`: a 410kB 3.5" disk, with 82 cylinders, 1 side, and 10 sectors per
per track. track.
- `atarist720`: a 720kB 3.5" disk, with 80 cylinders, 2 sides, and 9 sectors - `--720`: a 720kB 3.5" disk, with 80 cylinders, 2 sides, and 9 sectors per
per track. track.
- `atarist740`: a 740kB 3.5" disk, with 82 cylinders, 2 sides, and 9 sectors - `--740`: a 740kB 3.5" disk, with 82 cylinders, 2 sides, and 9 sectors per
per track. track.
- `atarist800`: a 800kB 3.5" disk, with 80 cylinders, 2 sides, and 10 sectors - `--800`: a 800kB 3.5" disk, with 80 cylinders, 2 sides, and 10 sectors per
per track. track.
- `atarist820`: a 820kB 3.5" disk, with 82 cylinders, 2 sides, and 10 sectors - `--820`: a 820kB 3.5" disk, with 82 cylinders, 2 sides, and 10 sectors per
per track. track.
See [the IBM format documentation](disk-ibm.md) for more information. Note that 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. 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 \ apple2_drive \
appleii140 \ appleii140 \
appleii640 \ appleii640 \
atarist360 \ atarist \
atarist370 \
atarist400 \
atarist410 \
atarist720 \
atarist740 \
atarist800 \
atarist820 \
bk800 \ bk800 \
brother120 \ brother120 \
brother240 \ brother240 \