************************ bioc agent 003's tutorial in ************************ * * * ==================== * * =hacking the hp2000= * * ==================== * * * ****************************************************************************** preface ------- the purpose of this tutorial is to give potential hackers useful information about hewlett-packard's hp2000 systems. the following notation will be used throughout this tutorial: - carriage return, return, enter, etc. ^c - a control character (control-c in example) capital letters - computer output & user input system information ------------------ each hp2000 system can support upto 32 users in a timeshared basic (tsb) environment. the systems usually run a version of hewlett packard's timeshared/basic 2000 (various levels). logon procedure --------------- once connected to a hp2000, type a nume ral followed by a . the system should then respond with: please log i n. if it does not immediately respond keep on trying this procedure u ntil it does (they tend to be slow to respond). user id: the user id consists of a let ter followed by 3 digits, eg, h241. password: the passwords are from 1 to 6 printing and/or non-printing (control) characters. the following c haracters will not be found in any passwords so don't bother tr ying them: line delete (^x), null (^@), return (^m), linefeed (^j), x-off (^s), rubout, comma (^l), space (^), back arrow (<-), & und erscore (_). hp also suggests that ^e is not used in passwords (bu t i have seen it done!). the logon format is: hello-a123,passwd where: hello is the logi n command. it may be abbreviated to hel. a123 is the user id & passwd is the password. the system will respond with either ill egal format or illegal access depending upon whether you screwed up the syntax or it is an invalid user id or password. the messages: please log in, illegal f ormat, & illegal access also help you identify hp2000 systems. the system may also respond with all po rts are busy now - please try again later or a similar message. one other possibility is no time left which means that they have used up their time limit without paying. unlike other systems where you have a c ertain amount of tries to login, the hp2000 system gives you a certain time limit to logon before it dumps you. the system default is 120 seconds (2 mi nutes). the sysop can change it to be anywhere between 1 and 255 seconds, tho ugh. in my experience, 120 seconds is sufficient time for trying between 20-3 0 logon attempts while hand-hacking & a much higher amount when using a hacki ng program. users ----- the various users are identified by the ir user id (a123) & password. users are also identified by their group. ea ch group consists of 100 users. for example, a000 through a099 is a group, a100 through a199 is another group, & z900 through z999 is the last possible grous@"!2%IMQ*MIJJ9*!:I=UA5R`is designated as the group master & he has certain privileges. for example, a000, a100,...h200..., & z900 are all g roup masters. the user id a000 is known as the system master & he has the most privileges (besides the hardwired sysop terminal). the library associated with user z999 can be used to store a hello program which is executed each time som eone logs on. so, the best thing to hack on an hp2000 system is the system master (a000) account. it is also the only user id t hat must be on the system. he logs on by typing: hel-a000,passwd. you just have to hack out his password. if you decide to hack z999, you can create or change the hello program to give every user your own personal message every time he logs on! this is about all you can do with z999 though since it is otherwise a non-privileged account. library organization -------------------- each user has access to 3 levels of lib raries: his own private library, a group library, and the system library. to see what is in these libraries you would type: catalog, group, & library respectively (all commands can be abbreviated to the first 3 letters). t he individual user is responsible for his own library and maintaning all the files. if a program is in your catalog, then you can change it. [group masters] group masters (gm) are responsible for controling all programs in the group libraries. only members of the group c an use these programs. these are viewed by typing group. for example, user s50 0 controls all programs in the group library of all users beginning with id s5xx. other users in the group cannot modify these programs. all programs in the group library are also in the group masters private library (catalog) , therefore he can modify them! the group master also has access to 2 privi leged commands. they are: protect & unprotect. with protect, the group mas ter can render a program so it cannot be listed, saved, csaved, punched to pa per tape, or xpunched. for example, if the gm typed pro-wumpus, other users in the group would be able to run wumpus but they would not be able to list it. the gm can remove these restrictions with the unprotect command. [system master] there is exactly one system master (sm) and his user id is a000. he can protect & unprotect programs in the sys tem library. all users have access to these files by typing library to view t hem. only the system master can modify these files since his private library & group library constitute the system library. the sm a6)o has access to oth er privileged commands such as: directory: this command will printout all files and programs stored on the sysBem according to users. dir will print out the entire directory. dir-s500 will s tart listing the directory with user s500. example: dir boces ed 1 053/84 1243 id name date length disc drum a000 alpha 043/84 00498 001384 bckgmn 053/84 04564 001526 fprint 053/84 00567 002077 stock 038/84 04332 002753 tfile 020/83 f 00028 002804 wumpus 053/84 p 02636 003142 b451 bljack 316/75 03088 011887 golf 316/75 02773 011911 s500 gis 050/84 c 03120 019061 giscl4 050/84 f 03741 022299 z999 hello 021/84 00058 011863 in this example, the system name is boc es ed 1. the date of the printout is the 53rd day of 1984 (053/84) and the t ime is 12:43 (24-hr). the files appearing under a000 are those in the s ystem library. the date associated with the program is the date it was last ref erenced. the length is how long it is in words. disc refers to its storage b lock location on one of the hard drives. drum refers to its location on the drum storage unit. only sanctified programs are stored on a drum to increase their access time. the letters after the date refer to f if it is a file, p means it is protected, and c means the program is compiled. in the example the system pr ogram, wumpus, was last used on the 53rd day of 1984 (2-22-84); it is currently unlistable (protected) and it occupies 2636 words of memory starting at disc b lock 3142. the command sdirectory will print out programs that are only stored on drum. most system directories are usually longer than the0example. the a bove example is an abridged version of a 43 page directory! the key wil l stop the listing if necessary. report the report command will show the user i d, how much terminal time they have used since the last billing period (in minut es), and how much disc space they are using. example: report boces ed 1 055/84 1905 id time space id time space id time space a000 01150 12625 b451 00003 05861 b864 00000 00000 s500 00235 06861 s543 00421 00000 z999 00000 00058 the advantage of hacking the a000 passw ord first is that you can use the privileged commands to see which which user id's exist and what programs are stored where so that you can further pe netrate the system. port this command tells the character size a nd baud rate at which each of the 32 ports are configured. it is in the for mat c-bbb, where c=character size & bbb=baud rate. it is set up in columns of 8. the first row corresponds to ports 0-7, the second row corresponds t o 8-15, etc. this is generally useless in my opinion. also, the ports are usu ally only configured separately if the terminals are all hard-wired. status this command allows the sm to view info rmation concerning the mass-storage devices. it gives current locations of the id table, user swap areas, line printer status, etc. it tends to hold alot of info if it is read correctly. unfortunately, i don't have the room to fully discuss it here. since all logins & logouts are printed at the system console alonNY:%Q!zQ!I5R`pertinent information, i would strongly suggest that you avoid extensive use of an a000 password if you find one. the system operator has access to alot of other commands. unfortunately, he is situated at the system console which is hard-wired to the computer. if anyone figures out a way to give a remote user sysop privileges, let me know & i can help you with his commands. non-privileged commands ----------------------- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= library - lists the system programs. t here is only 1 system library & any user can access it. example: library name length name length na me length name length alpha 498 bckgmn 4564 fpr int 567 stock 4332 tfile f 28 wumpus p 2636 this uses the same notation as the priv ileged directory command. to retrieve a program from the system l ibrary, you would type: get-$name (to load the stock pro gram, you would type get-$stock) you can then run or list it. if you at tempted to list wumpus which is protected (p), it would say run only. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= group - lists all files in your group. it is in the same format as the library command. to retrieve a program from your group l ibrary, you would type: get-*name =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= catalog - lists all files in your perso nal library. it is also in the same format as the library command to retrive a program in your personal l ibrary, you would type: get-name =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= other commands you can use with your pe rsonal files (or system files if logged on as a000) include: run runs the program in the user swap area (memory) list lists the program in th e user swap area save-name name may be upto 6 char acters csave-name save in compiled form name-name assign a name to it kill-name deletes a file from you r library punch punches a program onto paper tape tape input a paper tape append-name attaches the file name to current program in memory length tells the current lengt h of program in memory lprinter designates the line pri nter as user output device open creates a file [open-fi le,# of records, (record lengths)] renumber renumbers statements [ren-(1st statement #), (interval between statements),(# to start renumbering at), (# to end renumbering)] note: all commands can be abbreviated to the first 3 digits. the main command is separated from the first para meter by a dash (-), the first parameter is separated by the second param eter by a comma (,), and all further parameters are separated by comm as. eg, hel-a000,^c (i did actually find a system where the sm passw ord was ^c). other useful commands --------------------- bye logs user off echo-on half-duplex -off full-duplex (default) scratch clears users swap area (new) key transfers control to ke yboard time informs user of total c onnect time & ,M[9ole time message sends a message to syso p console [mes-(text upto 68 chars)] tsb 2000 -------- the programming of the system is above the scope of this tutorial. if you do manage to get into the a000 or z999 acc ounts, there is sufficient info provided in this text to help you manip ulate the data. the basic is rather extensive. the file commands are excell ent & you can mask files so that nobody can read them without the proper mask ( i have already cracked this code, though!). briefly, it is similar to mos t other basic's. if you want, order their programming manual. it is called 20854a timeshared basic/2000, level f (part # 02000-90073). note: there are different levels (vers ions) of tsb/2000. this article is based primarily on level f. mos t of the levels are similar in their commands so the differences shou ld not affect the hacker. also, some systems are customized. eg, one system i know doesn't have the message command because they don't want the operator bothered with messages. another system says ??? instead of please log in and illegal instead of illegal access. these are only trivial problems, though. programs -------- REwlett-packard often supplies programs from their tsb library for the systems. utilities such as ascii*, fprint, & oth ers are almost inevitably found on every system. standard games such as w umpus, stock, lunar, & many others are also a "system must." other companies offer very large programs for the hp2000 also. gis (guidance information systems) is a database to help guidance counselors help students to select coll eges, jobs, financial aid, etc. gis is usually found in the s5xx group library (anyone with an s5xx password can use it). unfortunately, sometimes these pr ograms are set so that a certain password will automatically run them. in some cases you can abort by pressing the key. there is a basic func tion [x=brk(0)] that disables the key. in this case, only the sy sop or the program can throw you into basic. there are many alleged bugs on the hp20 00 that allow users to do all sorts of things. if you run across any of these be sure to let me know. i have seen one system that consisted o f 2 hp2000's running together. in this case, the multiplexer would first ask t he user system 1 or system 2? before logging in. you would then type sys1 o r sys2. most of the hp2000 systems are used by schools, school districts, boces, and various businesses. this was an id eal system for schools before micro- computers existed. the hp2000 system h as been in existance since around 1973. it has been replaced by the hp3000 but there are still many hp2000 systems in existance & i believe that they will st ay there for awhile. here are the dial-ups to a few hp2000 s ystems to get you started: [314/xxx-xxxx] [203/xxx-xxxx] [312/xxx-xxxx] if you need help with anything on an hp 2000 or find other hp2000 systems, feel free to ask me. any comments, correcti ons, and/or threats are also welcome. yours truly, *****bioc *=$=*agent *****003 <=-fargo 4a-=>> (>rrecti ons, and/or threats are also welcome. Downloaded from.. The Lost City of Atlantis . _ . __ |\ _ . . .__ =| |[] |# |# ._ . ...##.=|.|[].|#:|#.|=|... - -- --- ------------ --- - - 703 - xxx - xxxx Downloaded From P-80 International Information Systems 304-744-2253 ======================================= = = = HP 2000 PART 1 (COMMANDS) = = = = CAPTURED BY = = = = BLITZIOD ?? & GALACTUS ** = = = = of = = = = THE ELITE HACKERS GUILD = = = ======================================= COMMANDS 1. APPEND 2. BYE 3. CATALOG 4. CSAVE 5. DELETE 6. DEVICE 7. ECHO 8. EXECUTE 9. FILE 10. GET 11. GROUP 12. HELLO 13. KEY 14. LENGTH 15. LIBRARY 16. LIST 17. LOAD 18. LOCK 19. MESSAGE 20. MWA 21. NAME 22. PAUSE 23. PRIVATE 24. PROTECT 25. PUNCH 26. PURGE 27. RENUMBER 28. RUN 29. SAVE 30. SCRATCH 31. SWA 32. TAPE 33. TIME 34. UNRESTRICT ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?1 APPEND GEN. FORM: APPEND-PROGRAM REFERENCE THE APPEND COMMAND RETRIEVES THE NAMED PROGRAM FROM THE APPROPRIATE LIBRARY AND APPENDS IT TO THE CURRENT CONTENTS OF YOUR WORK SPACE. THE NAME OF YOUR WORK SPACE IS UNCHANGED. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?2 BYE GEN. FORM: BYE THE BYE COMMAND IS USED TO LOG OFF THE SYSTEM. THE SYSTEM WILL RESPOND BY PRINTING THE NUMBER OF MIN. THAT YOU HAVE USED IN THE CURRENT SESSION AND WILL ALSO UPDATE THE TOTAL TIME USED BY IDCODE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?3 CATALOG, GROUP, & LIBRARY GEN. FORM: CATALOG-[LIBRARY NAME] GROUP-[LIBRARY NAME] LIBRARY-[LIBRARY NAME] THE COMMANDS ARE USED TO OBTAIN ALPHABETICAL LISTING OF PROGRAMS & FILES STORED ON THE SYSTEM. THE CATALOG COMMAND LISTS THE NAMES OF ALL PROGRAMS AND FILES STORED IN YOUR LIBRARY. THE GROUP COMMAND LISTS THE NAMES OF NON- PRIVATE PROGRAMS AND FILES STORED IN YOUR GROUP LIBRARY. THE LIBRARY COMMAND LISTS THE NAMES OF NON-PRIVATE PROGRAMS AND FILES IN THE SYSTEM LIBRARY. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?4 CREATE GEN. FORM: CREATE- FILE NAME,FILE LENGTH [,RECORD LENGTH] THE CREATE COMMAND BUILDS A BASIC FORMATTED FILE ON DISC. EXAMPLE: CRE-FILEA,4 ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?5 DELETE GEN. FORM: DELETE-BEGINNING STATEMENT NO.[,ENDING STATEMENT NO.] THE DELETE COMMAND ERASES ALL STATEMENTS IN YOUR WORK SPACE BETWEEN AND INCLUDING THE SPECIFIED STATEMENTS. EXAMPLE: DEL-27,50 DEL-27,27 ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?6 DEVICE GEN. FORM: DEVICE THE DEVICE COMMAND LISTS THE SPECIFIC DEVICE DESIGNATORS FOR THE NON-SHARABLE DEVICES THAT ARE AVAILABLE TO YOUR IDCODE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?7 ECHO GEN. FORM: ECHO-ON, ECHO-OFF THE ECHO COMMAND CAUSES THE SYSTEM TO ECHO OT NOT TO ECHO CHARACTERS RECEIVED FROM YOUR TERMINAL. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?8 EXECUTE GEN. FORM: EXECUTE-PROGRAM REFERENCE THE EXECUTE COMMAND CLEARS YOUR WORK SPACE OF ANY PRIVIOUS PROGRAM, BRINGS THE SPECIFIED PROGRAM INTO YOUR WOUK SPACE, AND BEGINS EXECUTING THE PROGRAM. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?9 FILE THIS COMMAND IS THOROUGHLY EXPLAINED IN THE FILE AREA OF THIS PROGRAM. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?10 GET GEN. FORM: GET-PROGRAM NAME THE GET COMMAND CLEARS YOUR WORK SPACE OF ANY PREVIOUS PROGRAM AND BRINGS THE SPECIFIED PROGRAM INTO YOUR WORK SPACE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?11 CATALOG, GROUP, & LIBRARY GEN. FORM: CATALOG-[LIBRARY NAME] GROUP-[LIBRARY NAME] LIBRARY-[LIBRARY NAME] THE COMMANDS ARE USED TO OBTAIN ALPHABETICAL LISTING OF PROGRAMS & FILES STORED ON THE SYSTEM. THE CATALOG COMMAND LISTS THE NAMES OF ALL PROGRAMS AND FILES STORED IN YOUR LIBRARY. THE GROUP COMMAND LISTS THE NAMES OF NON- PRIVATE PROGRAMS AND FILES STORED IN YOUR GROUP LIBRARY. THE LIBRARY COMMAND LISTS THE NAMES OF NON-PRIVATE PROGRAMS AND FILES IN THE SYSTEM LIBRARY. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?12 HELLO GEN. FORM: HELLO-IDCODE,PASSWORD[,TERMINAL TYPE] THE HELLO COMMAND IS USED TO LOG ON TO THE SYSTEM. YOUR IDCODE AND PASSWORD ARE ASSIGNED BY THE SYSTEM OPERATOR. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?13 KEY GEN. FORM: KEY THE KEY COMMAND TELLS THE SYSTEM THAT THE FOLLOWING INPUT WILL BE FROM YOUR TERMINAL KEYBOARD. IT IS USED ONLY AFTER A TAPE (PAPER TAPE INPUT) OPERATION IS COMPLETE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?4_14 LENGTH GEN. FORM: LENGTH THE LENGTH COMMAND PRINTS THE NUMBER OF WORDS IN THE PROGRAM CURRENTLY IN YOUR WORK SPACE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?15 CATALOG, GROUP, & LIBRARY GEN. FORM: CATALOG-[LIBRARY NAME] GROUP-[LIBRARY NAME] LIBRARY-[LIBRARY NAME] THE COMMANDS ARE USED TO OBTAIN ALPHABETICAL LISTING OF PROGRAMS & FILES STORED ON THE SYSTEM. THE CATALOG COMMAND LISTS THE NAMES OF ALL PROGRAMS AND FILES STORED IN YOUR LIBRARY. THE GROUP COMMAND LISTS THE NAMES OF NON- PRIVATE PROGRAMS AND FILES STORED IN YOUR GROUP LIBRARY. THE LIBRARY COMMAND LISTS THE NAMES OF NON-PRIVATE PROGRAMS AND FILES IN THE SYSTEM LIBRARY. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?16 LIST GEN. FORM: LIST LIST-P LIST-[BEGINNING STATEMENT NO.],[ENDING STATEMENT NO.][,P] THE LIST COMMAND PRODUCES A LISTING OF STATEMENTS IN YOUR WORK SPACE, IN STATEMENT NUMBER ORDER. BEGINNING AND/OR ENDING STATEMENT NUMBERS CAN BE SPECIFIED TO OBTAIN A PARTIAL LISTING. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?17 LOAD GEN. FORM: LOAD-FILE NAME THE LOAD COMMAND LOADS THE CONTENTS OF THE ASCII FILE INTO THE USER'S WORK SPACE AS A PROGRAM. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?18 LOCK GEN. FORM: LOCK-LIBRARY NAME THE LOCK COMMAND PLACES THE NAMED PROGRAM OR FILE IN THE LOCKED STATE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?19 MESSAGE GEN. FORM: MESSAGE-CHARACTER STRING THE MESSAGE COMMAND SENDS A CHARACTER STRING PRECEDED BY YOUR PORT NUMBER TO THE SYSTEM OPERATOR. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?20 MWA GEN. FORM: MWA-FILE NAME THE MWA (MULTIPLE WRITE ACCESS) COMMAND ALLOWS A FILE TO BE WRITEN ON BY MORE THAN ONE IDCODE NUMBER. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?21 NAME GEN. FORM: NAME [-PROGRAM NAME] THE NAME COMMAND ASSIGNS A NAME TO THE PROGRAM CURRENTLY IN YOUR WORK SPACE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?22 PAUSE GEN. FORM: PAUSE-TIME LIMIT THE PAUSE COMMAND CAUSES AN EXECUTING PROGRAM TO PAUSE FOR THE NUMBER OF SECONDS SPECIFIED IN TIME LIMIT. PAUSE ONLY HAS EFFECT IF EXECUTED THROUGH THE SYSTEM STATEMENT. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?23 PRIVATE GEN. FORM: PRIVATE-LIBRARY NAME THE PRIVATE COMMAND PLACES THE NAMED PROGRAM OR FILE IN THE THE PRIVATE STATE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?24 PROTECT GEN. FORM: PROTECT-LIBRARY NAME THE PROTECT CMMAND PLACES THE NAMED PROGRAM OR FILE IN THE PROTECTED STATE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?25 PUNCH GEN. FORM: PUNCH[-P] PUNCH-[BEGINING STATEMENT #][, ENDING STATEMENT #][-P] THE PUNCH COMMAND PUNCHES THE CURRENT PROGRAM ONTO PAPER TAPE IF YOUR TERMINAL HAS A PAPER TAPE PUNCH. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?26 PURGE GEN. FORM: PURGE-LIBRARY NAME THE PURGE COMMAND DELETES THE SPECIFIED PROGRAM OR FILE FROM YOUR LIBRARY. IT WILL NOT AFFECT WORK SPACE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?27 RENUMBER GEN. FORM: RENUMBER REN-STATEMENT # REN-STMT #, INTERVAL REN-STMT #, INTERVAL, BEGINNING STMT # REN-STMT #, INTERVAL, BEGINNING STMT #, ENDING STMT # THE RENUMBERMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?28 RUN GEN. FORM: RUN RUN-STATEMENT # THE RUN COMMAND STARTS EXECUTION OF THE CURRENT PROGRAM IN YOUR WORK SPACE. A PROGRAM MAY ALSO BE RUN FROM A SPECIFIED LINE # ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?29 SAVE AND CSAVE GEN. FORM: SAVE OR CSAVE THE SAVE AND THE CSAVE COMMANDS BOTH SAVE COPIES OF THE PROGRAM CURRENTLY IN YOUR WORK SPACE IN YOUR LIBRARY. THE CSAVE COMMAND WILL BEGIN EXECUTION SLIGHTLY FASTER THEN A SAVED PROGRAM. THIS IS ESPECIALLY IMPORTANT WITH LARGE PROGRAMS THAT DO A LOT OF CHAINING. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?30 SCRATCH GEN. FORM: SCRATCH THE SCRATCH COMMAND DELETES THE ENTIRE CURRENT PROGRAM INCLUDING THE PROGRAM NAME FROM YOUR WORK SPACE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?31 SWA GEN. FORM: SWA-FILENAME THE SWA (SINGLE WRITE ACCESS) COMMAND REMOVES THE NAMED FILE FROM THE MWA (MULTIPLE WRITE ACCESS) STATE. THE FILE MAY NOW ONLY BE WRITTEN TO BY THE FIRST USER TO ACCESS IT WHILE THAT USER HAS THE FILE OPENED. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?32 TAPE GEN. FORM: TAPE THE TAPE COMMAND TELLS THE SYSTEM THAT THE FOLLOWING INPUT (A GROUP OF BASIC STATEMENTS) IS FROM THE TERMINAL'S PAPER TAPE READER. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?33 TIME GEN. FORM: TIME THE TIME COMMAND GIVES YOU THE AMOUNT OF TIME YOU HAVE USED OUT OF YOUR ALLOTTED TIME AND THE LENGTH OF TIME YOU HAVE BEEN ON. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ?34 UNRESTRICT GEN. FORM: UNRESTRICT-LIBRARY NAME THE UNRESRICT COMMAND PLACES THE NAMED PROGRAM OR FILE IN THE UNRESTRICTED STATE. ENTER THE NUMBER OF THE COMMAND YOU WANT TO KNOW MORE ABOUT. TO STOP ENTER A 0 ? ======================================= = END OF PHILE = ======================================= Downloaded from P-80 Systems...... ======================================= = = = HP 2000 PART 2 (STATEMENTS) = = = = CAPTURED BY = = = = BLITZIOD ?? & GALACTUS ** = = = = of = = = = THE ELITE HACKERS GUILD = = = ======================================= STATEMENTS ********** 1. ADVANCE 2. ASSIGN 3. CHAIN 4. COM 5. CONVERT 6. CREATE 7. DATA 8. DEF 9. DIM 10. END 11. ENTER 12. FILES 13. FOR & NEXT 14. GOSUB & RETURN 15. GOTO 16. IF...THEN 17. IF END 18. IF ERROR 19. IMAGE 20. INPUT 21. LET 22. LINPUT 23. LINPUT# 24. LOCK 25. NEXT 26. PURGE 27. READ 28. READ# 29. REM 30. RESTORE 31. STOP 32. SYSTEM 33. UNLOCK 34. UPDATE ENTER YOUR CHOICE (ENTER 0 TO STOP)?1 ADVANCE GEN FORM: ADVANCE #FILE NUMBER;SKIP COUNT,RETURN VARIABLE THE ADVANCE STATEMENT CAUSES THE SPECIFIED FILE (SIGNIFIED BY THE FILE NUMBER) POINTER TO BE MOVED PAST THE NUMBER OF ITEMS SPECIFIED IN THE SKIP COUNT. THE SKIP COUNT IS LIMITED TO 32767 AND MUST BE A POSITIVE INTEGER. IF THE 'ADVANCE STATEMENT IS EXECUTED SUCCESSFULLY THE RETURN VARIABLE IS SET TO '0'. IF AN END-OF-FILE MARKER IS ENCOUNTERED BEFORE THE SPECIFIED NUMBER OF ITEMS HAVE BEEN SKIPPED THE RETURN VARIABLE WILL BE SET TO THE NUMBER OF ITEMS YET TO BE SKIPPED. THE ADVANCE STATEMENT CANNOT BE USED WITH ASCII FILES. ENTER YOUR CHOICE (ENTER 0 TO STOP)?2 ASSIGN GEN FORM: ASSIGN FILE DESIGNATOR,FILE NO.,RETURN VAR.,[MASK],[RESTRICTION] OR ASSIGN *,FILE NUMBER,[RETURN VARIABLE] THE ASSIGN STATEMENT IS USED TO ASSIGN A FILE TO A FILE NUMBER RESERVED IN THE FILES STATEMENT (eg. 100 FILES *,*,*) AND TO OPEN THE FILE. THE FILE DESIGNATOR CAN BE A STRING OR CAN BE ENCLOSED IN QUOTES BUT IT MUST BE A VALID FILE NAME. IF AN ASTERISK (*) IS USED IN PLACE OF THE FILE DESIGNATOR THE FILE PREVIOSLY ASSIGNED TO THAT FILE NUMBER IS CLOSED. THE OPTIONAL MASK IS A STRING USED TO SCRAMBLE BASIC FORMATTED FILES AS TO MAKE THEM 'GREEK' TO USERS NOT ACCESSING THE FILE WITH THE SPECIFIED MASK. THE SAME MASK MUST BE USED WHEN READING FROM THE FILE AS WAS USED WHEN IT WAS PRINTED ON THE FILE. THE OPTIONAL RESTRICTION IS A TWO-LETTER CODE USED TO SPECIFY ACCESSABILITY RESTRICTIONS ON THE FILE. RESTRICTION CODES ARE AS FOLLOWS: RR NO SUBSEQUENT USER CAN ACCESS THE FILE WHILE THE FILE IS OPEN WR SUBSEQUENT USERS CAN READ FROM BUT CANNOT WRITE TO WHILE THE FILE IS OPEN NR SUBSEQUENT USERS CAN READ & WRITE WHILE THE FILE IS OPEN (NOTE: THE FILE MUST HAVE MUTIPLE WRITE ACCESS FOR THIS RESTRICTION). RETURN VARIABLES: 0 FILE AVAILABLE FOR READ AND WRITE 1 AVAILABLE FOR READ ONLY 2 READ ONLY 3 FILE DOES NOT EXIST OR IS NOT ACCESSABLE 4 FILE NUMBER OUT OF RANGE 5 NO BUFFER SPACE AVAILABLE FOR FILE 6 FILE IS UNAVAILABLE FOR READ OR WRITE 7 SPECIFED RESTRICTIONS IMPOSSIBLE 8 FILE IS AVAILABLE FOR WRITE ONLY ENTER YOUR CHOICE (ENTER 0 TO STOP)?3 CHAIN GEN FORM: CHAIN [RETURN VAR.,]PROGRAM DESIGNATOR,[NUMERIC EXPRESSION] THE CHAIN STATEMENT CAUSES THE CURRENT RUNNING PROGRAM TO TERMINATE AND BEGIN EXECUTION OF THE PROGRAM SPECIFIED BY THE PROGRAM DESIGNATOR. THE PROGRAM DESIGNATOR MAY BE ENCLOSED IN QUOTES OR MAY BE A STRING. THE NUMERIC EXPRESSION CAN BE USED TO DEFINE A LINE NUMBER IN THE PROGRAM TO BE CHAINED TO. IF SUCH AN EXPRESSION IS DEFINED PROGRAM EXECUTION WILL BEGIN AT THE SPECIFIED LINE NUMBER. RETURN VARIABLES: 0 SUCCESSFUL 1 BAD STATEMENT NUMBER SPECIFIED 2 NO ACCESS PERMITTED TO NAMED PROGRAM 3 CHAIN NOT PERMITTED ENTER YOUR CHOICE (ENTER 0 TO STOP)?4 COM GEN. FORM: COM COMMON LIST THE COMMON STATEMENT IS USED TO LIST THE VARIABLES THAT ARE COMMON BETWEEN TWO CHAINED PROGRAMS. ALL COMMON STRINGS AND STATEMENTS MUST ALSO BE DIMINSIONED HERE. ENTER YOUR CHOICE (ENTER 0 TO STOP)?5 CONVERT GEN. FORM: CONVERT NUMERIC EXPRESSION TO DESTINATION STRING OR CONVERT SOURCE STRING TO NUMERIC VARIABLE [,STMT #] THE CONVERT STATEMENT IS USED TO CONVERT A STRING TO A VARIABLE OR A VARIABLE TO A STRING. ENTER YOUR CHOICE (ENTER 0 TO STOP)?6 CREATE GEN. FORM: CREATE RETURN VAR., FILE DESIGNATOR, FILE LENGTH [,RECORD SIZE] THE CREATE STATEMENT CREATES A BASIC FORMATTED FILE OF THE DESIGNATED LENGTH. THE RETURN VARIABLES ARE AS FOLLOWS: RETURN VALUE MEANING 0 THE FILE WAS CREATED SUCCESSFULLY 1 A FILE ALREADY EXISTS WITH THE SAME NAME 2 INVALID FILE NAME, ACCESS, FILE LENGTH OR RECORD SIZE 3 NO SPACE IN THE ACCOUNT 4 NO SPACE IN THE SYSTEM ENTER YOUR CHOICE (ENTER 0 TO STOP)?7 DATA GEN. FORM: DATA CONSTANT LIST THE DATA STATEMENT IS WHERE THE DATA IS STORED FOR THE READ STATEMENT. IT IS ENTERED IN SEQUENCE WITH EACH ITEM SEPARATED BY COMMAS. ANY STRING DATA MUST BE ENCLOSED IN QUOTES. ENTER YOUR CHOICE (ENTER 0 TO STOP)?8 DEF GEN. FORM: DEF FUNCTION NAME(PARAMETER)=NUMERIC EXPRESSION THE 'DEF' STATEMENT IS USED TO DEFINE A FUNCTION SUCH AS: A**2/(SQR(X)). HERE IS AN EXAMPLE OF A USER DEFINED FUNCTION: 10 DEF FNA(X) = A**2/(SQR(X)) ALL FUNCTION NAMES MUST BEGIN WITH 'FN' AND HAVE A THIRD CHARACTER BETWEEN 'A' AND 'Z'. THE 'X' IN PARENTHASIS IS A DUMMY VARIABLE. ITS PURPOSE IS TO SHOW WHAT ARGUMENT WILL BE USED WHEN THE FUNCTION IS SUMMONED. ENTER YOUR CHOICE (ENTER 0 TO STOP)?9 DIM GEN. FORM: DIM DIMENSION LIST THE DIM STATEMENT IS USED TO SET THE AMOUNT OF SPACE ALLOTED IN THE PROGRAM FOR A STRING OR AN ARRAY. EXAMPLE: 20 DIM A(5),B(50),C$(100),D(7,10) ENTER YOUR CHOICE (ENTER 0 TO STOP)?10 END GEN. FORM: END THE END STATEMENT TERMINATES THE RUNNING OR EXECUTING OF A PROGRAM. IT MAY OCCUR ANY WHERE IN THE PROGRAM BUT THE END STATEMENT MUST ALWAYS OCCUR AT THE END OF A PROGRAM. ENTER YOUR CHOICE (ENTER 0 TO STOP)?11 ENTER GEN. FORM: ENTER #NUMERIC VARIABLE OR ENTER [# VARIABLE,] TIME ALLOWED, RETURN VAR., READ VAR,. ENTER YOUR CHOICE (ENTER 0 TO STOP)?12 FILES GEN. FORM: FILES FILES LIST THE FILES STATEMENT IS USED AT THE BEGINNING OF A PROGRAM TO OPEN THE FILES FOR USE IN THE PROGRAM. AN '*' MAY BE USED TO HOLD THE PLACE OF A FILE TO BE DESIGNATED LATER. ENTER YOUR CHOICE (ENTER 0 TO STOP)?13 FOR & NEXT GEN. FORM: FOR FOR VAR.=INITIAL VALUE TO FINAL VALUE [STEP SIZE] NEXT FOR VARIABLE THE FOR NEXT LOOP ALLOWES YOU TO GO THROUGH A SET STATEMENT A SPECIFIED NO. OF TIMES. FOR EXAMPLE IF YOUR LOOP WAS: 100 FOR P=1 TO 5 . . 150 NEXT P ENTER YOUR CHOICE (ENTER 0 TO STOP)?14 GOSUB & RETURN GEN. FORM: GOSUB STATEMENT NO. OR GOSUB NUMERIC EXP. OF STATEMENT NO. LIST RETURN THE GOSUB STATEMENT IS A WAY OF DROPPING TO ANOTHER PART OF THE PROGRAM BUT STILL KEEPING YOUR PLACE WHERE YOU ARE SO YOU CAN RETURN AND CONTINUE ON WITH THE PROGRAM. IF GOSUBS ARE NESTED MORE THAN 20 DEEP THEN THE PROGRAM WILL TERMINATE WITH AN ERROR STATEMENT. ENTER YOUR CHOICE (ENTER 0 TO STOP)?15 GOTO GEN. FORM: GOTO STATEMENT NO. OR GOTO NUMERIC EXPRESSION OF STATEMENT # LIST THE GOTO STATEMENT OVERRIDES THE NORMAL ORDER THAT STATEMENTS ARE CARRIED OUT. IT TELLS THE PROGRAM TO SKIP TO THE SPECIFIED LINE NUMBER AND CONTINUE EXECUTION OF THE PROGRAM FROM THERE. GREAT CARE SHOULD BE TAKEN WHEN A GOTO STATEMENT ENTERS A FOR... NEXT LOOP. ENTER YOUR CHOICE (ENTER 0 TO STOP)?16 IF...THEN GEN. FORM: IF NUMERIC RELATION THEN STATEMENT NO. OR IF STRING RELATION THEN STATEMENT NO. THE IF...THEN STATEMENT TELLS THE PROGRAM IF THE SPECIFED RELATION IS TRUE THEN GO TO THE SPECIFIED LINE NO. IF THE RELATION IS NOT TRUE THEN IT DROPS ON THROUGH AND CONTINUES EXECUTION AS NORMAL. ENTER YOUR CHOICE (ENTER 0 TO STOP)?17 IF END GEN. FORM: IF END #FILE NO. THEN STATEMENT NO. THIS STATEMENT TELLS THE COMPUTER THAT IF THE FILE POINTER IS AT THE END OF FILE MARK THEN TO GO ON TO THE SPECIFIED LINE NUMBER. ENTER YOUR CHOICE (ENTER 0 TO STOP)?18 IF ERROR GEN. FORM: IF ERROR THEN STATEMENT NO. THE IF ERROR STATEMENT IS USUALLY USED IN COORDINATION WITH THE SYS STATEMENT. IT IS USED TO DETERMINE WHAT ERROR IS OCCURING IN THE RUNNING OF THE PROGRAM. ENTER YOUR CHOICE (ENTER 0 TO S INPUT GEN. FORM: INPUT READ VARIABLE LIST THE INPUT STATEMENT IS USED TO ENTER DATA THROUGH THE KEYBOARD. A '?' IS PRINTED TO INDICATE YOU NEED TO ENTER DATA. BOTH NUMERIC AND STRING DATA MAY BE ENTERED. ENTER YOUR CHOICE (ENTER 0 TO STOP)?20 INPUT GEN. FORM: INPUT READ VARIABLE LIST THE INPUT STATEMENT IS USED TO ENTER DATA THROUGH THE KEYBOARD. A '?' IS PRINTED TO INDICATE YOU NEED TO ENTER DATA. BOTH NUMERIC AND STRING DATA MAY BE ENTERED. ENTER YOUR CHOICE (ENTER 0 TO STOP)?21 LET GEN. FORM: [LET] REPLACEMENT LIST=NUMERIC EXPRESSION OR [LET] DESTINATION STRING=STRING EXPRESSION THE LET STATEMENT IS USED TO SET A VARIABLE OR A STRING EQUAL TO A NUMBER OR AN EXPRESSION. THIS IS AN EXAMPLE: 10 LET B=73 THE 'LET' IS NOT NECESSARY SO YOU COULD SAY '100 B=73'. ENTER YOUR CHOICE (ENTER 0 TO STOP)?22 LINPUT GEN. FORM: LINPUT DESTINATION STRING THE LINPUT STATEMENT ALLOWS THE USER TO ENTER AN ENTIRE LINE OF STRING DATA. THIS INCLUDES COMMAS,QUOTE MARKS, AND LEADING AND TRAILING BLANKS. ENTER YOUR CHOICE (ENTER 0 TO STOP)?23 LINPUT# GEN. FORM: LINPUT #FILE NUMBER;DESTINATION STRING THIS STATEMENT READS THE NEXT AVALIABLE RECORD INTO A DESTINATION STRING. AN ASCII FILE MUST BE USED. ENTER YOUR CHOICE (ENTER 0 TO STOP)?24 LOCK GEN. FORM: LOCK #FILE NUMBER [,RETURN VARIABLE] THE LOCK STATEMENT IS USED TO GIVE YOU EXCLUSIVE ACCESS TO YOUR FILES. THE RETURN VARIABLES ARE AS FOLLOWS: RETURN VALUE MEANING 0 FILE LOCKED SUCCESSFULLY 1 FILE ALREADY LOCKED 2 INVALID FILE NUMBER ENTER YOUR CHOICE (ENTER 0 TO STOP)?25 NEXT REFER TO FOR & NEXT ENTER YOUR CHOICE (ENTER 0 TO STOP)?26 PURGE GEN. FORM: PURGE RETURN VARIABLE,FILE DESIGNATOR THE PURGE STATEMENT IS USED TO DELETE A FILE FROM THE SYSTEM IT CAN ONLY BE USED AFTER A FILE IS CLOSED. RETURN VARIABLE MEANING 0 FILE SUCCESSFULLY PURGED 1 FILE IS BUSY CANNOT BE PURGED 2 FILE NOT ACCESSIBLE 3 NO SUCH FILE ENTER YOUR CHOICE (ENTER 0 TO STOP)?27 READ GEN. FORM: READ READ VARIABLE LIST THE READ STATEMENT READS STRING AND NUMERIC VALUES FROM THE DATA STATEMENT. ENTER YOUR CHOICE (ENTER 0 TO STOP)?28 READ# GEN. FORM: READ #FILE NO. [,RECORD NO.] [;READ VARIABLE LIST] THE READ# STATEMENT READS FROM A FILE LISTED IN THE FILES STATEMENT. THE FILE NO. DETERMINES WHICH FILE WILL BE READ FROM AND THE READ VARIABLE DETERMINES WHAT TYPE OF DATA CAN BE READ. STRING DATA CAN'T BE READ WITH A NUMERIC VARIABLE. ENTER YOUR CHOICE (ENTER 0 TO STOP)?29 REM GEN. FORM: REM [REMARK] THE REMARK STATEMENT IS USED TO ADD REMARKS IN YOUR PROGRAM. THESE REMARKS ARE NOT PRINTED OR CARRIED OUT DURING THE RUNNING OF YOUR PROGRAM. ENTER YOUR CHOICE (ENTER 0 TO STOP)?30 RESTORE GEN. FORM: RESTORE [STATEMENT NUMBER] THE RESTORE STATEMENT MOVES THE POINTER BACK TO THE FIRST ITEM IN THE DATA. ENTER YOUR CHOICE (ENTER 0 TO STOP)?31 STOP GEN. FORM: STOP THE STOP STATEMENT ENDS EXECUTION OF THE PROGRAM. IT MAY BE INSERTED ANY WHERE IN THE PROGRAM. ENTER YOUR CHOICE (ENTER 0 TO STOP)?32 SYSTEM GEN. FORM: SYSTEM RETURN VARIABLE, SOURCE STRING OR SYSTEM DESTINATION STRING , SOURCE STRING THE STSTEM STATEMENT LETS YOU EXECUTE THE SYSTEM COMMANDS DURING THE RUNNING OF THE PROGRAM. THE COMMANDS THAT MAY BE USED ARE: BYE, ECHO, MESSAGE, FILE, PROTECT, LOCK, PRIVATE, UNRESTRICT, MWA, SWA, & PAUSE. ENTER YOUR CHOICE (ENTER 0 TO STOP)?33 UNLOCK GEN. FORM: UNLOCK #FILE NUMBER [,RETURN VARIABLE] THE UNLOCK STATEMENT ALLOWS THE FILE TO BE RELEASED TO ALLOW OTHERS TO REFERENCE THE FILE. RETURN VALUE MEANING 0 FILE SUCCESSFULLY UNLOCKED 1 FILE ALREADY UNLOCKED 2 FILE NUMBER INVALID ENTER YOUR CHOICE (ENTER 0 TO STOP)?34 UPDATE GEN. FORM: UPDATE #FILE NUMBER ; NUMERIC EXPRESSION OR UPDATE #FILE NUMBER ; SOURCE STRING THE UPDATE STATEMENT REPLACES THE NEXT SEQUENTIAL ITEM IN THE FILE. THE DATA MUST BE OF THE SAME TYPE WHEN UPDATING AN ITEM A ASCII FILE CAN NOT BE UPDATED. IF THE NEW STRING IS LONGER THAN THE OLD STRING THEN THE NEW STRING WILL BE CUT OFF AT THE LENGTH OF THE OLD STRING. BE VERY CAREFUL WHEN FIRST USING THIS STATEMENT BECAUSE YOU CAN EASILY RUIN A FILE. ======================================= = END OF PHILE = ======================================= Downloaded from P-80 Systems...... ======================================= = = = HP 2000 PART 3 (FUNCTIONS) = = = = CAPTURED BY = = = = BLITZIOD ?? & GALACTUS ** = = = = of = = = = THE ELITE HACKERS GUILD = = = ======================================= FUNCTIONS ********* 1. ABS 2. ATN 3. BRK 4. CHR$ 5. CON 6. COS 7. CTL 8. EXP 9. IDN 10. INT 11. INV 12. ITM 13. LEN 14. LIN 15. LOG 16. NUM 17. POS 18. REC 19. RND 20. SGN 21. SIN 22. SPA 23. SQR 24. SYS 25. TAB 26. TAN 27. TIM 28. TRN 29. TYP 30. UPS$ 31. ZER ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?1 ABS GEN. FORM: ABS(NUMERIC EXPRESSION) THE ABSOLUTE VALUE FUNCTION TAKES THE ABSOLUTE VALUE OF A NUMERIC EXPRESION ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?2 ATN GEN. FORM: ATN(NUMERIC EXPRESSION) THE ATN FUNCTION GIVES THE ARCTANGENT OF THE NUMERIC EXPRESSION. EXAMPLE: 100 A=ATN(B) ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?3 BRK GEN. FORM: BRK(NUMERIC EXPRESSION) THE BREAK FUNCTION DISABLES OR ENABLES THE BREAK KEY ABILITY OF THEIR TERMINAL. * A VALUE <0 RETURNES THE STATUS OF THE BREAK KEY * A VALUE =0 DISABLES THE BREAK CAPABILITY. * A VALUE >0 ENABLES THE BREAK CAPABILITY. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?4 CHR$ GEN. FORM: CHR$(NUMERIC EXPRESSION) THE CHR$ FUNCTION RETURNES THE NUMERIC VALUE FOR THE GIVEN STRING ACCORDING TO ITS NUMERIC VALUE. THE VALUES RANGE FROM 1 TO 127. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?5 CON REFER TO MAT...CON ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?6 COS GEN. FORM: COS(NUMERIC EXPRESSION) THE COS FUNCTION GIVES YOU THE COSIN OF THE GIVEN NUMERIC EXPRESION. THE NUMERIC EXPRESSION IS INTERPRETE AS BEING IN RADIONS. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?7 CTL GEN. FORM: CTL(NUMERIC EXPRESSION) THE CTL FUNCTION IS USED WITH ASCII FILE DEVICES AS A MEANS OF CONTROLING OUTPUT. REFER TO USER MANUAL FOR FURTHER EXPLANATION. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?8 EXP GEN. FORM: EXP(NUMERIC EXPRESSION) THE EXP FUNCTION RETURNES THE EXPOTENTIAL VALUE OF THE GIVEN NUMERIC EXPRESSION. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?9 IDN REFER TO MAT ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?10 INT GEN. FORM: INT(NUMERIC EXPRESSION) THE INT FUNCTION RETURNES THE THE GREATEST INTEGER < OR = THE NUMERIC EXPRESSION. INV REFER TO MAT...INV ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?11 INV REFER TO MAT...INV ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?12 ITM GEN. FORM: ITM(NUMERIC EXPRESSION) WHEN THE ITM FUNCTION IS USED IN A PROGRAM THE NUMBER RETURNED IS THE POSITION OF THE POINTER IN THE DATA THAT YOU ARE READING FROM. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?13 LEN GEN. FORM: LEN(SOURCE STRING) THE LEN FUNCTION GIVES YOU THE TOTAL # OF CHARACTERS IN YOUR STRING. THIS FUNCTION ONLY COUNTS SPACES IN THE MIDDLE OF YOUR STRING. ANY SPACES AT THE END OF THE STRING ARE NOT COUNTED. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?14 LIN GEN. FORM: LIN(NUMERIC EXPRESSION) THIS FUNCTION IS USED IN THE MIDDLE OF A PRINTING STATEMENT. THE NUMBER USED DETERMINES IF BOTH CARRAGE RETURN AND LINE FEED ARE CARRIED OUT. IF A NEGATIVE NUMBER IS USED THE CARRAGE RETURN IS SUPPRESSED BUT LINE FEED IS CONTINUED. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?15 LOG GEN. FORM: LOG(NUMERIC EXPRESSION) THE NATURAL LOGARITHM OF THE NUMERIC EXPRESSION IS EXPRESSED TO THE BASE 'E' WHEN THE LOG FUNCTION IS USED. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?16 NUM GEN. FORM: NUM(SOURCE STRING) THIS FUNCTION RETURNS THE NUMERIC VALUE OF THE GIVEN SOURCE STRING. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?17 POS GEN. FORM: POS(SOURCE STRING 1, SOURCE STRING 2) THE POS FUNCTION RETURNES THE VALUE OF THE FIRST INTERSECTING POSITION IN REFERENCE TO THE SECOND STRING OVERLAPPING THE FIRST STRING. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?18 REC GEN. FORM: REC(NUMERIC EXPRESSION) THE REC FUNCTION SHOWES WHICH RECORD YOU ARE PRESENTLY USING. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?19 RND GEN. FORM: RND(NUMERIC EXPRESSION) THE RANDOM NUMBER FUNCTION RETURNES A NUMBER BETWEEN 0 AND 1. THIS IS KNOWN AS A PSEUDO RANDOM NUMBER. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?20 SGN GEN. FORM: SGN(NUMERIC EXPRESSION) THIS FUNCTION WILL RETURN THE SIGN OF THE GIVEN NUMERIC STATEMENT. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?21 SIN GEN. FORM: SIN(NUMERIC EXPRESSION) THE SINE OF THE NUMERIC STATEMENT IS RETURNED. THE GIVEN NUMERIC EXPRESSION IS ASSUMED TO BE IN RADIONS. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?22 SPA GEN. FORM: SPA(NUMERIC EXPRESSION) THE SPACE FUNCTION CAUSES THE NUMBER OF SPECIFIED SPACES TO BE PRINTED BETWEEN STRINGS. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?23 SQR GEN. FORM: SQR(NUMERIC EXPRESSION) THE SQUARE ROOT OF THE GIVEN NUMERIC EXPRESSION IS RETURNED. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?24 SYS GEN. FORM: SYS(NUMERIC EXPRESSION) THE SYS FUNCTION IS USED TO HELP FIND ERRORS IN YOUR PROGRAM. IT CAN ALSO BE USED TO SEE IF THE BREAK KEY WAS DEPRESSED DURING THE RUNNING OF THE PROGRAM. SYS(0) THE VALUE RETURNED IS AN ERROR #. SYS(1) VALUE RETURNED IS THE LINE # OF THE ERROR. SYS(2) THE VALUE RETURNED IS THE # OF THE FILE THAT WAS LAST USED. SYS(3) IF THE VALUE RETURNED IS 1 THEN THE BREAK KEY WAS DEPRESSED DURING THE RUNNING OF THE PROGRAM. IF A 0 IS RETURNED THEN THE BREAK KEY WAS NOT DEPRESSED. SYS(4) THE VALUE RETURNED INDICATES THE TERMINAL TYPE. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?25 TERMINAL TYPE. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?25 TERMINAL TYPE. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?26 TAN GEN. FORM: TAN(NUMERIC EXPRESSION) THE TANGENT OF A NUMBER IS RETURNED WHEN USING THE TAN FUNCTION. YOUR NUMERIC EXPRESSION IS INTERPRETED AS BEING IN RADIANS. ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?27 TIM GEN. FORM: TIM(NUMERIC EXPRESSION) BY USING THIS FUNCTION YOU CAN GET THE CURRENT YEAR, DAY, HOUR, MINUTE, OR SECOND. TIM(0) CURRENT MINUTE (0-59) TIM(1) CURRENT HOUR (0-23) TIM(2) CURRENT DAY (1-366) TIM(3) CURRENT YEAR (0-99) TIM(4) CURRENT SECOND(0-59) ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?28 TRN REFER TO MAT...TRN ENTER THE NUMBER OF YOUR CHOICE (ENTER 0 TO STOP)?29 TYP GEN. FORM: TYP(NUMERIC EXPRESSION) THE TYP FUNCTION TELLS YOU WHAT THE DATA TYPE IS OF THE NEXT SEQUENTIAL ITEM IN A DATA STATEMENT OR FILE. RETURN EXP. <0 EXP. >0 EXP. =0 VALUE (FILE TEST) (FILE TEST) (DATA STMT TEST) ------------------------------------------------------------------------------ 1 NUMBER NUMBER NUMBER 2 STRING STRING STRING S Downloaded from P-80 Systems..... ======================================= = = = HP 2000 PART 4 (FILES) = = = = CAPTURED BY = = = = BLITZIOD ?? & GALACTUS ** = = = = of = = = = THE ELITE HACKERS GUILD = = = ======================================= * FILES * BASIC FORMATTED FILES ARE ESSENTIALLY THE SAME AS DATA STATEMENTS, THEY BOTH HAVE POINTERS THAT MOVE ALONG THE DATA HERE IS AN EXAMPLE OF A PROGRAM USING THE DATA STATEMENT : 10 READ X 20 PRINT X 30 DATA 1,2,3,4,5,6,7,8,9,10 40 GOTO 10 50 END WHEN THIS PROGRAM IS RUN THE DATA IS READ IN LINE 10 FROM THE DATA STATEMENT IN LINE 30. AFTER THE '1' IS READ FROM THE DATA STATEMENT THE POINTER IS MOVED TO THE '2' AND SO ON. WHEN THE FINAL PIECE OF DATA IS READ AND THE POINTER IS MOVED BEYOND THE '10' THEN YOU WILL GET THE ERROR MESSAGE: OUT OF DATA IN LINE 10 THIS IS ESSENTIALLY THE WAY FILES WORK. BUT FILES HAVE MANY MORE CAPABILITIES THAN DO DATA STATEMENTS LET'S LEARN HOW TO CREATE A FILE, OK? TO CREATE A FILE ALL ONE MUST DO IS TYPE IN CRE- THEN THE NAME OF THE FILE, AND HOW LONG IT MUST BE. FOR EXAMPLE IF I WANTED TO CREATE A FILE NAMED 'DAVID' THAT IS 5 RECORDS LONG I WOULD TYPE IN CRE-DAVID,5 THEN HIT 'RETURN' WHENEVER YOU CREATE A FILE THE COMPUTER RESERVES THE NUMBER OF RECORDS YOU CREATED IT ON THE DISC. SO IF YOU CREATE A FILE THAT IS 50 RECORDS LONG, YOU HAVE USED 50 RECORDS OF DISC SPACE, WHETHER YOU USE THE WHOLE FILE OR NOT. NOW I WILL SHOW YOU A PROGRAM THAT WILL PRINT ON YOUR FILE. 5 DIM A$(20), B$(20) 10 FILES FIL1 20 PRINT 'NAME'; 30 INPUT A$ 40 IF END#1 THEN 85 50 READ#1,1 60 READ#1;B$ 70 GOTO 60 85 IF END#1 THEN 110 90 PRINT#1;A$,END 100 STOP 110 PRINT'FILE FULL' 120 END BY THIS TIME YOU ARE WONDERING WHAT THAT MESS IS, RIGHT ? HERE IS AN EXPLANATION STATEMENT # MEANING 10 OPENS THE FILE THAT IS TO BE USED, IN THIS CASE THE NAME OF THE FILE IS 'FIL1'. THIS STATEMENT IS TELLING THE COMPUTER WHAT FILE WE WANT TO USE FOR THIS PROGRAM FIL1 IS REFERRED TO AS #1 AS SEEN IN LINES 40,50 & 60 IF MORE THAN ONE FILE WAS USED LINE 10 WOULD LOOK LIKE THIS FILES FIL1,FIL2. THEN FIL2 WOULD BE REFERRED TO AS #2. UP TO 16 FILES CAN BE USED IN ONE PROGRAM 30 INPUT NEW NAME TO BE PRINTED ON FILE. 40 THIS STATEMENT 'IF END' SETS UP THE IF END CONDITION. THIS MEANS THAT WHEN THE FILE PIONTER GETS TO THE END OF DATA IN THAT FILE THEN GOTO 85 50 THIS MEANS TO READ THE FIRST RECORD AND THE FIRST ITEM OF THE FILE, IN OTHER WORDS THIS THIS SETS THE FILE POINTER BACK TO THE BEGINNING OF THE DATA. BY USING THIS STATEMENT YOU CAN BE ASSURED OF STARTING AT THE BEGINNING OF THE DATA IN THAT FILE 60 READS DATA FROM FILE#1, SOMEWHAT LIKE THE 'READ' USED WITH DATA STATEMENTS. 85 SETS UP ANOTHER IF END CONDITION TO CHECK FOR THE END OF FILE. IF ANOTHER EOF MARKER IS ECOUNTERED THEN GOTO LINE 110. END-OF-FILE MARKERS ARE DEFINED MORE PRECISELY LATER. 90 THIS STATEMENT PRINTS THE NEW NAME (A$) ON THE FILE, THEN PRINTS AN END OF FILE MARKER ON THE FILE. THE END OF FILE MARKER ENABLES THE COMPUTER TO TELL THROUGH THE READ STATEMENT (LINE 60) WHEN THE END OF DATA IS REACHED HERE IS A FLOW CHART OF THAT PROGRAM: 1. INPUT NEW NAME -----------2. READ DATA FROM FILE 3. IF END OF FILE #1 THEN 4 -----GO BACK TO 2. ! 4. IF END#1 THEN 7 ! 5. TRY TO PRINT NEW NAME ON FILE, IF SUCCESSFUL (MEANING FILE IS NOT FULL) THEN 6. IF UNSECCESSFUL (MEANING FILE IS FULL) THEN 7. ! ! ! ! 7. PRINT'FILE FULL' 6. STOP ! 8. END OK, LET'S MOVE ON TO GET A LISTING OF YOUR FILE 05 DIM A$(20) 10 FILES FIL1 20 IF END#1 THEN 70 30 READ#1,1 40 READ#1;A$ 50 PRINT A$ 60 GOTO 40 70 END THIS IS A RATHER SIMPLE PROGRAM, IT GOES LIKE THIS; YOU SET UP THE IF END CONDITION, THEN READ STARTING AT THE BEGINNING OF THE FILE. READ THROUGH THE FILE AND PRINT EACH SEPARATE PIECE OF DATA (LINES 40 & 50). WHEN ALL THE DATA HAS BEEN READ THROUGH, IT FALLS THROUGH TO LINE 70, BY THE CONDITION SET UP IN LINE #20 AND AT THIS POINT EXECUTION IS TERMINATED. * END OF FILE DISCUSSION * HERE IS SOME ELLABORATION ON WHAT YOU HAVE LEARNED SO FAR ABOUT BASIC FORMATTED FILES. THE EOF MARKER IS WHAT THE IF END CONDITION IS USED WITH. THE EOF MARKER DESIGNATES THAT THE END OF DATA HAS BEEN REACHED. AS MORE DATA IS PUT INTO A FILE.======================================= = = = HP 2000 PART 5 (MATRACIES) = = = = CAPTURED BY = = = = BLITZIOD ?? & GALACTUS ** = = = = of = = = = THE ELITE HACKERS GUILD = = = ======================================= MATRICES ******** 1. MAT ADD. & SUB. 2. MAT ASSIGNMENT 3. MAT...CON 4. MAT...IDN 5. MAT INPUT 6. MAT...INV 7. MAT MULT. 8. MAT PRINT 9. MAT PRINT# 10. MAT PRINT USING 11. MAT PRINT# USING 12. MAT READ 13. MAT READ# 14. MAT SCALAR MULT. 15. MAT...TRN 16. MAT...ZER ENTER YOUR CHOICE, '0' TO STOP?1 MAT ADD. & SUB. GEN FORM: MAT ARRAY NAME = ARRAY NAME + ARRAY NAME OR MAT ARRAY NAME = ARRAY NAME - ARRAY NAME MAT ADD ADDS TWO MATRICES WITH THE SAME DIMENSIONS. (EX. MAT C=A+B). OR, IN THE CASE OF SUBRACTION, IT SUBTRACTS TWO MATRICES WITH THE SAME DIMENSIONS. (EX. MAT C=A-B). NOTE: THE SAME ARRAY MAT APPEAR ON BOTH SIDES OF THE EQUAL SIGN ENTER YOUR CHOICE, '0' TO STOP?2 MAT ASSIGNMENT STATEMENT GEN FORM: MAT ARRAY NAME=ARRAY NAME THIS STATEMENT IS USED TO SET ONE ARRAY EQUAL TO ANOTHER ARRAY OF THE SAME DIMENSIONS. EX. MAT A=B ENTER YOUR CHOICE, '0' TO STOP?3 MAT....CON STATEMENT GEN FORM: MAT ARRAY NAME=CON [NEW DIMENSIONS] THE MAT CON STATEMENT SET ALL THE ELEMENTS OF AN ARRAY EQUAL TO ONE. (EX. MAT C=CON(5,10) , MAT D=CON ) ENTER YOUR CHOICE, '0' TO STOP?4 MAT...IDN STATEMENT GEN FORM: MAT ARRAY NAME=IDN [NEW DIMENSIONS] THE MAT...IDN STATEMENT SETS UP AN IDENTITY MATRIX. MAT INPUT STATEMENT GEN. FORM: MAT INPUT [ARRAY LIST] MAT INPUT ALLOWS YOU TO ENTER ENTIRE ARRAYS FROM THE TERMINAL. SINGLE ELEMENTS MAY ALSO BE ENTERED. (EX. MAT INPUT A, OR MAT INPUT A(4,4)) ENTER YOUR CHOICE, '0' TO STOP?5 MAT INPUT STATEMENT GEN. FORM: MAT INPUT [ARRAY LIST] MAT INPUT ALLOWS YOU TO ENTER ENTIRE ARRAYS FROM THE TERMINAL. SINGLE ELEMENTS MAY ALSO BE ENTERED. (EX. MAT INPUT A, OR MAT INPUT A(4,4)) ENTER YOUR CHOICE, '0' TO STOP?6 MAT...INV STATEMENT GEN. FORM: MAT ARRAY NAME = INV[ARRAY NAME| THIS STATEMENT INVERTS A SPECIFIED ARRAY. BOTH ARRAYS USED IN THIS STATEMENT MUST BE SQUARE AND OF THE SAME DIMENSIONS. THE SAME ARRAY MAY APPEAR ON BOTH SIDES OF THE EQUATION ENTER YOUR CHOICE, '0' TO STOP?7 MAT MULTIPLICATION STATEMENT GEN. FORM: MAT ARRAY NAME = ARRAY NAME 1 * ARRAY NAME 2 THE MAT MULTIPLICATION STATEMENT SETS A SPECIFIED ARRAY EQUAL TO THE PRODUCT OF TWO ARRAYS. THE SAME ARRAY NAME MAY NOT APPEAR ON BOTH SIDES OF THE EUQUAL SIGN. THE NUMBER OF COLUMNS IN ARRAY 1 MUST EQUAL THE NUMBER OF ROWS IN ARRAY 2. ENTER YOUR CHOICE, '0' TO STOP?8 MAT PRINT STATEMENT GEN. FORM: MAT PRINT ARRAY PRINT LIST [PRINT DELIMITER] THE MAT PRINT STATEMENT IS USED TO DISPLAY ENTIRE ARRAYS OR PORTIONS OF ARRAYS. WHEN USING THIS STATEMENT, PLACING COMMAS BETWEEN ARRAYS TO BE PRINTED WILL CAUSE THE ARRAY TO BE SPACED OUT, WHILE ON THE OTHER HAND IF SEMICOLONS ARE USED THE ARRAY IS PACKED TOGETHER. (EX. MAT PRINT A,B , MAT PRINT A;B). ENTER YOUR CHOICE, '0' TO STOP?9 MAT PRINT# STATEMENT GEN. FORM: MAT PRINT #FILE NUMBER,[RECORD NUMBER];END OR MAT PRINT #FILE NO,[REC. NO.];ARRAY WRITE LIST[PRINT DELIMITER[END]] MAT PRINT # STATEMENT IS USED TO PRINT ENTIRE ARRAYS ON A SPECIFIED FILE. IT IS USED THE SAME WAY THE PRINT# STATEMENT IS. ENTER YOUR CHOICE, '0' TO STOP?10 MAT PRINT USIN STATEMENT GEN. FORM: MAT PRINT USING FORMAT PART [;ARRAY PRINT LIST] THE MAT PRINT USING STATEMENT ALLOWS YOU TO CONTROL THE OUTPUT OF ARRAYS, OR PORTIONS OF ARRAYS. IT IS USED JUST LIKE THE PRINT USING STATEMENT, UTILIZING AN 'IMAGE'. SEE PRINT USING FOR MORE INFORMATION. ENTER YOUR CHOICE, '0' TO STOP?11 PRINTED TO ASCII FILES. IT MAY NOT BE USED WITH BASIC FORMATTED FILES. ======================================= = END OF PHILE = ======================================= Downloaded from P-80 Systems.....