MS-DOS
hello
MS-DOS | hello | |
---|---|---|
59 | 7 | |
15,623 | 140 | |
- | - | |
0.0 | 10.0 | |
over 4 years ago | over 1 year ago | |
Assembly | Assembly | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MS-DOS
- MS-DOS v1.25, v2.0, v4.0 Source Code
-
Open Sourcing DOS 4
This 4.0 code contains references to 4.00, though: https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/BOOT/...
- DOS 4.0 Source Code Released Under MIT License
- Why Does Windows Use Backslash as Path Separator?
-
ST-DOS
I recently stumbled across the MS-DOS 1.25 and 2.0 source code [1].
[1] https://github.com/microsoft/MS-DOS
-
The History of Xenix
“Despite this reduction in scope for MS-DOS 2.0, it did carry many bits of XENIX. The system adopted I/O redirection via less-than and greater-than symbols, piping, a hierarchical directory tree, file handles […]”
The source code for MSDOS 2 is available and the file descriptor stuff appears to be in https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/... and XENIX2.ASM. It stands in contrast to the File Control Block API which MSDOS 1 (née 86-DOS) modeled after CP/M’s API.
- MS-DOS v1.25 and v2.0 is now open-source (2014)
- MS-DOS v1.25 and v2.0 is now open-source
-
MS-DOS is now open-sourced
Asynchronous I/O figures in prominently in Windows NT. I was really surprised to see[0]:
Each driver in the chain defines two entry points; the strategy routine and the interrupt routine. The 2.0 DOS does not really make use of two entry points (it simply calls strategy, then immediately calls interrupt). This dual entry point scheme is designed to facilitate future multi-tasking versions of MS-DOS. In multi-tasking environments I/O must be asynchronous, to accomplish this the strategy routine will be called to queue (internally) a request and return quickly. It is then the responsibility of the interrupt routine to perform the actual I/O at interrupt time by picking requests off the internal queue (set up by the strategy routine), and process them. When a request is complete, it is flagged as "done" by the interrupt routine. The DOS periodically scans the list of requests looking for ones flagged as done, and "wakes up" the process waiting for the completion of the request.
I didn't realize that kind of forwarding-looking perspective was going into the design of MS-DOS.
[0] https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/...
-
Exploring the Internals of Linux v0.01
>Any others I'm missing?
I would suggest MS-DOS: https://github.com/microsoft/MS-DOS
hello
- A 23-byte "hello, world" program assembled with DEBUG.EXE in MS-DOS
- A 23-byte “hello, world” program assembled with DEBUG.EXE in MS-DOS
-
A 28-byte “hello, world” program assembled with DEBUG.EXE in MS-DOS
Thanks for pointing out the missing attribution. Added a credits section to the README here: https://github.com/susam/hello#credits
What are some alternatives?
86Box - Emulator of x86-based machines based on PCem.
Invaders - Invaders game in 512 bytes (boot sector)
dosbox-x - DOSBox-X fork of the DOSBox project
reboot - A 5-byte reboot program assembled with DEBUG.EXE in MS-DOS
Chicago95 - A rendition of everyone's favorite 1995 Microsoft operating system for Linux.
cosmopolitan - build-once run-anywhere c library
qubes-issues - The Qubes OS Project issue tracker
dmd - dmd D Programming Language compiler
emu2 - Simple x86 and DOS emulator for the Linux terminal.
FutureDOS - A futuristic DOS
open-watcom-v2 - Open Watcom V2.0 - Source code repository, Wiki, Latest Binary build, Archived builds including all installers for download.
Historic-code-PC-Pascal-and-ASM- - It's amazing what you find when you retrieve a box of floppy disks from the attic!