Home

SPECIAL ISSUE E 19 8 5

image

Contents

1. 52 LBL 06 102 E E 53 MNO 103 LBL 15 RUM 25 152 157 54 GTO 14 104 CHS 55 LBL 07 105 AROT ROW 26 168 178 56 PRS 106 57 GTO 14 107 ATOX ROW 27 176 161 58 LBL 08 108 SIGN 59 TUV 109 FS IND Y 60 GTO 14 110 GTO 14 Wa 61 LBL 09 111 ASTO L 62 WXY 112 CLA edet A 63 LBL 14 113 ARCL IND Z H CLX 114 AROT RUM 2 202 200 RDN 115 RDN ASTO IND Y 116 ASTO IND Y ROW 32 208 214 DSE 117 CLA GTO 10 118 ARCL L ROW 33 215 220 5 CLA 119 lt RDN 120 ABS 7 007 121 lt gt 1 5 Happy bit manipulating 10 3 ve AA L Y 74 LBL 11 124 RDN m DU UM E 25 LBL 14 75 ISG T 125 DSE IND L Jahve 26 El 76 AOFF 126 GTO 13 Encino CA 91436 USA 27 SIS 77 FG IND 127 3 28 lt L 78 STO IND Y 128 STO IND L 29 INT 79 ISG Y 129 SIGN 30 ST L 80 GTO 11 130 LBL 14 TELEPHONE NUMBER LETTER COMBINATIONS 31 GTO IND X 81 L 131 ISG Z 32 LBL 00 82 132 GTO 15 33 SF IND Y 83 R7 133 RDN 34 9 84 LBL 12 134 ST Y This program displays prints all letter combinations of a j 35 GTO 14 85 DSE Y 139 gt seven digit phone number For example when we call Time we 36 LBL 01 86 LBL 13 136 dial POPCORN instead of 767 2676 This program generates the 37 SF IND 87 ARCL IND Y 1372 entire list of combinations for your favorite numbers 3B I 88 FS IND X 138 4 39 670 14 89 GTO 14 139 LBL 16 Input is any seven digit number in the form XXX XXXX For 40 LBL 02 90 2 140 STO IND Y example the
2. Ae Lange 8278 5s te es Patrick Purcell 11794 Mark Gessner Ed Borrebach 2400 REGULAR HP STATUS 2 NOP AT LAST INEXPENSIVE 1 0 USING THE TIME MODULE SWITCHING SWITCHES A SOLUTION FOR DESKTOP BATTERY PROBLEMS NOTES ON THE 15C ZEN AND THE ART OF HHP 16K EPROM BOX CONF IGURAT IONS THE ADVENTURES OF SUPER SKWID EXPLORING DISPLAY MODE FLAGS DOUBLE DUTY KEY ASSIGNMENTS AMS VERY LARGE DATA FILES ON THE HP 41 VARIOUS MORE ON Xe WHY CAN NEW POINTER ROUTINES VECTOR TRANSFORMATIONS ROUTINES T MICROS BE LIKE MY HP 41CX SYMMERICAL COMPONENTS COL UMNS TRADING POST BITS amp PIECES the Personal Programming Center 15 California non profit public dedicated 10 advancing the applications art of personal com puting s the oldest persona computing users group and publishes buth the Computer Journal of PPC and PPC Calculator Journal Address ali cor respondence POB 9599 Fountain Vailey Californie 92728 9599 USA Tetephone 1714 754 6226 Copyright 1985 JOURNAL JANUARY 1985 VIZNI The Personal Programming Center is an international users group of People Programming Computers APPLICATIONS John Chipman 8801 Skwid Frans de Vries 10993 amp Arend V Brug 8851 Gary Friedman 6522 Frans de Vries 10993 Roger Heinsohn 7315 Ross Wentworth David E White 5353 HP PRESS RELEASE
3. tions can be added to the HP 41 translator by simply adding new words to the HP 41 portion of the FORTH dictionary trans lator will just pass the new words along as is and let the compiler worry about them When translation of a program is complete TRANS41 will continue at your option with the last step of the process compilation of the program into the FORTH dictionary This step can also be performed from the HP 41 emulator environment Once the program is compiled you can use the HP 41 functions RUN GTO XEQ RTN and END just as you would on the HP 41 The HP 41 emulator is activated by the keyword 41 which can execute either from BASIC or from FORTH first time you run the emulator you must specify an initial SIZE to reserve some memory for HP 41 data registers After that you can set the size using SIZE or PSIZE just as you would on the HP 41 return to FORTH or BASIC you just type FORTH or BASIC and hit ENDLINE The HP 41 environment is preserved until you reenter it some HP 41 flags are initialized more or less like turning the HP 41 off then on PERFORMANCE HP 41 programs executed by the Translator Pac will run signifi cantly faster than their HP 41 counterparts The exact amount of speed increase is program dependent the range is from 3 to 8 times faster Straight line math intensive programs will run at the higher end of the range The gamma function program from the High Level Math Sol
4. Jason DeLooze 9374 Derek Amos 7523 John Chipman 8801 Bob Hall 1859 Bob Hall 1859 Stefano Piccardi 8646 Ed Borrebach 2400 John Chipman 8801 John Chipman 8801 John Chipman 8801 Frans de Vries 10993 Marty Backe John Chipman 8801 BARCODE 41 41 41 41 RAI 41 41 41 15 15 41 41 75 75 75 41 41 71 41 41 75 DATACOMM UTILITIES DISCO SKWID THE HP 41 TRANSLATOR PAC FOR THE HP 71 SOLUTIONS TO THE MIRROR FLAGS CHALLENGE REASSIGNING THE PRINT AND PAPER ADV PAPER ADVANCE EXECUTING ANY TWO BYTE FUNCTIONS REVISITING NUMERIC DATA A MACHINE CODE SYNTHETIC TEXT LINE DECODER BUTCHERS BLOCK THE INTEGRAL COMPUTER 4S SORT X MCODE DEC AND HEX CONVERSIONS SIZING AND READING INTERCHANGE FILES HP 15C DECIMAL TO FRACTION CONVERSION HP 15C GREATEST COMMON DIVISOR INTEGERS OR NON INTEGERS 41 LISTENS TO 75 DELTA WYE CONVERSION CREATING LEX FILES FROM TEXT READING HP 71 TEXT FILES INTO THE HP 75 CURIOSITY KILLED THE CAT NON NORMALIZED RECALL TWICE NUMERIC BARCODE FOR THE 82162A DOUBLE NUMBERS FOR HP 71 FORTH BARCODE FROM VARIOUS PROGRAMS FROM V11N9 REGULAR COLUMNS CHAPTER NOTES TRADING POST PPC the Personal Programming Center is a California non profit benefit corporation dedi cated to advancing the applications art of personal computing computing users group and publishes the PPC Journal PPC is the oldest personal Ad
5. PO Paper Out 5 95027 PS Page Switch 227 76 Q QR Quotent Remainder 0 9 82 R RD Recall Display Mode 3 4 69 RF Reset Flag 1 9517 RK Reactivate Key Assign 3 5 84 ment RN Random Number Generator 4 1 146 RT Return Address to Decimal 2 9 40 RX Recall from absolute ad 2 10 129 dress in X register Rb Recall b 5 9 34 5 S Stock Sort Sis Sigel S2 Small Array Sort 332 5 7 144 S3 barge Array Sort 32 5 6 34 S SIZE Finder 156532 SD Store Display Mode 3 4 45 SK Suspend Key Assignment 3 4 53 SM Stack to Memory 5 Os SR Shorten Return Stack 3 951 SU Substitute Character 2 5 175 SV Solve Routine 349592 SX Store Y in Absolute Add 2 10 122 ress X Sb Store b Rom 0 Entry 3 6524 SW Selection without replace 5 8 18 ment Tl TONE Beep Alternative 2 8 140 TB Base Ten to base B 4 2 37 TN Tones Tone 0 127 7am Ape i U UD Uncover Data Register 14 71 UR Unpack Register 9 9 2410 V View Alpha 1 4 62 VF View Flags 5 8 43 VK View Key Assignments VM View Mantissa 1 10 1 VS Verify Size 2 1559 XD Hex to Decimal 1 10 240 XE XROM Entry 157 119 XL XROM inputs for LB 5 0222 2 Sigma Resiger Finder 15 5423 Curtain Finder 1 7 154 T Of A L S Labels Routines Housekeeping 31 31 Math 17 48 Peripheral 7 7 Synthetic A 67 22 153 8 130 Bytes PPC SPECIAL ISSUE E PPC 1 don t the address of the register that the END resides in is in the las
6. The subroutine stack is only 4 high such is life Returns may be pushed onto the stack and popped off of it G This register interacts with the C register at the digit pointed to by the active pointer and the next highest digit If the pointer 13 then wraparound takes place ST Flags 0 7 Interacts with digits 0 and 1 of register C These flags may be cleared tested and set KEY This is the keyboard flag It becomes set whenever a key on the keyboard is set Peripheral flag register Now it is time to show you the fields on a 56 bit register These are used extensively to operate on only part of the C B or A registers Nybbles 12 32 WIO 99978 27 amp S Ao 3 05 1 49 Field lt ALL Field MS M gt lt 5 gt Field lt ADR gt lt S amp X gt Field lt KY gt Okay how about a program THERE YOU GO AGAIN SKWID JUMPING OVER ALL OF THE EXPLANATIONS TO GET TO THE PROGRAM Aw come on just this once DO YOU WANT TO BE PUBLISHED You win again I ALWAYS DO Field Explanation S amp X Exponent and exponent sign XS Exponent sign only ALL All 14 digits M Mantissa MS Mantissa sign ADR This is where the address from the return stack is placed when it is popped from the return stack or where it is taken from when the address is pushed onto the stack KY This is where the C
7. XEQ XEQ XEQ XEQ xea xEQ XEQ XEQ XEQ IND 96 IND 97 IND 98 IND 99 IND100 IND101 IND102 0103 IND104 IND105 IND106 IND107 IND108 IND109 IND110 IND111 224 225 226 b 227 228 229 230 231 232 h 233 i 234 1235 236 1 237 238 n 239 TEXT 0 TEXT 1 TEXT 2 3 TEXT 4 TEXT 5 6 TEXT 7 8 TEXT 9 10 11 TEXT 2 TEXT 13 TEXT14 15 IND T INDZ INDY IND X INDL INDME IND NV INDO3 IND Pt INDa JINDb INDc INDd INDe 240 P1241 a 242 1243 244 t 245 246 v 247 w 248 x 249 gt 250 251 w 252 1 253 254 z 255 H SE Zo i Eu ee cere rev DE e en oat um ifo ain 0101 PPC SPECIAL ISSUE E 9 FOREWORD Because of the nature of the PPC ROM PROJECT this manual is somewhat unusual This manual is the effort of over one hundred users who worked directly on it and many hundreds of others who indirectly contri buted to its completion Before diving into the routines the PPC ROM user should first read the introductory material inPart 1 which includes the Preface Organization and Use of Manual Functional Grouping of Routines Abstracts and brief Intro duction to Synthetic Programming Once you have read Part 1 you may explore at random with a minimum of difficulty Refer to the Glossary in the App
8. 0 45 STOP 06 PROMPT 26 XEQ 11 46 GTO 00 07 X 0 27 lt 0 47 LBL 10 08 GTO 12 28 XEQ 10 48 2 3 09 gt 0 29 1 49 10 XEQ 11 30 50 RIN 11 lt 0 31 NEW F 5I LBL 11 12 XEQ 10 32 PROMPT 52 41914 13 4 32 5227 14 34 X72 54 1 362 I5 OLD 38 4 95 16 PROMPT 36 1 X 56 RTN 37 CORR 57 LBL 12 18 X72 38 2 58 268 5 19 OLD T 39 CF 22 59 GTO 01 20 PROMPT 40 PROMPT 60 END Program lines from line 47 LBL 10 ahead depend on the enlarger The negative constant on line 48 is the width of your negative mask I have got a 23 36 mm mask gt 2 3 cm If your input to the H prompt is negative then it gets divided by this constant and the result is magnification ratio The subroutine LBL 11 calculates the magnification from the reading from the rod I used the curve fit program to find out this equation The result was straight line m 1914 h 1 362 0 9998 in my enlarger AXOMAT 4 The constant in line 58 can be found in X register at NEM H prompt when you run the program and give the normal values you use for contact sheet at the OLD prompts I use H 36 cm 5 6 T 10s these give the 268 5 when NEW H prompt is cleared T2 oom REED T time M magnification ratio F aperture C correction in F stops The equation used is It is based the equation t t m 1 found in A Hawkins D Avon Photography the guide to technique Examples I want to make a 12 cm 18 cm
9. 19 CS ENTER 1 EEX PACK then BG at ENTER Note the HP 41 uses a NULL byte 00 hex to separate consecutive numeric entries PACKing will remove the extra NULL bytes if the preceding instruction is not a number The PACKing ensures that you byte grab the 1 instruction not the NULL T Byte 240 ENTER RCL IND T BG at ENTER This has been just a brief description of a very few of the many possibilities that can open up to you with Synthetic Programming For further information you should refer to any of several books on Synthetic Programming and back issues of the Journal Of particular interest are SYNTHETIC PROGRAMMING ON THE HP 41C by William Wickes and SYNTHETIC PROGAMMING MADE EASY by Keith Jarett Also check pages 4 amp 5 of this Special Issue for a description of the PPC ROM This ROM and its accompanying man ual will provide you with more information on Synthetic Program ming than you can imagine These and many other HP 41 books can be ordered through EduCalc Mail Store 27953 Cabot Road Laguna Niguel CA 92677 714 831 2637 R S PPC HP 41C COMBINED HEX DECIMAL BYTE TABLE HP 41C COMBINED BYTE TABLE J de ud c 1 Baert 5 1 8 79 LBL 00 LBL 01 LBL A 03 LBL 04 LBL 05 LBL 06 LBL 07 mm 08 LBL 09 T er LBL 12 LBL 13 LBL 14 Mr eec u 05 i 40 1 a e lees 10 8 12 14 8 15 8 z 2 10 H p 14 E Gm XEQ T P Um
10. 23 IND 24 I ND 25 i 25 IND 27 A 28 IND 29 ND 30 IND 31 144811456 146 5 147 148 149 1504 151 1152 6 eL 155 Ze 58 159 XR 0 3 4 7 8 111 12 151 16 19 20 23 24 27 28 3115 a FC C 8 IND SPARE n 32 IND 33 I pn 34 IND 35 IND 36 IND 37 IND 38 39 IND 40 NE 41 IND 42 IND 43 NB 44 Nb 45 IND D 46 IND 47 16 163 164 165 2 166 167 168 lt 169 gt 170 1171 172 173 174 175 GTO 00 01 GTO 021GTO 03 GTO 04 GTO 05 GTO 0616 0 07 670 08 6 0 09 6 0 101670 11 670 12 GTO 13 GTO 14 IND 48 IND 49 IND 50 IND 51 a IND IND 2 IND x IND 56 IND 57 IND 58 IND 59 IND 60 IND 61 IND 62 IND 63 1760 177 1 178 2 1179 3 181 182 183 184 8 185 9 186 187 1188 lt 1189 190 gt 191 5 LOBAL GLOBAL GLOBAL GLOBAL G a 7 ae cr yee ee ee oro le IND 80 IND 81 IND 82 IND 83 IND 84 IND 85 IND 86 IND 87 IND 88 IND 89 IND 2 216 7 8 M GLOBALIG GLOBAL GLOBAL GLOBAL rum EDEN i SUE LOBA C IND 64 IND 66 IND 67 IND IND 69 IND 70 IND 71 IND 72 7 IND 74 IND 75 IND 76 JIN IND 78 IND 79 192 194 E 195 c 196 n 197 198 F 1996 200 H 201 I 202 1 203 2041 205 M 206 207 0 0 610 670 670 6170 610 90 IND 91 IND 92 IND 93 IND 94 IND 95 08 P 209 210 R 211 S 212 T 213 U 214 V 215 W x 217 v 218 Z 219 220 221 11222 t 223 XEQ XEQ XEQ xta
11. Calculations Flag inputs for LB Fractions 2 4 120 99 93 2510 181 Dail yla 559 4608 121 1 258 32 2 7 641 24444 5 4 103 5 4 126 952 99 222 199 5555195 1 6 46 4 4 1 2 9 33 4 35119 2 2118 1 3 40 4 2 98 4 6 76 Lees hol 3592 1 242 128 IF IG IR JC 1 2 3 4 5 ML MP MS MT OM PA PK ROUTINES IN Go to End Gaussian RN Generator H High Res Hist W Axis Hide Data Registers Hex to NNN High Resolution Plot High Resolution Histo gram Invert Flag Integrate Initialize Page Insert Record J Julian Date to Cal L Load half of LB routine LOAD Bytes Locate Free Reg Block kogo Lengthen Return Stack M Date 2 10 158 4 1 127 4 3 158 Matrix Interchange any 5 3 28 two Rows Matrix Multiply a row by 5 2 1 non zero K Matrix Add multiple of 5 3 9 one row to other Matrix absolute address 5 3 56 fo 03 3 Matrix i j to absolute 5 3 66 address Memory to Alpha 5 9 44 Make Multiple Key Assign 1 1 1 ment Memory Lost resize to 017 1 5 1 Multiple Variable Plot 1 9 Memory to Stack Mantissa of X N Nth Character NNN to Hex Next Prime NNN Recall NNN Store 0 Open Memory P Program Pointer Advance 4 7 2 10 142 al A ei Program Pointer to Decimal 2 9 52 Pack Key Assignment Reg 1 4 77 isters HEX TABLE ORDER PM Permutations 4 2 81 PR Pack Register 5 5 230
12. command lines You can type in up to 96 characters of unctions or numbers together each entry separated by a space hen press ENDLINE to execute the whole sequence Each command line is saved in the command stack Thus to compute 5 51 25 10 you can key in 5 25 SIN 10 ENDLINE Or if you want to see intermediate results 5 ENDLINE 25 SIN ENDLINE 10 ENDLINE But if you prefer key per function operation you can make the built in file KEYS41 the active keys file so that in user mode any HP 41 function can be immediate execute For example the key is assigned to the string so that pressing that key appends a to the edit line and performs endline The KEYS41 file provides immediate execute key assignments for most of the HP 41 keyboard functions You can change or add any key assign ment using normal HP 71 key assignment procedures The translator is actually more keystroke efficient than the HP 41 in two cases First you can execute any function by just spell ing it without needing to resort to the clumsy HP 41 XEQ ALPHA function ALPHA Second register functions can directly access any register since they are not tied to prompted input Thus STO 1234 or lt gt 5432 or VIEW IND 653 are legitimate commands ALL THIS AND ALGEBRAIC 700 The principal only virtue of algebraic calculators is that you can evaluate an algebraic expression by typing it in exactly as it is written in normal algebra
13. culled from the previous years issues of the PPC Calculator Journal the PPC Computer Journal and the newly combined PPC Journal You ll find that this issue contains Page 1 The cover of the Special Issue The cover of each PPC Journal is always page 1 Pages 2 3 An introduction to both PPC and to the Special Issue itself What you re reading right now Page 4 For all of you darkroom photography buffs here s an example of using your HP 41 to make some of the tedious calcula tions easier 0111 Pera 7644 has a quick program that wil allow you to adjust yourenlargement timing parameters for making blow ups from your favorite negatives From PPC Calculator Jour nal V11N5P5 Page 4 Gary Friedman 6522 has written a nice program for the HP 41 using the HP IL Development module or the Advantage ROM to turn the HP 41 into an HP 16C at least the most used functions To aid in entering programs into your HP 41 most published pro grams are printed with barcode as well From PPC Calculator Journal V11N1P25 Page 6 Ever wonder what your phone number would be in alpha characters Want to be able to have your friends reach you by calling WILDGUY This program accepts your 7 digit telephone number as input and will print out or display all of the possible combinations of letters that your phone number will produce Written by Carter Buck 4783 from Calculator Journal V11N2P13 Page 6 SKWID is a pseudonym given t
14. ie 30 8 16 amp 17 A 20 121 127 us rg Cees es ae 3 00 a 01 iG 7 03 sa n 4 RCL 05 E 06 iG i 08 xx 09 10 RCL n icu 14 RIS 35 d 37 X 42 43 46 A7 4 35 37 X e 42 443 7 27 00 x 7 x 02 STO x 7 STO 05 STO 06 To 07 T To 9 P 10 Jh 1 x 12 2 13 STO 14 du 48 8 5 53 5 54 62 oj is 2 51 53 5 54 6 57 5i E 62 n ae ues IE P xor x eles onse xis en d t s ler s Di E Mt ra YTX ERE 05 Ae s 05 Lap an ACOS gs Uc 83 5 93 J 0 2 83 5 3 d T b A 9 Y 4 E 2 N93 CI ss 3 ac ie cor LN14 X X 0 ES g P s me REA ARS ae 100 101 8 a m A E Lio 101 102 f TS ios h Pi TY PM Ph iria VER ar TE LASTX CLX age uu OT u HIR 9 MCBIN 8101 8 m nas har hes m V m PE us ee 0000 io om Eo ai ag a ahs TRE fos eh qt jus HP 41C COMBINED HEX DECIMAL BYTE TABLE 7825s 99 A3 fee Be 0 3 DEG RAD GRAD ENTERTISTOP RTN BEEP CLA ASHF PSE CLRG AOFF OFF PROMPT ADV IND 00 IND 01 IND 02 IND 03 IND 04 IND 0511 0 06 IND 07 IND 08 IND 09 ie b Me IND 12 oe Is IND 14 IND 15 22 a 131 132 133 c 135 1136 137 a LL m 143 ST SF 5 DSE VIEW Ium m TONE IND 16 1 iD 17 1 NU 18 IND 19 IND 20 IND 21 iS 22 IND
15. inputs are the main source of information and as such we encour age members to submit their articles and programs in as near to a publication ready format as possible see Submissions below When necessary programs or articles may be retyped for reasons of proper reproduc tion but the content is as submitted by the member We do reserve the right to correct spelling and gramma tical errors and generally remove statements such as enclosed is my check for renewal in letters for the Feedback section However if requested letters will be reproduced as submitted depending on suitability and available space PPC is not in business as hardware or software vendor but we occasionally make available special items that are not available through other sources An example of this is the ERAMCO MLDL box Due to customs problems and the need to commit to a quantity of boxes for pur chase PPC stepped in to allow this item manufactured in the Netherlands to be available to members in the U S Another example is the famous PPC ROM project which could not have been accomplished as a strictly commercial endeavor The volunteer effort that was put in to making this ROM is what makes this module truly unique in history e PPC expends resources to maintain active bi directional communication with manufacturers of the various products it supports One of PPC s goals is to serve the average non program mer personal computer
16. next Journal published The current rates can be found in the attached application form Activities Any activity that helps members to better under stand their personal computer is suitable for PPC Local chapter meetings community meetings for classes and regional conferences are all common PPC activities Submissions Submittals by members of programs and or articles for publication are actively encouraged To assist us in making the best quality reproduction of your material please follow these guidelines All Journal submissions should be typed 5 1 2 wide using a dark ribbon For those of you using a dot matrix printer do not use compressed mode and please do use bold mode 1 is also extremely helpful if you can submit programs and arti cles if possible on magnetic media returned upon request This will enable us to provide more legible listings bar code etc as well as making it possible to download to the Remote Bulletin Board System Product Reviews PPC would like the opportunity to review your hardware or software product The Editor and or reviewer reserve the right to present information on the product from the user s viewpoint Contact the Editor at PPC for information on submit ting products for review All items returned upon request PPC Workcenter The area used to house PPC quarters and where the Journals are produced published stuffed etc is called the PPC Workcenter Meeting are general
17. number above would be entered as 767 2676 in X XEQ 4 ABC 91 CHS 141 ISG Y TEL and the fun begins the program halts after all combinations 42 GTO 14 92 AROT 142 GTO 16 have been displayed 43 LBL 03 93 RDN 143 44 DEF 94 ATOX 144 R7 Minimum SIZE is 014 and the program clears the 14 highest 45 GTO 14 95 RDN 145 SIGN data registers An Extended Functions module or HP 41CX is re 46 LBL 04 96 ATOX 146 CLST quired ALPHA register is cleared as are Flags 00 through 47 GHI 97 RDN 147 X L 07 and Flag 25 should be clear on entry The routine requires 37 48 GTO 14 98 LBL 14 148 CLD program registers 49 LBL 05 99 DSE X 149 END 50 JKL 100 GTO 12 Copyright 1983 Carter Buck 4783 P 0 Box 11203 Oakland CA 94611 6203 USA REGISTERS 38 ROW 1 1 5 ROW 2 5 13 MCODE FOR BEGINNERS SKWID THIS IS THE BOSS AGAIN ROW 3 13 22 ROW 4 23 30 ROW 5 31 38 ROW 6 38 442 What do you want this time ROW 7 44 50 YOUR ARTICLE ON THE DEVELOPMENT MODULE WAS NOT TOO BAD HOW WOULD YOU LIKE TO WRITE ANOTHER ARTICLE FOR US 6 PPC SPECIAL ISSUE E Great we could become world famous and may even get published again POP OH SORRY ABOUT THAT SKWID BUT IT WAS GETTING A LITTLE TOO HARD TO SEE WITH YOUR HEAD SWELLED UP LIKE THAT NOW YOUR MISSION SHOULD YOU CHOOSE TO ACCEPT does this sound familiar IS TO INSTILL UPON SOME MERE BEGINNERS THE RUDIMENTS OF MCODE PROGRAMMING THIS MESSAGE WILL SELF DESTRUCT IMMED
18. per byte Unusually complete technical details Personal contact for additional help e A routines ROM not an applications program ROM This is a programmer s ROM The full power of Synthetic Programming is made available to all HP 41 users Operating system extension and enhancement programs Fastest known numerical sort routine Block and matrix operations defined and programmed Extended capability and improved accuracy in financial calculations Commendable integrator program Greatly expanded multiplot and high resolution graphics programs 10 PPC SPECIAL ISSUE E e Matrix format printing of flags set in View Flags e Skipping zero data in Block View Better access to all of HP s ROMs with Routine Expanded memory using BIB and G amp S for QUAD page switching One of the main objectives of the PPC ROM USER S MANUAL is to provide an expression of the type of detail that programmers desire This includes more than just a collection of general purpose routines with as many technical details as possible The users are an essential part of the loop and the PPC ROM project is designed to include user inputs portion of the ROM fund is being held in reserve for a follow up addendum that will include Corrections for the errors found Description of any BUGs that may be found Additional examples Additional Applications Programs Suggestions for ROM or Manual improvement Review of project Conclusi
19. set can be added to the system through the use of the underlying FORTH system The translator program TRANS41 is open ended any function added to the HP 41 vocabulary can be handled by the translator The FORTH language system in the Translator Pac is nearly identi cal to that in the FORTH Assembler ROM the Assembler is not present in the Translator Pac The ROM dictionary has 46 HP 41 words mostly floating point words like E X 1 or OCT added to the FORTH Assembler ROM word set plus a separate vocabulary containing the remaining HP 41 words The latter are less conven tional FORTH words in that they depend on certain specific data structures like the HP 41 data or alpha registers or use non RPN notation like STO 5 or FIX IND 2 and hence cannot be casually included in standard FORTH programming WHAT NO STACK LIFT DISABLE The HP 41 Translator makes a bold break with tradition here s how you make a possible drawback into a feature by not implementing any stack lift disable Yes that s right the ENTER key becomes a vestigal organ not worth including in the built in keys file The underlying reason that stack lift disable is not implemented is to eliminate the associated system overhead But a more vir tuous sounding reason is that stack lift disable was a mistake on the HP 35 and remains a mistake today The HP 41 translator elects to use a more flexible input style derived from the FORTH outer loop and the BAS
20. structures or use post fix notation user variable area in the FTH41RAM file contains the HP 41 flags program pointer return stack alpha register size and sigma register variables and other HP 41 system variables FTH41RAM user dictionary begins with the FORTH word but also contains the HP41V vocabulary word and a null word used to link the various RAM and ROM dictionaries together The outer interpreter loop in the Translator Pac checks an emulator active flag following interpretation of the input buffer If the flag is clear the OK n message is displayed If set a vectored HP 41 display word is executed typically to display the X register HP 41 error messages Alpha Data Data Error etc are added to the system error table in the Translator Pac The ATTN key and poll check carried out during execution of semicolon and branching has been rewritten for the Translator Pac resulting in somewhat faster FORTH execution SUMMARY The Translator Pac extends the flexibility of the HP 71 by providing an extensive RPN calculator programming capability closely modeled on that of the premier RPN calculator the HP 41 It is a translator rather than an emulator Its calculator pro perties are designed to work with the strengths of the HP 71 rather than to be keystroke copy of the HP 41 41 programs are translated into FORTH a language of more general application than HP 41 user language The pr
21. synthetically cleared suggested this routine way to fill out the function address table is given in PPC Calculator Journal V9N3P30 and the ERAMCO user s manual on page 23 Also at the end of this article again we hope is a table containing the hex code for the names of rom functions Now here s the routine it s even annotated Surprise surprise Hexcode Mnemonic Purpose 09 The functions name is reverse order 03 gt last letter of the name has hex 080 added to 03C re Tt 019 T 0B8 READ 2 Y Put Y register into C 10 A C ALL Save Y in A 078 READ 1 Z Get 7 register 0A8 WRIT 2 Y Write Z out to Y 0 A lt gt C ALL Put Y back into C so it may be written to Z 068 WRIT 1 Z Write Y to Z 3E0 RTN Return How s that boss BEAUTIFUL COULDN T HAVE DONE BETTER MYSELF We know that Now for another routine This one shall be a MCODE version of the go to end routine in the PPC ROM This routine puts you at the first line in the program that has the permanent END as its end The object of the program is to place the location of the END into the last 2 bytes of the b register As we all know even if Continued on page 12 PPC SPECIAL ISSUE E 7 KEYING 41 SYNTHETIC INSTRUCTIONS Shortly after the introduction of the HP 41 avid PPC members discovered a method of breaking two byte functions in half taking the first byte of one function giving it the second byte of anoth
22. up to date on other PPC activities This system is based on a heavily modified Xerox 820 II CP M computer with a hard disk and can normally be accessed during non work hours before 8 A M after 6 P M Pacific time Copyright Copyrights remain with the author of any material published by PPC Material submitted to PPC does not constitute or imply exclusive use by PPC of the material PPC reserves the right to republish submitted material in other than the regular Journals i e Special Issues Conference Proceedings etc Back Issues Journals are continuously available in printed and or microfiche form A back issue table is included in material sent to new members and is updated periodically PPC Journal Quotes Material may be quoted and described by authors editors or publications under the following conditions a Reference source as PPC Journal YN Ps b Provide PPC and author a copy of material as reproduced Editor Exchange Related computing publications may request to be placed on the Editors Exchange mailing list on a reciprocating basis Trademark PPC is a registered trademark and as such any un authorized or unlawful use will be considered trademark infringe ment and prosecuted to the full extent that the law allows WHY A SPECIAL ISSUE The intent of this issue is to introduce users of personal compu ters to the unique advantages that PPC can offer them The arti cles in this issue have been
23. 03 by pressing LOG then vx Go into Alpha mode and enter AAAAAA and CV owners will see A Switch out of mode do GTO PACKs calculator m m gt 00 c4 OY 0n 4 Co IP You should now end up with that most indispensable tool of Synthe tic Programming the Byte Grabber known as BG to his friends To verify that you ve done this correctly press and hold down the LN key until NULL appears and confirm that it shows XROM 28 63 you re still in USER mode right You can save this on a status card if you wish or you may want to practice this little technique til you can do it at will If you don t get the XROM 28 63 try again from the beginning The table on the opposite page of this brief 41 byte instruc tion description is the HP 41 HEX TABLE Along the edges you ll find the hexadecimal value of all of the various 41 instructions both single and multi byte types The decimal value for each instruction is in the lower left corner of the box The top line of each box indicates the function for single byte instructions or the prefix for multi byte instructions The next line shows the postfix instruction for two byte functions on the left with the display representation of that byte on the right Finally the symbol in the lower right corner of the box is the Thermal Printer Plotter representation of each byte 8 PPC
24. 11 139 LBL 10 140 RCL 01 141 142 GTO 11 143 RTN 144 LBL 11 145 SF 04 146 RTN 147 LBL 09 148 FS 00 149 SF 04 150 FC 00 151 04 152 LBL 17 153 0 154 RTN 156 12 156 5 00 157 GTO 14 158 SF 00 159 FC 2 160 SF 04 161 162 LBL 14 163 CF 00 164 FC 02 165 CF 04 166 RTN 168 SF 07 169 CHS 170 GTO 171 LBL 5 172 NOT 178 1 174 175 RIN 176 LBL c 1779692502 178 670 15 179 SE 02 180 GTO 16 181 LBL 15 182 CF 02 183 LBL 16 184 0 185 GT0 t 186 LBL d 187 WORD SIZE 188 PROMPT 189 STO 01 190 2 191 X amp Y 192 Y X 193 1 194 195 STO 02 196 RDN 197 DSE 01 198 0 199 GTO 200 LBL e 201 CLA 202 24 203 PASN 204 23 205 PASN 206 22 LBL 16C LBL HEX LBL OCT LBL BIN LBL DEC LBL ENTZ LBL au LBL nou END 428 BYTES PPC SPECIAL ISSUE E 5 RO 31 38 ROW CU 532 ROW 8 36 45 ROW 9 58 80 OW 9 45 51 ROW 10 81 68 OW 10 52 57 ROW 11 68 75 OW 11 57 80 OW 12 75 83 12 80 68 13 84 82 ROW 13 67 72 ROW 14 92 100 4 72 73 ROW 15 101 109 RDW 15 80 87 ROW 16 110 117 ROW 18 88 98 ROW 17 118 126 ROW 17 97 103 ROW 18 127 134 ROW 18 104 112 ROW 19 135 142 ROW 19 113 121 ROW 20 142 149 ROW 20 122 130 ROW 21 130 136 Seg ae Clan tae Hd TELEPHONE NUMBER LETTER COMBINATIONS by C Buck 4783 E ROW 23 148 153 0121 TEL 51 GTO 14 101 AVIEW
25. 2 OFE 0 6 OF2 A C TOAN 71 07 LIE 116 112 A A B ISA 122 I3E P306 192 A A C 154 5 4A 142 15E 156 152 A A 1 17A 16A 162 17E 176 7 172 A A B 19 18A 182 192 196 192 P 1 IBA JAA 1A2 IBE 186 A A C ACAS 162 06 71002 PFA LEA JEZ TE C CtA 21A 20N 204 2IE 216 212 1 Zon 22 5200 82 286 432 X 25A ZAN 242 25 256 1 252 C C 1 ZFA 002 IE 276 27 C 0 C 290 28A 282 9 296 292 6 1 2BA 2 2A2 ZBE 286 262 7 0 2DA 26N 2625 2DE 206 2 2 2C 0 OFA RE 862 282 lt 31 A 308 382 31E 316 342 A B SOR T 34A V 366 4 3365339615834 0 35 342 35E 386 352 A C 302 37E 3 76 372 RSHFA 39A 38A 382 39 396 392 RSHFB 3AA 3A2 3BE 3BO6 382 RSHFC SDA SUA 302 3062306 302 LSHFA SFA E SEA 3EZ 3PE 3F6 3F XO Co P9 gt lt lt 12 SPECIAL ISSUE E LLU Unaraeters table 0 1 23 4 amp 627 8 9 B C 03 pov 2 X 7 6 H gt BR 24 8 04 12 b d 24 Sp blank space Well that s all for now Hope we have helped to increase your understanding of MCODE We also hope the boss likes this enough to pr
26. 38 gt 0 05 GTO 00 22 R7 39 B 06 24 02196 3 40 ARCL X 07 DATE 24 41 Xo L 08 DDAYS 25 RTN 42 COS 09 LBL 00 26 GTO 00 43 lt 0 10 RCLFLAG 27 LBL 01 44 11 lt 28 ENTER 45 gt 0 12 5 pr 46 HF I8 FIX 1 30 ATOX 47 AVIEW 14 PHYS 31 MOD 48 RDN 15 XEQ 01 32 LASTX 49 END 16 SENS 33 7 17 0 01 34 360 112 5 REGISTERS 17 ROW 1 1 4 ROW 2 4 7 ROW 3 8 14 RDW 4 14 172 ROW S 17 21 ROW 6 22 30 ROW 7 30 39 ROW 8 39 46 ROW 9 46 49 PPC SPECIAL ISSUE E 15 ie ANY SEPTEMBER Copyright 1984 COMPUTER JOURNAL OCTOBER 1984 V3N5 OF Information HP 71 Display RAM GNDTRK for the 71 Correction for HP CPM Data Transfer UtiTity lt New Chapter Forming 2d and 3d Plotting Part I Products amp Services Offered Loading Lex Files Without Cassette Members Find Errors A FORTH Decompiler for the HP 71B Commenting HP 85 Program Files Quick Chart of HP IL Commands The HP 110 Say What XFIND A String Matching Program HP 71 Printing Programs FEEDBACK Samuel Chau 8956 Bob Wada 3234 Pete Goffinet 10223 CHAPTER NOTES Albert Shan 9744 TRADING POST Stefano Piccardi 8646 oc George Pinney 8615 Pete Goffinet 10223 John Ferman 8118 Edward Keefe 5623 Stefano Piccardi 8646 Morris Bernstein 2450 Address Management A HP 75 VisiCalc Appldcation PaT Stm Ll q ts PPC
27. Copyright 1985 JOURNAL S U E E 1 9 8 5 A reprint issue of material from the Journals of PPC PPC Be 9802 0579 Long beach J Editor 2 PPC A Unique User s Group 0111 Pera 4 Enlargement Timing Gary Friedman 4 HP 16C Emulator Carter Buck 6 Telephone Number Letter Combinations Skwid 6 MCODE for Beginners Editor 8 Keying HP 41 Synthetic Instructions Keith Jarett 9 HP 41C Combined HEX Decimal Byte Table ROM Committee 10 ROM User s Manual Foreword ROM Committee 11 ROM Routines in HEX Table Order William Wickes 12 The HP 41 Translator Pac for the HP 71 Brian Walsh 15 for the HP 75 E V D Wateren 15 Biorhythms 16 Journal Covers September October 1984 CO September October 1984 CA May 1984 CA and January 1985 To obtain your own copy of this special issue send either a Self Addressed Stamped with 3 ounces of postage envelope preferred or a 1 b111 to See new address above Telephone 213 498 2554 Bulk copies of this special issue are available to chapters universities and other interested groups Contact PPC for details PPC the Personal Programming Center is a California non profit benefit corporation dedi cated to advancing the applications art of personal computing PPC is the oldest personal POB 9599 Fountain Valley California 92728 9599 USA Telephone 714 754 6226 PPC A UNIQUE USERS GROUP The Personal Programmin
28. GOSUB 440 8 COPY TO 1 0 OFF ERROR 0 GOTO 60 380 INPUT File name to read in K 390 IF C M THEN GOSUB 449 COPY K amp M1 TO K 0 OFF ERROR ELSE COPY CARD TO K 400 GOTO 60 410 EDIT KEYS 0 END 420 PURGE CAT F GOTO 60 430 LIST KEYS GOTO 60 440 ON ERROR GOTO 60 450 RETURN END LINE ES 2 BIORHYTHMS gt MOS ICON Fi This program calculates Meinderts biorhythm if you input anything which is not a valid date e g zero for the current date and any biorhythm if you enter a birthdate and any date for that day Change line 06 according to your own birthdate note the format DMY or MDY depending upon the status of flag 311 Bes ides giving values for physical sensitive and cognitive cycles the output shows whether the curve is ascending or descending To use key the birthdate press ENTER7 key in the biorhythm date XEQ BIOR R S after the last output will sho bio rhythm for the next day der m The program uses no registers the Extended Functions and Time modules are required Synthetic text lines in hex 14 F5 17 50 48 59 53 16 F5 16 53 45 4E 53 16i P5352 reas ar aT AE Meindert Kuipers 7612 Eric van der Wateren 8146 Laan 2 10 Aquamarijnstraat 57 9712 AV Groningen 9743 PB Groningen NETHERLANDS NETHERLANDS 01 LBL BIOR 18 COGN 35 G2 SF 25 19 XEQ 01 36 5 03 DDAYS 20 RDN 37 0 04 FS C 25 21 STOFLAG
29. IATELY Well Skwid the boss has done it again He blew our 41 s to bits what do we do know Well guys it looks like we re going to have to put in a little overtime on this one Does anyone know how to construct a 41 from this mess who cares In order to understand the structure of machine language programming MCODE on the 41 you must know the structure of the internal registers this is much like a good synthetic programmer knows the RAM structure A diagram of the basic structure is given below To RAM Registe a TS ci iy And now for a little program SKWID THIS IS THE BOSS HOW MANY TIMES MUST I TELL YOU TO DOCUMENT YOUR STUFF ARE YOU TRYING TO LOSE EVERYONE I FOR ONE AM ALREADY LOST Okay here we go again Register Usage C This is the main register 11 communication with RAM is done through this register It is the only register that can interact with all registers except T A This register may interact with the C and B registers Arithmetic may be done between each of these registers B Same as register A M and N These registers are used for storage and may only interact with register C P and Q These are the pointers They point to digits in the A B and C registers They may range from 0 13 Only one may be selected at any time Carry This is only one bit It may be set and tested How ever the next step after the carry is set will always clear the carry PC This is the program counter
30. IC for this purpose for several reasons execution speed RPN logic and the existence in HP 71 FORTH of most of the HP 41 floating point arithmetic operations including the 5 level HP 41 like floating point stack In addition FORTH is a logical next language for HP 41 user language aficionados The choice of FORTH does have certain disadvantages Because FORTH is compiled it is generally not possible to edit a program in its final executable form Nor does normal FORTH provide an PPC SPECIAL ISSUE E 13 easy means of single stepping There program line numbers so if you halt a program there is no way to tell where it halted FORTH s memory management system is relatively primitive which precludes any straightforward implementation of CLP And the HP 71 FORTH system requires a hard addressed kernal the upshot of which is that the Translator Pac and the FORTH Assembler ROM can not both be present in the HP 71 at the same time since they must both be hard addressed at the same addresses All of this not withstanding it was the judgment of the Pac s developer that the advantages of FORTH outweigh the disadvantages The first step in converting an HP 41 program for HP 71 execution consists of transferring a text version of the program to an HP 71 text file You can do this either by using the text editor included in the Translator Pac to type the program in by hand or you can transfer the program via HP IL from HP 41 me
31. IC operating system than the actual HP 41 provides Given this plus the difficulty of mapping the 41 keyboard onto that of the HP 71 eliminating stack lift disable is not a big deal You re going to have to learn a different input style anyway Consider how a traditional HP RPN calculator handles number entry Every key on the calculator is an immediate execute key when you press a number key you begin building a number string in the X register and the display Each subsequent number key adds one character to the string To terminate the number entry you just press any non numeric function key The problem arises when you want to enter two consecutive numbers with no operation in between Hence the ENTER key But here the HP 35 designers overshot the mark instead of just having ENTER terminate digit Ma entry they who knows why made it also carry out the unrelated task of duplicating the number into the Y register then disabling stack lift This has the extremely unpleasant AOS like effect of leaving the calculator in generally indeterminate state you don t know at any time whether stack lift is enabled or not unless you know explicitly what its last operation was The HP 41 translator does what the HP 35 and its descendants should have done it has a special key in this case the SPC key that has no role in life except to terminate digit entry or to separate commands If you key in two numbers separated by a spac
32. KEY IF K THEN 70 80 L POS L K IF L THEN 70 99 mak 100 180 170 330 330 270 290 420 150 280 160 110 130 100 DISP P Lst Wrt Rd Mm Clr Pu Ed Run Tm 0 WAIT 1 5 GOTO 60 110 IF F g THEN F F f 120 GOTO 60 130 IF CAT F 1 THEN F F 1 140 GOTO 60 150 60508 440 0 EDIT 0 OFF ERROR END 160 DISP TIME amp amp DATE 0 WAIT 1 2 0 GOTO 60 170 60508 440 0 LIST CAT F 0 OFF ERROR 0 GOTO 60 180 60508 449 0 DISP Thinkjet or Strip or Video 2 190 K UPRC KEY e IF K T AND K S AND K V THEN 190 200 IF K S THEN PRINTER IS P1 GOTO 250 210 IF K V THEN PRINTER IS D1 DISP CHR 27 amp GOTO 250 220 PRINTER IS P2 PRINT CHR 27 amp amp sQC DISP Normal or Compressed 230 K UPRC KEY IF AND K C THEN 230 240 IF K C THEN PRINT CHR 27 amp amp k2S ELSE PRINT CHR 27 amp amp kgs 250 PRINT CAT F 0 PRINT TIME amp amp 0 PRINT 0 PLIST CAT F PRINT CHR 12 260 OFF ERROR 0 GOTO 60 270 DISP MEM RES 1924 0 WAIT 1 2 GOTO 60 280 GOSUB 440 0 CALL CAT F OFF ERROR GOTO 60 290 DISP Display or Loop 2 300 K UPRC KEY e IF K D AND K L THEN 300 319 IF K D THEN DISP CHR 27 amp E GOTO 60 320 GOSUB 440 CLEAR LOOP 0 OFF ERROR GOTO 69 330 DISP Mass Sto or Card 340 C UPRC KEY IF C M AND C C THEN 340 350 IF K R THEN 380 360 IF C C THEN COPY CAT F TO CARD GOTO 60 370
33. M files This is due to the differing organizations of the system portions of the RAM files and to the fact that the ROM based FORTH dictionaries are different so that the compilation addresses of the ROM words are not the same for the two systems The FORTH Assembler ROM s RAM file is named FORTHRAM the Translator Pac s is named FTH41RAM The different names should help programmers keep the two types of files sorted out Here is a brief summary of the primary differences between the two FORTH systems The Translator Pac does not contain the Assembler the associated words ASSEMBLE PAGESIZE LISTING and VARID and the Assembler user variables With the exception of the Assembler words the Translator Pac ROM dictionary is a superset of that of the FORTH Assembler ROM Translator dictionary is organized into two vocabularies FORTH and HP41V The former is the parent vocabulary of the latter so that FORTH words are available when the context vocabulary is 41 but not vice versa The Translator Pac FORTH vocabulary is augmented by numerous HP 4 floating point words that are not included in the FORTH Assem bler ROM Translator Pac floating point words follow the HP 41 convention 2 that errors leave the floating point stack intact The FORTH Assembler words drop the stack update LASTX etc before error checking Translator Pac 41 vocabulary contains HP 41 words that depend on HP 41 data
34. SPECIAL ISSUE E You can use the Byte Grabber BG function to snatch the first byte off of a multi byte function Every time you press the BG key the HP 41 opens another register of program memory out of the unused registers left Because the first byte of the BG is a Text 7 character the HP 41 thinks that it needs 8 bytes 1 byte for the Text byte plus 7 characters and with only 7 bytes available in the new register it grabs the next byte of program memory first creating a two byte function whose second byte is a useful prefix and following it with a useful postfix we can create virtually any combination of multi byte functions To demonstrate we ll show you how to make the example functions shown above make things easier first ASN the PACK function to the LOG key and the BST function to the TAN key WARNING DO NOT BYTE GRAB AT THE PROGRAM STEP IMMEDIATELY PRE CEDING AN END This will cause the CAT 1 chain to loose part of its linkage and can result in a calculator lock up condition For instructional purposes we ll use the RCL byte as the first byte of the three total bytes needed which will be grabbed by the Byte Grabber make sure that we have enough room in pro gram memory for byte grabbing and to prevent any accidents we ll precede each sequence with ENTER then BST to the ENTER This will ensure that we are in position to do the byte grabbing DSEM Bytes 151 and 117 STO F Byte
35. ULATOR by Gary Friedman 6522 01 LBL 16C 02 FIX 0 03 CF 29 04 7 05 STO 01 06 255 07 STO 02 08 HEX 09 23 10 PASN 11 QCT 12 24 13 PASN 14 BIN 15 25 16 PASN 30 STO 03 HEX 32 4 33 STO 04 34 RDN 35 LBL 01 36 HEXVIEW 37 HEXIN 38 LBL OCT 39 2 40 STO 04 41 RDN 42 LBL 02 43 OCTVIEW 44 OCTIN 45 LBL BIN 48 RDN 49 LBL 03 50 BINVIEW 51 BININ 52 LBL 53 4 54 STO 04 55 RDN 56 LBL 04 597 D 58 ARCL 03 59 PROMPT 60 LBL ENT 61 CF 00 62 CF 04 63 CF 05 64 CF 06 65 STO 03 66 lt 0 67 XEQ 05 68 RCL 02 69 AND 70 ENTER 71 GTO 00 T2 LBL 7 73 X 0 74 XEQ 05 75 RCL 02 76 AND 77 RCL 01 REGISTERS 62 ROW 1 5 ROW 2 6 11 ROW 3 11 15 ROW 4 16 21 ROW 5 21 28 OW 6 26 31 78 79 GTO 06 80 RDN 81 CF 65 82 FC C 06 83 SF 05 84 GTO 07 85 LBL 06 86 RDN 87 CF 05 88 FS C 06 89 SF 05 90 LBL 07 9 92 RCL 01 93 1 94 95 CF 00 96 BIT 97 SF 00 98 RDN 99 XEQ 08 100 RDN 101 FS C 7 102 XEQ 12 103 RCL 2 104 AND 165 STO 3 106 LBL 00 107 RCL 01 108 109 GTO 13 110 RDN 111 GTO IND 04 112 LBL 13 113 RON 114 SF 06 115 FC 02 116 GTO IND 04 117 ENTER 118 NOT 11924 120 121 RCL 02 122 AND 123 CHS 124 STO 03 125 RDN 126 GTO IND 04 127 LBL 08 128 CF 04 129 FC 02 130 GTO 09 131 05 132 810 17 139 FC 09 134 GTO 10 135 RCL 01 136 BIT 137 RTN 138 GTO
36. and KY registers exchange contents P Q All digits P through Q lt 0 All digits P through 13 P Q GR At digit pointed to by active pointer R All digits 0 through the digit pointed to by R At the end of this article we hope is a partial listing of the instruction set purpose of most of the instructions is self explanatory since they have RPN counterparts or the meaning can be obtained by just looking at the instruction However there are few oddities wouldn t you know it HP does it to us again They will be explained below Word Task RSHFA Shift register A right one nybble as specified by the postfix The leftmost nybble is copied into the 2 leftmost digits RSHFB Same as above but for register B RSHFC Same as above but for register C LSHFA Same as the right shift but does a left shift RCR Rotate register C right by the number of digits specified by the postfix R Set the active pointer equal to the number specified by the postfix R Set carry bit if pointer equals the number specified by the postfix LD R Load the number 0 at the digit the pointer 15 at Decreases pointer by one FSET Set the carry flag if flag specified is set Well boss is it okay to write a short program now SURE SKWID EVERYTHING LOOKS GOOD UP TO THIS POINT We know that We shall write a lt gt 7 routine Keith Jarett one of our illustrious members we can t remember why it seems our memories have been
37. and the HP 110 LCOPY Efficient File Transfer Quality RPN for the 718 BLACKJAK Peter Ernst 9938 Rolf Schmitt 4643 Steve Wandzura 4635 Ed Borrebach 2400 Hans Trixer BITS amp PIECES the Personal Programming Center is Calilornia non profit public corporation dedicated to advancing the applications art of personal com puting is the oldest personal computing users group and publishes both the Computer Journal of PPC and the PPC Calculator Journal Address all cor rn amp nondence to 9599 Fountain Valley California 92728 9599 USA Telephone 714 754 6226 Copyright 1984 CALCULATOR JOURNAL The Personal Programming Center is an international users group of People Programming Computers Ace Pot Jake Schwartz 1820 David White 5353 Gary Friedman 6522 Steven O Harra 10623 Jeremy Smith 6676 PROGR Graham Fraser 10040 6 Jeremy Smith 6676 10 Fred Belinfante 6713 1 Clifford Stern 4516 11 Frans deVries 10993 12 Frits Ferwenda 10265 12 Michael Heinz 11222 13 Bruce Bailey 7115 15 Steven O Harra 10623 16 Mark Holzrichter 7751 18 Duane Smith 10552 18 Robert Greenberg 7894 19 Clifford Stern 4516 20 Ted Bailey 8538 21 Edward Keefe 5623 24 Ed Higgonbotham 1085 29 REGULAR HP STATUS FEEDBACK CHAPTER NOTES PPC the Personal Programming Center 15 Calitorma non profit pub ic beneti corporation de
38. atter because it s often necessary to start PAM running again such as after editing a file Here is the command summary FET Display a menu of most commands P PLIST the displayed file to specified device T designates output to Thinkjet Normal N or Compressed C S output to 82162A strip printer V output to 80 column video display L LIST the displayed file to DISPLAY IS device W Write the displayed file to to Mass Storage M or to Card C R Read specified file name in from Mass Storage M or from Card C M Display available memory bytes and Kbytes C Clear either DISPLAY IS device D or Loop L Shf DEL Purge displayed file EDIT Edit displayed file RUN Run displayed file if BASIC TIME Display the current time and date up cursor Go up one entry in the CAT sort of like a continuous CAT ALL dn cursor Go down one entry in the CAT ETL L LIST keys CTL EDIT EDIT keys HP IL commands could be used to allow more than one of the same type device on the loop and selection of which one or all of them would be active listeners talkers Brian Walsh 6951 2103 Huntingdon Chase Dunwoody GA 30338 10 DISP CHR 27 8 E e F 9 20 ON ERROR WIDTH 32 0 DELAY 3 30 DISPLAY IS D1 0 WIDTH 80 0 PWIDTH INF 0 DELAY 0 OFF ERROR 40 L CHR 137 amp PLWRMC amp CHR 179 amp CHR 131 amp CHR 141 amp CHR 129 amp CHR 132 amp CHR 133 50 L LS amp CHR 12 amp CHR 195 60 DISP 70 K UPRC
39. ause of the increasing overlap of the two machines caused by the advent of HP IL and associated peripherals The total number of pages per year was formerly 320 for CA and 192 for CO The total for the current PPC Journal is targeted at 576 or 64 pages more per year than the combined total of the previous Journals ar NA AA E WAP Bae SO Ee PRR y Or CHASE pe 2 SPECIAL ISSUE E Issue This special sample issue representing cross section e PPC Journal articles may be requested by any inter ested person by sending a Self Addressed Stamped Envelope 9 x 12 with 3 ounces of postage U S First Class attached or by sending a 1 bill please no checks The SASE is preferred and no correspondence is necessary For chapters universities and other large groups contact PPC for quantity shipments NOMAS Listings PPC has selected listings of the HP 41 system associated ROMs HP IL Timer Extended Functions etc and HP 75 system listings available on a NOt MAnufacturer Supported basis These listings have been made available to the user com munity with the understanding that those receiving the listings not contact the manufacturer regarding them Contact PPC for current prices and availability Remote Bulletin Board System PPC is in the process of imple menting a Remote Bulletin Board System to allow users to share software send in articles and programs and keep
40. dicated to advancing the applications art of personal com puting PPC i5 the o des personal computing users group and publishes bath the Computer Journal of PPC ana the PPC Calculator Journal Address ali cor CATIONS HP 71 Key Assignments Butchers Block Notes on GPIL IL Conv XI O amp IL Dev The Common Demoninator Zenrom Preview AMS Taking Advantage of HP IL Functions RAMPAGE Timing Your Talk With The HP 41C New SAVEK GETK Initialization Programs Base Conversions With The XFM EFT Extended Tower of Skelos An Editor For Program Memory Life In The Fast Lane Inverse Modulus Converting Decimal Numbers Kamikaze Keyboard Security System Non Normalized Save amp Recall In Ext Mem HP 41 Statistics An HP 16C Emulator HP 41 Interval Timer COLUMNS 5 FURTHER READING gt 55424 we erie 29 BIIS amp PIECES 225 cw respondence ro 9599 Fountain Valley Calitorma 92728 9599 USA Telephone 714 754 6226 16 SPECIAL ISSUE Copyright 1984 O CALCULATOR JOURNAL SEPTEMBER OCTOBER 1984 VIIN8 The Personal Programming Center 15 an international users group of People Programming Computers A P P ESEEC AST T1 05N S Gary Friedman 6522 Steven Brown 12101 Noel Brinkley 3736 Jason DeLooze 9374 Noel Brinkley 3736 SKWID 22 iie Mark Gessner 11922 Alan McCornack 9563 GR Rolf Schmitt 4643 Frans de Vries 10993
41. dress all correspondence to PPC POB 9599 Fountain Valley California 92728 9599 USA Telephone 714 754 6226
42. e the first number is lifted into the Y register by the second which goes into the X register stack lift disable is eeded period What about CLX you ask Well if you want zero press 0 If you want to replace X press RDN Why complicate life by making CLX play both roles Note stack lift disable is implemented in HP 41 programs so that programs transferred from the HP 41 will run on the HP 71 without modification by the user The translation program TRANS41 figures out whether the stack should be lifted or not and writes the translated program accordingly This works for all functions except ANUM which is indeterminate in its stack use Here s a puzzle for RPN experts How many forms of ENTER are necessary to handle all possible situations in programs For example if ENTER precedes a it be replaced by NOP What other cases are there COMMAND LINE VS KEY PER FUNCTION The HP 41 is strictly a key per function calculator 71 FORTH and BASIC both use a command line approach instead i e you type in one or more commands together using a simple line editor then press ENDLINE to execute the commands This is less keystroke efficient than the key per function method but more flexible in that you can execute several instructions together and you can edit the command line The command stack is another bonus of this method The HP 41 translator allows you to use either method The default mode is
43. e SDS system that would allow microcode in the ROM would have caused a three month delay so these routines did not materialize One reason alpha string and diagnostic routines did not materialize was lack of space and these kinds of routines tend to be memory intensive There was very little discussion of statistics routines and no specif ic statistics routines were actually submitted PPC K 1K 2D A DC DP DR DT E EP EX a FI FL MISC Additional Key Assign ments Store half of LB routine First Key Assignment Decode 2 Bytes to Dec A Assign Reg Finder of ROM 1 1 43 1 20 203 1 1 40 249 94 un HD HN HP Gaas i Alpha Delete last charac 1 6 98 ter Alphabetize X amp Y Alpha to Memory Alpha store b B Barcode Analyzer Block Clear Base B to base Decimal Block Exchange Block Increment BLDSPEC inputs for LB Block Move Block Rotate Block View Block Extremes Block Statistics Curtain Finder Complex Arithmetic Count Bytes Calendar Date to Julian Date Character to Decimal Clear Key Assignments Combinations Column Print formatting Curtain Up Curve Fit Curtain to absolute dec imal location in X D Decimal to Character Decimal to Fraction Decimal to Program Pointer Delete R amp cord Display Set Display Test End Finder Erase Program Memory Exponent of X F Free Register finder First Derivative Financial
44. efore the V flag is tied to the carry flag In 2 s complement mode the V flag will be set if the two added numbers are of the same sign and the sign bit of the result is opposite that of the original numbers and the carry flag and the new sign bit are opposite The flag rules for multiplication and division are another story altogether In multiplication the C flag isn t even used and if over flow occurs the MSB in the displayed result is replaced with the sign bit of the complete answer The multiplication and division functions however were not included in this program because felt the extra coding needed to implement these seldom used func tions would have made the program uncomfortably large I could be wrong If I get enough requests I ll gladly expand the program to include these EXAMPLES 1 9114 3210 77 91 01011011 32 11100000 59 C 100111011 As mentioned earlier there are 91 01011011 two ways to do this problem One t32 00100000 way is to add 91 to the 2 s comp 59 00111011 liment of 32 as illustrated on top This is equivalent to keying in 91 ENTER 32 CHS and results in a carry When subtracting however the carry flag means that no borrow from the 9th bit was necessary As the second binary example shows when you subtract these two numbers no 9th digit borrow was needed and no carry was produced either for that matter and therefore no carry flag was set In both examples the numer
45. endices for definitions of unfamiliar terms This project is unique in the history of software projects IBM and other large corporations have assigned multi tens of programmers to a software project but never before have over 100 programmers worked so long and so hard on a project without compensation of any kind ROM PROJECT is a community project in the true sense of the word The project has always been completely public with month by month reports openly published for all to study and respond to It took two years and two months to complete The first year was spent in mastering the 41 system and while we were first in line for HP s announced Custom ROM Program we waited until we could utilize the full power of the HP 41 to produce as complete a programner s ROM as possible We believe in true personal computing and that a so called higher level language is not always the path to greater computing power want to manage our always too small memory in ways we think are best prefer a flexible operating system that allows us to control our programming environment and we want a well thought out operating system that can be altered if we wish The routines in the PPC ROM express these interests and concerns Much of the work that went into the ROM is original and makes a contribution to the Art Here are a few examples Programmed and documented by hundreds of users Outstanding ratio of features
46. er function and creating a third function with different characteristics than the first two This programming technique originally dubbed Synthetic Programming was expanded to allow virtually full control of the HP 41 system registers The use of synthetic instructions in the HP 41 has worked for all varieties of HP 41 that have been introduced thus far but you should bear in mind that Hewlett Packard does not support or endorse the use of Synthetic Programming on your calculator If you should happen to call HP and ask about Synthetic Programming they ll either disavow any knowledge of it or refer you right back to PPC so don t call Hewlett Packard with questions about Synthetic Programming Synthetic Programming is purely a software technique to access new functions in your HP 41 and as such it won t cause any damage to you HP 41 hardware As with any new skill though there s a price that must be paid and the price for learning Synthetic Programming is paid with plenty of MEMORY LOST s Just to get you acquainted with some of the many synthetic in structions a few of them are listed below Display Printer 01 DSE 91 DSE 6 status registers 0 02 156 ISG Q and F display differently than 03 VIEW 0 VIEW 1 they appear on the thermal 04 X lt gt P lt gt f printer Compare the display 05 RCL 0 Characters with their printed 06 STO r a6 STOT counterparts on the byte
47. for the immensity and power this ROM makes available Page 12 The HP 41 Translator Pac for the HP 71 is introduced and discussed by its creator Dr William Wickes of Hewlett Packard s Portable Computer Division This module allows the HP 71 to become a super charged version of the HP 41 giving HP 71 users access to the huge established base of software already created for the HP 41 From PPC Journal V12N1P21 Page 15 Personal Applications Manager PAM has been written for the HP 75 computer by Brian Walsh 6951 This utility program is shell for the normal operating system that enables you to do your CATALL PLIST and mass storage manipulations easier than ever before From Computer Journal V3N4P31 Page 15 Another nice Biorhythm program for the HP 41 is demon strated by Meindert Kuipers 7612 and Eric van der MWateren 8146 This program which makes use of the functions in the Timer and Extended Functions modules or an HP 41CX is one of the shortest quickest biorhythm programs ever From PPC Calcula tor Journal V11N3P10 Page 16 Examples of the PPC Journal covers showing some of the many programs and applications that are available to PPC members in the PPC Journal Articles that have been in PPC Journals in recent months include o A complete description of the HP 75 0 ROM by Raan Young author of the ROM including several undocu mented commands included in the ROM CO V3N4P7 8 comp
48. g Center PPC is a California non profit public benefit corporation dedicated to the advancement of truly personal computing It is the world s oldest personal computing group formed in June of 1974 with the advent of the HP 65 To PPC members a personal computer is one that can be carried with him at all times by choice This does not include the so called transportable computers but we are always open to reviews and articles on machines that PPC members find of interest PPC members have been and continue to be instrumental in the advancement of state of the art machines The majority of PPC articles are in support of Hewlett Packard portable personal com puters and computational devices support the 10 series slim line programmable calculators the 41 series C CV CX the 70 series 75C D 71B the 80 series 85 86 87 and occasional inputs on the HP 110 The Portable can help you to get every ounce of performance out of all of these machines What is PPC a PPC is an educational information gathering and dis seminating organization that encourages active partici pation by its members serves as focal point for personal computer users to share their knowledge expertise and experiences This is done in the spirit that the only fair compensa tion for a priceless idea is another priceless idea We respect and encourage commercial interests o PPC has a unique editorial policy Member s
49. ic form RPN calculators shine when you are doing interactive calculating where you don t know in advance the precise path the calculation will follow The HP 41 Translator is actually the world s first RPN Algebraic calculator That is you can type in any algebraic expression actually any numeric expression understood by the HP 71 BASIC interpreter and the calculator will evaluate it and return the result to the X register The only constraint is that the expression contain no spaces which act as expression terminators Thus to evaluate the expression used as an example above you do not have to parse the expression mentally into RPN just type in 5 SIN 25 10 ENDLINE The result 9 23 goes into X lifting the previous stack contents You can mix RPN or algebraic format as you please for example 1 2 3 4 5 2 6 9 8 2 ENDLINE returns the result 24 00 evaluating 1 2 3 4 5 2 6 9 8 2 HOW DOES IT WORK One can imagine several ways of providing HP 41 capability on the HP 71 The most obvious perhaps is to translate the HP 41 operating system into the HP 71 CPU assembly language While this could provide exact compatibility and maximum program execution speed it would be a massive task complicated by the differing structures of the CPU s memories and keyboards of the HP 41 and the HP 71 The system would also have to be integrated somehow with the native HP 71 operating system And all future functions to be added to
50. ical answers were the same It is up to the user to know how to properly interpret the flags 2 You re assembling 6502 machine code by hand this is because your disk assembler has a fatal bug and the manufacturer refuses to update it with revision 1C if the index register X is not zero we must branch backwards to a routine named RN 1 which is located at address 0208 6 0229 DEX CA Decrement index reg 022A BNE RN 1 00 Branch if not equal 022C RTS 60 Return What argument do we put at line 022B in order to branch backwards to line 208 Since this is a relative branch the argument must be added to the current program counter which is 022C since the PC is always 1 step ahead and the result is the next address to be executed problem then is 208 16 22 16 00 SEE FLAGS XEQ d WORD SIZE 16 R S D XEQ HEX O H 208 ENTER 208 H 20 FFDC H 0 Since the answer s most significant bit is set the 6502 treats this as a negative number and branches backwards as we planned Notice the correct answer is obtained whether we re in unsigned or 2 s complement mode This program has been of tremendous help to me in my day to day DEC lt gt HEX lt gt DEC conversions and assembly work Not only does it alleviate the need to carry 2 calculators but it also provides an alternative to those of us who don t like ENTER keys that mush down 254 HP 16C EM
51. imary purpose of the Pac is to allow HP 71 owners to access the HP 41 software base either their own programs or published programs The real time calculator capabilities of the Pac are necessary to support this objective Inclusion of an editor is a step beyond the initial purpose in that programmers can write new HP 41 language programs or modify existing ones on the HP 71 Full access to a FORTH language system goes even further since programs can be written that have no backwards compatibili to the HP 41 patibility path 41 users programmers can use the HP 41 translator without any knowledge of FORTH FORTH programmers can use the FORTH system without any regard for the HP 41 emulator but they would be better off with the FORTH Assembler ROM which contains an assem bler You might view the FORTH language system underlying the HP 41 system as a bonus feature that can provide a growth path for HP 41 programmers to carry their RPN skills into a language simi lar in spirit to HP 41 language but providing vastly improved performance price for this performance is a requirement for more careful programming practices FORTH does not have the fool proof system protection of HP 41 language or BASIC The documentation of the FORTH system in the Translator Pac manual is taken mostly whole from the FORTH Assembler ROM manual That is it is only brief description of the properties of the 5 5 tem plus a list of definitio
52. int it SKWID 0 Box 3103 Tustin 92681 USA THE HP 41 TRANSLATOR PAC FOR THE HP 71 Bridging the Gap Can you imagine a new HP 41 with 5 times the memory and four times the speed of the HP 41 Able to display the entire stack after each operation With up to 10 000 direct access data registers With the ability to add new functions in RAM With a command stack With 12 digit mantissa and 3 digit exponent numerical accuracy and implementing IEEE floating point math exception handling With the capability of executing subroutines written in BASIC or FORTH At half the cost of the HP 41 Well forget the last one that s impossible for now But all the rest just describe the HP 71B with the 41 Translator Pac installed The Translator Pac is a 48K byte plug in ROM that adds to the HP 71 and HP 41 calculator mode which emulates the calcu lator operation of the HP 41 and can run HP 41 programs The Pac is scheduled to go the HP price list February 15 available mid February Here s a summary of the whole package PRODUCT DESCRIPTION 48K byte HP 71 plug in ROM module containing HP 41 emulator system with 147 built in standard HP 41 functions plus 23 additional HP 41 functions and operations unique to the emulator HP 71 Text Editor program for editing HP 41 programs and other HP 71 text files TRANS41 program for translating HP 41 programs into the emulator system READ41 program for automatic
53. lete telephone answering system including Touch tone decoding speech synthesis and phone logging all built around an HP 41 with an HP IL interface Friedman has done it again V11N6P23 amp V11N7P6 1001 binary methods of avoiding program decompilation described by Roger Hill 4940 This article original ly presented at the Philadelphia PPC Conference lets you keep programs that have been compiled from decom piling after being read in from mass storage devices preventing longer waits while XEQ s and GTO s recompile CA V11N7P20 o Butcher s Block a semi regular column by David E White 5353 The Butcher This feature delves into some of the hardware aspects of the HP systems and shows how you can make modifications and improvements to your own devices Also included are product reviews of new hardware various issues Greatest divisor for both integers and non integers by Bob Hall 1859 Bob has a great interest in the power of the HP 15C and is continually coming up with new programs for 10 series machines V12N1P15 and of course much much more in every issue Regular features include HP Status list of product delivery times Feedback letters from the user community with ques tions tips etc 9 Bits amp Pieces short notes to help you get the most out of your machines 6 Trading Post a no cost way for PPC members to adver tise their products to PPC Jour
54. ly held every Friday evening starting about 6 P M and ending in the wee hours of the morning Since meetings may occasionally not be held on holiday weekends it is best to contact the Workcenter first before visiting PPC Hotline This telephone 714 549 7674 provides the latest information relating to personal computing in a one to three minute message Product announcements bug reports PPC news and For Sale Wanted ads are available for members world wide bers can leave a message at the end of the recording if they so desire Chapters Local groups of users may form Chapter primary function of a Chapter is to form a communications network to aid in the information transfer process Chapter list 15 enclosed with this issue Member Handbook The PPC Member Handbook is a source of informa tion on and for the members of This reference will allow you to locate others in your area who share the same interests in Personal Computing HP 67 97 Library PPC is the official custodian of the Hewlett Packard User s Library A11 inquiries should be addressed to 67 97 Library c o PPC P 0 Box 9599 Fountain Valley CA 92728 9599 USA PPC Publications PPC Journal The PPC Journal is the main publication of PPC Previously we published the PPC Computer Journal abbreviated CO and the PPC Calculator Journal abbreviated CA These two Journals were merged in 1985 bec
55. mbined with the Devel opment ROM s ROT AND OR XOR and NOT functions let me use my 41 for just about everything I bought the 16C for For the uninitiated the IL Development ROM offers the essen tial bit manipulation and Hex Oct Bin I 0 capability that make this program possible In addition it offers low level IL com mands a scope mode so one can monitor the messages circling the loop and a buffer that can transfer anything anywhere without fearof normalization In short this well designed ROM offers something for every PPC member to play with NOTE Despite this article s title it is not to imply that this program will replace the 16C It merely emulates the 16C s behavior in simple addition and subtraction no doubt the 16C s most frequently used functions INSTRUCTIONS 1 XEQ 16C Display comes up 8 bit unsigned Hex display mode 7 keys now have new global assignments and are replaced by similar labels RDN SIN COS and TAN implement decimal hex octal and binary respectively 2 Key in problems as you normally would using RPN For exam ple to add 5E and 20 both hex press 5E ENTER 20 The result 7E is displayed To see the decimal equivalent hit DEC RDN and get 126 Octal is obtained by pressing OCT COS and binary can be seen if the number 15 10 digits or less by pressing BIN TAN 3 implement 2 s complement notation XEQ c shift SQRT Flag 2 annunciator is
56. mory to the HP 71 using the READ41 program in the Pac READ41 written in BASIC copies HP 41 program lines sent on HP IL by the HP 41 HP IL module function PRP which conveniently converts HP 41 program bytes into ASCII text either case the program ends up in the HP 71 as a replica of an HP 41 program listing this form you can use the editor further to modify the program delete lines search replace etc You can also insert comments into the gram this text form you can save the program on magnetic media The Translator Pac can not read HP 41 programs saved on mass storage by the HP 41 because they are in a tokenized form The next step is translation from HP 41 user language into a form suitable for use by the FORTH compiler This formidable task is accomplished by the Pac program TRANS41 also BASIC output of TRANS41 is another text file that looks very similar to the original program but has certain important differences 1 FORTH memory management instructions are inserted 2 The program s stack lift enable disable logic is sorted out 3 Program comments are removed 4 HP 41 number entry lines are converted to HP 71 format 5 Test functions are augmented with a FORTH branch word and 6 Alpha program lines are tweaked into a suitable format Any HP 41 function not requiring special handling according to this list is left unchanged This has the benefit that new func
57. nal readers Limited to twice per year insertion The Editor reserves the right to present material from the users viewpoint e NOP an errors column e Chapter Notes information provided by PPC Chapters So there you have it Take a look through this issue and after you re through you ll probably be another convert to the PPC way look forward to having you join us and hope that you get as much out of as you can We also look forward to your contributions to further the spread of information so go to it PPC SPECIAL ISSUE E 3 ENLARGEMENT TIMING The main purpose of this program is to calculate new exposure times for black amp white prints after the magnification ratio is changed The program prompts for the size aperture and exposure time of your old print and the desired size and aperture for the new print as well as how many F stops darker or lighter you want the new print to be Then it calculates the correct exposure time The size of the print can be given in several ways 1 If it is positive it is a reading from the scale on the vertical rod on your enlarger 2 If it is negative it is the width of the image of the negative mask on your paper 3 If it is zero then the program assumes that the old print is your normal contact sheet and sets the values accordingly 01 LBL 21 41 FC 22 02 FIX 1 22 LBL 01 42 0 03 LBL 00 23 NEM H 43 04 CLST 24 PROMPT 44 05 OLD H 25 gt
58. ns for each of the words in the built in dictionary documentation is suitable only for pro grammers already familiar with FORTH there is no tutorial mater ial provided There isis many fine FORTH books available to learn HP 71 FORTH from scratch you will have to study one of these books keeping in mind the differences between HP 71 FORTH and standard FORTH which are described in the Pac owner s manual by William C Wickes Hewlett Packard Portable Computer Division PAM FOR THE 75 This program was written some time ago in an effort to make the 75 act more friendly in everyday use and eliminate much of the drudgery involved in typing CAT ALL COPY PLIST EDIT etc many time The program is an outgrowth of discussions with Jim Walters 7692 without whos original idea this program may never have been written I use this program all of the time and find it speeds operation a great deal It operates much the way PAM does on the 110 150 and hence is named such It s not perfect but is a real convenience The reader should note the system configuration for which this is written and make the modifications necessary for his system 75 is used with or without the MC 80 column video interface 82161A Cassette Drive and either the 82162A Thermal strip Printer or 2225B Thinkjet Printer The AUTOLOOP program or I 0 ROM is required I have PAM assigned to autostart CHR 159 and also SHIFT RUN CHR 173 the l
59. o an otherwise anonymous member to protect his not so innocence SKWID gives brief introduction to assembly language programming with the HP 41 also known as MCODE programming The SKWID articles that appear periodically in the PPC Journal cover subjects ranging from MCODE programming to HP IL programming to tutorials on the operation of the HP 41 This one is from PPC Calculator Journal V11N5P6 Page 8 This is a brief description of the simplest method of getting started in Synthetic Programming without any other mod ules needed Using this technique you can immediately assign the Byte Grabber on your HP 41C CV CX and get started in the world of Synthetic Programming Also included are several exam ples of the use of the Byte Grabber for creating Synthetic in structions Page 9 The HP 41 Hex Table shows the entire HP 41 instruction set in both decimal and hexadecimal formats It also shows how each byte is represented both in the display and by the Thermal Printer Plotter Page 10 The Foreword of the PPC ROM manual is reproduced to give potential members a feel for what is truly the greatest creation by a group of volunteer programmers in the history of personal computing ROM is an 8K custom manufactured ROM contain ing an extremely wide variety of programs to enhance the use of your 41 Page 11 A complete list of all of the routines contained in the PPC ROM gives the user a feel
60. ons and recommendations for future user community software development projects OMe CD 7 19 word about bugs BUGs are of concern to all users We define a BUG to be a failure of a routine or pro gram to operate according to the complete instructions Unless precise inputs and conditions are specified you may have questions regarding the complete instruc tions If you think you have found aBUG we want to know about it But first you should realize that after hundreds of hours of testing we haven t found any major BUGs Therefore a considerable effort on your part should be expended before you think BUG and call the PPC Clubhouse Many bugs may be explained away by gaining a better understanding of the complete instructions do want to hear from you so your inputs may be included in the addendum Happy BUG hunting There were many ideas for routines in the ROM that for various reasons never became a reality It is possible that these creative ideas may appear in a future ROM would like to have seen more alpha string capabilities and diagnostic routines In the math aroup we would like to have seen some routines in the statistics area After reading this manual and mastering the PPC ROM you will no doubt think of several routines that you will feel should also have been included We had planned special microcode routines that would have simultaneously simplified and expanded memory management but th
61. picture so I adjust the enlarger head and read the value 21 from the rod F 8 and I want to make it a half F stop darker than in the contact sheet Display I do 0 00 XEQ OLD H R S contact sheet NEW H 21 R S from rod scale NEW F 8 R S CORR Z 1 X R S sor 5 R S 152 27 answer I make the print and it is perfect this is an example not real life Let s make a 30 cm 40 cm picture from it must be projected on to the floor Display I do 13 7 R S OLD H 21 R S OLD F 8 R S OLD T 5 30 R S width of picture NEW F 8 R S CORR R S 66 3 answer PPC SPECIAL ISSUE E REGISTERS 19 ROW D DW 2 5 DW 3 12 17 RO 18 23 ROW 37 44 ROW 52 58 ROW 10 58 802 0111 Pera 7644 Hallituskatu 31 A 17 5 90100 OULU 10 FINLAND HP 16C EMULATOR Those of us who program using assembly language had to invest a small amount an 16 or GaAsP LCD Programmer just to help calculate absolute branching addresses work with signed representation or evaluate carry and overflow flag status This program using the capabilities of the HP IL Development ROM and XF M emulates the basic functions of the HP 16C It offers variable word length of 0 32 bits signed and unsigned notation carry and overflow flags indicated by flag annunciators 0 and 4 and quick conversion between hexadecimal decimal octal and binary up to 10 bits This co
62. program transfer from the HP 41 to the HP 71 KEYS41 key file containing HP 71 key assignments for 41 keyboard functions 14 BASIC keywords for BASIC language access to the FORTH and HP 41 systems and to HP 71 text files HP 71 FORTH language system containing 335 built in FORTH words enhancing the FORTH 83 standard with floating point string HP IL and file handling words Owner s Manual HP 71 keyboard overlay for HP 41 key assignments A NEW RECORD This module sets a new record for the number of functions added to an HP calculator by a plug in module there are 486 functions in the ROM 147 standard HP 41 functions 23 new HP 41 functions 11 strange HP 41 functions used only by the system A 291 additional FORTH words 14 BASIC keywords This count does not include over 100 headerless words that could be used by a really ambitious and clever programming freak who has managed to decompile and decipher the ROM code The HP 41 function list includes the complete HP 41C CV program mable function set plus additional alpha register flag and conditional functions from the HP 41CX the timer alarm and extended memory functions are not available in the module s built in function set the single function TIME is included In addi tion all of the character printing functions from the HP 82143A Thermal Printer included for use with HP IL printers HP 41 functions not included in the built in function
63. s 145 and 122 ENTER ENTER RCL IND 23 RCL IND 17 RDN BG at ENTER SIGN BG at ENTER ISG N Bytes 150 and 118 TONE Z Bytes 159 and 113 ENTER ENTER RCL IND 22 RCL IND 31 LASTX BG at ENTER XoY BG at ENTER VIEW O Bytes 152 and 119 RCL F Bytes 144 and 107 ENTER ENTER RCL IND 24 RCL IND 16 CLX BG at ENTER R D BG at ENTER X lt gt P Bytes 206 and 120 LBL A Bytes 192 242 65 ENTER ENTER RCL IND 78 RCL IND 64 X Y BG at ENTER ZA BG at ENTER RCL Q Bytes 144 and 121 PACK to link CATalog 1 ENTER RCL IND 16 X Y BG at ENTER T PPC Bytes 245 34 80 80 67 34 01 ENTER 02 XPPCX X s used for BG at ENTER and the ASCII characters in the text line will now be individual instructions the byte grabber grabbed the text prefix byte Lines 03 and 07 will be E X 1 Delete these lines and replace them with RCL 02 BST to the ENTER then BG Delete the resulting text line and the STO 15 You ll see the modified text line with the special characters replacing the X s 72113 Bytes 244 6 4 5 1 01 ENTER 02 ABCD any four Alpha characters BG at ENTER and delete the four following instructions which used to be ASCII characters Insert LBL 5 LBL 03 LBL 04 and LBL 0 BST to the ENTER then BG Delete the resulting text line and the STO 15 You ll see the modified text line with hangman characters replacing the old Alpha characters E3 Bytes 27
64. set indicating 2 s complement XEQ c again will toggle back to unsigned representation Example 00 SEE FLAGS COMMENTS XEQ DEC D 126 165 ENTER D 165 32 E D 197 AEU E Dar g 2 Automatically checks display sign 224 D 123 0 2 Flag set indicating carry 4 To change word size XEQ d shift LOG Program will prompt for WORD SIZE friendly huh Enter word size up to 31 bits in decimal and R S EXAMPLE continued from above D 123 0 2 XEQ d WORD SIZE 16 R S D 133 2 5 is now 8 bits to the left and is resulting in a positive interpretation 5 exit and restore normal format XEQ newly de fined keys have now been cleared A few words about flag behavior are in order The 16C treats both the carry and overflow flags a little differently for each function The carry flag flag 0 for addition indicates that the sum is 1 digit longer than the given word size In subtraction it indicates that a borrow was needed to obtain the answer and generally the status of the carry flag for subtraction is the inverse of the equivalent function for addition FOR THIS REASON 5 ENTER 2 WILL NOT PRODUCE THE SAME CARRY FLAG STATUS AS 5 ENTER 2 CHS See example 1 later on The overflow or V flags flag 4 function is a bit more involved no pun intended Generally a carry indicates the result can t be represented in current word size which is the definition of the overflow In unsigned mode ther
65. t three nybbles of the c register The END resides in the last three bytes of this register So we must place a 3 in the fourth nybble from the right and the address of the END in the last three nybbles of the b register We will introduce you to the use of flags There are 14 flags Flags 0 9 have no special meaning and may be set and cleared as desired However flags 10 13 are given special meaning They are listed below Flag If Set 10 Program pointer 15 in ROM 11 Stack lift is enabled 12 Program pointer is in a private program 13 A User coded RPN program is running Now here is the routine Hexcode Mnemonic Description 085 TE Name 007 B 378 READ 13 c Get pointer to END register 106 A C S amp X Save END pointer in 04 0 ALL Zero C so there will be no pending returns 0 6 A lt gt C S amp X END pointer in 01 R 3 Set pointer 3 for loading with constant 000 LD R 3 Load 3 at digit pointed to by R 0C4 CLRF 10 Clear flag so that calculator thinks it is in RAM 2C8 SETF 13 Set flag so calculator will execute END 328 WRIT 12 b Write END address to register b 3 0 RTN Return POSTFIX Instruction M R lt R MS XS 0 0 01A 004 002 OIE 016 012 8 0 03A 02A 022 03bE 036 8032 0 05 04 042 05 056 052 A lt gt B 07A 06A 062 O7E 076 072 09A 08 082 09E 096 092 lt gt 0AA 042 OBE 086 0B C B 0DA OCA 0C2 ODE 006 002 C lt gt B OFA EA 0
66. table 07 TONE 7 TONE Z One of 128 synthetic tones 08 RCL F OS REL F Direct RCL of data register 197 09 LBL TA 9 LBL A A global not local LBL A 10 PPC Ig Pee Quotes in display text lines 11 77444 AAS ope Many special characters available 12 122 2 5 Short form EEX saves one byte T pg hex F null text line Over the years many techniques have been developed by PPC members world wi de to create these functions in their HP 41 Early tech niques used byte jumping or using HP 67 97 cards or modifying other HP 41 cards With the development of the PPC ROM Synthetic Programming became more readily available to thousands And to day with such programmer s aids as the ZENROM and CCD Module you can key Synthetic instructions directly into your HP 41 from the keyboard For those of you who would like to start out fresh with Synthetic Programming use the following technique PPC bug 9 to enter the byte grabber function into your HP 41 Master Clear back arrow ON to obtain MEMORY LOST ASN to the LN key ASN DEL to the LOG key Switch to USER mode Switch to PRGM mode Enter LBL T into memory any Alpha label will do Do CAT 1 and R S immediately with LBL T in the display Delete 1 line DEL 991 by pressing LOG then Wait a moment then for C or CV only press BST Do GTO 005 and you ll see LBL 03 in the display Delete 3 lines DEL 0
67. the system would have to be written in assembly language Another approach is to write an HP 41 interpreter in a high level language BASIC is an obvious choice since it is provided on the HP 71 However this approach does not take advantage of the normal program flow in the language of choice there are two levels of interpretation required which likely would lead to slow HP 41 program execution evaluation of FORTH which 15 intrinsically much faster than BASIC as a language for writing an HP 41 interpreter actually led to the introduction of the FORTH Assembler ROM for the HP 71 A third method is to translate HP 41 programs into a language already understood by the HP 71 This allows the translated programs to run under the control of the normal language interpre ter which eliminates the speed penalty of a second level of interpretation It also allows you to take advantage of all of the features of the native language in modifying or extending the HP 41 user language It does require the preliminary step of translating the original program into the new language but this needs only to be done once and does not affect run time execution speed The HP 41 Translator Pac as you might guess from its name takes the translation approach HP 41 programs are translated from HP 41 user language into compiled HP 71 FORTH executed like any other FORTH program under control of the FORTH inner loop FORTH was chosen over BAS
68. up the learning curve and experts can share their knowledge at the cutting edge of technology Correspondence When corresponding with PPC or with other mem bers you should always use your member number Individual written responses are provided on a time available basis To help facilitate a response enclose a SASE or postcard with your in quiry The PPC Workcenter phone number is 714 754 6226 for direct conversation regarding current issues relating to PPC Direct all mail to PPC 0 Box 9599 Fountain Valley CA 92728 9599 USA Membership The rates for a membership in PPC comprise two types First there is a one time new member processing fee This fee is charged to cover initial entry costs including items such as the Member Handbook The second fee is the yearly fee paid by the member that entitles him or her to 12 issues of the Journal Since the PPC Journal is published based on material received by the members there may be times when a month goes by without enough material for publication or sometimes when there is enough to publish every two weeks Although we try to keep to a once per month publication schedule the yearly rate is your fee to get 12 issues of the Journal 11 new memberships and renewals received within two weeks of mailing of a Journal will be sent that current Journal and membership will start from that date Those received after that time will start with the
69. user To this end we publish tutorials and beginner s programs as appropriate 6 PPC contributes to state of the art activities and cul tivates activities that increase the quality and de crease the cost of hardware firmware and software with the end goal of improvements to meet the user s needs e PPC is able to work directly with many manufacturers and dealers to provide you with discounts on items purchased for your portable systems Announcements of these spe cial buys are made in the Journal and on the PPC Phone Bulletin 6 PPC being at the cutting edge of technology is spon soring the introduction of Amateur Radio classes and related information for the purpose of transmitting computer data over the airwaves known as packet radio This is akin to modem transmission without the attendant telephone charges 9 PPC encourages local chapters to provide an information network for rapid collection and dissemination of the latest discoveries announcements and member and community accomplishments If you are the type of a person who desires to explore the capa bilities of your personal computer and find out new ways to pack more punch in your programs then PPC is for you People from all backgrounds from all over the world have found the many ways that PPC can assist them in their quest for knowledge PPC strives to keep a balance so that beginners can have their ques tions answered intermediates can continue
70. utions book executes about 7 5 times faster on the HP 71 than on the HP 41 Programs with lots of branches will run more slowly The multiple curve fit program from Curve Fit ting for Programmable Calculators by William M Kolb runs about 4 5 times faster on the HP 1 The Translator Pac is more profligate in memory use than the HP 41 The final compiled version of a program needs about 2 5 times as much memory in the HP 71 than in the HP 41 This differ ence corresponds to the difference between the one byte program tokens used by the HP 41 and the 5 nibble FORTH execution addres ses used by the HP 71 The translator also requires three differ ent versions of a single program the HP 41 user language text the translated text and the compiled version maximum of two of these needs to be present at any time you have a tape or disk drive only one version needs to reside in 71 memory at any time RELATION TO THE FORTH ASSEMBLER ROM The Translator Pac FORTH system is very similar to that contained in the HP 82441A FORTH Assembler ROM At first approximation the 14 PPC SPECIAL ISSUE E Translator Pac just is the FORTH Assembler ROM with the HP 41 vocabulary substituted for the Assembler the KEYBOARD IS lex file is also not present in the Translator Pac This has the drawback noted previously that both modules can not be plugged into the HP 71 simultaneously But further the two FORTH systems cannot share the same RA

Download Pdf Manuals

image

Related Search

Related Contents

Manual de Instruções: Acrobat PDF  ERM-3K4U User`s Manual ERM-3K4U User`s Manual  Omnixx  OmniMount LPHDM-T flat panel wall mount  Bosch 16186 Use and Care Manual  Zanussi ZRB 8441 W Instruction Booklet  プレスリリース - オレンジタグス  Samsung Galaxy S3 Slim manual do usuário  INDEX, ÍNDICE, INDICE, ÍNDICE 2 – 7 English 8 – 13  1. Objectivos da campanha - Instituto Superior de Agronomia  

Copyright © All rights reserved.
Failed to retrieve file