......|.....|.................|......................................................... .length 66 .tm 2 .bm 2 ;*********************************************************************** ;*                                                                     * ;*                            BASIC.X                                  * ;*                                                                     * ;*  (C) 1986 Champaign Computer                                        * ;*  Written by: Jack Shaffer                                           * ;*                                                                     * ;*  Function:                                                          * ;*  - Extra program to renumber a basic program written with SuperVue  * ;*  - Starts with 100 and increments by 10                             * ;*  - ^G^R starts the renumbering                                      * ;*  - SVCPY's file to VUE compatiable .BAS file and compiles           * ;*                                                                     * ;*  These keys have been redefined:                                    * ;*  F command - copies .T file to .BAS ext.                            * ;*  G command - like F command, then compiles .BAS file                * ;*                                                                     * ;*  10/01/86  Created. - jss                                           * ;*  11/25/86  Tidied up the display when adding numbers. - jss         * ;*  12/03/86  Will not number blank lines. - jss                       * ;*  04/08/87  Release to AMUS network. - jss                           * ;*                                                                     * ;*********************************************************************** 'MAP   BAS'NUM,6 'MAP   FOUND,1 'MAP   X,3 'MAP   DEL'NUM,1 'MAP   SIZE,6 KEY R START: 'BAS'NUM=100 'FOUND=0 'DMODE 'HOME 'DISPLAY-OFF             ; Comment out this line to see a dazzling display RD'LOOP1: 'DEL'NUM=0 'INSERT RD'LOOP: 'EOL 'BEQ   NO'AMP 'RANGE ..                ; Don't do microspace command 'BEQ   NO'AMP 'RANGE 09 'BNE   NO'NUMBER 'TEXT  ^D 'DEL'NUM=1 'BR    RD'LOOP NO'NUMBER: 'CMP   " "               ; Insert a space if not already there 'BEQ   NO'SPACE 'TEXT  " ^U" NO'SPACE: 'CMPNUM DEL'NUM,1 'BEQ    GET'OUT 'LENGTH BAS'NUM,SIZE 'SIZE=SIZE+1 'XBUF=CURSOR 'X=1 'SCANWHILE X,XBUF," " 'X=X-1 'CMPNUM SIZE,X 'BHI   GET'OUT           ; Stay in INSERT if size > x 'TEXT  ^Q                ; Go into type over mode GET'OUT: 'CURSOR=BAS'NUM 'BAS'NUM=BAS'NUM + 10 CHKLIN: 'EOL                     ; Skip over if blank line, SV hangs up if we don't 'BEQ   NO'AMP 'FOUND=0                 ; Check line for & - don't number if found 'TEXT  ^N SPACHK: 'LEFT                    ; Back up to first non-blank 'RANGE !~ 'BNE   SPACHK 'RANGE && 'BNE   NO'AMP 'FOUND=1 NO'AMP: 'EOF 'BEQ   DONE 'TEXT  ^M 'CMPNUM FOUND,0 'BHI   CHKLIN            ; Line had a & 'BR    RD'LOOP1 DONE: 'INSERT 'TEXT  ^Q 'HOME 'DISPLAY-PAGE 'DING 'STOP .......|.....|.................|......................................................... ; finish out - do svcpy to .bas extension do F do FINISH 'chainprep "svcpy &.bas=&.t$" 'text      finish^M 'stop ; go (finish) - do svcpy to .bas extension - compil do G do GO 'chainprep "svcpy &.bas=&.t$compil &.bas/m$" 'text      finish^M 'stop