Hi Rugxulo.

>> Ok, so an entire toolchain plus OS plus fullscreen editor can be
>> written - what definition of "useful" is being used? That's enough
>> to quite literally rebuild the world.

> I don't know, some people are never satisfied.

> C is a bit of a red herring. (Isn't everything?) ISO C alone isn't
> enough for POSIX 2008 (requires mmap). A lot of code depends on
> deleting open files (POSIX file system), for instance. And there's no
> (inherent) subdir support.

> I'm not complaining. Just saying, others' expectations and demands are
> much heavier than yours (and ours).

I see. Quite frankly I haven't really delved into this,
but maybe now is a good time to start.

I was going to attempt to abstract the problem.
Switching to domain-specific. E.g. a function to
read x seconds of an MP4 file and to open a new
MP4 file are not covered by C90 either - but in
this case, they could be written in C90 as you
are dealing with flat files.

Whereas making a subdirectory requires OS support.

In both cases we want an API to deal with either
an MP4 file or a FAT32 (etc) file system.

I think the end user of the functions wouldn't know,
or necessarily care, which of those sets of APIs
involve OS-specific calls. Until it's time to port
the application.

If the API for the FAT32 file system has perhaps
been used to set the "hidden" attribute of a file,
then I assume that this is unrelated to Posix,
which instead has capability to set the "group" ID
of a file or whatever it is called.

Ok, so assuming a suitable API exists to set the
hidden attribute etc, which ties an application
down to the FAT file system - or at best, some
file system that is sufficiently compatible with
FAT, embracing the concept of making a file hidden,
then this would fall into the category of a
non-portable application, and potentially "more
useful".

Although you could actually implement a FAT-32
file system on top of a C90 flat file. So even
that ends up being portable.

And maybe that's what needs to be done for these
applications that manipulate a filesystem. Provide
a way for the user to specify the file system they
are trying to manipulate. Maybe by default it just
does a "passthrough" and hopes that the underlying
file system is FAT32, but if not, it accepts a
flat file that represents that.

Then it will work on a mainframe too, which normally
uses a file system that doesn't have the concept of
creating a directory.

That wouldn't solve the problem of an application,
perhaps DVD writing, that requires the ability to
sleep for 5 milliseconds. But I had a similar problem
with keyboard input - what happens if the user hits a
real ESC? How long do you wait for, and what function
do you call to do a sleep anyway (not covered by C90)?
Turns out that the ANSI X3.64 people already solved
that by sending 2 ESC for a real ESC being pressed, at
least as a (rarely used) option. I embraced that rarely
used option with delight - it looked fantastic!

Maybe there is a similar thing with DVD writing - it is
fundamentally incorrectly designed if it relies on
particular timing? Then again, when dealing with humans,
you need to send 50 screens per second or whatever it is,
so maybe some hardware needs to inherently not accept a
new screen until the old one has been displayed for the
required number of milliseconds.

I guess - design systems around C90 rather than the
other way around, and bitching about C90 and resorting
to extensions.

Just speculation.

> Check out David Given's attempt at CPMish on Github:
> https://github.com/davidgiven/cpmish

I checked, thanks.

>> It does work, but there was an anomaly. Clearing the
>> screen doesn't work. I took a look at how that is done,
>> and it is done by doing a scroll up. I suspect the bios
>> in the Book 8088 doesn't support that. I haven't yet
>> confirmed it.

> Isn't there an ANSI escape for that? Or does that not work either?
> "[2J" or something? (I think DR-DOS' shell did that for CLS.)

How is PDOS/86 supposed to implement that?

Currently it calls a BIOS function, which I suspect
doesn't work (haven't started debugging that still).

> FreeDOS should run on 8086, both kernel and shell. If it doesn't,
> that's a bug or omission.

Are you sure? I thought I was told that the standard
distribution relied on an 80386.

> ke20xx_32.zip : binaries for 8086, FAT16, FAT32

I got this, and then renamed my kernel.sys to kernel.old,
then copied this new kernel.sys onto the disk, and then
started it under an emulator and it worked fine (as before).

I have no way of knowing whether it was actually using the
new kernel.sys.

The act of renaming kernel.sys to kernel.old would have
left it as the first file on the disk. I was under the
impression that the boot sector of Freedos would allow
the kernel.sys to reside as something other than the
first file, so I expected this to be a valid test and
to skip the kernel.old and use the new kernel.sys.

Please let me know if this is an invalid test.

Regardless, I then burned the image onto the CF and
booted on the Book 8088 and I got the same problem.
"loading freedos" followed by incessant beeping.

> The very bare minimum (besides boot sector) is kernel and shell. What
> other pieces of DOS software did you need or want?

Oh I see - thanks. I need fdisk and format and more
and doslfn and possibly xcopy, but it doesn't support
lfn, and zip and unzip.

Then I need Microsoft C 5.1 (which I already have
and already tested under DOS 6.22 on the Book 8088)
or 6.0 (ordered but not yet delivered).

My main interest is developing PDOS/86 using Freedos
(or MSDOS 6.22) on the Book 8088. I want to prove it
can be done.

>> MSDOS 6.22 is sitting there ready to go.

> For testing, okay, but you can't redistribute it.

I'm not really trying to distribute either MSDOS
or Freedos - I distribute PDOS/86.

I do have my own Freedos distribution, but that's
for another purpose (adding HX to create Win32).

> I see no reason not to use FreeDOS. If something doesn't
> work, keep bugging us here.

Sure, thanks. Possibly the Book 8088 BIOS is deficient
and Freedos is relying on that (while MSDOS 6.22 is not).

But yeah - if Freedos is 8086 out of the box, that's
fantastic and I have no reason to use MSDOS 6.22 except
for testing purposes (same as testing on Win95 but
normally I would use Freedos + doslfn + HX).

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

Reply via email to