<<< SHAVE::DECUS:[DECUSERVE]PDP_BASIC.NOTE;1 >>> -< PDP-11_BASICS >- ================================================================================ Note 1.0 PDP-11 BASICS 2 replies EISNER::KILLEEN 6 lines 25-JUN-1987 23:25 -------------------------------------------------------------------------------- The purpose of this conference is to discuss the major PDP-11 basic products. The conference is initially setup in two parts. One set of topics, 5.xx through 14.xx, deal with current released versions. The other set of topics, 15.xx thorugh 19.xx deal with futures or wish list items. The wish list items will be foward to the PDP-11 languages group. ================================================================================ Note 1.1 PDP-11 BASICS 1 of 2 EISNER::KILLEEN "Jeff Killeen" 33 lines 8-JUL-1987 15:06 -< THE THREE BASICS >- -------------------------------------------------------------------------------- Some background on the three major BASIC products available on PDP-11's. BASIC-PLUS on RSTS: This is the oldest of the three BASICs. BASIC-PLUS-2 on RSTS, RSX, PRO, and VMS were originally based on this language's definition. The code for BASIC-PLUS on RT-11 is based on this BASIC with extensions. It is a high speed interpreter, or incremental compiler. It is a great development tool since a user can interrupt execution, examine code and variables, and change statements. It does not support RMS-11. Most code written in this BASIC will run on the other two. BASIC-PLUS on RT-11: This is the newest of the three BASICs. This product is an extended version of RSTS BASIC-PLUS. In addition to all the above features of RSTS BASIC-PLUS it allows the user to define new language statements, and supports callable macro subroutines. It can be overlaid to create more user program space. BASIC-PLUS-2: This is the only true compiler BASIC available from Digital for the PDP-11's. It is the same product on RSTS, RSX, and the PRO. Version 2 initially shared the same BLISS code with VAX BASIC. It is the most powerful of the three. RSTS BASIC-PLUS RT-11 BASIC-PLUS BASIC-PLUS-2 !-----------------------!-----------------------!------------------ RSX ! ! Works but not ! supported ! ! supported ! !-----------------------!-----------------------!------------------ RSTS ! supported ! ! supported !-----------------------!-----------------------!------------------ RT-11 ! ! supported ! !-----------------------!-----------------------!------------------ ================================================================================ Note 1.2 PDP-11 BASICS 2 of 2 EISNER::KILLEEN "Jeff Killeen" 1 line 10-OCT-1987 13:31 -< RT BASIC-PLUS >- -------------------------------------------------------------------------------- Please see the LATEST CONFERENCE topic 73.0 ================================================================================ Note 2.0 CONFERENCE DIRECTORY No replies EISNER::KILLEEN 1 line 25-JUN-1987 23:27 -------------------------------------------------------------------------------- This topic is reserved for a future directory of this conference. ================================================================================ Note 3.0 MODERATOR COMMENTS No replies EISNER::KILLEEN 1 line 25-JUN-1987 23:28 -------------------------------------------------------------------------------- This topic is reserved for Moderator comments. ================================================================================ Note 4.0 RESERVED TOPIC No replies EISNER::KILLEEN 1 line 25-JUN-1987 23:29 -------------------------------------------------------------------------------- This is a reserved topic ================================================================================ Note 5.0 RSTS BASIC-PLUS HINTS & KINKS 4 replies EISNER::KILLEEN 1 line 25-JUN-1987 23:39 -------------------------------------------------------------------------------- This topic will be used to discuss RSTS BASIC-PLUS hints and kinks. ================================================================================ Note 5.1 RSTS BASIC-PLUS HINTS & KINKS 1 of 4 EISNER::KILLEEN 14 lines 2-JUL-1987 00:43 -< FORMAT CONTROL >- -------------------------------------------------------------------------------- We add the following statements to our EDTINI.EDT files. They allow us to easly create code that can be used by both BP and BP2. ! ! BASIC LANGUAGE LINE FORMAT COMMANDS ! ! BACKSPACE = Statement continuation - "&" ! LINEFEED = Line continuation - "\&" ! EOL(keypad) = End of line - "&" ! GOLD H = Setup a section header ! DEFINE KEY CONTROL H AS "I & ^Z." DEFINE KEY CONTROL J AS "I \ & ^Z." DEFINE KEY 02 AS "I & ^Z." DEFINE KEY GOLD H AS "I?'Line Number: ' ! & ! ?' Title: ' & ^Z." ================================================================================ Note 5.2 RSTS BASIC-PLUS HINTS & KINKS 2 of 4 EISNER::KILLEEN "Jeff Killeen" 8 lines 6-MAR-1988 02:00 -< HELLO USER SPACE - BYE BYE COMPILE/TKB >- -------------------------------------------------------------------------------- We have installed BAS24 on our system. This is a relinked version of RSTS BASIC-PLUS. It works just like BASIC-PLUS but you get a 24K user area instead of the standard 16K. I am finding that it gives you about the same amount compile space as BP2. I STRONGLY RECOMMEND this product for anyone who is doing BP development. The ordering information is in the DEC PRO and the cost is $2950. They will send you a demo tape for $50. ================================================================================ Note 5.3 RSTS BASIC-PLUS HINTS & KINKS 3 of 4 EISNER::KENNEDY "Terry Kennedy" 8 lines 6-MAR-1988 03:09 -< Examining hat carefully (magic trick?) >- -------------------------------------------------------------------------------- > We have installed BAS24 on our system. This is a relinked version of > RSTS BASIC-PLUS. Can you still select relevant GEN options? (matrices, string , debug)? Does this mean you don't get garbage collection problems at ~15K any- more? Where did the other 8Kw come from - are some (less-used) parts in an overlay? ================================================================================ Note 5.4 RSTS BASIC-PLUS HINTS & KINKS 4 of 4 EISNER::KILLEEN "Jeff Killeen" 35 lines 6-MAR-1988 04:15 -< THIS LOOKS LIKE A REALLY SOLID PRODUCT >- -------------------------------------------------------------------------------- > Can you still select relevant GEN options? (matrices, string , debug)? You get three versions 2 word math - No FPP 4 word math - No FPP 4 word math - FPP You get Log functions, Print Using, Trace, Break, and Dump. You don't get Trig functions, Matrices, or String Arithmetic. You only get scale with FPP systems. > Does this mean you don't get garbage collection problems at ~15K any- > more? We have not seen any problems > Where did the other 8Kw come from - are some (less-used) parts in an > overlay? They split BASIC-PLUS into three run-time systems. One for keyboard commands, one to compile the source into intermediate code, and one to run the intermediate code. And before you ask they do not thrash each other. The sad thing about this DEC paid EG&H to develop the original version of BASIC-PLUS and then Citi-Bank paid EG&H for the enhanced version with the extended variable names and DEC never funded any further development. Also since it was not developed in house no one inside of DEC really never knew the product that well. These changes were not that difficult to implement and could have been done years ago (with version 5). Peter Dick who owns the product checked with EG&H before he did the project. Looking back on the last 10 years if DEC had done this I could have had 6 months of my life back instead of waiting for BP2 compiles and task builds ================================================================================ Note 6.0 RT-11 BASIC-PLUS HINTS & KINKS No replies EISNER::KILLEEN 1 line 25-JUN-1987 23:40 -------------------------------------------------------------------------------- This topic will be used to discuss RT-11 Basic-Plus Hints & Kinks. ================================================================================ Note 7.0 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 9 replies EISNER::KILLEEN 2 lines 25-JUN-1987 23:41 -------------------------------------------------------------------------------- The topic will be used to discuss PRO, RSX, RSTS Basic-Plus-2 Hints & Kinks. ================================================================================ Note 7.1 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 1 of 9 EISNER::KILLEEN 14 lines 2-JUL-1987 00:41 -< FORMAT CONTROL >- -------------------------------------------------------------------------------- We add the following statements to our EDTINI.EDT files. They allow us to easly create code that can be used by both BP and BP2. ! ! BASIC LANGUAGE LINE FORMAT COMMANDS ! ! BACKSPACE = Statement continuation - "&" ! LINEFEED = Line continuation - "\&" ! EOL(keypad) = End of line - "&" ! GOLD H = Setup a section header ! DEFINE KEY CONTROL H AS "I & ^Z." DEFINE KEY CONTROL J AS "I \ & ^Z." DEFINE KEY 02 AS "I & ^Z." DEFINE KEY GOLD H AS "I?'Line Number: ' ! & ! ?' Title: ' & ^Z." ================================================================================ Note 7.2 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 2 of 9 EISNER::KENNEDY "Terry Kennedy" 15 lines 10-JUL-1987 00:54 -< BP2 V2.4 not compatible w/ V2.3 >- -------------------------------------------------------------------------------- Having just installed [endured] BP2 V2.4 on RSTS, I have discovered that at least one of the Basic-Plus 'compatibility' features has gone away. This means that several of the RSTS/E CUSPS will not compile under this version. I'm now re-installing 2.3 - it had some bugs, but at least it compiled the stuff. My main gripe is that in the past, a considerable amount of effort was expended by DEC to ensure that BP2 was a reasonable superset of B+. This release, in one stroke, negates that. The particular item I found first was the LINE keyword - used for reporting the current program line for ^C trapping. It doesn't matter how easy it is to change the basic program, why should I have to change it at all? tmk ================================================================================ Note 7.3 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 3 of 9 EISNER::HORN "Larry Horn" 2 lines 10-JUL-1987 15:58 -< RSTS BP2 V2.3 -> 2.4? >- -------------------------------------------------------------------------------- Could you give a brief list of things that break? I'm planning to install v2.4 in a week or so and would like to be prepared. ================================================================================ Note 7.4 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 4 of 9 EISNER::KENNEDY "Terry Kennedy" 17 lines 10-JUL-1987 20:38 -< Here's an idea >- -------------------------------------------------------------------------------- >> Could you give a brief list of things that break? I'm planning >> to install v2.4 in a week or so and would like to be prepared. Well, I tried compiling the RSTS CUSPS and got lots of errors, so I ran screaming back to 2.3. The best way to check in your programs is to run the cross-reference utility with option /KEYWORDS. Now look up the list in the Reference Manual index. I know that's hard, but... All the items which have gone away were not documented in the 2.3 manual set (or at least I couldn't find any). They all seem to have been in for purposes of B+ compatibility. If your appli- cation was originally written in BP2, you're probably safe. **** BACK UP YOUR ENTIRE INSTALLED 2.3 COMPILER BEFORE INSTALLING 2.4 **** I've re-installed 2.3 on one system. Since I have 4 systems here, I can have one be back-level for purposes of compiling system code. You DON'T want to have to re-install if 2.4 is sour for you, though - it takes too long. ================================================================================ Note 7.5 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 5 of 9 EISNER::TABOR "Bill Tabor" 58 lines 12-JUL-1987 14:51 -< Using the VARIANT to compile my Programs >- -------------------------------------------------------------------------------- I add the following code to all of my programs written in BP2 or VAX BASIC. %LET %RSTS = 2 %LET %RSXMP = 4 %LET %RSXM = 8 %LET %POS = 16 %LET %VMS = 32 %IF %VARIANT AND 1 %THEN %LET %DEBUG = -1 %ELSE %LET %DEBUG = 0 %END %IF %IF %VARIANT AND (4 + 8 + 16) %THEN %LET %RSX = -1 %ELSE %LET %RSX = 0 %END %IF %IF %VARIANT AND (2 + 4 + 8 + 16) %THEN %LET %PDP11 = -1 %ELSE %LET %PDP11 = 0 %END %IF %IF %DEBUG %THEN %IF %VARIANT AND %RSTS %THEN PRINT "Compiled for RSTS" %END %IF %IF %VARIANT AND %RSXMP %THEN PRINT "Compiled for RSX-11M+" %END %IF %IF %VARIANT AND %RSXM %THEN PRINT "Compiled for RSX-11M" %END %IF %IF %PDP11 %THEN PRINT "Compiled for PDP-11" %END %IF %IF %RSX %THEN PRINT "Compiled for RSX" %END %IF %IF %VARIANT AND %VMS %THEN PRINT "Compiled for VMS" %END %IF %IF %DEBUG %THEN PRINT "Compiled with DEBUG" %END %IF %END %IF ================================================================================ Note 7.6 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 6 of 9 EISNER::KENNEDY "Terry Kennedy" 3 lines 24-JUL-1987 23:54 -< More gotcha's in V2.4 >- -------------------------------------------------------------------------------- For more bad news on Basic-Plus 2 / RSTS V2.4, see the info in the LATEST_RELEASE_INFORMATION conference. I've found more gotcha's. terry ================================================================================ Note 7.7 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 7 of 9 EISNER::HORN "Larry Horn" 23 lines 26-JUL-1987 22:44 -< only one error >- -------------------------------------------------------------------------------- >> This means that several of the RSTS/E CUSPS will not compile [under >> V2.4]... The particular item I found first was the LINE keyword ... Several - do you have a source kit? The only error I found when compiling the programs in SOURCE$ was one use of LINE in the LOGIN program. Everything else compiled and linked just fine. I also recompiled and linked several (maybe a dozen) utility programs that I've written and received no errors. After that I stopped testing, since that covered my immediate needs and had to go on to another project. In a couple weeks I'll start testing our administrative software (the V2.4 compiler is on our academic machine only for now). I'll report on my [non]success after I've rebuilt those programs. >> It doesn't matter how easy it is to change the basic program, why >> should I have to change it at all? In this case, I think a cover-letter note in the release package would have been sufficient (since as far as I can tell, it only affected one program). Larry Horn ================================================================================ Note 7.8 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 8 of 9 EISNER::KENNEDY "Terry Kennedy" 21 lines 26-JUL-1987 23:28 -< More on the LINE bug >- -------------------------------------------------------------------------------- >> Several - do you have a source kit? No, I don't have the source kit - I've been using some of the code in the V8 kits as a base for some local code since DEC no longer dis- tributes sources. The source kit is on order for delivery in October. >> In this case, I think a cover-letter note in the release package >> would have been sufficient (since as far as I can tell, it only >> affected one program). The point I was trying to make is that this is an ommission from the product for no apparent reason. The outboard XREF utility still thinks that the LINE keyword is valid. Only the compiler has trouble with it. As I said in an off-line conference with Jeff Killeen, 'I'm mas as hell but it doesn't particularly affect me'. My objection is that something went away without any notification. How would you feel if all of the '%Language feature is declining' keywords vanished? Arguably, that will never happen. However, if we accept LINE and others without comment, that may bring 'never' a little bit closer. Terry Kennedy ================================================================================ Note 7.9 PRO, RSX, RSTS BASIC-PLUS-2 HINTS & KINKS 9 of 9 EISNER::TABOR "Bill Tabor" 8 lines 7-MAR-1988 20:20 -< Fast map works >- -------------------------------------------------------------------------------- I Just finished a project on a RSTS/E V9.5 system allows me to use an external function to remap my array to n 4kw segments. This gives me any size of in memory array I want to use. This program does fast mapping. The cost of cpu time was about 6% in 1,000,000 random accesses to the a stright memory access just using subscrips. It took 25% less cpu then accessing a virtual disk file on an RD53. and was 200% wall clock faster. Fast map does work! ================================================================================ Note 8.0 RESERVED No replies EISNER::KILLEEN 1 line 25-JUN-1987 23:43 -------------------------------------------------------------------------------- This is a reserved topic. ================================================================================ Note 9.0 RESERVED No replies EISNER::KILLEEN 1 line 25-JUN-1987 23:43 -------------------------------------------------------------------------------- This is a reserved topic. ================================================================================ Note 10.0 RSTS BASIC-PLUS QUESTIONS 4 replies EISNER::KILLEEN 2 lines 25-JUN-1987 23:56 -------------------------------------------------------------------------------- This topic will be used to ask questions regarding RSTS Basic-Plus. The questions can be; how to; have you done; or do you know. ================================================================================ Note 10.1 RSTS BASIC-PLUS QUESTIONS 1 of 4 EISNER::MCALLISTER "Brian McAllister" 16 lines 6-OCT-1988 12:59 -< CSPCOM info wanted >- -------------------------------------------------------------------------------- Can anyone explain why CSPCOM sometimes works, and sometimes doesn't? I am not talking about BASIC+2 features that it doesn't understand, but about cases where it appears to successfully compile, and the task build works, but the executable doesn't. Also, is it possible to do the task build so that the CSPLIB shared library is used properly? I have tried this while modifying CUSPs (LOGOUT in particular), and managed to get programs that worked but were ~50% larger than the .TSKs that came with RSTS. Finally, can LOGIN be successfully rebuilt with CSPCOM, or is BP2 required? ================================================================================ Note 10.2 RSTS BASIC-PLUS QUESTIONS 2 of 4 EISNER::KENNEDY "Terry Kennedy" 21 lines 6-OCT-1988 18:35 -< It's not so bad >- -------------------------------------------------------------------------------- > I am not talking about BASIC+2 features that it doesn't understand, > but about cases where it appears to successfully compile, and the > task build works, but the executable doesn't. Aside from the deassign logical problem, I'd be interested in seeing any examples of this. > Also, is it possible to do the task build so that the CSPLIB > shared library is used properly? I have tried this while modifying > CUSPs (LOGOUT in particular), and managed to get programs that worked > but were ~50% larger than the .TSKs that came with RSTS. Misassuption: CSPLIB is not used with CSPCOM, but only with BP2. There is no DEC-supplied resident library support for CSPCOM, but if you have a BP2 V1.6 tape, you might be able to cook up something. > Finally, can LOGIN be successfully rebuilt with CSPCOM, or is BP2 > required? Yes, if you fix the CSPCOM bug. The fix is in the Oct. 88 RSTS Newsletter, or you can get it fro the RSTS SIG BBS (see topic on BBS here). ================================================================================ Note 10.3 RSTS BASIC-PLUS QUESTIONS 3 of 4 EISNER::MCALLISTER "Brian McAllister" 12 lines 7-OCT-1988 10:54 -< Deassign logical problem? >- -------------------------------------------------------------------------------- < Note 10.2 by EISNER::KENNEDY "Terry Kennedy" > >> cases where it appears to successfully compile, and the >> task build works, but the executable doesn't. > Aside from the deassign logical problem, I'd be interested in seeing any >examples of this. The specific case I had in mind was LOGIN. What deassign logical problem? ================================================================================ Note 10.4 RSTS BASIC-PLUS QUESTIONS 4 of 4 EISNER::KENNEDY "Terry Kennedy" 16 lines 7-OCT-1988 22:58 -< *That* problem... >- -------------------------------------------------------------------------------- > The specific case I had in mind was LOGIN. > What deassign logical problem? A=B. LOGIN's problem is with deassigning logicals - The CSPCOM.OLB rou- tine to do this function is what traps LOGIN. Try this: File to patch? CSPCOM.OLB Base address? 107430 Offset address? 0 Base Offset Old New? ?????? 000000 005040 ? ?????? 000002 020037 ? 20027 ?????? 000004 000734 ? ?????? 000006 101374 ? ^C ================================================================================ Note 11.0 RT-11 BASIC-PLUS QUESTIONS No replies EISNER::KILLEEN 2 lines 25-JUN-1987 23:57 -------------------------------------------------------------------------------- This topic will be used to ask questions regarding RT-11 Basic-Plus. The questions can be; how to; have you done; or do you know. ================================================================================ Note 12.0 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 9 replies EISNER::KILLEEN 3 lines 26-JUN-1987 00:01 -------------------------------------------------------------------------------- This topic will be used to ask questions regarding PRO, RSX, and RSTS Basic-Plus-2. The questions can be; how to; have you done; or do you know. ================================================================================ Note 12.1 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 1 of 9 EISNER::KILLEEN "Jeff Killeen" 11 lines 11-NOV-1987 17:40 -< IMPROVED BP2 PERFORMANACE >- -------------------------------------------------------------------------------- Since I spend most of my time doing BP2 compiles on RSTS I would like to know your favorite ticks for improving performance. I have PDP-11/73B with 4MB of PMI memory RD53 RD52 Dual RL02's Dual RX33's It is a one user system - so anything goes ================================================================================ Note 12.2 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 2 of 9 EISNER::KENNEDY "Terry Kennedy" 19 lines 11-NOV-1987 18:24 -< Virtual disk >- -------------------------------------------------------------------------------- > I would like to know your favorite ticks for improving performance. I find that the major bottleneck in BP2 compiler performance is that the compiler spends at least 75% of its time loading other portions of itself from disk overlays. For machines with the CIS option (11/23, 24, 44) simply putting the compiler image on the virtual disk will help a lot for RSTS. From talking to several RSX people, I get the impression performance is better under RSX. Perhaps this is because RSX people are more used to changing the files used to TKB the com- piler. Certainly, building the compiler as an I&D space task will help, if it can be done. Or, for the really adventurous, several resident libraries could be made from the old overlay code, and one could just re-map as needed. Regarding the virtual disk idea - it will probably help even on a system without CIS, but it will *kill* the system for other users. To try it, just copy $BP2IC2.TSK to DV0: and RUN DV0:$BP2IC2. The switch BP2 command will pull up the non-DV0: version, so don't use it. ================================================================================ Note 12.3 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 3 of 9 EISNER::KENNEDY "Terry Kennedy" 9 lines 11-NOV-1987 18:28 -< RSTS BP2 programs on VMS? >- -------------------------------------------------------------------------------- And now back with a question of my own - Why can't a simple BP2 program like: 10 PRINT "THIS IS A TEST" 20 END after being compiled and TKB'd on a RSTS system, be run on a VAX under the RSX AME? I get 'Non-RSX EMT encountered'. However, the same task will work if copied to a RSX system! It seems that the BP2 run-time library does some checking or initialization at startup time which requires RSTS/E or real RSX. Any ideas on a way around this? ================================================================================ Note 12.4 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 4 of 9 EISNER::KILLEEN "Jeff Killeen" 11 lines 11-NOV-1987 18:40 -< VIRTUAL DISK DID NOT WORK >- -------------------------------------------------------------------------------- >Regarding the virtual disk idea - it will probably help even on a >system without CIS, but it will *kill* the system for other users. >To try it, just copy $BP2IC2.TSK to DV0: and RUN DV0:$BP2IC2. The >switch BP2 command will pull up the non-DV0: version, so don't >use it. When I tried this the virtual disk took longer. I normally have the system set cache all - with a 1MB cache. Yes I did turn cache off for the test. I would agree that this is a good idea for a CIS system. ================================================================================ Note 12.5 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 5 of 9 EISNER::KENNEDY "Terry Kennedy" 22 lines 11-NOV-1987 18:48 -< Code for non-CIS is ugh! >- -------------------------------------------------------------------------------- > When I tried this the virtual disk took longer. Well, here goes with some RSTS monitor/device driver stuff: If you have CIS, then the CIS 'move string' opcode is used to copy the data from the memory region of the virtual disk to your job's data area. I know this hasn't changed. For non-CIS systems, the last time I looked, the transfer was done the following way: 1) Map virtual disk area 2) Load up 4 registers with 4 words of virtual disk data 3) Map user job area 4) Store 4 words of data from registers to job area 5) Repeat 128 times It seems the reason for this is that both methods will be interruptable by a higher-priority operation. If we could get both the virtual disk area and the user job area mapped at the same time, things would get a lot better for non-CIS systems. In the meanwhile, you might look at one of the virtual disk products that emulates a 'real' DEC disk device. Then RSTS will use the normal NPR transfer mechanism to move the data. ================================================================================ Note 12.6 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 6 of 9 EISNER::TABOR "Bill Tabor" 13 lines 16-NOV-1987 21:28 -< How Fast is FAST? >- -------------------------------------------------------------------------------- How I optimized my RSX system was to build a large DISK cache for My source DISK and made sure the LB: pointed to this disk as well as SY: the compiler is also on this DISK. I have secondary Cache set to 96k. On an 11/73 with 2mb I can compile a 700 line program in 3 Min. Is that fast? I use to work on a system that took 2 hours to compile and 16 to task build. There was a macro-11 system that was built with this system that took 12 hours to macro and 2 hours to task build. As to why PDP-11 Basic program won't work on a VAX in the RSX AME. You can't build the complier under the AME either. ================================================================================ Note 12.7 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 7 of 9 EISNER::KILLEEN "Jeff Killeen" 59 lines 29-NOV-1987 19:02 -< BP2 RSTS COMPILER PERFORMANCE >- -------------------------------------------------------------------------------- After much research here is what I found about RSTS BP2 compiler performance...... COMPILER WORK FILE TIME IN TEST# LOCATION LOCATION MINUTES ----- ---------------------- ---------------------- ------- 1. DU0: (NOCACHE) DU0: (NOCACHE) 22 2. DU0: (CACHE ALL) DU0: (CACHE ALL) 19 (86%) 3. DU0: (CACHE ALL) DV0: (VIRTUAL DISK) 18 (82%) 4. DU0: (FORCED CACHE ALL) DU0: (CACHE ALL) 14 (64%) 5. DV0: (VIRTUAL DISK) DU0: (CACHE ALL) 14 (64%) 6. DU0: (FORCED CACHE ALL) DV0: (VIRTUAL DISK) 13.5 (61%) 7. DV0: (VIRTUAL DISK) DV0: (VIRTUAL DISK) 12 (55%) NOCACHE = The system's automatic data caching was turned off. VIRTUAL DISK = 1.2MB RSTS virtual disk. FORCE CACHE ALL = The BP2IC2.TSK was forced into the system by using the program listed below. The program that was used to force the compiler into the cache was the following: 10 OPEN "[1,5]BP2IC2.TSK/MO:8448" FOR INPUT AS FILE 1% 20 GET#1%, BLOCK Z% FOR Z%=1% TO 924% 30 END The system cache was set: CLUSTERSIZE=4 KEEP=15 The system is configured as follows: 11/73B (quad board) CPU Clearpoint QED1 4MB PMI (11/83 type) memory (17% faster than a DEC 73) 1.0MB allocated to cache 1.2MB allocated to the virtual disk RQDX3 disk controller RD53 71MB disk drive The surprise in this was RSTS by itself *DID NOT* use cache very well. It is clear that if you have a large enough cache and the system to yourself you should force load the BP2 compiler into the system cache via the program above. It it also clear if you have enough memory, you have the system to yourself, and you don't mind 100% of the CPU going to the BP2 compile, then you should place the compiler and the work files on the virtual disk. Bytes 47-50 in block 7 of the compiler task image (BP2IC2.TSK) contain where the work files are to be located. Comments about the RSTS cache should be made in the RSTS_OS conference. ================================================================================ Note 12.8 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 8 of 9 EISNER::FRISBIE "Alan Frisbie - Flying Disk Systems" 15 lines 30-AUG-1989 22:08 -< 4-byte RMS Key problem >- -------------------------------------------------------------------------------- Using BASIC-Plus-2 v2.3 under RSX-11M v4.1, I am trying to open an RMS indexed file. The primary key is a LONG, which the compiler accepts, but fails at run time with error 160 (File attributes not matched). The file was created and loaded on RSX using the standard RMS utilities. RMSDSP shows the key type as Binary, Length=4. If the exact same data is used to build a file where the primary key is a WORD (with the matching change to the BP2 program), it works just fine. If I compile and run on a VAX (as a LONG), it also works just fine. Since my key values range to 99999, and the customer only has a PDP-11, this is not a solution. Am I doing something wrong, or is this a bug? Is it fixed in a later release? ================================================================================ Note 12.9 PRO, RSX, RSTS BASIC-PLUS-2 QUESTIONS 9 of 9 EISNER::KENNEDY "Terry Kennedy" 6 lines 31-AUG-1989 06:07 -< Example? >- -------------------------------------------------------------------------------- > Since my key values range to 99999, and the customer only > has a PDP-11, this is not a solution. Am I doing something > wrong, or is this a bug? Is it fixed in a later release? Could be (bug/fixed). Why don't you Mail me a short sample program and I'll try it under V2.6 (current). ================================================================================ Note 13.0 RESERVED No replies EISNER::KILLEEN 1 line 26-JUN-1987 00:06 -------------------------------------------------------------------------------- This is a reserved topic ================================================================================ Note 14.0 RESERVED No replies EISNER::KILLEEN 1 line 26-JUN-1987 00:07 -------------------------------------------------------------------------------- This is a reserved topic ================================================================================ Note 15.0 RSTS BASIC-PLUS FUTURES No replies EISNER::KILLEEN 1 line 26-JUN-1987 00:09 -------------------------------------------------------------------------------- This topics is to be used to discuss wish list items for RSTS Basic-Plus. ================================================================================ Note 16.0 RT-11 BASIC-PLUS FUTURES No replies EISNER::KILLEEN 1 line 26-JUN-1987 00:11 -------------------------------------------------------------------------------- This topics is to be used to discuss wish list items for RT-11 Basic-Plus. ================================================================================ Note 17.0 PRO, RSX, RSTS BASIC-PLUS-2 FUTURES 2 replies EISNER::KILLEEN 2 lines 26-JUN-1987 00:12 -------------------------------------------------------------------------------- This topics is to be used to discuss wish list items for PRO, RSX, and RSTS Basic-Plus-2. ================================================================================ Note 17.1 PRO, RSX, RSTS BASIC-PLUS-2 FUTURES 1 of 2 EISNER::KILLEEN "Jeff Killeen" 17 lines 7-MAR-1988 20:50 -< BUILT IN FAST MAP FUNCTION >- -------------------------------------------------------------------------------- I have just finished a major project that required fast mapping. BP2 needs a built in function to take advantage of fast mapping. Every time you do a fast map call through an external function call you get at least an extra 14 instructions. 7 register saves and 7 register restores. With a built in function they could cut this way down. You may say who cares about 14 instructions? You do it 100000's of times a day and it adds up. We need two fast map calls. FASTMAP1(apr_code,region_offset) FASTMAP2(apr_code,region-offset,window_length) The data returned would be the contents of R0 (IS.SUC). ================================================================================ Note 17.2 PRO, RSX, RSTS BASIC-PLUS-2 FUTURES 2 of 2 EISNER::CONROY "Alan Conroy" 3 lines 12-AUG-1988 12:33 -< How about a heap? >- -------------------------------------------------------------------------------- Including a heap mechanism (like those in Pascal or C) would be a real help. At the risk of making it RSTS/E specific: A un-named dynamic region could be used to implement it. ================================================================================ Note 18.0 RESERVED No replies EISNER::KILLEEN 1 line 26-JUN-1987 00:12 -------------------------------------------------------------------------------- This is a reserved topic. ================================================================================ Note 19.0 RESERVED No replies EISNER::KILLEEN 1 line 26-JUN-1987 00:13 -------------------------------------------------------------------------------- This is a reserved topic. ================================================================================ Note 20.0 Interpreted BASIC 1 reply EISNER::LEDERMAN "Bart Z. Lederman" 9 lines 11-JUL-1987 18:48 -------------------------------------------------------------------------------- I would like to propose that this conference go beyond Basic-Plus-2 to include interpreted Basic. I propose both the older BASIC-11 product (which we still run at our company), and Reese Basic (which I now run on my PRO, and which may show up on the VAX). I would even extend it to other Basics, since I'm sure people are going to run Basic on their VAXmates, and even Rainbows. ================================================================================ Note 20.1 Interpreted BASIC 1 of 1 EISNER::KILLEEN "Jeff Killeen" 8 lines 11-JUL-1987 19:44 -< GODD IDEA! >- -------------------------------------------------------------------------------- | I would like to propose that this conference go beyond | Basic-Plus-2 to include interpreted Basic. I propose both the older | BASIC-11 product (which we still run at our company), and Reese Basic | (which I now run on my PRO, and which may show up on the VAX). FYI - RSTS BASIC-PLUS and RT11 BASIC-PLUS are interpreters. However, a topic on the above BASICs is a good idea! ================================================================================ Note 21.0 Problems In BASIC-PLUS II V2.4 7 replies EISNER::TABOR "Bill Tabor" 1 line 25-JUL-1987 13:56 -------------------------------------------------------------------------------- This topic will be used to discuss Problems in BASIC-Plus II V2.4 ================================================================================ Note 21.1 Problems In BASIC-PLUS II V2.4 1 of 7 EISNER::TABOR "Bill Tabor" 38 lines 25-JUL-1987 14:00 -< Reported Problems >- -------------------------------------------------------------------------------- The following notes were extracted from the Lastest version conference. < Note 46.0 by EISNER::KENNEDY "Terry Kennedy" > -< Basic-Plus 2 / RSTS/E >- We have just installed RELEASE 2.4 of Basic-Plus 2 for RSTS/E. None of the problems fixed in this release had affected us, so I can't comment about improvements. However, the compiler task image is a good bit larger. < Note 46.1 by EISNER::KENNEDY "Terry Kennedy" > -< V2.4 not so hot >- Well, now that I've tried it, I discovered that the compiler no longer supports statements that it accepted in V2.3, such as the LINE variable. We're moving back to 2.3 on all systems until such time as the compat- ibility between B+ and BP2 is restored. tmk < Note 46.2 by EISNER::KENNEDY "Terry Kennedy" > -< More holes in 2.4 (swiss cheese?) >- The latest thing to bite us with BP2 V2.4 / RSTS is that it will not correctly generate code to run with disk-based BP2OTS and resident library DAP. All combinations blow up. Disk-based OTS + disk-based RMS/DAP works ok, but kills your task due to swapping to remain in 32K. I haven't tried this with 2.3 yet, because the people here want to 'use the latest version', and the source code will ship to lots of sites with 2.4. I have heard other problems (unconfirmed here) with BP2 V2.4 and the RMS interface. Other problems include the compiler generating an .OBJ file even after a fatal syntax error during compile. DEC (if you're listening): You should be ashamed to release a product in this condition. The index now gets you to the correct section (something it didn't always do in 2.3), but the compiler is full of holes. tmk ================================================================================ Note 21.2 Problems In BASIC-PLUS II V2.4 2 of 7 EISNER::TABOR "Bill Tabor" 14 lines 25-JUL-1987 14:07 -< Would like some more Information >- -------------------------------------------------------------------------------- < The latest thing to bite us with BP2 V2.4 / RSTS is that it will not < correctly generate code to run with disk-based BP2OTS and resident < library DAP. All combinations blow up. Disk-based OTS + disk-based < RMS/DAP works ok, but kills your task due to swapping to remain in 32K. < I haven't tried this with 2.3 yet, because the people here want to 'use < the latest version', and the source code will ship to lots of sites < with 2.4. I like some more information on this since I have been running 2.4 for sometime now on RSX-11M Plus and have not run into this problem. ================================================================================ Note 21.3 Problems In BASIC-PLUS II V2.4 3 of 7 EISNER::KENNEDY "Terry Kennedy" 7 lines 25-JUL-1987 22:26 -< SPR attachment follows >- -------------------------------------------------------------------------------- > I like some more information on this since I have been running 2.4 > for sometime now on RSX-11M Plus and have not run into this problem. The next reply is the attachment I send along with the SPR - Warning: It is quite long. terry ================================================================================ Note 21.4 Problems In BASIC-PLUS II V2.4 4 of 7 EISNER::KENNEDY "Terry Kennedy" 231 lines 25-JUL-1987 22:35 -< Here is the SPR attachment (231 lines) >- -------------------------------------------------------------------------------- RED::$. sw bp2 PDP-11 BASIC-PLUS-2 V2.4-00 BASIC2 old n.bas BASIC2 list N 11:04 PM 24-Jul-87 1 extend 10 print "node"; & \ input node$ & \ print "account"; & \ input line acct$ & \ acct$=mid(acct$,1%,len(acct$)-2%) & \ print "file"; & \ input file$ & \ a$=node$+'"'+acct$+'"::'+file$ & \ print a$ 15 open a$ for input as file #1, sequential 20 input line #1,a$ 30 print a$; 40 goto 20 32767 end BASIC2 rem first we will try the book example (pg. 18-14, 18-15) BASIC2 set /seq BASIC2 rmsres rmsres BASIC2 set /cluster : dapres BASIC2 compile/obj N 11:05 PM 24-Jul-87 BASIC2 build BASIC2 $ RED::$. type n.cmd SY:N/FP=SY:N/MP UNITS = 13 ASG = SY:5:6:7:8:9:10:11:12 CLSTR = DAPRES,RMSRES:RO // RED::$. type n.odl .ROOT BASIC2-RMSROT-USER,RMSALL USER: .FCTR SY:N-LIBR LIBR: .FCTR LB:BP2OTS/LB @LB:BP2IC1 @LB:RMS11X .END RED::$. tkb @n %TKB -- *DIAG*-Module R0AUTO multiply defines symbol $DXTHR ... here follow about 80 more, deleted to save NOTES space ... %TKB -- *DIAG*-Module R3DELE multiply defines symbol $DEL3E ^C RED::$. ! not so good - let's try another way... RED::$. sw bp2 PDP-11 BASIC-PLUS-2 V2.4-00 BASIC2 old n.bas BASIC2 set /seq BASIC2 rmsres rmsres BASIC2 set /cluster : dapres BASIC2 rem now we'll add the ODLRMS from page 18-15: BASIC2 odlrms lb:daprlx BASIC2 rem note that we had to insert LB: in front of the manual's example, BASIC2 rem which is incorrect (again). BASIC2 compile N 11:10 PM 24-Jul-87 BASIC2 build BASIC2 $ RED::$. type n.cmd SY:N/FP=SY:N/MP UNITS = 13 ASG = SY:5:6:7:8:9:10:11:12 CLSTR = DAPRES,RMSRES:RO // RED::$. type n.odl .ROOT BASIC2-RMSROT-USER,RMSALL USER: .FCTR SY:N-LIBR LIBR: .FCTR LB:BP2OTS/LB @LB:BP2IC1 @LB:DAPRLX .END RED::$. tkb @n RED::$. run n ?Protection violation RED::$. ! now, why did that happen - look at my privs: RED::$. show job/priv DATES DEVICE EXQTA GACNT GREAD GWRITE HWCFG HWCTL INSTAL JOBCTL MOUNT PBSCTL RDMEM RDNFS SEND SETPAS SHUTUP SWCFG SWCTL SYSIO TMPPRV TUNE USER1 USER2 USER3 USER4 USER5 USER6 USER7 USER8 WACNT WREAD WRTNFS WWRITE RED::$. ! must be an internal bug... RED::$. ! let's try it with disk-based DAP: RED::$. sw bp2 PDP-11 BASIC-PLUS-2 V2.4-00 BASIC2 old n ?Can't find file or account BASIC2 old n.bas BASIC2 set /seq BASIC2 odlrms lb:dap11x BASIC2 compile N 11:13 PM 24-Jul-87 BASIC2 build BASIC2 $ RED::$. type n.cmd SY:N/FP=SY:N/MP UNITS = 13 ASG = SY:5:6:7:8:9:10:11:12 // RED::$. type n.odl .ROOT BASIC2-RMSROT-USER,RMSALL USER: .FCTR SY:N-LIBR LIBR: .FCTR LB:BP2OTS/LB @LB:BP2IC1 @LB:DAP11X .END RED::$. tkb @n RED::$. run n node? news account? [1,254] xxxxxx file? login.com news"[1,254] xxxxxx"::login.com $ ! LOGIN.COM for TMK $ ! Last change - 11-Jan-86 $ ASSIGN DU1: U: $! ASSIGN [0,209] TMP: $ HD=="_SET TERM/LOCAL_ECHO" ! These 2 are for $ FD=="_SET TERM/NOLOCAL_ECHO" ! file transfers $ MEM=="_RUN UNSUPP$:MEMORY" ! Memory map $ ERRDIS=="_RUN ERROR$:ERRDIS" ! Error display $ PR*INT=="@TOOLS:PRINT" ! Print on LP0: ^C RED::$. dir n.tsk Name .Typ Size Prot Name .Typ Size Prot SY:[1,254] N .TSK 170C <104> Total of 170 blocks in 1 file in SY:[1,254] RED::$. ! well, that worked, but we've linked in all of RMS disk-resident RED::$. ! into the task image, so it has to thrash the disk heavily for RED::$. ! each read - on an RP06 it takes about 1 to 1 1/2 seconds per line RED::$. ! printed. When copied to the RSTS virtual disk, it takes about 1/8 RED::$. ! second per line - better, but not adequate. RED::$. close/log ================================================================================ Note 21.5 Problems In BASIC-PLUS II V2.4 5 of 7 EISNER::TABOR "Bill Tabor" 46 lines 26-JUL-1987 13:06 -< Works on RSX-11M Plus. >- -------------------------------------------------------------------------------- This is an incorrect format for using DAPRES See your decnet manuals Possible documentation bug. I do not have The manual handy. RED::$. type n.cmd SY:N/FP=SY:N/MP UNITS = 13 ASG = SY:5:6:7:8:9:10:11:12 CLSTR = DAPRES,RMSRES:RO // RED::$. type n.odl .ROOT BASIC2-RMSROT-USER,RMSALL USER: .FCTR SY:N-LIBR LIBR: .FCTR LB:BP2OTS/LB @LB:BP2IC1 @LB:RMS11X .END this is the correct format for cmd and odl RED::$. type n.cmd SY:N/FP=SY:N/MP UNITS = 13 ASG = SY:5:6:7:8:9:10:11:12 CLSTR = DAPRES,RMSRES:RO // RED::$. type n.odl .ROOT BASIC2-RMSROT-USER,RMSALL USER: .FCTR SY:N-LIBR LIBR: .FCTR LB:BP2OTS/LB @LB:BP2IC1 @LB:DAPRLX .END This works just fine on RSX-11M PLUS As to why you get a protection violation I suggest you check the protection of your libraries. If they are set correctly then this is an RMS or RSTS/E bug not a BP2 bug. ================================================================================ Note 21.6 Problems In BASIC-PLUS II V2.4 6 of 7 EISNER::TABOR "Bill Tabor" 4 lines 26-JUL-1987 13:16 -< Try BP2IC7 >- -------------------------------------------------------------------------------- just noticed a difference between my odl and yours. I always use BP2IC7 for any decnet access programs since I do not know the exact format of a file on an other system. ================================================================================ Note 21.7 Problems In BASIC-PLUS II V2.4 7 of 7 EISNER::KENNEDY "Terry Kennedy" 12 lines 26-JUL-1987 23:32 -< Problem resolved (mostly) >- -------------------------------------------------------------------------------- Thank you for your input - I see that the only difference between my original .CMD/.ODL and yours is the DAPRLX ODL. The way I did it is the way it was (incorrectly) documented in the 2.4 manual. The ?Protection violation message came from a condition at this site which I doubt any other users will hit. The .CMD/.ODL pairs shown were all generated by BP2's BUILD command. This can be a source of confusion to the user. [If you cant trust the compiler, who can you trust?] tmk ================================================================================ Note 22.0 Need BP2/RSX v1.6 Installation Guide 2 replies EISNER::FRISBIE "Alan E. Frisbie" 9 lines 8-MAR-1988 21:08 -------------------------------------------------------------------------------- I need to re-install BASIC-Plus-2 v1.6 (!) on an RSX-11M v4.1 system, but have no manuals. At a minimum I need a copy of the Installation Guide and the Release Notes. Would anyone be willing to loan me a copy of these (and any others that exist) so that I may copy them? Thank you, Alan ================================================================================ Note 22.1 Need BP2/RSX v1.6 Installation Guide 1 of 2 EISNER::TABOR "Bill Tabor" 4 lines 31-MAR-1988 21:31 -< I have the v 1.6 manuals >- -------------------------------------------------------------------------------- V1.6 requires 1.8 of rms. This means you would need an old syslib as well if you want to task build and run a program. I have the manuals if you want them. ================================================================================ Note 22.2 Need BP2/RSX v1.6 Installation Guide 2 of 2 EISNER::FRISBIE "Alan E. Frisbie" 20 lines 1-APR-1988 00:06 -< Upward compatible it isn't! >- -------------------------------------------------------------------------------- >> V1.6 requires 1.8 of rms. This means you would need an old syslib >> as well if you want to task build and run a program. As I found out the hard way! I now have two sets of SYSLIB, BASIC libraries, etc. with names of the form OLDxxxxxx.yyy for all the v1.6/v1.8 stuff. I also had to write a simple command file to modify the command file produced by the BASIC BUILD command. It is a royal hack, but at least the customer is up and running. >> I have the manuals if you want them. Yes, please. Then I might be able to go back and do the job right! I will return them as soon as I can copy them. My address is: Alan E. Frisbie Flying Disk Systems, Inc. 4759 Round Top Drive Los Angeles, CA 90065