Products: Extended Basic
Developer(s): Thomas B. Woods, Frits Beniest
Date: 1983
Type: Cassette
Platform(s): TS 1000
Contents
Related Products
22 new commands for your TS1000. Advanced screen utilities make your ZX81 look more like a monochrome 2068. Includes READ, DATA, RESTORE, FILL MOVE, LEFT$, MID$, RIGHT$. IN and OUT commands give you Basic control of I/O mapped peripherals which were previously accessed only in machine code. Extended Basic does not require the use of
Source Code
0 IF USR . THEN RETURN FROM EX. BASIC AUT: FRITS BENIEST (C) 070/988735 %V%E%R%S%I%E% %2%.%1\76\76%-%-\!!RND%E\6C""\73\''\''\''5E\' POKE \6D\' U£RND\47U(RNDLEN SCROLL %SCOS INT $\.'\.'INKEY$( SAVE INT \7C \76C\''7( POKE INT \7D6USR RNDTAN Y\. %SATN \62INKEY$%(\4FFLN \5AINKEY$$COS 2\~~\57LN NINKEY$$COS 2\64\57LN NINKEY$TAN FLN \5AINKEY$ RETURN COS \47\7A\..>=\62INKEY$( IF TAN 6USR RNDLN \ '\44COS RETURN :TAN TAN PLOT SQR Y3 PLOT SQR INT 3 AT STR$ LN ATN INKEY$LN INKEY$LN EXP INKEY$\.'=VAL FAST STR$ \.'\'',%Y4\~~LN LN INKEY$<( PLOT AT AT AT TAN SGN LPRINT <<<<<AT ( STOP INT . CLEAR ACS 5\'./\. CLEAR ACS 5LEN \C3%J\4D FOR FAST LN EXP INKEY$%;INKEY$ RETURN OASN \78\46INT . CLEAR Q5\' \C3M\46; FOR LN \67\45\7BTAN R\78\46UND\5DPI 7 TO 6ABS RNDLN STOP \4477\5E7\56YC%U\' **<\72F\73. FOR LN **\,,\567\5E GOSUB \53\:'RNDLN LLIST RND7777) PRINT \4BLN \6FINKEY$\C3SGN \45 COPY VAL STR$ LN LN INKEY$LN \' INKEY$ FAST LN RUN \45 LPRINT SGN ><AT ( GOSUB TAN F\. %SC\: FLN EXP INKEY$ RETURN ,COS INT \7D\5E7\56\7B RETURN C\.'%>K\''\7A%(**INT \75 CLEAR ACS 5\'.\C3C\4B CLEAR ACS 5LEN / RUN U5RNDACS \ ./\: U5RNDACS SIN M5RND\C3 REM \42\FE\00\C8\F5\CD\20\15\F1\CD\1D\15\EF\05\34\CD\A7\0E\C9\EB\CD\EF\40\CD\90\42\CD\A5\42\CD\B2\42\CD\CE\42\CD\4C\49\20\EF\C9\11\D8\40\06\04\D5\CD\08\42\CD\CD\41\CD\01\41\CD\06\49\12\D1\C9\EB\06\1A\CD\36\42\23\06\22\CD\36\42\C9\21\DB\40\7E\2B\96\06\00\4E\5F\2B\7E\2B\96\57\7E\2A\0C\40\09\0E\21\3D\C8\09\18\FB\C9\E5\3A\DC\40\43\CD\0F\4E\10\FB\E1\09\E5\15\20\F4\E1\C9\7E\B9\D8\CF\75\C5\C3\C6\45\C9\EB\CD\EF\40\11\D8\40\06\04\D5\CD\08\42\D1\EB\23\46\23\4E\70\2B\71\2B\00\0E\40\CD\E0\42\23\CD\E0\42\0E\30\23\CD\E0\42\23\CD\E0\42\21\D8\40\11\3D\40\06\02\CD\74\45\13\06\02\CD\74\45\1E\00\21\3E\40\CD\48\45\23\23\CD\48\45\23\3A\3F\40\77\CD\48\45\21\3C\40\73\16\00\CB\46\20\1E\3A\40\40\5F\CD\5B\45\ED\53\45\40\16\00\3A\42\40\5F\CD\5B\45\ED\53\47\40\D5\3A\43\40\18\1B\3A\3D\40\5F\CD\5B\45\ED\53\45\40\16\00\3A\43\40\5F\CD\5B\45\ED\53\47\40\D5\3A\42\40\C1\CD\68\42\ED\43\49\40\21\3C\40\CB\46\20\0E\CB\4E\28\02\CB\DE\CB\56\28\10\CB\E6\18\0C\CB\4E\28\02\CB\E6\CB\56\28\02\CB\DE\11\4B\40\23\7E\12\23\23\23\13\7E\12\21\3C\40\CB\46\20\05\3A\43\40\18\03\3A\42\40\47\04\00\2A\45\40\11\3F\00\19\22\45\40\CD\E5\42\CD\4C\49\C2\54\49\C9\23\06\03\11\E9\43\4E\1A\B9\C0\23\13\10\F8\C9\29\26\39\23\23\5E\23\56\23\19\C9\32\32\32\32\23\23\23\23\7E\FE\EA\C9\32\32\CD\CD\41\7E\FE\76\C9\32\32\32\E5\23\23\EB\A7\2A\14\40\ED\52\E1\C9\32\32\32\2A\D6\40\CD\F2\09\EB\22\D6\40\C9\32\32\32\32\C6\40\2A\D6\40\CD\41\49\C8\F5\2A\10\40\22\D6\40\CD\0C\44\DC\5D\44\F1\CD\41\49\C8\F5\CD\1B\44\18\EF\C9\32\E5\23\23\EB\2A\0C\40\A7\ED\52\E1\C9\32\32\CF\72\CF\01\EB\CD\EF\40\22\16\40\CD\75\47\18\09\CD\EC\43\CD\4D\44\DC\5B\44\E5\CD\F8\43\20\05\CD\DA\43\28\03\E1\18\E9\D1\CD\EF\40\00\00\00\00\22\DE\40\C9\24\32\32\32\32\CD\1D\15\2A\1C\40\01\05\00\ED\42\22\1C\40\ED\5B\D6\40\13\ED\B0\C9\32\32\32\2A\DE\40\CD\02\44\20\07\23\CD\74\44\CD\CD\41\22\16\40\CD\BA\46\DF\22\DE\40\FE\1A\C8\CF\7D\EB\CD\EF\40\CD\CD\41\CD\01\41\CD\22\42\CD\68\47\2A\D4\40\CD\4B\41\20\EF\C9\2A\10\40\22\D6\40\2A\02\40\C9\C5\CB\38\04\CB\39\0C\3E\19\90\47\2A\0C\40\11\21\00\18\01\19\10\FD\59\19\C1\CD\99\46\3E\2F\90\47\3E\01\CB\28\30\02\3E\04\CB\29\30\01\07\F5\7E\07\FE\10\30\06\0F\30\02\EE\8F\47\CD\91\46\28\05\F1\2F\A0\18\02\F1\B0\FE\08\38\02\EE\8F\77\C9\96\77\C9\CB\7E\20\03\CB\CE\C9\CB\8E\C9\7E\2B\96\38\05\CB\13\23\18\05\CB\13\7E\23\96\23\77\C9\96\06\07\A7\CB\13\CB\12\10\F9\C9\23\96\06\07\A7\CB\1A\CB\1B\10\F9\C9\4B\40\ED\7E\12\23\13\10\FA\C9\2A\45\40\ED\5B\49\40\3A\3C\40\CB\5F\20\03\19\18\07\97\ED\52\30\02\67\6C\22\45\40\EB\CD\67\45\C9\C5\3A\3C\40\CB\47\20\05\21\4B\40\18\03\21\4C\40\CB\67\20\03\34\18\01\35\CD\7B\45\21\3C\40\7B\CB\46\20\05\32\4C\40\18\03\32\4B\40\ED\4B\4B\40\CD\ED\44\C1\10\CB\C9\E5\EB\5E\23\56\EB\D1\01\DD\45\C5\E9\2A\D4\40\CD\CD\41\FE\0E\20\06\CD\CD\41\C3\FE\41\2A\D2\40\22\16\40\01\01\00\C9\CD\0F\46\38\05\CD\16\41\18\0A\CD\22\42\CD\2A\44\CD\17\46\79\C9\1B\1B\1B\5F\2B\3E\25\96\23\7B\C9\CD\1E\46\CD\A7\0E\C9\2A\1C\40\01\05\00\09\22\1C\40\ED\42\EB\2A\D6\40\23\ED\B0\C9\1B\00\CD\4F\4E\2A\0C\40\23\22\0E\40\3E\00\32\DC\40\1E\20\16\18\0E\21\CD\CE\42\C9\23\36\01\23\36\21\23\36\00\CD\AE\42\C9\ED\5B\0C\40\21\21\00\13\19\01\F7\02\ED\B0\06\20\EB\36\00\23\10\FB\CD\36\48\C9\C9\00\00\00\EB\CD\EF\40\11\D8\40\06\01\D5\CD\08\42\D1\1A\3C\47\C5\CD\5A\46\C1\10\F9\C9\3A\21\40\CB\47\C9\3D\3D\CD\91\46\20\09\7E\E6\78\FE\00\C8\36\00\C9\7E\E6\78\FE\00\C8\C1\C9\CD\AD\48\38\04\CD\D8\09\C9\E1\C9\FE\16\28\09\FE\15\20\01\E7\CD\D9\14\C9\E7\CD\D9\14\E5\CD\85\1B\CD\A0\1A\E1\C9\2A\DE\40\23\7E\FE\76\20\05\23\CD\74\44\23\2B\22\DE\40\C9\1B\2A\DE\40\23\CD\F5\46\22\DE\40\C9\1B\1B\01\00\00\7E\FE\1A\C8\FE\76\20\02\CF\7D\03\23\18\F2\1B\1B\2A\D6\40\23\4E\36\00\23\46\36\00\23\78\B1\C4\60\0A\C9\2A\D6\40\23\71\23\70\23\CD\9E\09\C9\1B\1B\2B\7E\A7\28\FB\CD\CE\14\38\02\CF\70\C6\20\CD\2C\44\23\7E\23\B6\28\03\CD\08\47\CD\D4\46\23\E5\CD\E8\46\C5\CD\1A\47\C1\E1\78\B1\C8\ED\5B\D6\40\13\13\13\ED\B0\C9\1B\CD\2A\44\CD\AC\44\CD\96\44\C9\FE\0D\20\05\CD\28\47\18\03\CD\5E\47\C9\E7\CD\BA\46\DF\22\D4\40\7E\FE\1A\28\02\CF\7D\CD\8A\15\20\05\78\FE\40\38\02\CF\14\60\69\CD\D8\09\C9\7E\FE\76\20\01\23\1A\CB\77\28\02\3E\8F\77\13\23\0B\78\B1\C8\D5\ED\5B\3C\40\ED\52\19\D1\38\E1\D5\C5\22\0E\40\CD\5A\46\2A\0E\40\C1\D1\18\D2\00\EB\CD\EF\40\CD\55\48\CD\CD\41\CD\01\41\CD\22\42\FE\0D\F5\CC\1C\42\CD\28\49\4F\F1\F5\79\28\02\C6\20\C6\20\CD\2C\44\F1\F5\C4\2E\49\F1\CC\3B\49\EB\2A\10\40\2B\22\3C\40\2A\0E\40\CD\A7\47\22\0E\40\CD\12\48\2A\D4\40\CD\4B\41\2B\20\BB\C9\A7\2A\0E\40\ED\5B\0C\40\13\ED\52\11\21\00\3E\18\ED\52\38\03\3D\18\F9\32\3A\40\19\7B\95\32\39\40\C9\1B\1B\1B\3A\3A\40\FE\18\20\06\2A\0C\40\23\18\09\A7\2A\0E\40\11\21\00\ED\52\22\0E\40\CD\12\48\C9\CF\17\E5\CD\1C\42\FE\39\20\F6\CD\1C\42\FE\26\28\02\E1\C9\E1\11\D8\40\D5\06\02\CD\08\42\E1\0E\18\CD\E0\42\23\0E\20\CD\E0\42\2A\0C\40\23\3A\D8\40\FE\00\28\07\47\11\21\00\19\10\FD\3A\D9\40\16\00\5F\19\22\0E\40\CD\12\48\2A\D4\40\C9\1B\1B\1B\EB\2B\CD\EF\40\11\D8\40\06\01\D5\CD\08\42\CD\CD\41\CD\01\41\CD\22\42\CD\2A\44\D1\1A\4F\ED\78\CD\93\44\2A\D4\40\CD\4B\41\2B\20\DA\C9\BC\EB\CD\EF\40\11\D8\40\06\02\D5\CD\08\42\E1\4E\23\46\FD\CB\3B\76\28\08\ED\41\00\D3\FE\76\18\0C\CB\41\F5\CC\2B\0F\F1\ED\41\CC\23\0F\2A\D4\40\CD\4B\41\2B\20\D0\C9\CF\73\CB\40\28\FA\CD\22\42\CB\48\C0\FE\11\20\F0\2B\2B\3E\10\BE\20\E9\23\23\D5\CD\01\46\D1\CB\77\C8\3E\8F\C9\CD\CE\14\D8\CF\70\CD\1E\46\CD\D5\1B\E5\CD\A3\14\E1\C9\1B\23\4E\23\46\23\C9\BE\C8\FE\60\D8\CB\FF\BE\CB\BF\C9\2A\D4\40\CD\4B\41\2B\C9\E5\21\D9\40\54\5D\7E\1B\12\23\23\13\7E\12\E1\1B\D5\13\13\06\02\C3\F4\42\25\1C\EB\CD\EF\40\CD\90\42\11\D8\40\D5\21\3C\40\EB\01\04\00\ED\B0\D1\CD\A5\42\CD\B2\42\22\7B\40\D5\2A\D4\40\11\DD\40\06\01\CD\08\42\4F\1B\1B\1A\D9\D1\D9\00\FE\2A\28\0E\FE\3C\28\0A\FE\33\28\26\FE\38\28\22\CF\16\C5\D9\C1\D9\FE\2A\28\02\CB\C8\FD\70\21\21\3E\40\06\02\1E\21\CD\C5\4A\2A\7B\40\CD\5E\4A\C3\12\4A\F5\C5\E1\C5\D1\06\05\CD\5D\45\19\E5\D9\C1\D9\06\00\F1\FE\38\20\02\CB\C0\FD\70\21\21\3C\40\06\02\1E\19\CD\C5\4A\2A\7B\40\FD\CB\21\46\28\0F\D9\D5\D9\C1\11\21\00\18\01\19\10\FD\22\7B\40\CD\37\4A\CD\4C\49\C8\11\DC\40\CD\CD\41\CD\01\41\CD\06\49\12\C3\75\49\ED\5B\10\40\ED\52\19\3F\D8\ED\5B\0C\40\ED\52\19\C9\D9\C5\D5\D9\E5\CD\A4\4A\A7\FD\CB\21\46\28\03\19\18\02\ED\52\CD\26\4A\38\05\11\3C\40\EB\ED\B0\CD\FA\4A\20\E1\C3\AA\4E\3A\DD\40\FE\00\C8\CD\A4\4A\79\D5\C1\5F\FD\CB\21\4E\F5\CC\7D\4A\F1\C4\8F\4A\CD\FA\4A\20\E8\C9\CD\5F\4E\C8\00\4B\11\3C\40\BE\C8\EB\ED\A0\EB\E0\18\F7\CD\5B\4E\C8\4B\11\3B\40\EB\09\EB\BE\C8\EB\ED\A8\EB\E0\18\F7\F7\D9\D5\D9\C1\06\00\C5\2A\7B\40\E5\11\3C\40\ED\B0\E1\C1\C5\00\00\00\00\00\00\00\00\D9\C5\D9\D1\C1\C9\20\0E\7E\81\BB\38\02\7B\3D\77\23\1C\10\F4\18\0D\7E\3D\91\30\03\3E\02\90\3C\77\23\10\F3\11\D8\40\21\3C\40\01\04\00\ED\B0\C9\2B\16\00\19\3E\76\ED\B9\C9\00\00\00\2A\7B\40\11\21\00\FD\CB\21\46\20\03\19\18\02\ED\52\22\7B\40\D9\15\D9\C9\1B\1B\11\21\00\18\01\19\10\FD\22\7B\40\C9\40\C9\C9\11\3C\40\EB\C9\EB\CD\EF\40\11\D8\40\06\03\D5\CD\08\42\CD\5A\4C\E1\1E\03\D5\16\00\5E\C5\CD\5B\45\C1\23\7B\02\03\7A\02\03\D1\1D\20\EC\CD\5B\4B\CD\4C\49\20\D5\C9\00\00\00\06\CA\97\C5\ED\5B\3C\40\CB\4F\C4\D2\4B\06\05\CD\69\45\2A\3E\40\CB\4F\20\08\ED\52\30\09\CB\C7\18\05\19\30\02\CB\87\22\3E\40\EB\CB\47\C4\D2\4B\06\05\CD\69\45\2A\3C\40\CB\47\20\07\19\30\0A\CB\8F\18\06\ED\52\30\02\CB\CF\22\3C\40\F5\ED\5B\42\40\CD\BB\41\32\45\40\97\B2\20\18\ED\5B\40\40\2A\3E\40\CD\BB\41\32\44\40\97\B2\20\07\ED\4B\44\40\CD\D9\4B\F1\C1\10\8D\C9\21\FF\FF\ED\52\EB\C9\97\21\48\40\5E\23\56\EB\ED\42\C8\EB\70\2B\71\3E\3F\B9\D8\3E\2F\B8\D8\CD\ED\44\C9\1B\32\34\3B\6E\49\35\37\2E\C5\47\28\31\38\B4\41\34\3A\39\CF\48\29\37\26\56\42\2B\2E\31\31\4E\37\2A\26\CA\44\2E\33\19\A2\48\37\2A\38\5F\44\38\28\37\A0\41\3A\33\29\5D\42\28\2E\37\49\42\3A\33\28\50\42\31\2A\2B\64\4C\37\2E\2C\68\4C\32\2E\29\6C\4C\30\2A\3E\93\41\35\26\35\39\4E\3A\33\35\35\4E\28\34\35\47\4E\1B\21\3C\40\70\23\70\23\E5\C1\C9\3E\02\18\06\3E\01\18\02\3E\04\32\21\40\C3\EF\4C\2A\3C\40\97\E5\CD\00\13\BA\DC\44\42\2A\D8\40\62\EB\ED\52\4D\44\E1\C9\D5\CD\CD\41\CD\01\41\CD\22\42\FE\0D\C4\2C\42\CD\1C\42\CD\28\49\C6\20\CD\2C\44\D1\7D\12\13\7C\12\13\2A\D4\40\C9\CD\E2\4C\C8\7E\F5\CD\3B\49\C5\2A\3C\40\E5\CD\0B\47\E1\C1\78\B1\20\02\F1\C9\E5\C5\CD\1D\47\C1\E1\F1\E5\C5\CD\33\44\C1\D1\23\23\23\CD\57\47\C9\00\00\00\2A\3E\40\3A\3C\40\BD\C0\3A\3D\40\BC\C9\EB\CD\EF\40\11\3C\40\CD\8B\4C\CD\8B\4C\11\D8\40\06\01\FD\CB\21\56\28\01\04\CD\08\42\CD\B0\4C\CD\3A\4D\CD\1D\4D\CD\4F\4D\CD\4C\49\20\D7\C9\FD\CB\21\46\C8\CD\74\4C\30\04\CD\0B\47\C9\CD\34\4D\4B\42\CD\60\0A\C9\23\71\23\70\23\C9\FD\CB\21\4E\C8\CD\74\4C\D8\C5\4B\42\CD\34\4D\09\C1\CD\60\0A\C9\FD\CB\21\56\C8\CD\22\4D\21\D8\40\7E\23\BE\38\07\2A\3C\40\CD\0B\47\C9\47\7E\90\2B\77\CD\3F\4D\C9\CD\BB\02\44\4D\51\3E\00\14\C8\CD\BD\07\7E\C9\CD\CD\41\CD\01\41\CD\22\42\FE\0D\20\0D\CD\1C\42\CD\28\49\C6\20\CD\2C\44\37\C9\CD\2A\44\37\3F\C9\CD\02\4E\D8\23\7E\00\06\00\CD\C2\42\CD\26\4A\C9\1C\EB\CD\EF\40\FD\CB\21\46\F5\28\0B\11\D8\40\06\02\CD\08\42\2A\D4\40\CD\7E\4D\38\18\F1\20\0A\CD\6F\4D\D6\1C\30\01\97\18\07\CD\9E\4D\7E\30\01\97\CD\93\44\C9\CD\0B\47\F1\28\07\CD\9E\4D\7E\D8\18\05\CD\6F\4D\B7\C8\01\01\00\CD\1A\47\2A\D6\40\23\23\23\77\C9\21\D8\40\3E\20\BE\D8\4E\3E\00\B9\3F\C9\FD\CB\21\46\28\03\77\23\C9\FD\CB\21\4E\28\07\BE\20\02\36\00\23\C9\F5\97\BE\20\04\F1\77\23\C9\F1\23\C9\3E\01\18\05\3E\02\18\01\97\FD\77\21\C3\7A\42\EB\CD\48\41\C8\CF\1B\CD\40\4E\16\18\C3\6B\08\CD\40\4E\21\39\40\36\21\23\36\18\C9\2B\16\00\19\53\3E\76\BE\C8\97\92\28\03\36\00\15\FD\CB\21\4E\28\02\2B\2B\23\0D\28\02\18\E7\3E\75\3C\C9\1B\D5\11\21\00\FD\CB\21\46\28\03\19\18\02\ED\52\D1\C9\D5\E5\60\69\11\21\00\ED\52\7C\B5\44\4D\E1\D1\C9\C5\E5\97\43\77\23\10\FC\E1\C1\C9\E1\D1\D5\42\11\21\00\FD\CB\21\46\20\09\18\01\19\10\FD\18\04\ED\52\10\FC\D1\C1\78\B1\C8\D5\CD\26\4A\D1\38\03\CD\9F\4E\CD\8F\4E\C8\15\C8\CD\7E\4E\18\EB\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B\1B 1 LET A$="" 2 LET B$="" 3 LET C$="" 4 LET D$="" 5 LET E$="" 6 LET F$="" 7 LET G$="" 9 LET A=0 10 GOSUB 0 11 REM OUT;219,0,223,0,219,7,223,254,219,8,223,15,:FILL;1,25,1,33,\##,2,24,2,32,(A),:DRAW;14,44,4,44,4,28,14,28,:DRAW;5,36,14,36,:DRAW;15,43,15,37,:DRAW;15,35,15,29,:DRAW;18,28,18,43,:DRAW;19,44,28,44,:DRAW;29,43,29,28,:DRAW;19,36,28,36,:DRAW;43,44,33,44,:DRAW;32,43,32,37,:DRAW;33,36,42,36,:DRAW;43,35,43,29,:DRAW;42,28,32,28,:DRAW;46,44,46,28,:DRAW;59,44,50,44,:DRAW;49,43,49,29,:DRAW;50,28,59,28,:FILL;12,23,3,31,% ,13,16,10,23,\@@,:RESTORE;4000,:READ;A$,B$,C$,D$,E$,F$,G$, 20 FOR N=1 TO 40 25 PRINT AT 16,13;;B$;AT 20,8;C$;AT 13,10;D$;AT 18,5;E$;AT 13,10;F$;AT 18,5;G$ 26 LET K=6*N 28 GOSUB 0 29 REM OUT;219,0,223,K, 30 NEXT N 40 GOSUB 0 41 REM OUT;219,7,223,255,:CLS:FIL;1,25,1,2,% ,2,25,2,3,% ,3,25,3,4,% ,4,25,4,5,% ,5,25,5,6,% ,6,25,6,7,% ,7,25,7,8,% ,8,25,8,9,% ,9,25,9,10,% ,10,25,10,11,% ,11,25,11,12,% ,12,25,12,13,% ,13,25,13,14,% ,14,25,14,15,% ,15,25,15,16,% ,16,25,16,17,% ,17,25,17,18,% ,18,25,18,19,% ,19,25,19,20,% ,20,25,20,21,% ,21,25,21,22,% ,22,25,22,23,% ,23,25,23,24,% , 44 GOSUB 0 45 REM FIL;1,25,32,33,% ,1,24,31,32,% ,1,23,30,31,% ,1,22,29,30,% ,1,21,28,29,% ,1,20,27,28,% ,1,19,26,27,% ,1,18,25,26,% ,1,17,24,25,% ,1,16,23,24,% ,1,15,22,23,% ,1,14,21,22,% ,1,13,20,21,% ,1,12,19,20,% ,1,11,18,19,% ,1,10,17,18,% ,1,9,16,17,% ,1,8,15,16,% ,1,7,14,15,% ,1,6,13,14,% ,1,5,12,13,% ,1,4,11,12,% ,1,3,10,11,% ,18,25,1,10,\##,1,8,24,33,\##,9,17,12,22,\##, 50 FOR S=1 TO 6 51 FOR K=1 TO 6 52 GOSUB 0 53 REM FIL;10,11,14,20,\.',10,16,20,21,\.',15,16,14,20,\.',10,16,13,14,\.',2,6,15,23,\: ,20,24,11,19,\ :,2,7,25,32,(A),19,24,2,9,% ,8,17,2,7,<,9,18,27,32,>,1,3,1,10,\!!,23,25,24,33,\;;, 55 PRINT AT 11,14;"DEMO";AT 12,14;"%F%I%L%L" 56 GOSUB 0 57 REM FIL;10,11,14,20,\'.,10,16,20,21,\'.,15,16,14,20,\'.,10,16,13,14,\'.,2,6,15,23,\ :,20,24,11,19,\: ,2,7,25,32,% ,19,24,2,9,(A),8,17,2,7,>,9,18,27,32,<,1,3,1,10,\;;,23,25,24,33,\!!, 58 NEXT K 60 FOR K=1 TO 6 61 GOSUB 0 62 REM FIL;10,11,14,20,\.',10,16,20,21,\.',15,16,14,20,\.',10,16,13,14,\.',2,6,15,23,\: ,20,24,11,19,\ :,8,17,2,7,<,9,18,27,32,>,1,3,1,10,\!!,23,25,24,33,\;;, 63 PRINT AT 11,14;"%D%E%M%O";AT 12,14;"FILL" 64 GOSUB 0 65 REM FIL;10,11,14,20,\'.,10,16,20,21,\'.,15,16,14,20,\'.,10,16,13,14,\'.,2,6,15,23,\ :,20,24,11,19,\: ,8,17,2,7,>,9,18,27,32,<,1,3,1,10,\;;,23,25,24,33,\!!, 66 NEXT K 68 NEXT S 80 GOSUB 0 81 REM FIL;9,17,8,26,\##,10,16,9,25,(A), 82 PRINT AT 10,9;"THIS PROGRAM";AT 12,11;"RUNS IN";AT 14,18;"%B%A%S%I%C" 85 LET S=1 86 GOSUB 0 87 REM FIL;1,3,1,10,*,23,25,24,33,*,2,8,24,32,\':,18,24,2,10,\:.,8,17,2,7,*,9,18,27,32,*, 88 PRINT AT 14,9;"%E%X%T%E%N%D%E%D" 89 GOSUB 0 90 REM FIL;2,8,24,32,(A),23,25,24,33,\##, 91 PRINT AT 3,25;"DRAW";AT 3,10;"%I%N";AT 20,20;"%O%U%T" 92 GOSUB 0 93 REM FIL;8,17,2,7,(A),9,18,27,32,(A), 94 PRINT AT 14,9;"% % % % % % % % ";AT 9,3;"%R";AT 10,3;"%E";AT 11,3;"%A";AT 12,3;"%D";AT 10,28;"%D";AT 11,28;"%A";AT 12,28;"%T";AT 13,28;"%A" 95 GOSUB 0 96 REM FIL;18,24,2,10,(A),1,3,1,10,\##, 97 PRINT AT 20,2;"UNDRAW" 98 PRINT AT 14,9;"%E%X%T%E%N%D%E%D" 108 LET S=S+1 109 IF S<11 THEN GOTO 86 110 PRINT AT 6,16;"SCROLL";AT 17,11;"FILL";AT 2,1;"RESTORE";AT 21,24;"CLS" 115 GOSUB 0 116 REM FIL;11,14,10,24,% ,15,16,10,24,(A), 120 PRINT AT 11,9;"EXTENDED BASIC" 300 FOR W=0 TO 2 310 GOSUB 7100 320 NEXT W 500 GOSUB 0 501 REM CLS:DRAW;7,45,2,45,2,38,7,38,:DRAW;8,44,8,39,:DRAW;7,33,2,33,2,26,:DRAW;8,32,8,30,:DRAW;8,28,8,26,:DRAW;3,29,7,29,:DRAW;7,21,3,21,:DRAW;2,20,2,14,:DRAW;8,20,8,14,:DRAW;3,17,7,17,:DRAW;2,9,2,3,:DRAW;3,2,4,2,:DRAW;5,3,5,5,:DRAW;6,2,7,2,:DRAW;8,3,8,9,:DRAW;60,45,55,45,55,38,60,38,:DRAW;61,44,61,39,:DRAW;61,33,55,33,55,26,61,26,:DRAW;56,30,59,30,:DRAW;55,20,55,14,:DRAW;56,21,57,21,:DRAW;58,20,58,14,:DRAW;59,21,60,21,:DRAW;61,20,61,14,:DRAW;60,9,56,9,:DRAW;55,8,55,3,:DRAW;56,2,60,2,:DRAW;61,3,61,8,:DRAW;0,47,63,47,63,0,0,0,0,46, 524 LET S=0 525 GOSUB 0 526 REM FILL;2,24,6,28,(A),:DRAW;10,45,53,2,:DRAW;53,45,10,2,:DRAW;27,45,36,45,:DRAW;36,44,27,35,:DRAW;27,34,36,34,:DRAW;37,13,26,2,:DRAW;26,13,37,2,:DRAW;18,31,13,31,:DRAW;12,30,12,24,19,24,19,30,:DRAW;11,23,11,17,:DRAW;12,16,19,16,:DRAW;20,17,20,23,:DRAW;48,16,48,31,46,29, 527 LET S=S+1 528 IF S<16 THEN GOTO 525 547 LET S=0 548 GOSUB 0 549 REM FILL;2,24,6,28,(A),:DRAW;33,23,33,22,30,22,30,25,35,25,35,20,28,20,28,27,37,27,37,18,26,18,26,29,39,29,39,16,24,16,24,31,41,31,41,14,22,14,22,33,43,33,43,12,20,12,20,35,45,35,45,10,18,10,18,37,47,37,47,8,16,8,16,39,49,39,49,6,14,6,14,41,51,41,51,4,12,4,12,43,53,43,53,2,10,2,10,45,53,45, 550 GOSUB 0 551 REM PRINT AT;12,13,A$,:UNDRAW;33,23,33,22,30,22,30,25,35,25,35,20,28,20,28,27,37,27,37,18,26,18,26,29,39,29,39,16,24,16,24,31,41,31,41,14,22,14,22,33,43,33,43,12,20,12,20,35,45,35,45,10,18,10,18,37,47,37,47,8,16,8,16,39,49,39,49,6,14,6,14,41,51,41,51,4,12,4,12,43,53,43,53,2,10,2,10,45,53,45, 552 LET S=S+1 553 IF S<6 THEN GOTO 548 574 FOR K=1 TO 3 575 GOSUB 0 576 REM FILL;2,24,6,28,(A),:DRAW;13,42,49,42,49,6,13,6,13,41,:DRAW;25,41,25,7,:DRAW;37,41,37,7,:DRAW;14,30,48,30,:DRAW;14,18,48,18, 579 FOR M=1 TO 3 580 GOSUB 0 581 REM DRAW;46,39,40,33,:DRAW;40,39,46,33,:DRAW;28,39,28,33,34,33,34,39,29,39,:DRAW;46,27,40,21,:DRAW;40,27,46,21,:DRAW;40,15,40,9,46,9,46,15,41,15,:DRAW;34,27,28,21,:DRAW;28,27,34,21,:DRAW;16,27,16,21,22,21,22,27,17,27,:DRAW;22,15,16,9,:DRAW;16,15,22,9, 585 FOR N=1 TO 4 590 GOSUB 0 591 REM DRAW;40,39,46,33,:DRAW;46,39,40,33,:DRAW;28,27,34,21,:DRAW;34,27,28,21,:DRAW;16,15,22,9,:DRAW;22,15,16,9, 592 GOSUB 7100 595 GOSUB 0 596 REM FIL;4,9,20,25,(A),10,15,14,19,(A),16,21,8,13,(A), 600 FOR W=1 TO 5 601 NEXT W 605 NEXT N 625 GOSUB 0 626 REM FIL;4,9,14,19,(A),10,15,8,13,(A),16,21,20,25,(A),10,15,20,25,(A), 630 FOR W=1 TO 5 631 NEXT W 640 NEXT M 645 NEXT K 700 GOSUB 0 701 REM CLS 705 FOR N=1 TO 10 710 GOSUB 0 711 REM SCROLL;10,:DRAW;17,12,11,12,11,0,17,0,:DRAW;18,11,18,1,:DRAW;29,12,22,12,22,0,29,0,:DRAW;23,6,29,6,:DRAW;33,11,33,0,:DRAW;34,12,36,12,:DRAW;37,11,37,0,:DRAW;38,12,40,12,:DRAW;41,11,41,0,:DRAW;45,11,45,1,:DRAW;46,0,51,0,:DRAW;52,1,52,11,:DRAW;51,12,46,12,:SCROLL;10,:DRAW;10,12,4,12,:DRAW;3,11,3,7,:DRAW;4,6,9,6,:DRAW;10,5,10,1,:DRAW;9,0,3,0,:DRAW;20,12,14,12,:DRAW;13,11,13,1,:DRAW;14,0,20,0,:DRAW;29,12,23,12,23,0,:DRAW;30,11,30,7,:DRAW;29,6,24,6,:DRAW;30,5,30,0,:DRAW;33,11,33,1,:DRAW;34,0,39,0,:DRAW;40,1,40,11,:DRAW;39,12,34,12,:DRAW;43,12,43,0,50,0,:DRAW;53,12,53,0,60,0,:SCROLL;2, 712 GOSUB 7100 714 NEXT N 750 PRINT AT 0,0;"%6%,%0%0%0% %C%H%R%.%/%S%E%C% %I%N% %E%X%T%E%N%D%E%D% %B%A%S%I%C" 755 FOR N=1 TO 10 800 GOSUB 0 811 REM FIL;2,25,1,33,0,2,25,1,33,1,2,25,1,33,2,2,25,1,33,3,2,25,1,33,4,2,25,1,33,5,2,25,1,33,6,2,25,1,33,7,2,25,1,33,8,2,25,1,33,9,2,25,1,33,A,2,25,1,33,B,2,25,1,33,C,2,25,1,33,D,2,25,1,33,E,2,25,1,33,F,2,25,1,33,G,2,25,1,33,H,2,25,1,33,I,2,25,1,33,J,2,25,1,33,K,2,25,1,33,L,2,25,1,33,M,2,25,1,33,N,2,25,1,33,O,2,25,1,33,P,2,25,1,33,Q,2,25,1,33,R,2,25,1,33,S,2,25,1,33,T,2,25,1,33,U,2,25,1,33,V,2,25,1,33,W,2,25,1,33,X,2,25,1,33,Y,2,25,1,33,Z,2,25,1,33,(A), 812 FOR W=1 TO 10 813 NEXT W 815 NEXT N 816 GOSUB 0 817 REM CLS:RESTORE;4010,:READ;A$,B$,C$,S,:PRINT;A$,B$,:PRINT AT;15,11,C$,:OUT;219,7,223,199,219,8,223,16,219,9,223,16,219,10,223,16,219,12,223,40, 825 FOR N=1 TO S 850 GOSUB 0 851 REM OUT;219,13,223,0,:DRAW;32,0,N,45,:UNDRAW;32,0,N,45, 852 NEXT N 855 GOSUB 0 856 REM OUT;219,7,223,255, 860 GOSUB 0 861 REM FILL;1,25,1,33,\@@, 862 FOR N=1 TO 17 863 GOSUB 0 864 REM MOVE;1,25,1,16,W,1,:MOVE;1,25,16,33,E,1, 865 NEXT N 870 FOR N=1 TO 50 STEP 2 872 GOSUB 0 873 REM CIRLE;N,N,N, 874 NEXT N 880 GOSUB 0 881 REM PAPER;1,25,1,33,%=,:UNPAPER;1,25,1,33,*, 890 GOTO 10 900 SAVE "DEM%O" 910 RUN 4000 REM DATA;%U%N%D%R%A%W,ZX-81,COPYRIGHT 1983,%U%P%-%-%G%R%A%D%I%N%G,AUTHOR:% % FRITS BENIEST,UP--GRADING,%A%U%T%H%O%R%:% % %F%R%I%T%S% %B%E%N%I%E%S%T, 4010 REM DATA;% % %S%H%O%O%T%I%N%G% %I%N% %E%X%T%E%N%D%E%D%-%B%A%S%I%C% % % % , \'.\.'\'.\.'\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\.'\'.\'.\'.\'.\'.\'. ******************************,\:.\.:\.:\.:\.:\.:\.:\.:\.:\.:\.:,63, 5000 REM DATA;2,5,1,205,1,146,1,89,0,201,3,8,3,209,3,209,0,201,3,209, 7005 LET J=0 7006 LET L=0 7007 GOSUB 0 7008 REM RESTORE;5000,:OUT;219,1,223,0,219,0,223,0,219,8,223,15,219,7,223,254, 7010 FOR N=1 TO 10 7020 GOSUB 0 7021 REM READ;L,J,:OUT;219,0,223,J,219,1,223,L, 7030 NEXT N 7040 GOSUB 0 7041 REM OUT;219,0,223,0,219,1,223,0,219,7,223,255, 7050 RETURN 7100 GOSUB 0 7101 REM OUT;219,7,223,254,219,8,223,15,219,1,223,0,219,0,223,0, 7110 FOR H=250 TO 0 STEP -80 7111 GOSUB 0 7112 REM OUT;223,H, 7120 NEXT H 7190 RETURN