OmikroN-Software Claus Jahn in association with Andreas Schraepel present The Ultimative Spectrum-Emulator File Viewer Ûßßßßßßß ÛßßßßßßÛ ÛßßßßßßÛ Ûßßßßßßß ÛßßßßßßÛ Û Ûßßßßßßß ßßßßßßßÛ Û Û Ûßßßßßßß Û Û Û Û Û ßßßßßßßß Ûßßßßßßß ßßßßßßßß ßßßßßßßß Ûßßßßßßß ß ßßßßßßßß Beta Release C of FREEWARE - Version 1.0 1. Introduction ------------------ If You're also a great fan of Sinclair computers and the Spectrum emulators for PC, like us, You're right here! There are lots of games, commercial programs, graphics designers and much more (fun-software, artwork etc.) for ZX-SPECTRUM emulators You can find in Internet and other computer nets. Take a look of the little world around Sir Clive Sinclair's 2nd home computer! In the meantime the ZX-Spectrum is the most-emulated home computer of the world, although it was not been manufactured for years. Now it outlives in emulators, which were optimized more and more, so with some of the emulators You have the feeling to work with an original ZX-Spectrum. The exact number of world-wide avaiable programs for the Spectrum is uncertain. It should be more than 10000. And they're getting more and more! You should have a Spectrum emulator on Your own and a little bit experience with the Sinclair ZX-Spectrum to have fun with SPECPIC. We recommend one of the following emulators: Z80 - by Gerton Lunter (Netherlands) WARAJEVO - by Zeljko Juric & Samir Ribic (Sarajevo) SPECTRUM - by Pedro Gimeno (Spain) JPP - by Arndt Gulbrandsen (Norway) There are much more emulators for ZX-Spectrum, but I don't know enough about them. 1.1 Why FREEWARE? ------------------- Certainly You ask, why SPECPIC is free. The answer is simple: The authors of this program don't want to have any commercial profit, but they simply had to create a helpful tool, which takes a lot of work from the many Spectrum friends working with emulators all around the world. 1.2 Notes ----------- This is the Beta-Release B of SPECPIC V. 1.0. The definite version will be avaiable approximately in March 1996. All versions will be FREEWARE, so You can give SPECPIC to Your friends or other Spectrum fans if You want. Please note that all program files must stay together. It is illegal to erase, rename or to modify one of the EXE- or documentation files. We guarantee that all data You create with this beta-release (configuration files, database files) can be used in following versions or in the definite version respectively without any loss of data. SPECPIC is a DOS-PC program which is able to do following: þ It looks like a file manager with some file editing windows. You can choose an emulator snapshot file or You can change the current directory or drive. Tape image files (TAPs) can be readed too. þ When You pick up one file of the most important emulators (such from Z80, SPECTRUM, WARAJEVO and JPP can be readed) You'll get a view of the original Spectrum display and You will see what kind of file (game, graphic tool or others) it is. þ You can list the program or variable data in original Spectrum quality (the correct BASIC-tokens and user-defined characters are used). þ You can define paths to Your emulators via a configuration file and start the picked snapshot or tape image file without exiting SPECPIC. þ The program shows all data with original Spectrum characters and with original Spectrum colours. Flashing and brighting as well. The flashing of this version is different to the original, but we will work it out. þ If You have so many emulator snapshots (or tape images) and You've lost the track with all those files (like us :-), You will find the database as a great feature. With this You can build data files containing some needed informations (e.g. producer, path to file, type of game etc.) to get a summary of all Spectrum programs You have. The emulator WARAJEVO by Zeljko Juric and Samir Ribic offers a comparable feature. þ An external database-program, named SPECDBAS has been added to this version. It exclusively works with the database and offers (or will offer) additional functions for it. In this version SPECPIC is not complete: Data import and export-functions are missing but they will be avaiable in the definite version of this project. Nevertheless You already can build Your database, because all following versions of this software will have to use this data. þ SPECPIC has an intelligent key info bar which tells the avaiable keys or key-combinations in every program-situation to make it easy to work. þ There are several screen savers which can be used to protect the monitor. And now You should have fun with SPECPIC! For further informations about SPECPIC write to one of the following adresses: Claus Jahn Andreas Schraepel Felsenstrasse 12 An der Lutherkirche 10 D-36266 Heringen (Werra) D-30167 Hannover - Germany Germany <100661.1052@compuserve.COM> 1.3 The emulator files, SPECPIC reads --------------------------------------- In the following You find out the file formats, SPECPIC can read. 1.3.1 The files, SPECPIC can read directly ------------------------------------------ First, I want to declare, what emulator files or file formats You can analyze or watch with SPECPIC. Normally SPECPIC points at the file-extension, to find out the file format. If two file formats have the same extension, SPECPIC attempts getting the type of file by using a little file access. The following file formats SPECPIC recognizes directly: þ *.Z80-files: This file format, from which several versions exist (SPECPIC reads up to and including version 3.3), comes from Gerton Lunter, who has produced one of the most efficient Spectrum emulator. Besides the great emulator WARAJEVO from Zeljko Juric and Samir Ribic provides the same file format. It is a matter of so-called snapshots, which store a mirror of the Spectrum's memory and its registers in a compressed file format. þ *.TAP-files from Gerton Lunter: This file format most corresponds to the structure of data, contained on real data-cassettes, which had been used by the original Spectrum for data-storage. In this format, program data, variable data and byte data are stored in the form of data blocks, one behind the other. In emulator mode those files can be used like real cassettes by entering the BASIC command LOAD "". The size of TAP-files depends on the number of data blocks stored in it. þ *.TAP-files from Zeljko Juric and Samir Ribic: This file format has (nearly) the same characteristics, but it's a little bit different and more complex. That's because of the fact, the WARAJEVO-emulator can store some more Spectrum-features in TAP's like fast-load etc. Besides it is possible, to compress data blocks with WARAJEVO. Please excuse us for the fact, that SPECPIC cannot work with those compressed data blocks. But the uncompressed data in this TAP-format can be used without reservations. þ *.SNA-files This file format is another snapshot format, which stores Spectrum's memory and its registers in an uncompressed way. It comes from Arndt Gulbrandsen. þ *.SP-files Another snapshot-format, which is similar to the *.SNA-format. It comes from Pedro Gimeno. þ ASCII-files The extension(s) for the ASCII-files You want to read, have to be defined in the configuration file. You should define for example ".DOC", ".TXT" and ".ASC". SPECPIC only reads the first 48K of each ASCII-file (it uses the simulated Spectrum-RAM for data-storage) and displays it with a PC-character set. The ASCII-file formats have to be defined in section [ASCII-Files] at the item as one or more character strings, separated by comma. 1.3.2 File formats, SPECPIC cannot read directly ------------------------------------------------ There are lots of file formats, SPECPIC cannot read directly. Nevertheless, SPECPIC makes the work with those file formats much easier to You, because You can order SPECPIC via configuration file, to accept up to five additional file formats. It is unable to build a screen display, but it runs the files via Your emulator. I want to declare two of the most important foreign formats: þ *.VOC-files The VOC-format is the real Spectrum-file format anyway, because it stores the program data in acoustic way. Often, these files are the only way to catch some special effects during loading a game, which would get lost by using a TAP-file. Unfortunately those files often are very large. This format is used by Gerton Lunter's emulator Z80.EXE, which handles it very well. þ *.MDR-files This file format, which is used by Gerton Lunter's emulator too, simulates the Spectrum-Microdrives. 1.4 Brief manual ------------------ SPECPIC isn't only one file, but a group of some files that belong together. The functions of SPECPIC are so numerous, that we were unable to fit all together in one EXE-file. There is a master control program called SPECMAIN.EXE, which You should run to start SPECPIC, because this is the only way to realize changes to the other SPECPIC-programs. The data-interchanges of all SPECPIC-program files are managed by SPECMAIN.EXE. SPECPIC consists of the following files: þ SPECPIC.EXE The program file of SPECPIC. This includes the complete graphical user interface of SPECPIC. þ SPECMAIN.EXE This is the master control program which must be started instead of SPECPIC.EXE if You want to use the emulator calling feature. Because of the large size of SPECPIC.EXE (and because of the emulators' sizes too) it has been turned out that no other of the emulators listed above can be in memory together with SPECPIC.EXE. So we had to find out a way of running both, either SPECPIC.EXE or the emulator. This is the job of SPECMAIN.EXE. Besides it manages the change from SPECPIC to SPECDBAS and reversed. þ SPECDBAS.EXE This program helps working with the database. In SPECPIC it's possible to call this program using the key combination . See the chapter "Database Manager" below. þ SCRNSAVE.EXE This is the monitor protecting program which will be called directly from SPECPIC.EXE (is is a very short program at all). See the chapter "Screen saver" below. 2. Operating instructions ---------------------------- 2.1 Installing SPECPIC's files onto Your computer --------------------------------------------------- The installing procedure is very easy too! It's only necessary to copy all SPECPIC-files to one special directory on Your hard disk. If there's none, please create one by using the following DOS-commands: C: MD \SPECPIC {or any other directory You want to create} After copying the files You can work. 2.2 Starting SPECPIC's master control program ----------------------------------------------- At the DOS prompt type MEM to find out how much free memory is avaiable. There should be at least 590 KB free lower memory (note that some emulators need EMS-memory; if so, use the EMM386 driver, because then the emulator will use less lower memory). SPECPIC doesn't use any EMS or XMS memory (sorry!). To start SPECPIC, type CD where should be the directory where the program files of SPECPIC are stored. Then enter SPECMAIN. After this SPECMAIN calls SPECPIC.EXE automatically. While starting SPECMAIN at the prompt it is possible to define the working-directory and/or the workfile for SPECPIC. To use these options, type: SPECMAIN /D= /F= For example: SPECMAIN /D=C:\SPECPIC\FILES /F=ATICATAC.Z80 Important: ========== þ There mustn't be any space between the command line-switch and the following parameter, but there must be at least one space between both command line-switches! 2.3 The screen of SPECPIC --------------------------- The screen in subdivided into several windows, a top line and a bottom line, which shows the online-help. Each window has its own task, some windows take more tasks in different situations. In the bottom right corner You can see a memory display, which gives information about the free dynamic memory. Depending on the number of dynamic-stored informations (file informations in the topical directory, file content of the loaded file) the value can change. It shouldn't go below 100000, to ensure a trouble-free work. The more lower memory (memory below 1 MB) is avaiable, the more dynamic memory is avaiable for SPECPIC. Normally, SPECPIC uses the original Spectrum colours. For that it adjusts the DAC-colour registers of the VGA-adaptor to other values. Note that it's possible to turn off this colour-adaptation using the configuration file, if problems occur: In section [Miscellaneous] You have to set item to OFF. 2.4 The windows of SPECPIC ---------------------------- SPECPIC's user interface is devided into some windows, so it's easier to overlook. The active window is coloured and so it is possible to distinguish it. There are special keys for each window, and keys that go for all windows. SPECPIC uses the following general keys: activates the next window activates the previous window in case of a loaded file, this key combination starts the corresponding emulator. This function is only avaiable, if You have started SPECPIC by using SPECMAIN. calls SPECDBAS temporary. If You leave SPECDBAS, it returns to SPECPIC. This function is only avaiable if You have started SPECPIC by using SPECMAIN. calls the calculator, by which You can make calculations like the Spectrum does. terminates SPECPIC, if You answer the safety question with . moves the cursor of the FILES-window to left. moves the cursor of the FILES-window down. moves the cursor of the FILES-window up. moves the cursor of the FILES-window to right. loads the file, which is just chosen in the FILES-window or changes to the just chosen directory or drive respectively. Furthermore there are some other -key combinations else, which make possible the immediate change over to another window. These are general too and read: activates the FILES-window. activates the INFOS-window. activates the DATABASE-window. activates the BLOCKS-window. activates the SCREEN-window. 2.4.1 The FILES-window ---------------------- The FILES-window is active automatically after starting SPECPIC. It shows a list of all emulator-files and all subdirectories and drives that were found. Besides You can fix several ASCII-file formats and up to five foreign-file formats in the configuration file, which then will be displayed too. Furthermore the window contains a cursor, which can be moved to all entries that were found. A file only will load, if You call it by pressing the -key. Depending on the type of file that action has influence to the other windows. In the same way You can change the current directory or drive respectively. These entries are red-coloured and stand in angular brackets, to be different to the displayed black-coloured files. After loading a file it will be displayed either blinking or in magenta, depending on how You have adjusted the item of section [Miscellaneous] in the configuration file. Use either ON or OFF. It's possible to move the cursor around after loading one file, without any influence of the loaded file. Only if You change the current directory or drive, SPECPIC will lose the data of that file (not the file characteristics, but the content). The FILES-window always stores only the file informations of one directory. After changing to another directory or drive all recoverd additional informations get lost (e.g. file checksums). The following keys are avaiable in the FILES-window: move the cursor around. If need be the window-content rolls to left or right. moves the cursor to the first entry (normally [..]). moves the cursor to the last entry. loads the chosen file or changes the chosen directory or drive respectively. deletes the chosen file using a preceded safety-question. searches the database for all the files, that stand in the topical directory and displays them with brightness. With this option it's possible to discover all new files of Your hard-disk (e.g. if You got new games in heaps). The FILES-window has a special position. All other windows depend on it. That's why we arranged a possibility to move the cursor of the file window from all other windows. This option isn't visible with the keyinfo-bar, because of no space. To move the cursor around, use the key combinations up to (to the great delight of Spectrum-fans). To load the chosen file (or to activate the chosen directory ot drive respectively), press . SPECPIC briefly changes over to the FILES-window and then it returns, if the window is still present for the new loaded file. After loading a directory, the FILES-window sorts the entries in alphabetical order and places the directories at the end of list. In section [Miscellaneous] at item You can stipulate the sorting by names with NAMES, or You define EXTENSIONS to get a sorting by file extensions. 2.4.2 The INFOS-window ---------------------- The INFOS-window can be selected at any time using . It provides worth knowing informations about the loaded (!) file. It will be empty, if no file has been loaded or if the topical directory or drive has been changed. This operation cases the loss of informations about the file. You can move the window-content only up or down. This is done in usual way via cursor keys. 2.4.3 The DATABASE-window ------------------------- The DATABASE-window is only avaiable, if the name of the database file, that has to be used, was defined in the configuration file in section [Database] at item . You can use "DATABASE.TBL" for example. At the next start of SPECPIC this file will be used. Note that the database is connected with several optional linking-files. These are reference tables that store entries to reduce work at the database. For more information about the database see the chapter "Database". The database window consists of a table, which shows several dynamic-rolling columns side by side. The table also can display several entries one below the other. As one line stands for one Spectrum-program, the complete cursor line is shown with bright contrast. The topical column is marked by the cursor itself. It can be moved around in the normal way. Note that we've implemented special display mechanics, named as "Key-Interrupted Displaying". This increases the speed during fast rolling with cursor. As the database is very important for working at file-level, we have equipped it with lots of functions. For example, You can enter a path for each Spectrum-program in the database and after this You can change over into this path automatically by pressind the key combination in the DATABASE window. In the configuration file it's even possible to stipulate in section [Database] at item with parameter YES, to load the activated file automatically after changing into the path. The following keys or key combinations respectively are avaiable for You in the DATABASE-window: move the cursor around. If need be the window scrolls. moves the cursor to the first entry of database. moves the cursor to the last entry of database. moves the cursor to the previous page. moves the cursor to the next page. If a file has been loaded, a new entry will be added to the database. changes the path-setting of the chosen database-line to the topical directory (displayed in the FILES-window). This way You're able to define the path- settings for all Spectrum-programs that were stored in the database very easy. If the cursor is standing in a column, which gets its informations only from a linking-file, that key calls the list that has been stored in the linking-file. If one entry of the opened list is selected by pressing , the corresponding entry will be taken over into the database. That's the same as entering such entries directly via keyboard, but it's easier. opens the INPUT-window and shows an input-prompt, from which You can change the topical entry. Note that this is only possible with columns which do not store fixed informations (like file size, etc). Changes directly into the input mode, if the topical cell is changeable. The just pressed key will be taken over into the input text. Enlarges the topical column by one character. The window content could roll. A column maximal can be enlarged up to the width of the DATABASE-window. Belittles the topical column by one character. The window content could roll. A column minimal can be shortened down to the width of 1 character. The content of the cell will be preserved. Hides the topical column. The cursor moves to the leftest column. The hidden column is still present, but henceforth it will not be shown. Only one column must be left. Shows all hidden columns again. SPECPIC automatically takes care that the sum of width of all columns not exceeds the result 255. Therefore, after this key combination the width of columns could change minor. moves the cursor to the leftest column. moves the cursor to the rightest column. orders the FILES-window to change into the directory, which is stored at the topical database entry in column "Directory". Note that the look of date and time can be suited to You. In the configuration file You find in section [Miscellaneous] both items and , to which a character string defines the look of date-format or time-format respectively. In the date-format DD stands for the day, MM for month, YY or YYYY for the two-figure or four-figure year. In the time-format HH stands for the hours, MM for minutes and SS for seconds. Lay down the separation symbols and the order as You wish. The date can maximal be ten-figure, the time can maximal be eight-figure. 2.4.4 The LINKINGS-window ------------------------- The LINKINGS-window is a short-lived window, which only serves for displaying informations of linking-files, if something has changed in one of the linking-files. To remember: Linking-files store repeated used terms for the database, which references to the respective linking-file entry only by a simple number. This mode of operation not only saves work, but also it has the advantage, that after changing one linking-file entry all corresponding references of the database will automatically change too. It isn't possible, to reach the LINKINGS-window in a directly way, but only, if You press at a column which is combined with a linking-file. Immediately a summary out of the linking-file appears, which can be edited in a usual way. The following keys or key combinations are avaiable for You during such an edition: moves the cursor to the previos entry. moves the cursor to the next entry. moves the cursor to the first entry. moves the cursor to the last entry. selects the chosen entry for the database. Its old entry will be replaced. aborts the selection, without changing the database. This option is important, if You have moved the bar to another entry by mistake. with this key combination You are able to edit entries of the linking-file in a direct way, with the help of the INPUT-window. Note that an alteration of one linking-file entry automatically has an influence on all entries of the database, which refer to that linking-file entry. 2.4.5 The BLOCKS-window ----------------------- The BLOCKS-window only is avaiable, if a tape image file has been loaded. If You work with both Lunter-tape images and WARAJEVO-tape images at the same time, You should define the configuration file in section [Tapefile-Info] at item with YES to look after the type of tape image. Only then it's ensured that both tape image formats can be distinguished correctly by SPECPIC. In the same section the configuration file has the item , from which You define, which tape image format You prefer. There You define either LUNTER or WARAJEVO. After loading the window will show a summary of the readed tape image files. Headers and data blocks will be displayed in different colours. Also datablocks will be shown indented. In the description of a header You find helpful informations about the stored datablock, which follows immediately after the header: program-headers: initiate a following BASIC-datablock, at which a variable area could be added. The description of a program header contains the following informations: PROGR identification of a program header program name ten characters containing the name of data LEN gives the size of program+variables memory LINE gives the autostarting line of the BASIC-program. Values over 9999 are standing for no fixing. PRG gives the size of bytes the program part contains (withot the variables memory). If LEN=PRG, the BASIC-program has no variables information. code headers: initiate a following code datablock. The description of a code header contains the following informations: BYTES identification of a code header data name ten characters containing the name of data LEN gives the number of bytes the code contains ADR gives the loading adress, used by LOAD""CODE-commands variable headers: initiate a following variable datablock. The description of a variable datablock only contains an introducing DATA# (numeric data) or DATA$ (alphanumeric data) with a following ten-character-data name and a LEN-description, which shows the size of stored bytes. The standard datablocks usually will be initiated by the word "Datablock", followed by the number of bytes stored in the datablock, put in brackets. If the datablock has been expanded by or has got a skipping area by or You have defined a starting adress by , these informations will follow after the size-information too. If the tape image file contains one or more screen datablocks (with 6912 bytes size), the first one will be selected automatically and displayed in the SCREEN-window after loading. All possible representations of informations stored in a tape image file take place only in the BLOCKS-window. You can display datablocks as screens, BASIC-programs, variables or as code hexdumps. But headers only can be displayed as code hexdumps. If a TAP-file contains defect datablocks (those with incorrect checksum-identification) or compressed datablocks, used by the WARAJEVO-TAP-format, then a ßÜ-character appears immediately before datablock. With those datablocks all possibilities of displaying the data will be suspended. An important role plays the displaying of datablocks as screens: As with Spectrum-tapes it's possible to put screens in blocks larger than 6912 bytes (e.g. to store following informations), we have created an expanding-option, with which You can display larger blocks, that wouldn't be accepted as screens. You are able to define each datablock as a screen using and entering the value 6912 at input prompt. If the datablock also contains informations before the screen data (that can happen), You can skip these bytes with the skipping-option, to get the real beginning of the screen data. That option can be used with . Further informations about expanding and skipping You'll find in chapter "Editing a tape image file". To cancel any expanding or skipping options, select the concerned datablock, press or respectively and then, enter the value zero. After this the corresponding informations will be cancelled. The following keys or key combinations are avaiable for You in the BLOCKS-window: shows the chosen datablock as a screen in the SCREEN-window, if it has a size of 6912 bytes, or it has been expanded via to a size of 6912 bytes. searches the next screen data-block in the tape image file. If the last datablock has been reached, the search starts from the beginning again. If a screen has been found (either a real 6912-byte sized block or an expanded block with a declared size of 6912 bytes), it will be displayed and the search ends. If no other screen is found, nothing will happen.

shows the chosen datablock as a BASIC-program in the SCREEN-window. The cursor must be placed to a datablock, which immediately stands after a PROGR-header. Besides the adresses, the PROGR-header defines, must be valid. If all those criterions are fulfilled, the display appears as a listing. If the program listing has more than 24 lines, SPECPIC asks to continue the listing procedure. Then, with You can quit the listing procedure. If the chosen datablock stands immediately after a PROGR-header, and a variable area is descripted by the PROGR-header, this key starts a listing of the content of variable data, which follows after BASIC program code. If that variable listing has more than 24 lines, SPECPIC asks to continue the listing procedure. Then, with You can quit the listing. With this key You can start a hexdump of the chosen block in the SCREEN-window. It doesn't matter, whether it is a header (17 bytes) or a datablock. If the listing has more than 24 lines, You can leaf through the list with the standard cursor keys. The adress starts with value 0 for each block. With You can cancel the hexdump-procedure. You can move the bar with and up or down respectively to reach each block of the tape image file. With and You can watch data, which stands farther right or left respectively. moves the cursor to the first entry of the tape image file. moves the cursor to the last entry of the tape image file. moves the cursor to the previous page. moves the cursor to the next page. with this key You can define the topical block as the default. That means that this block will be selected automatically after a later loading. Such a default block is shown with bright contrast. To use this feature, the tape image has to be defined in the database, because the information only then can be stored (to remember: a tape image file itself cannot be the storage destination for settings, because it only can be readed by SPECPIC). If the file is stored in the database, that information can be recalled and the selected block will be selected automatically. erases a possible via defined automatic block-selection. with this option You can define a RAM-memory adress for the chosen datablock, to which it shall be loaded. This option is useful only for parts of screen data, which shall be displayed at other places of the screen. Normally all screen datablocks will be loaded at adress 16384, which represents the beginning of the Spectrum-screen. Enter higher values to slip the screen downwards. Enter 0, to switch off this option for the highlighted datablock. with this You can define a skippig area, which is useful for datablocks, that have to be displayed as screens, but store other information, not to display, before the screen informations. The number of bytes, entered here, will be skipped after loading the block. Enter 0, to switch off this option for the highlighted datablock. SPECPIC only can display datablocks as screen informations, that have a size of exactly 6912 bytes. If the datablock has another size, You have to enter the value 6912 at this option. Now the datablock can be shown as screen data. Enter 0 to switch off this option for the highlighted datablock. 2.4.6 The INPUT-window ---------------------- The INPUT-window is only be used in situations You have to enter some data into SPECPIC. With the INPUT-window a simulated Spectrum-input cursor is combined, which offers not only Spectrum's well-known possibilities, but also some PC-features, to make the user easy work and to give him the feeling of sitting in front of a real Spectrum. Besides the INPUT-window is the principle ingredient during working with the calculator, explained in chapter "Calculator". As in the original Spectrum (48K), the text inputs are signed with quotation marks, whereas numeric inputs are shown with a simple cursor. The cursor can be moved either with cursor keys and or with and . It also manages mode-alterations like caps-lock (C-cursor), extended mode (E-cursor) and graphics mode (G-cursor). Depending on the mode You get other characters into Your input. The input of Spectrum-keywords follows the original Spectrum excactly. The input of colour control codes is realized too, but often, there is no sense in that. Furthermore, in all inputs it is possible to enter a formula, which is derived from Spectrum's BASIC, but has some difference to it: PEEK x PEEK cannot read an adress, but it's possible, that a following version of SPECPIC could read bytes of the loaded snapshot. PEEK returns the value 0 now. IN x IN cannot make a port-access of course, therefore this function always returns the value 0. USR x USR cannot call a Z80-subroutine, therefore this function always returns the value 0. VAL x$ The string, which follows VAL, only will be checked for the first number. A calculation like Spectrum does, isn't possible with it. The same goes for VAL$ of course. INKEY$ INKEY$ natural is not connected with the Spectrum-keyboard and therefore it only returns an empty character string "". variable names In a formula no variable names can be analyzed, but it's possible, that a following version of SPECPIC could read variables from the loaded snapshot. At the moment variable names result in an error message. In the INPUT-window the following keys or key combinations are avaiable: moves the cursor one character or token left. moves the cursor one character or token right. moves the cursor prior to the first character or token. moves the cursor behind the last character or token. activates or deactivates the extended mode (equivalent to Pedro Gimeno's emulator). activates or deactivates the extended mode (equivalent to Gerton Lunter's emulator). aborts the input without accepting it. Besides You are able to abort the input like the original Spectrum does: Enter the token STOP (ALT+A) and press . Note that SPECPIC uses different character sets depending on the program situation. If You have to enter Spectrum-orientated data (e.g. in the calculator), SPECPIC uses the original Spectrum-character set plus the tokens. But if You enter data for the database, a PC-character set without any tokens will be used. 2.4.7 The SCREEN-window ----------------------- The SCREEN-window is the most important component, SPECPIC has, because all visual showable informations will be displayed only in this window. It represents a smaller view of the original Spectrum-screen and also it shows the border colour (BORDER), if possible. Besides that window often is used to output listings (program, variables, system variables, etc.). In all those cases its ability to roll can be used, which is active, if the output draws more than 24 lines. Then the message "croll ew page uit" appears, at which You have to answer, if You want to continue the output (scrolling or by drawing a new page) or to quit. The value of the SCREEN-window is short-lived and gets lost at any time (e.g. after activating the screen saver). The operation of the SCREEN-window depends on the type of file which is momentary loaded: snapshot-files In this connection the SCREEN-window offers the most functions. Here the following keys are avaiable:

outputs the program memory as a BASIC-program listing. outputs the variable memory as a listing. makes the whole RAM-memory (from adress 16384 to 65535) visible as a hexdump. Use the cursor keys to change the shown adress or press to cancel the hexdump procedure. makes the memory area from adress 23552 up to 23733 visible as system variables. Depending on the type of system variable the output occurs as a byte, word, floating point, ASCII or binary. For detail informations about the system variables see the original spectrum manual. Here You can change the shown adress with the cursor keys or press to cancel. shows the ASCII-character set from code 32 up to 143. If the pointer of the character set (system variable CHARS) has been used to define a self-defined character set, these characters will be displayed with this option. shows the UDG's, the Spectrum offers. In the most programs these characters are redefined. With 48K-programs You see the characters A to U, with 128K-programs only the characters A to S are shown, because the BASIC-interpreter of 128K-Spectrum supplememtary offers two tokens more. shows the screen memory of the loaded snapshot. This always shows the area from adress 16384 up to 23295 (6144 bytes black-and-white graphics plus 768 bytes colour information). ASCII-files These file formats display a direct representation of the ASCII-content after loading, using the character set of PC (enlarged ASCII-character set). With the cursor keys the display of the ASCII-file is sliding as You wish. 2.5 Operation of SPECPIC -------------------------- As the operation of SPECPIC can be mastered intuitive at the moment (specially if You have experience with PC's), it is necessary to discuss some things more detail. 2.5.1 Changing the topical directory or drive respectively ---------------------------------------------------------- This option is avaiable in the FILES-window. Simply move the cursor with cursor keys to the drive or sub directory You want to select. These are shown as red entries. A short click with starts the action. The new file list will be shown. Note that those actions remove an already loaded file from SPECPIC's memory. If You use floppy disks, SPECPIC does not recognize any disk changing. After inserting a new floppy disk You have to select the same drive in the file window to get the new directory informations. It's also possible to make a directory-change or drive-change from any other window. For that, there are five general key combinations: moves the cursor of the FILES-window to left. moves the cursor of the FILES-window down. moves the cursor of the FILES-window up. moves the cursor of the FILES-window to right. þ Hey Spectrum-fans: That's taken over from Spectrum. activates the choosen directory or drive in the FILES-window. 2.5.2 Loading a snapshot file ----------------------------- A snapshot file stores a mirror of ZX-SPECTRUM's memory. With the most well-known emulators You can create snapshots while the Spectrum program is running. If the emulator's snapshot option has started it reads the registers of the Z80-microprocessor and the whole 48K-RAM (or 128K-RAM) of the simulated ZX-Spectrum computer. Then all data is stored in a direct or compressed file format. You always can load a file using the FILES-window, but also with the key combinations + <5..8 or 0> from any other window. Move the cursor to the file You want to load. Use the cursor keys to choose one of the emulator snapshot files (e.g. *.Z80, *.SP, *.SNA) and press . If the file is O.K. it will be loaded. You should get a view of the original Spectrum display (at the snapshot point). 2.5.3 Loading a tape image file ------------------------------- The original ZX-Spectrum computer has a build in tape interface where files can be loaded from or written to. The most emulators have this option too but load (store) all data from (to) hard disk. So tape image files arise! A well-known tape image format SPECPIC can read is TAP. This format contains one or more data headers (with an identification which type of data is following, e.g. BASIC programs, byte data, variable data), followed by the data itself. There are two kinds of TAP-files (goes only for the Lunter-format): Single TAP-files: These files contain one or more programs, machine codes, variable data, etc. There is no limit how much headers and/or data blocks can follow. Many single TAP-files contain the whole data of one tape. SPECPIC can display all stored data of those files. Multiple TAP-files: These files contain only one header followed by only one data block. The greates feature is that You can copy some Multiple TAP files together creating a new single TAP file. This is done with the COPY /B command of DOS. Note that single TAP files are better for storing programs consisting of many data blocks, because multiple TAPs often lead to an incalculable file confusion. Tape images are very different to snapshot files, because they represent the original tape stored data and no mirror of Spectrum-RAM. That's why there is no display-area to show after loading a TAP-file. To solve this problem, SPECPIC has several options to view byte blocks (data stored to tape with SAVE "..." CODE or SAVE "..."SCREEN$). A Spectrum display block always has a size of 6912 bytes. After loading a tape image file SPECPIC scans all code blocks with this size and shows the first block found. If there were no displayable blocks, SPECPIC shows nothing. Besides there is an option so search the following screen-block of the loaded tape image file. For detail informations about possibilities of TAP-files we refer to the chapter "The BLOCKS-window". 2.5.4 Loading a screen file --------------------------- Most Spectrum emulators can create screen files (*.SCR) with exactly 6912 Bytes size. Those files can be loaded directly from SPECPIC just as snapshots. Such screen files represent an exact summary of Spectrum's RAM from adress 16384 up to 23295. The only thing You can do is watching the display, because no other data is stored in SCR-files. 2.5.5 Loading an ASCII file --------------------------- ASCII-files also can be loaded directly by moving the cursor of the FILES-window to the concerned file. Prerequisite that SPECPIC displays ASCII-files in the FILES-window anyway (normally only the emulator files will be displayed), there must be one or more entries in the configuration file. You should always have the following configuration block defined if You want to watch all current ASCII-formats: [ASCII-Files] = ".DOC", ".TXT", ".ASC" = "EDIT.COM %P" = "C:\DOS" = external Alter the settings for the editor (here "EDIT.COM" and "C:\DOS" respectively) as You wish. Up to five different ASCII-formats can be defined in this way. After loading an ASCII-file You can move the value in the SCREEN-window around by using the cursor keys. A short time before, You have to activate the SCREEN-window with . In the example, shown above, all ASCII-formats will be combined with the DOS-editor. 2.5.6 Loading of foreign file formats ------------------------------------- Apart from the just discussed snapshots, tape image files, screen files and ASCII-files, You can define up to five more file formats with the configuration file, which SPECPIC cannot analyze or display, but it's possible to store their entries into the database and to combine them with emulators. In the configuration file these foreign formats have to be defined as the following example shows: [User-Calls] = ".VOC", ".MDR" [User-Call-1] = "Z80.EXE" = "C:\SPECTRUM\LUNTER" = external [User-Call-2] = "Z80.EXE" = "C:\SPECTRUM\LUNTER" = external The example above defines two calls for the common VOC-file format and for the Microdrive-simulating MDR-file format. You can define up to five additional file formats in the same way. Use the command line options of Your emulator or the external program as possible, to simplify the automatic call for the corresponding files. After loading such a defined foreign file the checksum will be established (this can take a short time, specially with VOC-files) and the INFOS-window shows the file informations. That's it. If You have made a contact with an emulator or with an application using the configuration file (as shown above), You can start the file with . 2.5.7 Input prompt ------------------ An input prompt appears only if SPECPIC needs information from You. There are three types of questions in SPECPIC: þ input cursor: appears only in the INPUT-window (please look there). It waits for an input of text or numbers by user. þ scroll-message this appears in the bottom line and it always asks the user, when an output of a listing has filled the SCREEN-window. With You can cancel the output of the listing, with You can roll up to the next page and with You can output the next page immediately. þ safety question appears with dangerous courses (e.g. deleting files) or courses with a possibly great length (e.g. scanning a large database). It asks the user, if he wants to continue the activated option () or to cancel (). During all of those inputs the screen saver is deactivated. Do not leave Your PC alone for a longer time when it shows an input, if You want to protect Your monitor against brand. 2.5.8 The calculator -------------------- The calculator represents a simulation of the Spectrum-term interpretation. After calling this option via the usual input cursor appears in the INPUT-window. Enter any formula, which returns either a text or a number. Use the original Spectrum-way to input the formula. With the entered formula will be calculated and the result appears as a new input again. Besides all results and error messages will be displayed downwards in the SCREEN-window. With or by entering the Spectrum-token STOP (avaiable via ) the work with the calculator can be cancelled. 2.6 Editing a loaded file --------------------------- For different types of files (snapshot, tape file, screen file, ASCII file) there are different ways of editing it. In most cases You can use the key to change the current window. This selects the next window. has the inverted effect and selects the previous window. If You want to go directly to one window please hold down the ALT-key and press one of the following keys (not all keys are avaiable in all cases - look to the bottom info-line): þ F selects the FILE-window, where files, directories and drives can be changed. þ I selects the INFOS-window, where You can get some informations about the loaded (!) file. þ D selects the DATABASE WINDOW (if defined in the configuration file) where You can input all interesting file informations downwards. þ B selects the BLOCK WINDOW of tape images, if loaded. This shows all code-, data- and program-blocks that were found in the tape image. þ S selects the SCREEN WINDOW. All informations about screen data will appear only in this window. Furthermore it shows some informations like User-Defined-Graphics or the ASCII-list. 2.6.1 Editing a snapshot file ----------------------------- If a snapshot is loaded, the screen appears in the SCREEN window. Use to select the SCREEN window and then use

for program listings, for variables listings, for hexdumps, for system variables listings, for the ASCII characters (with active character set), for user-defined graphics (UDG's) or for the screen value again. If a listing has been started, SPECPIC writes the first 24 lines and, after this it asks to croll the screen, to begin a ew page or to uit the listing procedure. Press the corresponding key to continue or to cancel (the original Spectrum uses a similar method of asking and scrolling). Some other options are planned, such as zooming the screen value or to output a Z80-mnemonic listing. 2.6.2 Editing a tape image file ------------------------------- Editing a tape image is very different to snapshots: After loading, all blocks that have been found appear in the BLOCK window. There are headers (with 17 bytes of data) and data blocks. You can edit either headers (only hexdump is avaiable) or data blocks (showing as screen, program, variables or code hexdump is possible). To view a screen block, please select the BLOCK window using and move the cursor to the data block (not header!) with a size of 6912 Bytes. Press to show it or to look for a following screen block. In the same way You can use the output of program listings or variable listings, which are started with

or respectively. The output appears in the SCREEN-window and possibly it is spread over several pages. Via -key You can list each datablock or header. Whereas all headers have a size of 17 bytes, the output of a datablock could be spread over several pages. Informations about the screen management of the Sinclair ZX-Spectrum |<--16K-ROM-->|<--6.75K Screen-->|<--system variables-->|<--....-->| 0 16384 23296 23552 65535 þ The ZX-Spectrum has a memory area of 64K. The first 16K contain the ROM. The Screen area begins exactly after ROM, namely at adress 16384. It consists of 6144 bytes black and white dot graphics (a resolution of 256x192 dots!!!) followed by 768 bytes of colour information (one byte for 8x8 dots, background and foreground colour). After this the BASIC-system variables follow at adress 23296. þ Some Spectrum programs store screen data not only as a block with exactly 6912 Bytes, but also in a larger block (containing the system variables, and, in most cases, the BASIC program as well). In normal way SPECPIC doesn't recognize those blocks as screen data. In this case You can use the size-expanding function of SPECPIC. If the block has data unequal to 6912 bytes, press and an input-cursor appears. Now You have to enter the value 6912. Note that You cannot change Your files with SPECPIC - it only reads them! Now the data block should be recognized as a screen. Therefore, press and it should appear. þ The standard screen saving feature of ZX-Spectrum via SAVE "picture"SCREEN$ creates tape blocks with following informations: - the block name ("picture") - the byte size (6912) - the loading adress (16384) for LOAD ""CODE - commands. In these blocks the screen data begins exactly with the first byte of the tape block, but there are screen data blocks where the screen is stored with an offset of X bytes. Then, You have to skip these X bytes to show the screen content! To use the skipping effect, please press and an input-cursor appears. Now You have to enter the offset size. See the following example: A tape data block has the following structure: |<--256 bytes data-->|<--6912 bytes screen data-->|<---....---->| 0 256 7168 .... For this example use a skipping value () of 256 Bytes and an expanding size () of 6912. The screen data then appears by pressing the key. 2.6.3 Editing an ASCII file --------------------------- This simplest file format should not be disregarded, because as a rule many ASCII-files romp about lots of Spectrum-programs. ASCII-files can be loaded in the same way as snapshots, however the editing is restricted to watching the text content in the SCREEN-window. Therefore, activate the SCREEN-window with after loading an ASCII-file. Now the cursor keys are avaiable to move the text content around, when the file contains data informations that don't fit into the display of SCREEN-window. 2.7 The configuration file ---------------------------- The configuration file SPECPIC.CFG will be created automatically at Your first SPECPIC-session, if it doesn't exist. Then it will contain all user settings, but only as the default settings, usually empty. To make all functions of SPECPIC avaiable, You have to suit the configuration file to Your conditions with every customary in trade text editor. The configuration file consists of some different headers with some items for each header. A header must be set in angular brackets [...], whereas items have to be set in pointed brackets <...>, followed by an equals sign and the definition for this item. Note that You can write headers and items either with capital letters or small letters. A complete configuration-block is shown in the following example: [Emulator-Lunter] = "Z80.EXE" = "C:\SPECTRUM\LUNTER" = external If You don't set a block (header plus its items) into the configuration file, SPECPIC uses its default settings. The same goes for one or more left out items of a header. The complete structure of SPECPIC's configuration file is as follows: [Emulator-Lunter] definitions for Gerton Lunter's Emulator (*.Z80-files) defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting directory for the emulator EXTERNAL or INTERNAL; please use EXTERNAL [Emulator-Gimeno] definitions for Pedro Gimeno's Emulator (*.SP-files) defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting directory for the emulator EXTERNAL or INTERNAL; please use EXTERNAL [Emulator-Gulbrandsen] definitions for Arndt Gulbrandsen's Emulator (*.SNA-files) defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting directory for the emulator EXTERNAL or INTERNAL; please use EXTERNAL [Emulator-Tapefiles-Lunter] definitions for Gerton-Lunter's tape image files (*.TAP) defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting directory for the emulator EXTERNAL or INTERNAL; please use EXTERNAL [Emulator-Tapefiles-Warajevo] definitions for Juric & Ribic's tape image files (*.TAP) defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting directory for the emulator EXTERNAL or INTERNAL; please use EXTERNAL [Tapefile-Info] definitions to distinguish Lunter's and WARAJEVO's tape images LUNTER or WARAJEVO as the default file format NO if You want to use only one format, YES if You use both defines loading-snapshot for TAP- or VOC- program files 48k defines loading-snapshot for TAP- or VOC-program files 128k defines loading-snapshot for TAP- or VOC- code files 48k defines loading-snapshot for TAP- or VOC- code files 128k [User-Calls] definitions for all avaiable user-calls defines one or more extensions for the user-calls, separated by comma [User-Call-1] definitions for the first user-call defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting-directory for the user-call EXTERNAL or INTERNAL; INTERNAL only for small programs [User-Call-2] definitions for the second user-call defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting-directory for the user-call EXTERNAL or INTERNAL; INTERNAL only for small programs [User-Call-3] definitions for the third user-call defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting-directory for the user-call EXTERNAL or INTERNAL; INTERNAL only for small programs [User-Call-4] definitions for the fourth user-call defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting-directory for the user-call EXTERNAL or INTERNAL; INTERNAL only for small programs [User-Call-5] definitions for the fifth user-call defines the DOS-command (plus extension!) and all command line parameters, separated by space defines the starting-directory for the user-call EXTERNAL or INTERNAL; INTERNAL only for small programs [ASCII-Files] definitions for ASCII-files defines the extensions for up to five ASCII-files You want to use defines the DOS-command (plus extension!) of Your ASCII-Editor, separated by space defines the starting directory of Your ASCII-Editor EXTERNAL or INTERNAL; INTERNAL only for small programs [Miscellaneous] miscellaneous definitions OFF or ON; if You have no VGA-problems, use ON OFF or ON NAMES or EXTENSIONS; the type of sorting in the FILE-window defines the look of date-format, e.g. "mm-dd-yyyy" defines the look of time-format, e.g. "hh:mm:ss" [Screen-Saver] definitions for the screen-saver defines the command line for the screen-saver; SCRNSAVE.EXE ...... time in minutes the screen-saver will be started [Database] definitions for the database file or DATABASE-window defines full path for the database file NO or YES; setting for the linking-counter in the LINKINGS-window NO or YES; automatically path definition for new database-entries NO or YES; use YES to load a file when using the GOTO-feature [Database-Progs] definitions for the linking file containing the full program names defines the full path for the database linking file defines the non-variable record-size of the database linking file [Database-Progtypes] definitions for the linking file containing the types of programs defines the full path for the database linking file defines the non-variable record-size of the database linking file [Database-Producers] definitions for the linking file containing the producers of the programs defines the full path for the database linking file defines the non-variable record-size of the database linking file [Database-Authors] definitions for the linking file containing the authors of the programs defines the full path for the database linking file defines the non-variable record-size of the database linking file [Database-Countries] definitions for the linking file containing the countries/languages of programs defines the full path for the database linking file defines the non-variable record-size of the database linking file [Database-Directories] definitions for the linking file containing the directories of the programs defines the full path for the database linking file defines the non-variable record-size of the database linking file [Database-Special] definitions for the linking file containing special user informations defines the full path for the database linking file defines the non-variable record-size of the database linking file You find further informations of the individual configuration blocks in the corresponding chapters of this manual. 2.8 Definition of self-running Spectrum programs -------------------------------------------------- If You have one of the mentioned Spectrum-emulators, You certainly not only want to watch Your Spectrum-programs in the SCREEN-window, but also You wish to start the loaded file under the corresponding emulator. For this, SPECPIC has the possibility to define own DOS-program calls for Z80 (by Gerton Lunter), WARAJEVO (by Zeljko Juric & Samir Ribic), JPP (by Arnt Gulbrandsen) or SPECTRUM (by Pedro Gimeno) using command line parameters. This will be done with the configuration file. For the following file formats there are separated sections in the configuration file: *.Z80 section [Emulator-Lunter] *.SP section [Emulator-Gimeno] *.SNA section [Emulator-Gulbrandsen] *.TAP section [Emulator-Tapefiles-Lunter] for the tape image files of Gerton Lunter's emulator *.TAP section [Emulator-Tapefiles-WARAJEVO] for the tape image files of Zeljko Juric's & Samir Ribic's emulator. For differentiation of both TAP-file formats the section [Tapefile-Info] exists. ASCII-files section [ASCII-Files] In each section the following items exist: Lay down the DOS-command as a character string to call the emulator or the external program respectively, at which You can add the following command line-parameters. Furthermore it is possible to take over some informations from SPECPIC to the command line. These are managed by the variables listed below. We can proceed from the assumption that You do not want to put Your emulators in SPECPIC's directory. Therefore You have to define the working-directory of the emulator or the external program respectively at this item. This option, which can get either the value EXTERNAL or INTERNAL, has been introduced at a time, when SPECPIC was so small, that it matched together in memory with the emulator. In the meantime this item is nearly unnecessary and should always be set to EXTERNAL. Or You can leave out this item at all. We have selected EXTERNAL as default for all sections. Perhaps sometime a verision of SPECPIC comes out, using the OVERLAY-file management; then this item could get meaning. The avaiable variables for handing over informations from SPECPIC to the emulator or to an external program are shown as follows. Let's assume, You loaded the file ATICATAC.Z80 in SPECPIC, which stands in the directory C:\SPECTRUM\GAMES. Then the following variables represented the following values: %P stands for the full path of the just loaded file (e.g. C:\SPECTRUM\GAMES\ATICATAC.Z80) %D stands for the full directory name of the just loaded file (e.g. C:\SPECTRUM\GAMES) %F stands for the file name of the just loaded file (e.g. ATICATAC.Z80) %T stands for a loading-snapshot, which is dependent on the type of the loaded tape image file, useful to load tape image files automatically (see chapter "Definition of self-running tape- or VOC-files"). %S stands for special infos of the respective file defined in the database. %Uxxx stands for the special informations, defined in the database for the respective file. For xxx a number between 1 and 255 can be given, which must follow directly after %U. This number represents the corresponding part of the special information string. This option only works, if You have devided the special information string in separated parts using the vertical line (character ). Further details about it You find in chapter "Special informations". The command line variables are similar to the variables used in DOS-batch files. 2.8.1 Definition of self-running snapshots ------------------------------------------ To build self-running snapshots, You have to define several settings under the respective section of the wanted emulator. Let's assume that You want to run Your *.Z80-files under Gerton Lunter's emulator Z80.EXE. Let's assume, it stands in the directory C:\SPECTRUM\LUNTER of Your hard-disk. For this, define the following entries in the configuration file: [Emulator-Lunter] = "Z80.EXE %P" = "C:\SPECTRUM\LUNTER" = external Instead of %P SPECPIC inserts the full path of the loaded snapshot-file automatically before running the emulator. An example: If the file ATICATAC.Z80 (standing in directory C:\SPECTRUM\GAMES) has been loaded, the key combination runs the emulator in the directory C:\SPECTRUM\LUNTER by using the commandline Z80.EXE C:\SPECTRUM\GAMES\ATICATAC.Z80. Look after more possibilities of taking over parameters from SPECPIC to the emulator's command line in its manual. And now I want to give You my settings for Z80 and SPECTRUM, which I have installed on my PC: þ Emulator Z80.EXE by Gerton Lunter, which I own as the registered version 3.3: [Emulator-Lunter] = "z80.exe -xv -z100.0 -r -l -d -td %D %P" = "c:\use\spectrum\lunter" = External þ Emulator SPECTRUM.EXE by Pedro Gimeno, which I own only as the shareware-version: [Emulator-Gimeno] = "spectrum.exe %P" = "c:\use\spectrum\gimeno" = External 2.8.2 Definition of self-running Tape- and VOC-files ---------------------------------------------------- Tape-files normally cannot run automatically after starting the emulator, because they are simulated cassettes. The tape image file will be loaded not until You enter the BASIC-command LOAD"" or LOAD""CODE at the emulator. SPECPIC contains four Z80-snapshots, to solve that problem of non-starting tape image files. These have the following file names: LOAD48PR.Z80 used with starting a 48K-tape file to load a program that begins with a PROGR-data header. LOAD48BY.Z80 used with starting a 48K-tape file to load a program that begins with a BYTES-data header (e.g. ASTROBLASTER). LOAD128P.Z80 used with starting a 128K-tape file to load a program that begins with a PROGR-data header. LOAD128B.Z80 used with starting a 128K-tape file to load a program that begins with a BYTES-data header. These snapshot-files have been saved immediately after a LOAD"" or LOAD""CODE-command respectively and they can take the automatic load of tape image files or VOC-files directly from the command line. These loading-snapshots can be inserted with the command line-variable %T into the command line of the emulator call. Although the four snapshot manage this task, nevertheless You have to define their file names in the configuration file in section [Tapefile-Info] (see below). With the following examples we want to give You the complete definitions, necessary for the automatic loading of tape images and VOC-files for the versatile emulator by Gerton Lunter. Suit the given directories and paths to Your conditions: [EmulatorTapefiles-Lunter] = "z80.exe -xv -z100.0 -r -l -d -ti %P %T" = "c:\use\spectrum\lunter" = external [Tapefile-Info] = "load48pr.z80" = "load128p.z80" = "load48by.z80" = "load128b.z80" [User-Calls] = ".VOC" [User-Call-1] = "z80.exe -xv -z100.0 -r -l -d -tv %P %T" = "c:\use\spectrum\lunter" = external 2.8.3 Screen savers ------------------- For long sessions at your simulated Spectrum it's better to use a screen saver. A screen saver switches the monitor off or shows moving scenes to protect the monitor against brand, when You do not touch a key for one or more minutes. With SPECPIC You get a many-sided screen saver named SCRNSAVE.EXE. Please note that our screen saver is no device driver! SPECPIC also has a built-in screen saver which only clears the display after the adjusted reaction-time. But the short program SCRNSAVE.EXE contains five types of screen effects You can use as screen savers. Please run the program SCRNSAVE at DOS-prompt first, before using it under SPECPIC, to find out what values are the best for Your PC-speed. To define a nice SCRNSAVE-effect under SPECPIC, please enter a few lines in the configuration file. See the following example: [Screen-Saver] = "SCRNSAVE.EXE BOUNCERS 64 20 0" = 2 After two minutes non-pressing key, SPECPIC starts SCRNSAVE.EXE with the defined command line parameters. Any key (except <+> which draws new patterns) terminates the screen saver and SPECPIC rebuilds its screen again. If You don't want to use SCRNSAVE.EXE, only the entry = "" should be used. Then an ugly black screen is Your screen saving effect! If You don't want any screen-saving option, only set to zero. 2.9 The database ------------------ Our database is a great feature to get an overall view (table) of all emulator files stored on Your hard disk! This feature to store informations without using additional files in Your Spectrum-directories is the easiest way not to lose the track! Each file information of database is build up as follows: file name the file name (e.g. ATICATAC.Z80) file time the time of creating the file with configured format file date the date of creating the file with configured format file size the size of file in bytes file checksum a 7-byte checksum which is built by several algorithms These informations determinate an emulator file completely. But there are several additional informations stored in such a database: remark defines additional remarks ("nice game with soft scrolling", etc.) name of program defines the full name of program (Horace goes Skiing, Atic Atac, etc.) producer of program defines, who has sold the program (Ultimate play the game, Imagine, etc.) author of program who has created the program country of program defines the country or language of the program (England, Germany, etc.) type of emulator defines what kind of emulator runs this file memory of Spectrum what kind of Spectrum runs this file (48K, 128K-Spectrum) year of program when was the program created type of program defines, what type of program it is (arcade-game, adventure, etc.) full path of program used to find the file on Your hard disk Some of those informations are stored in linking files and are managed only by an index-number from the database. So one entry (e.g. type of program) can be used more than one times without entering the full information every time You need it! This not only saves work, but also disk space. 2.9.1 Installation of a database -------------------------------- To use the database feature, You must tell SPECPIC in which file it has to store the database-informations. Define an entry in the configuration file (an example): [Database] = "DATABASE.TBL" Now it's necessary to define the file names of the individual linking-files. These files have to be descripted in separate sections of the configuration file: [Database-Progs] here the settings for the linking-file, which contains the program's names, have to be defined. This option is useful, because the most program names are not discernible from the simple file names. [Database-Progtypes] here the settings for the linking-file, which contains the types of several Spectrum-programs (e.g. arcade-adventure, text-adventure, puzzle, etc.) have to be defined. With this option You can see, what types of programs You have. [Database-Producers] here the settings for the linking-file, which contains the producer's names of the several Spectrum-programs (e.g. Ultimate, Hewson, Imagine, Quicksilva, etc.) have to be defined. With this You get a summary of the various producers. [Database-Authors] here the settings for the linking-file, which contains the authors of the several Spectrum-authors (e.g. Claus Jahn :-) have to be defined. [Database-Countries] here the settings for the linking-file, which contains the languages or the countries, the several programs come from, have to be defined. [Database-Directories] here the complete paths to the stored file are defined. Normally, SPECPIC inputs the path of the respective file automatically after adding a new database-line. This setting can be changed later. [Database-Special] here the settings for the linking file, which contains special informations about the respective Spectrum-programs, have to be defined. If the program has been started from SPECPIC, the command line-variables %S and %U are used to take over those special informations to the emulator. Each section of the linking-files contain the items , with which the file name of the respective linking-file will be defined, and , which tells the field length of the informations to store in the linking-file. Particularly be careful defining the . The value, which is set, should not be changed later. This certainly would destroy the created linking-file. To solve this problem, You can also use the presets we have pre-defined by leaving out the item at all. SPECPIC then uses reasonable field lengths, which should be enough for normal work. If the database file and the linking-files should be stored in SPECPIC's path, it is not necessary to enter the full path at this option. The simple file name is enough! Only if the file should be created in another path, full paths must be used. 2.9.2 Add a loaded file to the database --------------------------------------- A via FILES-window loaded file will not automatically be stored in the database file. To do this, You have to select the DATABASE window with . Press to add the loaded file as a new entry. If the file entry already exists in the database, the entry will be searched automatically. A warning signal appears. After adding a new entry the fixed file informations like file size, file time, file date, file name and the checksum are set into the new line. The other columns are empty. If You want, that SPEPCIC stores the topical directory of the added file into new entries of the database, You have to enter YES in section [Database] at item of the configuration file (this could be catched up by hand at any rate using the-key). SPECPIC's database has been organized, so that each new entry will be added to the database as a new line. In principle, newer entries stand below. If You have deleted some entries before, the arised gaps SPECPIC fills at first during adding new entries. 2.9.3 Edit a database entry --------------------------- Some of the database informations can be changed. Some cannot. To test whether an entry is changeable or not, simply press . If nothing happens, it is a fixed information (e.g. file size). In case of an appearing input cursor You can replace the old information by a new one. You shouldn't really think about the just entered input, whether it is part of a linking-file or not. SPECPIC manages this on its own accord. If the entry is stored in a linking file (e.g. type of program), You can press to get a list of all already defined elements. This list appears in the LINKINGS-window and You can use the - and -keys plus to select another element. To cancel this list without changing the database, press . The same effect You will get by activating the input cursor using and by entering the linking-file entry by hand. After confirming the input SPECPIC automatically searches the input data in the respective linking-file and adds the new input to the linking-file if need be. Note that just existing entries have to match exactly with the done input (spaces, capital or small letters, etc.) to be tracked down. See the section "The linking-files". Try out the advantages, SPECPIC's linking-files offer. Very quick You get a well-structured database. The database-manager SPECDBAS even can sort columns of the database, which considers linking data without any difficulties. See the chapter "The database manager". 2.9.4 Delete a database entry ----------------------------- To delete an entry in the database, select the DATABASE-window and move the cursor with the cursor keys and respectively to the entry You want to delete and press . After a safety question, which You have to answer with , a gap arises in the database. Note that SPECPIC isn't able to close this gap. But it doesn't matter, because those gaps will be stopped first while adding new entries to the database. During deleting entries SPECPIC has the task to solve all references to the corresponding linking-files. But that procedure is invisible for You. 2.9.5 The linking-files ----------------------- In this chapter we want to go more detail into the mode of operation of linking-files, which have a connection with the main-database file. In principle You shouldn't modify the linking-files with another program, because the data in linking-files and in the main-database file are stored binary. Modifications with those files will certainly entail loss of data and system-crashes. The database stores an index for all entries, connected with linking-files, which shows, what line of the linking file will be displayed in the DATABASE-window. For example the linking-file for program names, which has the following lines stored: 1. Atic Atac 2. Sabre Wulf 3. Hungry Horace 4. VU3D 5. The Art Studio Now the database can refer to one of those entries several times by storing the number of line and for all linking-files. See the following example for the database: 1. VU3D.Z80 index 4 2. ATICATAC.Z80 index 1 3. VU3D.TAP index 4 4. ARTSTUDI.SNA index 5 5. HUNHORAC.SP index 3 6. ATICATAC.TAP index 1 As You see, there are two references to both Atic Atac and VU3D, but no reference to Sabre Wulf. You can make visual the display which shows, how often a linking-file-entry is used, in the LINKINGS-window by setting the item in section [Database] of configuration file to YES. For the previous example, SPECPIC would show the following lines in the LINKINGS-window: 2* Atic Atac 0* Sabre Wulf 1* Hungry Horace 2* VU3D 1* The Art Studio Entries, to which the database doesn't refer (see Sabre Wulf) are shown as red. Such entries will be erased during creating new entries. Until then, they are avaiable for a selection via . That's why it does not matter, if You have created such red linking-file-entries by mistake. SPECPIC itself looks after the search and the replacement of such entries. Because of that linking-file-management it should be obvious that linking-files mustn't be deleted simply (e.g. using the DOS-command DEL), as long as a contact with the database exists. SPECPIC then wouldn't crash, but it would be confused with the new created linking-file. If You want to delete linking-files, You have to solve all linkings to the database. For this clear the complete column of the database, which is linked together with the linking-file, by entering an empty string "" at all cells. Then for all database-lines You get the index 0, which stands for "no linking". A complete uncoupled linking file is recognized by an empty LINKINGS-window which shows no listing. An advantage of the linking-file-management is the fact, that an alteration of one of the linking-file's entries automatically fits all references of the database. An example: If You have referenced several times to the entry "arcade-adventure" from the database-column named "program type", but suddenly You want to rename all those entries to "adventure (arcade)", You only have to alter once (use at first to reach the LINKINGS-window, and then press at the entry You want to change). 2.9.6 Planned functions of SPECPIC ---------------------------------- SPECPIC isn't ready by any means; we want to make many additions to this product in future, we want to name some of them: þ The SCREEN-window shall get a zooming function to watch the screen-value full sized. þ The output of BASIC-programs, variable data and screens perhaps shall be output to a printer. þ More database-columns, changeable by the user, shall be added. It has to be possible to alter the headlines. þ A settings-file shall pick up all determined checksums of the files in the current directory, so that they not get lost after changing to SPECPIC or to an emulator. That file then can store the widths of the database-columns. þ Thumbnails shall make the selection in the FILES-window more easier. If this option will have been realized, it must be deactivatable by configuration file. Some of these functions shall be avaiable after completition of this version, others will be added in following versions. 2.9.7 The special informations ------------------------------ You can define a special information for each databank-line, if You have layed down one linking-file for the special infos in the configuration file (see chapter "Configuration file"). Apart from the optical advantage of those special informations, which can be covered with any data, there is a practical use too: At calling an emulator or an external program You can hand over the special informations to its command line. There are two possibilities: þ You use the variable %S in the command line of the emulator or the external program. Before starting it will be replaced by the content of the special informations, stored in the database. þ In the database You enter the special informations as a character string, devided into one or more parts using the hyphen (character), for example "joystick|interface 1|r-register". If You want to hand over one of these parts to the command line of the emulator or the external program, use variable %Uxxx, where xxx stands for a number between 1 and 255 (directly after %U without any space!). This value represents the number of the corresponding part (e.g. 2 for "interface 1"). 2.10 The database manager -------------------------- We created an external program module for SPECPIC, which exclusively minds the operation with the database. This program is stored in the file SPECDBAS.EXE and can be started either from SPECPIC using key combination or directly at the DOS-prompt, if You want. But note that SPECDBAS.EXE has to be set into the same directory as SPECPIC, because it reads the configuration file SPECPIC.CFG too and needs to be configured. The database manager now is avaiable only as a pre-version, but You can use it unhesitating. As mentioned, future versions of SPECPIC will be upward compatible with from now on created database files, even if some database-columns will be added. The general use of SPECDBAS is the sorting of the database, but also exports of data as ASCII-files with free-definable format (the concept for this is already developed) and also the import of ASCII-files have to be implemented. Please be patient! 2.10.1 Operation of SPECDBAS ---------------------------- The operation is very similar to SPECPIC. Here the windows have another arrangement and other sizes. Right at the top of the DATABASE-window You see the database-informations expanded to the full window-width. Use the database functions in the same way as You know like SPECPIC. You can sort an optional databank column in alphabetical order, when You move the cursor to the respective column and press . But note, that it takes the more time, the more lines the database consists of. Especially because of such columns, which are combined with linking-files. A sorting of the database takes place only at a file-level and cannot be cancelled. At the bottom-right hand corner You see the INPUT-window, which now contains the input cursor, but later it will display import- and export-files. At the bottom-left hand corner You see the LINKINGS-window, which also is avaiable on SPECPIC's screen. The functionality is appropriate. A function to sort linking-files is not yet aviable. Leave SPECPIC using the -key and . You return to SPECPIC again. 2.10.2 Planned functions of SPECDBAS ------------------------------------ The following features should be implemented in SPECDBAS as possible: þ Data import of one or more ASCII-files, using an intelligent selection mechanics to assign the columns to the imported data. þ Data export into an ASCII-file, using an intelligent selection mechanics to define the format of data output. þ Perhaps the sorting funtion for linking-files. This would be very complicated, but we want to try it! þ Export of linking-files as ASCII-files.