Don't be an NPC - use lEEt/OS!

Getting started
System requirements
TCP/IP stack
Try it online!

Q: I have a .COM program that does not work with ST-DOS - the program says that it is out of memory. The system has more than enough free memory.

A: Some badly written .COM programs check the value in the offset 02h of the Program Segment Prefix and use it to determine the amount of free memory. It is a wrong way to do it - the value in the PSP only shows how much memory was allocated for the program by the DOS kernel. ST-DOS always allocates exactly 64 kilobytes to a .COM program. The check may also fail on MS-DOS or FreeDOS, if some TSR or driver or some other program has fragmented the memory. The correct way to check the maximum size of the PSP is to try growing the PSP to -1 paragraphs by using the realloc syscall. If the memory is fragmented and the PSP itself cannot be grown larger, it may be possible to allocate another block of memory. There are three possible ways to fix the problem:

0) If the program is maintained by someone, ask them to fix the program.
1) If the program is not maintained anymore, or the maintainer does not want to fix the issue for some reason, but the source code of the program is public, fix the program yourselves or ask someone who can write code to fix it.
2) If the program is not maintained anymore and its source code is closed, you can try this tool to convert the badly behaving .COM program to a less badly behaving .EXE program.

Q: MS-DOS bootloader cannot boot ST-DOS. There must be something wrong with ST-DOS.

A: Of course it does not work. Any bootloader can only load operating systems that are supported by the bootloader itself. MS-DOS bootloader does not know how to boot ST-DOS.

Q: I partitioned a disk in MS-DOS or FreeDOS and copied ST-DOS files there. Now it does not boot.

A: ST-DOS does not currently have a bootloader that supports booting from a partitioned disk.

(c) Sami Tikkanen 2020 - 2024