1052 lines
34 KiB
Plaintext
1052 lines
34 KiB
Plaintext
------------------------------------------------------------------
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| ================================================ |
|
||
| | | |
|
||
| | | |
|
||
| | ***** CBASIC Compiler CB86 ***** | |
|
||
| | | |
|
||
| | with GSX-86 Graphics Extensions | |
|
||
| | | |
|
||
| | for the IBM Personal Computer | |
|
||
| | Disk Operating System | |
|
||
| | | |
|
||
| | --------------- | |
|
||
| | | |
|
||
| | READ.ME File Notes | |
|
||
| | | |
|
||
| | (File #1 of 2) | |
|
||
| | | |
|
||
| | - January 1984 - | |
|
||
| | | |
|
||
| | Digital Research Inc. | |
|
||
| | P.O. Box 579 | |
|
||
| | Pacific Grove, CA 93950 | |
|
||
| | | |
|
||
| ================================================ |
|
||
| |
|
||
| |
|
||
| |
|
||
| This file describes enhancements and modifications |
|
||
| made to the Digital Research CBASIC Compiler - CB86 |
|
||
| with GSX-86 Graphics Extensions. Changes described |
|
||
| in this file apply to CB86 software Version 2.1, |
|
||
| the "CBASIC Compiler Language Reference Manual" |
|
||
| Third Edition: December 1982, and the "CBASIC |
|
||
| Compiler (CB86) Programmer's Guide for the IBM |
|
||
| Personal Computer Disk Operating System" First |
|
||
| Edition August 1983. |
|
||
| |
|
||
| You can print the information in this file on your |
|
||
| line printer using 8 by 11 inch paper with the |
|
||
| printer set to 6 lines per inch. You can trim the |
|
||
| pages along the dotted lines and place the pages |
|
||
| in your product documentation binder. NOTE: This |
|
||
| file contains TABS which must be expanded. |
|
||
| |
|
||
| |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| TABLE of CONTENTS |
|
||
| ====================================================== |
|
||
| |
|
||
| COMPILER BUG FIXES . . . . . . . . . . . . . Page 1 |
|
||
| COMPILER EXCEPTIONS AND WORK-AROUNDS . . . . Page 1 |
|
||
| COMPILER ENHANCEMENTS . . . . . . . . . . . . Page 3 |
|
||
| LANGUAGE REFERENCE MANUAL NOTES . . . . . . . Page 4 |
|
||
| PROGRAMMING GUIDE NOTES . . . . . . . . . . . Page 8 |
|
||
| CB86 CURSOR CONTROL FUNCTIONS . . . . . . . . Page 9 |
|
||
| LINK86 ENHANCEMENTS . . . . . . . . . . . . . Page 14 |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page i. |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| COMPILER BUG FIXES |
|
||
| ====================================================== |
|
||
| |
|
||
| The following bugs have been fixed in CB86 with GSX-86 |
|
||
| Graphics Extensions Version 2.1. |
|
||
| |
|
||
| 1. The CLEAR statement did not "home" the graphics |
|
||
| cursor or beam to position (0,0). |
|
||
| |
|
||
| 2. The ASK COLOR statement always returned the value 1. |
|
||
| |
|
||
| 3. The maximum array size for the MAT FILL, MAT MARKER, |
|
||
| and MAT PLOT statements was 73 rather than 72. |
|
||
| |
|
||
| 4. Loading a new graphics driver caused a stack |
|
||
| overflow. |
|
||
| |
|
||
| 5. Multiple-line functions using 15 parameters did not |
|
||
| work properly. |
|
||
| |
|
||
| |
|
||
| COMPILER EXCEPTIONS AND WORK-AROUNDS |
|
||
| ====================================================== |
|
||
| |
|
||
| 1. FATAL COMPILER ERROR 210 occurs or the compiler |
|
||
| hangs when you use hexadecimal constants between |
|
||
| 0FA00 and 0FAFF inclusive. |
|
||
| WORK AROUND -- Use an equivalent decimal value. |
|
||
| |
|
||
| 2. FATAL COMPILER ERROR 215 occurs if you omit the |
|
||
| colon between a PRINT statement and a GOTO |
|
||
| statement on the same line or on a continuation |
|
||
| line using a backslash. |
|
||
| |
|
||
| 3. FATAL COMPILER ERROR 215 occurs when you use a |
|
||
| label identifier as a variable identifier in a |
|
||
| PRINT USING statement. For example: |
|
||
| |
|
||
| ABLE: PRINT |
|
||
| ABLE = 100.0 : PRINT USING "###.##" ; ABLE |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page 1 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| 4. The compiler does not report an error when the |
|
||
| prompt in an INPUT LINE statement is a string |
|
||
| expression. This causes a run-time system memory |
|
||
| dump and the system hangs. |
|
||
| |
|
||
| 5. FATAL COMPILER ERROR 103 occurs if you place more |
|
||
| than 255 user-defined functions in a single module. |
|
||
| |
|
||
| 6. You cannot specify the N option after the %DEBUG |
|
||
| compiler directive in the source code. |
|
||
| WORK-AROUND -- Use the N option in the compiler |
|
||
| command line. |
|
||
| |
|
||
| 7. FATAL COMPILER ERROR 214 occurs when a file print |
|
||
| statement ends with a comma and backslash. |
|
||
| |
|
||
| 8. When branching to an IF END statement from an |
|
||
| assignment statement, the address returned on the |
|
||
| stack is incorrect if that assignment statement |
|
||
| assigns the result of the GET function to an array |
|
||
| element. |
|
||
| WORK-AROUND -- Assign the result of the GET |
|
||
| function to a temporary variable. Then, assign the |
|
||
| temporary variable to the array element. |
|
||
| |
|
||
| 9. The PRINT USING statement outputs an incorrect |
|
||
| exponential value when the value is negative and |
|
||
| when the format field does not contain a digit |
|
||
| position that preceeds the decimal point. For |
|
||
| example: PRINT USING ".####^"; -1.234 |
|
||
| |
|
||
| 10. A value of zero returns when you raise a number to |
|
||
| a power of zero using a real variable as either the |
|
||
| base or exponent. |
|
||
| WORK-AROUND -- Pre-test for this condition. |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page 2 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| COMPILER ENHANCEMENTS |
|
||
| ====================================================== |
|
||
| |
|
||
| 1. A new execution error "ZW" indicates the following |
|
||
| conditions. |
|
||
| |
|
||
| -- A BOUNDS statement height or width argument has |
|
||
| been set to a value less than 1.0E-05, greater than |
|
||
| 1.0, or neither argument has been set to 1.0. |
|
||
| -- The left/right or upper/lower bounds arguments of |
|
||
| a VIEWPORT or WINDOW statement have been set to |
|
||
| values that differ by less than 1.0E-05. |
|
||
| -- The left, right, lower, or upper bound argument of |
|
||
| a VIEWPORT statement has been set to a value less |
|
||
| than 0 or greater than 1.0 |
|
||
| |
|
||
| 2. The BEAM and CLIP statements accept string constant |
|
||
| arguments in upper- and lower-case. For example: |
|
||
| "ON", "OFF", "on", "off" |
|
||
| |
|
||
| 3. The MAT FILL, MAT MARKER, and MAT PLOT statements |
|
||
| stop at element 71 when the maximum array subscript |
|
||
| argument value exceeds 71. |
|
||
| |
|
||
| 4. A new execution error "GX" indicates that a GRAPHIC |
|
||
| OPEN was attempted without GSX-86 installed. |
|
||
| |
|
||
| 5. A new execution error "PO" indicates polygon |
|
||
| coordinate overflow. The clipping process computes |
|
||
| any additional coordinates required to plot a given |
|
||
| polygon within the current window. Therefore, the |
|
||
| MAT FILL statement with CLIP set to "ON" can result |
|
||
| in more than 72 coordinates producing execution |
|
||
| error "PO". |
|
||
| |
|
||
| 6. Coordinates for the JUSTIFY statement are |
|
||
| restricted from (0,0) to (1,1). If either the |
|
||
| vertical or horizontal coordinate evaluates to less |
|
||
| than 0, it is set to zero. If either coordinate |
|
||
| evaluates to greater than 1.0, it is set to 1.0. |
|
||
| |
|
||
| |
|
||
| Page 3 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| LANGUAGE REFERENCE MANUAL NOTES |
|
||
| ====================================================== |
|
||
| |
|
||
| The following issues apply to the "CBASIC Compiler |
|
||
| Language Reference Manual" Third Edition: December |
|
||
| 1983. |
|
||
| |
|
||
| 1. Section 4.3 -- A user-defined function that returns |
|
||
| a string constant cannot be referenced twice within |
|
||
| the same expression. For example: |
|
||
| |
|
||
| DEF FNA$ |
|
||
| FNA$ = A$ + B$ |
|
||
| FEND |
|
||
| PRINT FNA$ + FNA$ <---- incorrect |
|
||
| |
|
||
| 2. The following list of CBASIC reserved words |
|
||
| replaces Appendix A in the CBASIC Compiler Language |
|
||
| Reference Manual. |
|
||
| |
|
||
| ABS COMMON EXP INT% |
|
||
| AND CONCHAR% EXTERNAL INTEGER |
|
||
| ANGLE CONSOLE FEND JUSTIFY |
|
||
| AS CONSTAT% FILL LE |
|
||
| ASC COS FLOAT LEFT$ |
|
||
| ASK COUNT FOR LEN |
|
||
| AT CREATE FRE LET |
|
||
| ATTACH DATA GE LINE |
|
||
| ATN DATE$ GET LOCK |
|
||
| BEAM DEF GO LOCKED |
|
||
| BOUNDS DELETE GOSUB LOG |
|
||
| BUFF DETACH GOTO LPRINTER |
|
||
| CALL DEVICE GRAPHIC LT |
|
||
| CHAIN DIM GT MARKER |
|
||
| CHARACTER ELSE HEIGHT MAT |
|
||
| CHR$ END IF MATCH |
|
||
| CLEAR ERR INITIALIZE MFRE |
|
||
| CLIP ERRL INKEY MID$ |
|
||
| CLOSE ERROR INP MOD |
|
||
| COLOR ERRX INPUT MODE |
|
||
| COMMAND$ EQ INT NE |
|
||
| |
|
||
| Page 4 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| NEXT REAL STOP VAL |
|
||
| NOT RECL STR$ VARPTR |
|
||
| ON RECS STRING VIEWPORT |
|
||
| OPEN REM STRING$ WEND |
|
||
| OR REMARK STYLE WHILE |
|
||
| OUT RENAME SUB WIDTH |
|
||
| PEEK RESTORE TAB WINDOW |
|
||
| PLOT RETURN TAN XOR |
|
||
| POKE RIGHT$ TEXT |
|
||
| POS RND THEN |
|
||
| POSITION SADD TIME$ %CHAIN |
|
||
| PRINT SET TO %DEBUG |
|
||
| PUBLIC SGN TYPE %EJECT |
|
||
| PUT SHIFT UCASE$ %INCLUDE |
|
||
| RANDOMIZE SIN UNLOCK %LIST |
|
||
| READ SQR UNLOCKED %NOLIST |
|
||
| READONLY STEP USING %PAGE |
|
||
| |
|
||
| |
|
||
| |
|
||
| 3. Add the following statement to the description of |
|
||
| the CHAIN statement on page 21 of the Language |
|
||
| Reference Manual. |
|
||
| |
|
||
| >> When a program chains to a second program, all open |
|
||
| files in the original program are closed and all |
|
||
| non-common data is reinitialized to 0. << |
|
||
| |
|
||
| |
|
||
| |
|
||
| 4. The following two pages contain descriptions of |
|
||
| the DATE$ and TIME$ functions. You can add these |
|
||
| descriptions to Section 3 of your Language |
|
||
| Reference Manual. |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page 5 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| DATE$ Function |
|
||
| |
|
||
| |
|
||
| The DATE$ function returns a string indicating the |
|
||
| current year, month, and day set through the |
|
||
| operating system. |
|
||
| |
|
||
| |
|
||
| Syntax: a$ = DATE$ |
|
||
| |
|
||
| |
|
||
| Explanation: DATE$ returns a six character string |
|
||
| in the form YYMMDD. YY is the last two digits of |
|
||
| a year reference, such as 84 for 1984. MM is one |
|
||
| of twelve digit combinations representing the |
|
||
| month such as 02 for February or 11 for November. |
|
||
| DD is one of thirty-one digit combinations |
|
||
| representing the day of the month. The string that |
|
||
| DATE$ returns is undefined if the operating system |
|
||
| is set to a date later than December 31, 1999 or |
|
||
| earlier than January 1, 1978. |
|
||
| |
|
||
| If your operating system does not support time and |
|
||
| date functions, the CBASIC DATE$ function returns |
|
||
| a string consisting of six blanks. Refer to your |
|
||
| operating system manuals to see if your operating |
|
||
| system supports time and date functions. |
|
||
| |
|
||
| |
|
||
| Example: CURRDATE$ = DATE$ |
|
||
| PRINT "Today's date is: "; CURRDATE$ |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page 6 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| TIME$ Function |
|
||
| |
|
||
| |
|
||
| The TIME$ function returns a string indicating the |
|
||
| current time of day. |
|
||
| |
|
||
| |
|
||
| Syntax: a$ = TIME$ |
|
||
| |
|
||
| |
|
||
| Explanation: TIME$ returns a six character string |
|
||
| of the form HHMMSS. HH is one of 24 digit |
|
||
| combinations representing the hour, such as 06 for |
|
||
| 6:00 AM or 15 for 3:00 PM. MM is one of sixty |
|
||
| digit combinations representing the minute. SS is |
|
||
| one of sixty digit combinations representing the |
|
||
| second. |
|
||
| |
|
||
| If your operating system does not support time and |
|
||
| date functions, the CBASIC TIME$ function returns a |
|
||
| string consisting of six blanks. Refer to your |
|
||
| operating system manuals to see if your operating |
|
||
| system supports time and date functions. |
|
||
| |
|
||
| |
|
||
| Example: CURRTIME$ = TIME$ |
|
||
| PRINT "The current time is: "; CURRTIME$ |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page 7 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| PROGRAMMING GUIDE NOTES |
|
||
| ====================================================== |
|
||
| The following issues apply to the "CBASIC Compiler |
|
||
| (CB86) Language Programming Guide for the IBM Personal |
|
||
| Computer Disk Operating System". First Edition: August |
|
||
| 1983. |
|
||
| |
|
||
| 1. The description of the L toggle on page 2-9 does |
|
||
| not mention the default length value of 66. |
|
||
| |
|
||
| 2. The description of the U toggle on page 2-9 does |
|
||
| not mention that variable names local to a multiple- |
|
||
| line function are NOT reported as explicitly |
|
||
| undeclared. |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page 8 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| CB86 CURSOR CONTROL FUNCTIONS |
|
||
| ===================================================== |
|
||
| The following files on your CB86 product disk enable |
|
||
| you to make calls to ROM-based functions that control |
|
||
| direct cursor positioning in the IBM Personal |
|
||
| Computer. |
|
||
| |
|
||
| PCSCRN.BAS VIDEOIBM.A86 DEMOSCRN.BAS |
|
||
| PCSCRN.DEF VIDEOIBM.OBJ DEMOSCRN.EXE |
|
||
| PCSCRN.L86 |
|
||
| |
|
||
| The PCSCRN files contain CB86 functions that call the |
|
||
| actual assembly language cursor control functions in |
|
||
| VIDEOIBM. PCSCRN.BAS is the CB86 function source |
|
||
| file and VIDEOIBM.A86 is the assembly function source |
|
||
| file. You can modify either file as required for |
|
||
| your programs. Then, you can combine the object file |
|
||
| versions of these two files using LIB86 to create a |
|
||
| useable library of cursor control functions. |
|
||
| |
|
||
| PCSCRN.L86 is a useable library of cursor control |
|
||
| functions created by compiling PCSCRN.BAS, then |
|
||
| combining the resulting object file with VIDEOIBM.OBJ. |
|
||
| VIDEOIBM.OBJ is simply the assembled version of |
|
||
| VIDEOIBM.A86 provided as a convenience. |
|
||
| |
|
||
| PCSCRN.DEF is an include file that contains |
|
||
| declarations of the functions in PCSCRN.BAS. Specify |
|
||
| PCSCRN.DEF after a %INCLUDE directive near the |
|
||
| beginning of your source program. This enables your |
|
||
| program to call the cursor control functions. |
|
||
| |
|
||
| The DEMOSCRN files contain a demonstration program |
|
||
| that illustrates use of the cursor control functions |
|
||
| and tests them for proper operation on your system. |
|
||
| DEMOSCRN.EXE is ready to execute. DEMOSCRN.BAS is |
|
||
| the source file. You can examine DEMOSCRN.BAS to |
|
||
| learn more about the functions. |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page 9 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
------------------------------------------------------------------
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| The following steps describe how to use the cursor |
|
||
| control functions provided in the ready-to-use |
|
||
| library file PCSCRN.L86. Instructions on how to call |
|
||
| each function from a CB86 program follow these steps. |
|
||
| |
|
||
| 1. Specify PCSCRN.DEF as an include file near the |
|
||
| beginning of your source program using the %INCLUDE |
|
||
| directive as shown in the following example. |
|
||
| |
|
||
| %INCLUDE PCSCRN.DEF |
|
||
| |
|
||
| 2. Compile your source program. Make sure that the |
|
||
| PCSCRN.DEF file is on the same drive as your source |
|
||
| program. The U and F compiler options are |
|
||
| recommended for the compilation as shown in the |
|
||
| following CB86 command line. |
|
||
| |
|
||
| A>CB86 PROGRAM[UF] |
|
||
| |
|
||
| 3. Link the resulting object file with PCSCRN.L86 as |
|
||
| shown in the following LINK86 command line. Make |
|
||
| sure PCSCRN.L86 is on the same drive as object file. |
|
||
| |
|
||
| A>LINK86 PROGRAM,PCSCRN.L86 |
|
||
| |
|
||
| 4. Run your program. |
|
||
| |
|
||
| There are 14 cursor control functions in PCSCRN.L86. |
|
||
| The following descriptions explain how to call each |
|
||
| of the functions from a CB86 program. |
|
||
| |
|
||
| o ADDLINE Function - Insert new line and scroll down. |
|
||
| ADDLINE moves all text that is on or below the line |
|
||
| that the cursor occupies down one line leaving the |
|
||
| line that the cursor occupies blank. The cursor |
|
||
| remains on the same line but moves to the leftmost |
|
||
| column. All text above the line that the cursor |
|
||
| occupies remains unchanged. Any text that is on |
|
||
| the bottom line (row 24) moves off screen. ADDLINE |
|
||
| does not accept parameters as shown below. |
|
||
| |
|
||
| CALL ADDLINE |
|
||
| |
|
||
| |
|
||
| Page 10 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| o CLS Function - Clear entire screen. |
|
||
| CLS deletes all text from the screen and returns the |
|
||
| cursor to the home position. CLS does not accept |
|
||
| parameters as shown in the following example. |
|
||
| |
|
||
| CALL CLS |
|
||
| |
|
||
| Using the GETPOS function, you can save the original |
|
||
| cursor position in a variable before clearing the |
|
||
| screen with CLS. Then, after clearing the screen, |
|
||
| you can return the cursor to its original position |
|
||
| with the SETCUR function. |
|
||
| |
|
||
| o ERAEOL Function - Erase to end of line. |
|
||
| ERAEOL deletes any text that follows the cursor (to |
|
||
| the right) on the same line including the character |
|
||
| at the cursor position. The cursor remains in its |
|
||
| original position. If you use ERAEOL after moving |
|
||
| the cursor off the visible screen area, confusing |
|
||
| results can occur. ERAEOL does not take parameters. |
|
||
| |
|
||
| CALL ERAEOL |
|
||
| |
|
||
| o ERAEOS Function - Erase next line to end of screen. |
|
||
| ERAEOS deletes all text beginning with the line |
|
||
| following the line that the cursor occupies and |
|
||
| extending to the end of the screen. The line that |
|
||
| the cursor occupies remains unchanged. The position |
|
||
| of the cursor remains unchanged. ERAEOS does not |
|
||
| accept parameters. |
|
||
| |
|
||
| CALL ERAEOS |
|
||
| |
|
||
| o GETPOS Function - Get current cursor position. |
|
||
| GETPOS returns a single integer value that |
|
||
| represents the current row and column position of |
|
||
| the cursor. The following statements demonstrate |
|
||
| how to decode this integer value by assigning the |
|
||
| row and column positions to separate integer |
|
||
| variables (R% and C% respectively). |
|
||
| |
|
||
| C% = GETPOS |
|
||
| R% = C%/256 |
|
||
| C% = C% - R%*256 |
|
||
| |
|
||
| Page 11 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| o HOME Function - Move cursor to upper left corner. |
|
||
| HOME places the cursor at row zero and column zero. |
|
||
| HOME does not accept parameters. |
|
||
| |
|
||
| CALL HOME |
|
||
| |
|
||
| o PRTSTR Function - Print string in chosen video mode. |
|
||
| PRTSTR prints a specified string on the screen in |
|
||
| one of three video output modes. PRTSTR accepts two |
|
||
| parameters as shown below. |
|
||
| |
|
||
| CALL PRTSTR("string",integer) |
|
||
| |
|
||
| The string can be any length. Do not print a string |
|
||
| that extends off screen beyond column 79. The |
|
||
| integer must be one of three values. 7 for normal |
|
||
| video, 112 (hex 70) for reverse video, and 135 |
|
||
| (hex 87) for blinking video. |
|
||
| |
|
||
| After printing the string, PRTSTR places the cursor |
|
||
| at the first space following the string. If this |
|
||
| puts the cursor in column 80, then use SETCUR to |
|
||
| position the cursor to a meaningful screen location. |
|
||
| |
|
||
| o PRTBLNK Function - Print string in blinking mode. |
|
||
| PRTBLNK prints a specified string on the screen in |
|
||
| blinking video mode beginning at the current cursor |
|
||
| position. PRTBLNK accepts one parameter as shown |
|
||
| below. |
|
||
| |
|
||
| CALL PRTBLNK("string") |
|
||
| |
|
||
| o PRTREV Function - Print string in reverse video. |
|
||
| PRTREV prints a specified string on the screen in |
|
||
| reverse video mode beginning at the current cursor |
|
||
| position. PRTREV takes one parameter as shown below. |
|
||
| |
|
||
| CALL PRTREV("string") |
|
||
| |
|
||
| o UPCUR Function - Move cursor up one line. |
|
||
| |
|
||
| CALL UPCUR |
|
||
| |
|
||
| Page 12 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| o SETCUR Function - Move cursor to specified position. |
|
||
| SETCUR moves the cursor to a specified row and |
|
||
| column number. SETCUR accepts two parameters as |
|
||
| shown below. The parameters must be integer values. |
|
||
| |
|
||
| CALL SETCUR(row,column) |
|
||
| |
|
||
| o UPCUR Function - Move cursor up one line. |
|
||
| |
|
||
| CALL UPCUR |
|
||
| |
|
||
| o DWNCUR Function - Move cursor down one line. |
|
||
| |
|
||
| CALL DWNCUR |
|
||
| |
|
||
| o CUR.RT Function - Move cursor right one column. |
|
||
| |
|
||
| CALL CUR.RT |
|
||
| |
|
||
| o CUR.LT Function - Move cursor left one column. |
|
||
| |
|
||
| CALL CUR.LT |
|
||
| |
|
||
| Remember, if you move the cursor off screen in any |
|
||
| direction, confusing results can occur. You should |
|
||
| try to keep the cursor within columns 0 to 79 and rows |
|
||
| 0 to 24. |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| Page 13 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________
|
||
| CBASIC Compiler - CB86 READ.ME File Notes January 1984 |
|
||
| |
|
||
| |
|
||
| |
|
||
| LINK-86 ENHANCEMENTS |
|
||
| ====================================================== |
|
||
| |
|
||
| 1. A new command line option has been added to LINK-86. |
|
||
| The $MY option directs LINK-86 to send the .MAP |
|
||
| file to your line printer. |
|
||
| |
|
||
| 2. A new optional parameter has been added to the MAP |
|
||
| option. The NOCOMMON parameter directs LINK-86 to |
|
||
| suppress the listing of common segment names in the |
|
||
| .MAP file. |
|
||
| |
|
||
| 3. LINK-86 now displays both the filename and module |
|
||
| name indicating the location of an undefined symbol. |
|
||
| |
|
||
| 4. LINK-86 can now report three additional error |
|
||
| messages: |
|
||
| |
|
||
| CLASS NOT FOUND - The class name specified in the |
|
||
| command line does not exist in any of the files |
|
||
| being linked. |
|
||
| |
|
||
| GROUP NOT FOUND - The group name specified in the |
|
||
| the command line does not exist in any of the files |
|
||
| being linked. |
|
||
| |
|
||
| SEGMENT NOT FOUND - The segment name specified in |
|
||
| the command line does not exist in any of the files |
|
||
| being linked. |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| |
|
||
| VVVVVVV |
|
||
| VVVVV |
|
||
| VVV |
|
||
| V |
|
||
| |
|
||
| END OF READ.ME FILE |
|
||
| |
|
||
| |
|
||
| Page 14 |
|
||
| |
|
||
------------------------------------------------------------------
|
||
|