Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Is AMOS Interface worth learning?  (Read 11200 times)

0 Members and 1 Guest are viewing this topic.

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Is AMOS Interface worth learning?
« on: September 02, 2007, 09:54:36 PM »


Hi,

I have only glanced at the AMOS Interface pages in the Pro manual. I did enter one example piece of code, but that had some sort of error in it. I triple checked the code to make sure I didn't make any typo's, so there must have been a typo in the manual (or AMOS Interface doesn't work!).

Has anyone used this part of AMOS before?


Regards,
Lonewolf10

Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: Is AMOS Interface worth learning?
« Reply #1 on: September 02, 2007, 10:09:40 PM »

It's probably not terribly useful at this time.  Maybe Mattathias Basic can do something with it when we get to it.
Logged

Sidewinder

  • Forum Mod
  • A600
  • *****
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 155
    • http://www.liquido2.com/
Re: Is AMOS Interface worth learning?
« Reply #2 on: September 03, 2007, 01:51:02 AM »

Yes, I've used interfaces before and they are quite handy, although a bit crude by modern standards.  But they certainly introduce the basic elements of GUI programming and even allow for skinned interfaces!  Go for it, it's much nicer than using Mouse Zone.
Logged
- Sidewinder

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Is AMOS Interface worth learning?
« Reply #3 on: August 01, 2008, 09:51:50 PM »


Hmmm... well I was clearly wrong about it not working. Although I haven't tried to get it working again (yet) I have found evidence that Francios uses it within AMOS itself to bring up some (or all) of the message windows!!
Anyone viewing the AMOS Pro executable in a hex editor will find AMOS Interface code embedded in it. I will extract it myself at a later date, but I'm busy with the extension creation guide at present.


Regards,
Lonewolf10

Logged

Mequa

  • A600
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 64
Re: Is AMOS Interface worth learning?
« Reply #4 on: December 11, 2010, 10:30:15 PM »

If I may bump this old thread...

François indeed used the AMOSPro Interface script for virtually the entire AMOSPro editor GUI, as well as the accessories and AMOSPro Compiler shell.
In a sense it was the AMOSPro alternative to the Intuition API, perhaps resurrecting some of the original STOS "operating system replacement" concepts.
STOS originally stood for "(Atari) ST Operating System", and like the old 8-bit OS's, it included a BASIC interpreter, but was originally intended as a full replacement OS. It was redesigned as a game engine instead, and "STOS" became meaningless as an acronym.
AMOS doesn't officially stand for anything other than a portmanteau of Amiga and STOS (with possible reference to a biblical prophet).

I never touched the Interface myself, its ugly syntax originally scared me off. :D

Some AMAL examples in the manual also contain typos, but I managed to correct them. The AMOSPro manual has several.
Including the mouse/Autotest demo I included with jAMAL 0.11, which I based on the one in the AMOSPro manual (page 07.06.17):
"AUtotest (If R1<>XM Jump Update; If R1<>YM Jump Update; else eXit; Update: Let R0=XM; Let R1=YM; Direct M)..."
This should have read "R0" instead of the first "R1". R0 is the old X Mouse position, you want to compare X Mouse and R0, not R1... but anyway, that's AMAL, nor Interface.
Logged

bruceuncle

  • AMOS Dev
  • A500
  • *****
  • Karma: 6
  • Offline Offline
  • Gender: Male
  • Posts: 425
  • WINUAE Amiga User
AMOS Interface - Pro Docs missing some commands?
« Reply #5 on: February 02, 2012, 07:46:35 AM »

Just started pulling AMOS Pro Interface procedures apart with a view to writing an 'expander' to make them more readable (with an associated 'compressor' to pack them back into their original format).  It may be possible for the 'expanded' code to be used 'as is' because of the way the Interface interpreter ignores lower case, we'll see.  Just expanding the two-character keywords to their full format is a big help.  I know the original reason for the almost unreadable code was the tight RAM on the Amiga.  But I'm running under WINUAE so I don't care about size while I'm coding ;).

It's a very useful AMOS subset (like AMAL) but I can understand why its terse (sic) syntax puts people off.  I want to end that!

However, as soon as I started, it became apparent that not all the commands are documented.  So far I've come across these in Resource_Bank_Maker.AMOS's own resouce bank:
  • BI
  • BJ (the mind boggles  :) )
  • BT
  • BV
  • CT
  • LS
  • RB
It's the main dialogue procedure.
There may be more - I've only just got through the first few lines.

Here's a short sample of what I'm looking at with the undocumented stuff in orange (I think I got them right - going cross-eyed just looking at it again):

SI1VATW160+,64;BASWSX-2/,SHSY-2/;IF0VA0\;[SA1;]RB0,0,SX,SY,0;CT16,8,SX16-,32,1,1VA;
IF0VA1=;[BJ1,16,SY24-,64,5ME;KY27,0;BJ2,SX80-,SY24-,64,4ME;KY13,0;
RU0,3;]IF0VA2=;[BJ1,SX80-,SY24-,64,5ME;KY$FF,0;RU0,3;]EX;LA1;BA0,0;
SISW,SH;BT1,0,0,48,3ME;SV0,1ME' V'!16VA!2ME!0VA!;BI0,XB,0,SXXB-,0VA;
RB0,16,SX,SY,0;BT3,16,22,SX2/16-,10ME;BT4,XA,YB1-,XBXA-,11ME;BT9,XA,YB1-,XBXA-,17ME;
BT5,XA,YB1-,XBXA-2/,12ME;BT6,XB,YA,XBXA-,13ME;BT7,SX2/16+,26,SX2/32-,14ME;
BT8,XA,YB2+,XBXA-,15ME;BT10,XA,YB2+,XBXA-,16ME;EX;LA2;BA0,0;SISW,SH;
BT1,0,0,48,21ME;SV0,1ME20ME!;BI0,XB,0,SXXB-,0VA;RB0,16,SX,SY,0;LS3,16,22,SX80-,SY6-,%11;



Anyone know anything further?  Or where I can chase this up?  Or am I out on a limb?
Logged
Repeat after me ...  "The AMOS Pro architecture is complex but it is not complicated."

bruceuncle

  • AMOS Dev
  • A500
  • *****
  • Karma: 6
  • Offline Offline
  • Gender: Male
  • Posts: 425
  • WINUAE Amiga User
Re: Is AMOS Interface worth learning?
« Reply #6 on: February 02, 2012, 08:09:04 PM »

Erm.  This is a wild goose chase innit?  Apologies, but this feature is never used in AMOS Pro  :-[ .

I should have realised this earlier, but got carried away with the Resource Bank Maker and intrigued with the Interface Program strings in the system banks.

I would speculate that these were intended instructions that got replaced by the more powerful UserInstruction command.  Rather than clutter up this language subset with even more than its current 70-plus set of commands and functions, it looks like the UI command was opted for instead.

Interesting that these (and the ability to edit them in Resource Bank Maker) were left in place when, at the time, memory space was a bit of a scarce resource.

Anyway, one result is that I've now made a useful quick-reference for the Interface Language which I'll post in PDF format when I've tidied it up.  I also want to do the same for AMAL.  It's a lot more convenient than wading through the manual in the middle of a program...

Also, although whoever made the PDF version of the manual did a great job, it's very hard to use on-screen with the original's page numbering system.  (Even harder on an e-book reader  ;D !)  So I'm adding bookmarks in the same format as the original contents which make it more useful as a reference guide.  About half way through now but sleep requirements took over.  Should be finished over the weekend (busy with other stuff today).  Will post when it's complete.
Logged
Repeat after me ...  "The AMOS Pro architecture is complex but it is not complicated."

Etze

  • A600
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 1
  • Generic Amiga User
Re: Is AMOS Interface worth learning?
« Reply #7 on: February 03, 2012, 03:14:12 PM »

Anyway, one result is that I've now made a useful quick-reference for the Interface Language which I'll post in PDF format when I've tidied it up. 

Hey, I'm very interested in this reference! Cool thing :)
Logged

MadAngus

  • There is no spoon.
  • Site Admin
  • A500
  • ******
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 497
  • AMOS Docs / AIAB Dev
    • AIAB (Amiga In A Box)
Re: Is AMOS Interface worth learning?
« Reply #8 on: February 04, 2012, 03:56:00 PM »

bruceuncle, a couple of questions

Quote
Also, although whoever made the PDF version of the manual did a great job, it's very hard to use on-screen with the original's page numbering system. 

Are you are referring to the AMOS creators user guide or any of the other manuals I have released. If so I have to say sorry about that :(. I used a different structuring system to that of the original manuals. However, the page numbering and page text will be corrected in the second revision. ;)

Also do you have any objections if I use your work from The Quick Reference Guide's you are creating in the AMOS Manuals project I am doing. Thread is -> Here
Logged
My shadow says otherwise.

bruceuncle

  • AMOS Dev
  • A500
  • *****
  • Karma: 6
  • Offline Offline
  • Gender: Male
  • Posts: 425
  • WINUAE Amiga User
Re: Is AMOS Interface worth learning?
« Reply #9 on: February 06, 2012, 04:15:08 AM »

Thanks for all the replies peoples.  Encouraging to know there's some interest out there.

I must apologise once more (it's becoming a habit  :-[ ) as my last post was very inaccurate.  The program strings in a Resource Bank are used.  It's just that the AMOS Pro manual left that important reference out.  The built-in AMOS Pro Help does get it right and I've included the extra syntax formats as notes in my bookmarked version of the AMOS Pro Manual PDF:

To summarise, all the following are valid syntax.  And in the context of the original manual, should be reasonably self-explanatory:

button=Dialog Box(Interface$)
button=Dialog Box(program)
button=Dialog Box(Interface$,value)
button=Dialog Box(program,value)
button=Dialog Box(Interface$,value,parameter$)
button=Dialog Box(program,value,parameter$)
button=Dialog Box(Interface$,value,parameter$,x,y)
button=Dialog Box(program,value,parameter$,x,y)

Dialog Open channel,Interface$
Dialog Open channel,program
Dialog Open channel,Interface$,nvar
Dialog Open channel,program,nvar
Dialog Open channel,Interface$,nvar,buffer
Dialog Open channel,program,nvar,buffer

button=Dialog Run(channel)
button=Dialog Run(channel,label)
button=Dialog Run(channel,label,x,y)


where 'program' is the number of a program string in the Resource Bank.  I included the Dialog Run variations as it's not obvious that you don't need to specify the x and y parameters to just use the label format.

Looks like it may be worth doing a comparison between the huge text file used by the help system and the manual to get the two in line.  Big job but one has to start somewhere (sigh)...

And to MadAngus, I have absolutely no objection to anyone using anything that I post.  Heck, I've been plaguerising some kind person's AMOS Pro Manual in PDF format to add the bookmarking and notes ;D .  Hopefully, if enough interest is revived, we should be able to get these docs into really useful formats.

How do I go about posting the quick reference for people to download?  It's just about complete.  And the first version of the bookmarked manual with notes is ready to go now.  Can someone let me know what I have to do?

It's good to see people still wrapped in AMOS.  Very different to today's bloatware offerings and so very, very powerful.  I'm a committed object-oriented programmer commercially.  But I've always found that coders who've never got down to the bare bones (assembler, etc) have no idea what they're doing to precious resources and response times.  "Yer have to know what the code's doing to understand how to use it effectively!"

And, finally, those missing commands turned out to be UserInstruction commands defined at the end of the 7k block I was pulling apart.  A bit strange as I wouldn't normally expect a language compiled on the fly to use forward references as surely that requires two-passes?

MadAngus!  I just had a look at your thread link.  Wow!  You've been hard at it :).  Any help I can give is willingly offered.  Good documentation is the cornerstone of any development work in a language.  Too often, very useful features are overlooked if they're not explained well.  The AMOS Interface system is a good case of this.  It's very powerful and not too difficult to use.  Explain it right and it will get used.  Hopefully the expander compressor I want to write for the Interface Language (and maybe incorporate into the Resource Bank Maker?) might help.  It will take a little while... ::)
Logged
Repeat after me ...  "The AMOS Pro architecture is complex but it is not complicated."

MadAngus

  • There is no spoon.
  • Site Admin
  • A500
  • ******
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 497
  • AMOS Docs / AIAB Dev
    • AIAB (Amiga In A Box)
Re: Is AMOS Interface worth learning?
« Reply #10 on: February 06, 2012, 08:44:14 AM »

Firstly, bringing AMOS fully back to life is going to take a couple of years, so you've got plenty of time. ;)

FOL or Hungary Horace will advise on getting your Quick Reference uploaded. Alternatively (I hope I'm not over stepping my privileges here) you can email it to me and I can upload it for you.

I'll send you a pm to discuss a couple of things.
Logged
My shadow says otherwise.

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Is AMOS Interface worth learning?
« Reply #11 on: February 06, 2012, 10:34:39 AM »

Alternatively (I hope I'm not over stepping my privileges here) you can email it to me and I can upload it for you.

definately not!!

It's nice to have active forum members wanting to contribute and help out!

Sadly i do not have as much time as I used to for day-to-day maintenance...
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

FOL

  • PSPUAE Dev Team
  • Site Admin
  • A4000T
  • ******
  • Karma: 690
  • Offline Offline
  • Gender: Male
  • Posts: 3,559
  • Amigakit.com Technical
    • PSPUAE
Re: Is AMOS Interface worth learning?
« Reply #12 on: February 06, 2012, 08:11:24 PM »

Alternatively (I hope I'm not over stepping my privileges here) you can email it to me and I can upload it for you.

definately not!!

It's nice to have active forum members wanting to contribute and help out!

Sadly i do not have as much time as I used to for day-to-day maintenance...

I agree with Horace, :).
Logged
Quote
Resolute and Industrious
Grand ruler of the yellow people and the Ultimate Amiga Empire

MadAngus

  • There is no spoon.
  • Site Admin
  • A500
  • ******
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 497
  • AMOS Docs / AIAB Dev
    • AIAB (Amiga In A Box)
Re: Is AMOS Interface worth learning?
« Reply #13 on: February 08, 2012, 01:21:38 AM »

I have just uploaded bruceuncle's quick-reference for the AMOS Pro Interface Language (AMOS Interface Command Summary V1.00.zip)

This is now available in the downloads section. Big thank you to bruceuncle for his work.
Logged
My shadow says otherwise.
Pages: [1]   Go Up
 

TinyPortal 2.2.2 © 2005-2022