ZX Format #06
29 июля 1997 |
|
Toys - description editor Adeventyur - PAW (Part 3).
PAW Technical manual (Continued) music by DNK (C) 1986 Gilsoft International Ltd. (C) 1996 Alex ASP, Translation _______________________________ VII. A detailed description of the database. The database consists of several interrelated tables. Contained within much diverse information, such as values of background colors, the number of objects which can carry, character sets and etc. At 128K machines main areas Data and Indices exist for each RAM page. In fact, each this page is an independent base data. Tables are divided into (in order of their location in memory): 1) UDG (symbol table graphics, user-defined) This table, which occupies 152 bytes, contains the characters UDG, that can be modified in the editor characters, which will be described below. Cheats UDG is in the range from 144 to 162. 2) Shades (table textures) This table occupies 128 bytes and contains graphic the texture, which can be modified in the editor characters. Their codes we find converge in the range of 0 to 15. These two tables are loaded / saved together and defined as a character set 0 in spite of the fact that the ROM set use codes 32 through 127. 3) Miscellaneous (table for all stuff) a few small tables and variables, the total length - 50 bytes. 4) Character Sets (a table of character sets) This table is empty until until you enter a character set by using the editor of symbols. 768 byte is used for each dose character set. 5) Dictionary (dictionary compressor) This table occupies only 1 byte long until the first time will not be used Compressor to compress the database. After that, it holds 222 bytes, needed for that then, instead of tokens with codes from 165 to 255 to write the groups of letters that these tokens are replaced. 6) The Process tables or the process table form 'heart' of the database providing basic management game. 7) The Response Table, or table of responses, whose rows contain numeric meaning of the verb and noun logical proposals that are needed to with kondaktami. If during a game This table is a line that coincides with the verb and noun 1 introduced by LS, then the following kondakty. Kondakty those that may be present and their actions are fully considered in the description of the interpreter. The ordering of the rows in the table is growing Along with the verb. Rows with the same number of the verb should be placed in ascending order, with number of the noun. Line with the same number of verb and noun are in the same sequence that were entered into the database. Word "_" Has a value of 255, and "*" is value of 1. Example of the order of the table, where meaning of the words in brackets: * (1) * (1) LOOK (30) UP (10) LOOK (30) DOWN (11) LOOK (30) _ (255) GET (100) * (1) GET (100) KEY (16) GET (100) LAMP (26) GET (100) LAMP (26) _ (255) _ (255) Other processes are stored in a table the same format, but ignores words PAW while scanning the table until if the process was not called from the table answers the action PROCESS. 8) Process 1, it scans the PAW after describing the location to print more information which forms part of the description of the location. 9) Process 2 of its scans PAW after each time frame, ie after each sentence imposed by the player and after each empty action. Any other subprocesses follow initial three if initialized optional Process option (Options processes) from the main menu. Verb and noun used in each row in Tables 1 and processes 2 (and any subprocesses resulting from them) have no meaning, because they ignored, but can be used as a commentary on the action of this string table. Each process table has a header of 7 bytes (21 bytes used to empty the database, because 3 of the table, including here and a table of responses already present). Each line uses 5 bytes, and kondakt each - 1 to 3, depending the number of parameters. Note: If you delete a word from the dictionary, and no synonym for this word is not present, then all rows in the table of processes, including the table of responses containing vshie word are also removed. 10) The Object Text table (a table of descriptions of objects) has a line for each object and contains the text that appears when you need a description of the object. Each string is 3 bytes plus the length of text. In adventyure object is everything that can be manipulated, and objects are numbered from 0 upwards serial number. The object 0 is taken interpreter for the source of light. When Whatever created a new text object, line of not-created (not generated) written for him at the table Initially at (Table original position), line "_ _" Written in the words of the table objects, weight of one piece with no attributes odevaemosti container and stored in the table weight. 11) The Location Text table (table descriptions of locations) has a row for each location and contains the text that appears in the description of the location. Each row occupies 3 bytes plus the length of the text. Rows are numbered from 0 upwards serial number, and location 0 is locations start. Whenever sozavalas location, the zero line for this location inserted into the connection table. 12) The Message Text table (table posts) This table contains the text of all messages used in the game. Messages are numbered from 0 in the direction of increasing their ordinal numbers, and each of them occupy maet 3 bytes plus the length of the text. 13) The System Messages (table system messages) This table contains the messages used by the interpreter. Each of them occupies 3 bytes plus the length of text. Use of these messages is shown in the description of the interpreter. Additional system messages can be written by the creator of the game, if they Therefore, necessary. 14) The Connections table (connection table) contains the lines for each location, and each line can be either empty or contain a certain amount 'Pairs of motion'. A pair of motion contains value of the word (verb or noun kovertiruemogo) from the dictionary, followed by a number of locations. This means that every verb (or kovertiruemoe noun) with these words provide a transition to a specified location. For example, the string: SOUTH EAST 6 7 6 LEAVE NORTH 5 means that if the team will SOUTH, LEAVE or their synonyms, it will move to location 6, if the EAST or sinonimy, the location 7, and if NORTH or its synonyms, the location 5. Each line uses 3 bytes, plus a pair of bytes for each pair of movement. Notes: 1: Each pair of motion does not contain the word itself, and its number. If the number of words remove from the dictionary, then all the pairs of motion containing this number of the word, will also removed. 2: During the game, only the verb of the LS provide movement. 3: If the movement is carried out rows from a table using the answer of GOTO, there will be no need for the connection table as long as this line no need for movement PSI (Psevdointellektualnogo character that controlled by a computer). 15) The Vocabulary (vocabulary game) Each row of the table uses 7 bytes contains the word or the first 5 letters, if it is the length, type words from 0 to 6 and number words from 2 to 254. Types of words are as follows: 0 - verb 1 - adverb 2 - noun 3 - adjective 4 - excuse 5 - Union 6 - pronoun Words with the same number of words are called synonyms. Strings are stored in accordance with the increase of the meanings of words, and if the number of words is the same for several words, the first is something that has more spaces, for example: U UP CLIMB ASCEN (D) If the strings with the same numbers words of the same number of spaces, then the word that was introduced earlier is used, ie CLIMB introduced earlier than ASCEN (D). Notes: 1: Where would the editor do not have to pass on the word to the very word, he will take first-encountered word with a given desired type. 2: Verbs and nouns are converted to a value below 14 should be reserved for words that denote movement. 16) The Object Initially At table (table of the original position of objects) This table contains 1 byte for each row (For each object), indicating the number location, which is currently object during launch adventyury. It may also be located on a player, he or be not-created (not created). 17) The Object Word table, or table word objects contains 2 bytes per object, the bytes are numbers of the noun and adjective associated with the object. 18) The Object Weight and Attribute table (table of weights and the attributes of objects) This table contains byte per line. Bit 7 is used to show whether or not this object is worn (ie WR option). Bit 6 is used to show whether the object is a container (option C), and bits 1 to 5 determine the weight of an object, which varies from 0 to 63. Graphic area of the database grows down from the top of memory. 19) The Location Flags or flag locations. Table of uses in bytes per picture. Bit 7 determines whether draw a picture on arrival at the location, ie that location is not a 'routine'). Bits c 0 to 5 describe the initial color of the paper and ink for a picture. Bit 6 is not used. 20) The Picture Table (table of images) Each row has 3 bytes plus the length of the drawstring (droustringa - a sequence of drawing commands). Always the number of rows equals the number of locations. Droustring is a set of teams of various lengths, which reduce the amount of memory needed for get the picture. 21) The Pointers (table pointer) It contains the major indexes database data. VIII. A detailed description of the Editor. Each menu option will be described in order of appearance. 1) Vocabulary (Dictionary). Insert I word No. Type (Vvecti) No. is in the range from 2 to 254 a Type 0 to 6. If the word word is not present in the dictionary, it is inserted with the value No. and the type Type. Delete D word (Remove). If the word is a word in the dictionary, it itself, its type and value are removed. If the dictionary contains synonyms deleted words, no action for removal of the word is not followed. If the synonyms of the word will not appear, then: a) all rows of processes used value for the remote generators words will also be removed; b) if the value is less than 14 words, then all movement in the connection table, which torye use the value of remote words will also be deleted. c) all rows of words objects to torye use the value of remote words are set to zero. Show synonyms S word (See synonyms) If the word word is in the dictionary, it and all other words that have the same value and type are printed on the screen. Note that if you use it convertible for nouns, and their slightly less than 20, all verbs, synonyms will also be printed, and vice versa. Print P (Type) or L (Type) (Print) Printing is carried out or the screen (P), or Printer (L). If type Type, then printed words only this type. Notes: 1: Be careful when using the removal, because it can affect the tables processes, compounds and words, objects. Removal may also be time consuming (Minutes), if the database is large. 2: Nouns and verbs with a value of less than 14, conceived as a word of movement, so it will be printed SM7 ("I can't go in that direction. "" I can not go there. ") instead of SM8 (" I can't do that " "I can not do it."). 3: The words with numbers from 2 to 254 can be used for each type of words. They are not synonymous, as will different types. This allows us to get more than 250 words for each type, and it is not including synonyms. 2) Location Text (text locations). Insert I (Insert) If it was inserted into the maximal number of locations, we get the error "Limit Reached" "Limit reached". Otherwise is the next available location number of the largest in number of used RAM pages displayed on the options Free Memory (free memory), and inserted for this location zero text to a table describing the location. Then resumes and automatically invoked routine that allows the creator to fix the game just recorded in the table descriptions of locations of zero text. Begin new Page B (Start new page) If all the RAM page were used or were inserted into the game maximum number of locations, then the error will appear "Limit Reached "" limit has been reached. "Otherwise If at the next free RAM page is created zero database and writes the next free number location. Then work is resumed with a call subroutine, which allows creators of the game zero change text on a new page. Amend A locno. (Correct) The existing text location locno. copied into the input buffer and is displayed in bottom of the screen for correction. By pressing ENTER the earlier text is replaced by the contents of the input buffer. Print P (locno.) or L (locno.) (print) Printing takes place either on the screen (P), either the printer (L). Printing begins location with a number locno., in the absence of this option - from the outset. Notes: 1: Home games are always going to location 0. 2: The maximum may be 252 locations .. - 3: You can not start a new page if all the numbers available locations are already occupied. 3) Connections (Connections). Amend A locno. (Correct) The existing line for location locno. decoded and copied into the input buffer and printed at the bottom of the screen for correction. By pressing the ENTER input buffer must either be empty or contain format string word locno., repeating several times. word should be a verb or a noun convertible, located in the dictionary, and locno. must in a table describing locations. If there are no syntax errors discovered, the previously existing line will be replaced with encrypted copy of input buffer, ie all the words will be replaced by their values. Print P (locno.) or L locno. (Seal) Printing takes place either on the screen (P), either the printer (L). Printing begins location with a number locno., in the absence of it - from the outset. Notes: 1: Description of location must be present before they will be present line for this location in the connection table. 2: Every verb (or noun convertible that is in the dictionary can be used in the connection table, not just words for the movement. 3: When a string is decoded to correct the press, or number of the word is replaced at the first available verb (or convertible noun), which will be found in the dictionary that has the same meaning. 4) Graphics (Graphics). Amend A picno. (Correct) Graphical database expands for empty space at the end of the desired image. Then there is the entrance to the main loop graphic editor, which will be described below. To get out of it still remains an empty space is removed. Note: Unlike editing text, there is a change in base data, so you can not stop editing revoke the action CAPS SHIFT '& 6, as command is executed NEXT. Size S (Size) Calculates and prints the number of bytes located between the start of the current droustringa and the beginning of the next. Print, Copy and Dump. P picno., C picno. and D picno. (Print, copy, and save) picno. should always be defined. If you select (P), then the name is queried file. The desired image is drawn on screen. If you select (C), then called printer commands COPY (a more detailed description is in the section on printers). If you chose (D), is recorded SCREEN $ file (16384.6912), which can then be used as a screensaver for the game or it can be edited in any another image editor. Note that the SCREEN $ file could not be loaded into database. 5) Default Colours (default colors). Amend A picno. (Paper Ink) (Correct) In order to be able to find out what Image picno. a subprogramme until then, until they are installed color paper and ink PAPER INK, a flag is set. When they are identified, it will be saved as color default for this picture. All those locations that do not require images to be installed as a subprogramme. Print P or L (Print) Printing takes place either on the screen (P) or a printer. If the location is not subprogramme, it will be printed in color. 6) Messages (Communications). Insert I (Insert) Located next available number message for him, introduced a zero line in the message table for the highest used RAM page (shown in options Free Memory). An automatic call to the procedure for correction, that the creator could fix the zero line. Begin new Page B (Start new page) For the next available message number is recorded on the next page of RAM, if it was initialized from the menu descriptions of locations. Otherwise an error occurs "Page not initialised" "Page can not be initialized." Processing continues to run automatically routines to fix the creator playing a zero line. Amend A mesno. (Correct) Existing post mesno. copied into the input buffer and printed at the bottom of the screen for correction. By pressing ENTER the earlier text is replaced by the contents of the input buffer. Print P (mesno.) or L (mesno.) (print) Printing takes place either on the screen (P) either the printer (L). Printing begins message number mesno., in the absence of indication of the number - from the outset. Notes: 1: There is a limit of 255 messages, but because You can paste and print system messages, they may also use in a game that enables the use of 510 messages, although some of them have already been used. 2: You can not start a new page messages before initialize Page by posting on her location. 7) System Messages (System messages) Insert (Paste) Next available number of system message is for him, writes a zero row in the table system Posts 0 Page RAM. Then the automatic procedure call to correct the creator of the game Zero line. Amend A mesno. (Correct) The current system message mesno. copied into the input buffer and printed at the bottom of the screen for correction. By pressing ENTER the earlier text is replaced by the contents of the input buffer. Print P (mesno.) or L (mesno.) Printing takes place either on the screen (P) either the printer (L). Printing begins System messages nomeaom mesno., a with no indication of the number - from the beginning. Notes: 1: In the description of the interpreter are listed cases, during which the use system messages, but text messages can be changed, for example, instead of "I" "I" use "You" "You", ie a "You're not wearing it" "On you is not wearing, or for use another language, but be careful save the value of these system messages. 2: Posts 30 and 31 actually reports are not, but they contain positive and negative responses used in kondaktah QUIT and END. So beware, if you change them, because END is the main way to getting back to the editor of the interpreter. You should not make them longer than one letter, otherwise the compressor can be used in these tokens. 3: SM10 ("(worn)" "(wearing)") has length, calculated INVEN. This means that it should not contain any control codes and must be entered again if the compressor uses it tokens. In order to correctly calculate the location on the screen, this system message should begin with a space. 4: SM34 (cursor) may contain any control codes, but should not move print position more than 1 space, so otherwise the entry will be incorrect. Each entered letters will be temporary color until the end of the message. 5: The remaining 202 messages can be used for the needs of the creator of the game, but so as not to be equivalent to an action MESSAGE, then the action must be NEWLINE performed when necessary. 6: PAW uses the messages from 54 to 60. Do you have to keep in mind if you're going to translate your game to another system. 8) Object Text (description of objects). Insert I (Insert) The next available room facility is located and that it recorded zero row in the table Object Text. In table Initially at (table of the original position) recorded a string not-created, in Table Object Word (word table objects) recorded '_', and in Table Object Weight (weight table objects) recorded weight in one unit without the kinds of attributes. Then the automatic call to a procedure to correct the creator of the game a zero row in the table Object Text. Amend A objno. (Correct) The existing text object objno. copied into the input buffer and printed in bottom of the screen for correction. By pressing ENTER the earlier text is replaced by the contents of the input buffer. Print P (objno.) or L (objno.) (print) Printing takes place either on the screen (P) either the printer (L). Printing begins describe an object with nomeaom objno., and if no indication of numbers - from the outset. Notes: 1: An object 0 is taken by the interpreter a source of light. 2: There is a limit on the number of objects. Maximum - 255. 9) Object Initially At (table rape initial position of objects) This table specifies the number of locations, which is the subject at the beginning of the game. Amend A objno. locno. (Correct) Existing row object objno. replaced by locno., who must either in the table Location Text (table descriptions of locations), or be equal to number spetslokatsy: 252 - not-created (not created), 253 - worn (wearing) 254 - carried (carries the player). Print P or L (Print) Printing takes place either on the screen (P) either the printer (L). Note: The description of the object must be present before it will be determined starting location. 10) The Object Word (word table objects). Amend A objno.Noun Adjective (Correct) Existing row object objno. is replaced by the value of Noun and Adjective (Noun and adjective), which must be in the dictionary (Vocabulary) or be equal to '_', which means installation of lines to zero. Print P or L (Print) Printing takes place either on the screen (P) either the printer (L). 11) The Object Weight (weight of objects). Amend A objno. Weight Option (Correct) Existing row object objno. is replaced by the weight of the Weight option and Option. Weight should be in the range from 0 to 64. Options include: 0 - Normal object 1 - The object is a container / 2 - The object is a portable / removable 3 - Bodypack / rent container Print P or L Printing takes place either on the screen (P) either the printer (L). After the weights can be printed in characters 'C' if the object is a container and / or 'WR', if it wearable / rent. Notes: 1: You can specify the container only if there is a location with the same number. PAW considers such a location as the container interior space. 2: In a container with a weight of 0, all objects will weigh 0 (while they are in a container). This can be used to produce various 'magic bags' levitation conveyors, etc. 12) The Process (including Response) -Tables Tables of processes (including the table Replies) Two options are available only from the submenu main table of processes: Begin new Table B (Post a new table) Located next available number processes and creates a zero table. Processing resumes with a call option to select the table (Select Table) c new number table. Select table S No. (Select the table) Desired table gets status only what to choose, then re-appears submenu. The other options are available from the submenu two tables: Amend A Verb Noun (n) (Correct) If the number n string is not specified, then the first row of tables Verb and Noun (Verb and a noun) is copied to the clipboard input and output in the bottom of the screen for correction. If this number is indicated (ranging from 0 to the number of inserted rows minus 1), then all this happens with a line of the given number. By pressing the ENTER input buffer is checked for void, and if it is empty, the string with the specified number removed. If the same buffer will not be empty, in the absence of syntax errors string entered number will be replaced by the contents of the buffer. All other rows from the table with the same meaning of the verb and noun will also be displayed at the bottom of the screen for correction. Insert I Verb Noun (n) (Insert) Verb and noun should be any word from the vocabulary (Vocabulary), or '_' Or '*'. Meaning of the verb and a noun ('_' is set to 255, and '*' - Set to 1) are used for to find the right place at the table created for the new line. If you already have There are lines for such a verb / noun, but no one number n string not specified, the new line will be inserted after the existing lines. Otherwise, the line will be placed before line number. Within results site recorded a zero row and routine is called to change the creation Telem games this zero line. Kondakty that can be used, given in the description of the interpreter and appendix at the end of the manual. Print P (Verb (Noun)) or L (Verb (Noun)) Printing takes place either on the screen (P) either the printer (L) starts with the first line that has the same meaning as verb / noun. If the verb or noun is not specified, it assumes a value equal to 0, and so on default, printing will start from the table. Notes: 1: To remove the line, enough to cause her to rectify (Amend) and remove all derived in the bottom of the screen. 2: There is a limit on the number of tables processes. Maximum - 255. Calls can be nested to level 10, after What an error. 13) Extra Options (Advanced Options). Prints continuation of the main menu. 14) Test Adventure (game testing). You are prompted "Do you require di.agnostics?" - "Do I need a diagnosis?" And any answer other than "Y" "D" will be constitute a waiver. After this happens transition to the interpreter. If you select a diagnosis, in any place where I used the internal subroutine shell, pressing ENTER when empty input line will print the value Flag with promptom input. Here you can enter a number of other flags that you want to see, or "=" followed by a number that will install in The current flags specified value. Pressing ENTER will return in the input. The main way to return to the editor from the interpreter is to perform END actions in the process table. 15) Free Memory (free memory). Published for the number of unused bytes RAM on each page. Those pages that were not initialize, show as "Unused" "Not used" and, if Page 7 contains overlays, it is also displayed. Following this list will be printed on every list of the last page of posts and locations that you could track them. Note: The 48K machine will be displayed only page 0. 16) Background Colours (background color). It can be installed the correct value of BORDER, PAPER and INK. It is recommended to install INK 9 (ie, contrasting color ink), but keep in mind that in the bottom of the screen INK 9 behaves somewhat differently. Besides, if the database were put some character sets, here you can give them the status of major. 17) Characters (Characters). Symbols represent a matrix 8x8 and determine what will look like on screen letters, digits, punctuation, UDG and texture. Initially, there is a single character set - the one that flashed in the ROM (ROM). He also contains 16 textures (codes from 0 to 15), 19 characters UDG (codes from 144 to 162) and is called Set 0 (set 0). Insert I (Insert) If the number of character sets not reached its peak, then released the next available number set in the symbol table (Character Set) are inserted into 768 bytes, to copy the contents of 96 characters with codes from 32 to 127 of ROM, otherwise If an error occurs "Limit reached" "Limit reached". Amed A set character (Correct) Symbol character from the set set is copied to the screen for editing. From the set 0 can be edited only with symbols codes from 0 to 15 and from 144 to 162, then while of the remaining sets can only be edited characters with codes from 32 to 127. The editor screen will be 3 areas: 1. Net. In this part of the screen you can see the symbol, increased by 8 times and shown in a grid of white and yellow squares, and each is responsible for his bit in the symbol. On the grid can also see a red flashing box - it shows the location of the cursor. 2. Verification region. Nets to the right you can see two windows in which you can see a symbol such as if it was a texture in the normal and inversion condition. These images are not change in the editing process of the symbol, but can be redrawn by pressing 'R'. 3. The status area. Here you can see the symbol, character set and a list of available commands. To edit a symbol, use the cursor keys (CAPS SHIFT and one of a series of 5 to 8 on the 48K machine) by which mixes blinking cursor. To change the status bits of the symbol, the pointer can be press SPACE. By pressing ENTER edited character will be copied back in the database, while on the pressure 'Q' will be carried out from editing without saving changes in the symbol. Print and Copy sets P or C (Seal) Prints on the screen the characters UDG, texture and character sets. If has been chosen, the team worked through Printer COPY (details - in the section dedicated printer). Load and Save sets L set or S set (Load / write) If the character set set was introduced, then requested the file name, the tenth character is replaced by the sign (s), then file entered the name of load / save. When loading / write the character set 0, is above the action with 286 bytes containing UDG and texture. Notes: 1: You can not fix the character or load character set until the until his team insert Insert. 2: a character set other than zero, are standard and can be edited in any editor that can work with them. To download a character set to PAW necessary to ten characters in a name file has been (a). 3: The disk version may be minor differences. 18) Compress Text (Compressing text). Published "Compress database (Y / N)?" Shrink database (Y / N)? ", And any response other than" Y "" D "will be considered negative, and will return to the main menu. If the answer was positive, then the database inserts Dictionary of 222 bytes. Next, the scanning of the database for the presence of 90 the most common combinations of letters that when it detects are replaced by tokens with numbers from 154 to 255. This compression method can reduce the size texts by about 40%, which 128K machine will give approximately 160K of working space. Notes: 1: During editing, the cursor can jump not one but several characters for the text tokenization. When correcting a place you want to remove the token and re-enter all the characters - They will again be token after will again be selected Compress text. 2: When compressing will be replacing some of the most commonly used for English keyboard letters on a token! 19) Save Database (Save database). The database is stored as a sequence of Vail, two per page. The tenth position in the file name is replaced the letters A to L - sequence files. 20) Verify Database (check database). Proishozdit verification database stored Data on the identity of the contents of memory. 21) Load Database (Download Database) The database files are loaded into memory overwritten and found there a database. Notes: 1: If at boot time will be found error or pressed BREAK, then that database that will be in memory, will dead. Such a database can not be used because it can lead to incorrect work as an interpreter and Editor (up sagging car). Team is the only safe Load Database Editor, which must be performed before a successful boot database into memory. 2: The disk version may be slight changes. 22) Save Adventure (Game Record). Writes Larry and database as a series of files with that name so that the game can, zhno run as any normal program without PAW. 23) Verify Adventure (check the game). Validates the game record. _______________________________
Other articles:
Similar articles:
В этот день... 21 November