@DATABASE SYSTEM2
@Author Conversion program
@NODE OVERVIEW "Overview of SYSTEM2"

                                  @{b}@{u}Overview@{ub}@{uu}


                          An Acid Software Library

                         Converted to AmigaGuide by

                            Red When Excited Ltd

                 Used with the permission of Acid Software



@ENDNODE OVERVIEW

@NODE MOVEQ "SYSTEM2"

@{fg shine}Statement: MOVEQ@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : MOVEQ 



@ENDNODE MOVEQ

@NODE MOVEM "SYSTEM2"

@{fg shine}Statement: MOVEM@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : MOVEM 



@ENDNODE MOVEM

@NODE MULS "SYSTEM2"

@{fg shine}Statement: MULS@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : MULS 



@ENDNODE MULS

@NODE MULU "SYSTEM2"

@{fg shine}Statement: MULU@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : MULU 



@ENDNODE MULU

@NODE NBCD "SYSTEM2"

@{fg shine}Statement: NBCD@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : NBCD 



@ENDNODE NBCD

@NODE NEG "SYSTEM2"

@{fg shine}Statement: NEG@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : NEG 



@ENDNODE NEG

@NODE NEGX "SYSTEM2"

@{fg shine}Statement: NEGX@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : NEGX 



@ENDNODE NEGX

@NODE NOP "SYSTEM2"

@{fg shine}Statement: NOP@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : NOP 



@ENDNODE NOP

@NODE NOT "SYSTEM2"

@{fg shine}Statement: NOT@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : NOT 



@ENDNODE NOT

@NODE OR "SYSTEM2"

@{fg shine}Statement: OR@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : OR 



@ENDNODE OR

@NODE ORI "SYSTEM2"

@{fg shine}Statement: ORI@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : ORI 



@ENDNODE ORI

@NODE PEA "SYSTEM2"

@{fg shine}Statement: PEA@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : PEA 



@ENDNODE PEA

@NODE rese "SYSTEM2"

@{fg shine}Statement: rese@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : rese 



@ENDNODE rese

@NODE ROL "SYSTEM2"

@{fg shine}Statement: ROL@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : ROL 



@ENDNODE ROL

@NODE ROR "SYSTEM2"

@{fg shine}Statement: ROR@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : ROR 



@ENDNODE ROR

@NODE ROXL "SYSTEM2"

@{fg shine}Statement: ROXL@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : ROXL 



@ENDNODE ROXL

@NODE ROXR "SYSTEM2"

@{fg shine}Statement: ROXR@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : ROXR 



@ENDNODE ROXR

@NODE RTE "SYSTEM2"

@{fg shine}Statement: RTE@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : RTE 



@ENDNODE RTE

@NODE RTR "SYSTEM2"

@{fg shine}Statement: RTR@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : RTR 



@ENDNODE RTR

@NODE RTS "SYSTEM2"

@{fg shine}Statement: RTS@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : RTS 



@ENDNODE RTS

@NODE SBCD "SYSTEM2"

@{fg shine}Statement: SBCD@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SBCD 



@ENDNODE SBCD

@NODE SCC "SYSTEM2"

@{fg shine}Statement: SCC@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SCC 



@ENDNODE SCC

@NODE SCS "SYSTEM2"

@{fg shine}Statement: SCS@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SCS 



@ENDNODE SCS

@NODE SEQ "SYSTEM2"

@{fg shine}Statement: SEQ@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SEQ 



@ENDNODE SEQ

@NODE SGE "SYSTEM2"

@{fg shine}Statement: SGE@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SGE 



@ENDNODE SGE

@NODE SGT "SYSTEM2"

@{fg shine}Statement: SGT@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SGT 



@ENDNODE SGT

@NODE SHI "SYSTEM2"

@{fg shine}Statement: SHI@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SHI 



@ENDNODE SHI

@NODE SLE "SYSTEM2"

@{fg shine}Statement: SLE@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SLE 



@ENDNODE SLE

@NODE SLS "SYSTEM2"

@{fg shine}Statement: SLS@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SLS 



@ENDNODE SLS

@NODE SLT "SYSTEM2"

@{fg shine}Statement: SLT@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SLT 



@ENDNODE SLT

@NODE SMI "SYSTEM2"

@{fg shine}Statement: SMI@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SMI 



@ENDNODE SMI

@NODE SNE "SYSTEM2"

@{fg shine}Statement: SNE@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SNE 



@ENDNODE SNE

@NODE SPL "SYSTEM2"

@{fg shine}Statement: SPL@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SPL 



@ENDNODE SPL

@NODE SVC "SYSTEM2"

@{fg shine}Statement: SVC@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SVC 



@ENDNODE SVC

@NODE SVS "SYSTEM2"

@{fg shine}Statement: SVS@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SVS 



@ENDNODE SVS

@NODE ST "SYSTEM2"

@{fg shine}Statement: ST@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : ST 



@ENDNODE ST

@NODE SF "SYSTEM2"

@{fg shine}Statement: SF@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SF 



@ENDNODE SF

@NODE Stop "SYSTEM2"

@{fg shine}Statement: Stop@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Stop 

The Stop command will cause program flow to stop, and user control to be 
transferred to Blitz 2 direct mode.

The Stop command is really only useful in debugging situations, as it allows 
the programmer a chance to have a look at program variables via Blitz 2's 
direct mode.


@ENDNODE Stop

@NODE SUB "SYSTEM2"

@{fg shine}Statement: SUB@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SUB 



@ENDNODE SUB

@NODE SUBI "SYSTEM2"

@{fg shine}Statement: SUBI@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SUBI 



@ENDNODE SUBI

@NODE SUBA "SYSTEM2"

@{fg shine}Statement: SUBA@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SUBA 



@ENDNODE SUBA

@NODE SUBQ "SYSTEM2"

@{fg shine}Statement: SUBQ@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SUBQ 



@ENDNODE SUBQ

@NODE SUBX "SYSTEM2"

@{fg shine}Statement: SUBX@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SUBX 



@ENDNODE SUBX

@NODE SWAP "SYSTEM2"

@{fg shine}Statement: SWAP@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SWAP 



@ENDNODE SWAP

@NODE TAS "SYSTEM2"

@{fg shine}Statement: TAS@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : TAS 



@ENDNODE TAS

@NODE TRAP "SYSTEM2"

@{fg shine}Statement: TRAP@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : TRAP 



@ENDNODE TRAP

@NODE TRAPV "SYSTEM2"

@{fg shine}Statement: TRAPV@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : TRAPV 



@ENDNODE TRAPV

@NODE TST "SYSTEM2"

@{fg shine}Statement: TST@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : TST 



@ENDNODE TST

@NODE UNLK "SYSTEM2"

@{fg shine}Statement: UNLK@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : UNLK 



@ENDNODE UNLK

@NODE nana "SYSTEM2"

@{fg shine}Statement: nana@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : nana 



@ENDNODE nana

@NODE List "SYSTEM2"

@{fg shine}Statement: List@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : List 



@ENDNODE List

@NODE SetErr "SYSTEM2"

@{fg shine}Statement: SetErr@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SetErr 

The SetErr command allows you to set up custom error handlers. Program code 
which appears after the SetErr command will be executed when any Blitz 2 
runtime errors are caused. Custom error code should be ended by an End 
SetErr.


@ENDNODE SetErr

@NODE ClrErr "SYSTEM2"

@{fg shine}Statement: ClrErr@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : ClrErr 

ClrErr may be used to remove a custom error handler set up using SetErr.


@ENDNODE ClrErr

@NODE Errn "SYSTEM2"

@{fg shine}Statement: Errn@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Errn 



@ENDNODE Errn

@NODE ErrFail "SYSTEM2"

@{fg shine}Statement: ErrFail@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : ErrFail 

ErrFail may be used within custom error handlers to cause a 'normal' error. 
The error which caused the custom error handler to be executed will reported 
and transfer will be passed to direct mode.


@ENDNODE ErrFail

@NODE Addr "SYSTEM2"

@{fg shine}Statement: Addr@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Addr Objectname(Object#)

Addr is a low-level function allowing advanced programmers the ability to 
find where a particular Blitz 2 object resides in RAM. An appendix at the 
end of this manual lists all Blitz 2 object formats.


@ENDNODE Addr

@NODE MOD "SYSTEM2"

@{fg shine}Statement: MOD@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : MOD 



@ENDNODE MOD

@NODE Pi "SYSTEM2"

@{fg shine}Statement: Pi@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Pi 



@ENDNODE Pi

@NODE Repeat "SYSTEM2"

@{fg shine}Statement: Repeat@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Repeat 

Repeat is used to begin a Repeat...Until loop. Each Repeat statement in a 
program must have a corresponding Until further down the program.
The purpose of Repeat/Until loops is to cause a section of code to be 
executed AT LEAST ONCE before a test is made to see if the code should be 
executed again.


@ENDNODE Repeat

@NODE Until "SYSTEM2"

@{fg shine}Statement: Until@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Until Expression

Until is used to terminate a Repeat/Until loop. If Expression proves to be 
true (non 0), then program flow will continue from the command following 
Until. If Expression proves to be false (0), then program flow will go back 
to the corresponding Repeat, found further up the program.


@ENDNODE Until

@NODE PutReg "SYSTEM2"

@{fg shine}Statement: PutReg@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : PutReg 68000 Reg,Variable

PutReg may be used to transfer a value from any 68000 register (d0-d7/a0-a7) 
into a BASIC variable. If the specified variable is a string, long, float or 
quick, then all 4 bytes from the register will be transferred. If the 
specified variable is a word or a byte, then only the relevant low bytes 
will be transferred. 



@ENDNODE PutReg

@NODE Pop "SYSTEM2"

@{fg shine}Statement: Pop@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Pop Gosub|For|Select|If|While|Repeat

Sometimes, it may be necessary to exit from a particular type of program 
loop in order to transfer program flow to a different part of the program. 
However, to achieve this Blitz 2 must be told that the relevant loop should 
be 'forgotten'. This is the purpose of Pop.

Actually, Pop is only necessary to prematurely terminate Gosubs, Fors and 
Selects. If, While and Repeat have been included for completeness.


@ENDNODE Pop

@NODE INCDIR "SYSTEM2"

@{fg shine}Statement: INCDIR@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : INCDIR Pathname

The INCDIR command allows you to specify an AmigaDos path to be prefixed to 
any filenames specified by any of INCLUDE, XINCLUDE or INCBIN commands.

Pathname may be optionally quote enclosed to avoid tokenisation problems.


@ENDNODE INCDIR

@NODE EndIf "SYSTEM2"

@{fg shine}Statement: EndIf@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : EndIf 

EndIf is used to terminate an 'If block'. An If block is begun by use of the 
If statement. Please refer to If for more information on If blocks.


@ENDNODE EndIf

@NODE Wend "SYSTEM2"

@{fg shine}Statement: Wend@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Wend 

Wend is used in conjunction with While to determine a section of program to 
be executed repeatedly based upon the truth of an expression.


@ENDNODE Wend

@NODE SysJsr "SYSTEM2"

@{fg shine}Statement: SysJsr@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : SysJsr Routine

SysJsr allows you to call any of Blitz 2's system routines from your own 
program. Routine specifies a routine number to call.



@ENDNODE SysJsr

@NODE WBStartup "SYSTEM2"

@{fg shine}Statement: WBStartup@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : WBStartup 

By executing WBStartup at some point in your program, your program will be 
given the ability to run from Workbench. A program run from Workbench which 
does NOT include the WBStartup command will promptly crash if an attempt is 
made to run it from Workbench.



@ENDNODE WBStartup

@NODE Maximum "SYSTEM2"

@{fg shine}Statement: Maximum@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Maximum Objectname

The Maximum function allows a program to determine the 'maximum' setting for 
a particular Blitz 2 object. Maximum settings are entered into the 'OPTIONS' 
requester, accessed through the 'COMPILER' menu of the Blitz 2 editor.


@ENDNODE Maximum

@NODE On "SYSTEM2"

@{fg shine}Statement: On@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : On Expression Goto|Gosub Program Label[,Program Label...]



@ENDNODE On

@NODE Off "SYSTEM2"

@{fg shine}Statement: Off@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Off 



@ENDNODE Off

@NODE Forever "SYSTEM2"

@{fg shine}Statement: Forever@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Forever 

Forever may be used instead of Until to cause a Repeat/Until loop to NEVER 
exit.

Executing Forever is identical to executing 'Until 0'.


@ENDNODE Forever

@NODE Restore "SYSTEM2"

@{fg shine}Statement: Restore@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Restore [Program Label]

Restore allows you to set Blitz 2's internal 'data pointer' to a particular 
piece of data. after executing a Restore, The first item of data following 
the specified Program Label will become the data to be read when the next 
Read command is executed.

Restore with no parameters will reset the data pointer to the very first 
piece of data in the program.


@ENDNODE Restore

@NODE Exchange "SYSTEM2"

@{fg shine}Statement: Exchange@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Exchange Var,Var

Exchange will 'swap' the values contained in the 2 specified variables. 
Exchange may only be used with 2 variables of the same type. 


@ENDNODE Exchange

@NODE USEPATH "SYSTEM2"

@{fg shine}Statement: USEPATH@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : USEPATH Pathtext

aliens()\x=160
aliens()\y=100
aliens()\xs=10
aliens()\ys=-10

USEPATH can be used to save you some typing, like so:

USEPATH aliens()
\x=160
\y=100
\xs=10
\ys=-10

Whenever Blitz2 encounters a variable starting with the backslash character 
('\'), it simply inserts the current USEPATH text before the backslash.


@ENDNODE USEPATH

@NODE CloseEd "SYSTEM2"

@{fg shine}Statement: CloseEd@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : CloseEd 

The CloseEd statement will cause the Blitz 2 editor screen to 'close down' 
when programs are executed from within Blitz 2. This may be useful when 
writing programs which use a large amount of chip memory, as the editor 
screen itself occupies about 40K of chip memory.

CloseEd will have no effect on executable files run outside of the Blitz 2 
environment.


@ENDNODE CloseEd

@NODE NoCli "SYSTEM2"

@{fg shine}Statement: NoCli@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : NoCli 

NoCli will prevent the normal 'Default Cli' from opening when programs are 
executed from within Blitz 2. NoCli has no effect on executable files run 
outside of the Blitz 2 environment.


@ENDNODE NoCli

@NODE BitTst "SYSTEM2"

@{fg shine}Statement: BitTst@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : BitTst 



@ENDNODE BitTst

@NODE BitSet "SYSTEM2"

@{fg shine}Statement: BitSet@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : BitSet 



@ENDNODE BitSet

@NODE BitClr "SYSTEM2"

@{fg shine}Statement: BitClr@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : BitClr 



@ENDNODE BitClr

@NODE BitChg "SYSTEM2"

@{fg shine}Statement: BitChg@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : BitChg 



@ENDNODE BitChg

@NODE Used "SYSTEM2"

@{fg shine}Statement: Used@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Used Objectname(Object#)

Used returns the currently used object number. This is useful for routines 
which need to operate on the currently used object, also interrupts should 
restore currently used object settings.


@ENDNODE Used

@NODE Runerrson ;name "SYSTEM2"

@{fg shine}Statement: Runerrson ;name@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Runerrson ;name 



@ENDNODE Runerrson ;name

@NODE Runerrsoff "SYSTEM2"

@{fg shine}Statement: Runerrsoff@{fg text}
--------------------------------------------------------------------------------
Modes  : 
Syntax : Runerrsoff 

@ENDNODE Runerrsoff

@NODE MAIN "SYSTEM2"

.-----------------------------------------------------------------------------.
|                                  @{b}SYSTEM2@{ub}                                    |
`-----------------------------------------------------------------------------'

                             @{"     Overview     " link OVERVIEW}

                               Command Index                                

                 @{" MOVEM      " link MOVEM}                @{" MOVEQ      " link MOVEQ}
                 @{" MULS       " link MULS}                @{" MULU       " link MULU}
                 @{" NBCD       " link NBCD}                @{" NEG        " link NEG}
                 @{" NEGX       " link NEGX}                @{" NOP        " link NOP}
                 @{" NOT        " link NOT}                @{" OR         " link OR}
                 @{" ORI        " link ORI}                @{" PEA        " link PEA}
                 @{" rese       " link rese}                @{" ROL        " link ROL}
                 @{" ROR        " link ROR}                @{" ROXL       " link ROXL}
                 @{" ROXR       " link ROXR}                @{" RTE        " link RTE}
                 @{" RTR        " link RTR}                @{" RTS        " link RTS}
                 @{" Runerrsoff " link Runerrsoff}                @{" SBCD       " link SBCD}
                 @{" SCC        " link SCC}                @{" SCS        " link SCS}
                 @{" SEQ        " link SEQ}                @{" SF         " link SF}
                 @{" SGE        " link SGE}                @{" SGT        " link SGT}
                 @{" SHI        " link SHI}                @{" SLE        " link SLE}
                 @{" SLS        " link SLS}                @{" SLT        " link SLT}
                 @{" SMI        " link SMI}                @{" SNE        " link SNE}
                 @{" SPL        " link SPL}                @{" ST         " link ST}
                 @{" Stop       " link Stop}                @{" SUB        " link SUB}
                 @{" SUBA       " link SUBA}                @{" SUBI       " link SUBI}
                 @{" SUBQ       " link SUBQ}                @{" SUBX       " link SUBX}
                 @{" SVC        " link SVC}                @{" SVS        " link SVS}
                 @{" SWAP       " link SWAP}                @{" TAS        " link TAS}
                 @{" TRAP       " link TRAP}                @{" TRAPV      " link TRAPV}
                 @{" TST        " link TST}                @{" UNLK       " link UNLK}
@ENDNODE MAIN

