Home

V5N2 - Forth

image

Contents

1. Hardware Type do 4801 Randolph Road Creative Solutions nc Rockville Maryland 20852 301 984 0262 Multi FORTHTMis a registered trademark of Creative Solutions Inc Volume V No 2 15 FORTH Dimensions Yv Yv vy ww F 4e vv Fr v v v FF FF Fe P ww 32 Bit FORTH for the VAX VAXFORTH 32 is a 32 Bit FiG Forth for the VAX 1 1 it operates under the VMS Operating System It is fully coded in native mode and uses the full range of 32 Bit for its addresses and data SYSTEM SUPPORT Uses named relative Files for Screen Files storage Defines a User and a System Logical Name to store Files DCL commandline support with qualifiers Can load sequential Files created with a normal Editor Define a Startupfile for common Initialisation Support all Filetypes through access to ali RMS functions Get Time Date CPU Time Create and maintain Logical Names Special support for Batch processing Condition Handler Declaration to control Errors in FORTH Allocate Virtual Memory and reconfigure the FORTH System Redirectable Input Outputfunctions through Execution Variables Switchable Logfile Capabilities True native Code Create Forth Systemfiles with precompiled Modules Full extended Glossary for all Words in the Standard Dictionary available through the HELPfunction ADDITIONAL FEATURES 32 Bit single quantities 64 Bit double quantities with full variable Support Full Screen Ed
2. SI ZBRAN 02 50 9I L1676 0240 SI LEAVE OLDO 51I BRAN o260 oi L1678 0270L 1676 Q280 SI ONE DQO SI SUB QAo0L1678 ORLO SI FPLOOF ODO GI L1663 CARO SI SEMIS QA40 CORSO KK KKK KK KKK KKK KKK KKK K Oeo Q370L2464 ARBO BY 82 7 7 AD O90 SI L2453 O4O00FPN oO410 SGi DOCOL 0420 5I ZLESS DAND 5i ZBRAN Q440 GI LZ471 OGSo 5i MINUS 0466012471 0470 Si SEMIS 04803 O49 0 XoxoxoXookoooeoooeoeOCeOGICKX XX oi End Listing FORTH Vendors Continued from page 39 Intersystems Management Computer Consultancy Story Hill Rd RFD3 Dunbarton NH 03045 603 774 7762 Laxen Henry H 1259 Cornell Ave Berkeley CA 94706 415 525 8582 McIntosh Norman 2908 California Ave 3 San Francisco CA 94115 415 563 1246 Metalogic Corp 4325 Miraleste Dr Rancho Palos Verdes CA 90274 213 519 7013 Petri Martin B Computer Consultants 16005 Sherman Way Suite 104 Van Nuys CA 91406 213 908 0160 Redding Co P O Box 498 Georgetown CT 06829 203 938 9381 Schleisiek Klaus Eppendorfer Landstr 16 D 2000 Hamburg 20 West Germany 040 480 8154 Schrenk Dr Walter Postfach 904 7500 Karlstruhe 41 West Germany Software Engineering 6308 Troost Ave 210 Kansas City MO 64131 816 363 1024 Timin Mitchel 3050 Rue d Orlean 307 San Diego CA 92110 619 222 4185 Softweaver P O Box 7200 Santa Cruz CA 95061 408 425 8700 Technology Management Inc 1520 S Lyon
3. 2 PUE UTERE ft SSS tS EE WE 2 IUS Cap n Software 6 Mountain View Press 2 Shaw Labs Ltd Z 281 Arlington Ave P O Box 4656 P O Box 3471 i ipm Tom Berkeley CA 94704 Mountain View CA 94040 Hayward CA 94540 292 Falcato Dr 415 525 9452 415 961 4103 415 276 6050 Milpitas CA 95035 3 Inner Access 7 MCA 3 Sierra Computer Co 517K Marine View 8 Newfield Ln 617 Mark NE Boards amp Machines Only Belmont CA 94002 Newtown CT 06470 Albuquerque NM 87123 See System Vendor Chart 415 591 8295 8 Metacrafts Ltd 4 Sirius Systems for others 4 Insoft Beech Trees 144 Crewe Rd 7528 Oak Ridge Highway Controlex Corp 10175 S W Barbur Blvd Shavington Crewe CWI Knoxville TN 37921 16005 Sherman Way Suite 202B 5AJ 615 693 6583 Van Nuys CA 91406 Portland OR 97219 England 5 Software Federation 213 780 8877 503 244 4181 N 44 University Drive Datricon 5 Interactive Computer Arlington Hts IL 60004 7911 NE 33rd Dr 200 Systems Inc h AE 312 259 1355 Portland OR 97211 An Di e x Santa Cruz CA 95061 6 Software Works The 503 284 8277 mpa 408 475 7461 1032 Elwell Ct 4210 Golden River Corp J 0 Palo Alto CA 94303 7315 Reddfield Ct 1 IPS Mi i OT Erud 415 960 1800 Falls Church CA 22043 icrosystems inc oftware ardware es 361 Steelcase Rd W 3336 Avondale Court n pa ae Triangle Digital Services Ltd Markham Ontario Windsor Ontario Cha 5 TL 61820 23 Campus Road Canada L3R 3V8 Canada N9
4. 4 Lyons George 5190 West 76th St 3 Timin Engineering Co 581 Oakridge Dr 280 Henderson St Minneapolis MN 55435 C o Martian Technologies Redwood City CA 94062 Jersey City NJ 07302 612 831 0872 8348 Center Dr Suite F Sedis Tas LES La Mesa CA 92041 9720 Baden Ave M Q 619 464 2324 Chatsworth CA 91311 1 M amp B Design l ie d 26 4 Transportable Software 213 998 8302 820 Sweetbay Dr pq vod P O Box 1049 Eastgate Systems Inc Sunnyvale CA 94086 Reseda CA 91335 Hightstown NJ 08520 m And die 2 MicroMotion 2 Quest Research Inc 609 448 4175 Cambridge MA 02238 12077 Wilshire Blvd 506 DO Bor a gt Girton G T irton George Los Angeles CA 90025 App as BIR Y 1753 Franklin 213 821 4340 1 Valpar International Santa Monica CA 90404 3 Microsystems Inc R it E yos 4 213 829 1074 cson 2500 E Foothill Blvd 102 Rockwell Intemational 800 528 7070 Go FORTH Pasadena CA 91107 504 Lakemead Way Microelectronics Devices 213 577 1477 Redwood City CA 94062 P O Box 3669 4 Micro Works The Anaheim CA 92803 W 415 366 6124 P O Box 1110 714 632 2862 1 Ward Systems Group Harris Kim R Del Mar CA 92014 8013 Meadowview Dr Forthright Enterprises 714 942 2400 S Frederick MD 21701 P O Box 50911 5 Miller Microcomputer 1 Saturn Software Ltd 2 Worldwide Software Palo Alto CA 94303 61 Lake Shore Rd P O Box 397 2555 Buena Vista Ave 415 858 0933 Natick MA 01760 New Westminister BC Berkeley CA 94708 617 653 6136 V3L 4Y7 Can
5. D 2000 Hamburg 20 West Germany SPECIAL GROUPS Apple Corps FORTH Users Chapter Twice Monthly 1st amp 3rd Tues 7 30 pm 1515 Sloat Boulevard 2 San Francisco CA Call Robert Dudley Ackerman 415 626 6295 Baton Rouge Atari Chapter Call Chris Zielewski 504 292 1910 FIGGRAPH Call Howard Pearlmutter 408 425 8700 MMSFORTH Users Groups Monthly 3rd Wed 7 p m Cochituate MA Dick Miller 617 653 6136 25 groups world wide FORTH Dimensions FORTH System Vendors Computers Alpha Micro P3 S3 ADDI aoak vhs RES OD ERES AA F4 12 14 J1 L4 M2 M6 by Category M8 02 03 Atari tua cea uiud eias M6 P2 Q1 V1 Compa pee I RR PS M5 Codes refer to alphabetical listing CYOMEMCO 2 osse es ERR AS M2 M6 A M DECPDP LSI 11 C2 F3 L2 S3 e g Al signifies AB Computers etc Heath 89 o oo M2 M6 M7 Hewlett Packard 85 Hewlett Packard 9826 36 C4 Processors IBM PC inae eee XR e ea C2 F3 L1 M5 M6 Q2 S9 IBM Other L3 W1 TOO 11 eua tesa bed eere eres Ci C2 F3 F6 L3 Kaypro II Xerox 820 M2 6502 AIM KIM SYM R1 R2 51 Micropolis A2 M2 S2 6800 osea exXEXx4 Gs C2 F3 F5 K1 L3 M6 TI North Star e I5 M2 P1 S7 680l Luca or eR eee P4 ORATOR A AnS CS 6809 eene C2 F3 L3 M6 S11 TI Ohio Scientific A6 B1 C3 O1 S6 T2 68000 1 Lis o orc ORC C2 C4 Dl El K1 or
6. DO FORML P O Box 51351 Palo Alto California 94303 U S A cheap Memory is sometimes cheap sometimes very expensive The least encouraging aspect is the fact that there is no large scale educa tion effort to train FORTH program mers FORTH programmers are in short supply And quality is unde fined Pretty much if you want to hire a FORTH programmer you are going to have to train him and the quality of training is up to you If you find some one who says he knows FORTH it is very hard to judge how much he has learned If there were some courses which large numbers of people went through you could calibrate the peo ple by the course syllabus There is just not a significant effort in that direction It s been harder in the past than now It did not make sense for univer sities or high schools to teach people FORTH because there was no market for training Now there is a market al beit a small one and probably every university should have a course in FORTH or a portion of their basic computer training should address FORTH I would like to establish a university is perhaps too large a word a place where people come and spend a week or two a month or whatever learning about computers and FORTH If you are taking a course in computers which is taught in Pascal you mostly don t learn about computers you learn about Pascal You learn about how a certain class of people think programs should be writ te
7. LJ fig FORTH Programming Aids for decompiling califinding E Starting Doble dois Source Listing 15 and translating CP M IBM PC 280 or Apple 150 Best instructional manua O NOVA by CC User s Manual RO 2 available soft cover 18 includes editor assembler CROSS COMPILERS Allow extending modifying and compiling for hard cover 22 and utilities 25 Speed and memor ings p Y OGR CATAR OCU eee GOE O Installation Manual for fig FORTH 15 eRequires FORTH disk Source Listings of fig FORTH for specific CPU s and computers The eee eR d Sn Installation Manual is required for implementation Each 15 J FORTH Computer Jupiter Ace 185 C 8080 8086 88 L 9900 C APPLE Il T 16K RAM Pack 50 CL PACE c 6809 L NOVA O PDP 11 LSI 11 Cl 48K RAM Pack Ww 125 L 68000 0 Eclipse VAX L Z80 J Par Sec Interface 100 Ordering Information Check Money Order payable to MOUNTAIN VIEW PRESS iNC VISA MasterCard COD s 5 extra No billing or unpaid PO s California residents add sales tax Shipping costs in US included in price Foreign orders pay in US funds on US bank include for handling and shipping by Air 5 for each item under 25 10 for each item between 25 and 99 and 20 for each item over 100 Minimum order 15 All prices and products subject to change or withdrawal without notice Single system and or single user iicense agreement required on some products DEALER amp AUTHOR INQUIRIES INVITED MOU
8. a character is ready The CRT screen with direct cursor addressing becomes the visual workplace of the tasker Each function of the application pro gram is assigned as a task e g collect sort crunch save data This means that the operator has direct access to every pre defined word as well as the ability to define new words while in the multi tasker environment Very in teresting Print spoolers are easily incorpor ated as a task Simply move the data to a protected buffer and output one character from the buffer at each task cycle In this manner lengthy reports can be printed without tying up the system A Real Time Debugger Variables containing the results of intricate calculations can be examined interactively or in a monitoring mode they can be defined as a task With this method the contents of the variable ANSWER will constantly be displayed on the CRT at coordinate X y without causing any significant degradation of application speed 2ANSWER x y GOTOXY Answer ANSWER START 7ANSWER The power to interrogate display and modify during real time program execution qualifies the Multi Tasker as the second most valuable tool in my bag of tricks The first of course is FORTH FORTH Dimensions 22 Volume V No 2 Techniques Tutorial Henry Laxen Berkeley California In Volume IV number 6 of FORTH Dimensions we took a look at one of the underlying foundations of the Me
9. dedicated task This is only a brief introduction to the remarkable R65F11 There are many more features that deserve fur ther attention A full accounting of its power and utility could fill a book In fact the curious reader is encouraged to acquire the RSC FORTH Users Manual from Rockwell International Volume V No 2 25 C64 FORTH for the Commodore 64 FORTH SOFTWARE FOR THE COMMODORE 64 C64 FORTH TM for the Commodore 64 99 95 e Fig Forth 79 implementation with extensions Full feature screen editor and macro assembler Trace feature for easy debugging e 320x200 2 color bit mapped graphics 16 color sprite and character graphics Compatible with VIC peripherals including disks data set modem printer and cartridges Extensive 144 page manual with examples and application screens e SAVETURNKEY normally allows application program distribution without licensing or royalties C64 XTEND TM FORTH Extension for C64 FORTH 59 95 Requires original C64 FORTH copy Fully compatible floating point package including arithmetic relational logical and transcendental functions e Floating point range of 1E 38 to 2E 39 String extensions including LEFT RIGHTS and MID e BCD functions for 10 digit numbers including multiply divide and percentage BCD numbers may by used for DOLLAR CENTS calculations without the round off error inherent in BASIC re
10. then many and are now a community of thirty eight chapters throughout the world We soon will be stronger by an additional fifty one chapters that are now forming And yet this is just the tip of what is possible We are a com munity of 4 000 members likely to grow to 6 000 this year Many of the chapters reflect areas where there are concentrations of FIG members but many areas are not represented Take a look at the list of FIG chapters Is there a chapter in your area If not why not form one If yes are you sup porting it There are very few places in FORTH FORTH the U S Canada Australia England Japan New Zealand Sweden and West Germany that do not have enough FIG members to form a chap ter The purpose of the FORTH Interest Group is to disseminate information about FORTH encourage education in FORTH and promote interest in You and I use FORTH and the better we can promote it teach it and encourage its evolution the better it will help us Your effort can support a FIG chap ter The space on these pages is limited so in each issue I will list a few of the new chapters that are forming see box If you live in any of these areas offer your support to the chapter It takes a lot of voluntary effort to get these chapters started but once they proFORTH COMPILER 8080 8085 Z80 VERSIONS e SUPPORTS DEVELOPMENT FOR DEDICATED APPLICATIONS INTERACTIVELY TEST HEADERLESS CODE IN PLACE COMPILATION OF ROMA
11. 85 by Lange 90 m FORTH with FORTH 79 y ang L VIC FORTH byHES VIC20 references Flow charted 2 d C 1982 Rochester FORTH O HP 75 by Cassady amp 150 cartridge 60 Ed 25 E Proc 25 Enhanced FORTH with F Floating Point G Graphics T Tutorial S O Understanding FORTH by 1983 Rochester FORTH S Stand Alone M Math Chip Support MT Multi Tasking X Other Reymann 3 Proc 25 Extras 79 FORTH 79 E A FORTH Primer 25 ime l C L FORTH Fundamentals Vol baa O resin O FORTH Fundamentals Voi Languages as 1 Software Floating undamentals vol L ATARI by PNS F G amp X 90 Point 100 Il by McCabe 13 O METAFORTH by J CPIM by MM F amp 79 140 LJ 8087 Support Sj CL Beginning FORTH by Cassady 30 Apple GraFORTH by 75 IBM PC or 8086 100 Chirlian 17 Systems Guide to fig Multi Tasking FORTH by SL 9511 Support O FORTH Encyclopedia FORTH 25 CP M X amp 79 395 Z80 or 8086 100 Pocket Guide 7 O Invitation to FORTH 20 O TRS 80 or Ill by MMS LU cites Graphics O And So FORTH by Huang A O PDP 11 User Man 20 a X879 130 E a UM 2100 college level text 25 C FORTH 83 Standard 15 vU Ho by FD tape G X amp Management 200 O FORTH Programming by FORTH 79 Standard 15 i 945 Requires LM FORTH disk Scanlon 17 3 FORTH 79 Standard t TUTORIAL by LH includes ex 3 FORTH on the ATARI by E Conversion 10 Starting FORTH 95 L Victor 9000 by DE G X 150 Floege 8 3 NOVA fig FORTH by CC
12. John Forsberg 17740 S W 109th Place Perrine FL 33157 Michael Ham 3110 Alpine Court Iowa City IA 52240 Kenneth R Tenchard 6145 N Sheridan Rd Chicago IL 60660 Arne Flones 425 W 9th Wichita KS 67203 S A Orrell EG amp G Kirkland Operations P O Box 4339 Sta A Albuquerque NM 87196 Bsail Barnes 10348 146th Street Edmonton Alberta TSN 3A2 Jorge Phillips Briceno Carrera 8 85 24 apt 202 Bogota D E Colombia Haddenham Ely Cambridge CB6 3UL England M J Kerwick 17 Chapel Street Carrick on Suir County Tip Ireland Jerry Smith G W Smith Assoc 28 Center Street Newark DE 19711 Ron Skelton 1220 Winding Branch Circle Atlanta GA 30338 S Matthew Prastein Argonne National Lab EP362 E3038B Argonne IL 60439 Joe Kusner 515 East Liberty Street Wauconda IL 60084 312 526 2086 Emre Deniz Tufekcioglu 7823 Zimple B New Orleans LA 70118 504 733 8629 Lee Hustead 2909 Toll Gate Road Norristown PA 19403 215 539 7989 Chris Huntley 1551 Howard Ave Burnaby B C V5B 3S2 Niels Oesten Brostykkevej 189 Hui Dovre DK 2650 Denmark Klaus Schleisiek Eppendorfer Landstr 16 D 2000 Hamburg 20 West Germany Keith Elkin Dianavagen 30 11543 Stockholm Sweden Fig Chapters U S ARIZONA Phoenix Chapter Call Dennis L Wilson 602 956 7678 SPEED 10 PP U S AS LISTING SOFT WRIGHTS 840 VAN NESS 107 SAN FRANCISCO CA 94109 Northern California Chapter
13. MANNER SIMILAR TO THE WAY THE SCREENS MENUS WILL APPEAR TO THE USER THIS ALLOWS FOR RAPID SCREEN MENU DESIGN AND A SIGNIFICANT DECREASE IN MAINTENANCE EN HANCEMENT TIME AND COSTS THE LOOK SEE PACKAGE IS DE SIGNED TO HANDLE CHARACTER I O SUPPLIED MEMORY MAPPED BLOCK I O AND CURSOR ADDRESS ING WITH USER SUPPLIED ROU TINES TERMINALS SCREEN MENU TEMPLATES ARE STORED AS FORTH TEXT SCREENS TEMPLATES MAY BE USED INTER ACTIVELY OR COMPILED FOR both 16 and 32 bit Wil Baden pro posed a THEN IF concept to replace the CASE statement This may also be presented at FORML Ed Wedemeyer presented a paper outlining how he uses FORTH to map PROMs FIG Australia always has some thing interesting for us foreigners Lance Collins says that besides con ducting regular monthly meetings with members present his chapter has sev eral correspondence members who the chapter has to keep in contact with No Lance we don t think it is all Out Back As a last calm note Write me Write articles Support your local chapter Do something to get the rest of us stirred up As a learned sage once said Ask not what FORTH can do for you but ask what you can do for FORTH John Hall is the Chapter Coordi nator for the FORTH Interest Group and is a consulting programmer in Oakland California Chapters in Formation Contact Charles Shattuck Andy Biggs 206 Irene Ave 41 Lode Way Roseville CA 95678
14. Monthly Ist Wed 7 p m Monthly 4th Sat p m Mercury Savings FORML Workshop at 10 a m Beach Blvd amp Eddington Palo Alto area Huntington Beach Contact FIG Hotline Call Noshir Jesung SEPA 415 962 8653 714 842 3032 Los Angeles Chapter Monthly 4th Sat 11 a m Allstate Savings 8800 So Sepulveda Boulevard Los Angeles Call Phillip Wasson 213 649 1428 Orange County Chapter Monthly 4th Wed 7 p m Fullerton Savings Talbert amp Brookhurst Fountain Valley San Diego Chapter Weekly Thurs 12 noon Cali Guy Kelly 619 268 3100 FORTH Dimensions 36 Volume V No 2 o aa i a e COLORADO Denver Chapter Monthly 1st Mon 7 p m Call Steven Sarns 303 477 5955 o MASSACHUSETTS Boston Chapter Monthly 1st Wed 5 p m Mitre Corp Cafeteria Bedford MA Call Bob Demrow 617 688 5661 after 7 p m e MICHIGAN Detroit Chapter Call Dean Vieau 313 493 5105 e MINNESOTA MNFIG Chapter Monthly 1st Mon 1156 Lincoln Avenue St Paul MN Call Fred Olson 612 588 9532 MISSOURI St Louis Chapter Monthly 3rd Tue 7 p m Thornhill branch of St Louis County Library Call David Douda 314 867 4482 e NEVADA Las Vegas Chapter Suite 900 101 Convention Center Drive Las Vegas NV Call Gerald Hasty 702 453 3544 o NEW JERSEY New Jersey Chapter Call George Lyons 201 451 2905 eves e NEW YORK New York
15. Site License Exten sions from 1 000 If you recognize the difference and want to profit from it ask us or your dealer about the world of MMSFORTH MILLER MICROCOMPUTER SERVICES 61 Lake Shore Road Natick MA 01760 617 653 6136 FORTH Dimensions FOR 8080 Z80 8086 68000 MULTIUSER MULTITASKING A professional quatity full feature FORTH system at a micro price TaskFORTH Single double triple quadruple and floating point math trigonometric functions Case statements Interactive debugger Novice Programmer Protection Package Multiple thread dictionary System date calender clock Hierarchical file system Screen and serial editor Inter task communications Unlimited number of tasks Starting FORTH FORTH 79 and FORTH 831 compatible Graphics support TaskFORTH is the FORTH system you would write if you had the time ALL included for just 395 plus applicable taxes Available for CP M Northstar DOS Micropolis and Stand alone Visa amp MC Accepted Available soon t When standard is approved CP M is a trademark of Digital Research TaskFORTH is a reg trademark of Shaw Labs Ltd Single user single computer license agreement is required SHAW LABORATORIES LIMITED 24301 Southland Drive Suite 216 Hayward California 94545 415 276 5953 FORTH Dimensions 10dded
16. System 13MAY8SSHHL i SF S addr len z Oo DO DUP C C T i LOOF DROP 3 VARIABLE WIDTH T 4 VARIABLE LATEST T 5 HEADER S amp BL WORD C 1 WIDTH T MIN DUP IF 7 HERE T HERE ROT S T Lay down name save NFA amp LATEST T T Link Field DUF LATEST T 9 128 SWAP THERE SET 128 HERE T t THERE SET 10 Set the high order bits at each end of the Name 11 THEN 12 13 14 15 Figure One Scr 55 O Fig 2 Create a Target Image and Symbol 1 SMAYBSHHL 1 MAKE CODE S addr z e T 3 TARGET CREATE S8 4 gt IN HEADER gt IN Without moving input stream S3 IN SYMBOLS CREATE IN META HERE T Save cfa 6 DOES MAKE CODE 7 CODE S e TARGET CREATE HERE T 2 T ASSEMBLER 9 10 11 12 13 14 15 Figure Two Scr 56 Fig 3 High Level Meta Definitions 13MAY8S3HHL 1 J S8 2 BEGIN x DEFINED IF EXECUTE ELSE NUMBER T THEN 4 AGAIN o 2 f So amp TARGET CREATE NEST T J 7 B 9 10 11 12 1 14 15 OK Figure Three FORTH Dimensions 24 Volume V No 2 Review The R65F11 FORTH Chip Randy Dumse Grand Prairie Texas The advent of the R65F11 FORTH based microprocessor signals a new era of low cost hardware tailor made for dedicated applications This mic rocomputer hosts not only a very im pressive list of hardware features but also the run time portions of the FORTH language and an operating system designed specifically for
17. THEN SORT DEPTH DO CR LOOP Example 25 4 326 125 stack items to the return stack When SINK finds only one item on the stack it does nothing In unfolding the recur sion all the items are retrieved from the return stack In the first pass SINK moves the larg est item to the bottom of the stack With each subsequent pass SINK moves the next largest item down in the stack SORT executes SINK a number of times equal to the number of items on the stack minus 1 leaving the items or dered from largest at the bottom to smallest at the top Finally SORT out puts the numbers in the desired order If more than one no on stack then move smaller item to return stack SINK through stack then back out DEPTH l DO SINK LOOP Sort numbers on stack Print them out 628 75 SORT 628 4 1 25 25 75 326 As defined above SORT always sorts the entire list of numbers whether it needs sorting or not With the addi tion of a FLAG as shown below SORT VARIABLE FLAG SINK DEPTH 1 gt IF OVER OVER THEN lt IF SWAP FLAG gt R MYSELF R gt THEN SORT DEPTH l 0 DO 1 FLAG SINK FLAG IF LEAVE THEN LOOP DEPTH DO LOOP executes SINK at least once but no more than is necessary to place the data in order If do swap clear FLAG Set FLAG Run through data If FLAG still set then no swap performed so sort is complete
18. U S Department of Energy as a demonstration project It is the first application of solar energy in the state of California by the Industrial Process Heat branch of the DOE for Solar Production of Industrial Process Steam The system furnishes 105 psi steam for laundry and dry cleaning ap plications meeting 25 of the laun dry s annual steam needs and resulting in savings of approximately 300 bar rels of oil each year The solar system consists of 406 linear parabolic trough collectors mounted on a lightweight steel struc ture which spans the laundry s parking and storage area at roof height The flow through these collectors and through the various pumps is moni tored by a network of temperature pressure and solar radiation sensors which are in turn monitored by a device called a data logger The data logger closes the control loop by electrically commanding the operation of valves and pumps to maintain the operation of the system The purpose of the data acquisition system which is resident in an external Z 80 based microcomputer is to in terrogate the data logger at regular in tervals It then collects formats and stores the resulting data and uses this data to create reports for feedback to the Department of Energy During each data acquisition cycle which occurs every two minutes twen ty one calculations are performed These results are saved in a file along with the original data c
19. and said Yes right on But don t think people are that malle able There will be people who sit at home and work from home Like myself But I don t do it over a com munication network through some computer in downtown Los Angeles 1 just do it all by myself When I finally get a product I will take it and person ally interact with the people I am working with I m ambivalent about the place of computers in society I don t really like computers in the sense that a youth might love a car I think I more hate computers because they keep breaking and being awkward to deal with They never live up to my hopes I did think of one use for a computer though Back in the Sierras there were mosquitoes I could see a little solar powered or laser based zap per I wear on my head that shoots mosquitoes And any mosquito that comes within two feet of me is dead And make sure it knows the dif ference between mosquitoes and peo ple Is your line of sight clear Suppos ing you miss I got a hair that time I think that is very feasible especially if the computer was accurate enough that it could say shoot the wing right at the narrow joint It wouldn t take much energy but it would disable the mosquito so that it was no longer a nuisance I would rather have a com puter doing that than shooting down ICBMs I think that is much more per sonal but that s not the kind of thing people have in mind Any gene
20. application is automated sheep shearing A photograph showed a sheep held in one robot arm about two feet off the floor and shears held in another robot arm Robotics in mo tion picture special effects was de scribed It included a sophisticated device which holds a camera and a miniature model has 24 degrees of freedom operates in real time i e 24 Hertz and is programmed in FORTH on an LSI 11 The hardware demon stration session included two robot arms and Androbot s toy robot named TOPO The successes of today s ro botics was put into perspective by Don Davenport of Standard Oil of Ohio by comparing state of the art robots to the mosquito A mosquito has a tiny brain of only several thousand neurons yet it is capable of flying landing drilling feeding avoiding attack tactile and visual sensing mating and reproduction More large companies sent repre sentatives and delivered talks on their projects than ever before Even the National Bureau of Standards described a robotics project under development there The project s scope is the complete automation of a manufacturing factory Charles Moore demonstrated a computer design automation program he has produced to assist him in the design of FORTH printed circuit boards and integrated circuits He al so talked on his view of the successes of FORTH and future of FORTH He stated that FORTH is successful be cause it is the only language that has directly
21. could be a good spoken language if we eliminate some am biguities that are in it The language needs to have a con text This is something missing in the discussions that take place about robots I perceive a robot differently than people do at the moment Of course I maintain that I m correct and they are wrong A robot has to be aware of the environment It has to know things that a machine doesn t Everyone is kind of aware of this but they don t see the profound require ments The things a robot is interested in are not the things a human being is interested in It really doesn t care what the temperature is for instance human beings are preoccupied with temperature it had better be between 68 and 72 or there is going to be a comment made But a robot ought to be mortally preoccupied with the exact state of its charge and the location of the nearest re charge outlet In order to make a robot behave what we would call intelligently we have to make sure it understands a lot of things For instance a lot of con cepts simple to human beings are not easy to program The concept of on or under or within The fact that small things can be put inside larger things if the shape fits that light things can be put on top of tables but heavy things really can t We need to describe the world somehow in a way that is relevant to the computer Whereupon we don t have to explain it anymore It understands the w
22. found cfa f 6 7 FIND TASK g 8 BEGIN DUP MAX TASKS 9 WHILE DUP 2 TASK LIST DUP 8 4 PICK 19 IF ROT ROT 2DROP 1 EXIT 11 THEN DROP l 12 REPEAT 2DROP 13 14 gt 15 Screen 2 Multi tasker cont 1l 2 Add a background task to the TASK_LIST 3 Used in the form START cccc a 5 START tess j 6 FIND 7 HERE COUNT TYPE 8 IF DROP CFA FIND TASK 9 IF l 18 added to task list 11 ELSE too many tasks DROP 12 THEN 13 ELSE not in dictionary 14 THEN CR 15 gt 12 81 82 store CFA into task table FORTH Dimensions Volume V No 2 Screen 3 9 Multi tasker cont 12 01 82 1 Remove a task from TASK LIST 2 used in the form KILL cccc 3 KILL FIND 4 HERE COUNT TYPE 5 IF DROP CFA FIND TASK 6 IF DUP 2 SWAP 7 drag the rest of the task list back over 8 the task being removed with zero at end 9 TASE _LIST MAX TASKS 1 2 3 PICK CMOVE 18 removed from task list 11 ELSE not in task list 12 THEN 13 ELSE not in dictionary 14 THEN CR 15 gt Screen Multi tasker cont 12 01 82 1 2 TASKER MAX TASKS f 3 DO I 2 TASK LIST DUP 4 IF save current cursor position 5 in case background task must 6 write to screen 7 SAVE CURSOR 8 transfer to slave task 9 EXECUTE 18 restore cursor position li RESTORE CURSOR 12 ELSE LEAVE position empty q
23. has implemented or is implementing FIG FORTH on the TI 99 4A Maybe TI will be marketing a FORTH product superior to what I have put together but at least I can say I m the first kid on my block with FIG FORTH on his TI 99 4A It sa fun project Don t keep me in the Twilight Zone guys If you re out Changing of the Guard A little more than two years ago I was planning the first all FORTH is sue of Dr Dobb s Journal Making contact with the FORTH community and acquiring good FORTH code and articles took the better part of two months It was a pleasure to meet the new people and to learn new ways of finding software solutions And it was a challenge to make sense of what of ten seemed like and sometimes was hieroglyphic code It was such a satisfying and rewarding project that we made the DDJ FORTH issue an annual event As a result when the FORTH Inter est Group asked me to become the editor of FORTH Dimensions it was a pleasure to accept I look forward to renewing old friendships and to mak ing many new ones in the course of publishing some of the most exciting and important material in the micro computer industry I would like to begin my tenure by expressing a collec tive vote of thanks to former editor Leo Brodie He is continuing his work in the FORTH community and will undoubtedly be seen at various FORTH meetings speaking of which have you made plans to attend this fall s conference in S
24. iS OO l O2 OA Oz Qt Q6 Q7 og C 10 11 mA a 13 14 C N N ua RH 7X 6502 FORTHRSH DRIVE 1 CONDITIONAL COMPILIER FER SHIRA GAUKEL GRG21MAY8Z BACK DELETED BECOMES ECHO FOR COMMA BEGIN 7COMF HERE 1 IMMEDIATE THEN 7COMF 2 7 7FAIRS HERE SWAP 3 IMMEDIATE ENDIF tCOMPFILE3J THEN IMMEDIATE DO COMPILE DO HERE 3 IMMEDIATE LOOP 4 7TFAIRS COMPILE LOOP 3 IMMEDIATE LODF 3 FAIRS COMPILE LOOF 3 IMMEDIATE UNTIL 4 PAIRS COMPILE OBRANCH IMMEDIATE gt SCRH 74 6502 FORTHHRH DRIVE 1 CONDITIONAL COMFILIER FER SHIRA GAUFEL GRGZIMAYSS END LCOMF ILEI UNTIL IMMEDIATE AGAIN 1 PAIRS COMPILE BRANCH s IMMEDIATE REPEAT cR GR COMPILE BRANCH Re Re 2 CCOMPILE ENDIF IMMEDIATE IF COMPILE ORRANCH HERE O 2 IMMEDIATE ELSE 2 PAIRS COMPILE BRANCH HERE SWAP 2 CCOMPILE THEN 2 IMMEDIATE WHILE CCOMF ILEI IF 2 3 IMMEDIATE 19 COMPILE BRANCH ADDRESSES NOT THE OFFSET fm A ET a I EA Gi OOo FORTH Dimensions 28 Volume V No 2 a PM Listing Four j 0010 F79 007 OOZO EXAMPLES WITH OFFSETS ELIMINATED OOXO POINTER LABEL TO ADDR IS USED OO SS OOOO OOO IO GK OO40 DOBOL 1657 DDOD BY 89 TRAILIN C7 s TRAILING 0070 SI L1634 OOSBODTRAI o09u SI DOCOL DIO SI DUF O11o0 Si ZERO Q120 SI FDO Qi3OL1665 DIJO 5I OVER OYSa SI OVER 0160 5I PLUS O170 S1 ONE DIBO 51 SUR Qi19o SI CAT O200 SI BL 0210 5I SUB QO220
25. it was much easier to do things and I could do much more so I thought my productivity was increased But at the time I kind of accepted the notion of write one program a year Pve heard a couple different stor ies about your first practical applica tion of FORTH The first one was in carpet design the pattern in carpets high resolution graphics This was not raster this was a vector graphics system And even with the kind of FORTH I had then I could do complex pictures that mov ed not that that was relevant to car pets I could do in 4K and a tenth of a second what otherwise would have taken several seconds And you could n t effect motion that way and it would have been too large to fit in available memory So you went from pedestrian to ex tra terrestrial by working next in as tronomy and instrument control Well after the graphics I got invol ved with a large data base manage ment system There I was using FORTH as the operating system and interfacing with Cobol modules All of the real transaction processing was to be done in Cobol Fortunately the operating system aspect of FORTH was emphasized there and it did a very good job Performance was dra matically greater than we could have achieved any other way At that point I began to suspect that I could have coded the Cobol modules in FORTH more easily than in Cobol I didn t dare push it because that was asking people to believe too m
26. original design except the pulse generating unit with a 100mm x 100mm board with the R65F11 as the CPU All the control analysis data formatting and system status func tions which had been performed by five densely packed CMOS boards essentially were replaced with one FORTH based micro a latch and a ROM As before the data was delivered to the radio link for transmission Use of FORTH as the programming language clearly was desired since the lead time to an acceptable program using machine code was far too long for the project requirements The system architecture is as follows The front end unit uses a program which shows FORTH at its maximum flexibility The pulse width transmit cycle control functions variable gain control and receiver pulse discrimination are performed in machine code so that the execution of FORTH Oimensions UA i E EE PUT I SUR these functions is limited to the minimum time required freeing the processor for the far more important analytical functions which are run in FORTH For our purposes we con sidered the speed of sound through water invariant so that we could generate all calculated functions by referring to the system clock cycle time The cycle begins with a 600 volt p p transmission pulse with a short 832 microsecond pulse width The FORTH master program then stages the gain control voltage over a para boli
27. over what I started with The only reason I get the credit is that the remainder of the credit is diffused If you want to point a finger it s going to point at me because everyone else is harder to identify From my point of view FORTH is a tool which I devel oped for my own use and that is still the way I see it The FORTH I m in terested in is the one I m using I keep trying to find a more useful set of words that will make it even easier What motivates you Doing things well That s true of a lot of scientists Perhaps someone has addressed a problem in the past but you see a way of doing it to one more decimal place The decimal place is sufficient justification Volume V No 2 FORT H VICTOR 9000 Microcomputer Dai E FORTH Levelt Beginners Package in Fig FORTH Style Including Screen Editor 8088 Assembler Graphic Interface Sound Generation Math matical extensions games and many more And So FORTH 374 page manual US 150 Dai E FORTH Leve 2 Professional Level FORTH Package Will conform with the proposed 1983 standard Features On line Documentation Decompiler Debugger tracen Viewer help Line Editor and Screen Editor 8086 8088 Assembler Meta Compiler Double precision Math extensions Native Operating System file handler True LRU disk buffer mechanism Separate header Graphics Sound Interface Hashed dictionary structure Multi
28. people it s such a long hard sell FORTH is still nibbling away at the underpinnings of technology and it will probably prevail But it will prevail not by edict from above but by infiltration from below Do you see the concept of personal computing transforming our work or our lives in general That s a very difficult subject I don t know I don t have a personal computer I have use of this LSI 11 but I have never owned a computer There is nothing I want a computer to do for me It could turn on the televi sion at prescribed times but I can do that just fine I can t promise in ad vance that I am going to want the tele vision turned on As a communica tions device that talks to information banks I m not involved in the profes sional life that requires access to infor mation so there is a limit to my infor mation about the weather or the stock market even bulletin boards The thing 1 would like a computer to do for me is make phone calls And it can almost In a few years I will be able to say someone s name and ex pect the computer to find them for me and put them on the speaker And if it can t find them to make a note to try again later People as a whole I think the com puter has an important effect on their lives but not a profound effect No more so than say a television set It may be that the purpose of the com puter is in a cultural sense that society needs computers in order to organize its
29. reviewing this work both are of the Laboratory TRACE TRACE 0 DUP TO TRACE for Laser Energetics at the University IF 0 TO INDENT THEN of Rochester I would also like to thank the University of Rochester Computing Center for the use of an CR IN CR INDENT SPACES performs a CR and indents toggle tracer flag If tracer is turned on the indentation is reset STACK CR IN STACK print the contents of the stack or DEPTH DUP print stack empty If the contents Apple II computer in preparing this IP 1 SWAP of the stack is printed the element work DO I PICK 1 on top of the stack is printed right LOOP ASCII EMIT most A character is printed to ELSE EMPTY THEN prevent any other output to trouble the picture of the stack didi el ae Soe Se Letters Continued from page 4 e 3 TRACE IF STACK If in trace mode print the stack and print the name of the calling routine Special for pre increment systems undefined words Please give careful specifications for those undefined words I m new to FORTH and you CRIN R 2 CFA TNAME can t assume that I know how to fill in CRHIN R CFA TNAME for post increment systems the gaps And I could use more help l 10 INDENT increment the indentation counter with files and I O We need a relation THEN al data base management system and DBMS services that can be requested MEE 4 TRACE If in trace mode
30. tasking Available for CP M MS DOS or stand alone versions US 350 available in second quarter 1983 SYSTEMS INC MULTI LANGUAGE COMPUTING SYSTEMS 503 682 3201 29783 Town Center Loop West P O Box 790 Wilsonville Oregon 97070 U S A FORTH Dimensions A PREMIER OFFERING TO THE FORTH COMMUNITY A limited number of R65F11 Microcomputer FORTH Development System at a special price 2 Input Output Parallel Port 9 VAC Power supply Power terminal a PROM address decoding Three JEDEC RAM ROM EPROM Sockets By the time you read this ad we should receive our first shipment of production R65F11 Microcomputers the 6502 based single chip microcomputers with the run HICSS BEES 22K 00 4 4 oe 9e We X 4 a UM a E ag E The 100 squared features on board rectification and regulation of power from a 9 volt AC or DC power source Terminals are there if you prefer to use your own regulated RS232 Serial Port R65F I FORTH based microcomputer Power on reset circuitry Expandable actual size Expandable to 16K bytes of external memory Flexible clock circuitry 1 us minimum instruction execution time portions of FORTH in ROM This chip 5V supply An on board DC to DC convertor time 2 MHz features a complete FORTH based can provide negative voltage for the RS232 NMOS silicon gate depletion load operating system and is ideal for dedicated interface either way Address decod
31. up the code portion of the word by an indirect pointer called the Parameter Field Ad dress Pointer PFAPTR The entire definition may be in one place or it may be separated into two parts It is always possible to find the code from the head The reverse is not true however Programmers of dedicated applica tions will find the selection of words rich in content All the math and stack functions of FIG FORTH and several double number extensions from FORTH 79 are included The run time constructs of DO LOOP BEGIN WHILE AGAIN and UN TIL programming structures and es sentially all I O words are in internal ROM Even the low level disk hand lers below R W are in the single chip computer This allows about 4 mega bytes of mass storage by adding a 1793 type floppy disk controller and associated support circuitry Construction of minimal part com puters is now feasible The board which we at New Micros Inc have designed around the R65F11 is 100 millimeters on a side It features an RS 232 port two parallel TTL ports an AC power supply PROM based ad dress decoding three JEDEC general purpose RAM ROM PROM sockets These will accept 2016 2128 5517 6116 and 5564 RAMS 2716 2732 and 2764 EPROMS and 2816 EE ROMS etc totaling 16K bytes A user can easily develop a program in a high level language on this computer transfer the program to EPROM remove his RS232 terminal and leave the computer system to perform a
32. use radio telemetry to send the generated data to the bridge we could combine our speed information into the data stream without difficulty We could save the customer the substan tial sums spent on cable maintenance and provide a safer working environment for the deckhands who had to string two coax sections the entire distance at each tow change ir respective of time of day or weather conditions 13 Initial trials of the system es tablished both its utility and the cor rectness of our assumptions That was the good news The bad news was that the system could not discriminate between good returns and spurious echoes or noise Obviously the problem couldn t be completely in tractable since the depth sounders in use did have acceptable performance levels However currently available units are quite large both in physical size and in component density At this point we entered a vicious cycle of test analyze redesign and retest It became apparent that to produce ac ceptable performance with hardware we would eventually be driven to the same level of complexity and cost as the units currently available A better solution to the problem was clearly required With the advent of the Rockwell R65F11 FORTH based microproces sor we had the tool required to rapidly get up the development curve to an acceptable and hopefully tech nologically advanced product We replaced all the discrete components of the
33. 0 Machine Tests Memory disk printer and console tests with all source code in standard Zilog ABILLO DL Sh erg pc QE RETE TT RIEN EM tang Gita Aveo hte kc hn cessed Cac E E eee rar On 50 00 8080 and Z 80 application development systems require 48 kbytes RAM and 1 disk drive 8086 and 68000 require 64 kbytes Prices include shipping by UPS or first class mail within USA and Canada California residents add appropriate sales tax Purchase orders accepted at our discretion Master Charge and Visa accepted Disk formats available Standard CP M 8 SSSD Northstar 5 QD Micropolis 5 QD Sage 5 DD Apple 5 Victor 9000 5 Kaypro 5 Osborne 5 DD i Micromate 5 4 IBM PC 5 4 Standard MS DOS 5 4 SSDD Most other formats can be special ordered Laboratory Microsystems Inc 4147 Beethoven Street Los Angeles CA 90066 213 306 7412 Z 80 is a registered trademark of Zilog Inc Augusta is a trademark of Computer Linguistics CP M is a registered trademark of Digital Research Inc dBASE Il is a trademark of Ashton Tate IBM is aregistered trademark of International Business Machines Corp PC FORTH and PC GEN are trademarks of Laboratory Microsystems Inc FORTH Dimensions 34 Volume V No 2 FIG Chapter News John D Hall Oakland California FIG is formalizing the connection between FIG chapters around the world in order to strengthen FORTH by strengthening the FORTH com munity We were once one person
34. 18 bit programmable counter timers with latches Serial port Ten interrupts FORTH interest Group We are offering a special order price of 220 00 This is 30 off our list price but to reserve your board WE MUST HAVE YOU ORDER NOW This is a limited time offering ACT NOW Ed Enclose Payment With Order To New Micros Inc 2100 N Hwy 360 Suite 1607 Grand Prairie Texas 75050 214 660 1106 Telex 79 5551 ees eee eee ee FORTH Dimensions 10 Volume V No 2 I like to do things well If I see someone else s word processor I might say Yeah he s got a couple of neat things there but I see how I can put that in my word processor and it would be really nice I m motivated to do that Particularly any neat good idea that comes out in FORML or in the FORTH community I will employ or add to my repertoire Not just copying it not just adding a subrou tine but thinking about it and maybe qualifying it a little bit to be more compatible with my way of doing things What do you do to get away from it all Go for a walk in the mountains Last summer we took a hike in the Sierras Used to have a boat and would walk down to it at the harbor I don t spend all my time at a keyboard mostly because it takes a while for ideas to occur to me that are worth im plementing FORTH is nice in that regard Anything I want to do I can do in an afternoon It s almost never the case that a proj
35. 50 00 PC TERM communications program for PC and Smartmodem 0 2 20 eee eese 60 00 Hierarenical file manager x oue St oe cd ads ata wo Maka tee oem do re Re ED nd aM gine a es 50 00 Bree INdexX Managers is a ake et ee e rop eda ed De eee A ee ox ol ate ee ees 125 00 B tree index and file manager uo eet bh dG ee bi oe eae aw P dex scd ad ss 200 00 QTF Screen editor and text formatter by Leo Brodie for IBM PC with IBM or Epson printer eeee RR e ahhh 100 00 Nautilus Cross Compiler allows you to expand or modify the FORTH nucleus recompile on a host computer for a different target computer generate headerless and ROMable code Supports forward referencing Produces executable image in RAM or disk file No license fee for applications Prerequisite Application Development System for host computer Hosts 2 80 CP M 2 2 or MP M Il 8086 88 CP M 86 or MS DOS IBM PC PC DOS or CP M 86 68000 CP M 68K Targets 8080 Z 80 8086 88 6502 LSI 11 68000 1802 Z 8 Cross Compiler for one host and one target 0 ce ere 300 00 EacliadditiOnabtargel a sis 6 tikes 32 ee ood ney ent ck need fea scu re eee eae S 100 00 AUGUSTA ADA subset compiler from Computer Linguistics for Z 80 computers under CP M 2 2 90 00 LEARNING FORTH computer assisted tutorial by Laxen and Harris for CP M includes Brodie s staring FORTH B formatonlyy serere S Era EH xt ha eet 66S eee rec Ee LE Da dos ee ad 95 00 Z 8
36. 822 7727 2 Acropolis 17453 Via Valencia San Lorenzo CA 94580 415 276 6050 4 Applied Analytics Inc 8910 Brookridge Dr 300 Upper Marlboro MD 20870 5 Aristotelian Logicians 2631 E Pinchot Ave Chertsey Surrey Phoenix AZ 85016 England KT16 9LA 7 Abstract Systems etc 4 Consumer Computers RFD Lower Prospect Hill 8907 La Mesa Blvd Chester MA 01011 La Mesa CA 92041 8 Armadillo Int Software 714 698 8088 P O Box 7661 5 Creative Solutions Inc Austin TX 78712 4801 Randolph Rd 512 459 7325 Rockville MD 20852 1 Chrapkiewicz Thomas 16175 Stricker East Detroit MI 48021 2 CMOSOFT P O Box 44037 Sylmar CA 91342 3 COMSOL Ltd Treway House Hanworth Lane FORTH Dimensions 6 Capstone Computing Inc 5640 Southwyck Blvd 2E Toledo OH 43614 419 866 5503 Emperical Research Group P O Box 1176 Milton WA 98354 206 631 4855 2 Engineering Logic 1252 13th Ave Sacramento CA 95822 j t Fantasia Systems Inc 1059 The Alameda Belmont CA 94002 415 593 5700 3 FORTH Inc 2309 Pacific Coast Highway Hermosa Beach CA 90254 213 372 8493 4 FORTHWare 639 Crossridge Terrace Orinda CA 94563 5 Frank Hogg Laboratory 130 Midtown Plaza Syracuse NY 13210 315 474 7856 6 FSS P O Box 8403 Austin TX 78712 512 477 2207 1 HAWG WILD Software P O Box 7668 Little Rock AR 72217 m IDPC Company P O Box 11594 Philadelphia PA 19116 215 676 3235 Volume V No
37. BLE TARGET CODE MULTIPLE PURGABLE DICTIONARIES FORTH 79 SUPERSET AVAILABLE NOW FOR TEKTRONIX DEVELOPMENT SYSTEMS 2250 are functioning and reach a sufficient number to keep going they are easier but don t let down your guard they will always need your support Chapter News Well did you know that the Greater Oregon FORTH In terest Group GOFIG has a newslet ter It s called the GOFIG Gazette and the way it is growing it may someday rival FORTH Dimensions In May it had tutorials on FORTH 79 DOES and FORTH 79 Vocabularies as well as code on terminal I O and upper and lower case conversion You say you haven t seen it Talk to your local chapter All newsletters meeting handouts and chapter meeting summaries sent to me are redistributed to all chapters each month At the May Orange County FIG meeting Zane Thomas demonstrated his 68000 Alpha Micro FIG FORTH MICROPROCESSOR BASED PRODUCT DESIGN SOFTWARE ENGINEERING DESIGN STUDIES COST ANALYSIS ELECTRONICS AND PRINTED CIRCUIT DESIGN PROTOTYPE FABRICATION AND TEST REAL TIME ASSEMBLY LANGUAGE proFORTH MULTITASKING DIVERSIFIED STAFF MICROSYSTEMS INC 213 577 1471 2500 E FOOTHILL BLVD SUITE 102 PASADENA CALIFORNIA 91107 Volume V No 2 35 FORTH Dimensions ADVANCED SCREEN MENU DESIGN FOR FIG 8080 Compatible FORTH THE SOFT WRIGHT S FORTH LOOK SEE PACKAGE ALLOWS THE FORTH SYSTEM IMPLEMENTOR TO DESIGN SCREENS MENUS IN A
38. Chapter Monthly 2nd Wed 8 p m FIG of NYC P O Box 452 East Elmhurst NY 11369 Call Tom Jung 212 432 1414 Ex 157 Rochester Chapter Monthly 4th Sat 2 p m Hutchison Hall Univ of Rochester Call Thea Martin 716 235 0168 Syracuse Chapter Call C Richard Corner 315 456 7436 Volume V No 2 e OKLAHOMA Tulsa Chapter Monthly 3rd Tues 7 30 p m The Computer Store 4343 South Peoria Tulsa OK Call Bob Giles 918 599 9304 or Art Gorski 918 743 0113 e OHIO Athens Chapter Call Isreal Urieli 614 594 3731 Dayton Chapter Twice monthly 2nd Tues amp 4th Wed 6 30 p m CFC 11 W Monument Ave Ste 612 Dayton Call Gary M Granger 513 849 1483 OREGON Portland Chapter Monthly 2nd Sat 1 p m Computer amp Things 3460 SW 185th Aloha Call Timothy Huang 503 289 9135 e TEXAS Dallas Ft Worth Chapter Monthly 4th Thurs 7 p m Software Automation Inc 14333 Porton Dallas Call Marvin Elder 214 392 2802 or Bill Drissel 214 264 9680 San Antonio Chapter T L Schneider 8546 Broadway Suite 207 San Antonio TX 78217 e VERMONT Vermont Fig Chapter Monthly 4th Thurs 7 30 p m The Isley Library 3rd Floor Meeting Room Middleburynes VT 05491 Call Hal Clark 802 877 2911 days 802 452 4442 eves VIRGINIA Potomac Chapter Monthly Ist Tues 7 p m Lee Center Lee Highway at Lexington St Arlington VA Call Joel Shprentz 703 437 9218 eves 37 FOREIG
39. E 1X6 2 London E17 5PG 416 475 2383 519 969 2500 England 8 Satellite Software Systems K 2 Offete Enterpr abe p an 288 West Center Application Packages Only 1 Kukulies Christoph San Maleo C A 94402 Orem UT 84057 See System Vendor Chart Ing Buro Datentec MES 801 224 8554 for others Heinrichsallee 35 3 On Going Ideas 9 Spectrum Data Systems Cuny Associates Aachen 5100 RD 1 Box 810 West Germany Starksboro VT 05487 5667 Phelps Luck Dr P O Box 11324 802 453 4442 Columbia MD 21045 Palo Alto CA 94306 L 301 992 5635 415 322 1463 1 Laboratory Microsystems P 10 Stearns Hoyt Electronics InnoSys 4147 Beethoven St 1 Perkel Software Systems 4131 E Cannon Dr 2150 Shattuck Ave Los Angeles CA 90066 1636 N Sherman Phoenix AZ 85028 Berkeley CA 94704 213 306 7412 Springfield MO 65803 602 996 1717 415 843 8114 2 Laboratory Software 2 Pink Noise Studios Systems Inc P O Box 785 T Consultation amp Training Only 3634 Mandeville Canyon Crockett CA 94525 1 Talbot Microsystems See System Vendor Chart Los Angeles CA 90049 415 787 1534 1927 Curtis Ave for others sel 3 Professional Mgmt Services Redondo Beach CA 90278 Bartholomew Alan 3 Lynx 724 Arastradero Rd 109 2 Technical Products Co 2210 Wilshire Blvd 289 3301 Ocean Park 301 Palo Alto CA 94306 l P O Box 12983 Santa Monica CA 90403 Santa Monica CA 90405 408 252 2218 Gainsville FL 32604 213 394 0796 213 450 2466 4 Peopleware Systems Inc 904 372 8439 Boulton Dave
40. End Listing 16 Volume V No 2 Rieks Joosten State University of Utrecht The Netherlands A tracer is a tool that can be very useful in debugging routines by print ing the names of the routines that are executed and printing stack contents This paper describes a way of imple menting such a tracer Introduction There are many things a tracer can do such as printing the names of ex ecuting routines dumping the arith metic stack before and after execu tion of the routine dumping the re turn stack user values etc It seems that such a tracer would be the tool that enables a programmer to exactly pinpoint the bug s in his routines but the risk he runs is that he cannot do this if he gets swamped by the infor mation supplied by the tracer The highest form of a tracer would be one which tells you where things went wrong Such a tool has not been made yet It is my experience that when you print the name of a routine that ex ecutes together with the arithmetic stack dump before and after the ex ecution of this routine you will have more than enough data to distill the bug s This will give you the oppor tunity to check the syntax of the new definition Also when you create compiler directives you can watch them compile Using a Tracer It is very simple to create a word that will print the name of the calling routine when this routine itself is compiled as the first routine in the
41. Multiply s also Di oS some Execute Code Rees and materially affects the market ability of the product line The ease with which this program could be modified to generate an entirely new line of products such as a storage tank level sensing device is obvious The conclusion is that FORTH based dedicated systems can have a powerful effect on the future of industrial sys tem design hes J a n gt e oe E A is She y oho FORTH Fundamentals 395 00 Advanced Systems amp Tools 495 00 For further information please send for our complete FORTH workshop catalogue Have You Gotten T Companies such as IBM Atari Varian Hewlett Packard Dysan and Memorex are now using FORTH for a number of applications If you are concerned about efficiency and transportability then FORTH is a language you should learn Join the FORTH Revolution e Intensive 5 day workshops e Small classes e Experienced professionals e On site classes by special arrangement Inner Access Corporation P O Box 888 Belmont CA 94002 415 591 8295 FORTH Dimensions 32 Volume V No 2 8080 Z80 FIG FORTH for CP M amp CDOS systems FULL SCREEN EDITOR for DISK amp MEMORY 50 saves you keying the FIG FORTH model and many published FIG FORTH screens onto diskette and debugging them You receive TWO diskettes see below for formats available The first disk is readable by Digital Research CP M or Cromemco CDOS and contains 8080 so
42. N e AUSTRALIA Australia Fig Chapter Contact Ritchie Laird 25 Gibsons Road Sale Victoria 3850 051 44 3445 FIG Australia Chapter Contact Lance Collins 65 Martin Road Glen Iris Victoria 3146 03 29 2600 Sydney Chapter Monthly 2nd Fri 7 p m Morven Brown Bldg Rm LG16 Univ of New South Wales Sydney Contact Peter Tregeagle 10 Binda Rd Yowie Bay 02 524 7490 BELGIUM Belgium Chapter Contact Luk Van Loock Lariksdreff 20 B2120 Schoten 03 658 6343 CANADA Nova Scotia Chapter Contact Howard Harawitz P O Box 688 Wolfville Nova Scotia BOP 1X0 902 542 7812 Southern Ontario Chapter Monthly 1st Sat 2 p m General Sciences Bldg Rm 312 McMaster University Contact Dr N Solntseff Unit for Computer Science McMaster University Hamilton Ontario L8S 4K1 416 525 9140 ext 2065 Quebec Chapter Call Gilles Paillard 418 871 1960 or 418 643 2561 ITALY FIG Italia Contact Marco Tausel Via Gerolamo Forni 48 20161 Milano 01 645 8688 e NETHERLANDS HCC FORTH Interest Group Chapter F J Meijer Digicos Aart V D Neerweg 31 Ouderkerk A D Amstel The Netherlands SOUTH AFRICA Contact Edward Murray Forthwith Computers P O Box 27175 Sunnyside Pretoria 0132 SWITZERLAND Contact Max Hugelshofer ERNI amp Co elektro Industrie Stationsstrasse 8306 Bruttisellen 01 833 3333 WEST GERMANY West German Chapter Klaus Schleisiek FIG Deutschiand Postfach 202264
43. NTAIN VIEW PRESS INC PO BOX 4656 MOUNTAIN VIEW CA 94040 415 961 4103 Key to vendors CCI Capstone Computing Inc DE Dai E Systems FD Forth Dimension Insoft LH Laxen and Harris LM Laboratory Microsystems MM MicroMotion MMS Miller Microcomputer Services NS Nautilus Systems PNS Pink Noise Studio SL Shaw Labs Volume V No 2 19 FORTH Dimensions A Simple Multi Tasker Ray Duncan Los Angeles California This article presents a simple I O driven multi tasker written in FIG FORTH which allows one to execute several background tasks concur rently with one foreground task It can be added to your FORTH system very easily if your system uses vec tored I O or you have the source code for the nucleus The approach shown here is quite unsophisticated in com parison to the multi tasking facilities in poly FORTH and does not allow for multiple users However it con siderably simplifies programming in applications which need to rapidly poll several peripheral devices and still remain responsive to operator input and can also be used to support a print spooler The heart of the program is the routine TASKER which is repeatedly called by the word KEY whenever it is waiting for keyboard input TASKER examines TASK LIST whose length is defined at compile time by the constant MAX TASKS Each word in TASK LIST is either zero or the CFA code field address of a background task The backgroun
44. O 007 OBRAN DURO QOg90 DIOD 0110 Q120 O130Z BRAN Q1i4o O150 0160 OL7OZBYES o1830 O190 OZ2O0 OZIOZRENO Q2 20 Oe SO 0240 O2S50X Q260xX Q270 X 0280 Z4 F79 001 BRANCH FOR 6502 USES FOINTER FOR BRANCH AND ELIMINATES NEED FOR OFFSETS BEY 86 RRANC C8 BRANCH SI L75 SI 2 LDA IF Y FHA INY LDA IF Y STA XIP 1 FLA STA XIF JMF NEXT 2 C 1982 G R GAUKEL F79 002 BRANCH FOR 6809 USES POINTER FOR BRANCH AND ELIMINATES NEED FOR OFFSETS WORDM BRANC H FDR x 2 LDY Y LDX Y COMPILE NEXT INLINE JMF L X WORDM 7 OBRANC H FDE 2 LDD U ENE ZENO OOOO COMPILE BRAN INLINE LDY Y LDX Y t COMPILE NEXT IN LINE JMF XI LEAY 2 Y LDX Y COMPILE NEXT IN LINE JMP L X3 C 1982 G R GAUkEL Listings Continued George Gaukel Tacoma Washington In the 6502 and 6809 implementa tions the inner interpreter uses 16 bit absolute pointers for address resolu tion This would imply a design philo sophy of compiling absolute pointers whenever possible The use of offsets in the branch control structures is an exception to the use of absolute ad dresses Let s take a look at the control structures in the models and see what they actually do At compiler time they start with a direct pointer left on the stack by HERE and use BACK and THEN then they compute and compile an offset At run time the branch primitives convert the offset back to the same pointer w
45. SA Foreign O FIG FORTH amp Full Screen EDITOR package AIR Minimum system requirements 80x24 video screen w cursor addressability 8080 or Z80 or compatible cpu CP M or compatible operating system w 32K or more user RAM Select disk format below soft sectored only ccc c ccc eee ee hen 50 65 O 8 SSSD for CP M Single Side Single Density Cromemco CDOS formats Single Side S D Density O 8 SSSD O 8 SSDD L 5 SSSD oO 545 SSDD Cromemco CDOS formats Double Side S D Density O 8 DSSD 8 DSDD O 5 DSSD O 5 DSDD Other formats are being considered tell us your needs D Printed Z80 Assembly listing w xref Zilog mnemonics ce eee ee eee 15 18 O Printed 8080 Assembly listing cece cece cence cece ccvenccccevevenevsceece 15 18 TOTAL _W__ Price includes postage No purchase orders without check Arizona residents add sales tax Make check or money order in US Funds on US bank payable to Dennis Wilson c o Aristotelian Logicians 2631 East Pinchot Avenue Phoenix AZ 85016 602 956 7678 Volume V No 2 FORTH Dimensions FORTH for Z 80 8086 68000 and IBM PC FORTH Application Development Systems include interpreter compiler with virtual memory management and multi tasking assembler full screen editor decompiler utilities and 130 page manual Standard random ac cess files used for screen storage extensions provided for access to all operating system functi
46. Specify APPLE CP M or Northstar Dealer inquiries invited FORTH Dimensions Ver 2 For your APPLE II II The complete professional software system that meets ALL provisions of the FORTH 79 Standard adopted Oct 1980 Compare the many advanced features of FORTH 79 with the FORTH you are now using or plan to buy expectation that the rise and fall of the bottom of a waterway usually will not exceed thirty degrees of slope which generates vertical velocities on the order of twenty feet per second or so at typical towboat velocities The FORTH range gating routine also generates a single digit number between zero and nine which is a magic number that we call the confidence level This number is a complex function based on a number of factors such as first hit in gate or out of gate multiple hits gain setting required to attain at least one hit and several other factors This confidence level is then used to scale the gain and transmit schedules The information in these schedules is then loaded into the machine code program which actually does transmit receive function Clearly the ability to perform these quite sophisticated analyses and to transfer control data directly into a machine code program is unique to FORTH Without using the power and flexibility of FORTH the lead time to FORTH 79 FORTH 79 Version 2 For Z 80 CP M 1 4 amp 2 x amp NorthStar DOS Users The complete professional software syst
47. St Santa Ana CA 92705 714 835 9512 pre pi E li pi i yp SS Se Volume V No 2 29 FORTH Dimensions Debugging From a Full Screen Editor Tom Blakeslee Woodside California One of the problems with most de bugging aids is that you must contin ually look back and forth between a listing of the program and the screen to keep track of where you are This program adds single step capability to the Laxen full screen editor Dr Dobb s Journal Sept 1981 so that the cursor pops from word to word as the program is executed one step at a time The parameter stack contents are displayed at the bottom of the screen after each program step Any program output to the screen will be displayed just below the stack display To debug a word you simply put what you want on the stack before calling the editor You then use the normal cursor control keys to position the cursor on the first word you want to execute Each time you hit con trol W you will enter the next word in 38 LIST SCR 98 sequence and display the results By watching the stack display you can see whether it is doing what you want If a bug is found while stepping through the program you can make immediate changes since you are still in the editor with the cursor positioned at the offending word After making a change you can immediately resume debugging The new function is installed by simply loading screen 98 below just before screen 80 in the Laxe
48. Tutorials e Worldwide FIG Meeting Vendor Meetings Banquet Panel Discussions e Awards FORTH is for everyone The FORTH computer language is used in video games operating systems real time control word processing spread sheet programs business packages DBMS robotics engineering amp scientific calculations and more Learn about FORTH and make your life easier The convention will show you how FORTH Based Systems A Look into the Future is the theme and will cover FORTH applications FORTH based instru ments FORTH based operating systems and more Those wishing to participate and be speakers and or panelists are urged to contact the Program Coordinator immediately Telephone the FIG hotline 415 962 8653 PROGRAM FRIDAY OCTOBER 14 SATURDAY OCTOBER 15 EXHIBITS Noon 6 pm EXHIBITS 9 am 5 pm 11 30am Registration 10am Aids for Handicaps 1pm IBM PC FORTH Systems 11am Automatic Programming Systems 2pm Data Base Programs Noon Lunch 3pm FORTH Based instruments 1pm FORTH Chips amp Computers 4pm FORTH Based Instruments Il 2pm FORTH Chips amp Computers Il 5 pm CAD CAI CAE CAM Computer Aided 3pm Intelligent Peripherals Systems 4pm FORTH 83 Standard FORML Preview 6pm Exhibits Close 5pm Exhibits Close BANQUET 7 pm Saturday Reservation and payment required 25 00 ROBOTS ROBOTS ROBOTS Thomas Frisina President Androbot Inc Convention registration is 5 00 Special convention room rates ar
49. U SO SP nA Fa ol tala atta ntes ante See ros esee camen me AL FORTH INTEREST GROUP MGE OC Box 1105 2A 5an Carlos CA 94070 uw Hi Jte tea TM tee SAL Im ule M A Ter iere mes ee hee ADD ROBERT SMITH 2300 ST FRANCIS DR PALO ALTO CA 94303 Address Correction Requested
50. URSOR FOR STACK DISPLAY C 40 SPACES CLEAR LINE FOR STACK DISPLAY D 17 CRTXY 5 SHOW STACK E R DIN R gt BLK RESTORE F MOVE CURSOR RESTORE CURSOR POSITION OK FORTH Dimensions 30 Volume V No 2 FORTH Applications Conference Kim Harris Palo Alto California The 1983 Rochester FORTH Ap plications Conference was held at the University of Rochester in New York state on June 8 to 11 1983 About 100 people attended Robotics applica tions were emphasized but many other topics were covered Eight invited speakers started the conference by describing robotics projects and related issues There were about forty oral presentations of pa pers to be published in the conference proceedings and there were poster sessions equipment demonstrations working groups and a panel discus sion Several presentations were excel lent and several were poor Compared to previous FORTH con ferences both Rochester and FORML some good trends were no ticeable There was more academic in volvement seven university professors attended and presented papers and twenty one university students did likewise There were even two high school students showing science fair projects using the Jupiter Ace computer There were more applications dis cussed than at previous FORTH con ferences A robotics project at the University of Massachusetts is inte grating tactile feedback into robotics One
51. Volume 5 Number 2 July August 1983 2 50 P EE St am 3 Hone ut MU SUAM UHR ID EVA A AA I E AC e S Lr 7s ALI le RM Moore on FORTH FEATURES Interview with Charles Moore Marlin Ouverson 5 FORTH Cheaper than Hardware Peter J Lagergren 13 Recursive Sort on the Stack Dr Richard Turpin 16 Tracer for Colon Definitions Rieks Joosten 17 A Simple Multi Tasker Ray Duncan 20 A Simple FORTH Multi Tasking Environmebl ese aeiia Martin B Petri 22 Voice of Victor 9000 es Timothy Huang 26 6502 and 6809 Absolute Branches George Gaukel 27 Debugging From a Full Screen Editor Tom Blakeslee 30 FORTH Applications Conference Kim Harris 31 DEPARTMENTS Letters soni OE asi nad disais DIU RR LO Re RIES otissu pan ite 3 Editorial Changing of the Guard eee 3 Techniques Tutorial Meta Compiling Il Henry Laxen 23 Review The R65F11 FORTH Chip Randy Dumse 25 FIG Chapter News eee John D Hall 35 vii Tiniis ai a A Et OP ai POR ORS AMI OS aod VM MUTA A AMAYAPROA T Mum cnt IE n a a AT NTS GI M a uma Ari ARE d Lea CF nO PAE RATER Qu rdc HE HH itisitiuimuiutitiar xdi ty contact your nea
52. ada 415 644 2850 Continued on page 29 M A M M u R G P RR SS EE RR Volume V No 2 39 FORTH Dimensions RPM Yeay n Haar on ace unma maa Heb mca es aA icu P TR en Nm PME pm a n Ea s Tha LS MU srt aE oe AN MH MC Amm leen a Cr CES Eh D NO ATIS rin BAL URB ag d S PRI MOD SNL er ala at Rm ns i Dm tye desee Ta QATAR E al TA o neci del Arena ae mons tbe tag FORTH INTEREST GROUP Oe end rymma Ante Sana MAIL ORDER FOREIGN Membership in FORTH Interest Group and 15 27 Volume V of FORTH DIMENSIONS i Back Volumes of FORTH DIMENSIONS Price per each 15 18 CH Cu Cm mi _ fig F ORTH Installation Manual containing the language model 15 18 of fig F ORTH a complete glossary memory map and installation instructions JAssembly Language Source Listings of fig F ORTH for specific CPU s and machines The above manual is required for installation Check appropriate box es Price per each 15 18 _ 1802 16502 6800 16809 vax zso 18080 8086 8088 _ 9900 APPLE H ECLIPSE PACE L_JNOVA PDe 11 j eoo0 JALPHA MICRO Starting FORTH by Brodie BEST book on FORTH Paperback 18 22 i C Starting FORTH by Brodie Hard Cover 22 27 i JPROCEEDINGS 1980 FORML FORTH Modification Lab Conference 25 55 PROCEEDINGS 1981 FORML Conference Both Volumes 40 55 _ Volume I Language Structure 25 35 i L Volume II Systems and Appli
53. addressed the problem of communciations between a human and computer A panel discussion was held to dis cuss the impact of FORTH on large company management Several people who have introduced FORTH into large companies related their experien ces and gave advice Some selected highlights of the con ference demonstrate significant devel opments in FORTH s position in the computer industry General Electric described an fexpert system implemented in FORTH Such systems are very ad vanced useful new applications of computers which try to capture the wisdom of a human expert in a program The expert system described tried to diagnose faults in diesel locomotives made and repaired by GE The goal was to reduce repair time by semi trained technicians to that of experts with over twenty years of experience A prototype system was implemented in LISP on a DEC PDP 10 mainframe computer but the final version needed to run on a portable minicomputer The prototype was reimplemented in FORTH on a LSI 11 23 then development con tinued on both versions In a couple of months the FORTH version exceeded the capabilities of the LISP version The project was a spectacular success and shows FORTH s applicability to an area previously owned by LISP and large machines A software tool was described called a Functional Usage An alyzer It performs analysis on FORTH programs using numerical correlation and pat
54. affairs but people people don t So you don t necessarily endorse Toffler s third wave vision of sweep ing general changes that computer technology can help to reverse the ef fects of the industrial revolution e g pollution commuting I was fascinated by these things in his thesis On first reading I sort of Volume V No 2 11 FOR TRS 80 MODELS 1 3 amp 4 IBM PC XT AND COMPAQ The MMSFORTH System Compare e The speed compactness and extensibility of the MMSFORTH total software environment optimized for the popular IBM PC and TRS 80 Models 1 3 and 4 An integrated system of sophisticated application programs word processing database management communications general ledger and more al with powerful capabilities sur prising speed and ease of use With source code for custom modifications by you or MMS The famous MMS support including detailed manuals and examples telephone tips additional programs and inexpensive program updates User Groups worldwide the MMSFORTH Newsletter Forth related books work shops and professional consulting A World of Difference e Personal licensing for TRS 80 129 95 for MMSFORTH or 3 4TH User System with FORTHWRITE DATA HANDLER and FORTHCOM for 399 95 e Personal licensing for IBM PC 249 95 for MMSFORTH or enhanced 3 4TH User System with FORTHWRITE DATAHANDLER PLUS and FORTHCOM for 549 95 e Corporate
55. al informative conference sessions All attendees are asked to participate and are encouraged to write a paper for presentation in an oral or poster session Topics Suggested for Presentation Hardware FORTH Implementation Nucleus Variations Large Address Space Environments Operating System Environments Multiprogramming Architectures System Generation Techniques Registration and Papers Complete the registration form selecting accomodations desired and send with your payment to FORML include a 100 word abstract of your proposed paper Upon acceptance by FORML a complete author s packet will be sent Completed papers are due September 30 1983 Registration Form Complete and return with check made out to FORML P O Box 51351 Palo Alto Calif 94303 Name Company Address Ciy State X ZIP Phone day J evening have been programming in FORTH for years months Accommodations Desired Prices include coffee breaks wine and cheese parties use of Asilomar facilities rooms Wednesday and Thursday nights meals from lunch Wednesday through lunch Friday Conference attendees receive notebooks of papers presented Conference attendees share a double room number of people x 200 Attendees in single room limited availability number of people x 250 Non conference guests number of people x 165 TOTAL ENCLOSED Options Vegetarian meals Ll Non smoking roommate
56. al numbers e Special words are provided for inputting and outputting DOLLAR CENTS values Detailed manual with examples and applications screens Commodore 64 is a trademark of Commodore TO ORDER Specify disk or cassette version Check money order bank card COD s add 1 50 Add 4 00 postage and handling in USA and Canada Mass orders add 5 sales tax Foreign orders add 2096 shipping and handling Dealer inquiries welcome PERFORMANCE MICRO PRODUCTS 770 Dedham Street S 2 Canton MA 02021 617 828 1209 Next Generation Micro Computer Products FORTH Dimensions Voice of Vicror 9000 Timothy Huang Portland Oregon The Victor 9000 is one of the more advanced microcomputers currently available on the market It has many extra features built in such as 800 by 400 graphics resolution 128K RAM 1 2 megabyte single sided drives and sound voice digitizing generation Please see the article entitled Victor Victorious by Phil Lemmons in the November 1982 BYTE magazine for a detailed description This article deals with sound generation for which a lot of technical advice was provided by the nice people at Victor Technologies Inc From the very limited system information that is available to the general public I managed to figure out the following memory mapped I O addresses for the CODEC COder and DECoder hardware All addresses are in hexadecima
57. an Jose FORTH Dimensions has some ex citing issues planned and we are look ing for authors and programmers to contribute code and articles We need utilities applications some good tutorials and articles about data ac quisition project management and many other topics If you have an idea or a request now is the time to write You will receive a reasonably prompt reply And remember Letters to the Editor is your forum Use it if you know a way to do something better or faster or to express your gripes and praise Your contributions are always wel come but especially now We are on an accelerated publishing schedule in order to once again come out on time In a few months we will be back on target We are working towards instal there coding FIG FORTH on your TI drop me a line Maybe we can trade ideas John Forsberg 17740 S W 109th Place Perrine FL 33157 Continued Cover Art Artist Al McCahon pictures catfish taking the bait of a new definition as a barge of new R6SFlIs heads downstream That FORTH showboat in the distance has set sail for the annual FORTH convention it s a long way from the Mississippi to San Jose but well worth the trip for this year s event lation of a new procedure that will speed up the entire publishing process Our typesetting is done via interface to an HP 3000 and many articles are now edited on my own micro then relayed by long distance telepho
58. at you can steal Similar ly the IN META restores things back to the way they were Now let s look at the next phrase namely HERE T and figure out what it is doing It is saving the current ad dress in the target system into the pa rameter field of the symbol that was just created Since the header has al ready been created HERE T is the code field address of the word that has just been created So by saving it in the pa rameter field of the symbol we are remembering the code field address for future reference This future refer ence takes place in the run time por tion of the definition MAKE CODE does nothing more than fetch the code field we just saved and compile it into the target system Thus if we use the meta definition of CODE that appears we see that what it does is create a HEADER in the target system as well as a symbol in the symbol table Further more it sets up the code field in the target system to point at its parameter field just as every good code field should in an ITC system Finally it switches to the ASSEMBLER vocabulary Volume V No 2 23 FORTH Dimensions to allow compilation of machine language opcodes Later if the word defined by CODE is executed the DOES gt portion comes into play which simply compiles itself into the target system Nothing could be simpler or more devious Now let s finish this discussion by looking at what must take place when we meta compile a de
59. c gain schedule for a forty millisecond period The system counts the number of returns to determine if a good return was actually received This information is then used to calculate a new gain schedule for the next pulse cycle so that the system will see only one return on each pulse cycle If the system does not find an echo on the first several cycles it begins a range gated search mode that slowly increases the gain schedule and the pulse width of the transmitted pulse until a bottom echo is found The gain schedule is predicated on the FEATURES 79 Standard system gives source portability Professionally written tutorial amp user manual Screen editor with user definable controls Macro assembler with local labels Virtual memory Both 13 amp 16 sector format Multiple disk drives Double number Standard amp String extensions Upper lower case keyboard input LO Res graphics 80 column display capability Z 80 CP M Ver 2 x amp Northstar also available Affordable Low cost enhancement option Hi Res turtle graphics Floating point mathematics Powerful package with own manual 50 functions in all AM9511 compatible FORTH 79 V 2 requires 48K amp 1 disk drive ENHANCEMENT PACKAGE FOR V 2 Floating point amp Hi Res turtle graphics COMBINATION PACKAGE CA res add 696 tax COD accepted MicroMotion 12077 Wilshire Blvd 506 L A CA 90025 213 821 4340
60. calling routine e g WORD TRACE lt ROUTINE 1 gt lt ROUTINE 2 gt lt ROUTINE N gt TRACE where TRACE is the routine that will print the stack contents as well as the name of the calling routine being lt WORD gt The stack contents after execution of lt WORD gt is printed by TRACE which is the last routine that is called by lt WORD gt There are two ways to ensure com pilation of TRACE and TRACE The first method is very laborious editing the words into the source code before compilation After debugging the editing should be re done to remove the debug facilities Also it does not guarantee that the routine TRACE get executed as the first routine in the word which is vital for its correct operation in printing the name of its calling routine Also there is no guarantee that TRACE will be the last word compiled before the semi colon which may foul up the trace later on Its implementation however is straightforward The second way is to redefine and in such a way that they will compile TRACE and TRACE This has no ex tra editing as a consequence and it al sO guarantees that TRACE and TRACE are the first and the last rou tines executed respectively The pro blem is how to redefine and since while redefining them you will need both the old and In spite of the implementation difficulty the latter suggestion is more attractive Redefini
61. cations 25 35 L PROCEEDINGS 1982 FORML Conference 25 35 i LL JPROCEEDINGS 1981 FORTH Univ of Rochester Conference 25 35 LL IPROCEEDINGS 1982 FORTH Univ of Rochester Conference 25 35 FORTH 79 Standard a publication of the FORTH Standards Team 15 18 Kitt Peak Primer by Stevens An in depth self study primer 25 55 L BYTE Magazine Reprints of FORTH articles 8 80 to 4 81 5 10 FIG T shirts Small Medium Large X Large 10 12 Poster August 1980 BYTE cover 16 x 22 5 5 i FORTH Programmer s Reference Card If ordered separately FREE i send a stamped addressed envelope j Jor Dobb s Journal Two FORTH Issues 9 81 amp 9 82 7 10 i M ow TOTAL nn i NAME anal MAIL STOP APT ORGANIZATION PHONE i ADDRESS en CY STATE ZIP COUNTRY VISA MASTERCARD Expiration Date __ Minimum of 15 00 on charge cards i Make check or money order in US Funds on US bank payable to FIG All prices include postage No purchase orders without check California residents add sales tax 1 85 ORDER PHONE NUMBER 415 962 8655 FORTH INTEREST GROUP PO BOX 1 1050 SAN CARLOS CA 94070 ur Ir CP H on id NI ier LA cimientos rm RL Pe T NPR REN a n I AUR T UND NET PM RU pH Tp SI e n ANY Naa eam X m mm e RE x PS i ms ea amie m or Aa cete po AMI Td ie anna 4 et ww ina Mese UAE aE Mae isl RO We pe uw gm M SD s sm l4 As HA m
62. d tasks are simply EXECUTEd in a round robin fashion The foreground task has ultimate control of the keyboard video display and disk drivers By the term fore ground task we are referring to any task which was invoked by simply en tering its name followed by a carriage return Background tasks designed by the user must obey certain rules in order for the system as a whole to perform properly 1 Each background task must be self contained It must leave the pa rameter and return stacks balanced i e no extra values must be consumed or left behind If any information must be maintained from one invoca tion of the background task to the next it should be kept in a local vari able Screen 414 6 Multi tasker l 2 DECIMAL 3 18 CONSTANT MAX TASKS 4 0 VARIABLE TASK LIST 5 MAX TASKS 2 ALLOT 12 81 82 define max background tasks allowed allocate task list with extra zero position in list for KILL word 6 TASK LIST MAX TASKS 1 2 ERASE 7 8 display names of all active tasks 9 TASKS 10 MAX TASKS 11 DO I 2 TASK LIST DUP 12 IF CR I l 2 R 2 SPACES 13 PFA NFA ID THEN 14 LOOP CR CR 15 gt Screen 4 1 CLEARSCREEN Active tasks initialize at compile time 12 01 82 9 Multi tasker cont H 2 examine the task list to match a task s code field 3 address a k a CFA return pointer and or flag 4 if found cfa addr t 5 if not
63. data entry and update screens Friends I need an article on FORTH debugging tools real bad Debugging should be easy in an inter preter like FORTH but I haven t been able to redefine DOCOL and S Please check the code you print for Continued on page 18 Volume V No 2 Interview with Charles Moore Marlin Ouverson Forth Dimensions The author found the Moore house by wandering through sunny beach front streets in southern California until he met a woman with the kind smiling face matching the friendly voice of Min Moore Taken under wing introductions were made and ev eryone settled down to a grand view of the Pacific Ocean and Catalina Island The tapes of the interview are inter spersed with thunder laughter and observations and speculation by the inventor of FORTH Forth Dimensions Is it true that you developed FORTH originally as a productivity aid in your own program ming Charles Moore Productivity aid is a hard phrase I don t think I was thinking of it as being able to write more programs I was probably think ing of doing what I already did but more easily The hassles of compiling a Fortran program were what I was trying to avoid loading card decks and loading more card decks drop ping them and picking them up and then printing out listings in order to see what was going on I guess it s pretty obvious that hav ing done that having by passed the operating system
64. decrement the en Mn G pi E Ei P pau Is IF l 10 INDENT STACK indentation counter and print the E Sita Specia on data THEN contents of the stack ases The theoretical stuff in FORTH X COMPILE COMPILE IMMEDIATE redefine Dimensions is great Now can you in Y COMPILE COMPILE IMMEDIATE redefine clude SOME practical OL king class ASCII X NFA l C Store in the namefield of X material on how to write and debug ASCII YNFAl CI Store in the namefield of Y useful programs Pd also like to see some reviews and comparisons on the FORTH systems offered by different vendors I hope to use FORTH on an IBM PC and a PC lookalike but I don t know what the different systems offer which are more stable power ful easy to use etc Keep the good FORTH stuff com ing This letter by the way was print ed with QTF Dave Kuhlman 1821 P Street 2 Sacramento CA 95814 Thanks for the input We are issuing a call for more utilities and applica tions for publication in FORTH Dimensions We cannot strictly en force a standard for FORTH words which appear in our pages as some readers have requested but we will ask authors to document them more care fully and to include check sums Ed The last two lines change the headers of the routines X and Y into headers of and End Listing FORTH Dimensions 18 Volume V No 2 THE FORTH SOURCE MVP FORTH S
65. dedi cated applications The kernal of FORTH in ROM con sists of 133 words available for user definitions These words are header less kept in the format of code field address followed by the parameter fields About half of the definitions are machine coded The remainder are high level definitions A typical FORTH definition executes in under 100 microseconds BASIC is ten to a hundred times slower Although a micro monitor is included in the inter nal ROM as part of the operating sys tem programming the R65F11 usually requires the use of the R65FRI de velopment ROM This port contains the rest of FORTH the non run time words and the heads of the words from the kernel Many utilities specifi cally designed for easy development of stand alone programs are also added The development ROM even supports target compiling of headerless code It is possible to operate RSC FORTH Rockwell Single Chip FORTH with separated heads and codes This is an offshoot of the struc ture of the word definitions themsel ves This method was first conceived by Mark Reardon of Rockwell Inter national and is the factor that allows the run time kernel to reside in inter nal ROM without the normal diction ary overhead To accomplish this one additional field is added to the FORTH word structure The familiar length name and link fields which make up the heads of definitions are separated from the code and parame ter fields which make
66. ding a data base application in FIG FORTH recently I discovered that the FIG word NUMBER apparently requires that the ASCII text string to be converted be followed by a 20H to work accord ing to its definition Even though this shouldn t pose a problem if the con version is done at HERE I believe the definition of NUMBER should state the requirement Sincerely James R Schierenberg 119 S Berry Avenue Indianapolis IN 46219 Addison Wesley s Pocket Guide to FORTH explains that the string to be converted must be followed by a blank 20H Ed RAM Card Access Dear FIG First please send me a writer s kit as I have a definite interest in submit ting material to FORTH Dimensions Next I am using MVP FORTH on an Apple II and am interested in hear ing from anyone who has the same configuration In particular I am in terested in modifying the source to take advantage of the RAM card If anyone has done this I would like to know what their success was Thank you for publishing such fine work and keep up the good job Sincerely G Edw Learned 1513 Woodbine Lane Brooklyn Center MN 53430 Wanted Lexi Con Artist Dear Editor I am what one might describe as an intermediate beginner where FORTH is concerned for the past year or so I have been working with a FIG FORTH on the Apple II and Apple IIe computers I have been receiving FORTH Dimensions most of this time and generally enjoy the publication Occa
67. e available at the Hyatt Palo Alto Contact FIG or the hotel and mention the FORTH convention Telephone direct to Hyatt reservations by calling 800 228 9000 and request the special FORTH Interest Group Convention rates for October 14th and 15th The FORTH Convention is sponsored by the FORTH Interest Group FIG The FORTH Interest Group is a non profit organization of over 3 800 members and 40 chapters worldwide devoted to the dissemination of FORTH related in formation FIG membership of 15 00 year 27 00 overseas includes a one year subscription to FORTH Dimensions the bimonthly publication of the group O Yes I will attend the FORTH Convention L Number of pre registered admissions _ x 5 00 each Number of Banquet Tickets x 25 00 each CJ Yes want to join FIG and receive FORTH Dimensions 15 00 US 27 00 foreign TOTAL CHECK TO FIG O want to exhibit please send exhibitor information Name Address Company City State Zip Phone Return to FORTH Interest Group P O Box 1105 San Carlos CA 94070 415 962 8653 Volume V No 2 7 FORTH Dimensions FORTH Dimensions 8 5th FORML Conference November 23 25 1983 Asilomar Conference Center Pacific Grove California U S A FORML is a technically advanced conference of FORTH practitioners The topics to be discussed will affect the future evolution of FORTH FORTH programmers managers vendors and users will benefit from sever
68. e started with If you think this is wasted effort you re right If we delete the subtraction at the high level and the addition in the primitives we can realize some star tling advantages in both run time ex ecution and clarity of assembler code First we change the branch primi tives to simple vector switches by de leting the addition instructions List ing One shows the modifications for the 6502 Three micro instructions have been deleted saving eight clock cycles Listing Two shows the modi fications for the 6809 The code con denses to one LDY Y instruction net savings of fourteen cycles If NEXT is compiled inline as shown five addi tional cycles are saved If the two byte branch primitives and the four byte NEXT primitives are also compiled in line in the 6809 loop primitives there will be even further time savings dur ing loops What we have done is move the address at the location the IP is pointing to into the IP Next we change the high level con trol definitions to leave an absolute pointer Listing Three shows the Volume V No 2 27 FORTH Dimensions modifications required to Screens 473 74 of the model BACK is eliminated from the dictionary as it becomes a renaming for COMMA Finally we need to edit the assem bler test Listing Four shows two ex amples for the 6502 Wherever we find a branch or loop we just compile the value of the label The assembler text has now become much
69. eT eee M2 68008 eee eee eee eee P4 Pet SWTPC llociau Al A6 B1 C3 O1 S6 T2 T5 8080 88 ees AS Cl C2 F4 IS L1 L3 M3 Poly Morphic Systems A7 M6 R1 T3 TRS 80 I II and or III I5 M2 M5 M6 S4 S5 S10 Z80 89 c cute xiu ONE A3 AS C2 F4 I3 L1 M2 M3 TRS 80 Color eee nae PN A3 A8 F5 M4 S11 T1 MS NI T3 Vector Graphics M2 Z80000 Losses DX ERES I3 8086 88 eene C2 F2 F3 L1 L3 M6 UU ine anpra RERO REY E2 L3 Other Products Services i Applications P4 operating Systems Boards Machine F3 M3 P4 R2 Consultation C2 C4 NI P4 T3 W1 CP M A3 AS C2 F3 I3 L3 MI M2 Cross Compilers C2 F3 I3 M6 N1 P4 M6 T3 Products Various AS C2 F3 I5 S8 W2 CP MS86 e C2 TEADE ueste ERR RA C2 F3 13 P4 W1 FORTH Vendors Alphabetical The following vendors offer FORTH systems applications or con sultation FIG makes no judgement on any product and takes no responsibility for the accuracy of this list We encourage readers to keep us informed on availability of the products and services listed Vendors may send additions and corrections to the Editor and must include a copy of sales literature or advertising FORTH Systems B A 1 Blue Sky Products 729 E Willow 1 AB Computers 252 Bethlehem Pike Signal Hill CA 90806 Colmar PA 18915 C 215
70. ect would require any large amount of time to accomplish I enjoy driving I ll get in the car and drive for six hours at the drop of a pin usually on business though I m going from here to see someone there and it s just an excuse to be able to drive there instead of phoning or fly ing I escape to the books I guess Sci ence fiction is my favorite it s been a good year for science fiction Asimov and Clark Heinlein s been quiet for a year or two since The Number of the Beast I have to read that again it was strange fantastical I think he has really said some good things So I m chasing after Heinlein he s moving faster than I am I m not sure what he s saying in The Number of the Beast I suspect there is something there I can get lost in a book like that for a day But they can t write books as fast as I can read them Even with all the authors I ve got in my collection now I can t spend too much time reading It s not good you re living in someone else s fantasy world and the real world is dauntingly interesting in itself I wish I was more involved in some of the far out endeavors The space program fusion even something as mundane as the new fighter plane con trol systems that are supposed to both fly and fight the plane for the pilot But none of those projects use FORTH in the sense that they ought to or that I would like them to And I m not really inclined to start fighting bat tles with
71. em that meets ALL provisions of the FORTH 79 Standard adopted Oct 1980 Compare the many advanced features of FORTH 79 with the FORTH you are now using or plan to buy OURS OTHERS YES FEATURES 200 PG 79 Standard system gives source portability YES Ln YES Professionally written tutorial amp user manual 200 PG YES Screen editor with user definable controls YVES YES Macro assembler with local labels YES u duum YES Virtual memory YES pies YES BDOS BIOS amp console control functions CP M YES YES FORTH screen files use standard resident YES file format YES YES Double number Standard amp String extensions YES YES Upper tower case keyboard input YES YES APPLE II II version also available YES 99 95 Affordable 99 95 YES Low cost enhancement options YES Floating point mathematics YES Tutorial reference manual 50 functions AM9511 compatibile format Hi Res turtle graphics NoStar Adv only YES 99 95 FORTH 79 V 2 requires CP M Ver 2 x 99 95 l ENHANCEMENT PACKAGE FOR V 2 49 95 Floating point 49 95 139 95 COMBINATION PACKAGE Base amp Floating point 139 95 MicroMotion Dealer inq 14 the time critical advantage users add 49 95 for Hi Res CA res add 696 tax COD amp dealer inquiries welcome 12077 Wilshire Blvd 506 L A CA 90025 213 821 4340 Specify APPLE CP M or Northstar uiries invited successfull
72. ence courses elaboration of this multi tasking facility is left as an exercise to the reader Possible enhancements in clude the assignment of priorities to background tasks periodic invocation of the dispatcher word TASKER from a real time clock interrupt service rou tine and finally the creation of a true multi user multi tasking capabil ity through user variables and separate stack areas Acknowledgments Marty Petri a FORTH consultant in Van Nuys California provided the original idea for this round robin mul ti tasker pn M UUBBUMMDAALA AM M e zvUodd e eK H EEnn4d u m m us H O g Multi tasker cont l 2 cead character from keyboard 3 stack effect b 4 KEY BEGIN 5 TASKER 6 7 TERMINAL 8 9 UNTIL 19 USER KEY 8 EXECUTE 11 B 12 13 14 15 Volume V No 2 21 FORTH Dimensions Simple FORTH Multi Tasking Environment Martin B Petri Van Nuys California I recently completed a data acquisi tion system DAS for a client built on Z80 FORTH and Hardware Float ing Point Extensions from Laboratory Microsystems This DAS is installed at a solar energy site built by the Jacobs Engineering Group for the Home Laundry Company in Pasadena Cal ifornia This solar energy system was funded by the
73. ept NFA lt PFA gt NFA Changes the parameter field address of a routine into the namefield address of the same routine Note The routines ASCII and ASCII actually are combined into one routine ASCII where can be any character Note In the next code the word is used in the following syntax TEXT where only one space is allowed between the quote in and the first text delimiting quote This has been done because I think it is better syntax It works because WORD will skip leading delimiters and also it will skip the first trailing delimiter Ref Thoughts on the 79 Standard Proceedings of the Rochester FORTH 70 Standard Conference May 1981 Summary The tracer described here gives the possibility of optionally tracing words PEEEEM D D a TEIEEELELIEEILLLZIEUSEMFEIEIMMSEDBEEEEEEISISUISZASZSSZESmZ Volume V No 2 17 FORTH Dimensions whose source doesn t differ from nor mal FORTH source code Features like indentation make it easy to tell where FORTH is executing and which routines spoil the correct execution THE TRACER SOURCE CODE flag telling whether tracer is active or not contains the number of indentation spaces 0 VALUE TRACE Acknowledgments 0 VALUE INDENT I would like to thank Paul Hank Hamilton for the valuable ideas he gave me when working on this tracer and Lawrence P Forsley for
74. finition Take a look at the code in Figure Three First we must create a header and a symbol just as we did for CODE words Next we must lay down the address of the runtime for in the code field of the word being defined I have assumed that NEST is a constant that returns that address for me Finally we must enter a loop that looks words up in the symbol table and compiles their code fields into the target system That function is performed by the meta ver sion of The function of compiling the code fields is cleverly performed by executing the words that are found in the symbol table That is why the DOES portion of TARGET CREATE compiles the code field that was saved I have not provided code for the defi nition of DEFINED and NUMBER T but I leave to your imagination what it is that they do The code I have presented is very simplistic and is not really adequate as is However it does contain the central ideas that are needed in order to implement a meta compiler Next time we will look at some of the sub tler issues in meta compiling such as how to handle IMMEDIATE words and what about COMPLETE Until then good luck and may the FORTH be with you Henry Laxen is Chief Software En gineer for Universal Research 150 North Hill Drive 10 Brisbane CA 94005 specializing in the development of portable computers Copyright 1983 by Henry Laxen All Rights Reserved Scr 54 O Fig 1 Headers in Target
75. hole class of things that in fact you don t understand but at least you don t have to discuss with him It s auto matic FORTH carries a lot of this con text on the parameter stack and on the return stack The return stack is a marvellous place for storing the state of the machine You cannot describe the state of the machine to a human being without dumping the contents of the stack But the path you ve fol lowed through nested definitions to get to this place is a very good descrip tion To a lesser extent the numbers that happen to be on the parameter stack are a description of a different aspect of the current state of the ma chine And both of those are invisible to the programmer are handled auto matically by the language A new lan guage wants to carry that same context invisibly For instance you might have pronoun references to things where it is obvious to the human being what reference is being made It needs to be equally as obvious to the machine The two viewpoints need to be kept in agreement As the inventor of FORTH do you find that people idolize you Yeah more than they should It s a cross I m happy to bear but there are two things worth noting First I did invent FORTH but it was ten years or so ago A long time It is relevant to ask What have you done recently And second since then a lot of other people have contributed to FORTH The FORTH we have now is far ad vanced
76. in the target system address space and that you keep track of the link fields somehow Figure One illustrates a word that will compile FIG like headers into a target system Notice that if we want to compile headerless code all we need to do is set WIDTH T to zero Headerless code is Meta Compiling II one of the fringe benefits of meta compiling not its main purpose Now that we can lay down headers in the target system we need to think about what happens when a word defined in the target system is sup posed to be compiled in a colon defini tion For example suppose we have defined DUP and as code words and have meta compiled them so that their headers and their code bodies are resi dent in the target system Now we want to define the word 2x as follows 2x DUP What is supposed to happen Well we need to make the meta compiler do the same thing that would ordinarily happen in a running system namely should create a name in the dictionary and should compile the code field ad dresses of DUP and and EXIT into the parameter field of 2x Finally compiling should be terminated by the Notice that the behavior of DUP and in the meta context is totally different from their behavior in the normal FORTH context namely DUP should duplicate something and should add something In the meta context they compile something Now that we know what should happen inside a definition it is just a matter of i
77. ing is technology microcomputer applications Our board the NMIX O011 surrounds the R65F11 with equally innovative circuitry that allows the chip to be a complete FORTH development system We call the board the 100 accomplished by a bi polar PROM that can be replaced by the user if necessary A standard development PROM decoder is provided with the board Three JEDEC 28 pin sockets are provided which will accept Single 5V power supply 12 mW standby power for 32 bytes of the 192 byte RAM 40 pin DIP R65F11 We will be advertising very soon in the squared for short due to its extremely smali RAM s 2016 2128 5517 6110 Ew size All that is needed to do program 5564 major trade journals We anticipate demand development in FORTH is a CRT terminal or EPROM s 2716 2732 2764 to be so great that this will quickly become a microcomputer that speaks RS232 seven EEPROM s 2816A limited availability item We wanted to offer it data one start two stop bits The board can program in circuit first to the people that made the R65F11 R2816A 2764 possible the people involved with the Look for a complete Euro card boardline coming soon requires additional VPP voltage supply All this plus the powerful R65F 1 1 which features FORTH kernel in ROM Enhanced 6502 CPU 192 byte static RAM 16 bidirectional TTL compatible O lines two ports R65F f f One 8 bit port with programmable latched input Two
78. itor like DEC s EDT with fult Source Line Editor compatible to Starting Forth Advanced String Support with dynamic String allocation Decompiling to inspect the FORTH System Additional Floating Point availiable with full FORTH support Update Service Execution Variable Support like Input Output Gives your Vax the Interactive Features of FORTH Alt Sources available Many Examples on the Standard Screen Files Over 200 Screens in Source Files Format 8 Disks to be read in by the Console Floppy Other Medias please write Price 950 30 for handling and shipping via Air Maii Please Pay in US funds on a German bank VAX and VMS are Trademarks of Digital Equipment Co Contact KMF Software Schuetzenstr 3 D 7820 Titisee Neustadt West Germany A A amp a amp Ad D 9 amp 4 4 amp 9 9 amp amp FORTH Dimensions Recursive Sort on the Stack Dr Richard H Turpin Purdue University Indianapolis Indiana The assigned task was to sort all the numbers on the stack and output them in increasing order largest printed last The solution is a recursive sort as explained below Two words were defined The first SINK moves the largest item on the stack to the bottom It is recursive and uses the return stack for temporary storage of data items Basically if the stack is more than one number deep SINK moves the smaller of the top two SINK DEPTH 1 gt IF OVER OVER lt IF SWAP
79. ive charac teristic People who like to deal with FORTH are like the hardware people who want to build their own mach ines Not that they are necessarily un satisfied with available machines mostly they just want to understand how it works everything about it to be in control of the hardware The on ly way you can really do that is to build it put it together piece by piece FORTH addresses that person s preferences because those are my preferences That s what I wanted in a language something I could change any part of I wanted to When that kind of person finds FORTH he tends to like it because it does give him the power he wants No other language does that going to Assembler you can do anything you want but the dif ficulty associated with it is very high And the ability to write good software is not a forgone conclusion Now I consider that FORTH has solved tlie software problem You can just doit in FORTH and that s the end of it But now the hardware problem You cannot build or control your own hardware to the degree that is attrac tive So I m building a FORTH com puter and I want to give myself the ability to go down there and twiddle the bits and define the registers and move the data around without some one else having gotten in the way and prevented me from doing what I want I think there is a lot to be done over the next few years the building block approach to hardware where you buy some simple
80. l Codec clk at E8084 word Codec ctl at E808B word Codec sda at E8060 word Volume at E802A byte Vol ctl at E802B byte Vol clk at E8028 byte The program listed in Screen 205 is a simple trial to use this special feature of the Victor 9000 The program is self explanatory The only comments that I should add here are ES REG addr Variable for the ES register LC n addr Long Ci To store n into the address specified by addr addr in ES REG This word allows us to store a number across the 64K boundary Prior to use the ES REG must be initialized to the correct segment high address SOUND INIT Initialize the CODEC chip This routine must be issued prior to generating any sound The values used are the same as in the CP M 86 BIOS FORTH Dimensions PITCH n Generate n pitch It is currently set to accept only 8 bit numbers 0 PITCH will shout down the CODEC chip Even though this is a very short program with a little imagination you can generate some very interesting sounds For example if you want to hear all the pitches that PITCH can generate you can write the short words shown in Figure 1 To experience different sound ef fects you may also store different values into the I O addresses used in the definition of the word SOUND INIT STOP 0 PITCH ALL SOUND INIT 256 0 DO I PITCH LOOP STOP Or you may want to write some words so
81. more readable and uniform There are about fifty such labels that will have to be chang ed A good text editor will be of value here A canned version of FORTH can be changed to comply with the above Just make sure that all offsets are found and changed Other implementations using ab solute interpreters and offset control structures should realize improve ments comparative to the above ex amples The above alterations were tested in a recompiled in house 79 Standard FORTH 6502 and do not alter the specified definitions They do alter the definitions in the Release 1 FIG FORTH Installation Manual which states that offsets must be used The FORTH 79 Standard makes no reference to offsets so they have apparently been moved to the Historical Museum and remain as an implementation option Copyright 1983 by George Gaukel All Rights Reserved There is a trade off between ab solute and relative branches As the author points out absolute branches are faster Relative branches are used in the FIG model in order to make the LATEST definition relocatable In prac tice this feature is almost never used see Schleisiek FORML 1980 on separated heads For most users speed is probably more valuable As for BACK it is probably good to retain it for uniformity with other systems even if it is only a synonym for COMMA Michael Perry Listing Three s QQ Ot OZ QA Q4 oS Od Q7 08 Q9 10 11 12 13 14
82. mplementation The ap proach at this point is to construct a symbol table of all the words that are defined and when building a defini tion to look up each word in this sym bol table and compile the code field address corresponding to this word in to the target system In Pascal or BASIC this would probably require twenty pages of code The skeleton FORTH code that does this is written in Figure Two It probably requires a few words of explanation First gt IN is the pointer into the input stream which must be saved and restored because both HEADER and CREATE modify it IN SYMBOLS isn t defined elsewhere but I will describe its function It is highly dependent on how your system implements vocabularies It must make sure the word that CREATE creates is in a sealed and separate vocabulary This is very important since almost all of the FORTH nucleus words will be defined during the meta compiling process and it would be deadly to redefine them all in the FORTH vocabulary Also it guarantees that when a symbol is looked up the meta one is found not the corresponding FORTH one The idea is to use the existing vo cabulary structure to implement a symbol table by placing all of the meta names into it and sealing it so it does not chain to any other vocabularies If we adopt such a structure the regular CREATE can be used to enter a symbol into the symbol table and the regular FIND can be used to search it Never buy wh
83. n and algorithms defined But you don t learn much about the computer underneath the software Take the same course in FORTH FORTH is more transparent and you would focus more closely on the pro blem on the ways of solving it than on the theory of computation which was supposed to make things easier It isn t clear that kind of conceptual framework simplifies the problem it changes the problem from one of wor rying about bits to worrying about floating point numbers But it doesn t make it easier it doesn t make it go away It just changes it FORTH doesn t change it so much If you want to learn about real world signals and how you interface with them with latches and A D convert Volume V No 2 p MCOGMNMMMMMeM5AAMA A A nnn d ers FORTH lets you get directly to that part of the problem instead of getting bound up in compilers and subroutines and things which aren t of fundamental interest What does FORTH forbode for languages to come It s a fascinating speculation Given that FORTH is here but does not solve all of the problems what should fol low The next language has got to be spoken because voice recognition is coming along very quickly I don t know that people oughtn t to type at keyboards keyboards are a very flexible interface device But they don t want to they aren t going to They want to talk to their computers I think FORTH
84. n editor Screen 80 contains the CASE statement which assigns control key functions To assign the STEP function to con trol W simply replace the BEEP just after INSERT MODE in that CASE state ment with STEP Pressing control W will now cause the word or number at the cursor to be interpreted as though it had been en tered at the keyboard and followed by EDITOR DEBUG STEP a carriage return The parameter stack will be dumped at the bottom of the screen and the cursor will move right to the next word Comments and compile only words can be skipped over by using the nor mal cursor control keys A useful en hancement would be another function key for entering two words at a time This would be useful for entering things such as or WORD which cannot be interpreted without a following word Implementation would be iden tical to STEP except that line 3 would have R WORD twice The 79 standard MVP FORTH system was used with the Laxen editor but the same technique could be applied to any full screen editor 1 STEP LOADS ONE WORD amp DISPLAYS STACK c BUFPOS DUP START ADR OF WORD 3 R WORD MOVE CURSOR RIGHT 1 WORD 4 BUFPOS SWAP S MIN i LENGTH z DUP TIB SWAP NULLS TO END STREAM 6 TIB SWAP BMOVE MOVE WORD TO TIB 7 19 CRTXY MOVE CURSOR TO LOWER SCREEN 8 BLK gt R W BLK SAVE SEL TERM INPUT S IN OR gt IN A INTERPRET B 0 18 CRTXY POSITION C
85. ne to the mainframe Once that part of the process functions smoothly we plan to allow authors to upload their own material It will then be reviewed on line edited and typeset without requir ing anyone to re keyboard the text This will help maintain accuracy and hold down costs The obvious extension of all this wish making will eventually be sub scriptions to the electronic edition of FORTH Dimensions Readers will someday have the option to download text and code directly to disk But please don t write to ask about these services yet I just wanted to give a sneak preview of a not improbable fu ture In the meantime be ready for anything especially some great issues to come And let us hear from you Marlin Ouverson Editor Volume V No 2 FORTH Dimensions Inner Access holds the key to your software solutions When in house staff can t solve the problem make us a part of your team As specialists in custom designed software we have the know how to handle your application from start to finish Call us for some straight talk about Process Contro B Automated Design a Database Management E System Software amp Utilities E Engineering li Scientific Applications W Turn Key Systems Inner Access Corporation P O Box 888 Belmont CA 94002 FORTH Dimensions PHONE 415 591 8295 DBMS or Do Blanks Mean Something Dear FIG While participating in co
86. ng and Two possibilities are given here first you can redefine the and in another vocabulary and have them unaltered redefined This way you either use the and in this new vocabulary or the ones in FORTH When you redefine and in the FORTH vocabulary to incorporate the tracer you can use the old and for the redefinition The second way is to define two words X and Y and define them as you would have redefined and Then you change the names of X and Y into and by writing the ASCII values of and over the X and Y characters in each namefield This requires knowledge of what the header looks like but this is specified in most FORTH systems I chose the latter because it is short er code and at the time of creation I Tracer for Colon Definitions only had one block available to put the source code into Definition of Words Used The routines that you may not be familiar with are TNAME lt CFA gt lt gt Prints the name of the routine whose code field address is on top of the stack ASCII gt lt ASCII Value of gt Leaves the ASCII value of the character on the stack ASCH gt lt ASCII Value of gt Leaves the ASCII value of the character on the stack VALUE is a defining word that is used in the same way as VARIABLE It creates so called to constants or to variables also called values that obey the TO conc
87. nia FORTHT for over a year HP Part No 97030JA for and over 200 others 2n Series 200 Desktops _ Why E MATURE RELIABLE PRODUCT gt ME CORE IMAGE SNAPSHOT FEATURES First Multi FORTH installation i in De Saves and restores current system image cember 1979 installed base of over r 200 without recompiling for turnkey appli sites n LN E SN S cations mE MULTITASKING EXTENSIVE DOCUMENTATION Since the beginning Multi FORTH has Current user manual is over 350 pages supported multiple backgrou nd tasks and 7 optional multiple users MM TE ONLINE CAI COURSE HELP FEATURES 16 OR 32 BIT IMPLEMENTATIONS GRAPHICS AND FLOATING POINT 16 bit 79 Standard or 32 bit unlimited SCREEN EDITORS ON HP SERIES 200 program size implementations available OR MOTOROLA VME 10 F AST INA MOST SINGLE BOARD COMPU ERS ARE E to t hin Ki F ratos henes Sieve Benc mark in under 18 ds for 1 high level seconds for 10 passes ini Hx VME110 KDM ECB VMO1 VMO2 IN LINE ASSEMBLER OB6BK BRI DUAL ERG CP M68K BUILT IN TRACE DEBUG FEATURES AK installations 8 media Prices startat 1295 00 for s UE computer HHHH SUMMER SPECIALI DOU a license HP Series 200 32 bit version HP Series 200 Version 895 Through 9 30 83 C OK m interested Please send me more information about the Multi FORTH system Name TC Company Address Phone
88. o It s not clear that they gain anything It s not even clear that they do it de liberately Of the things you see people doing with FORTH what do you find most encouraging and least encouraging The most encouraging development is the FORTH chips that are coming out The reasons they are coming out seem to be the correct reasons as well Because FORTH is compact it is feasible to implement the FORTH primitives in ROM on a chip that s one of the advantages of being com pact The fact that you have infinite amounts of memory theoretically does not mean you have all the memory in the world in every situa tion Ada is most grossly in violation of the memory ethic but that is a lan guage designed for the modern world which explicitly assumes that arbitrari ly large address spaces are available And that is not the case when you are putting a computer in a bullet you ve got a tiny amount of memory because you don t have very much size to work with And Ada is never going to pro gram self seeking infra red guided bullets It just can t possibly do that So that is promising the recognition that it is not the case that memory is FORTH Dimensions Volume V No 2 5th Annual FORTH NATIONAL CONVENTION FORTH Based Systems A Look into the Future October 14 15 1983 Hyatt Palo Alto 4290 El Camino Real Palo Alto CA 94306 USA Exhibits Equipment Demonstrations Speakers e Discussion Groups e
89. ollected At the end of each hour the data is read back and further calculations are perform ed These hourly results are then saved as a record in a separate file At the end of the day s operations all hourly results are crunched and the resulting summary is appended to the end of the hourly reports To make things even more compli cated the client required several func tions which he could turn on or off at will These included a printout of the raw data collected at two minute inter vals a tally of the calculations trend ing of any given sensor and a printout of the daily report for any given day within the month Also required was the ability to interactively use the sys tem to calculate functions which were not previously defined emulating a pocket calculator One data acquisition cycle takes ap proximately seventeen seconds leav ing a time gap of one minute and forty three seconds before the system is required for the next cycle With this in mind a multi tasking environment with set priorities could be utilized ef fectively to operate during the time gap The priority scheme must be 1 Data collection at an interval set by operator 2 Operator keyboard input 3 Any electives Basically the tasker is round robin in nature Each task is a previously defined FORTH word which executes entirely before control is passed back to KEY While the system is waiting for keyboard input it executes tasks until
90. ons Z 80 FORTH for CPIM 2 20rMP MI 0 2 cc eran 50 00 8080 FORTH for CPIM 2 2 or MP IM I 0 ccc an 50 00 8086 FORTH for CP M 86 or MS DOS leeeeee ne eee ee eee eee eens 100 00 PCIFORTH for PC DOS CP M 86 or CCPM 0 oc ccc ccc ccueceeceetcueeueeueennens 100 00 68000 FORTH for CP M 68K onana ccc e saa arae 250 00 83 Standard version of all application development systems available soon All registered users will be entitled to software update at nominal cost FORTH Systems are 32 bit implementations that allow creation of programs as large as 1 megabyte The en tire memory address space of the 68000 or 8086 88 is supported directly for programs and data PC FORTH for PC DOS or CP M 86 0 00 ee ene hn 250 00 8080 FORTEH for GPiM 86 us Lio d RR REP oe Eae eh EEA Oe oe egies 250 00 68000 FORTH for CP M 68K xs VER CSE ek eee oe Oe eee ex led Cep a dent 400 00 Extension Packages for FORTH systems Software floating point Z 80 8086 PC only 0 ee teeter eee 100 00 Intel 8087 support 8086 PC only 0 ehh hh 100 00 AMD 9511 support 8086 Z 80 only 0 ehe 100 00 Color graphics with animation support PC only 0 0 0 00 00 ce I 100 00 Symbolic interactive debugger PC only 0 0 0 0 eee ee teens 100 00 Cross refer nce Bl 454 uu as hw dete ee Sl ok rne hae LS he Dh ads 25 00 PC GEN custom character sets PC only ccccceccecceeeeucvueeeeneuteneeenen
91. pieces and put them toge ther in some simple ways and have much greater capability than you can buy because you ve customized the hardware to your own problem Like many FORTH programmers you like to get in and enhance or change FORTH itself How about the tension that exists I suspect it is a healthy tension between the stan dards team and the vendors who want some kind of stability in the definition of the language That s a very hard issue We got together with the standards team to formulate a transportability standard so that one person s programs could run on another person s machine I think we achieved that pretty well with FORTH 79 I think FORTH 83 ad dresses it as well The question arises how much does anyone actually run a program on someone else s machine FORTH doesn t seem to be a language like BASIC where you write lots of programs and distribute them widely and lots of people use the same pro grams FORTH is much more the lan guage in which you write programs than in which you run programs I ve kind of always argued that the degree to which we can afford to discuss transportability depends upon the amount of transportation that hap pens But it s the chicken and the egg because if you don t have a common language you aren t going to get any programs transferred at all So The standards team though is recently and inevitably talking not about the words everyone is using but the words e
92. r drastically reduced the time required to complete this section of the project One of the primary goals of the pro gram was to develop systems which were inherently reliable and relatively inexpensive to procure To attain these goals we adhered to two general principles we used circuits which are applicable to other projects and we based the system on a bus structure We chose the RM bus primarily be cause of the utility of the Eurocard format Since the intended use of the device was on shipboard which could be considered a severe environment the positive connector lock provided with the Eurocard contributes sub stantially to system survivability We procured the system PCB s from stock items in the New Micros Inc line so the acquisition and design costs for this dedicated application were held to a reasonable level The retail price of the units actually is substantially less than that charged for existing units with far lower costs for maintenance The modular structure of the FORTH program used in this system was instrumental in our ability to quickly generate a working program and to modify the program as necessary to cope with real world anomalies As an indication of the extreme power of FORTH in developing dedicated systems the time lag from the start of programming to the first field functional unit was eight days This translates into large savings in system overhead charges for R amp D Go FORTH and
93. ral comments You have to get inside the world of software the world of imagination and you create your own world You create your own problems and so it is almost frightening the amount of power you ve got I ve always had the sort of dream I ve always favored software over hardware The hard ware is the nuisance you have to put up with in order to have software If you want to talk about a religious aspect of FORTH it is to say Do you need hardware Can you conceive of a way of representing these ideas of making these castles in the air with out any particular underpinning I m sure that chips will get down to molecular size but there is still going to be that matter at the core of things Can you take energy fields somehow and weave them to make software Maybe that s what the layers and layers of operating systems and lan guages are doing taking you so far away from the hardware that you for get it is even there 12 Volume V No 2 FORTH Cheaper than Hardware Peter J Lagergren Grand Prairie Texas Many articles have been written about the use of FORTH as com pared to other languages However we know of no articles that show the replacement of hardware components with FORTH software Clearly FORTH has intrinsic advantages over other programming languages when dedicated applications are involved This paper describes a hardware based system and the reduction in system co
94. rest iab t D C G gt n E 3 o a Q C E km o T O a kn o uL products are compatible with all S 100 IEEE 696 hardware CA 94545 CompuPro a amp ODBOUT company 3506 Breakwater Ct Hayward Volume V No 2 imensions FORTH D per ed oo x FORTH Dimensions Published by FORTH Interest Group Volume V No 2 July August 1983 Editorial Marlin Ouverson Publisher Roy C Martens Typesetting Production LARC Computing Inc FORTH Dimensions solicits editorial material comments and letters No re sponsibility is assumed for accuracy of material submitted Unless noted other wise material published by the FORTH Interest Group is in the public domain Such material may be reproduced with credit given to the author and the FORTH Interest Group Subscription to FORTH Dimensions is free with membership in the FORTH Interest Group at 15 00 per year 27 00 foreign air For membership change of address and or to submit material the address is FORTH Inter est Group P O Box 1105 San Carlos CA 94070 Editorial Letters to the Editor Imagine If You Will Dear Editor Am I in the FORTH Dimension or am I in the Twilight Zone I have implemented FIG FORTH on my TI 99 4A It is not completely debugged but it runs Thanks Mike O Malley The disk is not linked in yet though I hope to complete that portion soon I would enjoy hearing from anyone who
95. sionally though FORTH Dimensions has been the unknowing instigator of many frustrating mo ments Why The author of a par ticular article has used FORTH words in a definition which may be standard to his FORTH but not to mine Most recently I have been strug gling to bring up Michael Jesch s Floating Point FORTH Vol IV No 1 Mr Jesch uses the following non FIG words lt gt lt ROT P D M x How would these words be defined in FIG ese For those of us who are still in the learning curve it would be extremely helpful if FORTH Dimensions would adopt a standard and ask authors to stick to it My preference of course would be FIG Thank you for your consideration of and response to this matter Sincerely William B Judd Sales Support Analyst Tech Representatives Inc 3100 N 14th St Ste 101 Lincoln NE 68521 Dear FIG Folk My membership dues and subscrip tion renewal to FORTH Dimensions Volume V are enclosed Please keep printing the check sum as defined in Vol IV No 3 It really helps We need more tools but I ve seen enough editors really The data base design articles by Haydon and Wat kins were very helpful I ve had trou ble getting the PICTURE stuff by Fittery Vol IV No 5 working but it had good ideas I could use more help and suggestions for output formatting to screen and printer input and check ing of terminal entry and defining and using
96. st and an increase in system reliability that resulted by converting to microprocessor control with FORTH as the programming lan guage During this project we faced the common problem of deciding whether to continue development on a hardware based system which had initially promised to deliver the final product in a relatively short period of time at comparatively low unit cost As the project progressed the initially perceived difference in cost between producing units with a hardware base versus microprocessor control con tinued to narrow and eventually it became obvious that a FORTH based microprocessor controlled system was not only inherently easier to design but was going to be cheaper to develop and produce than the hardware based system We estimate that the FORTH system required only one fourth the development time that the hardware based system consumed Our data indicates that a completed hardware based system would cost approximately 200 000 When performed with a FORTH based microprocessor controlled system the same project will cost slightly less that 15 000 60 000 if done by a large company This surprising result materially altered our attitude regard ing the optimum approach The project was started at the request of a customer who operates large towboats on the Mississippi River The customer was interested in determining the fuel consumption i TVEPR E M M Volume V No 2 vers
97. t System PADS for CP M IBM PC or APPLE A three level integrated system with complete documentation Complete system 400 MVP FORTH Software A Transportable FORTH L MVP FORTH Programmer s Kit including disk documen tation Volumes 1 amp 2 of MVP FORTH Series All About O MVP FORTH PADS Enhanced virtual system 150 FORTH 29d Ed amp Assembly Source Code and Starting CL MVP FORTH PADS Programming Aids 150 a O IBM PC O MS DOS LJ Osborne L Kaypro L H89 Z89 e jf oe w 02100 O TEPC DJ MicroDecisions LJ Northstar x MVP FORTH operates under a variety of CPU s computers and LJ Compupro LJ Cromemco 150 operating systems CP M disks can be supplied 8 SS SD 3740 L MVP FORTH Cross Compiler for CP M Programmer s Kit format or 5 4 for Osborne Northstar Micro Decisions Kaypro or Can also generate headerless code for ROM or target H89 Z89 Specify your computer and operating system x x x CPU 300 FORTH DISKS FORTH MANUALS GUIDES amp DOCUMENTS FORTH with editor assembler and manual CJ ALL ABOUT FORTH by O 1980 FORML Proc 25 C APPLE by MM 100 O IBM PC by LM 100 Haydon See above 25 1981 FORML Proc 2 Vol 40 C APPLE by Kuntze 90 NOVA by CCI 8 DS DD 150 O FORTH Encyclopedia by 1 1982 FORML Proc 25 L ATARIP vaFORTH 60 LI 280 by LM 50 Derick n Bakar O 1981 Rochester FORTH CPIM by MM 100 O 8086 88 by LM 100 Programmer s manual to fig Proc 25 C HP
98. ta Compiling process namely that of mapping the address space of the target system into the address space of the host system If you don t under stand the above sentence I suggest you reread the last article on Meta Compil ing This article will use the technique of address mapping discussed last time to implement the guts of a meta compiler I must warn you that I am still leaving out a lot of details which I will try to cover in the next article This article will illustrate how to meta compile code definitions and simple colon definitions First let s take a look at how we can meta compile code definitions What we need is an assembler which gener ates its code in the target system We discussed that briefly last time and showed how to define a JMP instruc tion so that its opcode and address would be assembled in the target sys tem rather than in the host But that is only half of the battle When we de fine a code word we are defining a name in the target system which must appear in the target dictionary Also if a future colon definition references this code word we want to compile the code field address of this word in the target dictionary Let s take this one step at a time First we must de fine a name in the target dictionary There is no magic in this it depends heavily on the structure you decide on for names The only thing you have to be careful about is to make sure the bytes are placed
99. table Transportable Public Domain Tools You need two primary features in a software development package a stable operating system and the ability to move programs easily and LJ MVP FORTH Meta Compiler for CP M Programmer s kit Use for applicatons on CP M based computer Includes public domain source 150 quickly to a variety of computers MVP FORTH gives you both these L1 ieee Lom od dbi fedus oo 2 features and many extras This public domain product includes an editor d c sah ee P 400 FORTH assembler tools utilities and the vocabulary for the best selling is i book Starting FORTH The Programmer s Kit provides a complete MVP FORTH Programming Aids for CP M IBM or APPLE FORTH for a number of computers Other MVP FORTH products will Programmer s Kit Extremely useful tool for decompiling simplify the development of your applications callfinding and translating 150 O MVP FORTH by ECS Software for IBM PC or ATARI9 ca adi s TH by Haydon MVP FORTH 400 800 Standalone with screen editor License required glossary with cross references to fig FORTH Starting FORTH Upgradeable 100 and FORTH 79 Standard 2 4 Ed 25 O MVP FORTH by ECS Software for IBM PC or ATARI 400 800 Volume 2 MVP FORTH Assembly Source Code Includes Enhanced with color animation multitasking sound utilities CP M IBM PC and APPLE listing for kernel 20 bii aea Ud d M S17 OD MVP FORTH Professional Application Developmen
100. tern recognition to determine some aspects of their quality The results are exciting and may lead to the automatic deter mination of software quality superior to current methods of analysis A university project on Func tional Programming FP languages was described which extended FORTH along the lines of LISP and some new languages FP languages promise to be powerful in advanced applications like expert systems and on new distributed computer architectures This project is in the Computer Science department that is a first for FORTH It would be beneficial if cooperation could be developed between the FORTH community and the LISP community Dysan s floating point implementa tion in FORTH created considerable interest It provides a transportable version of the IEEE standard floating point package There was a general consensus among conference attendees that floating point operations need to be available to professional FORTH systems Volume V No 2 31 FORTH Dimensions Continued from page 14 panel and also downioads the speed value into the fuel management system The CPU also generates self test functions and drives display lights that show the confidence level of the depth data and also another confi dence level which indicates the relative goodness of the data received over the RF link This is used both as a safety factor and for maintenance purposes The use of a FORTH based micropro cesso
101. that you can write sounds and or generate a hi fi human voice By the way the machine is capable of digitiz ing and playing back the human voice but until I find out more technical in formation Iam dead ended One of these days I am going to write a pro gram that will allow me to take the voice input and store the digitized data into FORTH virtual memory Mean while I encourage any of you who are interested in hearing real human voice output not like mechanical Digitalker or Votrex to pay a visit to your Victor dealer shout down sound generate all sound initialize chip all sounds generated and shout it down Figure One SCR 205 Q N CODEC SOUND TDH94NOV82 l HEX 2 SOUND INIT 3 EGOO ES REG 4 9g 8060 LC 5E 8061 LC 5 4g 8060 LC D 8061 LC 88 8060 LC F 8061 LC 6 C 8060 LC A 8061 LC CO 898B LC 7 00 8084 LC 00 8085 LC 8 9 PITCH n to turn off the sound 18 E ES REG 80 8060 LC F 8061 LC 11 8084 LC 00 8085 LC 12 DECIMAL 13 14 S 15 OK 26 End Listing Volume V No 2 1 1 j ee a en To 0 aaeh a hin AE ERT LEER HER nnm r mm er ETS CI Y ccrta sms o A emo ene 6502 and 6809 Absolute Branches Listing One OO Lo QOZO OO A0 QOA0 DOSO QO6OL 89 OOF QOgQO QO9ORRAN OLOO DILO 0120 OURO O14 o150 DIG Qi170 Q1B80 0190 02001 0210 0220 Listing Two J OQDI OOBO OUS QO40X DOOK OOS
102. uch Obvi ously that wasn t possible if so what was the point of Cobol The answer is laughing 1 was right and there wasn t any point to Cobol My next application was astronomi cal data acquisition followed by tele scope control I worked in that field for many years that was fun I d still like to work in that field If I ever get the right equipment I d like to put together my own telescope Small maybe eight or ten inch with the right kind of controls and some sort of vidicon so I can put the telescope on ae ODD o e0 ioiidannDDRPNP eJe NLNO9OOgO eDDEUEEESELSUEEEE S C C C C Volume V No 2 5 FORTH Dimensions the roof and sit in the comfort of my control room and observe just like the astronomers do Some say that FORTH either breeds or attracts fanatic interests We were talking about that yester day not among the FORTH people but among business people Speculat ing on how the successful entrepreneur is usually weird He doesn t fit the ac cepted patterns of career or lifestyle The same kind of thing is true of FORTH programmers probably of computer people in general People who like to work with computers either in the hardware or software sense are not your average person They may be introverted a flock of psychiatric terms probably apply but in particular they are the kind who would rather deal with things than with people That s quite a distinct
103. uit 13 THEN 14 LOOP 15 Screen 5 t art Vr amma ntm 12 81 82 cycle through background tasks is keyboard ready if not loop vectored execution of actual keyboard input routine End Listing 2 A background task must exe cute to completion in a reasonable length of time otherwise the user will perceive keyboard responses to be delayed If all of the necessary work cannot be done quickly enough i should be partitioned into two or more background tasks which pass data through local variables 3 Background tasks should not in general attempt to access the disk or keyboard unless you know for sure that the drivers for those devices are reentrant The words used to control the task list are as follows KILL Used in the form KILL name return gt Removes a task from the back ground task list START Used in the form START name lt return gt Adds a task to the background task list TASKS Displays the names of all active background tasks For more flexible operation of the simple multi tasker the dispatcher TASKER can also be invoked from such words as TERMINAL and BLOCK In ap plications where the foreground task is compute bound rather than I O bound another word perhaps named PAUSE should be provided so that the foreground task can give up control to the background tasks at appropriate intervals As they say in the computer sci
104. urce keyed from the published listings of the FORTH INTEREST GROUP FIG plus a translated enhanced version in ZILOG Z80 mnemonics This disk also contains executable FORTH COM files for Z80 amp 8080 processors and a special one for Cromemco 3102 terminals The 2nd disk contains FORTH readable screens inciuding an extensive FULL SCREEN EDITOR FOR DISK amp MEMORY This editor is a powerful FORTH software development tool featuring detailed terminal profile descriptions with full cursor function full and partial LINE HOLD LINE REPLACE and LINE OVERLAY functions plus line insert delete character insert delete HEX character display update and drive track sector display The EDITOR may also be used to VIEW AND MODIFY MEMORY a feature not available on any other full screen editor we know of This disk also has formatted memory and I O port dump words and many items published in FORTH DIMENSIONS including a FORTH TRACE utility a model data base handler an 8080 ASSEMBLER and a recursive decompiler The disks are packaged in a ring binder along with a complete listing of the FULL SCREEN EDITOR anda copy of the FIG FORTH INSTALLATION MANUAL the language model of FIG FORTH a complete glossary memory map installation instructions and the FIG line editor listing and instructions This entire work is placed in the public domain in the manner and spirit of the work upon which it is based Copies may be distributed when proper notices are included U
105. us speed for these towboats The vessels involved are relatively large typically on the order of 150 to 175 feet in length powered by two or three diesel locomotive engines Combined horsepower ranges between 6000 BHP and 10 000 BHP With typical fuel burns of 7 000 to 13 000 gallons of fuel per day the ability to successfully manage these vessels power speed settings is of some importance The algorithm chosen for the problem was relatively simple compare net temp erature corrected fuel burned to speed made good through the water The primary difficulty in the pro gram was the provision of vessel speed through the water This problem has until now been economically intractable due to the turbulence associated with pushing a tow that approaches 3 8 mile in length the flow around the hull is as likely to be moving forward as backward rendering traditional speed measuring devices useless Thus pilots of these multi million dollar vessels often monitor their velocity by gauging their speed past fixed objects on the river bank Navigation by the Mark I eye ball We felt that locating our speed sen sors with the existing depth sounder would be perfect since they then would be operating in undisturbed water ahead of the tow mass It did seem reasonable at the same time to design a more rational solution to the depth sounding requirement If we could place a low power transducer transmitter receiver at the tow head and
106. veryone should use They are becoming a promotional discus sion instead of a concensus discussion That is much more interesting but it isn t quite the purpose that was origi nally intended what words can we agree upon which if used you don t have to worry about portability Un fortunately a lot of the portability of a real program that you re going to run on your IBM PC isn t going to be interesting unless it does something with graphics or interfaces with the keyboard in an interesting way The user interface becomes very important and the standard doesn t address that interface at all because it can t There is too much variety in that area I was reading Twice Shy this morning It deals with computers They have two computers a Grantley and a Harris I don t know if they are real or not I suspect not A program is written for one and wants to be run on the other They are both in BASIC what s involved in doing it I don t think Dick Francis knows all that much about computers but he discusses the problem of confusion confusion confusion and he makes a point that manufacturers probably do this deliberately They want to lock in their customers They will make their system unique in some perhaps tri vial way just to prevent their cus tomers from changing to someone else s machine And of course that prevents anyone else s customers from changing to their machine so they lock themselves out of a market to
107. y running this program would be quite long Subsequent to the receive analysis cycle the FORTH master program generates a speed value from the concurrently operating speedometer At the end of each cycle the system as sembles the depth speed and con fidence data into the data stream and when requested by the bridge mounted display unit by the transmission of a unit unique security code supplies the data to a modem RF unit After completion of the transmission the unit reverts to the depth sounder speed listen mode Polling takes place at a several cycles per second rate The bridge mounted R65F11 based display unit serves as the overall system master by polling the one or two front end units and reducing the data received via the modem The CPU then outputs the depth speed data to the LED drivers for the front Continued on page 32 OURS OTHERS p B Volume V No 2 Wh at D E Al Hav e In Common a Hewlett Packard AT amp T Long Lines General Electric Hughes Aircraft Motorola Ao MIA lt Over the past three years each has bought professional Rockwell t seriational 68000 based Multi FORTH system from Creative B U Q Army ET amp D Labs Solutions Inc l U S Navy NOSC S AE Im fact under the rlewiect Packard program for locating i U t Of C lif o e user software HP Plus HP has been selling Multi i niversity C Of Califor

Download Pdf Manuals

image

Related Search

Related Contents

  Samsung HT-TXQ100 manual de utilizador  PARTIE 9 Règles de construction  一括ダウンロード[PDFファイル/1.9MB]  iH-200-S / iH-200  S Series User Guide (discontinued)  NuTone 860 User's Manual  ECODRIVE03 Drive For General Automation with Fieldbus  DIVAtop ST C  Product Life Management & Design Issues Team 13 Tuneable Light  

Copyright © All rights reserved.
Failed to retrieve file