ITchimp wrote:I don't mean to be an @$$... but I want to find the shortest path forward where ever possible, I don't have 1000 years to live... so point me the shortest way forward and I will salute you!!!
That would be a web search, using
Google, or
DuckDuckGo, or
Bing, or
something similar, or even some combination of those with an aggregator such as
Dogpile.
Asking on a forum, conversely, will
always be the
slowest way to get an answer.
Think about it: even on a chat channel (things like IRC, Discord, Slack groups, etc), you will often get no reply, or get a very delayed one. On fora like this one, or things like Stack Overflow, you may not get a response for
days, if ever.
As others have already said - and as is repeatedly mentioned in the
wiki which is on the same site as this forum, and in advice pieces such as famed
"How to Ask Questions the Smart Way" - the first step is almost always to do a web search with Google or something similar - maybe even use several, as Bing and DuckDuckGo often get slightly different results from the Big G. The next is to search through available documentation, such as (in this case) the
Minix home site and things like the OSDev wiki.
If you are going to go ask on a forum or IRC channel, use that forum's search tool first to see if someone has asked the question before. Asking on the forum itself is the last resort, the one you should do after everything else has come up empty, or if you need further clarification on any answers you did find.
Yes, it takes some skill to use search tools, and you may not get a correct answer. However, the same is true of asking questions effectively on fora like this one, and even if it fails, it fails a lot faster - you still can ask on the forum afterwards, and will at least be able to say that you tried all those other things first.
Also, the forum is the one least likely to return a useful answer - it may or may not be a more direct answer, but it could also get a blow-off answer, a trolling answer, or a merely misleading one. Sometimes the problem is the reader; other times, it is how you ask the question that matters.
For example, the earlier answer - that it was the
PC/ix assembler syntax¹ - is only half an answer, as
Minix 1.x didn't use the PC/ix assembler, it used the
Amsterdam Compiler Kit toolchain's assembler, which used a slightly different dialect
based on the PC/ix assembler.
Now, I am pretty sure iansjack didn't intend to mislead you; he found this right away, and it looked right, so he thought it would be the answer. He was right about the syntax, but the assembler that syntax came from wasn't the one actually used for Minix 1.
In sum: Use the available tools for the tings they are best suited to. In the case of a forum, it is best used for refining your information about something you already know, or getting opinions on things that don't have black and white answers. In other words, things that require thought and careful replies - replies which inevitably will take some time.
ITchimp wrote:how the **** do I compile this ? can I use gcc... do I have to manually translate to intel format???
With the
Amsterdam Compiler Kit toolchain assembler and C compiler, presumably.
Assuming you really do want to study the Minix 1.x code (which is a 30-year-old system for 8088 PCs, running in real mode), and not, say, move on to
Minix 3.x, which uses the more familiar GNU toolchain and runs in 32-bit protected mode. I don't know if you have reasons to stick to the older version or not.
My guess is that you found an old copy of the Minix textbook in a library or used book store, or a copy of the Minix 1.x code online somewhere, and didn't realize how old it was. An easy mistake to make, to be sure.
Now, given that the current textbook (3rd edition, published 2006) costs a staggering
US$181 new/US$52 used on Amazon US right now, I can't fault you if you don't want to spend that much. However, the current version of Minix is very different from the older version, and as I said, it uses the tools you probably were expecting to find, and the source code is actually
more readily accessible than the older version, as it is under the BSD Open License (older versions are too, now, but initially it was proprietary) and can be downloaded in tot from the minix3.org website.
Actually, if you have git, about 100 MB of spare disk space, and ample download bandwidth, the easiest way to get the Minix 3.x is to clone the Git repo using the
Git shell tools:
Code: Select all
git clone git://git.minix3.org/minix src
or just put the
git://git.minix3.org/minix part into your Git client of choice. Instructions for cross-compiling it from Linux - or Windows, if you are using either Windows Subsystem for Linux (WSL) or Cygwin - can be found on
this page of the Minix wiki.
Footnotes
1. Technically, it wasn't even the PC/ix syntax, originally.According to Wicked-Pedo, it came from a cross-assembler running whose name seems to be lost; the PC/ix version itself was a port of that, and as is usually the case, the ISC devs made some tweaks to the syntax along the way.
Developed in 1982 at MIT as a cross-assembler, it was picked up by Interactive Systems Corporation in 1983 when they developed PC/IX under IBM contract. The syntax was later used as base for ACK assembler, to be used in MINIX 1.x toolchain.