mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-24 11:11:02 -07:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f2c6487d49 | ||
|
|
4cece77bff |
4
Makefile
4
Makefile
@@ -196,6 +196,10 @@ $(call do-encodedecodetest,mac800,scripts/mac800_test.textpb)
|
||||
$(call do-encodedecodetest,n88basic)
|
||||
$(call do-encodedecodetest,rx50)
|
||||
$(call do-encodedecodetest,tids990)
|
||||
$(call do-encodedecodetest,trs80_88,,--35)
|
||||
$(call do-encodedecodetest,trs80_88,,--40)
|
||||
$(call do-encodedecodetest,trs80_175,,--35)
|
||||
$(call do-encodedecodetest,trs80_175,,--40)
|
||||
$(call do-encodedecodetest,victor9k_ss)
|
||||
$(call do-encodedecodetest,victor9k_ds)
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "fluxsource/fluxsource.h"
|
||||
#include "scp.h"
|
||||
#include "proto.h"
|
||||
#include "lib/logger.h"
|
||||
#include "fmt/format.h"
|
||||
#include <fstream>
|
||||
|
||||
@@ -49,9 +50,9 @@ public:
|
||||
if ((_header.cell_width != 0) && (_header.cell_width != 16))
|
||||
Error() << "currently only 16-bit cells in SCP files are supported";
|
||||
|
||||
std::cout << fmt::format("SCP tracks {}-{}, heads {}-{}\n",
|
||||
Logger() << fmt::format("SCP: tracks {}-{}, heads {}-{}",
|
||||
trackno(_header.start_track), trackno(_header.end_track), startSide, endSide);
|
||||
std::cout << fmt::format("SCP sample resolution: {} ns\n", _resolution);
|
||||
Logger() << fmt::format("SCP sample resolution: {} ns\n", _resolution);
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
@@ -15,7 +15,9 @@ trap "rm -f $srcfile $fluxfile $destfile" EXIT
|
||||
|
||||
dd if=/dev/urandom of=$srcfile bs=1048576 count=2 2>&1
|
||||
|
||||
echo $fluxengine write $format -i $srcfile -d $fluxfile --drive.rotational_period_ms=200 "$@"
|
||||
$fluxengine write $format -i $srcfile -d $fluxfile --drive.rotational_period_ms=200 "$@"
|
||||
echo $fluxengine read $format -s $fluxfile -o $destfile --drive.rotational_period_ms=200 "$@"
|
||||
$fluxengine read $format -s $fluxfile -o $destfile --drive.rotational_period_ms=200 "$@"
|
||||
if [ ! -s $destfile ]; then
|
||||
echo "Zero length output file!" >&2
|
||||
|
||||
@@ -63,6 +63,8 @@ FORMATS = \
|
||||
rx50 \
|
||||
shugart_drive \
|
||||
tids990 \
|
||||
trs80_88 \
|
||||
trs80_175 \
|
||||
victor9k_ds \
|
||||
victor9k_ss \
|
||||
zilogmcz \
|
||||
|
||||
71
src/formats/trs80_175.textpb
Normal file
71
src/formats/trs80_175.textpb
Normal file
@@ -0,0 +1,71 @@
|
||||
comment: 'TRS-80 175kB 5.25" 35-track 10-sector SSDD'
|
||||
|
||||
image_reader {
|
||||
filename: "trs80-175.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
image_writer {
|
||||
filename: "trs80-175.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
layout {
|
||||
tracks: 35
|
||||
sides: 1
|
||||
layoutdata {
|
||||
sector_size: 512
|
||||
physical {
|
||||
start_sector: 0
|
||||
count: 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
encoder {
|
||||
ibm {
|
||||
trackdata {
|
||||
target_rotational_period_ms: 167
|
||||
target_clock_period_us: 3.333
|
||||
emit_iam: false
|
||||
gap0: 80
|
||||
gap2: 22
|
||||
gap3: 34
|
||||
}
|
||||
trackdata {
|
||||
track: 17
|
||||
dam_byte: 0xf56e
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
decoder {
|
||||
ibm {}
|
||||
}
|
||||
|
||||
tpi: 48
|
||||
|
||||
option {
|
||||
name: "35"
|
||||
comment: "35-track variant (default)"
|
||||
message: "using 35-track variant"
|
||||
|
||||
config {
|
||||
layout {
|
||||
tracks: 35
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option {
|
||||
name: "40"
|
||||
comment: "40-track variant"
|
||||
message: "using 40-track variant"
|
||||
|
||||
config {
|
||||
layout {
|
||||
tracks: 40
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
74
src/formats/trs80_88.textpb
Normal file
74
src/formats/trs80_88.textpb
Normal file
@@ -0,0 +1,74 @@
|
||||
comment: 'TRS-80 88kB 5.25" 35-track 10-sector SSSD'
|
||||
|
||||
image_reader {
|
||||
filename: "trs80-88.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
image_writer {
|
||||
filename: "trs80-88.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
layout {
|
||||
tracks: 35
|
||||
sides: 1
|
||||
layoutdata {
|
||||
sector_size: 256
|
||||
physical {
|
||||
start_sector: 0
|
||||
count: 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
encoder {
|
||||
ibm {
|
||||
trackdata {
|
||||
target_rotational_period_ms: 167
|
||||
target_clock_period_us: 3.333
|
||||
emit_iam: false
|
||||
use_fm: true
|
||||
gap0: 0x10
|
||||
gap2: 0x09
|
||||
gap3: 0x10
|
||||
idam_byte: 0xf57e
|
||||
dam_byte: 0xf56f
|
||||
gap_fill_byte: 0xffff
|
||||
}
|
||||
trackdata {
|
||||
track: 17
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
decoder {
|
||||
ibm {}
|
||||
}
|
||||
|
||||
tpi: 48
|
||||
|
||||
option {
|
||||
name: "35"
|
||||
comment: "35-track variant (default)"
|
||||
message: "using 35-track variant"
|
||||
|
||||
config {
|
||||
layout {
|
||||
tracks: 35
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option {
|
||||
name: "40"
|
||||
comment: "40-track variant"
|
||||
message: "using 40-track variant"
|
||||
|
||||
config {
|
||||
layout {
|
||||
tracks: 40
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user