: KI2 20 VTAB 6 HTAB DSPEX PRINT " ? " KEYIN ; : INTCL4 DSPEX INVERSE 23 VTAB H12 NCELL IF NCELL 8 > IF PRINT " C " NORMAL PRINT " AREA COMPLETE " ELSE NORMAL PRINT " " THEN ELSE INVX THEN NORMAL ; : ADDCL GETMI RDMAP2 172 <> NCELL 99 = OR IF BEEP ELSE NCELL IF MINDEX GETMI - ABS 62 < IF NEWSQ2 INTCL4 UPDATE ELSE ZR -> DIR GETMI BEGIN CHKT IF TEMP1 DRM2 GETABS GETMI - DUP ABS 62 < IF 110 + GETMI WRMAP2 GETMI TEMP1 - 110 + TEMP1 WRMAP2 15 GETMI WRMAP1 GETMI NEWSQ DSPSQ NCELL INC NCELL INTCL4 UPDATE N1 ELSE DROP INCDIR THEN ELSE INCDIR THEN UNTIL DROP THEN ELSE GETMI -> MINDEX MINDEX TNUM WRLNK0 15 MINDEX WRMAP1 TNUM MINDEX WRMAP2 N1 -> NCELL MINDEX DSPST DSPSQ INTCL4 UPDATE THEN THEN ; : CDN NLIN 20 = IF BEEP ELSE BLC NLIN INC NLIN CURSR UPDATE THEN ; : CRT NROW N40 = IF BEEP ELSE BLC NROW INC NROW CURSR UPDATE THEN ; : CLF NROW N1 = IF BEEP ELSE BLC NROW DEC NROW CURSR UPDATE THEN ; : CUP NLIN N1 = IF BEEP ELSE BLC NLIN DEC NLIN CURSR UPDATE THEN ; : CLRCL 172 GETMI WRMAP2 ZR GETMI WRMAP1 NCELL DEC NCELL CURSR GETMI RMVSQ INTCL4 UPDATE ; : BKUP NCELL IF NCELL TNUM FNDLNKS ZR OVER WRMAP1 172 OVER WRMAP2 -> TEMP1 NCELL DEC NCELL NCELL DUP IF TNUM FNDLNKS DUP -> MINDEX TNUM SWAP WRMAP2 ELSE DROP THEN GETMI TEMP1 = IF CURSR ELSE TEMP1 DSPST DSPSQ THEN TEMP1 RMVSQ INTCL4 UPDATE ELSE BEEP THEN ; : RMVCL GETMI RDMAP2 172 <> IF GETMI TRACE TNUM <> NCELL NOT OR IF BEEP ELSE GETMI MINDEX = IF BKUP ELSE N1 TNUM FNDLNKS DUP -> T1 GETMI = IF N2 TNUM FNDLNKS TNUM WRLNK0 CLRCL ELSE T1 BEGIN DUP -> T1 DRM2 GETABS DUP GETMI = UNTIL DRM2 GETABS DUP -> TEMP1 T1 - DUP ABS 62 < IF 110 + T1 WRMAP2 CLRCL ELSE DROP BEEP THEN THEN THEN THEN ELSE BEEP THEN ; : ARCMPLT NCELL 8 > IF BLC TNUM NT > IF TNUM 24573 POKE THEN ZR -> TCFL N1 ELSE BEEP THEN ; VARIABLE LASTCELL : COUNTC N1 -> NCELL TNUM RDLNK0 BEGIN LNKCHK WHILE NCELL INC NCELL GETABS REPEAT DROP -> LASTCELL ; : SAX N1 DUP -> COM ; : SEL? DROP GETMI DRM2 172 < IF TRACE -> TNUM N1 DUP ELSE BEEP DROP0 THEN ; : SACOMS 0 , 201 , 202 , 203 , 205 , 141 , 216 , ; : NOP ; : SELAR SETWIN HOME N1 -> UPDSBLE CR PRINT " MOVE CURSOR TO THE AREA YOU WANT " CR PRINT " TO EDIT OR DELETE (USE I-J-K-M KEYS) " CR 7 HTAB PRINT " - THEN PUSH ( " INVERSE PRINT " X " NORMAL PRINT " TO EXIT) " 10 -> NLIN 20 -> NROW CURSR BEGIN KI2 -> COM ZR -> TCXQ 7 N1 DO I ' SACOMS + PEEK COM = IF I -> TCXQ THEN LOOP ZR TCXQ CASE: NOP CUP CLF CRT CDN SEL? SAX THEN UNTIL ZR -> UPDSBLE BLC DSPEX ; : DELAR NT IF SELAR IF DELT TNUM NT < IF NT TNUM DO I ADD1 RDLNK0 DUP I WRLNK0 BEGIN LNKCHK WHILE GETABS REPEAT DROP I SWAP WRMAP2 LOOP THEN NT SUB1 STORNT THEN ELSE BEEP THEN N1 ; : EDIAR NT IF SELAR IF COUNTC N1 -> TCFL LASTCELL -> MINDEX THEN ELSE BEEP THEN N1 ; : WKTOMP NT 19 > IF ZR 3715 POKE SETMP PROCWA N1 -> MAPIN? N1 ELSE BEEP THEN ; : NEWAR NT 48 = IF BEEP ELSE NT ADD1 -> TNUM ZR -> NCELL 10 -> NLIN 20 -> NROW CURSR N1 -> TCFL N1 THEN ; : NEWWK CLRMAPS CLRARYS N16 ZR DO ' GRID I + PEEK XFER LOOP BWIN 801 N1 DO I DSPSQ LOOP ZR 24573 POKE N1 -> WKAR ZR -> MAPIN? N1 ; : INTCXEQ ZR -> TCXQ 9 N1 DO I ' TCCOMS + PEEK COM = IF I -> TCXQ THEN LOOP TCXQ CASE: TCX? CUP CLF CRT CDN ADDCL RMVCL BKUP ARCMPLT THEN ; : WAWKXEQ COM 206 = IF NEWAR THEN COM 205 = IF WKTOMP THEN COM 197 = IF EDIAR THEN COM 196 = IF DELAR THEN XCHK IF SVWK N1 THEN ; : WAMPXEQ COM 212 = IF MPTOWK THEN COM 195 = IF CXCHK THEN XCHK IF SVMP N1 THEN ; : OWAXEQ COM 177 = IF HOME NEWWK THEN COM 178 = IF HOME SETWIN LDMP THEN COM 179 = IF HOME SETWIN LDWK THEN COM 180 = IF BWIN DSPEX CAT N1 THEN COM 181 = IF N1 N1 THEN ; : XEQ ZR WKAR IF TCFL IF INTCXEQ ELSE MAPIN? IF WAMPXEQ ELSE WAWKXEQ THEN THEN ELSE OWAXEQ THEN ; : INTCDSP SETWIN HOME INVERSE 3 HTAB PRINT " I " H12 PRINT " A " NORMAL PRINT " DD CELL " H31 PRINT " AREA : " TNUM P2 CR H2 INVERSE PRINT " J " 4 HTAB PRINT " K " H12 PRINT " R " NORMAL PRINT " EMOVE CELL " H31 PRINT " CELLS: " CR 3 HTAB INVERSE PRINT " M " H12 PRINT " <- " NORMAL PRINT " BACKUP 1 CELL " H31 INVERSE PRINT " LINE " NORMAL CR PRINT " MOVE " H31 INVERSE PRINT " ROW " NORMAL ; : CR11HT CR 11 HTAB ; : OWADSP BWIN DSPEX HOME N4 VTAB 15 HTAB PRINT " MAP MAKER " CR CR CR11HT PRINT " 1) NEW WORK " CR11HT PRINT " 2) LOAD MAP " CR11HT PRINT " 3) LOAD WORK " CR11HT PRINT " 4) CATALOG DISK " CR11HT PRINT " 5) EXIT MAP MAKER " ; : WAMPDSP SETWIN HOME 10 HTAB INVERSE PRINT " T " NORMAL PRINT " RANSFER MAP -> WORK " CR 10 HTAB INVERSE PRINT " C " NORMAL PRINT " HECK MAP COMPLEXITY " CR CR H2 INVX PRINT " WORK AREA (SAVE MAP) " ; : WAWKDSP SETWIN HOME 15 HTAB INVERSE PRINT " N " NORMAL PRINT " EW AREA " INVERSE PRINT " M " NORMAL PRINT " AKE MAP " CR H2 INVX PRINT " WORK " INVERSE PRINT " E " NORMAL PRINT " DIT AREA " CR PRINT " AREA " 15 HTAB INVERSE PRINT " D " NORMAL PRINT " ELETE AREA " H31 INVERSE PRINT " WORK HAS " NORMAL CR PRINT " (SAVE WORK) " H31 INVERSE NT P2 PRINT " AREAS " NORMAL ; : DSPMENU WKAR IF TCFL IF INTCDSP INTCL4 UPDATE ELSE MAPIN? IF WAMPDSP ELSE WAWKDSP THEN THEN ELSE OWADSP THEN ; : KI3 14 VTAB 13 HTAB CLEOP PRINT " SELECT OPTION: " KEYIN ; : MUTIL 24575 PEEK NOT IF ZR -> WKAR ZR -> TCFL HOME ZR -> UPDSBLE ZR -> DR1FLG ZR 22053 POKE ( CITFLAG ZR 24554 POKE ( CT? ZR 23 POKE ( COLR ZR 24561 POKE ( PLYR 1 COLR ELSE NT IF REF THEN THEN BEGIN DSPMENU BEGIN WKAR IF KI2 ELSE KI3 THEN -> COM XEQ UNTIL UNTIL CLRSTK BWIN DSPEX HOME BEGIN N1 9 INSERTMS HOME SIDE N1 = UNTIL READ " RETURN " ; CLOSE RUN ETWIN HOME 10 HTAB INVERSE PRINT " T " NORMAL PRINT " RANSFER MAP -> WORK " CR 10 HTAB INVERSE PRINT " C " NORMAL PRINT " HECK MAP COMPLEXITY " CR CR H2 INVX PRINT " WORK AREA (SAVE MAP) " ; : WAWKDSP SETWIN HOME 15 HTAB INVERSE PRINT " N " NORMAL PRINT " EW AREA " INVERSE PRINT " M " NORMAL PRINT " AKE MAP " CR H2 INVX PRINT " WORK " INVERSE PRINT " E " NORMAL PRINT " DIT AREA " CR PRINT " AREA " 15 HTAB INVERSE PRINT " D " NORMAL PRINT " ELETE AREA " H31 INVERSE PRINT " WORK HAS " NORMAL CR PRINT " (SAVE WORK) " H31 INVERSE NT P2 PRINT " AREAS " NORMAL ; : DSPMENU WKAR IF TCFL IF INTCDSP INTCL4 UPDATE ELSE MAPIN? IF WAMPDSP ELSE WAWKDSP THEN THEN ELSE OWADSP THEN ; : MUTIL ZR -> WKAR ZR -> TCFL HOME ZR -> UPDSBLE BEGIN DSPMENU BEGIN KI2 -> COM XEQ UNTIL UNTIL CLRSTK READ " DUM " ; CLOSE RUN