flat assembler
Message board for the users of flat assembler.

Index > MenuetOS > What is Menuet used for?

Author
Thread Post new topic Reply to topic
Hugh Aguilar



Joined: 15 Nov 2011
Posts: 62
Location: Arizona
Hugh Aguilar 17 Jan 2012, 23:56
I had never heard of Menuet prior to seeing this thread, but I'm definitely mildly interested.

I primarily want a platform for developing and running my own software. I want the OS to not introduce a lot of overhead. If I get into Menuet, the first thing that I will do is port my Forth system over to it; my software would be written in a combination of Forth and assembly (I don't use C at all). A lot of my software does recursive-descent searches, and these programs can take hours to run. I am also interested in writing software that generates CNC gcode programs for machining. These programs can also be slow because they do a lot of calculation. I'm interested in Menuet because it might be easier to understand and faster to run than a big OS like Linux. I'm not particularly interested in OS theory --- I just write programs.

I also have these uses for my laptop:

1.) I play Go on the internet using a Java program, access forums like these in a browser, and exchange email --- all over a wifi connection. Does Menuet support this?

2.) I write LaTeX files, and print out PostScipt files. Does Menuet have software available for this?

I don't really know anything about how an OS works. I am somewhat familiar with real-time multi-tasking on micro-controllers. I don't understand how Menuet can be described as "real-time" when it is preemptive --- aren't those concepts mutually exclusive?

What have other people used Menuet for? I would be very interested in seeing links to projects that have already been done under Menuet, just to get a feel for what the Menuet community is like. Is this forum the primary support for Menuet?

P.S. I'm starting to warm up to FASM --- the macro language is a lot more powerful than I had realized at first glance --- that is another reason why I am interested in Menuet.
Post 17 Jan 2012, 23:56
View user's profile Send private message Send e-mail Reply with quote
Ville



Joined: 17 Jun 2003
Posts: 304
Ville 22 Jan 2012, 16:32
Menuet uses pre-emptive process swithing for applications and processes, but data is recorded in interrupt handers in real-time. An application defines a list of ports to be read at selected interrupt. This also triggers an event, which is delivered to the application, which responds to the available data. See rtdata.asm for this.

Menuet doesn't have wifi support just yet. Most of the wireless USB sticks support Microsoft RNDIS-protocol. As soon as there is a wireless USB stick with USB CDC support, we'll add it.

Menuet has Postscript and PCL support for USB 2.0 printer -class devices.
Post 22 Jan 2012, 16:32
View user's profile Send private message Reply with quote
Hugh Aguilar



Joined: 15 Nov 2011
Posts: 62
Location: Arizona
Hugh Aguilar 22 Jan 2012, 23:58
Ville wrote:
Menuet uses pre-emptive process swithing for applications and processes, but data is recorded in interrupt handers in real-time. An application defines a list of ports to be read at selected interrupt. This also triggers an event, which is delivered to the application, which responds to the available data. See rtdata.asm for this.

Menuet doesn't have wifi support just yet. Most of the wireless USB sticks support Microsoft RNDIS-protocol. As soon as there is a wireless USB stick with USB CDC support, we'll add it.

Menuet has Postscript and PCL support for USB 2.0 printer -class devices.


I think I understand the idea of interrupts buffering the input-data in real-time, and the application unbuffering the data in less-than real-time. Isn't that what any desktop-computer OS does? This isn't real-time however. There is no guarantee that the application is going to keep up with the I/O over any period of time, and certainly not indefinitely.

I still don't get what Menuet is used for. What kind of applications are written in Menuet? I would like to see a list of applications that have been done, or at least started, for this OS --- so I can see what it is all about --- if my Forth would find a home.
Post 22 Jan 2012, 23:58
View user's profile Send private message Send e-mail Reply with quote
Ville



Joined: 17 Jun 2003
Posts: 304
Ville 23 Jan 2012, 11:09
Have you tried Menuet64 ? We recommend VirtualBox. And a couple of applications from the desktop: Webcam, TV-tuner, FASM.

Besides, if you define a special purpose or a goal, it becomes a restriction elsewhere. Menuet64 is already downloaded too much for that. Like in your case, it might exclude the ability to port and use Forth.
Post 23 Jan 2012, 11:09
View user's profile Send private message Reply with quote
Hugh Aguilar



Joined: 15 Nov 2011
Posts: 62
Location: Arizona
Hugh Aguilar 24 Jan 2012, 04:53
Ville wrote:
Have you tried Menuet64 ? We recommend VirtualBox. And a couple of applications from the desktop: Webcam, TV-tuner, FASM.

Besides, if you define a special purpose or a goal, it becomes a restriction elsewhere. Menuet64 is already downloaded too much for that. Like in your case, it might exclude the ability to port and use Forth.


I don't know how Forth could be excluded --- I don't need GLIB or any other library --- Forth is traditionally written entirely in assembly-language just like Menuet (note that I consider Gforth to be an abomination, and my Forth has nothing in common with it).

When I asked about what kind of applications were written on Menuet, I was mostly wondering if my Forth would find a home in the sense that somebody other than myself would use it. What languages other than FASM are currently available for Menuet?

Nowadays, a lot of people like Python, but not me. It is very slow and very high-level. There is also a lot of emphasis on being "Pythonic" in the sense of writing idiomatic code, but this emphasis is mostly a crutch for people who don't know how to program --- I think the word "idiomatic" is derived from "idiot" and "automatic," as that seems to be the typical result. Smile

There are also a lot of people nowadays who like C++ and Java, which I consider to be over-complicated monstrosities that ultimately restrict what you can do, rather than free you.

The reason why I think that Forth might find a home on Menuet is that Forth is pretty close to assembly-language. Forth provides an interactive development environment. There is no debugger; the programmer tests the functions at the command-line. These functions can be written in assembly-language though. Forth can be thought of as an interactive testing environment for assembly-language functions. Of course, you have to write your functions to use the Forth parameter stack, rather than pass values in registers or whatever. So Forth is also a framework that introduces some order into what could otherwise be an unstructured free-for-all.

I know that assembly-language programmers feel proud of not being high-level language programmers --- you can use my Forth though, and I won't take your pride away from you --- you can still be assembly-language programmers at heart.

On the other hand, if you just want Menuet to be another Linux, then you might as well go with Python and C++ and Java and all that.

Menuet must have some kind of goal --- you couldn't have gotten this far if there were no goal at all. What kind of applications are you hoping to see?
Post 24 Jan 2012, 04:53
View user's profile Send private message Send e-mail Reply with quote
Hugh Aguilar



Joined: 15 Nov 2011
Posts: 62
Location: Arizona
Hugh Aguilar 25 Jan 2012, 04:50
Hugh Aguilar wrote:
Menuet must have some kind of goal --- you couldn't have gotten this far if there were no goal at all. What kind of applications are you hoping to see?

My concern is that your goal is to prove that assembly-language "rocks," and that this means that all Menuet applications have to be written entirely in assembly language. If I take the time to implement Forth, or any other language, the Menuet community will say that this is totally anathema and must be entirely banned from discussion.

Do you have any goal other than to be assembly-language programmers? I mean, like a goal that the non-programming world would understand? You know, most computer users don't even know what assembly language is --- they don't care what Menuet is written in.
Post 25 Jan 2012, 04:50
View user's profile Send private message Send e-mail Reply with quote
Ville



Joined: 17 Jun 2003
Posts: 304
Ville 26 Jan 2012, 11:54
The main goal is to use assembly as much as possible, but that doesn't exclude other goals. So if you want to port your Forth to Menuet64, that is perfectly fine by us. We'll add it to Menuet -site for download.
Post 26 Jan 2012, 11:54
View user's profile Send private message Reply with quote
Hugh Aguilar



Joined: 15 Nov 2011
Posts: 62
Location: Arizona
Hugh Aguilar 27 Jan 2012, 01:01
Ville wrote:
The main goal is to use assembly as much as possible, but that doesn't exclude other goals. So if you want to port your Forth to Menuet64, that is perfectly fine by us. We'll add it to Menuet -site for download.


I'll do that. So long as you guys are at least willing to consider the use of a high-level language, then I can get involved.

Most high-level language (Java!) bury assembly-language completely out of sight. By comparison, Forth works hand-in-hand with assembly language --- you will never have Menuet programmers who don't know or care about assembly-language, which is typical of Linux and Windows programmers.

I'll go straight to the 64-bit system, and ignore the 32-bit system. I assume that anybody using Menuet is writing scientific software, and that they can afford to pay a little more for a 64-bit system rather than a trailing-edge 32-bit system --- Menuet is all about high-performance, isn't it?
Post 27 Jan 2012, 01:01
View user's profile Send private message Send e-mail Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 31 Jan 2012, 12:56
I think there are already some wrappers to make C programming possible. I don't know how or if they are used, but
http://sourceforge.net/projects/menuetlibc/
http://www.goosee.com/cmm/
are some efforts in that category. So "higher-than-assembly" languages are no strangers to MenuetOS.

Ville even wrote a Brainf*-interpretor (just for fun?) http://www.menuetos.net/bf.asm
Post 31 Jan 2012, 12:56
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.