project...
MenuetOS


Page updated      
Aug. 10, 2002

Logo design by
Marshall Hecht


32-bit preemptive multitasking multithreaded operating system for 386+ CPUs and IBM-compatible PC architecture, complete desktop GUI, TCP/IP networking, CDROM, keyboard, mouse, sound, video interfaces, realtime I/O, size only 61K bytes. International open source project. Complete with source fits on a floppy disk.

Sphinx C--, a low-level C compiler for MenuetOS, my examples and download.
Documentation for Sphinx C--, documentation page written by me.
MACC, a simple C compiler for MenuetOS, my examples and download.

This is the main MenuetOS website: http://www.menuetos.org/


Installation

Download the latest version of "msetup.zip" from the main website.
This extracts to "msetup.exe". Follow the instructions in newbie_menuet.htm to create a floppy boot disk and start MenuetOS. Be careful, your hard drive may get trashed (it should be alright, but be very careful of the Setup application on the Menuet desktop).

You can also run MenuetOS inside the Bochs IA32 PC emulator. This is a free open source project and the home page is http://bochs.sourceforge.net/. Note that the name is pronounced as "box" in English.
Bochs is available in versions to run on Win32 and Linux systems.
A Win32 program for creating a file image of a floppy disk is "rawwritewin.exe". You can get it from http://uranus.it.swin.edu.au/~jn/linux.
Configuration file for running MenuetOS inside Bochs: bochsrc.txt

This is a summary of your installation steps:
  1. When you download "msetup.zip" from the MenuetOS website (or from the local link shown above), you unzip it to "msetup.exe".
  2. Exit from Windows to the DOS prompt (not in a DOS box) and execute "msetup.exe". This will create the bootable floppy disk, which has all of MenuetOS on it.
  3. When you unzip the Win32 version of Bochs, it requires no further installation. You will see a directory labeled "dlxlinux" -- this has a demonstration. You can run "start.bat" (in Windows Explorer) to try it.
  4. Create another directory, say "menuetos" and place the "bochsrc.txt" for Menuetos (see link above) into it. Create a file image of the MeneutOS boot disk by using "rawwritewin.exe" (a Windows application, that can read from as well as write to a floppy disk) to create a file image "menuetos.img" in the new directory.
  5. Copy "start.bat" into the new directory and run it.
Be warned that Bochs emulation is very slow. You may also need to expand the "bochsrc.txt" file to include emulation of sound, CDROM, Ethernet and improved video.

Useful usage notes:
forum_feedback1.htm

Assembler

The kernel of MenuetOS was written in assembly language using the FASM assembler.
Here is the main FASM web site: http://fasm.metro-nt.pl.
Look on this site to obtain Ollydbg, a debugger that can be used with FASM, and Assembler Workplace, a basic editor/IDE for use with FASM.

NASM is the open source Netwide Assembler Project and may also be used to assemble MenuetOS. The home page is: http://sourceforge.net/projects/nasm/.

More asm code examples:
Kernel configuration program (pre-beta): mkconfig-0.63-pre1.zip
-- note, the author of this project is using NASM. The zip file has a modified v0.63 of MenuetOS and instructions for compiling with NASM.

Compiler

Although the kernel was written in assembly langauge, applications may be written in assembly or a high-level language.

Strannik is a Modula, C and Pascal compiler and editor/IDE and can generate code for MenuetOS, however the IDE and documentation is all in Russian.
Here is the web site: http://menuet.narod.ru/strannik.html#inenglish
Some of the files are in RAR compressed format, that Winzip can't handle. An alternative freeware compress/uncompress program for Windows is UltimateZip: http://www.ultimatezip.com. Note that the RAR files are in version 2.9 of RAR format, which many unarchivers such as Filzip and WinImp can't handle.
The Strannik website has the compiler/IDE package, a utility program required to convert the PE executable generated by Strannik to a format compatible with Menuetos, and the Strannik source code.

The Sphinx C-- compiler has also been used for Menuet coding.
The main web site is: http://www.sheker.chat.ru/index_e.htm
This site has the compiler, Phoenix Workbench (IDE) and many examples.
Note also, some of the files are in RAR archived format, and a suitable extractor is UltimateZip (see link above).

Sphinx C--, a low-level C compiler for MenuetOS, my examples and download.
Documentation for Sphinx C--, documentation page written by me.

MACC, a simple C compiler for MenuetOS, my examples and download.
Note, this is a "small C", with limited capabilities.

XS is a compiler somewhat like C--. The homepage is: http://web.cs.pub.ro/~vycxs/xs/
Victor Prodan, the developer, has taken an interest in MenuetOS and implemented inline functions to achieve almost (314 bytes) the same executable file size as the example application I have in my Sphinx C-- page (see link above).
You can download the program from http://web.cs.pub.ro/~vycxs/xs/xsmos203.zip. It is also available at the MenuetOS official project site.


(c) Barry Kauler 2002 www.goosee.com/explorer/