Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Let's document: DOS (DOSBox, FreeDOS, etc.) #11536

Open
61 tasks
reinhart1010 opened this issue Nov 18, 2023 · 8 comments
Open
61 tasks

Let's document: DOS (DOSBox, FreeDOS, etc.) #11536

reinhart1010 opened this issue Nov 18, 2023 · 8 comments
Labels
architecture Organization of the pages per language, platform, etc. help wanted You can help make tldr-pages better! let's document Tracker issue to document multiple subcommands/commands of a tool or utility or category. new command Issues requesting creation of a new page.

Comments

@reinhart1010
Copy link
Collaborator

reinhart1010 commented Nov 18, 2023

DOS is a family of operating systems designed for legacy computers, and documenting it may help some modern-day DOS users, e.g. DOSBox for emulating games and FreeDOS for server administration.

Many earlier versions of DOS (e.g. MS-DOS) were thoroughly documented into physical manual books, so it is difficult to gather official URLs for "More Information" links for all system commands. Sure, Microsoft still archived the FASTHELP documentation on https://learn.microsoft.com/previous-versions/tn-archive/cc722865(v=technet.10) , but other commands as simple as CD are not officially available online (i.e. specific to the DOS version).

Not to mention that many of DOS-based OSes are now deprecated in favor of modern operating systems, so I recommend taking currently-active variants of DOS (DOSBox and FreeDOS) as main references (they should be put inside the same platform code, dos instead of dosbox/freedos so other third-party DOS utilities may also be documented here).

The good news is that DOS commonly has finite and lower number of system commands compared to Windows and its PowerShell goodness, which we can also use them to compare with our current list of Windows Command Prompt documentation. In other words, a good tldr documentation for a dos command could be considered to be ported for windows as well.

Current DOS commands available on DOSBox:

  • ATTRIB
  • CALL
  • CD
  • CHDIR
  • CHOICE
  • CLS
  • COMMAND
  • COPY
  • DEL
  • DELETE
  • DIR
  • ERASE
  • ECHO
  • EXIT
  • GOTO
  • HELP
  • IF
  • LOADHIGH / LH
  • MKDIR / MD
  • PATH
  • PAUSE
  • RMDIR / RD
  • REM
  • RENAME / REN
  • SET
  • SHIFT
  • SUBST
  • TYPE
  • VER

Commands not found in DOSBox but in FreeDOS:

Note: Maybe we should add specific notes for DOSBox compatibility, e.g. "This command does not work on DOSBox without additional FreeDOS tools installed."

  • DELTREE
  • FASTHELP
  • FC
  • FDAPM (FreeDOS-specific)
  • FDBANNER (FreeDOS-specific)
  • FDISK
  • FDWRAPUP (FreeDOS-specific)
  • FORMAT
  • MEM
  • MORE
  • SETLANG
  • SLICEREX
  • SYS
  • VASK
  • VCHOICE
  • VCLS
  • VCURSOR
  • VDELAY
  • VEACH
  • VECHO
  • VERRLVL
  • VFDUTIL
  • VFONT
  • VFRAME
  • VGOTOXY
  • VINFO
  • VLINE
  • VPAUSE
  • VPROGRES
  • VSTR
  • WELCOME
  • XCOPY
@Waples Waples added new command Issues requesting creation of a new page. help wanted You can help make tldr-pages better! let's document Tracker issue to document multiple subcommands/commands of a tool or utility or category. labels Nov 20, 2023
@kbdharun kbdharun added architecture Organization of the pages per language, platform, etc. and removed architecture Organization of the pages per language, platform, etc. labels Nov 26, 2023
@Magrid0
Copy link
Collaborator

Magrid0 commented Nov 27, 2023

where do we put the pages for dos? is there a specific folder?
Because I wanted to port CD from windows but I'm not sure where to put it

@kbdharun
Copy link
Member

kbdharun commented Nov 27, 2023

where do we put the pages for dos? is there a specific folder? Because I wanted to port CD from windows but I'm not sure where to put it

Probably in new platforms similar to BSD ones.

@reinhart1010
Copy link
Collaborator Author

where do we put the pages for dos? is there a specific folder?
Because I wanted to port CD from windows but I'm not sure where to put it

There are two possibilities:

  • Placing everything under a new directory, dos, but there may be commands that are exclusive to specific variants of DOS
  • Place dos for common programs and add new variant-specific directories, e.g. freedos (the dos directory will become more alike to common)

@sbrl
Copy link
Member

sbrl commented Dec 2, 2023

I would suggest that DOS/FreeDOS/etc commands are documented in a new platform.

It would probably make sense to simply call the new platform dos, since FreeDOS is related to DOS.

Given that DOS commands will likely function differently to those on modern Windows platforms, I'd probably recommend that it be considered just another platform, in the same way that android is to linux.

So, for example, CD would be documented in pages/dos/cd.md.

@giladAlboher
Copy link
Contributor

giladAlboher commented Dec 12, 2023

If the differences between DOS variants are significant and you anticipate having distinct information for each variant, the second approach (using a "dos" directory and variant-specific directories) might be more organized and user-friendly in the long run.

@sbrl
Copy link
Member

sbrl commented Dec 16, 2023

@giladAlboher it might, but then you have the problem of a client spec change in terms of page resolution. Currently the procedure is basically check requested platform → check common → fail if not found..... but you'd be asking for platform-specific behaviour there, which would make the spec more complicated and push extra work on implementors.

Do you have any examples of significant differences in the same commands on different variants of DOS being discussed here as you suggest?

If these differences are that some commands exist and others don't on different variants, or that some variants have specific additional commands, then this isn't something we need to worry about.

If, on the other hand, there are irreconcilable differences in implementation of the same command on different variants (i.e. more than just a different flag here or there that we can skirt around), then I'd recommend first considering the use of common/ as we do currently:

  1. If a command is relevant to only 1 platform, then put it in the platform directory.
  2. If it runs on multiple platforms, put it in common.

@reinhart1010
Copy link
Collaborator Author

If it runs on multiple platforms, put it in common.

...and if there are 2 different "common" commands (e.g.) one for macOS + Linux and another one for DOSBox + FreeDOS the DOS ones could be suffixed with .dos, e.g. command.dos

@sbrl
Copy link
Member

sbrl commented Dec 30, 2023

...and if there are 2 different "common" commands (e.g.) one for macOS + Linux and another one for DOSBox + FreeDOS the DOS ones could be suffixed with .dos, e.g. command.dos

....then we get into the territory of conflicts. In that case, I'd suggest it would be better to leave a disambiguation page behind with eg foo-linux and foo-dos for the conflicting command foo for example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
architecture Organization of the pages per language, platform, etc. help wanted You can help make tldr-pages better! let's document Tracker issue to document multiple subcommands/commands of a tool or utility or category. new command Issues requesting creation of a new page.
Projects
Status: No status
Development

No branches or pull requests

6 participants