bkw777 / pdd.sh

TPDD client implemented in bash
GNU General Public License v3.0
23 stars 1 forks source link

restore-disk not working #8

Open bkw777 opened 1 month ago

bkw777 commented 1 month ago

Some problem with restore-disk, moved from discussion https://github.com/bkw777/pdd.sh/discussions/6

Moved to an issue because the drive and serial connection seems ok and file transfers work, only restore-disk fails.

bkw777 commented 1 month ago

From @chrisoliphant : Have 26-3808 running on Xubuntu 24.04 on an old Latitude E6410 and while I can format (apparently) and save individual files, the RD function fails after format in both FDC and operating mode. Tried a hail mary in WSL but same outcome, WSL also seemed to work for other operations but not RD.

Tried PCMCIA serial as well as USB serial, but the same error message writing any PDD1 disk image. After format I can get directory (empty) no problem. Drop a file on the disk, get DIR no problem, but am trying to make a utility disk since I got just a bare drive and an arcadeshopper cable which both seem to work fine.

After formatting completes Writing disk 1% 1/80 LS:1/5 rd: ocmd_read_ret: INVALID RESPONSE Corrupt Response 0xC1 Invalid Command err: 193 dat:0

Being a Linux newb I don't have any other boxes to try this on, but am out of troubleshooting ideas.

* EDIT Trying other operations I get the same error using disk dump after formating the 720k disk in the same PDD session. Also tried formatting in PDD, exiting, ejecting, turning the drive off, back on, fire it back up, disk in, PDD and then disk dump and same error. Like it can't read, or it can ready the directory table or whatever FM uses, but isn't really reading.

bkw777 commented 1 month ago

From @chrisoliphant : Thank you for the very prompt response. I am on my last 720k disk but have another box coming. Tested this one by formatting in DOS and then wrote a large file to it and read it back. Disk was fine in DOS. I pulled the cover off the drive and see it stepping when formatting in PDD. As it formats, I get all the tpdd_check() responses, but just clipped it down for readability. I also tried the other PPD1 image and it similarly fails with the error. First time really using Linux and first time with github, so please excuse any faux pas. :)

chrisoliphant@linsta-4:~/pdd.sh$ pdd
PDD(-:6.2,F)> ready
Not Ready

ready:
Disk Change Error
PDD(opr:6.2,F)> ready
Ready
PDD(opr:6.2,F)> v 3
Verbose level: 3
PDD(opr:6.2,F)> rd '/home/chrisoliphant/pdd.sh/disk_images/TPDD1_26-3808_Utility_Disk.pdd1' 
do_cmd(rd '/home/chrisoliphant/pdd.sh/disk_images/TPDD1_26-3808_Utility_Disk.pdd1')
open_com()
pdd1_restore_disk(/home/chrisoliphant/pdd.sh/disk_images/TPDD1_26-3808_Utility_Disk.pdd1)
Restoring Disk from File: "/home/chrisoliphant/pdd.sh/disk_images/TPDD1_26-3808_Utility_Disk.pdd1"
Loading "/home/chrisoliphant/pdd.sh/disk_images/TPDD1_26-3808_Utility_Disk.pdd1"
file_to_fhex(/home/chrisoliphant/pdd.sh/disk_images/TPDD1_26-3808_Utility_Disk.pdd1 0)
103440 bytes
fcmd_format(6)
ocmd_fdc()
ocmd_send_req(08)
calc_cksum(08 00):F7
ocmd_send_req: fmt="08" len="00" dat="" chk="F7"
tpdd_write(5A 5A 08 00 F7)
SENT: 5A 5A 08 00 F7
tpdd_check()
tpdd_drain()
tpdd_check()
Formatting Disk, TPDD1 "FDC" mode, 1280-Byte Logical Sectors
: Are you sure? (y/N) y
str_to_shex(F6)
shex[] 46 36
tpdd_write(46 36 0D)
SENT: 46 36 0D
fcmd_read_ret(105000 2)
tpdd_read(8 105000 2)
tpdd_wait(105000 2)
tpdd_check()
tpdd_check()
.
. 
{clipped for convenience}
.
.
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()

RCVD: 30 30 34 46 30 35 30 30
fcmd_read_ret: 004F0500
fcmd_read_ret: err:0="OK" dat:79 len:1280
Writing Disk
fcmd_write_id(0 FF 00 00 00 00 00 00 00 00 00 00 00)
str_to_shex(B0)
shex[] 42 30
tpdd_write(42 30 0D)
SENT: 42 30 0D
fcmd_read_ret()
tpdd_read(8)
tpdd_wait()
tpdd_check()
tpdd_check()
RCVD: 43 31 30 30 30 30 30 30
fcmd_read_ret: C1000000
fcmd_read_ret: err:193="0xC1 Invalid Command" dat:0 len:0

rd:
0xC1 Invalid Command
err:193 dat:0
fonzie_smack()
tpdd_drain()
tpdd_check()
tpdd_write(4D 31 0D)
SENT: 4D 31 0D
tpdd_drain()
tpdd_check()
tpdd_drain()
tpdd_check()
PDD(opr:6.2,F)> ^C
chrisoliphant@linsta-4:~/pdd.sh$
bkw777 commented 1 month ago

From @chrisoliphant :

The drive does have a new belt. I ordered up a null modem cable and will give it a shot, but it looks like REX classic is the best option anyway. I really think the drive and serial are working as I made a small text file in nano, used the PDD save command to write it to the disk. It appeared in a directory listing and was able to use load to copy it back to the host. It seems everything is working fine except for disk dump and restore disk.

BTW, here is a verbose level 3 output of a disk dump attempt that fails followed in the next code block by a successful copy of a file from the disk to the host.

chrisoliphant@linsta-4:~/pdd.sh$ pdd
PDD(-:6.2,F)> verbose 3
Verbose level: 3
PDD(-:6.2,F)> ready
do_cmd(ready)
open_com()
get_tpdd_port()
set_stty()
speed 19200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 1;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc
_init()
fonzie_smack()
tpdd_drain()
tpdd_check()
tpdd_write(4D 31 0D)
SENT: 4D 31 0D
tpdd_drain()
tpdd_check()
pdd2_version()
ocmd_send_req(23)
calc_cksum(23 00):DC
ocmd_send_req: fmt="23" len="00" dat="" chk="DC"
tpdd_write(5A 5A 23 00 DC)
SENT: 5A 5A 23 00 DC
ocmd_read_ret(100)
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2 100)
tpdd_wait(100)
tpdd_check()
tpdd_check()

System Version
---------------------------------------------------
System Version:    0
Sides:             0
Tracks:            0
Sector Length:     0
Sectors per Track: 0
Directory Entries: 0
Max Open Files:    1
Model:             Unknown Model Code "0"
reserved 0:        0
reserved 1:        0
reserved 2:        0

Detected TPDD1
ocmd_ready()
ocmd_send_req(07)
calc_cksum(07 00):F8
ocmd_send_req: fmt="07" len="00" dat="" chk="F8"
tpdd_write(5A 5A 07 00 F8)
SENT: 5A 5A 07 00 F8
ocmd_read_ret()
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2)
tpdd_wait()
tpdd_check()
tpdd_check()
RCVD: 12 01
ocmd_read_ret: reading 2 bytes (data & checksum)
tpdd_read(2)
tpdd_wait()
tpdd_check()
RCVD: 00 EC
ocmd_read_ret: fmt=12 len=01 dat=(00) chk=EC
verify_checksum(12 01 00 EC)
calc_cksum(12 01 00):EC
verify_checksum: given:EC calc:EC
ocmd_check_err()
ocmd_check_err: ret_fmt=12 ret_len=01 ret_dat=(00) read_err="0"
ocmd_check_err: 0x00:OK
Ready
PDD(opr:6.2,F)> fdc
do_cmd(fdc)
open_com()
ocmd_fdc()
ocmd_send_req(08)
calc_cksum(08 00):F7
ocmd_send_req: fmt="08" len="00" dat="" chk="F7"
tpdd_write(5A 5A 08 00 F7)
SENT: 5A 5A 08 00 F7
tpdd_check()
tpdd_drain()
tpdd_check()
PDD(fdc:6.2,F)> dd
do_cmd(dd)
open_com()
pdd1_dump_disk()
fcmd_read_id(0)
str_to_shex(A0)
shex[] 41 30
tpdd_write(41 30 0D)
SENT: 41 30 0D
fcmd_read_ret()
tpdd_read(8)
tpdd_wait()
tpdd_check()
tpdd_check()
RCVD: 30 30 30 30 30 30 34 30
fcmd_read_ret: 00000040
fcmd_read_ret: err:0="OK" dat:0 len:64
tpdd_write(0D)
SENT: 0D
tpdd_read(12)
tpdd_wait()
tpdd_check()
tpdd_check()
RCVD: 44 30 30 30 30 30 30 30

dd:
tty read err:142
fonzie_smack()
tpdd_drain()
tpdd_check()
tpdd_write(4D 31 0D)
SENT: 4D 31 0D
tpdd_drain()
tpdd_check()
tpdd_drain()
tpdd_check()
PDD(opr:6.2,F)> 

Here is the successful read of a test file on the disk and saving to the host

chrisoliphant@linsta-4:~/pdd.sh$ pdd
PDD(-:6.2,F)> verbose 3
Verbose level: 3
PDD(-:6.2,F)> ready
do_cmd(ready)
open_com()
get_tpdd_port()
set_stty()
speed 19200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 1;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc
_init()
fonzie_smack()
tpdd_drain()
tpdd_check()
tpdd_write(4D 31 0D)
SENT: 4D 31 0D
tpdd_drain()
tpdd_check()
pdd2_version()
ocmd_send_req(23)
calc_cksum(23 00):DC
ocmd_send_req: fmt="23" len="00" dat="" chk="DC"
tpdd_write(5A 5A 23 00 DC)
SENT: 5A 5A 23 00 DC
ocmd_read_ret(100)
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2 100)
tpdd_wait(100)
tpdd_check()
tpdd_check()

System Version
---------------------------------------------------
System Version:    0
Sides:             0
Tracks:            0
Sector Length:     0
Sectors per Track: 0
Directory Entries: 0
Max Open Files:    1
Model:             Unknown Model Code "0"
reserved 0:        0
reserved 1:        0
reserved 2:        0

Detected TPDD1
ocmd_ready()
ocmd_send_req(07)
calc_cksum(07 00):F8
ocmd_send_req: fmt="07" len="00" dat="" chk="F8"
tpdd_write(5A 5A 07 00 F8)
SENT: 5A 5A 07 00 F8
ocmd_read_ret()
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2)
tpdd_wait()
tpdd_check()
tpdd_check()
RCVD: 12 01
ocmd_read_ret: reading 2 bytes (data & checksum)
tpdd_read(2)
tpdd_wait()
tpdd_check()
RCVD: 00 EC
ocmd_read_ret: fmt=12 len=01 dat=(00) chk=EC
verify_checksum(12 01 00 EC)
calc_cksum(12 01 00):EC
verify_checksum: given:EC calc:EC
ocmd_check_err()
ocmd_check_err: ret_fmt=12 ret_len=01 ret_dat=(00) read_err="0"
ocmd_check_err: 0x00:OK
Ready
PDD(opr:6.2,F)> load TEST.DO
do_cmd(load TEST.DO)
open_com()
lcmd_load(TEST.DO)
Loading TPDD:TEST.DO (F)
ocmd_dirent(TEST.DO F 0)
mk_tpdd_file_name(TEST.DO)
str_to_shex(TEST  .DO               )
shex[] 54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
ocmd_dirent: req: filename="TEST  .DO               " attr=0x46 action=0
ocmd_send_req(00 54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00)
calc_cksum(00 1A 54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00):7E
ocmd_send_req: fmt="00" len="1A" dat="54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00" chk="7E"
tpdd_write(5A 5A 00 1A 54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00 7E)
SENT: 5A 5A 00 1A 54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00 7E
ocmd_read_ret(10000)
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2 10000)
tpdd_wait(10000)
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
RCVD: 11 1C
ocmd_read_ret: reading 29 bytes (data & checksum)
tpdd_read(29)
tpdd_wait()
tpdd_check()
RCVD: 54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00 0E 4D 10
ocmd_read_ret: fmt=11 len=1C dat=(54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00 0E 4D) chk=10
verify_checksum(11 1C 54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00 0E 4D 10)
calc_cksum(11 1C 54 45 53 54 20 20 2E 44 4F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 00 0E 4D):10
verify_checksum: given:10 calc:10
ocmd_dirent: ret: filename="TEST  .DO               " attr=0x46 flen=14 free_sectors=0x4D
 to TEST.DO
ocmd_open(3)
ocmd_send_req(01 03)
calc_cksum(01 01 03):FA
ocmd_send_req: fmt="01" len="01" dat="03" chk="FA"
tpdd_write(5A 5A 01 01 03 FA)
SENT: 5A 5A 01 01 03 FA
ocmd_read_ret()
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2)
tpdd_wait()
tpdd_check()
tpdd_check()
tpdd_check()
tpdd_check()
RCVD: 12 01
ocmd_read_ret: reading 2 bytes (data & checksum)
tpdd_read(2)
tpdd_wait()
tpdd_check()
RCVD: 00 EC
ocmd_read_ret: fmt=12 len=01 dat=(00) chk=EC
verify_checksum(12 01 00 EC)
calc_cksum(12 01 00):EC
verify_checksum: given:EC calc:EC
ocmd_check_err()
ocmd_check_err: ret_fmt=12 ret_len=01 ret_dat=(00) read_err="0"
ocmd_check_err: 0x00:OK
ocmd_read()
ocmd_send_req(03)
calc_cksum(03 00):FC
ocmd_send_req: fmt="03" len="00" dat="" chk="FC"
tpdd_write(5A 5A 03 00 FC)
SENT: 5A 5A 03 00 FC
tpdd_wait()
tpdd_check()
tpdd_check()
ocmd_read_ret()
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2)
tpdd_wait()
tpdd_check()
RCVD: 10 0E
ocmd_read_ret: reading 15 bytes (data & checksum)
tpdd_read(15)
tpdd_wait()
tpdd_check()
RCVD: 54 68 35 73 20 35 73 20 61 20 74 65 73 74 54
ocmd_read_ret: fmt=10 len=0E dat=(54 68 35 73 20 35 73 20 61 20 74 65 73 74) chk=54
verify_checksum(10 0E 54 68 35 73 20 35 73 20 61 20 74 65 73 74 54)
calc_cksum(10 0E 54 68 35 73 20 35 73 20 61 20 74 65 73 74):54
verify_checksum: given:54 calc:54
ocmd_read: ret_fmt=10 ret_len=0E ret_dat=(54 68 35 73 20 35 73 20 61 20 74 65 73 74) read_err="0"
ocmd_read()
ocmd_send_req(03)
calc_cksum(03 00):FC
ocmd_send_req: fmt="03" len="00" dat="" chk="FC"
tpdd_write(5A 5A 03 00 FC)
SENT: 5A 5A 03 00 FC
tpdd_wait()
tpdd_check()
tpdd_check()
ocmd_read_ret()
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2)
tpdd_wait()
tpdd_check()
RCVD: 12 01
ocmd_read_ret: reading 2 bytes (data & checksum)
tpdd_read(2)
tpdd_wait()
tpdd_check()
RCVD: 30 BC
ocmd_read_ret: fmt=12 len=01 dat=(30) chk=BC
verify_checksum(12 01 30 BC)
calc_cksum(12 01 30):BC
verify_checksum: given:BC calc:BC
ocmd_read: ret_fmt=12 ret_len=01 ret_dat=(30) read_err="0"
ocmd_check_err()
ocmd_check_err: ret_fmt=12 ret_len=01 ret_dat=(30) read_err="0"
ocmd_check_err: 0x30:Missing Filename
ocmd_close()
ocmd_send_req(02)
calc_cksum(02 00):FD
ocmd_send_req: fmt="02" len="00" dat="" chk="FD"
tpdd_write(5A 5A 02 00 FD)
SENT: 5A 5A 02 00 FD
ocmd_read_ret(20000)
ocmd_read_ret: reading 2 bytes (fmt & len)
tpdd_read(2 20000)
tpdd_wait(20000)
tpdd_check()
tpdd_check()
RCVD: 12 01
ocmd_read_ret: reading 2 bytes (data & checksum)
tpdd_read(2)
tpdd_wait()
tpdd_check()
RCVD: 00 EC
ocmd_read_ret: fmt=12 len=01 dat=(00) chk=EC
verify_checksum(12 01 00 EC)
calc_cksum(12 01 00):EC
verify_checksum: given:EC calc:EC
ocmd_check_err()
ocmd_check_err: ret_fmt=12 ret_len=01 ret_dat=(00) read_err="0"
ocmd_check_err: 0x00:OK

PDD(opr:6.2,F)> 
chrisoliphant commented 1 month ago

Got an option ROM with TS-DOS and the drive works fine. PDD works fine for moving individual files from a Linux host to the floppy and then reading the floppy from the M100, and vice-versa. Only disk dump and disk restore have the issue as originally experienced.

david-schmidt commented 3 weeks ago

I'll chime in with my experiences - I'm getting exactly the same thing. I'm particularly interested in reconstituting a stock utility disk for the PDD1 (even though I know there are and have boostrapped better DOSes). pdd.sh seems to be my best hope of building that specific disk.

My test mule is a mid-2000's Lenovo that has physical serial ports (I bought it new and spec'd out every port imaginable because I knew it would be useful someday!). I put in a freshly wiped drive and put RHEL 9.4 Linux on it. (I also tried an older Fedora just for kicks, it's all behaving the same.). I was thrilled to see formatting and other communications to the PDD1 working fine, but specifically restore disk gives me the same failure mode discussed above:

Corrupt Response
0xC1 Invalid Command

I'm an old hand at Linux, serial, and GitHub... let me know how I can help debug. If there's an older commit level you think is worth trying, I can get that going.

bkw777 commented 3 weeks ago

OK I'll take another look today.

Definitely many/most old versions worked, but I don't know a particular old commit off hand. My undisciplined development has bitten me because basically I have several commits where all kinds of unrelated stuff changed all in one commit, and the breakage is certainly in the middle of one of those.

I should rewrite in c using dl2 as a model. (which works great and on mac and freebsd and even in cygwin)

The whole bash thing was originally just a stunt anyway to see if it was possible.

david-schmidt commented 3 weeks ago

I totally respect the stunt, and I'm going to reimplement in C if we can't get this resolved. :-)

david-schmidt commented 3 weeks ago

Success!

I backed off HEAD 1 by 1, and ended up 5 or so back:

...
Restoring Disk from File: "disk_images/TPDD1_26-3808_Utility_Disk.pdd1"
Loading "disk_images/TPDD1_26-3808_Utility_Disk.pdd1"
Writing Disk
[########################################] 100%                                
PDD(fdc:6.2,F)> q
[root@localhost-live pdd.sh]# git status
HEAD detached at de92713

So it was last working (for me) at this commit:

commit de92713bf8b643945e431c6f730c8fd570875ff1 (HEAD)
Author: Brian K. White <bkw@vz.bkwlan>
Date:   Fri Feb 23 12:11:46 2024 -0500

    freebsd tty name
bkw777 commented 3 weeks ago

Awesome. Thanks for finding that. I will be away from home for a couple weeks so unfortunately I can't fix it right now but I'll stick a note and a link to the commit in the readme to cover that time.

david-schmidt commented 3 weeks ago

I'm waiting on a PDD2 now - I'll be exercising this some more :-)

bkw777 commented 1 week ago

restore-disk is working for me all the way to current, on both a fast and a slow machine.

Framework laptop with 12th gen i7, ftdi usb adapter going through a thunderbolt 3 hub that is also running 2 monitors and gigabit at the same time.

I have a few different older laptops but nothing with a real serial port. I have some old sco osr5 boxes in storage but man I don't relish dragging one of those out... ...found 3 old laptops with real parallel ports but no serial. ok found basically my first laptop from my first real IT job, Dell D300XT, real serial port but only a mobile p2 300mhz and only 32bit, and missing it's pata drive. No nic so can't boot that way. Might be able to burn a cd, if any distro still offers a 32-bit build. Curse you for making me even think about trying to find and pay actual money for some old 2.5" pata drive from ebay and a pcmcia nic just to try to boot this thing....

I've been using a Vaio P as my low-end test machine. 1.3ghz atom with 2g ram from 2008 or 2009. Similarly an even older Vaio TZ which has a pentium-m, forget the speed.

The Vaio P is actually running lubuntu 17.0 and deadly slow. It's a 32bit cpu so I can only even upgrade it to 18.0.

Holy cow the P took something 30 seconds just to load the disk image. I know reading the disk image and converting into hex pairs in bash arrays is inefficient but still the whole disk is only 100k and must still be only about 300k-400k in ram. Those seem like they should still be tiny numbers even for a 1.3ghz Atom.

On that Vaio P, restore-disk worked in both the v3 branch (de92713b) and the latest version. All the commits in between give a syntax error on startup and don't run at all. (bash 4.4.7)

So, so far I can't duplicate the exact error, though I do know that the latest versions are somehow not right. Freebsd and mac stopped working, and if the old commit works for you but not the latest on the same machine, well that means there is something there that isn't just a bad serial cable or something on your end.

I'll keep looking. Maybe the one success was a fluke.

bkw777 commented 6 days ago

Fresh installed current antiX on the Vaio P.

Last few commits fail a simple LS on it. Turn the drive on, start pdd, ls -> lists the files and then times out at the end when it should be doing bytes-free and write-protect status.

222ade1 works, so that's another last-before-breakage milestone to bookmark.

bkw777 commented 5 days ago

...and nevermind. Today, same machine, same drive, same disk... checkout main, ls works fine. Nothing special about 222ade1