LOTS'A' MAXs' DOORS, written by Ari Tsironis, between 01-Jan-93 and 01-Jul-94 DISCLAIMER: THIS SOFTWARE IS FREEWARE, DISTRIBUTE IT, USE IT, CRASH IT ETC. JUST DON'T MAKE ANY PROFIT FROM ITS USE. I ACCEPT NO RESPONSIBILITY FOR ANY HARM, INJURY, OR DAMAGE, TO ANYBODY OR ANYTHING, WHETHER DIRECT, INDIRECT, OR INCIDENTAL. SYNOPSIS: EVERYTHING I've ever written for MAXs, using SAS C 5.1/6.1/6.3 and DEVPAC 2.4 ARCHIVE CONTENTS: Stacks 'n' stacks 'o' stuff ranging from the positively brill' to the excruciatingly useless. Each directory contains one or more doors and/or Amiga executables. The source, docs, data files, scripts and whatever else is needed to compile/assemble/produce are also available. To access specific doors/utes all you need do is simply enter a particular directory, (pick one that sounds good), using your fave directory browser, (or heaven to besty using THE CLI). Once you're in, read whatever doco's are there and do as you see fit. * NOTE * Some of this software has not only the potential to crash 'n' burn your machine, but also, (in theory at least), the capability to mutilate and mulch you HD's FD's TD's etc, etc. Re-read my disclaimer, before reaching for that shotgun... COMPATIBILITY: All of these doors/utes/exes were produced on an Wb2.04 A3000/040 and tested on an A500 INSTALLATION: To install this new extension into the AMOS emvironment there's only one thing you must do... 1) Copy "MAXSDoorHandler.Lib" to your "AMOS_System" directory. CONFIGURATION: To configure this extension, there's a hell of a lot more than just one thing you need to do... 1) Fire up the "Config1_3.AMOS" util and set extension number 16, to the following... *NOTE* It HAS to be 16, if anyone has a conflict lemme' know and I'll customise it for ya. 16-PATH/AMOS_System/MAXSDoorHandler.Lib eg: 16-dh0:AMOS/AMOS_System/MAXSDoorHandler.Lib 2) Edit the "Compiler_Configuration" text file, contained in "AMOS_System" as follows, (I have an example file). 16-{PATH/AMOS_System/MAXSDoorHandler.Lib} eg: 16-{dh0:AMOS_System/AMOS_System/MAXSDoorHandler.Lib} *NOTE* Supposedly the AMOS Compiler uses the "AMOS1_3_PAL.ENV" or "AMOS1_3_NTSC.ENV" settings that "Config1_3.AMOS" initialises. What I found in practise was that the Compiler just ignored them, and used the "Compiler_Configuration" text file. So I recommend you all do the above. 3) Fire up the "Compiler.AMOS" util and click on the "Spanner" icon. Set the following options, all others are irrlevant to this extension and maybe set as you please. a) Include Error Messages NO b) Create Default Screen NO c) Send AMOS to Back upon Booting YES d) CLI Programs to Run in Background NO 4) Exit the "Spanner" screen and select the "Output" icon to "CLI". eg: ------- ------- ------- | RAM | -> | RAM | : | CLI | ------- ------- ------- TO DO?: Currently this version of the extension has 20 instructions, with an unlimited scope for future expansion, (it all depends on the response I receive from you guys). I have an updated version, for my own use, that has about another 15 instructions that allow the following... - Simple and efficient access/parsing of ".config", ".index" and ".data" files. - Access to all of MAXS internal structures, allowing for the real time control and updating of MAXS internal and external parameters, such as ".config" file and ".index" files. - Complete ANSI control, ie ANSI stripping, auto table inserts without shifting columns, simple and efficient cursor and colour control, etc, etc... - Access to ALL user/sysop parameters, readable and writeable. - Access to ALL MAXS specific door functions. - Proper error messages, instead of just "Syntax Error". TECHNICAL: This AMOS extension was written completely in 68K according to the guidelines and specs. as laid down by Francois Lionet in his AMOS extension docs. I'd like to personally thank Mr Lionet for AMOS and the fairly simple expandability built into AMOS, on the other hand I'd also like to blow him a BIG FAT RASBERRY for the totally inadequate and misleading documentation :-( For those contemplating writing AMOS extensions, you'll need to spend months of arduous training with 96 bit wide bit-sliced architectures running proprietry micro-code interpreters, before you can even begin contemplating undertaking a suicide mission of this calibre :-) Seriously I am now, (for better or worse), an AMOS extension guru, so give me a buzz if anyone needs some help, tips, etc. The extension does basically the following... - Sets up a MAXS specific door msg structure, which is simply an extension of an Amiga Msg structure. - Implements a PortOpen instruction that searches for a specific MAXS door control port based on a node number, creates a Reply Port and initialises our door Msg structure. - Then simply fills out the correct fields of the door Msg structure with the fields that each Paragon and MAXS door function expect, sends it off to the MAXS door control port and awaits a reply from MAXS. - Each door function including the PortOpen and PortClose are implemented as standard AMOS instructions, with parameters and return values. - Each door function, (instruction), has error checking that: a) Crops parameter strings to 80 chars in length, so that MAXS doesn't crash at the first mere sight of a string bigger than 80 chars, (unlike some other doorpacks :-(). b) Uses return string lengths for the updating of return strings so that memory can't be stomped over, even if you give an instruction a 0 byte length return string. c) Dropped Carriers are passed onto the AMOS programmer to be handled as he/she sees fit. PAYMENT: As I stated in the Disclaimer this software is Freeware, but if you regularly use or are going to regularly use this util, then I'd very much like a message in MAXS NET. Feel free to complain/bitch/criticise/praise/thank/applaud etc :-] I also require, (this is NOT optional), a mere mention of my name in any docs pertaining to any doors/utils that you write using this extension! CONTACT: I can be reached via my BBS, BumbleFluckNowhere, AUS +6137868143, or via MAXS NET, 3:30003/21, VIC HUB. Ari...