Top 10k strings from TOR2manual.rtf in <root> / doc / technical / RoelofKoning / tornadSRC.zip /

Back to the directory listing

   1 {\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
   1 {\colortbl ;\red0\green0\blue0;}
   1 time one of these functions is chosen, the function toggles between an aphabetical sort on the symbol names and a numerical sort on the addresses.\par
   1 there is a menu under the 'Extended Mode' key (CS+SS).\par
   1 source file after all garbage is removed (including all CHR$10's!) or changed into CHR$32's (space). It is imperative that such text ends with CHR$13 + CHR$255. You can make Tornado believe that all lines must be re-tokenized by poking 28637,0. Walking through the text with 'Enter' then\par
   1 on the moment that the 'EXTEND' keys (CS+SS) were pressed. \par
   1 is connected, just 'BREAK' and try again!) \par
   1 feature makes it possible to move labels you want to monitor, in front of the list.\par
   1 does the job. \par
   1 a colon ':'. Spaces following such colon are not removed from the line.\par
   1 \viewkind4\uc1\pard\lang1043\b\f0\fs24 Tornado by Roelof Koning 1991-2005  v2.1 \b0\fs20\par
   1 \tab\tab\tab    the findstring is returned into the default (c).\par
   1 \tab\tab\tab    or for the string of text entered in the 'FIND' menu-\par
   1 \tab\tab\tab    function. As soon as the end of the text is reached \par
   1 \tab\tab   of >20Kb to assembled. Or multiple sources could generate a\par
   1 \tab\tab   code block >10 Kb! \par
   1 \tab\tab   Allows to assemble files from disk. This allows for sources\par
   1 \tab   then (and also when omitted!) no code is generated. \par
   1 \tab   The program will only allow dumps to free memory addresses \par
   1 \b The View and Print Symbols functions\b0  return a sorted list of symbols. Every\par
   1 \b The LOAD, SAVE, MERGE etc. functions\b0  on the menu screen are handled in BASIC lines. This way the load/save procedures can be adapted to many systems. Entering an empty file name ("") will invoke a CAT command. \par
   1 \b Technical hint\b0 : An existing disassembly text in ASCII can be used as \par
   1 \b PSEUDO OPCODES:\par
   1 \b In most systems stream #3 can be re-directed away from the printer\b0  to a file on disk. You then could 'print' the symbol table to a file.\par
   1 \b Errors during assembly\b0  are signalled by inserting extra lines. These lines can easily be found with help of the 'FIND' function under the EDIT key (CS+1). This function default searches for the '(c)' sign (and also for the end-of-file marker). Inserted error messages are always preceeded by a (c) character. Intentionally inserting (c) characters would provide you with a smooth way to find the relevant parts in long texts.\par
   1 \b Editor functions that are available direct under the keys:\b0\par
   1 \b Block-functions\b0  (found on the menu screen) like Move, Copy handle the part of the text that is found between two block markers generated by GRAPHICS (CS+9). The marked blocks are moved to the position where the cursor was\par
   1 When you don't see a menu after starting (emulators!), then remember that\par
   1 When blockmarkers are found by the PRINT TEXT function then only the part of the text between the markers will be printed. \par
   1 This menu provides a number of basic functions, and here the 'Assemble' function is added. Enter the Editor by pressing 'N' to start a new text, or 'O' to continue in an existing one.\par
   1 There are a number of text convertors available from several authors: gens2tor, tor2wm, tor2txt, txt2tor, mem2defb.\par
   1 Then in Basic: \b CLOSE #3\b0 .\par
   1 Then choose 'P' or/and(!) 'T' in the menu, and 'B' when ready.\par
   1 The text file grows up from 32768, while the symbol table grows down from 65520. Collisons are detected and signalled before they actualy take place.\par
   1 The sort function is case-sensitive, although the assembler is not! This\par
   1 The following is an example in IF1 syntax:\par
   1 The few characters that (on Spectrum) are found in red UNDER the keys are not available because of the way the keyboard is read. These rarely used characters can not be used in comments, but can still be in your code by using a DEFB n statement.\par
   1 The end-of-line character is CHR$13 and the end-of-file is CHR$255. CHR$ 126 is used as blockmarker, and CHR$ 127 serves as errormarker (c).\par
   1 Symbshift+ y (AND)  :insert one line (below the current!) \par
   1 Symbshift+ u (OR)\tab   :delete the current line\par
   1 Symbshift+ s (NOT)  :insert (c) marker\par
   1 Symbshift+ q (<=)\tab   :delete one character \par
   1 Symbshift+ e (=>)\tab   :insert one character \par
   1 Symbshift+ Capshift :to menu \par
   1 Roelof Koning, 2005.\par
   1 Recursive including is not allowed (a text to be included cannot hold an include instruction), this will result in jump to the Spectrum's \b "Statement lost" error\b0 .\par
   1 Names are not case sensitive, although capitals are discriminated when sorting. Label names should not end with a colon ':'.\par
   1 In Basic: \b CLOSE #3\b0  [enter], \b OPEN #3;"m";1;"filenaam": RUN\b0  [enter]\par
   1 INCLUDE\tab : Syntax is: INCLUDE drivenumber "filename". \par
   1 From a BASIC command line the program is invoked by 'RUN'\par
   1 END   : The assembling will ignore any text following this opcode\par
   1 Do not forget to restore the normal situation by poking 28637, 208!\par
   1 DUMP\tab : Address where the assembled code is placed. Default value =0,\par
   1 CAPs+9   \tab\tab   :insert line with block marker (CHR$ 126)\par
   1 CAPs+5,6,7,8 \tab   :cursor\par
   1 CAPs+4   \tab\tab   :page up\par
   1 CAPs+3   \tab\tab   :page down\par
   1 CAPs+2   \tab\tab   :capslock\par
   1 CAPs+1  ('Edit') \tab   :search default for the errormarker '(c)' (CHR$ 127)\par
   1 CAPs+0   \tab\tab   :backspace\par
   1 Because of this 'include' function there are different versions of Tornado for a number of interfaces. The file to be included is loaded in a part of the screen and assembled from there. An invalid drive number is signalled in the main text with \b "number?"\b0 . Missing quotes are reported as \b "nonsense"\b0 . \par
   1 Apart from the usual \b ORG, EQU, DEFB, DEFW, DEFS\b0 .\par
   1 Always two block markers are expected. These are removed from the text when the function is ready. \par
   1 All spaces are removed from the text during tokenizing, but comments (remarks) following a semicolon ';' are left alone. \par
   1 A nonexisting filename, or a non-CODE file, or a CODE file that has a start address that differs from 32768, is signalled by a jump to the Spectrum's \b "Invalid filename" error\b0 .\par
   1 A new line is generated when 'ENTER' is pressed at the end of the text. Empty lines are allowed like in normal text. As soon as a line is 'left alone', the program will tokenize the typed text and move it into fixed columns. MNEMONICs return on screen in capitals. The tokenizing is not case-sensitive, but mnemonics are expected to be found between spaces, commas or '()'.\par
   1 A Z80 assembler for the Spectrum, featuring a.o. an intelligent editor and the absence of line numbers.\par
   1 ===================================================\par
   1 ;-------------------\b0\par
   1 ---------------------------------------------------------------------------\par
   1 - \b Strings\b0  should be inside "", not ''. \par
   1 - \b Label names\b0  must start with a letter, and can be up to 14 characters. \par
   1 - \b Calculations\b0  can be \cf1 done with numbers, symbols and '$'. Valid expressions are +,-,*,/ but \cf0 no error is generated in case of overflow! Note: There is no priority in longer formulas.  \par
   1 - \b AND\b0  and \b OR\b0  functions are presented by '&' and '!'.\par
   1 - The \b semicolon\b0  ';' which serves as a remark sign will stick in column 0 as well as in column 32, allowing full comment lines. \par
   1 - Numbers in \b hex\b0  should be prefixed by '#' and  \b binairy\b0  numbers by '%'. \par
   1 - It is possible to have \b more than one instruction on a line\b0 , separated by\par
   1 - Complete \b empty lines\b0  are allowed, but at the end of the text they will not stay when the cursor leaves.\par
   1 (Note that this CLOSE #3 may not work the first time when no printer \par
   1 $\tab : Represents the value of the current address (Program Counter)\par