The GEM-Message-List Revision 03 15.06.1997 by Thomas Much This revision updated by Mark Wherry mark_wherry@hotmail.com Contents ======== 1 Introduction 1.1 Anmerkungen 2 A Programmers Guide To Using AES Messages 3 The Messages 3.1 Screen-Manager 3.1.1 Window Requests 3.1.2 Compatibility 3.2 TDI-Modula 3.3 CALCLOCK 3.4 Scrap 3.5 XAcc-Protocol 3.6 PureC-Help-Protocol 3.7 H„nisch Modula-2 3.8 HFB-Hausfinanzbuchhaltung 3.9 Manager 3.10 Menu-Protocol 3.11 IDC 3.12 OLGA-Protocol 3.13 Relationships 3.14 1st Address 3.15 GREPIT 3.16 Kobold-Protocol 3.17 CAD-3D 3.18 SE-Protocol 3.19 Freedom-Protocol 3.20 AV-Protocol 3.21 Mafia 2 3.22 Paula-Protocol 3.23 Tracer 3.24 OLE-Protocol 3.25 Videotext-Protocol 3.26 Object-Exchange-Protocol 3.27 Security 3.28 View-Protocol V1.04 3.29 WINX 3.30 CHEMCALC 3.31 Magic 4.00 3.32 EnhancedGEM 3.33 Font-Protocol 3.34 CAT 3.35 WinRec 3.36 Route It! / Circu It! 3.37 CAB-Protocol 3.37.1 CAB-Protocol-Documentation 3.38 Cybersmash 3.39 Degas 3.40 BubbleGEM 3.41 Trouble-Bubble-Protocol 3.42 GEMJing 3.43 Focus 3D 3.44 Other Messages 4 Category Index 5 Sources 1 Introduction *************** Welcome to the latest update to the GEM message list. This list was started by Thomas as a result of there being no sorted reference to the various protocols in use on the Atari platform. I found it really useful when I downloaded it from his web page, but it had one problem- there were no breakdowns or explanations as to what each message was or what it contained. As he said he was busy with many other projects, I agreed to look after the list for him and add more information to it. So if you find any errors, or have any suggestions or comments, eg. how useful has been :-) please let me know! While I've tried to make the descriptions as useful as possible, some are still quite brief. As this document is only intended as a reference, I recommend you have a look at the sources if you can. The earlier versions of this list were in German, but as I'm English; future revisions (including this one), will also be in English. Please do not change the list yourself, ask me to do it for you! But, feel free to circulate it as much as possible. Enjoy the messages! Mark Wherry Email: mark_wherry@hotmail.com Snail-Mail : 4 Fernpark Close, Topsham Road, Exeter, Devon, EX2 6AW The current revisions of this this list can be found at: Thomas Much's excellent New Born Programmers page: http://www.uni-karlsruhe.de/~Thomas.Much/nbp.html My own home page (when it appears!): http://www.geocities.com/SiliconValley/Lakes/5375/ ---------------------------------------------------------------------- As the list was already in UDO format, I have decided to stick with it. I am now a UDO convert, I think it must be the best tool for creating hypertext documentation in the world, despite it's hefty registration fee! Also, the hexadecimal values are given with the '$' prefix, as is the convention in Pascal. This was the state in which the values were in originally, so I have left them as that. C programmers using them will obviously need to use the '0x' prefix. ---------------------------------------------------------------------- 1.1 Anmerkungen ================ In der folgenden Liste sind alle mir bekannten GEM-Messages aufgefhrt (z.Z. noch ohne Kommentar). Die Auflistung erfolgt nach Protokollen sortiert, aber da die meisten Protokolle zusammenh„ngende Messages verwenden, liegt also auch fast eine numerische Sortierung vor. Einzelne Messages sind am Ende zu finden. Zwei Punkte ("..") zwischen Messages kennzeichnen ganze Bereiche, an "šL" hinter dem Namen erkennt man eine Nachricht mit šberl„nge. Žnderungen und Erweiterungen an: Thomas Much @ KA2 Thomas_Much@ka2.maus.de Thomas.Much@stud.uni-karlsruhe.de ---------------------------------------------------------------------- English intervention! This revsion of the list is maintained by Mark Wherry, so talk to me instead! mark_wherry@hotmail.com ---------------------------------------------------------------------- oder per Fax: +49 / (0)721 / 62 28 21 Bitte die Liste nicht selbst ver„ndern und in Umlauf bringen! Bei einer Erg„nzung ben”tige ich auf jeden Fall die Message-Nummer, sch”n w„ren auch der Message-Name und das (oder die) zugeh”rige(n) Programm(e). Die Liste soll dazu dienen, Inkompatibilit„ten aufgrund von Messageberschneidungen von Anfang an zu vermeiden. Wer also neue Messages belegen will, sollte zuerst in dieser Liste nachsehen, ob die Nummer nicht vielleicht schon belegt ist. Die aktuellste Version der Liste sollte immer in der Maus KA - (0721) 358887 - als GEMMSG.ZIP sowie im WorldWideWeb auf http://www.uni-karlsruhe.de/~Thomas.Much/nbp.html zu finden sein. Die GEM-Message-Liste wird mit UDO6 verwaltet. 2 A Programmers Guide To Using AES Messages ******************************************** This article was originally written for Ictari, an English disk magazine for Atari programmers. Due to the nature of this hypertext I thought it might be useful to include it here as well. ---------------------------------------------------------------------- Messages From The Inside Mark Wherry takes a look at AES messages, and how to interface your programs with them. ---------------------------------------------------------------------- In modern Atari programming there is one area that is rapidly increasing in popularity, it seems that every week there are more and more protocols and messages for us to learn and use. What is even more frustrating is not being able to use the protocols, so I'll now try to de-mystify the ancient art of the AES message. The first step to be taken is when you appl_init() your application. It is now really important that you store the integer that will be returned, as this will be the unique number that identifies your application in the AES. eg. int ap_id; /* Application Identifier */ ap_id=appl_init(); Before you want to send a message, you must first find out the identifier of the application you want to send the message to. This is really easy as there is a function to do just that; use appl_find with the name of the application, and the id will be returned. eg. int other_id; char *name; other_id=appl_find(name); It is important that the name is only 8 characters long, but if it is shorter, you will have to pad it with spaces. So for example, if you wanted to find the identifier for CAB, you would call appl_find like this: cab_id=appl_find("CAB "); If something goes wrong, the value -1 will be returned as the identifier. This means that the program is not loaded in the memory. The actual message is an array of eight shorts which has a standard length of 16 bytes, declared like this: short msg[8]; However, we now want to put something into the values but what do we do? Well, we need to know exactly how the message we want to send is structured. Although each message is different, there are a few conventions common to all messages: msg[0] is always the message type, eg. AC_OPEN. msg[1] always contains the application identifier of the program sending the message. msg[2] always defines the length of the message, not including the pre-defined 16 bytes. This is usually 0. So how do you put information into the message? Well numerical values are easy, but what about filenames or other uses involving an array of characters? Well they're easy too using the following code: When sending characters you need to do it like this: *(char**)&msg[x]=text_to_send; x is the pointer to which part of the array the pointer will be stored. In message definitions you will usually see something like this: msg[3]= \Pointer to the text msg[4]= / For this example, x would be three, but there would be no need for any direct definition for msg[4]. We could define the following function, to make using the above code even more easier: #define str2ptr(x,text) *(char**)&msg[x]=text So now we can define a message, we send it using the appl_write function, which is defined as: error=appl_write(ap_id,length,msg); ap_id is the value returned by appl_init, the identifier for your application, length is the length of the message you are sending, which will usually be 16 and, msg is the message itself. The error value will be returned as 0 if everything went OK, and as a non-zero value if there was a problem. So that's all there is to sending a message, and here's a function to make life that bit easier! It's not exactly a mile-stone in coding, but it helps out a little. (PS. I'm using LC5) int SendMessage(char *apptosend, short sm0, short sm1, short sm2, short sm3, short sm4, short sm5, short sm6, short sm7) { short sm_msg[8]; int other_id,error; other_id=appl_find(apptosend); error=other_id; if(other_id>=0){ sm_msg[0]=sm0; sm_msg[1]=sm1; sm_msg[2]=sm2; sm_msg[3]=sm3; sm_msg[4]=sm4; sm_msg[5]=sm5; sm_msg[6]=sm6; sm_msg[7]=sm7; error=appl_write(other_id,16,sm_msg); } return error; } The obvious gap now is, how do we receive the messages? Well, you'll be glad to know that it's even easier than sending them. Simply use the evnt_mesag function which you may already be familiar with from window and accessory handling. Here is an example of how to handle messages: while(notfalse) { evnt_mesag(msg); switch(msg[0]) { case MESSAGE_TYPE_1: ...Your handling of the message goes here... break; case MESSAGE_TYPE_2: ...Your handling of the message goes here... break; } } To get numerical values out of the message is as easy as putting them in, what about extracting characters using pointers? When extracting characters from a received message, simply do this: text_to_retrieve=((char*)(((long)msg[x]<<16)|(((long)msg[x+1])&0xFFFF))) x is again the pointer to retrieve the text, so for the previous example, x would be 3, and obviously x+1 would be 4. We could define the following function, to make using the above code even more easier: #define ptr2str(x) ((char*)(((long)msg[x]<<16)|(((long)msg[x+1])&0xFFFF))) To round off our first expedition let's have a quick look at the popular VA_START message as an example. The VA_START message is defined and structured like this: #define VA_START 0x4711 msg[0]=VA_START msg[1]=ap_id msg[2]=0 msg[3]= \ Pointer to filename (must include full path) msg[4]= / msg[5]=0 msg[6]=0 msg[7]=0 An important point to make is that when send a path using '\', you must use two instead of one. So if you want to send "C:\HELLO\HELLO.IMG", you would actually send "C:\\HELLO\\HELLO.IMG". To send a VA_START message to CAB, you would: error_return=SendMessage("CAB ",VA_START,0,0, str2ptr(3,"C:\\HELLO\\HELLO.HTM"),0,0,0); To receive a VA_START message you would: evnt_mesag(msg); if(msg[0]==VA_START){ filename=ptr2str(3); printf("%s\n",filename); } I hope this is of some help :-) 3 The Messages *************** 3.1 Screen-Manager =================== +-------+------+---------------------+-----------------------------------------+ | | | | | | Hex | Dec | Name | Description | | | | | | +-------+------+---------------------+-----------------------------------------+ | $000a | 10 | MN_SELECTED | [3] the object number of the menu | | | | | title selected. | | | | | [4] the object number of the menu | | | | | item selected. | +-------+------+---------------------+-----------------------------------------+ | $0014 | 20 | WM_REDRAW | [3] handle of window to be redrawn. | | | | | [4],[5],[6],[7] x,y,w,h coordinates | | | | | of area to be redrawn. | +-------+------+---------------------+-----------------------------------------+ | $0015 | 21 | WM_TOPPED | [3] handle of the window that has been | | | | | topped by the user. | +-------+------+---------------------+-----------------------------------------+ | $0016 | 22 | WM_CLOSED | [3] handle of the window that has been | | | | | closed by the user. | +-------+------+---------------------+-----------------------------------------+ | $0017 | 23 | WM_FULLED | [3] handle of the window that has been | | | | | fulled by the user. | +-------+------+---------------------+-----------------------------------------+ | $0018 | 24 | WM_ARROWED | [3] handle of the window in which a | | | | | scroll event has been detected. | | | | | [4] the action requested, which are | | | | | as follows: | | | 0 | WA_UPPAGE | Page up. | | | 1 | WA_DNPAGE | Page down. | | | 2 | WA_UPLINE | Line up. | | | 3 | WA_DNLINE | Line down. | | | 4 | WA_LFPAGE | Page left. | | | 5 | WA_RTPAGE | Page right. | | | 6 | WA_LFLINE | Line left. | | | 7 | WA_RTLINE | Line right. | +-------+------+---------------------+-----------------------------------------+ | $0019 | 25 | WM_HSLID | [3] handle of the window in which the | | | | | user has dragged the horizontal slider. | | | | | [4] the new position of the slider from | | | | | 0(left) to 1000(right). | +-------+------+---------------------+-----------------------------------------+ | $001a | 26 | WM_VSLID | [3] handle of the window in which the | | | | | user has dragged the vertical slider. | | | | | [4] the new position of the slider from | | | | | 0(top) to 1000(bottom). | +-------+------+---------------------+-----------------------------------------+ | $001b | 27 | WM_SIZED | [3] handle of the window that has been | | | | | resized by the user. | | | | | [4],[5],[6],[7] x,y,w,h coordinates of | | | | | the new window. | +-------+------+---------------------+-----------------------------------------+ | $001c | 28 | WM_MOVED | [3] handle of the window that has been | | | | | moved by the user. | | | | | [4],[5],[6],[7] x,y,w,h coordinates of | | | | | the new window. | +-------+------+---------------------+-----------------------------------------+ | $001d | 29 | WM_NEWTOP | | +-------+------+---------------------+-----------------------------------------+ | $001e | 30 | WM_UNTOPPED | [3] handle of the window that is being | | | | | untopped, ie. another window has been | | | | | topped. | +-------+------+---------------------+-----------------------------------------+ | $001f | 31 | WM_ONTOP | [3] handle of the window that been | | | | | brought to the front on a multi-tasking | | | | | AES. | +-------+------+---------------------+-----------------------------------------+ | $0021 | 33 | WM_BOTTOMED | [3] handle of the window that should be | | | | | sent to the bottom of the window stack, | | | | | as a result of the user shift-clicking | | | | | the mover bar of the window. | +-------+------+---------------------+-----------------------------------------+ | $0022 | 34 | WM_ICONIFY | [3] handle of the window in which the | | | | | user has clicked the iconify gadget. | | | | | [4],[5],[6],[7] x,y,w,h coordinates | | | | | that the window must iconify to. | +-------+------+---------------------+-----------------------------------------+ | $0023 | 35 | WM_UNICONIFY | [3] handle of the window in which the | | | | | user has double clicked to uniconify. | | | | | [4],[5],[6],[7] x,y,w,h coordinates to | | | | | restore the window to. | | | | | If all your windows were iconified | | | | | using the function below, you will | | | | | need to re-open any windows that were | | | | | closed. | +-------+------+---------------------+-----------------------------------------+ | $0024 | 36 | WM_ALLICONIFY | [3] handle of the window in which the | | | | | activated the WM_ALLICONIFY. | | | | | Iconify that window in the same way | | | | | as for WM_ICONIFY, but close all the | | | | | other windows for that application. | +-------+------+---------------------+-----------------------------------------+ | $0025 | 37 | WM_TOOLBAR | [3] handle of the window in which the | | | | | user has selected a toolbar object | | | | | that is flagged as 'touchexit'. | | | | | [4] the index of the object. | | | | | [5] the number of mouse clicks. | | | | | Note: the object is not automatically | | | | | set to selected. | +-------+------+---------------------+-----------------------------------------+ | $0028 | 40 | AC_OPEN | [3] the desk accessory menu identifier | | | | | as returned by the menu_register call. | +-------+------+---------------------+-----------------------------------------+ | $0029 | 41 | AC_CLOSE | [3] the desk accessory menu identifier | | | | | as returned by the menu_register call. | +-------+------+---------------------+-----------------------------------------+ | $0032 | 50 | AP_TERM | Sent by the system to a program | | | | (lt. DR: CT_UPDATE) | to tell it to quit itself. The | | | | | program should handle this | | | | | message as if the user has quit | | | | | the program. [5] indicates the | | | | | reason for the shutdown which | | | | | is either AP_RESCHG or AP_TERM | | | | | if there is no specific reason. | | | | | The application should respond | | | | | with AP_TFAIL if it cannot | | | | | be shut down. | +-------+------+---------------------+-----------------------------------------+ | $0033 | 51 | AP_TFAIL | An application should send this | | | | (lt. DR: CT_MOVE) | message to the system if it | | | | | shutdown. [1] should contain | | | | | application error code. | +-------+------+---------------------+-----------------------------------------+ | $0034 | 52 | (lt. DR: CT_NEWTOP) | | +-------+------+---------------------+-----------------------------------------+ | $0035 | 53 | CT_KEY (XControl) | | +-------+------+---------------------+-----------------------------------------+ | $0039 | 57 | AP_RESCHG | This is part of the AP_TERM | | | | | message described above. | +-------+------+---------------------+-----------------------------------------+ | $003c | 60 | SHUT_COMPLETED | Sent to the application that | | | | | requested the shut down when | | | | | it has been successful. | +-------+------+---------------------+-----------------------------------------+ | $003d | 61 | RESCH_COMPLETED | Sent to the application that | | | | | requested a resolution change | | | | | when it has been completed. | | | | | [3] will contain 1 if the | | | | | change was successful and 0 if | | | | | an error occured. | +-------+------+---------------------+-----------------------------------------+ | $003f | 63 | AP_DRAGDROP | [3] handle of the window in | | | | | which the user has dragged an | | | | | object onto. | | | | | [4],[5] contain the mouse | | | | | coordinates when the object was | | | | | dropped. | | | | | [6] indicates the shift key | | | | | status during the action. | | | | | [7] a two-byte ASCII packed id | | | | | which gives the file extension | | | | | of the pipe to open. | +-------+------+---------------------+-----------------------------------------+ | $0048 | 72 | SH_WDRAW | [3] the drive number of the | | | | | of the open drive window on the | | | | | desktop to be updated. (A:=0, | | | | | B:=1, or -1 to update all | | | | | windows. | +-------+------+---------------------+-----------------------------------------+ | $005a | 90 | CH_EXIT | [3] an application id of a | | | | | child process that a program | | | | | started which has returned. | | | | | [4] the exit code of the child | | | | | process. | +-------+------+---------------------+-----------------------------------------+ | $0064 | 100 | WM_M_BDROPPED | | | | | (ASH-MagiC) | | +-------+------+---------------------+-----------------------------------------+ | $0065 | 101 | SM_M_SPECIAL | | | | | (ASH-MagiC) | | +-------+------+---------------------+-----------------------------------------+ | $0066 | 102 | internal | | | .. | .. | ASH-MagiC | | | $006d | 109 | Communication | | +-------+------+---------------------+-----------------------------------------+ | $006e | 110 | | | | .. | .. | reserved | | | $03ff | 1023 | | | +-------+------+---------------------+-----------------------------------------+ Table 1: Messages sent from the AES to your application. 3.1.1 Window Requests ---------------------- Although these messages don't fall into the same category as the others in the list, I thought it would be useful to include them. wind_set should be used as: wind_set(window_handle,request,a,b,c,d); wind_get should be used as: wind_get(window_handle,request,&a,&b,&c,&d); +-------+-----+------------------+-------------------------------------+ | | | | | | Hex | Dec | Request | Description | | | | | | +-------+-----+------------------+-------------------------------------+ | | 1 | WF_KIND | (a) return the attributes of the | | | | | window. | +-------+-----+------------------+-------------------------------------+ | | 2 | WF_NAME | (a) the string to set the window | | | | (set) | name to. | +-------+-----+------------------+-------------------------------------+ | | 3 | WF_INFO | (a) the string to set the window | | | | (set) | info line to. | +-------+-----+------------------+-------------------------------------+ | | 4 | WF_WORKXYWH | (a),(b),(c),(d) the x,y,w,h | | | | (get) | coordinates of the window's current | | | | | work area. | +-------+-----+------------------+-------------------------------------+ | | 5 | WF_CURRXYWH | (a),(b),(c),(d) the x,y,w,h | | | | (get/set) | coordinates of the window's current | | | | | position. | +-------+-----+------------------+-------------------------------------+ | | 6 | WF_PREVXYWH | (a),(b),(c),(d) the x,y,w,h | | | | (get) | coordinates of the current position | | | | | of the previous window. | +-------+-----+------------------+-------------------------------------+ | | 7 | WF_FULLXYWH | (a),(b),(c),(d) the x,y,w,h | | | | (get) | the maximum size of the window. | +-------+-----+------------------+-------------------------------------+ | | 8 | WF_HSLIDE | (a) the current position of the | | | | (get/set) | horizontal slider 1(left)-1000. | +-------+-----+------------------+-------------------------------------+ | | 9 | WF_VSLIDE | (a) the current position of the | | | | (get/set) | vertical slider 1(top)-1000. | +-------+-----+------------------+-------------------------------------+ | | 10 | WF_TOP | (a) the handle of the currently | | | | (get/set) | topped window. | +-------+-----+------------------+-------------------------------------+ | | 11 | WF_FIRSTXYWH | (a),(b),(c),(d) the x,y,w,h | | | | (get) | coordinates of the first rectangle | | | | | in the window's rectangle list. | +-------+-----+------------------+-------------------------------------+ | | 12 | WF_NEXTXYWH | (a),(b),(c),(d) the x,y,w,h | | | | (get) | coordinates of the next rectangle | | | | | in the window's rectangle list. | +-------+-----+------------------+-------------------------------------+ | | 13 | WF_RESVD | | +-------+-----+------------------+-------------------------------------+ | | 14 | WF_NEWDESK | Used to change the object tree for | | | | (set) | the desktop to draw. The first | | | | | object to draw is passed in the | | | | | (c) parameter. A NULL value resets | | | | | to the original object tree. | +-------+-----+------------------+-------------------------------------+ | | 15 | WF_HSLSIZE | (a) the size of the horizontal | | | | (get/set) | slider 1 - 1000. | +-------+-----+------------------+-------------------------------------+ | | 16 | WF_VSLSIZE | (a) the size of the vertical | | | | (get/set) | slider 1 - 1000. | +-------+-----+------------------+-------------------------------------+ | | 17 | WF_SCREEN | (a),(b) the address of the internal | | | | (get) | to the AES alert buffer. | | | | | (w),(h) the length of the buffer. | +-------+-----+------------------+-------------------------------------+ | | 18 | WF_COLOR | | +-------+-----+------------------+-------------------------------------+ | | 19 | WF_DCOLOR | | +-------+-----+------------------+-------------------------------------+ | | 20 | WF_OWNER | | +-------+-----+------------------+-------------------------------------+ | | 24 | WF_BEVENT | (a) this value should be set to | | | | (get/set) | 1 to enable or 0 to disable this | | | | | feature. (a) will return the | | | | | currnet state using wind_get. | +-------+-----+------------------+-------------------------------------+ | | 25 | WF_BOTTOM | (a) the handle of the bottom | | | | (get/set) | window. | +-------+-----+------------------+-------------------------------------+ | | 26 | WF_ICONIFY | (a),(b),(c),(d) x,y,w,h | | | | (set) | coordinates of the 'icon' to | | | | | iconify the window to. Values of | | | | | -1 may be used if the window is to | | | | | iconified in another way. | +-------+-----+------------------+-------------------------------------+ | | 27 | WF_UNICONIFY | (a),(b),(c),(d) x,y,w,h | | | | (set) | coordinates to restore the window | | | | | to. | +-------+-----+------------------+-------------------------------------+ | | 28 | WF_UNICONIFYXYWH | | +-------+-----+------------------+-------------------------------------+ | | 30 | WF_TOOLBAR | (a) the address of the object tree | | | | (set) | to attach to the window. | +-------+-----+------------------+-------------------------------------+ | | 31 | WF_FTOOLBAR | | +-------+-----+------------------+-------------------------------------+ | | 32 | WF_NTOOLBAR | | +-------+-----+------------------+-------------------------------------+ | | 100 | WF_M_BACKDROP | | +-------+-----+------------------+-------------------------------------+ | | 101 | WF_M_OWNER | | +-------+-----+------------------+-------------------------------------+ | | 102 | WF_M_WINDLIST | | +-------+-----+------------------+-------------------------------------+ | $575d | | WF_SHADE | | +-------+-----+------------------+-------------------------------------+ | $575e | | WF_STACK | | +-------+-----+------------------+-------------------------------------+ | $575f | | WF_TOPALL | | +-------+-----+------------------+-------------------------------------+ | $5760 | | WF_BOTTOMALL | | +-------+-----+------------------+-------------------------------------+ Table 2: Window requests to/from the system with wind_set/get 3.1.2 Compatibility -------------------- +-----------------+-----+-----+-------+ | | | | | | | AES | AES | MagiC | | Message | 4.0 | 4.1 | 5 | | | | | | +-----------------+-----+-----+-------+ | WM_UNTOPPED | X | X | ? | +-----------------+-----+-----+-------+ | WM_ONTOP | X | X | ? | +-----------------+-----+-----+-------+ | AP_TERM | X | X | X | +-----------------+-----+-----+-------+ | AP_TFAIL | X | X | X | +-----------------+-----+-----+-------+ | AP_RESCHG | X | X | X | +-----------------+-----+-----+-------+ | SHUT_COMPLETED | X | X | X | +-----------------+-----+-----+-------+ | RESCH_COMPLETED | X | X | X | +-----------------+-----+-----+-------+ | CH_EXIT | X | X | ? | +-----------------+-----+-----+-------+ | WM_BOTTOM | | X | ? | +-----------------+-----+-----+-------+ | WM_ICONIFY | | X | X | +-----------------+-----+-----+-------+ | WM_UNICONIFY | | X | X | +-----------------+-----+-----+-------+ | WM_ALLICONIFY | | X | X | +-----------------+-----+-----+-------+ | WM_TOOLBAR | | X | | +-----------------+-----+-----+-------+ Key: "X" Implemented " " Not implemented "?" Dont't know :-), can you help? 3.2 TDI-Modula =============== +-------+-----+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+-----+--------------+ | $0046 | 70 | TDI_Question | +-------+-----+--------------+ | $0047 | 71 | TDI_Answer | +-------+-----+--------------+ Table 4: Could lead to problems with SCRNMGR 3.3 CALCLOCK ============= +-------+-----+--------------------------------------+ | | | | | Hex | Dec | Name | | | | | +-------+-----+--------------------------------------+ | $0064 | 100 | Druckauftrag | +-------+-----+--------------------------------------+ | $0065 | 101 | Nachricht fr Druckauftrag emfpangen | +-------+-----+--------------------------------------+ Table 5: Nummern sind gltig, da von DR... 3.4 Scrap ========== +-------+------+-------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+-------------+ | $03e8 | 1000 | SCRAP_OK | +-------+------+-------------+ | $03e9 | 1001 | SCRAP_NOTOK | +-------+------+-------------+ | $03ea | 1002 | SCRAP_UPDT | +-------+------+-------------+ | $03eb | 1003 | SCRAP_OPEN | +-------+------+-------------+ Table 6: Lies in the "for Atari" or DR reserved area 3.5 XAcc-Protocol ================== +-------+------+---------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+---------------+ | $0400 | 1024 | ACC_ID | +-------+------+---------------+ | $0401 | 1025 | ACC_OPEN | +-------+------+---------------+ | $0402 | 1026 | ACC_CLOSE | +-------+------+---------------+ | $0403 | 1027 | ACC_ACC | +-------+------+---------------+ | $0404 | 1028 | ACC_EXIT | +-------+------+---------------+ | $0480 | 1152 | ACC_REQUEST | +-------+------+---------------+ | $0481 | 1153 | ACC_REPLY | +-------+------+---------------+ | $0500 | 1280 | ACC_ACK | +-------+------+---------------+ | $0501 | 1281 | ACC_TEXT | +-------+------+---------------+ | $0502 | 1282 | ACC_KEY | +-------+------+---------------+ | $0503 | 1283 | ACC_META | +-------+------+---------------+ | $0504 | 1284 | ACC_IMG | +-------+------+---------------+ | $0510 | 1296 | ACC_GETDSI | +-------+------+---------------+ | $0511 | 1297 | ACC_DSINFO | +-------+------+---------------+ | $0512 | 1298 | ACC_FILEINFO | +-------+------+---------------+ | $0513 | 1299 | ACC_GETFIELDS | +-------+------+---------------+ | $0514 | 1300 | ACC_FIELDINFO | +-------+------+---------------+ | $0520 | 1312 | ACC_FORCESDF | +-------+------+---------------+ | $0521 | 1313 | ACC_GETSDF | +-------+------+---------------+ Table 7: Description in the XAcc-2-Definition 3.6 PureC-Help-Protocol ======================== +-------+------+------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+------------+ | $0401 | 1025 | AC_HELP | +-------+------+------------+ | $0402 | 1026 | AC_REPLY | +-------+------+------------+ | $0403 | 1027 | AC_VERSION | +-------+------+------------+ | $0404 | 1028 | AC_COPY | +-------+------+------------+ Table 8: Incompatible with XAcc! Description in 1st-Guide docs. 3.7 H„nisch Modula-2 ===================== +--------------+------------+------------------------+ | | | | | Hex | Dec | Name | | | | | +--------------+------------+------------------------+ | $0708..$0710 | 1800..1808 | Internal communication | +--------------+------------+------------------------+ 3.8 HFB-Hausfinanzbuchhaltung ============================== +-------+------+--------------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+--------------------+ | $07db | 2011 | INST_CURSOR | +-------+------+--------------------+ | $07dc | 2012 | CHANGE_MENU | +-------+------+--------------------+ | $07dd | 2013 | PUT_VORGABE_DO2 | +-------+------+--------------------+ | $07de | 2014 | PUT_VORGABE_EIGENT | +-------+------+--------------------+ | $07df | 2015 | PUT_DATA_IN_BOX | +-------+------+--------------------+ | $07e0 | 2016 | MY_WM_ONTOP | +-------+------+--------------------+ 3.9 Manager ============ +-------+------+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+--------------+ | $0a2b | 2603 | TOPW_OPENED | +-------+------+--------------+ | $0a91 | 2705 | FILE_UPDATED | +-------+------+--------------+ 3.10 Menu-Protocol =================== +-------+------+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+--------------+ | $1000 | 4096 | WM_SAVE | +-------+------+--------------+ | $1001 | 4097 | WM_SAVEAS | +-------+------+--------------+ | $1002 | 4098 | WM_PRINT | +-------+------+--------------+ | $1003 | 4099 | WM_UNDO | +-------+------+--------------+ | $1004 | 4100 | WM_CUT | +-------+------+--------------+ | $1005 | 4101 | WM_COPY | +-------+------+--------------+ | $1006 | 4102 | WM_PASTE | +-------+------+--------------+ | $1007 | 4103 | WM_SELECTALL | +-------+------+--------------+ | $1008 | 4104 | WM_FIND | +-------+------+--------------+ | $1009 | 4105 | WM_REPLACE | +-------+------+--------------+ | $100a | 4106 | WM_FINDNEXT | +-------+------+--------------+ | $100b | 4107 | WM_HELP | +-------+------+--------------+ | $100c | 4108 | WM_DELETE | +-------+------+--------------+ 3.11 IDC ========= +-------+------+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+--------------+ | $1065 | 4197 | IDC_FROM_ACC | +-------+------+--------------+ | $10a5 | 4261 | IDC_WAKE_UP | +-------+------+--------------+ | $10e5 | 4325 | IDC_FROM_APP | +-------+------+--------------+ 3.12 OLGA-Protocol =================== +-------+------+--------------------+------------------------------------------+ | | | | | | Hex | Dec | Name | Description | | | | | | +-------+------+--------------------+------------------------------------------+ | $1236 | 4662 | OLGA_INIT | [3] contains a bitmap of | | | | (Mgr->Clnt/Sevr) | supported functions: | | $0800 | | OL_IDLE | Manager supports the idle test. | | $1000 | | OL_PIPES | Manager uses MTOS Drag&Drop | | | | | pipes to communicate. Not | | | | | supported in current versions. | | $2000 | | OL_START | Manager can't execute | | | | | OLGA_START. | | $4000 | | OL_MANAGER | App. is the OLGA Manager. | | | | | [4] the level of the available | | | | | protocol (currently 0). | | | | | [7] if the OL mechanism is | | | | | unavailable this value will be | | | | | 0. | +-------+------+--------------------+------------------------------------------+ | $1238 | 4664 | OLGA_UPDATE | [3]+[4] is the pointer to the | | | | (Sevr->Mgr) | complete filename which the | | | | | server program has updated. | | | | | [5] the server internal index | | | | | number. | +-------+------+--------------------+------------------------------------------+ | $1239 | 4665 | OLGA_ACK | Sent to acknowledge some | | | | | messages in the OLGA-Protocol. | +-------+------+--------------------+------------------------------------------+ | $123a | 4666 | OLGA_RENAME | [3]+[4] Pointer to the full path | | | | (Sevr->Clnt) | of the old filename. | | | | | [5]+[6] Pointer to the full path | | | | | of the new (renamed) filename. | +-------+------+--------------------+------------------------------------------+ | $123b | 4667 | OLGA_OPENDOC | An OLGA Client has opened a | | | | (Clnt->Mgr) | document. | | | | | [5] Group ID of the document. | +-------+------+--------------------+------------------------------------------+ | $123c | 4668 | OLGA_CLOSEDOC | An OLGA Client has closed a | | | | (Clnt->Mgr) | document. | | | | | [5] Group ID of the document. | +-------+------+--------------------+------------------------------------------+ | $123d | 4669 | OLGA_LINK | [3]+[4] Pointer to the full | | | | (Clnt->Mgr) | path of a file which has been | | | | | included in the document. | | | | | [5] Group ID of the document. | +-------+------+--------------------+------------------------------------------+ | $123e | 4670 | OLGA_UNLINK | [3]+[4] Pointer to the full | | | | (Mgr->Clnt | path of a file which has become | | | | | unavailable to the client. | | | | | Group ID of the document. | +-------+------+--------------------+------------------------------------------+ | $123f | 4671 | OLGA_UPDATED | [3]+[4] Pointer to the full | | | | | path of a file which has been | | | | | updated. | | | | | [5] 0 or Index number. | | | | | [6] Group ID of the document. | +-------+------+--------------------+------------------------------------------+ | $1240 | 4672 | OLGA_RENAMELINK | [3]+[4] Pointer to the full path | | | | (Mgr->Clnt) | of the old filename. | | | | | [5]+[6] Pointer to the full path | | | | | of the new filename, which has been | | | | | moved/renamed by the server. | | | | | [7] Group ID of the document. | +-------+------+--------------------+------------------------------------------+ | $1241 | 4673 | OLGA_LINKRENAMED | This message is sent in reply | | | | (Clnt->Mgr) | to OLGA_RENAMELINK and, contains | | | | | the same content as that message. | +-------+------+--------------------+------------------------------------------+ | $1242 | 4674 | OLGA_GETOBJECTS | An ID4 Client can send this | | | | (Clnt->Mgr) | message types are available | | | | | to embed. | | | | | [3] first (0) or further | | | | | (1) object. | +-------+------+--------------------+------------------------------------------+ | $1243 | 4675 | OLGA_OBJECTS | Sent in reply to OLGA_GETOBJECTS. | | | | (Mgr->Clnt) | [3] Number of objects which can | | | | | still be retrieved (0=last object). | | | | | [4]+[5] Pointer to file extension. | | | | | [6]+[7] Pointer to plain text object | | | | | description. | | | | | The message OLGA_GETOBJECTS should | | | | | be sent until OLGA_OBJECTS [3]=NULL. | +-------+------+--------------------+------------------------------------------+ | $1244 | 4676 | OLGA_BREAKLINK | [3]+[4] Pointer to the full path | | | | (Sevr->Mgr) | of the file that is no longer | | | | | usable to the client. | +-------+------+--------------------+------------------------------------------+ | $1245 | 4677 | OLGA_LINKBROKEN | A file has become unusable to the | | | | (Mgr->Clnt) | client. Content same as OLGA_BREAKLINK. | +-------+------+--------------------+------------------------------------------+ | $1246 | 4678 | OLGA_START | [3]=: | | $0001 | | OLS_TYPE | ([4]=0, [5]= XAcc program type) | | $0002 | | OLS_EXTENSION | ([4]+[5]= file extender) | | $0003 | | OLS_NAME | ([4]+[5]= pointer to full path | | | | | of app to be started) | | | | (Clnt->Mgr) | [6]+[7] pointer to command line. | +-------+------+--------------------+------------------------------------------+ | $1247 | 4679 | OLGA_GETINFO | [5] Index number of the required | | | | (Clnt->Sevr) | info file. | +-------+------+--------------------+------------------------------------------+ | $1248 | 4680 | OLGA_INFO | In reply to OLGA_GETINFO. | | | | (Sevr->Clnt) | [3]+[4] Pointer to the full | | | | | to the file. | | | | | [5] Index number of the required | | | | | info file. | +-------+------+--------------------+------------------------------------------+ | $1249 | 4681 | OLGA_IDLE | A test to see if all preceding | | | | (App->Mgr) | OLGA messages have been processed. | | | | (Mgr->App) | [3]=1. | | | | | [4]-[7] Reserved. | | | | | The manager will now send the | | | | | same message back to the app. | | | | | [3]=0. | | | | | [4]-[7] same value as received. | +-------+------+--------------------+------------------------------------------+ | $124b | 4683 | OLGA_EMBED | The client would like to embed | | | | (Mgr->Sevr) | an object. | | | | | [3] Client flag. | | | | | [4]+[5] Pointer to OLGAObjectInfo. | | | | | [7] Client ID. | +-------+------+--------------------+------------------------------------------+ | $124c | 4684 | OLGA_EMBEDED | In reply to OLGA_EMBED. | | | | (Sevr->Clnt) | [3]-[5] Same as OLGA_EMBED. | | | | | [6] Width of the object. | | | | | [7] Heigh of the object. (Both | | | | | values in 1/100mm (unsigned)). | +-------+------+--------------------+------------------------------------------+ | $124d | 4685 | OLGA_UNEMBED | The object has become unavailable. | | | | (Sevr->Clnt) | [4]+[5] Pointer to OLGAObjectInfo. | +-------+------+--------------------+------------------------------------------+ | $1256 | 4694 | OLGA_INPLACEUPDATE | The object has been updated. | | | | (Sevr->Clnt) | [4]+[5] Pointer to OLGAObjectInfo. | +-------+------+--------------------+------------------------------------------+ | $124e | 4686 | | | | .. | .. | Reserved | | | $125b | 4699 | | | +-------+------+--------------------+------------------------------------------+ Table 14: Full description in the OLGA documentation See also: OLE-Protocol 3.13 Relationships =================== +-------+------+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+--------------+ | $1970 | 6512 | RS_INITIATE | +-------+------+--------------+ | $1971 | 6513 | RS_TERMINATE | +-------+------+--------------+ | $1972 | 6514 | RS_ACK | +-------+------+--------------+ | $1973 | 6515 | RS_HELLO | +-------+------+--------------+ | $1974 | 6516 | RS_BYE | +-------+------+--------------+ | $1975 | 6517 | RS_LINK | +-------+------+--------------+ | $1976 | 6518 | RS_UNLINK | +-------+------+--------------+ | $1977 | 6519 | RS_DATA | +-------+------+--------------+ | $1978 | 6520 | RS_OPEN | +-------+------+--------------+ Table 15: Description in relships.zoo at ftp 3.14 1st Address ================= +-------+------+--------------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+--------------------+ | $1a00 | 6656 | 1ADDR_INIT | +-------+------+--------------------+ | $1a01 | 6657 | 1ADDR_SEARCH | +-------+------+--------------------+ | $1a02 | 6658 | 1ADDR_INPUT | +-------+------+--------------------+ | $1a03 | 6659 | 1ADDR_SORT | +-------+------+--------------------+ | $1a04 | 6660 | 1ADDR_ALL | +-------+------+--------------------+ | $1a05 | 6661 | 1ADDR_REPLACE | +-------+------+--------------------+ | $1a06 | 6662 | 1ADDR_DELETE | +-------+------+--------------------+ | $1a80 | 6784 | 1ADDR_ANSW_INIT | +-------+------+--------------------+ | $1a81 | 6785 | 1ADDR_ANSW_SEARCH | +-------+------+--------------------+ | $1a82 | 6786 | 1ADDR_ANSW_INPUT | +-------+------+--------------------+ | $1a83 | 6787 | 1ADDR_ANSW_SORT | +-------+------+--------------------+ | $1a84 | 6788 | 1ADDR_ANSW_ALL | +-------+------+--------------------+ | $1a85 | 6789 | 1ADDR_ANSW_REPLACE | +-------+------+--------------------+ | $1a86 | 6790 | 1ADDR_ANSW_DELETE | +-------+------+--------------------+ | $1aff | 6911 | 1ADDR_QUIT | +-------+------+--------------------+ 3.15 GREPIT ============ +-------+------+-----------------+ | | | | | Hex | Dec | Name | | | | | +-------+------+-----------------+ | $1f40 | 8000 | GM_SHOW_FILE | +-------+------+-----------------+ | $1f41 | 8001 | GM_OPEN_DIALOG | +-------+------+-----------------+ | $1f42 | 8002 | GM_OPEN_PRGINFO | +-------+------+-----------------+ 3.16 Kobold-Protocol ===================== +-------+-------+----------------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+----------------------+ | $2f10 | 12048 | KOBOLD_JOB | +-------+-------+----------------------+ | $2f11 | 12049 | KOBOLD_JOB_NO_WINDOW | +-------+-------+----------------------+ | $2f12 | 12050 | KOBOLD_ANSWER | +-------+-------+----------------------+ | $2f13 | 12051 | KOBOLD_CONFIG | +-------+-------+----------------------+ | $2f14 | 12052 | KOBOLD_FIRST_SLCT | +-------+-------+----------------------+ | $2f15 | 12053 | KOBOLD_NEXT_SLCT | +-------+-------+----------------------+ | $2f16 | 12054 | KOBOLD_CLOSE | +-------+-------+----------------------+ | $2f17 | 12055 | KOBOLD_FREE_DRIVES | +-------+-------+----------------------+ Table 18: Description in the Kobold instructions 3.17 CAD-3D ============ +--------------+--------------+--------------------+ | | | | | Hex | Dec | Name | | | | | +--------------+--------------+--------------------+ | $3d00..$3d7f | 15616..15743 | CAD-3D_Request_xxx | +--------------+--------------+--------------------+ | $3d80..$3dff | 15744..15871 | CAD-3D_Reply_xxx | +--------------+--------------+--------------------+ 3.18 SE-Protocol ================= +-------+-------+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+--------------+ | $4200 | 16896 | SE_INIT | +-------+-------+--------------+ | $4201 | 16897 | SE_OK | +-------+-------+--------------+ | $4202 | 16898 | SE_ACK | +-------+-------+--------------+ | $4203 | 16899 | SE_OPEN | +-------+-------+--------------+ | $4204 | 16900 | SE_ERROR | +-------+-------+--------------+ | $4205 | 16901 | SE_ERRFILE | +-------+-------+--------------+ | $4206 | 16902 | SE_PROJECT | +-------+-------+--------------+ | $4207 | 16903 | SE_QUIT | +-------+-------+--------------+ | $4208 | 16904 | SE_TERMINATE | +-------+-------+--------------+ | $4209 | 16905 | SE_CLOSE | +-------+-------+--------------+ | $4240 | 16960 | ES_INIT | +-------+-------+--------------+ | $4241 | 16961 | ES_OK | +-------+-------+--------------+ | $4242 | 16962 | ES_ACK | +-------+-------+--------------+ | $4243 | 16963 | ES_COMPILE | +-------+-------+--------------+ | $4244 | 16964 | ES_MAKE | +-------+-------+--------------+ | $4245 | 16965 | ES_MAKEALL | +-------+-------+--------------+ | $4246 | 16966 | ES_LINK | +-------+-------+--------------+ | $4247 | 16967 | ES_EXEC | +-------+-------+--------------+ | $4248 | 16968 | ES_MAKEEXEC | +-------+-------+--------------+ | $4249 | 16969 | ES_PROJECT | +-------+-------+--------------+ | $424a | 16970 | ES_QUIT | +-------+-------+--------------+ Table 20: See the Everest documentation for full details 3.19 Freedom-Protocol ====================== +-------+-------+----------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+----------------+ | $4564 | 17764 | AF_DOALERT | +-------+-------+----------------+ | $4565 | 17765 | FA_ALERTISOPEN | +-------+-------+----------------+ | $4566 | 17766 | FA_ALERTDONE | +-------+-------+----------------+ | $4567 | 17767 | AF_DOFSELECT | +-------+-------+----------------+ | $4568 | 17768 | FA_FSELISOPEN | +-------+-------+----------------+ | $4569 | 17769 | FA_FSELCLOSED | +-------+-------+----------------+ | $4570 | 17776 | AF_CLOSEACK | +-------+-------+----------------+ | $4571 | 17777 | AF_SENDREDRAW | +-------+-------+----------------+ 3.20 AV-Protocol ================= +-------+-------+-------------------+-----------------------------------+ | | | | | | Hex | Dec | Name | Description | | | | | | +-------+-------+-------------------+-----------------------------------+ | $4700 | 18176 | AV_PROTOKOLL | Tells the AV server that your | | | | | program is an AV compatible | | | | | client. | +-------+-------+-------------------+-----------------------------------+ | $4701 | 18177 | VA_PROTOSTATUS | | +-------+-------+-------------------+-----------------------------------+ | $4703 | 18179 | AV_GETSTATUS | | +-------+-------+-------------------+-----------------------------------+ | $4704 | 18180 | AV_STATUS | | +-------+-------+-------------------+-----------------------------------+ | $4705 | 18181 | VA_SETSTATUS | | +-------+-------+-------------------+-----------------------------------+ | $4710 | 18192 | AV_SENDKEY | [3] is the control keys and [4], | | | | | contains the pressed key that | | | | | your program doesn't need, and so | | | | | passes it on to another program. | +-------+-------+-------------------+-----------------------------------+ | $4711 | 18193 | VA_START | [3]+[4] contain a pointer to the | | | | | path of file that you wish to be | | | | | loaded into the application that | | | | | you are sending the message to. | +-------+-------+-------------------+-----------------------------------+ | $4712 | 18194 | AV_ASKFILEFONT | | +-------+-------+-------------------+-----------------------------------+ | $4713 | 18195 | VA_FILEFONT | | +-------+-------+-------------------+-----------------------------------+ | $4714 | 18196 | AV_ASKCONFONT | | +-------+-------+-------------------+-----------------------------------+ | $4715 | 18197 | VA_CONFONT | | +-------+-------+-------------------+-----------------------------------+ | $4716 | 18198 | AV_ASKOBJECT | | +-------+-------+-------------------+-----------------------------------+ | $4717 | 18199 | VA_OBJECT | | +-------+-------+-------------------+-----------------------------------+ | $4718 | 18200 | AV_OPENCONSOLE | | +-------+-------+-------------------+-----------------------------------+ | $4719 | 18201 | VA_CONSOLEOPEN | | +-------+-------+-------------------+-----------------------------------+ | $4720 | 18208 | AV_OPENWIND | | +-------+-------+-------------------+-----------------------------------+ | $4721 | 18209 | AV_WINDOPEN | | +-------+-------+-------------------+-----------------------------------+ | $4722 | 18210 | AV_STARTPROG | [3]+[4] contain the pointer to | | | | | the path of the program you wish | | | | | to start. | | | | | [5]+[6] contain the pointer to | | | | | the command line you wish to | | | | | start the program with. | +-------+-------+-------------------+-----------------------------------+ | $4723 | 18211 | VA_PROGSTART | | +-------+-------+-------------------+-----------------------------------+ | $4724 | 18212 | AV_ACCWINDOPEN | [3] is the handle of the window | | | | | your program has just opened. | +-------+-------+-------------------+-----------------------------------+ | $4725 | 18213 | VA_DRAGACCWIND | [3] is the handle of the window | | | | | in which a file has been dragged | | | | | onto. | | | | | [4],[5] are the x,y coordinates | | | | | of where the file was released. | | | | | [6]+[7] contain the pointer to | | | | | the path of the file that has | | | | | been dragged. | +-------+-------+-------------------+-----------------------------------+ | $4726 | 18214 | AV_ACCWINDCLOSED | [3] is the handle of the window | | | | | your program has just closed. | +-------+-------+-------------------+-----------------------------------+ | $4728 | 18216 | AV_COPY_DRAGGED | | +-------+-------+-------------------+-----------------------------------+ | $4729 | 18217 | VA_COPY_COMPLETE | | +-------+-------+-------------------+-----------------------------------+ | $4730 | 18224 | AV_PATH_UPDATE | | +-------+-------+-------------------+-----------------------------------+ | $4732 | 18226 | AV_WHAT_IZIT | | +-------+-------+-------------------+-----------------------------------+ | $4733 | 18227 | VA_THAT_IZIT | | +-------+-------+-------------------+-----------------------------------+ | $4734 | 18228 | AV_DRAG_ON_WINDOW | | +-------+-------+-------------------+-----------------------------------+ | $4735 | 18229 | VA_DRAG_COMPLETE | | +-------+-------+-------------------+-----------------------------------+ | $4736 | 18230 | AV_EXIT | This message should be sent to | | | | | the AV server when your program | | | | | is closed. | +-------+-------+-------------------+-----------------------------------+ | $4738 | 18232 | AV_STARTED | | +-------+-------+-------------------+-----------------------------------+ | $4739 | 18233 | VA_FONTCHANGED | | +-------+-------+-------------------+-----------------------------------+ | $4740 | 18240 | AV_XWIND | | +-------+-------+-------------------+-----------------------------------+ | $4741 | 18241 | VA_XOPEN | | +-------+-------+-------------------+-----------------------------------+ | $4751 | 18257 | AV_VIEW | | +-------+-------+-------------------+-----------------------------------+ | $4752 | 18258 | VA_VIEWED | | +-------+-------+-------------------+-----------------------------------+ | $4753 | 18259 | AV_FILEINFO | | +-------+-------+-------------------+-----------------------------------+ | $4754 | 18260 | VA_FILECHANGED | | +-------+-------+-------------------+-----------------------------------+ | $4755 | 18261 | AV_COPYFILE | | +-------+-------+-------------------+-----------------------------------+ | $4756 | 18262 | VA_FILECOPIED | | +-------+-------+-------------------+-----------------------------------+ | $4757 | 18263 | AV_DELFILE | | +-------+-------+-------------------+-----------------------------------+ | $4758 | 18264 | VA_FILEDELETED | | +-------+-------+-------------------+-----------------------------------+ | $4759 | 18265 | AV_SETWINDPOS | | +-------+-------+-------------------+-----------------------------------+ | $4760 | 18272 | VA_PATH_UPDATE | | +-------+-------+-------------------+-----------------------------------+ Table 22: Described fully in the Gemini documentation Another good description is included within the ST-Guide documentation by Holger Weets, as well. Note: The AV-documentation says that all file names should be given with the full path and CAPITALISED! 3.21 Mafia 2 ============= +--------------+--------------+----------------------------+ | | | | | Hex | Dec | Name | | | | | +--------------+--------------+----------------------------+ | $4790..$4799 | 18320..18329 | Reserved for internal work | +--------------+--------------+----------------------------+ 3.22 Paula-Protocol ==================== +-------+-------+-------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+-------------+ | $4800 | 18432 | MP_ACK | +-------+-------+-------------+ | $4801 | 18433 | MP_NAK | +-------+-------+-------------+ | $4802 | 18434 | MP_START | +-------+-------+-------------+ | $4803 | 18435 | MP_STOP | +-------+-------+-------------+ | $4804 | 18436 | MP_SHUTDOWN | +-------+-------+-------------+ 3.23 Tracer ============ +-------+-------+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+--------------+ | $4888 | 18568 | SEND_TRACE | +-------+-------+--------------+ | $4889 | 18569 | ANSWER_TRACE | +-------+-------+--------------+ 3.24 OLE-Protocol ================== +-------+-------+------------------+------------------------------------+ | | | | | | Hex | Dec | Name | Description | | | | | | +-------+-------+------------------+------------------------------------+ | $4950 | 18768 | OLE_INIT | [3] Bitmap describing the OL | | | | (Mgr->Clnt/Sevr) | releationship to be initiated: | | $0001 | | OL_SERVER | (Application is a server) | | $0002 | | OL_CLIENT | ( client) | | $1000 | | OL_PIPES | (App wants to communticate via | | | | | MTOS-D&D-Pipes) | | | | | [4] the maximum level of the | | | | | protocol the application supports | | | | | (currently always 0) | | | | | [5] Bitmap of OEP support. | | $0001 | | OL_OEP | (App understands OEP) | | | | | [6] Reserved (0) | | | | | [7] XAcc -Program type (or 0) | +-------+-------+------------------+------------------------------------+ | $4951 | 18769 | OLE_EXIT | The OLGA Client/Server/Manager | | | | (Clnt->Sevr) | is going to terminate. | | | | (Mgr->Clnt/Sevr) | [3]-[7] 0 | +-------+-------+------------------+------------------------------------+ | $4952 | 18770 | OLE_NEW | The manager sends this message | | | | (Mgr->Clnt/Sevr) | after loading. | | | | | [3] Bitmap (OL_MANAGER, | | | | | OL_START, OL_PIPES, OL_IDLE) | | | | | [4] Maximum level of OLGA-Protocol | | | | | supported. | | | | | [5] OL_OEP (If mamager supports | | | | | OEP) | | | | | [6] Reserved (0) | | | | | [7] Manager version number. | +-------+-------+------------------+------------------------------------+ Table 26: Full description in the OLGA documentation See also: OLGA-Protocol 3.25 Videotext-Protocol ======================== +-------+-------+--------------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+--------------------+ | $4e20 | 20000 | VTX_GET_BIN_PAGE | +-------+-------+--------------------+ | $4e21 | 20001 | VTX_GET_ASCII_PAGE | +-------+-------+--------------------+ | $4e52 | 20050 | VTX_FOUND | +-------+-------+--------------------+ | $4e53 | 20051 | VTX_NOTFOUND | +-------+-------+--------------------+ | $4e54 | 20052 | VTX_PROCESSKILLED | +-------+-------+--------------------+ | $4e55 | 20053 | VTX_TERM | +-------+-------+--------------------+ 3.26 Object-Exchange-Protocol ============================== +-------+-------+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+--------------+ | $5208 | 21000 | OEP_OK | +-------+-------+--------------+ | $5209 | 21001 | OEP_CONFIG | +-------+-------+--------------+ | $520a | 21002 | OEP_INFO | +-------+-------+--------------+ | $520b | 21003 | OEP_LINK | +-------+-------+--------------+ | $520c | 21004 | OEP_RES | +-------+-------+--------------+ | $520d | 21005 | OEP_UPDATE | +-------+-------+--------------+ | $520e | 21006 | OEP_DATA | +-------+-------+--------------+ | $520f | 21007 | OEP_CHANGED | +-------+-------+--------------+ | $5210 | 21008 | OEP_SERVJOB | +-------+-------+--------------+ | $5211 | 21009 | OEP_TAKEOVER | +-------+-------+--------------+ | $5212 | 21010 | OEP_RES0 | +-------+-------+--------------+ | $5213 | 21011 | OEP_RES1 | +-------+-------+--------------+ | $5214 | 21012 | OEP_RES2 | +-------+-------+--------------+ | $5215 | 21013 | OEP_RES3 | +-------+-------+--------------+ | $5216 | 21014 | OEP_RES4 | +-------+-------+--------------+ | $5217 | 21015 | OEP_RES5 | +-------+-------+--------------+ | $5218 | 21016 | OEP_RES6 | +-------+-------+--------------+ | $5219 | 21017 | OEP_RES7 | +-------+-------+--------------+ | $521a | 21018 | OEP_RES8 | +-------+-------+--------------+ | $521b | 21019 | OEP_RES9 | +-------+-------+--------------+ 3.27 Security ============== +-------+-------+--------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+--------------+ | $5300 | 21248 | SRTY_SETUP | +-------+-------+--------------+ | $5301 | 21249 | SRTY_GETDEVS | +-------+-------+--------------+ | $5302 | 21250 | SRTY_DEVSTAT | +-------+-------+--------------+ 3.28 View-Protocol V1.04 ========================= +--------------+--------------+--------------+ | | | | | Hex | Dec | Name | | | | | +--------------+--------------+--------------+ | $5600 | 22016 | VIEW_FILE | +--------------+--------------+--------------+ | $5601 | 22017 | VIEW_FAILED | +--------------+--------------+--------------+ | $5602 | 22018 | VIEW_OPEN | +--------------+--------------+--------------+ | $5603 | 22019 | VIEW_CLOSED | +--------------+--------------+--------------+ | $5604 | 22020 | VIEW_DATA | +--------------+--------------+--------------+ | $5610 | 22032 | VIEW_GETMFDB | +--------------+--------------+--------------+ | $5611 | 22033 | VIEW_SETMFDB | +--------------+--------------+--------------+ | $5612 | 22034 | VIEW_MFDB | +--------------+--------------+--------------+ | $5613..$56ff | 22035..22271 | reserviert | +--------------+--------------+--------------+ Table 30: Description in the GEM-View documentation 3.29 WINX ========== +-------+-------+-------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+-------------+ | $5758 | 22360 | WM_SHADED | +-------+-------+-------------+ | $5759 | 22361 | WM_UNSHADED | +-------+-------+-------------+ 3.30 CHEMCALC ============== +-------+-------+------------------+----+ | | | | | | Hex | Dec | Name | | | | | | | +-------+-------+------------------+----+ | $6400 | 25600 | che_exist | | +-------+-------+------------------+----+ | $6401 | 25601 | mes_ack | | +-------+-------+------------------+----+ | $6403 | 25603 | set_modus | | +-------+-------+------------------+----+ | $6411 | 25617 | app_exit | | +-------+-------+------------------+----+ | $6414 | 25620 | get_menu_point | | +-------+-------+------------------+----+ | $6415 | 25621 | send_menu_point | šL | +-------+-------+------------------+----+ | $6420 | 25632 | request_file_ext | | +-------+-------+------------------+----+ | $6421 | 25633 | send_file_ext | | +-------+-------+------------------+----+ | $64ff | 25855 | error | | +-------+-------+------------------+----+ | $6502 | 25858 | request_float | | +-------+-------+------------------+----+ | $6503 | 25859 | send_float | | +-------+-------+------------------+----+ | $6602 | 26114 | request_text | | +-------+-------+------------------+----+ | $6603 | 26115 | send_text | šL | +-------+-------+------------------+----+ | $6702 | 26370 | decl_text | | +-------+-------+------------------+----+ | $6704 | 26372 | send_decltext | šL | +-------+-------+------------------+----+ | $6705 | 26373 | send_declfloat | | +-------+-------+------------------+----+ 3.31 Magic 4.00 ================ +--------------+--------------+----------------------------+ | | | | | Hex | Dec | Name | | | | | +--------------+--------------+----------------------------+ | $78f1 | 30961 | WinChangefont | +--------------+--------------+----------------------------+ | $78f2..$7917 | 30962..30999 | Reserved for internal work | +--------------+--------------+----------------------------+ 3.32 EnhancedGEM ================= +--------------+--------------+----------------------------+-------------+ | | | | | | Hex | Dec | Name | Description | | | | | | +--------------+--------------+----------------------------+-------------+ | $7a00..$7a4f | 31232..31311 | reserved for internal work | | +--------------+--------------+----------------------------+-------------+ 3.33 Font-Protocol =================== +-------+-------+---------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+---------------+ | $7a18 | 31256 | FONT_CHANGED | +-------+-------+---------------+ | $7a19 | 31257 | FONT_SELECT | +-------+-------+---------------+ | $7a1a | 31258 | FONT_ACK | +-------+-------+---------------+ | $7a1b | 31259 | XFONT_CHANGED | +-------+-------+---------------+ 3.34 CAT ========= +-------+-------+-----------+----------+ | | | | | | Hex | Dec | Name | | | | | | | +-------+-------+-----------+----------+ | $8000 | 32768 | CatMsg | WatchDog | +-------+-------+-----------+----------+ | $8001 | 32769 | ExtCatMsg | | +-------+-------+-----------+----------+ 3.35 WinRec ============ +-------+-------+---------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+---------+ | $9a00 | 39424 | WR_REC | +-------+-------+---------+ | $9a01 | 39425 | WR_STOP | +-------+-------+---------+ | $9a02 | 39426 | WR_PLAY | +-------+-------+---------+ | $9a03 | 39427 | WR_TIME | +-------+-------+---------+ 3.36 Route It! / Circu It! =========================== +-------+-------+-------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+-------------+ | $9993 | 39315 | RC_ROTATE | +-------+-------+-------------+ | $9995 | 39317 | RC_MOVE | +-------+-------+-------------+ | $9996 | 39318 | RC_UNDO | +-------+-------+-------------+ | $9997 | 39319 | CR_REDRAW | +-------+-------+-------------+ | $9998 | 39320 | CR_PARA | +-------+-------+-------------+ | $9999 | 39321 | RC_SENDPARA | +-------+-------+-------------+ 3.37 CAB-Protocol ================== +-------+-------+--------------+--------------------------------------+ | | | | | | Hex | Dec | Name | | | | | | | +-------+-------+--------------+--------------------------------------+ | $cab0 | 51888 | CAB_CHANGED | [3]..[7] are 0. The cache was | | | | | changed and should be re-read. | +-------+-------+--------------+--------------------------------------+ | $cab1 | 51889 | CAB_EXIT | [3]..[7] are 0. CAB or the program | | | | | managing the cache (eg. Cache-Tools) | | | | | has been terminated. | +-------+-------+--------------+--------------------------------------+ | $cab2 | 51890 | CAB_PATH | [3]..[7] are 0. The local HTML | | | | | folders and/or the cache folder | | | | | have been changed. | +-------+-------+--------------+--------------------------------------+ | $cab3 | 51891 | CAB_VIEW | [3]+[4] pointer to the URL. | | | | | [5] if this value is 0, the URL will | | | | | be loaded into a new window. If | | | | | this value is 1, the URL will be | | | | | loaded into the top CAB window. | +-------+-------+--------------+--------------------------------------+ | $cab4 | 51892 | CAB_TERM | [3]..[7] are 0. A message from CAB | | | | | to the cache manager to tell it that | | | | | it should exit. | +-------+-------+--------------+--------------------------------------+ | $cab5 | 51893 | CAB_REQUEST | [3]..[7] are 0. A program sends | | | | STATUS | this message to CAB to find out the | | | | | on/off line staus of CAB. CAB | | | | | responds with a CAB_STATUS every | | | | | time the status changes, until a | | | | | until a CAB_RELEASESTATUS is | | | | | received. | +-------+-------+--------------+--------------------------------------+ | $cab6 | 51894 | CAB_STATUS | [3] is 1 if CAB is on-line, and 0 | | | | | if CAB is off-line. All other | | | | | values are 0. | +-------+-------+--------------+--------------------------------------+ | $cab7 | 51895 | CAB_RELEASE | [3]..[7] are 0. A program sends | | | | STATUS | this message to CAB if it no longer | | | | | wishes to be informed of CAB's | | | | | on/off-line status. | +-------+-------+--------------+--------------------------------------+ | $cab8 | 51896 | CAB_HELLO | After starting CAB sends this | | | | | message to all running programs. | | | | | for a detailed description, see the | | | | | CAB-Protocol-Documentation. | +-------+-------+--------------+--------------------------------------+ | $cab9 | 51897 | CAB_MAIL | Can be sent to CAB in order to send | | | | | mail. For more details see the | | | | | CAB-Protocol-Documentation. | +-------+-------+--------------+--------------------------------------+ | $cabA | 51898 | CAB_MAILSEND | A message from CAB in reply to | | | | | CAB_MAIL. For more details see the | | | | | CAB-Protocol-Documentation. | +-------+-------+--------------+--------------------------------------+ | $cabB | 51899 | CAB_SUPPORT | [3]..[7] are 0. If CAB receives | | | | | this message, it responds with a | | | | | CAB_HELLO. | +-------+-------+--------------+--------------------------------------+ | $cabC | 51900 | | | | .. | .. | Reserved | | | $cabf | 51903 | | | +-------+-------+--------------+--------------------------------------+ "The CAB-protocol consists of a number of AES-messages, which can be used by GEM programs to transfer specific operations to CAB. CAB takes responsibility for coordinating these operations. A possible application: If information or updates are available on the Internet the CAB-protocol could be used to access this information. CAB would download and display the data." From the CAB-Protocol-Documentation by Alexander Clauss. 3.37.1 CAB-Protocol-Documentation ---------------------------------- ---------------------------------------------------------------------- An extract from the CAB protocol documentation covering the more detailed commands. ---------------------------------------------------------------------- CAB_HELLO ($CAB8) (message from CAB) ----------------- After starting, CAB sends the following message to all running programs: msg[0] = $CAB8 msg[1] = CAB ID msg[2] = 0 msg[3] = Version of the CAB-protocol (where, e.g. $0100 = v1.00) msg[4] = Bit vector containing the CAB (CAB.OVL) supported Internet protocols: Bit 0: HTTP Bit 1: FTP Bit 2: GOPHER Bit 3: WAIS Bit 4: MAILTO Bit 5: NNTP Bit 6: TELNET Bit 7-15: 0 (reserved) msg[5] = Bit vector containing the CAB supported messages of the CAB-protocol: Bit 0: CAB_VIEW Bit 1: CAB_MAIL, CAB_MAILSEND Bit 2: CAB_REQUESTSTATUS, CAB_RELEASESTATUS, CAB_STATUS, CAB_EXIT Bit 3-15: 0 (reserved) msg[6] = 0 msg[7] = 0 CAB_SUPPORT ($CABB) (message to CAB) ------------------- If CAB receives this message it replies by sending a CAB_HELLO message. If no CAB_HELLO message is received the CAB version must be pre CAB-protocol. Any programs which are interested in the information CAB_HELLO supplies should, after starting, send a CAB_SUPPORT message to CAB. If CAB is subsequently started it automaticallys send a CAB_HELLO message to the program. msg[0] = $CABB msg[1] = ID of the PRGs msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0 CAB_MAIL ($CAB9) (message to CAB) ---------------- Can be sent to CAB in order to send mail. msg[0] = $CAB9 msg[1] = ID of the PRGs msg[2] = 0 msg[3] = \ Pointer to the URL. A Subject line can be appended to the msg[4] = / URL using a question mark as a separator. msg[5] = \ Pointer to a file which contains the mail message or null msg[6] = / in which case CAB opens an editor to enter the message. msg[7] = Bit vector: Bit 0: 0 = Send mail message immediately 1 = Mail message from the user can be handled/edited via CAB. Bit 1: File should be deleted by CAB after processing. Bil 2-15: reserved (0) CAB_MAILSENT ($CABA) (message from CAB) -------------------- CAB sends this message in reply to a CAB_MAIL message to inform the program whether the mail was sent along with a status indicator. msg[0] = $CABA msg[1] = CAB ID msg[2] = 0 msg[3] = 1 = Mail sent without error/s) 0 = Error encounter, msg [4] indicates nature of error msg[4] = Returns an error number, if msg[3] = 0 = 0: No URL given. = 1: Off-line, net connection disturbed, server not accessible = 2: User has aborted mail send action (e.g. where mail is handled via CAB the user has the opportunity to abort the action = 3: GEMDOS error/s on accessing the mail message file = 4: Editor to handle mail message could not be found msg[5] = 0 msg[6] = 0 msg[7] = 0 3.38 Cybersmash ================ +--------------+--------------+----------------------+ | | | | | Hex | Dec | Name | | | | | +--------------+--------------+----------------------+ | $cc00..$cc7f | 52224..52351 | CYBSMASH_Request_xxx | +--------------+--------------+----------------------+ | $cc80..$ccff | 52352..52479 | CYBSMASH_Reply_xxx | +--------------+--------------+----------------------+ 3.39 Degas =========== +--------------+--------------+-------------------+ | | | | | Hex | Dec | Name | | | | | +--------------+--------------+-------------------+ | $de00..$de7f | 56832..56959 | DEGAS_Request_xxx | +--------------+--------------+-------------------+ | $de80..$deff | 56960..57087 | DEGAS_Reply_xxx | +--------------+--------------+-------------------+ 3.40 BubbleGEM =============== +-------+-------+-------------------+--------------------------------+ | | | | | | Hex | Dec | Name | Description | | | | | | +-------+-------+-------------------+--------------------------------+ | $babb | 47803 | BUBBLEGEM_SHOW | [3],[4] is the x,y position | | | | | of the mouse. When the mouse | | | | | position is different from the | | | | | position sent, BubbleGEM will | | | | | close the help bubble. | | | | | [5]+[6] is the pointer to the | | | | | message to be displayed in the | | | | | help bubble. | +-------+-------+-------------------+--------------------------------+ | $babc | 47804 | BUBBLEGEM_ACK | Acknowledgement message from | | | | | BubbleGEM. | | | | | [5]+[6] pointer from | | | | | BUBBLEGEM_SHOW | +-------+-------+-------------------+--------------------------------+ | $babd | 47805 | BUBBLEGEM_ASKFONT | | +-------+-------+-------------------+--------------------------------+ | $babe | 47806 | BUBBLEGEM_FONT | | +-------+-------+-------------------+--------------------------------+ Two example programs in C from the BubbleGEM documentation: #include /* BUBBLEGEM_SHOW - Message: * msg[0] $BABB * msg[1] ap_id * msg[2] 0 * msg[3] mouse X * msg[4] mouse Y * msg[5/6] Pointer to null terminator character string in global * memory * msg[7] 0 */ ... #define MGLOBAL 0x20 #define BUBBLEGEM_SHOW 0xBABB #define BUBBLEGEM_ACK 0xBABC #define MagX_COOKIE 0x4D616758L #define MiNT_COOKIE 0x4D694E54L ... WORD msg[8]; WORD bubble_id; BYTE *bubble_text; /* Establish if Mxalloc() is available, if yes, * then memory protection mode is set to "Global" */ if ((get_cookie (MagX_COOKIE, &val) == TRUE) || (get_cookie (MiNT_COOKIE, &val) == TRUE)) { bubble_text = (BYTE *) Mxalloc (256, 0 | MGLOBAL); } else bubble_text = (BYTE *) Malloc (256); if (right_mouse key_button_pressed) { /* fill buffer */ strcpy(bubble_text, "My first help speech bubble."); bubble_id = appl_find("BUBBLE "); if (bubble_id >= 0) { msg[0] = BUBBLEGEM_SHOW; msg[1] = ap_id; msg[2] = 0; msg[3] = x; msg[4] = y; msg[5] = (WORD)(((LONG) bubble_text >> 16) & 0x0000ffff); msg[6] = (WORD)((LONG) bubble_text & 0x0000ffff); msg[7] = 0; if (appl_write(bubble_id, 16, msg) == 0) { /* Errors */ } } } ---------------------------------------------------------------------- A reply message BUBBLEGEM_ACK ($BABC) is received with the pointer to the character string, whose memory can now be released. The array elements 2, 3, 4 and 7 are set to null (zeroed). /* BUBBLEGEM_ACK ($BABC) * * msg[0] $BABC * msg[1] ap_id * msg[2] 0 * msg[3] 0 * msg[4] 0 * msg[5/6] Pointer from BUBBLEGEM_SHOW * msg[7] 0 */ /* shorter example code */ if (msg[5] == 0 && msg[6] == 0) { /* error, invalid pointer */ } pointer = *(BYTE **) &msg[5]; See also: Trouble-Bubble-Protocol 3.41 Trouble-Bubble-Protocol ============================= +-------+-------+-------------------+---------------------------------+ | | | | | | Hex | Dec | Name | Description | | | | | | +-------+-------+-------------------+---------------------------------+ | $4600 | 17920 | BA_BUBBLE_REQUEST | Sent by the bubble server to | | | | | assumed owner of the window. | | | | | [3] is the window handle. | | | | | [4],[5] are the current x,y | | | | | coordinates of the mouse. | | | | | [6]..[7] are reserved. | +-------+-------+-------------------+---------------------------------+ | $4601 | 17921 | AB_BUBBLE_OPEN | [3]+[4] is the pointer to the | | | | | message to be displayed in a | | | | | help bubble. It must be | | | | | terminated with a NOUGHT. See | | | | | the help declaration below. | | | | | [5],[6] are the x,y position of | | | | | where you would like the bubble | | | | | to appear. Values of -1 makes | | | | | Trouble Bubble use the current | | | | | mouse coordinates. | | | | | [7] is reserved. | +-------+-------+-------------------+---------------------------------+ | $4602 | 17922 | BA_BUBBLE_OPENED | Your application will receive | | | | | this message if the help | | | | | bubble was opened successfully. | | | | | [3]..[7] are reserved. | +-------+-------+-------------------+---------------------------------+ | $4603 | 17923 | AB_CLOSE_BUBBLE | Closes the current help bubble. | | | | | [3]..[7] are reserved. | +-------+-------+-------------------+---------------------------------+ | $4604 | 17924 | BA_BUBBLE_CLOSED | Your application will receive | | | | | this message if the help | | | | | bubble was closed successfully. | | | | | [3]..[7] are reserved. | +-------+-------+-------------------+---------------------------------+ Table 43: Uses the Freedom2 eCPX 'Trouble Bubble' Declaration in C for the help message sent in AB_OPEN_BUBBLE: char *help[]={"line1","line2",NOUGHT}; See also: BubbleGEM 3.42 GEMJing ============= +-------+-------+----------------+-------------------------------------+ | | | | | | Hex | Dec | Name | Description | | | | | | +-------+-------+----------------+-------------------------------------+ | $7407 | 29703 | GEMJING_RETURN | If a VA_START message was sent | | | | | to GEMJing to play a sample, this | | | | | message will be returned to that | | | | | application. | | | | | [3] contains one of the values | | | | | described below. All other bytes | | | | | contain 0. | +-------+-------+----------------+-------------------------------------+ | | 1 | RT_OKAY | The sample was played with no | | | | | errors. | +-------+-------+----------------+-------------------------------------+ | | 117 | RT_NO_MEM | Not enough memory to play the | | | | | sample. | +-------+-------+----------------+-------------------------------------+ | | 118 | RT_NO_FILE | Sample file not found or | | | | | corrupt. | +-------+-------+----------------+-------------------------------------+ | | 119 | RT_PACKED | The sample file is packed. These | | | | | types are not supported by GEMJing. | +-------+-------+----------------+-------------------------------------+ | | 120 | RT_WRONG_CHUNK | The WAV-sample contained no | | | | | sample data. | +-------+-------+----------------+-------------------------------------+ | | 121 | RT_WRONG_FILE | The file contains data of no | | | | | well known sample format. | +-------+-------+----------------+-------------------------------------+ | | 125 | RT_UNSUPPORTED | The au/snd file contains sizes | | | | _AU_SND | which are not supported. | +-------+-------+----------------+-------------------------------------+ Table 44: The message returned from GEMJing 3.43 Focus 3D ============== +-------+-------+-------------+ | | | | | Hex | Dec | Name | | | | | +-------+-------+-------------+ | $f3d0 | 62416 | F3D_INIT | +-------+-------+-------------+ | $f3d1 | 62417 | F3D_EXIT | +-------+-------+-------------+ | $f3d2 | 62418 | F3D_REQUEST | +-------+-------+-------------+ | $f3d3 | 62419 | F3D_RETURN | +-------+-------+-------------+ | $f3d4 | 62420 | | | .. | .. | reserved | | $f3df | 62431 | | +-------+-------+-------------+ 3.44 Other Messages ==================== +-------+-------+---------------+----------------------------------------+ | | | | | | Hex | Dec | Name | Comments and Descriptions | | | | | | +-------+-------+---------------+----------------------------------------+ | $0050 | 80 | SC_CHANGED | | +-------+-------+---------------+----------------------------------------+ | $0052 | 82 | PRN_CHANGED | Message sent from NVDI/MagiC. | | | | | The printer drivers have been | | | | | updated, and your program should | | | | | reload them. | +-------+-------+---------------+----------------------------------------+ | $0053 | 83 | FNT_CHANGED | Message sent from NVDI/MagiC. | | | | | The installed fonts have been | | | | | updated, and your program should | | | | | reload them. | +-------+-------+---------------+----------------------------------------+ | $0935 | 2357 | WIND_DATA | | +-------+-------+---------------+----------------------------------------+ | $0936 | 2358 | DO_WPOPUP | | +-------+-------+---------------+----------------------------------------+ | $0996 | 2454 | DD_STRING | | +-------+-------+---------------+----------------------------------------+ | $0997 | 2455 | WISEL_MSG | | +-------+-------+---------------+----------------------------------------+ | $0998 | 2456 | MSG_NOEVENT | | +-------+-------+---------------+----------------------------------------+ | $0999 | 2457 | WINCOM_MSG | | +-------+-------+---------------+----------------------------------------+ | $1235 | 4661 | GO_PRIVATE | ObjectGEM will be employed internally | +-------+-------+---------------+----------------------------------------+ | $4560 | 17760 | FILE_SELECTED | This message will be sent be | | | | | Freedom and other compatible | | | | | file selectors. | | | | | [3] is the id of the file selector, | | | | | as given by fsel_(ex)input. | | | | | [4]+[5] is the pointer to the path | | | | | and extension when the fs is closed. | | | | | [6]+[7] is the pointer to the | | | | | selected files, or NULL if the user | | | | | has cancelled the operation. The files | | | | | are seperated by spaces- spaces within | | | | | filenames must be encompassed with in | | | | | 'single quotation marks'. | +-------+-------+---------------+----------------------------------------+ | $46ff | 18175 | THING_MSG | | +-------+-------+---------------+----------------------------------------+ | $475a | 18266 | GZ_PRIVATE | GSZRZ Z-Modem | +-------+-------+---------------+----------------------------------------+ | $4b48 | 19272 | DA_KNOWHOW | | +-------+-------+---------------+----------------------------------------+ | $4c01 | 19457 | AT_PERGAMON | PEGASUS, SCHECKS, EVER, TARKUS | +-------+-------+---------------+----------------------------------------+ | $5343 | 21315 | SH_CHANGED | IFormats-CPXe | +-------+-------+---------------+----------------------------------------+ | $6368 | 25448 | CHTW_MSG | Chatwin, will be employed internally | +-------+-------+---------------+----------------------------------------+ | $7996 | 31126 | AES-Load | | +-------+-------+---------------+----------------------------------------+ 4 Category Index ***************** +------------------+-----------------------------------+ | | | | Category | Relevant Message Groups/Protocols | | | | +------------------+-----------------------------------+ | System | Screen-Manager | | | XAcc-Protocol | | | Menu-Protocol | | | AV-Protocol | | | SE-Protocol | | | Freedom-Protocol | +------------------+-----------------------------------+ | Object Linking | OLGA-Protocol | | | OLE-Protocol | | | Object-Exchange-Protocol | | | Relationships | +------------------+-----------------------------------+ | Help Bubbles | BubbleGEM | | | Trouble-Bubble-Protocol | +------------------+-----------------------------------+ | Program Specific | TDI-Modula | | | CALCLOCK | | | PureC-Help-Protocol | | | 1st Address | | | Kobold-Protocol | | | CAD-3D | | | Mafia 2 | | | Paula-Protocol | | | Tracer | | | CHEMCALC | | | CAB-Protocol | | | Cybersmash | | | CAT | | | WinRec | | | Degas | +------------------+-----------------------------------+ | Internal | EnhancedGEM | | | WINX | | | Magic 4.00 | +------------------+-----------------------------------+ 5 Sources ********** As this document acts as reference to other documented protocols, I thought it might be useful to have a list of where this information came from, or where more details are available. It also acts as a kind of 'credits' list, if you like. AV-Protocol, the GEMINI documentation (a replacement desktop). http://www.cyberstrider.org/ ---------------------------------------------------------------------- BubbleGEM, the BubbleGEM documentation (a help bubble system). http://www.cix.co.uk/ inactive/ http://www.uni-karlsruhe.de/ Thomas.Much/nbp.htm ---------------------------------------------------------------------- CAB-Protocol, the CAB programmers documentation (a web browser). http://www.student.informatik.th-darmstadt.de/ aclauss/ ---------------------------------------------------------------------- GEMJing, the GEMJing documentation (a small program which can be called by other programs to play samples). http://members.aol.com/hoffart/ ---------------------------------------------------------------------- OLGA-Protocol, OLE-Protocol, the OLGA programmers documentation (an OLE manager). http://www.cix.co.uk/ inactive/ http://www.uni-karlsruhe.de/ Thomas.Much/OLGA/ ---------------------------------------------------------------------- Trouble-Bubble-Protocol, the Freedom 2 documentation (an eCPX to provide help bubbles). http://www.cix.co.uk/ inactive/