Building MS-DOS 4.00 on FreeDOS

preview_player
Показать описание
You probably saw recently that Microsoft and IBM released the source code to MS-DOS 4.00 on GitHub. This is under the MIT License, which is an open source license and compatible with the GNU General Public License that we use in FreeDOS.

But if you tried to compile the source code release, you may have hit some problems. I understand it builds fine under MS-DOS, which is what you'd expect. But under FreeDOS, you have to clean up the source code a bit before you can build it. The short version of what's going on is that when they put the code into GitHub, GitHub used UTF-8 for encoding, and DOS uses Code Page 437.

Here's how to clean it up.

Visit our website

Join us on Facebook

Follow us on Mastodon

Consider supporting me on Patreon

And don't forget to Like and Subscribe!

Standard comment rules apply.
Рекомендации по теме
Комментарии
Автор

Oh my god! No way!! What a incredible charity after 37 years! With such progression my grandchildren would see sources of MS-DOS 6.22! Very encouraging!!

DanielLenskiy
Автор

FreeDOS: Did you view the microsoft source code?
FreeDOS Developer: No
FreeDOS: Proceed

SilentShadow-ssxp
Автор

It's really sad, that Microsoft didn't add the sourcecode of LINK and GW-BASIC to their MS-DOS 4.0 source code release. At least binaries of LINK, EXE2BIN and MASM can be found in the TOOLS directory of this release.

OpenGLever
Автор

The script to cleanup the character encoding mess would've been really useful yesterday...
I wanted to build DOS 4.0 on DOS 6.22 running on real hardware and I used an already sanitized source from someone that also helped me on X but it still required fixing pretty much each skl file which I did manually...

In the end I did manage to build and boot it though which is pretty cool

Yrouel
Автор

over 20 years ago in my technical college our teacher/admin just migrated everything to windows 2000 and after some time ran into the problem that norton ghost for dos couldn't create disk images anymore because the file size exceeded the fat16 limit. i remembered something about freedos supporting fat32 back in my head and tried it out. to my surprise norton ghost was "upwards-compatible" with freedos and was able to write larger disk images 🎉 the school immediately migrated to freedos as the second os afterwards (we also used it for c lessons)

Pythagorasplus
Автор

Interestingly, the TOOLS folder contains not only MASM and LINK, but also the Microsoft C 5.10 compiler including the C library and its header files.
The library is in the folder BLD backslash LIB and the header files in BLD backslash INC. The library is called SLIBCE LIB
For testing purposes i just compiled a simple hello world and it worked.
The necessary compiler options are slash I followed by the folder to the include files, your source file and -link followed by the library folder.

OpenGLever
Автор

edlin, the only true real editor to end the editor wars once and for all !

monad_tcp
Автор

Seeing that mount into /tmp reminds me of a mistake I made many, many years ago:

I had two servers, one BSD running on a VAX machine, and another running Ultrix on a MIPS machine. I mounted the Ultrix root directory using NFS into a directory under /tmp on the BSD machine. I worked on this for a bit and then went home, but left the directory mounted.

I came back the next day and noticed there was some weird thing going on in the Ultrix system. The system itself was running fine, but a lot of stuff seemed to be missing.

What had happened was that a nightly maintenance script had tun on the BSD system which had deleted all files under /tmp which had not been touched in 7 days. Since the root of the Ultrix system was mounted under /tmp, the maintenance script had performed this operation on every single file on the system. That meant that everything that was needed to run the Ultrix system was still there, but any file that hadn't been touched in the last week was now deleted. It took a while to recover this.

After this, I never mount anything under /tmp anymore.

Kapprogramminglanguage
Автор

I wonder if they will release windows 3.11 as open source. Imagine having win 3.11 running on freedos. Could run all those old shareware and freeware win 3 programs.

knightoflight
Автор

Will the source code of the MEMM386 ASM file be useful for FreeDOS's JEMMEX drivers?

OpenGLever
Автор

How can you make an MS-DOS 4.0 hard drive or floppy drive bootable? Do you need to write a boot loader or it is included?

Also it could be interesting to see what parts remained and what changed between version 2 and version 4.

simpleprogrammingcodes
Автор

Thanks for this video. Nice overview of the build process to get these commands built under FreeDOS.
BTW: You are aware, I hope, that 'edlin' really sucked. Not too many of us liked it even when this stuff was new. It was just a carryover from when our computers didn't have enough storage to be having programs like 'edit' included in the operating system itself.

Dave
Автор

I'm curious now: what a simple command like "type" can use which is not implemented in the FreeDOS kernel?

Автор

Lunduke said it doesn't work, 56 minutes 💥

johnschneider
Автор

Can you boot? So, next step will be adding network capabilities, and the system will be useful after.

kamertonaudiophileplayer
Автор

Since projects licensed under a copyleft F/LOSS license like the GNU GPL – like yours – can borrow from projects licensed under a permissive F/LOSS license like MIT (but not the other way around), do you as a developer think this deluge of now F/LOSS official MS-DOS source code being publicly available on GitHub under MIT can be used &/or studied to benefit the future accuracy & compatibility of reverse engineered projects FreeDOS & DOSBox?

powerfulaura
Автор

I installed FreeDOS in an old Latitude E6400 I had lying around and it works perfectly to play old DOS games... and that's the whole extent of my knowledge of "systems" or "computers". But I have an honest request, would it be too much to ask if one day you could make a video laying out what the purpose of a DOS system is in 2024? What is it being used for, other than playing old DOS games? Serious question.
Hope you can do it for us newbs.
Love FreeDOS!

neksus
Автор

Can someone make a video how to BOOT into DOS 4.0? I don't want to run a FreeDOS kernel to run the DOS 4.0 "user space" tools

henrikholst
Автор

I recommend the Norton Commander clone, Necromancer's Dos Navigator (NDN) for various platforms, including (Windows/Linux/Dos - also 64-bit)

ManIron
Автор

Did you try "sys c:" and actually boot ms-dos 4.00 ?

roaridse