MEGAMAX MODULA-2

C and PASCAL (or any other high-level languages) in here please

Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team

tcat
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 106
Joined: Fri May 03, 2013 6:00 am

MEGAMAX MODULA-2

Postby tcat » Sun Jul 07, 2013 6:54 pm

Hi,

I have discovered OXYD game V3, I played so far to level #27, I have a modified version that allows me to go past the famous code blocks.

More interestingly, I am now very much interested in the actual programming environement used to develop the game - MM2.

I downloaded Thomas Templemann's files from the web, it contains the source trunk from his Hard Dirve, when he developed the whole package back in 80's-90's, what is also interesting MM2 compiler and linker themselves are also written in Modula. It is ISO compliant, can be ported to other systems, and public code for it can be shared or reused.

MM2 allows for the assembly integration, in the form,

PROCEDURE asmDemo;
VAR declarations
BEGIN
ASSEMBLER
your assembly here
END
END

Unfortunatelly it is all in German, including the documentation, and my German is next to zero.

Following the MM2 documentation with the aid of Google translator, I somehow managed to create two starter floppy images containing the shell, compiler, linker, editor, and basic modules.

MM2.st, and
MM2TINY.st

I just made some firsts steps, cannost judge if at all usefull.
I wish to share my experience in the forum, although I understand there has not been much support so far, possibly due to German language used.

MM2.st shell in picture here
MM2.png
You do not have the required permissions to view the files attached to this post.

User avatar
mfro
Atari Super Hero
Atari Super Hero
Posts: 714
Joined: Thu Aug 02, 2012 10:33 am
Location: SW Germany

Re: MEGAMAX MODULA-2

Postby mfro » Sun Jul 07, 2013 7:37 pm

MM2 has a lot of nice features. IMHO, it was well ahead of the other Modula 2 packets on the market at its time.
Used it a lot when it was still actively maintained. Unfortunately, the package didn't really make it into the MiNT world and people were forced to C instead.

Feel free to ask if you have questions. I might be able to dig out some fading memory.

tcat
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 106
Joined: Fri May 03, 2013 6:00 am

Re: MEGAMAX MODULA-2

Postby tcat » Mon Jul 08, 2013 9:03 am

Hi,

I have created a second floppy image, with libraries, editor and one demo sample.

So I now have,
MM2.st - boot disk with the shell
MM2USER.st - user disk

I boot to shell from disk #1
I swap to user disk #2

1)
When swapping to disk disk#2, sometimes disk#1 remains casched, not sure how to get this arround, perhaps it is a feature of HATARI emulator, so not sure?

2)
I use MM2MAKE, MM2LINK as resident modules so they have not to be present on the disk #2, this gets me more room for source files on disk #2

If I could also make MM2COMP, MM2COMP2.IMP compiler files resident, this would give me even more space, but these are provided as IMP files, not MODs

My MM2SHELL.M2B batch file on disk#1 has got these lines
...
Load MM2Link
Load MM2Make
Load MM2Comp

but MM2COMP does not stay resident as it seems, perhaps if it were MOD than it may?

Many thanks

tcat
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 106
Joined: Fri May 03, 2013 6:00 am

Re: MEGAMAX MODULA-2

Postby tcat » Mon Jul 08, 2013 3:21 pm

Hi,

ad 1) still not any wiser about floppy caching, I need to test it on the real ATARI ST.

ad 2)
this did the trick,
...
Load MM2Link
Load MM2Make
Load MM2Comp.IMP

.IMP has to be stated explicitly,
now, linker, make, and compiler stay all resident, I have more room on disk #2

I can now build and run some examples from the DEMO folder

User avatar
charles
10 GOTO 10
10 GOTO 10
Posts: 2216
Joined: Tue Aug 17, 2004 12:11 am
Location: ont. Canada
Contact:

Re: MEGAMAX MODULA-2

Postby charles » Tue Jul 09, 2013 12:14 am

if u like mm2
try pascal, it's successor
(pure pascal)

very same program design
declaration varaibles ...program flow

but it integrates asm differentily

i think from time to time i talk to the authore , i even wrote out alot of the german into english and made an english version of the mm2


charlie
atari is my lifestyle,not a hobby.
HOLD ON ! ! !,
Im printing unreadable characters ...!

tcat
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 106
Joined: Fri May 03, 2013 6:00 am

Re: MEGAMAX MODULA-2

Postby tcat » Tue Jul 09, 2013 3:22 pm

Hi,

You have an english version, I am so interested, some of the German text si hard for Google to translate.

At the moment I am trying to determine which are the most essential DEFs and IMPs modules to put on the second floppy USER disk#2, I wonder how was the MM2 originally bundled on disks. manual reffers to two disks for floppy installation.

Not all DEFs can fit to 720K floppy, not to mention IMPs, I am therefore using ENCODE.MOD utility to compress the DEFs on second USER disk#2, to get more room.

BUT even when compress not all DEFs along with IMPs can fit there.

Many thanks so far

User avatar
mfro
Atari Super Hero
Atari Super Hero
Posts: 714
Joined: Thu Aug 02, 2012 10:33 am
Location: SW Germany

Re: MEGAMAX MODULA-2

Postby mfro » Tue Jul 09, 2013 3:47 pm

IMHO, the MM2 system was mainly targeted to harddisk owners. Why do you fiddle with disks while using hatari anyway (which provides a nice hd emulation)?

tcat
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 106
Joined: Fri May 03, 2013 6:00 am

Re: MEGAMAX MODULA-2

Postby tcat » Tue Jul 09, 2013 5:09 pm

Yes, you are right, but I also wanted to test it on the real thing which in my case is ST: 1MB 1floppy 0HD
So I am working on a TINY two floppy install, with just the essential minimum

m0n0
Captain Atari
Captain Atari
Posts: 419
Joined: Mon Oct 05, 2009 3:13 am

Re: MEGAMAX MODULA-2

Postby m0n0 » Wed Jul 10, 2013 1:17 pm

There is one thing about MM2 that I don't understand. There is the complete source packages available, as it says:
http://www.tempel.org/ftp/pub/outdated/ ... DevEnv.ZIP

But how the fck does it translate mm2 statement's into assembly? I couldn't figure it out... looks like there is something missing in the package.

It's a problem like egg and chicken... without assembly, there can't be no MM2 interpreter... And it looks like the interpreter is written in MM2 itself ;)
So how the fck does it work, do you get me :angel: :? ?

Background: I once had a look to see if you can recompile mm2 with coldfire instructions only,... but there is almost no C source code, because the interpreter itself is MM2 ;)

tcat
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 106
Joined: Fri May 03, 2013 6:00 am

Re: MEGAMAX MODULA-2

Postby tcat » Wed Jul 10, 2013 6:05 pm

Hi,

I am complete MM2 beginner so I am not sure I could help at all.
I used the sources by the author, Thomas Templemann, as provided here,

http://www.tempel.org/files-e.html

I can compile DEMO sample modules, I can also link them to executables
, but I have not tried to recompile MM2COMP.

I will try, it sounds interesting, there are actually two compiler modules in the source, MM2COM.* and MM2COMP2.*

User avatar
mfro
Atari Super Hero
Atari Super Hero
Posts: 714
Joined: Thu Aug 02, 2012 10:33 am
Location: SW Germany

Re: MEGAMAX MODULA-2

Postby mfro » Wed Jul 10, 2013 6:47 pm

m0n0 wrote:There is one thing about MM2 that I don't understand. There is the complete source packages available, as it says:
http://www.tempel.org/ftp/pub/outdated/ ... DevEnv.ZIP

But how the fck does it translate mm2 statement's into assembly? I couldn't figure it out... looks like there is something missing in the package.

It's a problem like egg and chicken... without assembly, there can't be no MM2 interpreter... And it looks like the interpreter is written in MM2 itself ;)
So how the fck does it work, do you get me :angel: :? ?

Background: I once had a look to see if you can recompile mm2 with coldfire instructions only,... but there is almost no C source code, because the interpreter itself is MM2 ;)


AFAIK, the MM2 package was originally developed for the "GEPARD Computer" (an early, but pretty sophisticated "greenscreen" modular 68020 system developed and sold in Germany) and has been ported later on to the ST.

I personally never tried to compile it with itself.

tcat
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 106
Joined: Fri May 03, 2013 6:00 am

Re: MEGAMAX MODULA-2

Postby tcat » Tue Jul 30, 2013 7:08 pm

Part of MM2 is GEP_ED, Gepard Editor, this is possibly also a legacy from the German system of the same name.

MM2 shell uses it's own busy cursor, but I cannot quite get what it is, not a wrist watch like on Mac, nor a silhouette of a sitting Gepard?

User avatar
viking272
Captain Atari
Captain Atari
Posts: 298
Joined: Mon Oct 13, 2008 12:50 pm
Location: west of London, UK

Re: MEGAMAX MODULA-2

Postby viking272 » Sun Dec 31, 2017 12:18 pm

charles wrote:if u like mm2
try pascal, it's successor
(pure pascal)

very same program design
declaration varaibles ...program flow

but it integrates asm differentily

i think from time to time i talk to the authore , i even wrote out alot of the german into english and made an english version of the mm2


charlie

Surely Modula-2 is the successor to Pascal? There are similarities but Modula-2 was a revision on Pascal by Wirth.
https://www.modula2.org/modula-2.php

Has anyone looked at Atari implementations of Modula-2 and Free Pascal to assess how they compare in terms of Atari specifics e.g. AES/VDI, continued maintenance and development etc. To me the work on Pascal may make that the better choice if I was to chose between the two?

tcat
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 106
Joined: Fri May 03, 2013 6:00 am

Re: MEGAMAX MODULA-2

Postby tcat » Sun Dec 31, 2017 2:25 pm

Surely Modula-2 is the successor to Pascal?


Wirthian languages genealogy.
Algol68 -> Pascal -> Modula2 -> Oberon

Pascal objective - didactical for teachning structured programming
Modula objective - introduced modules, separate unit compilation, dynamic loading, system design (ETH University Lilith)
Oberon objective - introduced type extension and system object programming (ETH University Ceres)

https://www.inf.ethz.ch/personal/wirth/projects.html

To me the work on Pascal may make that the better choice if I was to chose between the two?


In this interview, prof. Wirth admits himself, that had he named Modula, Pascal-3 instead, the language would have taken on even wider popularity.
https://youtu.be/BJIqHIYSDrk

In the 80's Apple Computer, considered Modula-2 for system development as it allowed separate module compilaton aiding distributed work in teams. They opted for their inhouse Pascal in the end, as that was ready made solution endorsed by ISO standard, while Modula was not yet, and the fact Modula-2 was much leaner language and generated better code over most `C' development systems of that time (1980-1985).

Tomas


Social Media

     

Return to “C / PASCAL etc.”

Who is online

Users browsing this forum: No registered users and 1 guest