From b4489b9402807fbee635dd5af5376affdf093844 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 23 Feb 2022 17:21:16 -0600 Subject: [PATCH 1/5] Add support for PDP-11 RX-50 disks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to my source [https://www.cbmstuff.com/forum/showthread.php?tid=634] the format of RX-50 is * single sided * 80 tracks * 10 sectors per track * 96 tpi (tracks per inch) * 300 rpm (revolutions per minute) * 250 KHz data rate I have a disk labeled ``` BL-T540E-MC CZUFDE0 MICRO PDP-11 USER TESTS © 1983, 1894 DIGITAL EQUIPMENT CORP. ``` and stamped 14131. The image read all sectors and the content looks plausible. `strings` on it says things like ``` $ strings rx50.img | grep -i pdp ; This file implements the USER FRIENDLY Diagnostic for the MICRO PDP11 & 11/73 ``` however, I don't have an emulator or other system to use the disk image with so I can't 100% vouch for the image being complete and correct. --- mkninja.sh | 1 + src/formats/rx50.textpb | 76 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 src/formats/rx50.textpb diff --git a/mkninja.sh b/mkninja.sh index 85b17399..d02d06bb 100644 --- a/mkninja.sh +++ b/mkninja.sh @@ -530,6 +530,7 @@ FORMATS="\ northstar87 \ tids990 \ vgi \ + rx50 \ victor9k_ss \ victor9k_ds \ zilogmcz \ diff --git a/src/formats/rx50.textpb b/src/formats/rx50.textpb new file mode 100644 index 00000000..e889eb36 --- /dev/null +++ b/src/formats/rx50.textpb @@ -0,0 +1,76 @@ +comment: 'RX50 450kB 5.25" 80-track 10-sector SSHD' + +flux_sink { + drive { + high_density: true + } +} + +flux_source { + drive { + high_density: true + } +} + +image_reader { + filename: "ibm1200_525.img" + img { + tracks: 80 + sides: 2 + trackdata { + sector_size: 512 + sector_range { + start_sector: 1 + sector_count: 10 + } + } + } +} + +image_writer { + filename: "ibm1200_525.img" + img {} +} + +encoder { + ibm { + trackdata { + track_length_ms: 167 + clock_rate_khz: 500 + sectors { + sector: 1 + sector: 2 + sector: 3 + sector: 4 + sector: 5 + sector: 6 + sector: 7 + sector: 8 + sector: 9 + sector: 10 + } + } + } +} + +decoder { + ibm { + trackdata { + sector_range { + min_sector: 1 + max_sector: 10 + } + } + } +} + +cylinders { + start: 0 + end: 79 +} + +heads { + start: 0 + end: 0 +} + From edf9f9e714e60f12628eee43879dccd0a00028fc Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sat, 26 Feb 2022 12:06:08 -0600 Subject: [PATCH 2/5] Implement review suggestions --- doc/disk-ibm.md | 1 + src/formats/rx50.textpb | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/disk-ibm.md b/doc/disk-ibm.md index 188dd8df..fb768c37 100644 --- a/doc/disk-ibm.md +++ b/doc/disk-ibm.md @@ -18,6 +18,7 @@ metadata. Systems which use IBM scheme disks include but are not limited to: - NEC PC-98 series - Sharp X68000 - Fujitsu FM Towns + - VAX & PDP-11 - etc FluxEngine supports reading these. However, some variants are more peculiar diff --git a/src/formats/rx50.textpb b/src/formats/rx50.textpb index e889eb36..d5167a3f 100644 --- a/src/formats/rx50.textpb +++ b/src/formats/rx50.textpb @@ -1,4 +1,4 @@ -comment: 'RX50 450kB 5.25" 80-track 10-sector SSHD' +comment: 'Digital RX50 400kB 5.25" 80-track 10-sector SSHD' flux_sink { drive { @@ -13,7 +13,7 @@ flux_source { } image_reader { - filename: "ibm1200_525.img" + filename: "rx50.img" img { tracks: 80 sides: 2 @@ -28,7 +28,7 @@ image_reader { } image_writer { - filename: "ibm1200_525.img" + filename: "rx50.img" img {} } From 9ae3f7e61d243a98e70121665335ad3a0598023c Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sat, 26 Feb 2022 15:41:14 -0600 Subject: [PATCH 3/5] Correct description of media type --- src/formats/rx50.textpb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/formats/rx50.textpb b/src/formats/rx50.textpb index d5167a3f..0fbe8b5e 100644 --- a/src/formats/rx50.textpb +++ b/src/formats/rx50.textpb @@ -1,4 +1,4 @@ -comment: 'Digital RX50 400kB 5.25" 80-track 10-sector SSHD' +comment: 'Digital RX50 400kB 5.25" 80-track 10-sector SSQD' flux_sink { drive { From ed1012bf071f7b3e2b4683b6f8bd3d6c4687c29e Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sun, 27 Feb 2022 10:47:22 -0600 Subject: [PATCH 4/5] Fix rx50 format description & test it gap3 follows https://github.com/keirf/flashfloppy/blob/f10f52ded8b6af735ad0c23ce6242b970a1a7714/src/image/img.c#L135 --- mkninja.sh | 1 + src/formats/rx50.textpb | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mkninja.sh b/mkninja.sh index d02d06bb..667ac831 100644 --- a/mkninja.sh +++ b/mkninja.sh @@ -650,6 +650,7 @@ encodedecodetest ibm720_525 encodedecodetest mac400 scripts/mac400_test.textpb encodedecodetest mac800 scripts/mac800_test.textpb encodedecodetest n88basic +encodedecodetest rx50 encodedecodetest tids990 encodedecodetest victor9k_ss encodedecodetest victor9k_ds diff --git a/src/formats/rx50.textpb b/src/formats/rx50.textpb index 0fbe8b5e..7ca1ac00 100644 --- a/src/formats/rx50.textpb +++ b/src/formats/rx50.textpb @@ -16,7 +16,7 @@ image_reader { filename: "rx50.img" img { tracks: 80 - sides: 2 + sides: 1 trackdata { sector_size: 512 sector_range { @@ -36,7 +36,8 @@ encoder { ibm { trackdata { track_length_ms: 167 - clock_rate_khz: 500 + clock_rate_khz: 300 + gap3: 30 sectors { sector: 1 sector: 2 From 707308b4904d619361f8fad984e3f7aa32941ffa Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sun, 27 Feb 2022 10:47:33 -0600 Subject: [PATCH 5/5] Fix alphetization of format list --- mkninja.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkninja.sh b/mkninja.sh index 667ac831..cff4e091 100644 --- a/mkninja.sh +++ b/mkninja.sh @@ -528,9 +528,9 @@ FORMATS="\ northstar175 \ northstar350 \ northstar87 \ + rx50 \ tids990 \ vgi \ - rx50 \ victor9k_ss \ victor9k_ds \ zilogmcz \