Over at vogons, Dave Dunfield
(https://dunfield.themindfactory.com/dnld.htm) has been working on
updating his DDLINK package to be able to bootstrap file transfer
between machines via COM, LPT or NIC.  This is a small package much
like LapLink and other tools of yesteryear.  LapLink could famously be
bootstrapped using a simple set of DOS commands.

However, Dave noted that FreeDOS's "copy /b COM1: DDBOOT.COM" strips
various non-printable characters
(https://www.vogons.org/viewtopic.php?p=1129367#p1129367), including
EOF which should end the transfer.  See other notes extracted from
DDLINK.ZIP (https://dunfield.themindfactory.com/dnld/DDLINK.ZIP)
below.

Smells like a bug in FreeCOM's copy
(https://github.com/FDOS/freecom/blob/master/cmd/copy.c).


%<-----------------------------%<-------------------
      3.4.1 FreeDos

         I have confirmed that this works well with several versions  of
         MicroSoft MS-DOS,  as well as IBM PC-DOS ...  but it  has  more
         trouble with FreeDos! Both MS-DOS and PC-DOS provide an "almost
         binary" transfer when you perforn:

                           COPY COMn: file

         In fact, the only character which can NOT be copied this way is
         0x1A (EOF which stops the copy).

         To be able to copy on a bootloader,  I only had to make sure it
         does not contain the byte value 0x1A.

         FreeDos  however  blocks  more   byte   values.   DDLINK   1.7+
         bootloaders have been modified to contain NONE of the ones I've
         (so far)  identified ...  and it does work *sometimes* if  done
         right after booting!

         I've not found /B to be reliable under FreeDos.

         If you have trouble using /B,  please use the information below
         to try and determine which bytes are being blocked and  contact
         me.


      These are the bytes I've observed that FreeDos blocks/corrupts:
        00 NULL               Often terminates strings
        03 Control-C          Console Interrupt
        0A Line-feed          ..probably related to 'newline'
        0D Return             ..difference between DOS & UNIX
        11 XON                resume output  \ used in UNIX
        13 XOFF               suspent output / but not DOS
        1A EOF                Terminate file
      !There is no guarantee these won't change with new releases!

      These are the byte values DDLINK currently COPYs during bootstrap:
        01 02 04-09 18 19 1C 26 31 34 36 38-3E 46 47 4A-4D 58 5F-61 64
        68 6B 6F 72 73 75-7A 7E-83 85 88-8A 8C 8D 90 9B B0 B1 B3 B9 BB-BD
        C0 C1 C3 C7 CE D0 D2-D4 D6 DA-DC DF E0 E2 E3 F0 F1 F5 F6 F8-FF


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to