Short: Amiga.lib as E modules Author: m88jrh@ecs.ox.ac.uk (Jason R. Hulance) Uploader: m88jrh ecs ox ac uk (Jason R Hulance) Type: dev/e Architecture: m68k-amigaos AmigaLib ======== Amiga E modules of many of the amiga.lib functions. These translations are Copyright (C) 1995, Jason R. Hulance. The original amiga.lib is Copyright (C) 1985-1992, Commodore-Amiga Inc. You are free to use these modules in your programs, whether they are freeware or commercial. However, if you want to distribute any of this archive you must include it all, unmodified, together with this file. Contents -------- argarray.m: PROC argArrayInit(str=0) PROC argArrayDone() PROC argInt(tt,entry,defaultval) PROC argString(tt,entry,defaultstring) boopsi.m: PROC callHookA(h,obj,msg) PROC coerceMethodA(cl,obj,msg) PROC doMethodA(obj,msg) PROC doSuperMethodA(cl,obj,msg) PROC setSuperAttrsA(cl,obj,msg) cx.m: PROC freeIEvents(events) PROC hotKey(description,port,id) PROC invertString(str,km) PROC invertStringRev(str,km) PROC userFilter(tt,action_name,default_descr) interrupts.m: PROC addTOF(i,p,a) PROC remTOF(i) PROC waitbeam(pos) io.m: PROC beginIO(ioreq) PROC createExtIO(port,ioSize) PROC deleteExtIO(ioReq) PROC createStdIO(port) PROC deleteStdIO(ioReq) lists.m: PROC newList(mlh) ports.m: PROC createPort(name,pri) PROC deletePort(port) random.m: PROC fastRand(num) PROC rangeRand(num) tasks.m: PROC createTask(name,pri,initPC,stackSize) PROC deleteTask(tc) time.m: PROC timeDelay(unit,seconds,micros) There are also a number of test programs, which show how to use many of the functions. Documentation ------------- The documentation on amiga.lib serves as adequate documentation of these functions, with the following observations: argarray.m: o argArrayInit() takes only an optional string. This can be a string of arguments like the E global "arg" (which is the default). This string is only used if "wbmessage" is NIL, and is *altered* if used (i.e., the result is a manipulation of the string, and so by default "arg" will be affected). If you don't like this, pass this function a copy of your arguments string (and be careful not to free it until you've finished with the result of this function). boopsi.m: o callHookA() is like CallHookPkt() from utility.library except it does not require the utility.library to be open! o setSuperAttrsA() replaces the stack-based (varargs) function SetSuperAttrs(). setSuperAttrsA() takes a pointer to a Boopsi message as its third argument (so you would usually use a typed list). cx.m: o invertStringRev() is like InvertString() except it does not require you to reverse the string to be inverted. See testcx.e. o userFilter(tt, action_name, default_descr) creates a CxFilter object with a description string taken from the tooltype defined by "action_name" in the tooltypes array "tt" (which is usually the result of a call to argArrayInit()). If the tooltype is not found then the "default_descr" is used instead. interrupts.m: o waitbeam(pos) waits until the VBeam position is at least "pos". tasks.m: o createTask() can has slightly enhanced error checking if you are running V37+. The main reason for the creation of these modules was my translations of the RKRM examples. These should provide even more useful documentation.