Alexey1994 wrote:
Can you provide a list of applications ported/written for PDOS?
It is in the readme4.txt
pdar386 - archiver for a.out
pdas - assembler for a.out and COFF
pdld386 - linker for a.out
sccwin - SubC C compiler to produce 80386 code
pdmake - build program
pdcc - C preprocessor
portinit - initialize a COM port
portread - read data from COM port
portwrit - write data to a COM port
terminal - a comms program
zap - change bytes in a file
zfill - create a file filled with NUL characters
hexdump - display a file in hex
md5 - find an MD5 signature for a file (non-standard for some reason)
rm - remove a file
mvsunzip - unzip an uncompressed zip file with no directories
sccdos - SubC C compiler to produce 8086 code
s86 - an 8086 assembler
sar - an 8086 archiver
sld - an 8086 linker
devil - communicate with a Wazoo BBS
pdpbbs - a Wazoo BBS
tobruk - a mailprocessor
msged - a message reader
msged15 - msged in 80 * 15 mode
bincount - count in binary
grep - search text files for strings
zcalc - a calculator
xychop - chop up a file
hex2dec - convert hex to decimal
dec2hex - convert decimal to hex
showpic - show a picture
bmp2txt - convert a BMP into a text file
motion - display a picture and make it move
fninit - initialize floating point
sys - install OS
instmbr - install an MBR
bin2hex - convert a binary file into C hex constant string
boot - boot a disk
sectread - read a sector of a disk
sectwrit - write a sector to a disk
sectest - test sectors
parted - create a partition
mkdosfs - make a DOS filesystem
mcopy - copy onto a DOS filesystem
mls - list files in a directory of a DOS filesystem
mmd - make a directory in a DOS filesystem
xcopy - copy lots of files
graphtst - test graphics
mspop - play a WAV file (doesn't work?)
makecd - make an ISO CD image
deltree - delete an entire directory tree
zip - a minimal zip with no compression
as86 - an 8086 assembler
ld86 - an 8086 linker
clnblank - clean trailing blanks in files
ebc2loc - convert EBCDIC file to local character set
mfterm - EBCDIC ANSI terminal, including IPL capability, for mainframes
That last one will be on the next distribution.
I see that I have 156 C files in ozpd. Some are functions rather
than programs. Most are C90-compliant. I could build Windows
executables for the C90-compliant utilities, which would then
run on PDOS/386 and get closer to the 100 programs you mentioned.
So far I only compile things when a need arises.
Or is this list compiled from applications written for MS-DOS, some Windows, some POSIX, but not for PDOS?
None of my distributions runs POSIX.
PDOS/386 doesn't run MSDOS programs - well - unless you count 32-bit MSDOS which is not compatible with what anyone else would call 32-bit MSDOS.
Theoretically PDOS/386 runs an unknown number of Windows applications, but in practice I doubt there is anything except for the Windows applications that I built, which only ever have a dependency on msvcrt.dll or sometimes kernel32.dll too.
I insist that there should be a list of the 100 most necessary, useful, unique applications.
Surely such a list varies between every individual in the world? Also I still don't see what is wrong with just running those 100 programs under Linux.
For example, I would prefer an application that plows a field using a tractor, a robot arm and a camera. It has nothing to do with the market, I just need it.
Only a small percentage of the population would find such an application useful. So I am having difficulty understanding why it would be on your list of 100.
Leave the market alone, or is everything you do for money?
Most things I do are not for money. I do boring work for money like everyone else - not full-time though.
There is no such application on Linux, and on any other system too, but there are thousands of knick-knacks like games, calculators, paints, writers. But there are not even hundreds of really useful/interesting programs. One person should make a decision about usefulness / interestingness, taking into account the opinion of society, but not statistics.
Surely the opinion of society is exactly measured by statistics? And your self-defined problem here is creation of useful apps, not an OS to run them under. There are plenty of OSes that are capable of running the theoretical useful app. The nebulous goal we are discussing is replacing 20 small unused OSes created by individuals here with one larger unused OS, when a huge, used, OS, Linux, already exists. Let's set aside the social problem of getting 20 people here to follow 1 person in the first place, and let him make the decision about - not the OS (for some reason), but useful apps.
Based on these considerations, I conclude that the OS developer must make a choice which applications he should allow to work in his OS.
That's an odd sentence. OSes are normally general purpose. All apps are "allowed" to work. But the app will need to conform to some arbitrary API. To me, that arbitrary API has always been "C90". If anything other than C90 works, that's a bonus, but not to be expected.
For Windows you will have one list, for Linux another, for PDOS a fourth, for BelOS a fifth. And the user of the system will always know why he install it.
In my opinion, we should largely aim for C90-compliant programs built as 32-bit Windows executables that are dependent on only msvcrt.dll.
Then those executables can run under Windows, Linux Wine, PDOS/386, Freedos+HX, ReactOS.
And with simple recompilation, those programs run on many other environments, even the mainframe, such as z/OS and z/PDOS.
Very recently, like days ago, I managed to complete the task of getting the mainframe to drive an EBCDIC ANSI terminal so that you can run micro-emacs or other fullscreen applications that exceed the C90 standard but still conform to ANSI X3.64.
So now there are two standards that interest me.
I'm not aware of a standard for graphics, and I'm not sure if it is possible to bump the mainframe up to support such a standard when even ANSI X3.64 took half a century.
And the graphics would produce an additional dependency on hardware.
Again - I'm not dismissing anything you are saying, I'm just asking questions/clarifying.