ANOTHER DOWN LOADED FILE, SO IV`E BEEN TOLD, WHO CARES? IT MAKES GOOD READING.....Steve AMOS THE CREATOR - ERRORS. EDITOR ERRORS The following are occasionally printed out on the information line when you are editing the programs. Bottom of text: The cursor has reached the last line in your current program. Cant fit the program into editor buffer: This will occur when ,the space required for a program to be loaded is greater than the area available in the editor buffer. Responding yes to the resulting query from AMOS will set the text buffer to the exact size of the program to be loaded. You won`t be able to expand the program,only reduce it in size . S.BUFFER in the search menu can be called to expand the text buffer if neccesary Selecting NO will simply abort the load and the minimum required buffer space will be displayed in the information line Line too long: The AMOS editor can only handle lines up to a maximum of 255 characters long No errors:no errors were detected in your program during test process. Not found:the previous search command was unsuccessful. Not marked:you cant move to a mark because you havent set any markers. Not a proceedure:FOLD/UNFOLD only works if you have positioned the text cursor over a proceedure. Out of buffer space:You have run out of space in the editor area.Save your program onto a disk and increase the buffer using S.BUFFER (in the SEARCH menu) If you still have problems you may need to split your program into several parts and execute them one after another using the RUN command from AMOS basic Out of memory: There is no more memory available to hold your programs.Try using CLOSE WORKBENCH to restore the 40k used by the Amigas workbench screen. Syntax error: The syntax (grammar) of the current line is wrong in some way.Look up the right format in the manual or on the reference card. Too many direct mode variables : Thers not enough space in the variable table to hold your direct mode variables. Direct mode allows you to create up to 64 new variables but this could be restricted further if your program is taking up too much memory. Top of text:The text cursor has reached the top of your program. Pressing the up arrow will have no effect. Variable name buffer too small:AMOS has a buffer which holds the names for all the variables.If you generate too many long names this error will be reported back Changing the default size of the buffer can be achived from the CONFIG accessory. What block?:You cannot CUT/PASTE a block before you have defined it. PROGRAM ERRORS Whenevever you run one of your programs,or check it with the test command from the menu window ,AMOS performs a complete test of all the various instructions.This allows you to remove most of the errors straight from the editor withoutthe inconvenience of executing your program Here is a full list of these error messages: Array all ready dimensioned:It is only possible to dimension the same array once in your basic program. Array not dimensioned: The element you specified in the expression does not belong to a previously dimensioned array. DATA must start at the beginning of a line: Any DATA statements in your program must be placed at the absolute start of a line (excluding LABEL definitions) DO without LOOP:The DO and LOOP statements are used in pairs Each DO structure must be terminated by a single LOOP command ELSE without ENDIF:Youve omiited the final ENDIF command from a structured IF test. ELSE without IF:The ELSE statement can only be used inside a structured test. ENDIF without IF :An ENDIF command has been found in your program which does not correspond to an appropriate IF statement. Extension not loaded: Youve attempted to run a program which incorporates one of the new commands provided by an extension file.Check that the relevant extensions have been installed on your boot disk and that the extensions are selected for use from the CONFIG accessory. FOR without matching NEXT: A FOR command is not followed in the program by the expected NEXT statement. IF without ENDIF:The instructions inside a structured IF test should always be terminated by a single ENDIF statement . Dont confuse these tests with the IF...THEN command-they are completely different. Illegal number of parameters:You have attempted to to enter the wrong number of values into an instruction or proceedure. LOOP without DO:A LOOP command has been detected which does not match a corresponding DO statement. LABEL defined twice: Each label or proceedure can only be defined once in your program. Bad structure: Any nested loops must be placed COMPLETELY inside each other. Buty its illegal for loops to CROSS EXAMPLE: Do If A=B Loop Print A Endif THIS IS NOT ALLOWED NEXT withot FOR:AMOS has encounterd a NEXT instruction which does not match up with a previous FOR command. No THEN in a structured test: The IF...THEN command cannot be placed inside a structured test. Use IF. ..ENDIF instead. No jumps allowed in the middle of a loop!:(could cause havock at Alton Towers..Protocol)You cant jump directly inside a loop using a GOTO or GOSUB statement,however once you are within a loop,you can jump out of it. Not enough loops to exit:The loop counter you specified in a a EXIT IF command is greater than the number of active loops. Out of memory:During the test process this error may occur if AMOS cannot reserve the required amount of variable buffer space due to a lack of memory (see SET BUFFER) Proceedures limits must be alone on a line: The PROCEEDURE and END PROC statements must start on their own line. Proceedure not closed:The END PROC statement is missing from one of your proceedures. Proceedure not opened: An ENDPROC statement has been discoverd with no corresponding PROCEEDURE definition. REPEAT without matching UNTIL statement. Shared must be alone on a line: The SHARED command must be the only statement on the current line. Syntax error:The syntax (grammar) of the current line is wrong in some way.Look up the correct format in the manual. This array is not defined in the main program:You have tried to access an array inside a proccedure which has not been dimensioned in the main program. This instruction must be used within a proceedure:The SHARED command can only be used once INSIDE a proceedure definition. This variable is already defined as shared: You cannot define the same variable more than once in a single proceedure. UNTIL without REPEAT: The UNTIL command does not match a previous REPEAT command in your program. Undefined label: AMOS cannot find the label you specified in the instruction.(Hes gone down the wine cellar to find that rare vintage for you...Protocol) Undefined proceedure:The proceedure you have called does not presently exist in your program. Use empty brackets when defining a shared array:To define an array as SHARED,use a command like: Shared Array() It is illegal to add the dimensions of the array as well. Variable buffer cant be changed in the middle of a program!:The SET BUFFER command must always be the first line of your program,excluding REMS. WEND without WHILE: The WEND statement does not match a previous WHILE command in your program. WHILE without matching WEND: AMOS cannot find a corresponding WEND statement to match up with the current WHILE. RUN TIME ERRORS The following messages are generated when your AMOS program encounters an error as it is running, AMOS will then abort your program and highlight the current instruction. Once you return to the editor, the cursor wull be placed immiediately at the offending line. If you are using error trapping,you may wish to obtain the error message associated with a particular number. Use line like: Error Errn Each run time error has its own error number which is listed below. A special FOLLOW command can also be used to see how your variables are changing during the running of your program. The FOLLOW commands are listed here: FOLLOW (View the state of one or more variables) FOLLOW [list of expressions...] with your program screen. You can move the window up and down the display using the up and down arrow keys. Any folded proceedures will not be followed by the system,allowing you to simply follow the proceedure or routine that needs inspecting. FOLLOW OFF This command clears any previous FOLLOW instructions and removes the FOLLOW window from the display. ANIMATION STRING TOO LONG (113):The current AMAL program is longer than the maximum of 65536 bytes.Try splitting your program into smaller units.Its quite acceptable to animate the object using several AMAL channels. ADDRESS ERROR (25):This will occur when an address is used in DOKE,DEEK,LOKE,or LEEK command that is an odd value Array already dimensioed (28):You have attempted to dimension an array twice in your program.Usually this will be detected in the syntax check, but if your program is a complex one it will only be discovered when you actually attempt to redimension the array. AUTOTEST ALREADY OPENED (111):An AMAL autotest has been defined inside another autotest command.This is of course not allowed. BAD IFF FORMAT (30):Youve tried to use LOAD IFF to load a file which has been stored in an unusual format. Remember that LOAD IFF can only load screens into memory ,NOT general purpose IFF files. BANK ALREADY RESERVED (35):You have attempted to create a memory bank which already exists.Note that banks 1 to 4 are normally used to hold your sprites,icons,music and menu definitions respectively. BANK NOT RESERVED (36):This error indicates that the bank you have selected has not been created using RESERVE.It can also occur after commands like PASTE ICON or SAMPLAY which automatically load information from a specific memory bank. BLOCK NOT FOUND (65):The block you specified in this in instruction has not been created with GET BLOCK. BLOCK NOT DEFINED(68):The bob you attempted to manipulate has not been set up using a previous Bob command.This error can occur after a mistake in a PASTE BOB instruction. BORDERED WINDOWS NOT ON EDGE OF A SCREEN (59):You cant position a bordered window at the edge of the screen.You must leave at least eight pixels between the window and the screen so as to provide space for the border. CAN'T FIT PICTURE IN CURRENT SCREEN (32):You attempted to load a picture into an existing screen with LOAD IFF,but the two screens are not of the same type.Tag the number of the destination screen to the LOAD IFF command like so: Load Iff "filename",number Providing the screen you specified in number is in the correct range (0-7),AMOS will automatically create a screen of the requuired type during the loading process. CAN'T RESUME TO A LABEL (4):You cannot resume to a label in an error proceedure. CAN'T SET DUAL PLAYFILD (70):You tried to create dual playfield using the wrong sort of screens.See the section DUAL PLAYFIELD command for a list of the allowable combinations. COPPER LIST TOO LONG(77):As a default,your user-defined copper list is limited to a maximum of 12k.This may be extended using an option from the CONFIG accessory. COPPER NOT DISABLED (76):You've attempted to use the COP MOVE or COP SWAP commands without first disabling the normal copper list with COPPER OFF. DEVICE NOT AVAILABLE (86):The disc or device you specified in the instruction is not connected to the Amiga.This error is often caused by an unexpected disk change. The solution is to set the directory to the actual drive name using a line like: Dir$="Df0:" If this occurs when using the file selector,click on one of the drive buttons such as "Df0:" and change the directory using the setdir button. DIRECTORY NOT EMPTY (85):Its only possible to erase empty directories with KILL. DIRECTORY NOT FOUND (80):The required directory cannot be found on the current disk.Perhaps you have inserted the wrong disk?(You thick twat !) DISK FULL (88): There is no more space on the current disk to hold your data. DISK IS NOT VALIDATED (83): Whenever you insert a disk the Amiga automatically checks for its validity.If an error occurs within this process you will get this message.Due to the complexities of the Amiga the validation errors are occasionally generated by mistake. If the problem persists you may need to use the DISK DOCTOR program from the standard workbench disk. This error can occur if you kick the plug out of the wall and invalidate the hard disk!. DISK IS WRITE PROTECTED (84):AMOS cannot save out information if the disk is physically protected so slide the write protect tab or use another disk . DIVISION BY ZERO (20):You have attempted to divide a number by zero. This is not allowed in any Basic. END OF FILE (100):The end of the current file has been unexpectedlly reached during a disk access.Use the EOF function to test for this condition inside your program. END OF PROGRAM (10):This message is printed after after AMOS executes the last instruction in your program. ERROR NOT RESUMED (3):You exited from an error handling routine without resetting the error using RESUME. ERROR PROCEEDURE MUST RESUME TO END (8):You cannot exit from an error handling proceedure with END PROC.you must use one of the special RESUME commands instead. OUT OF STACK SPACE (0): This error is generated when you try to nest too many proceedure calls inside each other. AMOS proceedures can call themselves (recursion),but you'll get an error after about 50 loops. FILE ALREADY EXISTS (79): It is not possible to RENAME a file to an existing or directory on a disk. FILE ALREADY OPENED (96) : An attempt to access a file with OPEN or APPEND has been aborted because its already open. struction instead. FILE IS PROTECTED AGAINST DELETION (89):The Amigas disk system lets you protect individual files from deletion using the PROTECT command from CLI.You have probably attempted to erase an important system file with delete. FILE IS PROTECTED AGAINST READING (91): The requested file has been protected against reading. See the Amiga users guide which came with your computer for full details of the PROTECT command which is available from CLI. FILE IS WRITE PROTECTED (90):You can't alter the selected file because its been intentinally locked with the PROTECT command from CLI FILE NOT FOUND (81): You tried to access a file or directory which does not exist in the current directory. FILE NOT OPENED (97): Your program has attempted to transfer data to or from a file which has not been previously opened using OPEN IN,OPEN OUT,APPEND and so on FILE TYPE MISMATCH (98): A disk command has been used which is not allowed on the current file.This error would occur if you were to use the GET and PUT commands to access a sequential file. FLASH DECLARATION ERROR (52): You have made a mistake in the animation string used to define a colour sequence with FLASH. FONTS NOT EXAMINED (37):Before using the SET FONT command,you must first create a list of the available fonts using either GET FONTS,GET DISK FONTS,or GET ROM FONTS. I/O ERROR (94): One of your files may be corrupted and cannot be accessed correctly.If the problem persists you may need to use DISK DOCTOR from CLI (Diskdoctor is on your workbench disk ) IFF COMPRESSION NOT RECOGNISED (31): The screen you wish to load from the disk uses an unfamiliar compression system. If possible return to the graphics package you used to produce this screen and save it as standard IFF format. ICON NOT DEFINED (74):The icon you specified in your instruction cannot be found in the current icon bank (bank 2) ILLEGAL BLOCK PARAMETERS (66): There's been a mistake in either a GET BLOCK or PUT BLOCK command.The values you have entered are not allowed. ILLEGAL COPPER PARAMETER (78): The values you have entered in a COP MOVE,COP MOVEL or COP SWAP instruction lies outside the permitted range. ILLEGAL FILE NAME (82): You have attempted to use a filename which does not comply with the standard naming conventions.Refer to your Amigas user guide. ILLEGAL FUNCTION CALL (23): This error is produced if you make a mistake when entering values into an AMOS command. Check the relevant section of the user manual for a full list of the allowable parameters ILLEGAL INSTRUCTION DURING AUTOTEST (115): You have used an AMAL command such as Move or Anim inside an AUTOTEST.Check the case of your AMAL labels. You may have defined an AUTOTEST by mistake. ILLEGAL NUMBER OF COLOURS (49):The Amigas hardware only supports certain combinations of colours on screen at once.See the chapter on SCREENS for a full list of available option.You have probably made a typing error in the SCREEN OPEN command. ILLEGAL SCREEN PARAMETER (48): The dimensions you specified with SCREEN OPEN are unacceptable. The minimum screen size is just 32x8 and the maximum depends entirely upon the amount of available chip memory. ILLEGAL WINDOW PARAMETER (60): You've entered an incorrect value in one of various window commands. INPUT TOO LONG (99):An input string is too long for a previously dimensioned variable.Or you may have tried to INPUT# a line of more than 1000 characters. INSTRUCTION ONLY VALID IN AUTOTEST (112):The direct or eXit commands can only be used inside an AMAL AUTOTEST. JUMP TO/WITHIN AUTOTEST IN ANIMATIN STRING (110): It's illegal to jump directly inside an AUTOTEST from your main AMAL program ,use the eXit or direct commands instead. LABEL ALREADY DEFINED IN AN ANIMATION STRING (109): AMOS has encountered two versions of the same label definition in your AMAL program.Remember all labels consist of just a single UPPER case letter. LABEL NOT DEFINED (40):The label included in your instruction has not been defined in your program. Check for mistakes in computed GOTOs,GOSUBs or RESTORE statements. LABEL NOT DEFINED IN ANIMATION STRING (114): This error is generated when you attempt to jump to a non existent label in an AMAL animation string. MENU ITEM NOT DEFINED (39):The item you have specified in your menu command has not been defined previously using MENU$. MENU NOT OPENED (38):The MENU ON command has been called but there is no menu.You will need first to define your menu using the MENU$ instruction or MAKE MENU BANK. NEXT WITHOUT FOR IN ANIMATION STRING (108): This indicates a mistake in one of AMAL animation strings. Each next command needs to be associated with a single FOR statement.Check the case of any comments in your AMAL program. NO ON ERROR PROC BEFORE THIS INSTRUCTION (5):RESUME LABEL is only allowed after an ON ERROR PROC command. NO DATA AFTER THIS LABEL (41): RESTORE has tried to move the data pointer which does not include any DATA statements. NO DISK IN DRIVE (93): You've tried to access a drive which does not appear to contain a disc.If you have just inserted a disk,wait a couple of momennts and try again. NO PROGRAMS BELOW CURRENT PROGRAM (43): If the program running is not installed as an accessory and you try to BGRAB a bank you'll receive this error. NO ZONE DEFINED (73): Before using SET ZONE,you must first allocate some memory with RESERVE ZONE. NON DIMENSIONED ARRAY (27): Your program has tried to refer to an array which has not previously been defined. NOT AN AMIGADOS DISK (92): Unless your using a program like Crossdos, AMOS can only read disks that were created on the Amiga.So PC and ST(YUK!) disks would create such an error. OUT OF DATA (33): The READ command has read past the last DATA item in your program. You have probably missed out some information when you were entering one of your data lines.Also check for any RESTORE commands for typing errors. OUT OF MEMORY (24): This is a standard error message which is generated when you attempt to exceed the available storage space.DON'T PANIC ! There are three different ways of conserving memory 1> CLOSE WORKBENCH turns off the Amigas workbench system to free 40k. 2> CLOSE EDITOR deactivates the editor window when its not being used...saves 24k! 3>If the information line reports there is plenty of spare memory,then save your program and reboot.This will correct a memory fragmentation problem caused by the Amigas operating system. OUT OF VARIABLE SPACE (11): As a default,AMOS only allocates 8k of storage space for your strings and arrays.Use SET BUFFER command at the start of your programto increase this as required. OVERFLOW (29): The result of a calculation has exceeeded the maximum size of the variable POP WITHOUT GOSUB (2): POP can only be executed within a subroutine which was previously entered with GOSUB.Use POP PROC to exit from a proceedure. PROGRAM INTERRUPTED (9):This is not an error:you've probably simply pressesd the cntrl-C keys or used a stop instruction to exit directly from your program. PROGRAM NOT FOUND (42):The program named in the PRUN command has not been previously loaded into the Amiga's memory.Use LOAD OTHER from the menu window. RETURN WITHOUT GOSUB (1):RETURN can only be used once to exit from a subroutine which was originally entered using GOSUB. RAINBOW NOT DEFINED (75):Before calling the RAINBOW command in one of your programs,you must first define your rainbor effect with SET RAINBOW. RESUME LABEL NOT DEFINED (6): The label you specified in the RESUME command does not exist. RESUME WITHOUT ERROR (7): The RESUME command cannot be executed unless an error has occurred inyour program .Its best used to exit back to AMOS BASIC after an error. SCREEN ALREADY IN DOUBLE BUFFERING (69): You've attempted to call DOUBLE BUFFER twice on the same screen. SCREEN NOT IN DUAL PLAYFIELD MODE (71): DUAL PRIORITY can only be used after you've created a dual playfield. SCREEN NOT OPENED (47): The screen you have attempted to access has not previously been openedusing the screen command. SCREENS CAN'T BE ANIMated (67):AMAL can only move or scroll screens.It is not possible to anmate them using the built in ANIM command. SCROLLING ZONE NOT DEFINED(72):Before using the SCROLL comand, you need to define the direction and size of your scrolling area with SET SCROLL. SHIFT DECLARATION ERROR (53):You've made a mistake in the colour sequence used in the SHIFT UP or SHIFT DOWN instructions. SPRITE ERROR (105): The values you've entered in into a sprite command do not fall within the requuired limits. STRING TOO LONG (21): Astring has exceeded the maximum of 65000 characters which is allowed under AMOS basic. SYNTAX ERROR IN ANIMATION STRING (107):Theres been a mistake in the animation sequence you specified using the Anim command.Check for typing errors.Its all too easy to accidently enter a full stop"." instead of a comma"," by mistake THIS WINDOW HAS NO BORDER (63):You have used the BORDER COMMAND on a window which has no border. TOO MANY COLOURS IN FLASH (51):You've exceeded the maximum of 16 colour changes in a single FLASH command. TYPE MISMATCH (34): An illegal value has been assigned to a variable.For example: A$=12 Should read A$="12" VALID SCREEN NUMBERS RANGE FROM 0 TO 7 (50):AMOS only allows you to open a maximum of 8 screens at any one time. WINDOW ALREADY OPENED (55): An attempt to open a window has failed because it was already open. WINDOW NOT OPENED (54): You have attempted to open a window that does not exist. WINDOW TOO LARGE (57): The requested window cannot be opened because it is too big to fit in the current screen. WINDOW TOO SMALL (56):The requested window is too small .The minimum window size is 3x3 EXTENSION ERRORS: The commands which come in AMOS extension files do not generate error numbers,but youll need to know what they mean.Here are the MUSIC extension errors: 256 characters to the wave:Waves can only be created by a list of 256 bytes. Can't open narrator:AMOS cannot find the required library files from the system disk to load up the narrator program. Music bank not found:The music cannot be played because there isn't a tune in memory. Music bank not defined: There is no music bank in memory. Sample bank not found: There is no sample bank in memory. Sample not defined: You have tried to play a sample which does not exist in the current sample bank. Wave 0 and 1 are reserved: These two waves are reserved by AMOS for the BELL and NOISE commands and thus cannot be altered by you. There are two errors that can be created by the compaction extension: NOT A PACKED BITMAP:You've attempted to unpack a databank which isnt in bitmap format. NOT A PACKED SCREEN: The data your trying to unpack is not in packed screen format. IMPORTANT NOTE A Number of examples listed in the manual refer to certain data files. Due to lack of disk space some of the files had to be compacted and thus cannot be loaded in the way required in the examples.You should therefore replace the filenames for the new ones listed below. PAGE OLD FILENAME NEW FILENAME 160 Sprites.abk Octupus.abk 134,178,198 Frog_Leap.IFF AMOSPIC.IFF 198 Magic_Screen.IFF AMOSPIC.IFF 236 Sample_demo.abk Samples.abk 237 Sampledemo.abk Samples.abk 238 Sample.abk Samples.abk 245 Sample1.abk Samples.abk