Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the board
Thread view  Mix view  Order
Ruud

Homepage

Heerlen - NL,
13.04.2026, 08:31
 

Is there a DOS with source code available written in ML? (Announce)

I'm looking for a DOS written in ML. It doesn't have to be MSDOS compatible. Preferably it should run on 8088 machines but if it doesn't, then the source code can help to change that.

Thank you in advance!

Kind regards, Ruud Baltissen

kerravon

E-mail

Ligao, Free World North,
13.04.2026, 09:10

@ Ruud

Is there a DOS with source code available written in ML?

> I'm looking for a DOS written in ML.

What is ML? Machine Language? MSDOS 4.01 is available.

BFN. Paul.

Oso2k

13.04.2026, 19:12

@ kerravon

Is there a DOS with source code available written in ML?

> > I'm looking for a DOS written in ML.
>
> What is ML? Machine Language? MSDOS 4.01 is available.
>
> BFN. Paul.

Meta Language - https://en.wikipedia.org/wiki/ML_(programming_language)


Ruud, I doubt very much that you'll find a "DOS written in ML". ML is a very high-level language. Most DOS implementations are written in Intel Assembly Language, a couple with C or parts in C (FreeDOS being a prime example with it primarily in C).

I googled for "ML for ms-dos" and found this link discussing exotic programming languages for DOS.

https://www.streetinfo.lu/computing/programming/dos/dos_exotic.html

You may want to to find the book "FreeDOS Kernel".

Ruud

Homepage

Heerlen - NL,
14.04.2026, 09:17

@ Oso2k

Is there a DOS with source code available written in ML?

> > What is ML? Machine Language? MSDOS 4.01 is available.
>
> Meta Language - https://en.wikipedia.org/wiki/ML_(programming_language)

ML is indeed Machine Language. I program more than 40 years and this is the first time that someone says ML means Meta Language. I know, ML is originally meant to be used for the binary code and I should use the word assembly. But ML is shorter :) I'll use the word assembly next time.

I haven't thought of MS-DOS 4.01 but that one is, more or less, a monster IMHO. But thanks anyway for the pointer.


> FreeDOS being a prime example with it primarily in C.

I'm not a C fan. I grew up with Pascal and when in 1985 I had to make a choice, I chose for Pascal. I still program a lot in Turbo Pascal, FreePascal and Lazarus.

---
--

With Kind regards, Ruud Baltissen

http://www.baltissen.org

ecm

Homepage E-mail

Düsseldorf, Germany,
14.04.2026, 12:29

@ Ruud

Is there a DOS with source code available written in assembly

> ML is indeed Machine Language. I program more than 40 years and this is the
> first time that someone says ML means Meta Language. I know, ML is
> originally meant to be used for the binary code and I should use the word
> assembly.

Indeed, I would expect assembly language for this.

> I haven't thought of MS-DOS 4.01 but that one is, more or less, a monster
> IMHO. But thanks anyway for the pointer.

I ported the kernel to build using NASM + WarpLink, refer to https://pushbx.org/ecm/web/#projects-ldos

I also used to work on RxDOS (there's MASM, A86, and NASM ports around) and Enhanced DR-DOS (originally a mix of RASM86 and MASM/JWasm, I ported it to NASM too, SvarDOS ported everything to JWasm). All three have kernels entirely in assembly language.

MS-DOS v4.00 is permissively licensed, RxDOS is GPL any version copylefted, and EDR-DOS is a little murkier, I used it under these usage conditions: https://pushbx.org/ecm/download/edrdos/license.htm

There used to be source texts available for a fork or variant (?) of PTS-DOS called S/DOS, but I don't know where to obtain that or the usage conditions. I assume that's in assembly language too.

---
l

Oso2k

15.04.2026, 21:27
(edited by Oso2k, 16.04.2026, 09:24)

@ Ruud

Is there a DOS with source code available written in ML?

> I haven't thought of MS-DOS 4.01 but that one is, more or less, a monster
> IMHO. But thanks anyway for the pointer.
>
>
> > FreeDOS being a prime example with it primarily in C.
>
> I'm not a C fan. I grew up with Pascal and when in 1985 I had to make a
> choice, I chose for Pascal. I still program a lot in Turbo Pascal,
> FreePascal and Lazarus.

Oh oh, apologies. I thought you were going up the stack instead of down.

As ecm mentioned, DOS 4.01 is the most recent and generally most useful. It has some support for 386+ machines that is useful (especially memory managers that let you use more than 1MB of RAM).

MS also made 2.0 and 1.25 available which have much smaller footprints but have restrictions that might not make them as suitable. v1.25 only has FAT12 support. v2.0 only has small drive FAT16 support (I think <512MB). v4.01 can do FAT16, has memory manager source, plus some other things.

Honestly, building MS DOS 4.01 is not too hard.

https://github.com/microsoft/MS-DOS
https://youtu.be/oFlpSMtzYIs
https://youtu.be/ZiT1lvXqUrQ
https://youtu.be/BR6F0EdyulA
https://youtu.be/X7r76V_gWQ8

rr

Homepage E-mail

Berlin, Germany,
15.04.2026, 21:41

@ Ruud

Is there a DOS with source code available written in ML?

> I'm looking for a DOS written in ML. It doesn't have to be MSDOS
> compatible. Preferably it should run on 8088 machines but if it doesn't,
> then the source code can help to change that.

Not sure, all these run on 808x.

https://mikeos.sourceforge.net/
"MikeOS is an operating system for x86 PCs, written in assembly language. It is a learning tool to show how simple 16-bit, real-mode OSes work, with well-commented code and extensive documentation."

https://github.com/azarovalex/azOS
"azOS is a small hobby OS written entirely in FASM assembly. It contains a bootloader and a simple GUI kernel which is able to run some old DOS applications or games."

https://github.com/bubach/BOS
"BOS - a small x86 operating system written in Assembly"

---
Forum admin

Ruud

Homepage

Heerlen - NL,
20.04.2026, 09:56

@ rr

Is there a DOS with source code available written in ML?

Thank you for the pointers!

> https://mikeos.sourceforge.net/

I ran into this one years ago. It has one problem: it is written in 80286 assembly. I used its boot program as base for my own 8088 compatible one (with permission). The rest was to much "polluted" with 286 code to be interesting to convert. But I still learned a lot.

> https://github.com/azarovalex/azOS
+
> https://github.com/bubach/BOS
Never heard of these, so thank you very much!

---
--

With Kind regards, Ruud Baltissen

http://www.baltissen.org

Rugxulo

Homepage

Usono,
21.04.2026, 02:10

@ Ruud

Is there a DOS with source code available written in ML?

> > https://mikeos.sourceforge.net/
>
> I ran into this one years ago. It has one problem: it is written in 80286
> assembly. I used its boot program as base for my own 8088 compatible one
> (with permission). The rest was to much "polluted" with 286 code to be
> interesting to convert. But I still learned a lot.

You say 286, but beyond 186, I think the 286 only added protected mode stuff. The 186 proper did make changes but nothing too onerous to "downgrade" to 8086, AFAICT. In fact, A86 has +P64 that will assemble 186 code as 8086, IIRC.

Just to quote A86MANU.TXT :

> The switch setting +P64 specifies assembly of the base-level 8086/8088
> instruction set, but with special handling of a few of the later instruction
> forms, to generate compatible code. Specifically: all shift and rotate
> instructions with an immediate shift value greater than 1 will generate that
> many repetitions of the 1-value instruction form; e.g., ROL BL,3 will
> generate 3 copies of ROL BL,1. The mnemonics PUSHA and POPA will be honored,
> generating appropriate sequences of multiple PUSHes and POPs.
> The default setting for this switch is for A86 to assemble for the processor
> on which it is currently running; +P64 if that processor is an 8086 or 8088.

Back to the board
Thread view  Mix view  Order
23342 Postings in 2199 Threads, 406 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum