On Fri, Feb 15, 2019 at 1:29 AM Brian White <[email protected]> wrote:

> Since when does a disk drive decide what is and is not supposed to be
> treated as text vs binary data? The application author who decides which
> flags to use with open() does that, or the ftp client user does that by
> using the bin option *which exists*. The the drive subsystem never ever
> decides that.
>
>
I've variously called LaddieAlpha.EXE a "tpdd service" "tpdd emulator"
"drive service" "file service". it is a "disk service" but because it runs
on foreign systems

But all versions have to "map" files to the Model T machines. Filenames,
and to various degrees, content. For example, if there is a file in the
directory that LaddieAlpha is serving with a .txt extension, it will
present in TS-DOS as a .D? file, since that is is the only way TS-DOS will
allow loading the file as a text file.

So in that way, LaddieAlpha is not just a disk drive, it is providing the
service of creating a mapping to the files on a foreign system. And, it
must do it all of this automatically because LaddieAlpha is effectively
"headless".  mComm has a GUI, but it also can't put TS-DOS on hold while it
pops a dialog. All TPDD services must respond in real time

CO and BA files (binary files) are not modified. DLPilot had a feature that
allowed macro expansion of DO files. LaddieAlpha never has. I do believe
filtering evil NUL and EOF bytes is the first editing that Laddie series
has acquired.


> No one answered the question about the sewing machines which also used
> these drives.
>
>
Well. When you talk about "these drives" you need to understand that there
are 2 different drives, and 3 protocols and various tpdd services
implementing various protocols.

In short, the protocol that LaddieAlpha implements is not the same protocol
that the sewing machines use.

There is

a) The Brother FB-100 /The Purple Computing Drive The Tandy Portable Disk
Drive
b) The Tandy Portable Disk Drive 2

Protocols:

a) The FB100/TPDD-1 sector access protocol
b) The FB100/TPDD-1 file access protocol
c) The TPDD-2 sector access protocol

A nod to The Known Extensions:

a) Desklink Extensions
b) Ken Pettit and John Hogerhuis extensions

The Brother FB-100, Purple Computing and Tandy Portable Disk Drive are
really all the same drive to my understanding.
The TPDD-2 is the only one that implements its sector access protocol.
AFAIK the only applications that use it are the ones that came with the
drive.

The Brother sewing machines access the drive at a sector level, not a file
system level and read/write hex formatted sector images via the FB100
sector access protol. There are FB100 sector access protocol emulators for
use with the sewing machines. AFAIK there is no overlap in use of emulators
between the Brother sewing community and Model Ts, because of this reason.

That said I believe mComm does implement the FB100 sector access protocol
because it is needed to use the spellcheck dictionary. Maybe that would
make it usable with the sewing machines, but it seems ill advised, as there
are dedicated applications that are supported for that community.

I guess if you're trying to find something other than a contrived scenario
where EOF and NUL removal is harmful you need to look for those using TPDD
emulators with other vintage computers. For example, I understand there is
a TPDD client for the Cambridge Z88 and maybe some other machines.

I doubt any other machines use our specific .D* extension filenames. They
probably use 3 character extensions. But who knows.

I haven't been contacted by anyone using LaddieAlpha with any other machine
than the Model Ts or WP-2. But it's possible.

"AFAIK "good programming practices and principles" are suggestions and
> recommendations, not laws."
> Indeed.
> 1) I never said anything else.
> 2) Why is a "good practice" good in the first place? For a reason, not
> because god said so or something. Something is good or bad because of the
> harm it lessens or increases.
>

And something I've learned in my career of  25 years as a programmer is
that those rules balance goods and bads, not just avoid harms. The rules of
thumb/principles interact with each other, with use cases and with
requirements, and interaction issues with systems you cannot control.

A good programmer seeks a balance.

-- John.

Reply via email to