********* Welcome to Project 64! The goal of Project 64 is to preserve Commodore 64 related documents in electronic text format that might otherwise cease to exist with the rapid advancement of computer technology and declining interest in 8- bit computers on the part of the general population. If you would like to help by converting C64 related hardcopy documents to electronic texts please contact the manager of Project 64, Ken Crouch, at Extensive efforts were made to preserve the contents of the original document. However, certain portions, such as diagrams, program listings, and indexes may have been either altered or sacrificed due to the limitations of plain vanilla text. Diagrams may have been eliminated where ASCII-art was not feasible. Program listings may be missing display codes where substitutions were not possible. Tables of contents and indexes may have been changed from page number references to section number references. Please accept our apologies for these limitations, alterations, and possible omissions. The author(s) of the original document and members of Project 64 make no representations about the accuracy or suitability of this material for any purpose. This etext is provided "as-is". Please refer to the warrantee of the original document, if any, that may included in this etext. No other warrantees, express or implied, are made to you as to the etext or any medium it may be on. Neither the author(s) nor the members of Project 64 will assume liability for damages either from the direct or indirect use of this etext or from the distribution of or modification to this etext. ********* ~ ********* The Project 64 etext of the KCS Power Cartridge. Converted to etext by Marco Demont, email mwjdemont@wxs.nl. Some errors in the original document were corrected in this etext. In order to fit every line on a 50 lines page in this etext, some blank lines were removed and some lines were combined. Except these minor changes the text is exactly the same as the original. KCSPWR10.TXT, October 1998, etext #413 ********* ********* Windows 9X MS-DOS Edit is the ideal program for reading this etext. Just check that ANSI.SYS is loaded in CONFIG.SYS and issue the command: mode con lines=50 Now a whole page fits nicely on the screen and you can use Page Up/Page Down keys to flip pages. Just be sure that the ~ characters are always on the last line of the screen. ********* ~ 2 KCS POWER CARTRIDGE FOR YOUR COMMODORE 64 / 128 *POWER TOOLKIT *POWER MONITOR *TAPE & DISK TURBO *PRINTERTOOL *POWER RESET *TOTAL BACKUP 16K OUTSIDE OPERATING SYSTEM KCS Made in Holland ~ INTRODUCTION 3 ============ Thanks to a new switching principle developed by KCS it has become possible to put software outside the Commodore 64 memory. On the basis of this technique KCS has designed the new POWER CARTRIDGE. The powerful 16k machine code offers you as user an optimal exten- sion to your standard computer. Some of the facilities are: a. a powerful BASIC TOOLKIT (aid) that considerably simplifies programming and the detection of errors in programs. You can use the TOOLKIT commands in your own programs. b. a quick-loader for DISK as well as TAPE which can also load the more ambitious programs and games. c. a monitor that is always at your disposal and which gives you access to all memory areas of your Commodore. When you program, or intent to program, in machine language, the POWER CARTRIDGE is an ideal aid. d. a PAUSE key with which you can stop any program temporarily. e. an extensive graphic printer interface with which you can make a print of the screen (HARDCOPY) at any time and from any program. The uniqueness of this cartridge is that afterwards you can con- tinue the interrupted program. f. a TOTAL BACKUP facility. This implies that you can save a program available in the memory at any time and load it again at a later time. After this you can continue the program. We are sure that this purchase will add a new dimension to your computer hobby. DORTRECHT/HOLLAND, 1985 THE POWER CARTRIDGE TEAM, PETER VERHEY KRIJN KOLFF BAS VAN ROSSEM PAUL HOPPER K C S ~ (C) COPYRIGHT 4 ============= This manual is copyrighted in 1986 by KCS. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise without the prior written permission of KOLFF COMPUTER SUPPLIES B.V. -------------------------------------------------------------------- All rights reserved under the Dutch Copyright Act and the international copyright conventions. -------------------------------------------------------------------- ACKNOWLIDGEMENTS ================ COMMODORE is a registered trademark of COMMODORE BUISINESS MACHINES Inc POWER CARTRIDGE is a registered trademark of KOLFF COMPUTER SUPPLIES BV TOTAL BACKUP is a registered trademark of KOLFF COMPUTER SUPPLIES BV KCS is a registered trademark of KOLFF COMPUTER SUPPLIES BV The information in this manual has been viewed and is believed to be reliable. No responsibility, however is assumed for inaccuracies. The material in this manual is for information purposes only, and is subject to change without notice. ~ TABLE OF CONTENTS 5 ================= SUBJECT: PAGE: -------- ----- INTRODUCTION 3 COPYRIGHT 4 TABLE OF CONTENTS 5 INSTALLATION 6 TOOLKIT COMMANDS 7-17 DISK COMMANDS 18-20 TAPE COMMANDS 21-22 POWERMON INTRODUCTION 23 POWERMON COMMANDS 24-33 POWER RESET COMMANDS 34-37 PRINTER TOOL COMMANDS 38-40 PARTICULARS 41 PRINTER CABLE DIAGRAM 41 INDEX 42 ~ INSTALLATION 6 ============ First of all switch off the Commodore 64, than insert the POWER CARTRIDGE (sticker up) into the cartridge port of your computer. Viewed from the back, this is the farthest left connector. Then switch on the Commodore 64 once more. Within a few seconds the usual announcements will now appear on the top side of the screen. In the center of the screen the 'KCS LOGO' will be depicted. After pressing a key the logo will disappear, after which you can start using the many extra facilities of the POWER CARTRIDGE. In case of non-function, the POWER CARTRIDGE has probably not been inserted properly into the connector and you will have to start all over again. PPP OOO W W EEE RRR P P O O W W E R R PPP O O W W EE RRR P O O W W W E RR P OOO W W EEE R R CCC AAA RRR TTT RRR I DD GG EEE C A A R R T R R I D D G E C AAA RRR T RRR I D D G GG EE C A A RR T RR I D D G G E CCC A A R R T R R I DD GG EEE ~ TOOLKIT COMMANDS 7 ================ TOOLKIT is an aid when programming in BASIC. AUTO ************************************************************ For the automatic generation of line numbers. Example: AUTO 10,5 starts with line 10 and the following line numbers will increment by 5 each time. AUTO (Without any addition) starts with line 100 and the following line numbers will be 10 higher each time. When you wish to stop the input of lines, press the 'RETURN" key. This AUTO function also checks and warns when double line numbers are used. An example: Line 100 is already there. E.g.: 100 gosub 500 You type in AUTO 100,5. Line 100 will now be used for the second time, wich implies that the existing line 100 would be taken off. Therefore you will see the number 100 printed reversed on the screen as a warning. When you then press the 'RETURN" key, the existing line 100 will be maintained. However, when you type on, line 100 will be overwritten. COLOR ************************************************************ With this function you can change the color(s) of the background, the border and the cursor. Example: COLOR 0 will give a black background. COLOR 0,2 will give a black background and a red border. COLOR 0,2,1 will give a black background, a red border, and a white cursor. COLOR will give the standard Commodore colors. There are 16 different color possibilities. The color values go from 0 up to and including 15. ~ DEEK 8 ************************************************************ DEEK means "double byte peek". This implies that you will be able to call in the contents of two memory addresses at the same time. Example: ?DEEK (32768) will show in decimals the sum of the contents of the addresses "32768" and "32769". PRINT DEEK(address) equals: PRINT PEEK(address) + PEEK(address + 1) * 256. ?DEEK ($8000) will now show in decimals the sum of the contents of the addresses mentioned above. ?HEX$ (DEEK(32768)) will now show in hexadecimals the sum of the contents of the addresses mentioned above. ?HEX$ (DEEK($8000)) will now show in hexadecimals the sum of the contents of the addresses mentioned above. Instead of the PRINT statement ('?') you may also call DEEK from a program. Example: 100 A$=HEX$ (DEEK($8000)) or: 100 A=DEEK ($C000):B=DEEK (32768) DELETE ************************************************************ DELETE means remove. With this instruction parts of a basic program may be erased at one go. The syntax is the same as that of LIST, although with DELETE a range should always be given, as well. This is to avoid that you should lose the entire program accidentally. Example: DELETE 1000-1500 will erase all lines from 1000 up to and including 1500. DELETE 1000- will erase all lines from 1000 up to and including the end. DELETE -1000 will erase all lines from the beginning up to and including 1000. ~ DOKE 9 ************************************************************ DOKE means "double byte poke". This implies that you can poke a value in two memory addresses at one go. So in fact you execute two pokes at one go. Example: DOKE 32768,4097 pokes at address 32768 a 1 and at address 32769 the value 16. To verify this we can calculate: 16 x 256 + INT(value address 32768(=1)). Outcome being 4097. DOKE $8000,$1001 pokes the same values at the addresses mentioned above. A general description for DOKE is: DOKE address,value equals the instructions.... POKE address,value - INT(value/256)*256 followed by.... DOKE address + 1,INT(value/256) Example: DOKE $8000,$2FFF equals: POKE $8000,$2FFF-INT($2FFF/256)*256 and POKE $8001,INT($2FFF/256) The DOKE command can also be used in a basic program. Example: 100 DOKE $C000,826 Equals: POKE 49152,58 and POKE 49153,3. (Verification: 58 plus 3*256 = 826). DUMP ************************************************************ DUMP will show on the screen a list of all single variables with their positive and/or negative values. Example: 100 A=5:B=3:C=-20 110 A$="POWER CARTRIDGE" 120 END 130 X=A-B After a run of this program we do a DUMP. Then we will see: A=5 B=3 C=-20 A$="POWER CARTRIDGE" The variable X will not be given, as the program was cut off by END in line 220 and at that moment the variable X had not been reached. ~ FIND 10 ************************************************************ To facilitate the search for a piece of text, a basic instruction or a variable in a basic program. Example: FIND Hullo will search for the Hullo text in a basic program and will show the line number(s) containing the word Hullo. FIND GOSUB 500 will show all lines containing GOSUB 500. FIND A$ will show all lines containing the variable A$. HARDCAT ************************************************************ HARDCAT is short for HARDCOPY of a CATALOG. This means that you can print on a printer a directory (catalog) of a diskette. Any basic program that may be available in the memory will not be overwritten. Example: HARDCAT will print all program names of a diskette on the printer. HARDCOPY ************************************************************ With this function you can send the content of the screen to a prin- ter. For more information on 'HARDCOPY' see under PRINTERTOOL commands. ~ HEX$ 11 ************************************************************ HEX$ is a BASIC function and not a statement. This is to say that HEX$( ) cannot serve as an independent instruc- tion. So it has to be used in a LET- or PRINT statement. (LET may also be left out). The HEX$( ) function is a STRING function, so LET A= HEX$( ) will give 'TYPE MISMATCH ERROR'. Instead of LET A you will have to use LET A$. A numeric variable or EXPRESSION should be placed between the brackets ( ). By EXPRESSION is meant: ALL arithmetical operations, with equivalent variables and/or num- bers. The HEX$( ) function converts a number into hexadecimal. Example: ?HEX$ (255) will show the hexadecimal value of 255, so "FF". ?HEX$ ($FF+160) will show the hexadecimal sum of "$FF+160", so $019F. ?HEX$ ($D000-$C000+3) will show the hexadecimal value $1003. Or starting from a basic program: 100 LET A$ = HEX$(255) 200 LET B$ = HEX$(256*3+$FCE2-$C2EA) 300 PRINT HEX$($FF+160) INFO ************************************************************ INFO will display all available toolkit functions on your screen. This auxiliary menu can be printed on a printer by means of the HARDCOPY command. KEY ************************************************************ KEY will display all functions defined under the function keys. F1 = LIST: (CR) F2 = MONITOR:(CR) F3 = RUN: (CR) F4 = UNNEW: (CR) F5 = DLOAD (CR) F6 = LOAD"",2(CR) F7 = DIR: (CR) F8 = DISK" The function with a (CR) will be executed immediately after pressing the relevant function key. ~ MERGE 12 ************************************************************ MERGE means join together. With MERGE two basic programs may be coupled or joined together. Example: You have the following program in your computer: 100 PRINT"Hullo" 200 PRINT"Peter" 300 PRINT"does it operate ?" You have the following program called "PART 2", on tape or disk: 150 REM 250 PRINT"and Rob" 400 REM 500 PRINT"Regards Krijn" Now it is possible to load the latter program from tape or disk and to join it to the program that is present in the memory of the computer. Users of tape will type in the following: MERGE"PART 2" (slow loading). or MERGE"PART 2",2 (quick loading). Users of disk will type in the following: MERGE"PART 2",8 (quick loading from DEVICE 8). or MERGE"PART 2",9 (quick loading from DEVICE 9). or MERGE"PART 2",48 (slow loading from DEVICE 8). or MERGE"PART 2",49 (slow loading from DEVICE 9). Viewing the listing after this MERGE instruction, we see the following: 100 PRINT"Hullo" 150 REM 200 PRINT"Peter" 250 PRINT"and Rob" 300 PRINT"does it operate ?" 400 REM 500 PRINT"Regards Krijn" It may occur that a program to be loaded contains a line number that has already been used in the program present in the computer. Example: Line 100 has been used in both program parts. After a MERGE command line 100, already present in the computer, remains intact. Line 100 has been removed from the second (loaded) part. ~ PAUSE 13 ************************************************************ Up to now programming a pause was rather cumbersome. For instance: FOR I = 1 TO 2000 : NEXT I By means of the POWER CARTRIDGE making a pause in your basic program will be easy. Example: PAUSE 3 wait 3 seconds. PAUSE 10 wait 10 seconds. PLIST ************************************************************ PLIST is short for PRINTERLIST This will allow you to send a listing of a basic program to a printer and print it out. Whether all CBM characters will be printed depends on the make and/or type of printer. The POWER CARTRIDGE self-detects whether a serial or a centronics printer has been connected to your computer. Example: PLIST prints out a basic listing on the printer. PSET ************************************************************ PSET stands for SET PRINTER. For more information on 'PSET' see under PRINTERTOOL commands. ~ RENUM 14 ************************************************************ RENUM is short for RENUMBERING. It is used for the renumbering of a basic program or a part of a pro- gram. The THEN, LIST, GOTO, GOSUB and ON X GOTO/GOSUB instructions will also be adapted. Example: RENUM will renumber the entire program. The first line will become number 100 and the following lines will increase 10 at a time. RENUM 50 As above, however, the numbering will start with line 50 and will increment 10 at a time. RENUM 50,5 As above, however, the numbering will start with line 50 and will increment 5 at a time. It will also be possible to renumber a part of a program or even to shift it. Example: 100 REM 120 PRINT" Is a product of: " 140 PRINT"Kolff Computer Supplies BV" 160 PRINT" POWER CARTRIDGE" 180 PRINT" (c) 1986 " Suppose we wish to place the lines 100 up to and including 140 behind line 180, starting from line 200 with a line distance of 20. This can be done by typing in the following: RENUM 100,140,200,20 Viewing the listing of the program, we then see the following: 160 PRINT" POWER CARTRIDGE" 180 PRINT" (c) 1986 " 200 REM 220 PRINT" Is a product of: " 240 PRINT"Kolff Computer Supplies BV" In case we omit the last digit (which is now 20) behind the RENUM instruction, the renumbered part will have a line distance of 10. This RENUM function will check and warn you whenever you give a RENUM that would result in an existing line being over written. Example: 100 REM 110 PRINT"Programming" 120 PRINT"can be fun " 130 PRINT" too. " ~ (RENUMBER continued) 15 Suppose you wish to renumber lines 110 up to and including 130, star- ting from line 100 with a line distance of 10. So RENUM 110,130,100,10 The following information will appear on your screen: CREATE DOUBLE LINE NUMBERS ! 100 <- 110 This means that line 100 already exists and that line 110 cannot be renumbered into 100. Should you require this, line 100 should be given a different number or be removed. REPEAT ************************************************************ Makes nearly all keys of your keyboard recursive. Example: REPEAT (1st time) will switch on REPEAT function. REPEAT (2nd time) will switch off REPEAT function etc. SAFE ************************************************************ Will switch off the RUN/STOP and RESTORE keys. This may be useful when you want to avoid a break in a basic program caused by touching these keys by mistake. Example: SAFE (1st time) will switch off the RUN/STOP and RESTORE keys. SAFE (2nd time) will switch on the RUN/STOP and RESTORE keys etc. TRACE ************************************************************ Trace will allow you to run slowly through a basic program. The program line numbers that have been executed will be seen to in the right-hand top corner of the screen. When the 'SPACE BAR' is kept pressed down, the program will be continue. Example: TRACE 100 with a RETURN will start the program from line 100. TRACE with a RETURN will start the program from the first line number. ~ UNNEW 16 ************************************************************ You can lose a basic program in various ways. For instance: after you have typed in NEW or after there has been a RESET. A Reset can be affected in 2 ways by means of the POWER CAR- TRIDGE. i.e. by means of the choice of 'RESET' or 'RESET ALL' from the RESET menu. With the UNNEW command you will be able to restore a basic program. Example: UNNEW followed by a push on the 'RETURN' key will restore the pro- gram. UNNEW will also be executed by pressing the function key F4. In case you have lost your basic program through one of the above- mentioned causes, always type in UNNEW first, before using other (Toolkit) functions. QUIT ************************************************************ QUIT will switch off the POWER CARTRIDGE. QUIT 1 will switch off the DISK and TAPE quick-loading/save routines and the driversoftware for centronics printers QUIT 2 will switch off the POWER TOOLKIT, causing the switching-off of all POWER CARTRIDGE commands. When to use QUIT, QUIT 1 OR QUIT 2 ? QUIT in the case of programs containing their own quick-loader/ saver and toolkit. QUIT 1 in the case of programs that have a quick-loading/save routine of their own. QUIT 2 in the case of TOOLKIT programs and programs defining their own characterset. ~ $ 17 ************************************************************ Thanks to the POWER CARTRIDGE difficult calculations need no longer be made. '$' is a numerical variable. That is to say that '$' cannot serve as an independent instruction !!! So it has to be used in a LET, PRINT, POKE or SYS statement. (LET may also be omitted). The '$' function will convert a hexadecimal number into a decimal one. Example: PRINT $FF will show the decimal value of $FF, so "255". SYS $C000 will jump to the hexadecimal address $C000 i.e. decimal 49152. POKE $D020,10 pokes at address 53280 (decimal) a 10. POKE $D020,$10 pokes at address 53280 (decimal) a 10. ?PEEK ($C000) will show the contents value of memory address $C000. Or from a basic program: 100 PRINT $FCE2 : REM outcome = 64738. 200 POKE $D020,10 : REM equals POKE 53280,0. 300 POKE $D020,$0A : REM equals POKE 53280,0. 400 A=PEEK($C000) : REM equals A=PEEK(49152). 500 B=$FF+1 : REM equals B=255+1 600 PRINT $A0+$B0 : REM outcome = 336 (decimal). ~ DISK COMMANDS 18 ============= DLOAD ************************************************************ For the quick-loading of program files from disk, by means of DEVICE 8. Example: DLOAD"program name" will load a program from disk 5 to 6 times faster. DLOAD can be used from a program and is defined under the function key 'F5'. When the directory is on-screen you can go with the cursor to the name of the program to be loaded and press the function key 'F5' (DLOAD), after which the program will be loaded quickly. DLOAD without program name will load the first program from disk. DLOAD can be compared with LOAD":*",8,1. Quick-loading from disk can also be done by means of the normal LOAD instruction. Example: LOAD"program",8 (loading 5 to 6 times faster). LOAD"program",9 (loading 5 to 6 times faster, from disk, by means of DEVICE 9). When a program consists of several program files, these will automa- tically be loaded quickly. (With the exception of a few programs whose safety devices cut out the quick-loading routine. Loading will then proceed at normal speed). Different makes of serial diskdrives, which are not compatible with quick-loading routines, are also on the market. Therefore KCS has ascribed two new DEVICE numbers. Viz.: LOAD"program name",48 (normal loading from disk with DEVICE 8). LOAD"program name",49 (normal loading from disk with DEVICE 9). When you wish to load slowly with the Commodore 1541 diskdrive, you may also make use of DEVICE 48 or 49. ~ DSAVE 19 ************************************************************ For the saving of program files to disk. Example: DSAVE"program name" will save a program to disk. DSAVE can be used from a program. Saving to disk can also be done by means of the normal SAVE instruction. Example: SAVE"program",8 (save to disk). SAVE"program",9 (save to disk by means of DEVICE 9). DVERIFY ************************************************************ For the verification of a program file saved to disk. Example: DVERIFY"program name" DVERIFY can also be used from a program. You may also VERIFY from disk by using the normal VERIFY instruction. Example: VERIFY"program",8 (VERIFY from disk). VERIFY"program",9 (VERIFY from disk by means of DEVICE 9). MERGE (disk) ************************************************************ For more information on MERGE, see under POWER TOOLKIT commands. DIR ************************************************************ The DIR command will display the directory on the screen, without, however, disturbing any program present in the memory. DIR can be used from a program and has been defined under the func- tion key 'F7'. You may interrupt this function by pressing the 'RUN STOP' key, after which you may load a program from the displayed directory by means of DLOAD. The DIR function may also be stopped (paused) by pressing the SPACE BAR. The DIR function will continue when the SPACE BAR is pressed once more. ~ DISK 20 ************************************************************ DISK is a function for the execution of shortened disk commands. This command can be used starting from a program and has been defined under the function key 'F8'. Example: DISK followed by a RETURN will display the status announcement on your screen. DISK followed by a disk instruction will replace the following series of instructions: OPEN1,8,15 PRINT#1,"disk instruction" CLOSE1 Any disk command may be used for 'disk instruction', such as: DISK"I Initialize disk. DISK"N:diskname,id Formatting diskette. DISK"R:new name=old name Change of program name. DISK"S:name Removal of a program from diskette. DISK"UI Diskdrive reset. DISK"V Validation of a diskette. In case the light of your diskdrive remains lighted when using DISK"UI" when there is an ERROR announcement, you had better switch it off for a moment and then switch it on aqain. For more information on disk commands and error codes we refer you to your diskdrive manual. DEVICE ************************************************************ This command will give the device number 9 to a CBM 1541 diskdrive. In case two 1541 diskdrives are connected to your computer, you should disconnect one drive, before you type in the DEVICE command. Example: DEVICE Will change device 8 into 9. In case two drives are used, the second drive should be reconnected after the DEVICE command. There will now be one drive with the device number 8 and one drive with the device number 9. ~ TAPE COMMANDS 21 ============= The quick-loading/save routine of the POWER CARTRIDGE are compatible with nearly all existing quick-loaders. QUICKLOADING ************************************************************ Allows a 10 times faster loading of program files from tape. Example: LOAD"program" (normal loading from tape). LOAD"program",1,1 ( " " " ). LOAD"program",2 (QUICKLOADING from tape). or LOAD"",2 ( " " " ). LOAD"program",2,1 ( " " " ). or LOAD"",2,1 ( " " " ). When a program consists of several program files, these will be loa- ded quickly and automatically, provided device 2 is placed after the LOAD instuction. Quick-loading can only be done when the program on tape has once been saved quickly first. This implies that programs saved in the normal (slow) way CANNOT be read by using LOAD"name",2. In emergencies the guick-loading may be interrupted by typing on the RUN/STOP and RESTORE keys. QUICKSAVE ************************************************************ Allows a 10 times faster saving of program files to tape. Example: SAVE"program" (normal saving to tape). SAVE"program",2 (QUICKSAVING to tape). or SAVE"",2 ( " " " ). Quick-saving may also be done from a program. Once a program has been saved quickly, it can solely be loaded by means of LOAD"name",2. In emergencies the quick-saving can be interrupted by typing on the RUN/STOP and RESTORE keys. ~ QUICKVERIFY 22 ************************************************************ Allows a 10 times faster verification of program files from tape. Example: VERIFY"program" (normal verification from tape). VERIFY"program",2 (QUICK VERIFICATION from tape). Quick verification may also be done from a program. Once a program has been saved quickly, it can solely be verified by using VERIFY"name",2. MERGE (tape) ******************** For more information on MERGE see under POWER TOOLKIT commands. AUDIO ************************************************************ AUDIO is a command that the signal of the cassette recorder makes visible on the viewing screen by means of dashes and which is at the same time sent on to the loudspeaker of the TV/monitor. It is extremely handy when you want to look up specific passages on tape. To stop this function, press the Commodore key. You may also type in: AUDIO:LOAD"name" or AUDIO:LOAD"name",2 or AUDIO.LOAD"",2. As soon as you hear or see the first signal of a program, you can load the program by pressing the SPACE BAR. ~ POWERMON INTRODUCTION 23 ===================== POWERMON is a machine language monitor/assembler. This monitor will enable you to query, change and shift memory par- titions. It will enable you to program the 6510 microprocessor in its operating lanquage. Your programs will be executed hundreds of times faster than if you were to write them in basic. This manual is not a machine language textbook from which you can learn machine language. For that purpose there are various suitable books on the market. You may call POWERMON in various ways: a. From basic (also from a program) by typing in MONITOR. b. By pressing the function key F2. c. From the RESET MENU, by pushing the reset button. When calling POWERMON, the following will appear on your screen: POWERMON PC CR NV-BDIZC AC XR YR SP ;C03F 37 10110000 E1 00 B6 F8 (The real values in the registers may deviate). What is so special about POWERMON is that you will not encounter it anywhere in the memory. You will be free to program in any area you like. (Of course anywhere the Commodore allows). It is also possible to view and use the RAM under the BASIC ROM (from $A000), under the KERNAL ROM (from $E000) and under the I/O area (from $D000). For more information on this see explanation 'Register display'. ~ POWERMON COMMANDS 24 ================= A ************************************************************ A stands for assembly. Example: You wish to give the BACKGROUND and the BORDER of your display screen the color black and the CURSOR white. We type in the following: A C000 LDA #$00 A C002 STA $D020 A C005 STA $D021 A C008 LDX #$01 A C00A STX $0286 A C00D RTS Once you have given the A command and have an input instruction, after closing by means of RETURN, the following address will automa- tically appear on the next line, after which you may go on with your input. To stop assembly, press RETURN. We can try out the routine printed above by making a jump from the monitor by means of X followed by a RETURN. We have now returned to basic. You may call the routine printed above by means of SYS $C000. The screen should now be entirely black and the cursor white. This routine can also be called from the monitor by typing in the following: J C000 followed by RETURN. For more information on 'J' see explanation 'Jump' command. C ************************************************************ C stands for Compare. Example: You wish to compare two memory partitions to see if they are the same. Let us assume that the memory area between $8000 and $8FFF is to be compared with the memory area between $C000 and $CFFF. We type in the following: C 8000 8FFF C000 This function will now compare these two areas and when differences are found the addresses that are not alike will be printed on your display screen. ~ D 25 ************************************************************ D stands for Disassembly. This command can be compared to the LIST command from basic. Example: You wish to view the memory area between $C000 and $C22E. We type in the following: D C000 C22E The machine language from $C000 will be disassembled to the address $C22E. Pressing the 'CTRL' key will slow down disassembly, pressing the 'SPACE BAR' will stop (pause) disassembly, till the 'SPACE BAR' is pressed once more. Pressing the 'RUN STOP' key will stop disas- sembly. After pressing the 'RUN STOP' key you can change the on-screen disassembled listing, in the HEX column as well as in the ASCII column, by moving up to it by means of the cursor keys and typing across it. Any line that bas been modified should be closed by pressing the 'RETURN' key. The reverse printed column is the HEX column, after that you can see the ASCII column. F ************************************************************ F stands for FILL. It is possible to fill a certain memory range with a specific value. Example: You wish to fill the memory range between $C000 and $D000 with NOPS. (HEX value is EA). We type in the following: F C000 CFFF EA To check correctness type in D C000 CFFF followed by a RETURN. ~ G 26 ************************************************************ G stands for GO RUN. This commands sees to it that a machine language program is execu- ted, up to the next following BRK code (00). Example: G 1000 will start a machine language program from address $1000. G without any addition will start from the address that is taken from the PC (=program counter). H ************************************************************ H stands for HUNT. With the HUNT instruction it will be possible to search for HEX and ASCII values in the memory. Example: N C000 CFFF 'POWER CARTRIDGE will search for the ASCII text POWER CARTRIDGE in the memory range between $C000 and $D000. H C000 CFFF 50 4F 57 45 52 20 43 41 52 54 52 49 44 47 45 will search for the HEX values 50 4F 57 etc. in the memory range between $C000 and $D000. At most you can query 2 lines HEX or ASCII values at the same time. The HUNT can be interrupted by pressing the 'RUN STOP' key. ~ I 27 ************************************************************ I stands for INTERROGATE MEMORY. This function will allow you to view the memory of your computer. You will see eight rows of HEX values and eight ASCII values side by side. Example: I 8000 800F will give 2 lines of eight HEX and eight ASCII values each on-screen. I 8000 9FFF This example will give on-screen HEX bytes and the corresponding ASCII text from $8000 up to $A000. You can slow down the on-screen display by pressing the 'CTRL' key, pressing the 'SPACE BAR' will pause the display, till the 'SPACE BAR' is pressed once more. Pressing the 'RUN STOP' key will stop this function. After pressing the 'RUN STOP' key you can modify the on-screen HEX and ASCII values by moving up to them by means of the cursor keys and ty- ping across them. Each modified line should be closed by pressing the 'RETURN' key. If you wish to input a lot of 'text', there is a simple method to do so. Suppose you wish to input the text 'POWER CARTRIDGE' to address $8000. You type in: :8000 POWER CARTRIDGE (followed by a RETURN). Note ! After :8000 press the 'SHIFT' key and the 'SPACE BAR', otherwis‚ you cannot input any normal text. J ************************************************************ J stands for JUMP. JUMP is comparable to GOTO. This commands sees to it that a subrou- tine is executed, up to the next following RTS code (60). Example: J C000 will jump to a subroutine starting at address $C000. J without any addition will start from the address taken from the PC (=program counter). ~ L 28 ************************************************************ L stands for LOAD. By means of L you can load programs from tape or disk. You can load quickly or slowly. (Unless, to this end, you have typed in QUIT or QUIT 1 from basic). Example: L"program name",xx For "xx" you may select: 01= slow loading from tape. 02= quick loading from tape. 08= quick loading from disk. 09= quick loading from disk by means of device 9. 30= slow loading from disk by means of device 8. 31= slow loading from disk by means of deviee 9. This way of loading is comparable to the loading from basic by means of load"program name",x,1. It is also possible to load the program to a location you opt. For instance: L"program name",08,C000 The program will now be loaded from address $C000. M ************************************************************ M stands for MEMORY display. This function is the same as function I (INTERROGATE MEMORY). ~ P 29 ************************************************************ P stands for PRINT. With this command it is possible to print out on paper anything you normally see on-screen. Whether all CBM characters will be printed depends on the make and/or type of printer. The POWER CARTRIDGE self-detects whether a serial or a centronics printer has been connected to your computer. Example: Suppose we want to print out on paper the memory range between $4000 and $5000, disassembled. Type in the following: P0x To which end x may be the value 4 or 5, dependent on your printer operating with device 4 or 5. After this type in the following: D 4000 5000 followed by a RETURN. All text will now be sent to the printer. Other functions can also be printed out in this way. Example: I 4000 5000 followed by a RETURN will send HEX and ASCII values to the printer. It is also possible to select the way of printing from basic. For more information on this see 'PSET' at PRINTERTOOL commands. When you want to stop printing, type in the following: P03 This instruction will empty the printerbuffer first by sending a carriage return, then will subsequently close the print file and after that will aqain display all text on-sereen, as usual. ~ R 30 ************************************************************ R stands for REGISTER display. The R command will show the contents of the microprocessor registers and will enable you to change these. The numbers beneath the abbreviations show the contents of the registers or counters at the time the R command is typed in. PC CR NV-BDIZC AC XR YR SP ;C03F 37 10110000 E1 00 86 F8 PC= the program counter. CR= the I/O register in the 6510 CPU (shows the value of the address $0001). N V - B D 1 Z C (the flag register): N= Negative V= Overflow -= no function B= Break D= Decimal I= Interrupt Z= Zero C= Carry AC= the value in the accumulator. XR= the value in the X register (index register X). YR= teh value in the Y register (index register Y). SP= the stack pointer. Example: By changing the last figure of the CR value into a different value (from 0 up to and including 7) you may change the memory configura- tion. The table given below will show how all this will look. CR-value: $A000: $D000: $E000: x7 BASIC ROM I/O KERNAL ROM x6 RAM (8K) I/O KERNAL ROM x5 RAM (8K) I/O RAM (8K) x4 RAM (8K) RAM (4K) RAM (8K) x3 BASIC ROM CHARGEN KERNAL ROM x2 RAM (8K) CHARGEN KERNAL ROM x1 RAM (8K) CHARGEN RAM (8K) x0 RAM (8K) RAM (4K) RAM (8K) ~ S 31 ************************************************************ S stands for SAVE. By means of S you can save programs to tape or disk. Saving to tape can be done quickly or slowly. (Unless, to this end, you have typed in QUIT or QUIT 1 from basic). Example: S"program name",xx,initial address,final address (for instance:) S"program name",xx,2000,31EA For "xx" you may select: 01 = slow saving to tape. 02 = quick saving to tape. 08 = saving to disk. 09 = saving to disk by means of device 9. T ************************************************************ T stands for TRANSFER. By means of the T command you may transfer one or several bytes or a partition of the memory to a different location in the memory. Example: T 2000 2002 3000 Will transfer three bytes at the memory locations, $2000, $2001 and $2002 to the address $3000. T 2000 4000 6000 Will transfer 8K bytes from $2000 to $6000. ~ V 32 ************************************************************ V stands for VERIFY. By means of V you may verify programs from tape or disk. From tape this may be done quickly or slowly. (Unless, to this end, you have typed in QUIT or QUIT 1 from basic). Example: V"program name",xx,initial address,final address (for instance:) V"program name",xx,2000,31EA For "xx" you may select: 01 = slow verification from tape. 02 = quick verification from tape. 08 = verification from disk. 09 = verification from disk by means of deviee 9. W ************************************************************ W stands for WALK (walk through machine lanquage). This command sees to it that a machine language program is executed step by step, and after each instruction the computer will wait until you press a certain key for continuation. This is ideal for viewing at ease how a program is executed and for any possible debugging. Example: W 1000 Will start a machine language program from address $1000. You may adjust the speed by means of the 'SPACE BAR'. 'SPACE BAR' step by step execution of a program. 'SPACE BAR' KEPT PRESSED DOWN for a quicker walk-through. W without any addition will start from the address taken from the PC (=program counter). X ************************************************************ X stands for EXIT (exit monitor). The command X followed by a push on the 'RETURN' key will see to it that you leave the POWERMON and return to basic. ~ $ 33 ************************************************************ $ is the DIRectory command. Example: $ followed by a push on the 'RETURN' key will give the directory on- screen. By means of the 'CTRL' key you can slow down the display. Pressing the 'RUN STOP' key will interrupt this function. By pres- sing the 'SPACE BAR' you can pause the display, till the 'SPACE BAR' is pressed down once again. <- (Left arrow) ************************************************************ <- is a function to execute shortened disk commands. Example: <- followed by a RETURN will give the status announcement on-screen. <- followed by a disk command will replace the following instruction series: OPEN1,8,15 PRINT#1,"disk instruction" CLOSE1 For 'disk instruction' you may use any disk command, such as: <-I Initiatie disk. <-N:diskname,id Formatting diskette. <-R:new name=old name Change of program name. <-S:name Removal of a program from diskette. <-UI Diskdrive reset. <-V Validation of a diskette. For more information on disk commands and error codes we refer you to your disk drive manual. ~ POWER RESET COMMANDS 34 ==================== A RESET switch is situated at the back of the cartridge. You will enter a special menu by pressing the button. This function will operate from any program. The following options will appear on the screen: (hand/pointer) ==- CONTINUE BASIC RESET BACKUP DISK RESET ALL BACKUP TAPE HARDCOPY MONITOR After pressing the RESET switch you will always see a 'Hand' (or pointer) depicted for the 'CONTINUE' function. You may lower the hand by means of the F7 function key and raise it again by means of the F1 key. When you wish to execute 'RESET ALL', you position the hand in front of this function and then press the 'RETURN' key, after which 'RESET ALL' will be executed. We advise you NOT to press the RESET switch-button during the loa- ding of a program! Should you do so, the chances are that you will have to load the program once more. We will now discuss all 'MENU' options. CONTINUE ************************************************************ By pressing the RESET switch it will be possible to stop a program temporarily. The program or game may be continued by choosing CONTINUE. This also holds good after the printing by means of 'HARDCOPY'. BASIC ************************************************************ Return to BASIC retaining all variables. This is an emergency solution, in case the RUN STOP and RESTORE keys no longer operate and the 'SAFE' command can no longer be executed. ~ RESET 35 ************************************************************ This is a normal RESET function, giving the standard start display once more. Naturally all variables will be lost in this way. Some programs are provided with an autostart code. (Usually games). This implies that these programs cannot be interrupted by means of the 'RESET' function; however, this can be done by means of 'RESET ALL'. BACKUP DISK ************************************************************ This is a very special function of the POWER CARTRIDGE. We advise you to read the following attentively, to prevent disap- pointments. First of all we will explain the operation of the 'TOTAL BACKUP'. You have loaded and started a program. Now it is possible, imme- diately after the start or in the course of some time, to make a TOTAL BACKUP of the program present in the computer. Suppose you are in one of the following situations: You are: a. playing a game program. b. engaged on a chess program. e. renumbering a basic program. d. at work with a word processor or database. e. programming. When you are in one of the above-mentioned situations or in any other situation, it will, at any time desired, be possible to press the RESET button and to save the entire memory, or only the memory used, by means of a 'BACKUP DISK', storing all other important information, such as variables, colors, information on the viewing screen, zeropage information, etc. Afterwards, as soon as you are loading the TOTAL BACKUP file once more, you will always return in the RESETMENU. Using 'CONTINUE', you will return to the same situation where you were last. Which means that you may continue your game or chess program. Everything will simply go on from where you last broke off. 'TOTAL BACKUP' always functions, no matter what program is present in your computer. However, there are programs that cannot fully function any more after a 'TOTAL BACKUP'. Which programs cannot function properly after a 'TOTAL BACKUP'? Programs that keep reading other files from disk during their ope- ration (eg Adventure games) and programs that check regularly whether a special code has been put on disk. ~ (TOTAL BACKUP continued) 36 A 'TOTAL BACKUP' file will always be saved under the name 'BACKUP#', unless you have loaded the program by means of 'ILOAD'. As with normal saving, with 'TOTAL BACKUP' you cannot twice save the same name to disk. lt is also possible to save only the essentials to disk, instead of the entire memory, but in that case you should pre-arrange for this. To do this, the first time you load a program you will have to load by means of the 'ILOAD' command. (For more information on this see explanation at 'ILOAD'). What will you have to do to load a 'TOTAL BACKUP' file again and how will you recognize 'TOTAL BACKUP' files on disk? A 'TOTAL BACKUP' is recognizable in the directory of the disk as three 'USR' files. The last character of the file name is always a #, a $ and a %. If, since the switching-on of the computer, you have not made use of the commands DLOAD or ILOAD, the 'USR' file names on disk will be "BACKUP#", "BACKUP$" and "BACKUP%". Each time you use 'DLOAD' or 'ILOAD' the file name you give here will be used in the next following 'TOTAL BACKUP'. You CANNOT give the three 'USR' files on disk different names. You CANNOT give the three files the same name, either! So the name with which the 'TOTAL BACKUP' is saved is final. In case, after selecting 'BACKUP DISK', you have pressed the RETURN key, the 'HAND' (the pointer) will start to flicker. You can still undo the selection by pressing the Fl key. After pressing the F7 key the BACKUP procedure will start. So you should see to it that there is a formatted diskette in the drive, containing sufficient space (at least 265 blocks) and not already containing a file with the same name as the one with which the new 'TOTAL BACKUP' will be saved. it is recommended always to have at hand a formatted blank disk! After pressing the F7 key the viewing screen will go haywire. How- ever, this is normal! After some time the saving to disk will start. Loading the 'TOTAL BACKUP' files back may be done by means of the command: BLOAD"name#" or BLOAD"name#",8 (also from the directory). After the loading you may go on with the program by means of 'CONTINUE'. ~ RESET ALL 37 ************************************************************ ALWAYS resets any program. Of course at the loss of all variables. It will cause any program with an autostart routine to be switched off. The autostart routine can be retrieved by means of POKE $8005,$C2 and a start can be made by means of 'RESET' (from the RESETMENU). BACKUP TAPE ************************************************************ For more information we refer you to 'BACKUP DISK'. Where the word disk is used, please read tape. Some things are a bit different, however. For: As soon as the hand (the pointer) starts to flicker in front of the text 'BACKUP TAPE', the procedure will only start when you have pressed the 'RECORD and PLAY' keys of your cassette recorder. You should make sure that there is sufficient space on your tape to enable you to save at most 65K (about 80 tape counting numbers). The return loading of 'BACKUP TAPE' files may be done by means of: BLOAD or BLOAD"BACKUP#",2 Of course a different file name may also be used. ILOAD ************************************************************ The 'ILOAD' command also has to do with 'TOTAL BACKUP'. This has the advantage that in the matter of a 'TOTAL BACKUP' only the memory used will be saved. Consequently the shortest possible BACKUP is 15 blocks (= ń 4 K BYTES). For the rest the 'ILOAD' command may be used in the same way as LOAD. FUNCTION KEYS F3 and F5 ************************************************************ From the 'RESETMENU' you may continue your program by means of 'CONTINUE'. When you have given QUIT or QUIT 1, the DISK and TAPE quick-loading routines and the CENTRONICS routine are switebed off. Some programs can also switch off these routines. You can retrieve these routines by pressing the RESET button. After pressing the RESET button, you may do the following: 'CONTINUE' continue the program. 'F3 key' continue the program + activate the quick-load routines. 'F5 key' continue the program + activate the quick-load routines and the CENTRONICS driver software. ~ PRINTERTOOL COMMANDS 38 ==================== HARDCOPY ************************************************************ This function allows you to make, from a program or in Basic, a printout of the viewing-screen on a printer. This may be either LORES or HIRES. The POWER CARTRIDGE self-selects whether to print LORES or HIRES and self-determines whether to print serially or parallel. Serial printers which, are directly compatible with the 'HARDCOPY' routine, are : Commodore MPS 801, 802 (!!) and 803, SEIKOSHA GP-100VC and EPSON GX-80. However, these should be adjusted to DEVICE 4. Centronics printers which, are directly compatible with the 'HARDCOPY' routine, are : EPSON RX/FX and LX-80, PANASONIC 1090 and 1091, BROTHER HR-5, STAR GEMINI 10X and SG10, AVT FAX80/100, CP80 and SMITH-CORONA FASTEXT 80/100, CITIZEN 120-D and various other types of these brands. Centronics printers may be connected to the user port via a printer cable. All serial and centronics printers should have a 'Bit image' mode, however. (Consult your printer manual). Centronics printers should be EPSON compatible. However, in practice there will always be printers that have been constructed. That are just a bit different, which may give rise to problems with the 'HARDCOPY'. Unfortunately we cannot attend to that. How to use HARDCOPY? At any time you can make a 'HARDCOPY' of your display by pressing the RESET key. You will then position the 'Hand' (the pointer) in front of 'HARDCOPY' and press the RETURN key. (You may undo the 'HARDCOPY' selection by pressing the RETURN key once more and make a different option). Subsequently you may choose from the following possibilities: FUNCTION Result on Serial key: and Centronics Printers: F1 Large image-Reverse F3 Large image-Normal F5 Small image-Reverse F7 Small image-Normal When printing a small image no account is taken of color combina- tions. If you are not satisfied with the result of the HARDCOPY, try 'Reverse' or 'Normal' version. The printing may be interrupted by keeping the RUN STOP key pressed down for a few seconds. This causes a return to the RESET menu and you may then continue your program by using 'CONTINUE'. ~ (HARDCOPY continued) 39 There is also a BASIC command 'HARDCOPY', with which a print of the display can be made without pressing the POWER CARTRIDGE button. The way of printing may be indicated by typing a number after it. Possibilities: HARDCOPY 1 equals function key F1. HARDCOPY 3 " " " F3. HARDCOPY 5 " " " F5. HARDCOPY 7 " " " F7. HARDCOPY with no number has the same function as HARDCOPY 1. In the case of a large image the colors of the image are converted into shades of grey. In this way a very good approximation is achie- ved of the real image on-screen. In the case of a small image. There are no grey values. In the case of a small image it may therefore occur that something is visible in the HARDCOPY that is invisible on-sereen. MOBS or SPRITES are removed from the display before a HARDCOPY is made. SPLIT-SCREEN is a technique that changes the display so quickly that it is imperceptible to the human eye. You may have one half of the screen in HIRES and the other half in LORES. When you interrupt such a program the screen will be 'frozen' in one of the two states. Consequently one of the two halves is in reversed position and the other half in normal position. PSET ************************************************************ 'PSET' has a large number of variations which are all related to the printing. PSET0 : This is the 'automatic' position. When a printer has been connected to the user port, this will be driven in the EPSON way. When a printer has been connected to the SERIAL BUS, this will be driven in the MPS801/MPS803 way. PSET1 : Always drives in the EPSON way, no matter where this is connected. PSET2 : Always drives in the SMITH CORONA way, no matter where this is connected. PSET3 : Always drives in the EPSON way, no matter where this is connected; however, "LARGE" size HARDCOPIES are printed vertically. PSET4 : HARDCOPY setup for MPS 802/1526 printer. PSET B : Printing in BIT IMAGE graphic mode. ~ The printing of UPPER and lower case on EPSON compatible printers, 40 connected to the USER PORT, will operate after OPEN 1,4,7 and the printing of 'CAPITAL LETTERS' and 'GRAPHIC' characters after every OPEN 1,4,0 or OPEN 1,4. However, this does not operate in the transparant mode. PSET C : UPPER/lowercase conversion. This position has many variations, which may be set by means of the secondary address. Sec address: 0 UPPERCASE/lowercase according to display position. 1 UPPERCASE only. 7 UPPERCASE as well as lowercase. Control characters are filtered out (not transmitted to the printer), but transmission is possible by increasing the value of the secondary address by 8: That is 8,9 and 15 respectively. PSET T : Transparent mode (via the USER PORT). All information is simply transmitted to the printer. None of the above-mentioned PSET commands have anything to do with 'HARDCOPY' printing, but solely with: OPEN 1,4:CMD1:LIST or PRINT#L; PLIST and HARDCAT. PSET L1: Will give an extra LINEPEED at each line. (Applies only to 'EPSON' compatible printers). Use this command when the printer prints out all lines overlapping. Most printers are equipped with a DIPSWITCH for this purpose. This is often indicated by CR/LF or by AUTOFEED XT. PSET L0: Will undo PSET L1. PSET Sx: 'x' determines the 'SECONDARY ADDRESS' with a 'HARDCOPY'. This only holds good when a printer has been connected to the SERIAL BUS and when the printer in question is an 'EPSON' compatible printer with a printer interface in- between. Which value you will have to fill in at 'x' can be found in your printer interface manual under 'TRANSPARENT MODE'. PSET U : In case you have connected a Modem, Eprom programmer or a different device to the USER PORT of your Commodore, please type in PSET U, when you have connected a printer to the SERIAL BUS. In the cases of RESET and RESET ALL, all 'PSET' settings will be maintained. When switching the computer on, the various 'PSET' set- tings have the following values: PSET0, PSET S0, PSET L0 and PSET B. This means you won't have to set anything for an EPSON (or compatible) printer connected to the USER PORT, nor for an MPS 801/803 printer connected to the SERIAL BUS. ~ PARTICULARS 41 =========== 'IF THEN ...' In case you want to use a TOOLKIT command in an IF THEN statement, you will have to place a colon (:) after THEN. Example: 10 IF A = 2 THEN : INFO 20 IF B = 0 THEN : DIR 'LISTING' You can stop the listing of a program by pressing the 'SPACE BAR'. By pressing it once more the listing will continue. If you want to slow down the listing a little, you may do so by keeping the 'SPACE BAR' pressed down during the listing. 'POWER CARTRIDGE' commands You may abbreviate all commands to the second or third letter. Example: COLOR 0,2,1 is also possible with CO(shift L) 0,2,1 DLOAD is also possible with D(shift L) PRINTER CABLE DIAGRAM ===================== To connect a centronics printer to the USER PORT you will need a 12-core cable. These cables are obtainable in the market. However, in case you wish to make this cable yourself, you will find the connecting data you need below CBM 64 USER PORT CENTRONICS CONNECTOR PLUG GAUGE: PLUG GAUGE: to: A ------------------------ 16 B ------------------------ 10 C ------------------------ 2 D ------------------------ 3 E ------------------------ 4 F ------------------------ 5 H ------------------------ 6 J ------------------------ 7 K ------------------------ 8 L ------------------------ 9 M ------------------------ 1 ~ N ------------------------ 17 INDEX 42 ===== TOOLKIT PAGE: POWERMON PAGE: AUTO 7 Introduction 23 COLOR 7 A(ssemble) 24 DEEK 8 C(ompare) 24 DELETE 8 D(isassemble) 25 DOKE 9 F(iii) 25 DUMP 9 G(O) 26 FIND 10 H(unt) 26 HARDCAT 10 1(nterrogate) 27 HEX$ 11 J(ump) 27 IF THEN 41 L(oad) 28 INFO 11 M(emory) 28 KEY 11 P(rint) 29 LIST 41 R(egisters) 30 MERGE 12 5(ave) 31 MONITOR 23 T(ransfer) 31 PAUSE 13 V(erify) 32 PLIST 13 W(alk) 32 RENUM 14/15 e(X)it 32 REPEAT 15 $ (directory) 33 SAFE 15 <-(shortened dos) 33 TRACE 15 UNNEW 16 QUIT 16 $ 17 DISK PAGE: TAPE PAGE: DLOAD 18 LOAD"",2 21 DSAVE 19 SAVE"",2 21 DVERIFY 19 VERIFY"",2 22 DIR 19 MERGE 12 DISK 20 AUDIO 22 DEVICE 20 ILOAD 37 MERGE 12 BLOAD 37 ILOAD 37 BLOAD 36 ~ INDEX 43 ===== POWER RESET PAGE: PRINTER PAGE: CONTINUE 34 HARDCOPY 38/39 BASIC 34 PSET 40 RESET 35 LINE PEED 40 BACKUP DISK 35/36 CABLE DIAGRAM 41 RESET ALL 37 PLIST 13 BACKUP TAPE 37 HARDCOPY 38/39 End of the etext