Skip to content

Commit f2c6487

Browse files
committed
Add test-only TRS-80 formats.
1 parent 4cece77 commit f2c6487

File tree

5 files changed

+153
-0
lines changed

5 files changed

+153
-0
lines changed

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,10 @@ $(call do-encodedecodetest,mac800,scripts/mac800_test.textpb)
196196
$(call do-encodedecodetest,n88basic)
197197
$(call do-encodedecodetest,rx50)
198198
$(call do-encodedecodetest,tids990)
199+
$(call do-encodedecodetest,trs80_88,,--35)
200+
$(call do-encodedecodetest,trs80_88,,--40)
201+
$(call do-encodedecodetest,trs80_175,,--35)
202+
$(call do-encodedecodetest,trs80_175,,--40)
199203
$(call do-encodedecodetest,victor9k_ss)
200204
$(call do-encodedecodetest,victor9k_ds)
201205

scripts/encodedecodetest.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ trap "rm -f $srcfile $fluxfile $destfile" EXIT
1515

1616
dd if=/dev/urandom of=$srcfile bs=1048576 count=2 2>&1
1717

18+
echo $fluxengine write $format -i $srcfile -d $fluxfile --drive.rotational_period_ms=200 "$@"
1819
$fluxengine write $format -i $srcfile -d $fluxfile --drive.rotational_period_ms=200 "$@"
20+
echo $fluxengine read $format -s $fluxfile -o $destfile --drive.rotational_period_ms=200 "$@"
1921
$fluxengine read $format -s $fluxfile -o $destfile --drive.rotational_period_ms=200 "$@"
2022
if [ ! -s $destfile ]; then
2123
echo "Zero length output file!" >&2

src/formats/build.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ FORMATS = \
6363
rx50 \
6464
shugart_drive \
6565
tids990 \
66+
trs80_88 \
67+
trs80_175 \
6668
victor9k_ds \
6769
victor9k_ss \
6870
zilogmcz \

src/formats/trs80_175.textpb

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
comment: 'TRS-80 175kB 5.25" 35-track 10-sector SSDD'
2+
3+
image_reader {
4+
filename: "trs80-175.img"
5+
img {}
6+
}
7+
8+
image_writer {
9+
filename: "trs80-175.img"
10+
img {}
11+
}
12+
13+
layout {
14+
tracks: 35
15+
sides: 1
16+
layoutdata {
17+
sector_size: 512
18+
physical {
19+
start_sector: 0
20+
count: 10
21+
}
22+
}
23+
}
24+
25+
encoder {
26+
ibm {
27+
trackdata {
28+
target_rotational_period_ms: 167
29+
target_clock_period_us: 3.333
30+
emit_iam: false
31+
gap0: 80
32+
gap2: 22
33+
gap3: 34
34+
}
35+
trackdata {
36+
track: 17
37+
dam_byte: 0xf56e
38+
}
39+
}
40+
}
41+
42+
decoder {
43+
ibm {}
44+
}
45+
46+
tpi: 48
47+
48+
option {
49+
name: "35"
50+
comment: "35-track variant (default)"
51+
message: "using 35-track variant"
52+
53+
config {
54+
layout {
55+
tracks: 35
56+
}
57+
}
58+
}
59+
60+
option {
61+
name: "40"
62+
comment: "40-track variant"
63+
message: "using 40-track variant"
64+
65+
config {
66+
layout {
67+
tracks: 40
68+
}
69+
}
70+
}
71+

src/formats/trs80_88.textpb

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
comment: 'TRS-80 88kB 5.25" 35-track 10-sector SSSD'
2+
3+
image_reader {
4+
filename: "trs80-88.img"
5+
img {}
6+
}
7+
8+
image_writer {
9+
filename: "trs80-88.img"
10+
img {}
11+
}
12+
13+
layout {
14+
tracks: 35
15+
sides: 1
16+
layoutdata {
17+
sector_size: 256
18+
physical {
19+
start_sector: 0
20+
count: 10
21+
}
22+
}
23+
}
24+
25+
encoder {
26+
ibm {
27+
trackdata {
28+
target_rotational_period_ms: 167
29+
target_clock_period_us: 3.333
30+
emit_iam: false
31+
use_fm: true
32+
gap0: 0x10
33+
gap2: 0x09
34+
gap3: 0x10
35+
idam_byte: 0xf57e
36+
dam_byte: 0xf56f
37+
gap_fill_byte: 0xffff
38+
}
39+
trackdata {
40+
track: 17
41+
}
42+
}
43+
}
44+
45+
decoder {
46+
ibm {}
47+
}
48+
49+
tpi: 48
50+
51+
option {
52+
name: "35"
53+
comment: "35-track variant (default)"
54+
message: "using 35-track variant"
55+
56+
config {
57+
layout {
58+
tracks: 35
59+
}
60+
}
61+
}
62+
63+
option {
64+
name: "40"
65+
comment: "40-track variant"
66+
message: "using 40-track variant"
67+
68+
config {
69+
layout {
70+
tracks: 40
71+
}
72+
}
73+
}
74+

0 commit comments

Comments
 (0)