Combines a full-featured assembly code editor with a machine code monitor into a single integrated development environment. The Editor supports up to 31 characters per line, with screen scrolling, string search, line and character insertion/deletion, auto-repeat on all keys, and a label indentation system. Assembled code is passed to the Assembler, which handles full mnemonic and label assembly, hex and decimal number entry, and inline text and comments. The Monitor provides tools for testing, debugging, and running finished machine code routines, along with a library of built-in subroutines covering keyboard input, screen output, and other common operations.
Content
Image Gallery
Source Code
1 REM ##▘#.)##5[(]RND GOSUB [K]TAN LN [P]#LN [;]#### BY D.P.AKNAI M.STREETON# (C) 1982 ARTIC COMPUTING LTD.###### COPY 5 T6 CONT # STOP6 NEW# STOP#A#E CONT # RAND INT COPYE CONT #[B] GOSUB # GOSUB # CONT ##[B]4▌#[B]ASN 3#LN [P]#LN [;]#####STACK ERROR COPYLN ###A#0+ REM #▘4#VAL 5▜RND FAST#LN ###LN ## NEXT #[=]# #PI#VAL E[E]# FAST/▝<7VAL #LN [S]##,[S]AT C NEXT [B]C1 NEW STEP C\~~,< NEW STEP 4 IF < LPRINT / TO AT #LN [S]#LN [V]#K\,,<##/SQR LPRINT RAT TAN ,[B]AT 6[E]#TAN GOSUB #[C]#5█ COPYT6[A]#6[H]#[J]M[P]#5 6[L]#▘▘ LN ##LN [P]#LN [;]##### COPY▘▝ LN INPUT #▘▒ \,,6[E]#Y#LN M#LN M#LN USR # RETURN$C RAND RETURNV4\,,LN ## RETURN$4 RAND / GOTO LN [0]#LN [B]#S SLOWE[E]# FASTLN [R]## LPRINT S(# RETURN COPYC"#CHR$ ▀K▞#LN M#/TAN 6[E]## RETURN▙4Y76[E]#LN ##ABS 5#CHR$ INKEY$ AND 5#LN [0]#LN ##LN ## RETURNXC" RETURN4C[5] RETURN$C[1]#4#LN [R]# AND ##U[P]#[B]TAB █# FOR E[H]#7#7#/▄LN ACS #ABS █#LN ?# AND 4#LN H##█# GOSUB #[E]#LN [R]#SQR GOSUB #[E]#LN ## AND 4#LN ##LN [0]# RETURNFC\,, RETURNHRZ""▞▘/▝▞ VAL LN ## FASTLN SIN #SGN AT S$#CHR$ \~~K▒#[B]CODE B#;[B]TAN LN [;]#OFFSET COPY#E#LN [0]#LN ## AND ## RETURNFC▖ RETURNHC LN [;]#NUMBER COPY#E#U[P]#[B]TAB SGN #LN USR #LN [V]#S▌LN [0]#RTAN LN ##S CLS#[0]# GOSUB #[E]#RTAN FASTE[E]#F6[E]# LPRINT [B]TAN LN USR # RETURN6TAB [0]#LN ## RETURN"4▝RTAN RETURN#ASN 1#LN M#/ GOSUB E[J]#6[E]#</4[J]M[U]#LN ##E[E]#6[J]#ABS [M]#CHR$ INKEY$ AND [M]#▗#▞ 5[8]#\,,#7#LN ▀# AND [M]#M[U]#,<ACS #C\,, PRINT Y GOSUB LN M# LET ACS [B] RETURN▘4,,LN M# RETURN(ASN ▚# RETURN/ASN ▚# RETURN#ASN SQR # RETURNLN ASN SQR #[B]TAN RETURN▝TAB ▗#, RETURNVAL CN RETURNAT CJ RETURN\,,C#STR$ LN TAB #SGN S[▒] PRINT , RETURN\,,C▒ LET FOR ▚ FOR LN M#TAN LET RETURN4TAB TAB #LN ##TAB TAB #STR$ LN TAB #SGN AND TAB #/ STOPLN USR # RETURNINKEY$ 4:LN ## RETURN#4▖YK/)LN [0]#LN [0]#LN TAB # AND 4# RETURNKASN 4#/[Y],### RETURN▀TAB ▐#, RETURNSIN ASN 2# RETURN<=ASN CODE # RETURNPEEK ASN K# NEW▘4:LN USR # RETURNINKEY$ TAB TAB #LN ##TAB 1#LN LOAD #S##, NEW RETURN[K]LN M#ACS #COS U[G]##M#Y GOSUB LN M#LN LOAD # AND 4# RETURN▞ASN 4#▗▗▗LEN RNDLN M#LN ##TAB 1#LN USR # RETURNC4>LN USR # RETURN#TAB 4#LN USR # RETURNDTAB 4#[B]TAN # RETURN▛TAB 4#LN [0]#LN ##LN ##,/▌,LEN # NEW RETURNLN M#LN ## AND ###M#LN ## AND ### NEWSIN TAB 4##LEN SIN #M#LN USR # RETURNC4ILN USR # RETURN#TAB 4#LN USR # RETURNDTAB 4#Y GOSUB LN M#LN ##TAB 1#LN LOAD # AND 4# RETURN▞ASN 4#▗▗▗LEN INKEY$ #M#LN [0]#LN ## AND ##LN ##TAB 1#LN USR # RETURNINKEY$ TAB 4#YPEEK LN M###M# RETURN▖4:LN LOAD # AND TAB # FOR ▗▗▗▚#[S]# RETURN▌4ZSTR$ LN ##K▖SGN #TAB # LPRINT PRINT # RETURN44< LET RETURN3 PAUSE 4#▚LN M##▚# PAUSE 4#TAB ▚# LET ▚LN M# NEWSIN RETURNCODE C▞ RETURNTAB C▝[B]TAN LN ?# AND 4#LN H#TAN RETURN▞TAB ##LN LOAD # AND [.]#▗▗▗#VAL #M[Q]#LN ##TAB 1#E[E]# FASTLN LOAD #S9 LPRINT PRINT #M[J]# LET AT [K] PLOT RND RETURN#ASN 4# PRINT U[J]##U[Q]#[5]TAB 4#U[Q]#[L]# LET #[S]# LPRINT AT FASTVAL 6[E]#LN USR # RETURNCC,LN [0]#LN ## AND ##M[N]## PLOT ▞AT LPRINT LN [S]#U[N]##M#AT LPRINT 6[E]## RETURNSTAB 4#LN USR # RETURNCTAB 4#LN TAB #S7 RETURNKASN 4#LEN \~~LN M# GOSUB #[N]#, RETURN▝ASN 4# RETURNKASN 4#LN USR # RETURNDTAB 4#[B]TAN LN ?# AND ##YULN M#LN USR # RETURNDTAB 4##H#E[J]#6[E]#LN ##LN USR # RETURNCTAB 6#LN TAB #SF RETURNKASN 4# PLOT ▝LN M#LN ## RETURNDTAB 1#LN ##TAB 1#LN ## RETURNINKEY$ TAB 1#LN ## AND 4#LN [0]#[B]TAN LN [0]#LN ## AND 4#LN ##TAB 1#LN ## RETURNINKEY$ TAB ▖#LN ## AND 4#LN [0]#YMLN M##H#LN [0]# FASTLN TAB # LPRINT AND [M]# RETURN44▖Y6/ SCROLL PRINT Y GOSUB LN M# LET PLOT #/>=LN [0]#LN TAB ## PRINT AND 4#LN ##TAB 1#VAL LN ##AT S< LET RETURN44▖YE/[V]Y GOSUB LN M## PLOT #/[L]LN ?# AND 4# LET W/[B]LN USR #LN [0]# GOSUB #[E]#LN ## RETURNCTAB [-]#STR$ LN ?#SGN AND [-]#S NEXT LN USR # RETURNDTAB [-]#[D]TAN RETURN▛47LN ##TAB TAB #LN TAB # AND TAB # RETURN4TAB TAB #, RETURN FOR 4\~~E[N]## RETURN▝ASN 4#,#M# RETURN▒46LN USR # RETURNCTAB TAB #STR$ LN TAB #SGN AND TAB # RETURN4TAB TAB #LN USR # RETURNDTAB TAB #Y DIM #M# RETURN\,,4WLN SIN # AND TAB # NEW SAVE TAB TAB #LN ##TAB 1##▗▗▗#,[P]# FAST▞ LN LOAD # LPRINT AND [M]#[P]#YACS LN M#ACS #4▖##M#U[G]#LN M###M# RETURN\~~4▖,#/STR$ RETURN£4KSTR$ LN TAB # RETURN4TAB 4# GOSUB #[N]#, RETURN▝ASN 4#LN ##TAB 1#LN TAB # AND 4## GOSUB #[N]#, RETURN▝ASN 4## LPRINT ▚#M# RETURN$#4#,£M#LN SIN #TAB 4##M# PRINT LN TAB # AND 4# GOSUB #[N]# RETURN4TAB 4#LN ##TAB 1#, RETURN▝C-LN TAB # AND 4## GOSUB #[N]#, RETURN▝ASN 4# LET [K]#M#STR$ LN TAB ## AND 4# GOSUB #[N]#, RETURN▝C\,,# RETURN4ASN 4#SGN / LPRINT <,#SGN <,[T]TAB 4#LN ##/ABS U[U]#[B]TAB 4#E[J]#F6[E]#RTAN STR$ LN USR #LN [0]#)##LN ▀#K▝SGN TAN , RETURN▝4\,,<,LN M#Y▝/▝<,.▗▗▗▗ GOSUB #[N]#SGN [B]TAN STR$ E[E]#6[S]#LN USR # RETURNC4PLN TAB #K▝SGN TAN RETURN44# GOSUB #[N]#, RETURN▝4+ FASTE[E]# STOP6[E]#LN CONT # AND ###M[G]#: COPY LPRINT LN USR # RETURND4FY▞#/7LN [0]#)##LN ▀#K▝SGN TAN RETURN▘C$ RETURN▝4▖Y<>/▝Y CLEARLN M#: <,#[B]SGN TAN RSGN E[S]#6[E]#TAN LN USR #LN [0]#)[,,]#LN ▀#**<,▗▗▗[B]TAN LN USR # RETURNGTAN LN ## RETURN64)LN ## PRINT LN ## RETURN6TAB 4#A LET [B]TAN LN [0]#VAL STR$ LN ?#SGN AT **U[P]#[B]#COS #[B]#COS #WC▀R#TAN # NEW█#4▘RTAN LN LIST # PRINT LN [0]# LET **LN [V]#**#[B]TAN LN [R]#**LN NOT #**#TAN LN USR #LN [V]#Z**CHR$ INKEY$ **LN [0]# PRINT STR$ E[A]#▘ /0 GOSUB #[E]#,< GOSUB [D]C IF 7▀LN [S]#LN [V]#K?YPI GOSUB [T]FF""# RETURN▌C*/<># RETURNPI4 GOTO . GOSUB #[E]#SGN ##F#F## LET [B]TAN LN [;]#LABEL COPY#E##LN M##VAL FASTE[L]#76[L]##U[P]#[B]#4▀ LPRINT AT TAN F# LPRINT AT [B]TAN FASTE[L]#F6[L]# LPRINT [B]TAN LN ##LN [S]##[V]# FASTE[E]##76[E]# LPRINT RETURN COPY""Y#LN M#YWLN M#Y#LN M#U[P]#[B]TAB ##Y▌LN ▙# GOSUB #[H]#Y▘M[P]# LPRINT GOSUB #[H]#FF▘▘ E[L]#LN ## AND ▞#5▙RND6[L]#LN [P]#LN [;]##### COPY### FAST RETURN#4▖Y$ LPRINT TAN VAL # NEWRNDTAB 4## NEWZCHR$ 0S:CHR$ \~~K▌LEN UAT LPRINT TAN LEN INKEY$ AT LPRINT TAN 5 REM #LEN 0#▞ \,,#AT LPRINT TAN 4[4][4][4][4][4][4][4][4][4][4]6[4]8UZCDYWXFHEJVGILN [;]#OUT OF MEMORY COPY[J]M OR #/2LN [0]#LN [;]#SYNTAX COPYE[E]#F# RETURN#C▖ RETURN INPUT 4 PLOT 76**#LN [;]# ERROR COPY/▖[J]M OR #LN ##LN ASN # GOSUB #[C]#TAN GOSUB #[L]# FAST5▙RND; FOR LPRINT LN ##K"LN [0]#LN ##LN ▙#/ LIST YPILN ▙##LN ▙##LN ▙#LN [0]#TAN PRINT U[P]#[B]C▝ LET TAN LET FASTE[H]#VAL GOSUB #0RND[B] GOSUB PI IF ▞#\,,AT #F6[H]# LPRINT TAN **# GOSUB # LET #;#I#############[~~]###TAB #ACS # SCROLL### LET #O#################▀[5]##▀█##▀[▒]##▝\,,##0# ##\,,RND##▘J##▘ZINKEY$ ##▌CODE INKEY$ ##▘LN ###)[L]##)[5]###)[T]##)[D]#▀[T] ###▘(INKEY$ INKEY$ ▘B#▘ NEXT ##▖▌##▝" #4C##D▛ STOP#4INKEY$ #▘▒##▘ OR #▘ CLS#4##▛ FOR INKEY$ ##▘# ##▖▖##▝▀#▀<=#K)##L)##M)####)[M]##)[6]###)[U]##)[E] #▌4#▒ DIM #▘/#▌TAB #▘# ###)[K]##)[4]###)[S]##)[C]#4#GINKEY$ )##4INKEY$ G#)##4#GINKEY$ )##4INKEY$ G#)##4##▛ RAND #▞RND ##▘ ##)# ###)[7]###)[N]###)[F]##▀PEEK ###)[V]#▀[L] ##▝AT ###▝VAL ##INKEY$ ▘▛##INKEY$ ▘?#INKEY$ ▘*#INKEY$ ▘3##▌""##\,,█##\~~ ##\~~▒#\~~(###)###)###)####)##\~~/##▀SIN ##▘TAN ##▘R#PI▀[)]PI#▀[/]PI#0PI##\,,""#INKEY$ \~~C#INKEY$ \~~4##\~~S ##▀[D] PI#▘ ##▘▘##▘▝##▘▀##▝<>##▝ CLEAR INKEY$ ▘▛PI▘ #▘▘#▘▝#▘▀#▘▖#▘▌ ##▘ #▘▘##▘▝#▘▀##▘▖##▘▌#▘▞#▘▛ ## CONT ##INKEY$ B###INKEY$ USR RND COPY#▘ [;]RND PRINT CHR$ KK▀ LET [B]TAN CHR$ \~~K▀ LET RTAN CHR$ ▛S PAUSE CHR$ ,S PRINT / GOTO LN ## RETURN4C RAND TAN NEW#CHR$ #SQR LEN ▞K▖LEN \~~RTAN LEN ▛ZSQR LEN \~~TAN STR$ ▞ ###LN USR # RETURNFCO RETURNHCK/▀LN ## PRINT LN >=#K\~~DDDD# LET ;▖/ GOSUB # NEW#C▒CHR$ ▌K▖ LET [B]SGN TAN LET RSGN TAN PRINT #J##J#7 LET TAN LN [0]#LN USR # RETURNH4▛ACS SAVE LN ##/▛ RETURNF4▀LN ##VAL /▀LN ## PRINT LN >=#K.#LEN PLOT S- LET D[O]##D[O]D[O];[O]- #;▖[O] PAUSE ##/▞# NEW#4▌ LET AT RSGN TAN LET AT ACS #CODE B#▞ COPY[B]SGN TAN E[E]# FASTLN [R]#S£ LET # RETURN COPYC-CHR$ ▀SA/C LPRINT 6[E]#LN .#S3 GOSUB #[L]# GOSUB #FU[P]#[B]C:#[H] NEW█4£# RETURN COPYC▀[B]4▖##M#LN [;]#RELATIVE JUMP COPY#E## RETURN COPYC▌[B]R""[B]TAN [H] NEW█R""[B]TAN LN [R]#**# RETURN COPYC▖CHR$ ▀ZTAN # RETURN COPYC▀[B]R""#[H] NEW█R""[B]TAN LN ?# RETURNOC▌ RETURNLTAB N#VAL PRINT ▘ ▌#[B]"4 CLS LET AT #N# ###NOT #VAL FAST)▞ 5 THEN## RETURN▙C▝2 LN ##[J]MUSR #[J]MSTR$ #5 THEN#LN ?# RETURN COPYC INPUT LN ## RETURN STOP46#[B]TAB \,,#U THEN# RETURN▙ASN \,,#Y▙MSTR$ #▞▛.LN ##( CLSY▙M THEN#</# RETURN#4▌LN [7]#/# RETURN#4▌LN ##/# RETURN#4);U THEN# RETURN▙4▘7# RETURN#C#0/# RETURN#4▛#[B]C#1/# RETURN#C▞ RETURN""C1/2LN .#5 THEN## RETURN▙4(▞▞7# RETURN#4▞Q 7Q#F( PAUSE LPRINT AT TAN ACS #48#ESQR #7# RETURN#C,5 THEN##; RETURN▙4▘7# RETURN##4▀7Q#05 THEN#LN .#5 THEN#LN ##LN ▄#### PRINT FASTECHR$ #6SQR # LPRINT #7 RETURN▙C"FLN [;]# COPY#7 RETURN#C▌LN [E]#/ PRINT FASTESQR ## RETURN#C▛[J]LN [E]#7/ POKE LPRINT LET TAN FAST PRINT #ECHR$ #; RETURN▙C▞7777776SQR ## INPUT █# LET LPRINT TAN STR$ 5 THEN#; FOR 5<>#7# RETURN#4 IF USTR$ # RETURN▙C)U THEN# RETURN▙#C▌. RETURN RUN C( RETURN RETURNC£#7#FF#[X]4 RUN 7Q SGN TAN #[B]5 THEN#4-# RETURN▙""7# RETURN#4 IF Y SAVE [+]**[J]M THEN#0#[7]#U THEN# RETURN▙4▘7;1FF7# RETURN#COS 7#F#/ PRINT LN \,,#E AND #▘ COPY COPYY COPY GOSUB [L]F6>=#U OR #[B]4▞E AND #6**#E**#LN [Y]#LN ##ESQR #6CHR$ ##[H]#[J]MUSR #LN ?# RETURN COPYC PRINT ) ##LN ## RETURN""4▞LN ###3# RETURN#4▞LN Q##[H]# RETURN#ASN ## RETURN LPRINT ASN LPRINT # RETURN SLOWASN ▖# RETURN STEP ASN ▟# RETURN<>4▞[J]M OR #/[7] RETURN LLIST 4Y<= CLSACS #4#LN ## CLEARACS ▘EXP Y#NOT E**## RETURN▙C" FAST▞▞VAL [J]NOT AT ( IF LPRINT F7# RETURN COPY4▌LN \,,#/K FASTNOT LPRINT #7/▀#-# RETURN#CNOT / NEW RETURN#CE RETURN#CA RETURN#C6 RETURN#C2 RETURN#C, RETURN STOPC-ACS #4▖ACS #C:) ##LN ##LN ▄##\~~#E**#▘ THEN##▝ RETURN#▀74 SAVE LN RND# RETURN""4▒E**#LN .#/STR$ 5 THEN#) <#7 RETURN#4 RAND 5 THEN#[B] GOSUB PI;2 COPYLN [9]#E**#▘ THEN#\~~▀#7 RETURN#4 SAVE LN Q#/[D] GOSUB #**#5 F\~~▀ RETURN#4 RAND \~~ RETURN COPYC[-]LN [9]#E£RND)*▀; FOR ECHR$ #▘5 \,,[B] GOSUB #K)/▀#-#ECHR$ #\,,##ECHR$ #LN INPUT #E£RND▘ SAVE ▝\,, FOR E**# FASTECHR$ # FAST▘5 ECHR$ #[B] GOSUB #K-;\,,6CHR$ #E**#Y# GOSUB [L]# RETURN COPYC"6**#/ TO E**#LN .# LPRINT 6CHR$ # LPRINT 6**##[H]#E**#F6**#5▘ LN [9]#E**#76**#Q#E£RND) PLOT ▝; FOR ECHR$ #[B] GOSUB #K:▘5 ECHR$ #\,, GOSUB #CHR$ #LN INPUT #E**#LN .##[H]#LN [P]# GOSUB #SQR # GOSUB #CHR$ #▞/)5 # RETURN COPYCOS LN .# FASTECHR$ #;6CHR$ # LPRINT ( INPUT TAN LN [P]#ESQR #6CHR$ #▘ THEN#Y#▝LN RND# RETURN""CWE**#F7▘ THEN#"# RETURN COPYCI▀\~~ RETURN#C,[B]4)#[B]4 DIM 7#[B]C CLS▀\~~[B]C CLS"/ NEW[Y]74 OR / STEP F# RETURN#C▖ RETURN INPUT 4 PLOT 76**## POKE #E**#LN .#6**# FASTECHR$ #▘5 \,,6CHR$ # LPRINT # RETURN COPY4=5▘ SGN LN [9]#STR$ E**#Q#7Q COPY6>=#FLN .#ESQR #"[B] GOSUB PI6CHR$ #TAN E**#F# RETURN INPUT ASN [H]#F# RETURN#C▖ RETURN INPUT 4 PLOT 76**#ECHR$ #) TO COPY;6CHR$ #E**#LN .#<ESQR #;6CHR$ ##[H]#VAL STR$ FAST GOSUB #>=#\,, GOSUB #£#"# RETURN COPY4▘"[B] GOSUB PIS6LN ##LN ASN #LN [P]#LN [;]##### COPYLN >=#LN ##[J]M OR # LPRINT SGN AT LET #9#SGN STR$ E**##7 RETURN#C▒ RETURN COPYC* RETURN INPUT 4 PAUSE ##; GOSUB #>=#LN INPUT #AT VAL E>=#\,,6>=# LPRINT SGN AT TAN ▘▘ ) COPY COPY5 LN \,,#5█ COPYT GOSUB #0RND[B] GOSUB PI FOR ▘▀ LN INPUT #;6£# FOR ) COPY COPY▘▀ LN \,,#"LN INPUT #▘▒ \,,6 AND #LN ASN #TAN ▘▝ LN INPUT # FOR E£#[B] GOSUB #FFFF FOR 77#7#E>=#7Q#7 GOSUB #£#[B] GOSUB #▘▀ LN \,,#"LN INPUT # FOR E>=#[B] GOSUB #FF FOR 77#7#TAN 5USR ##[B]C\~~▘ ▒"#[L]TAB [$]#TAN ▞ LN ?# RETURN""C RUN RETURN COPYCOS ( POKE Q COPYTAN LN [;]# ASSEMBLE COPYLN ?#4 CLSLN ?# RETURN COPYC RAND RETURNQASN 3# RETURN#4 LIST LN >=#LN #LN ASN ##9# RETURNSASN 9# RETURNAASN [A]#/#LN ##LN ###,<LN ##LN [;]# COPY( POKE #▛# RETURN COPYVAL FASTACS [W] GOSUB #▖RND[B] GOSUB PI#J[B]4\,,ACS #C▌ LPRINT AT #▞# LPRINT AT #+#[J]M OR ##[)]# LN ASN # LN [P]#LN [;]## <<<< ZX - ASSEMBLER >>>> COPYLN ?#4 CLSLN ##LN [;]#######> COPYLN ?# RETURN COPYC RAND RETURNQ4/LN ?#4 CLSLN ?# RETURN COPYC RAND RETURNQ4 FASTLN ?#4 CLS#[L]# RETURNMASN [1]# RETURNRASN "# RETURNCASN ## RETURNEASN X# RETURNIASN ###USR # 5ABS #ACS ▚LN [;]#MEMORY EDIT AT ADDR COPYLN ▗# AND 3#LN [P]# FOR LN ##5 PRINT COPY;STR$ GOSUB #SQR #▞/# NEW LIST ▛▛▛▛LEN 0><# NEW?LEN 0><# NEW LIST ▛▛▛▛LEN 0><# NEW?LEN 0><<<<# NEW LIST ▛▛▛▛LEN 0><# NEW?LEN 0> FAST5; ; FOR LPRINT 7([Y]SGN LN ##▞"LN ##▞▌LN ##LN [;]#>####< COPY5ABS ##-# RETURNOCS RETURNLCA RETURN COPY4 LET LN ?# RETURN COPYC RAND RETURNQ4<ACS #ASN 3#ACS ▚▞"LN [;]# COPY( RAND #CODE # RETURN#4\~~<ACS #C▝#>#CODE # RETURNP4\,,.ACS #C▝#>/ LIST ACS #4[L] RETURNJ4NLN [;]#JUMP ADDR COPYPI#LN ""#ACS #4▖[)]X▝▀##.LN [;]# ## COPY▞\~~LN [;]### COPY( RUN /[I]#CHR$ 0S/CHR$ (K=STR$ LN ""#ACS #SGN 4[£]>LN [;]# ## COPY/[)]# RETURNR4ALN [;]#REPEAT COPYSTR$ LN ""#ACS #SGN C▒▞▛LN #####5ABS #ACS LEN #>#CODE ##H#5USR #▞▒Q 7( CLS#3#LN [;]#RUN FROM ADDR COPY# REM # AND 3#LN [P]# FASTE=# FAST LET E># GOSUB #:# GOSUB #(#TAN 6># GOSUB #(# GOSUB #:# PRINT LPRINT 6=#LN ?#J4 IF LN ?#JC IF #[R]#LN [;]#COPY BLOCK: FIRST ADDR##########LAST ADDR#########TO ADDR#### COPYLN ▗# AND 3###LN [;]## COPYLN ▗# AND 3# FOR LN [;]### COPYLN ▗# AND 3#LN INPUT ##3#K▘#▖ LPRINT SGN AT TAN PRINT UC? RETURN CLEAR4▌LN C?/▀LN F? LET TAN PRINT U4? RETURNLN 4▌LN 4?/▀LN 7? LET TAN VAL STR$ 5#RND#7# FOR [B] GOSUB PI FOR K▒7#7#7;/ INPUT FSGN AT TAN VAL STR$ FASTACS #4\~~[B] GOSUB # GOSUB #0RND;SKLN >=#LN INPUT #F## LPRINT FAST\,, GOSUB #(RNDLN INPUT #SGN STR$ E£RND;6£RNDE(RND;6(RNDQ█76=RND76,RND60RND LPRINT SGN AT TAN VAL STR$ FAST777777LN \,,#S-LN INPUT ##7#AT VAL ▀▀7#7#7Q REM \,,FQ#[B] LPRINT SGN AT TAN VAL STR$ FASTLN INPUT #4?77#7#5 UNPLOT COPY[B] GOSUB #▀LN \,,# LPRINT SGN AT TAN 5[,,] COPYT GOSUB #0RND[B] GOSUB PIK▝INT ▀▘▝ LN INPUT #C9) █5▌ LN ##K▖LN >=#TAN LN INPUT #77777Q#7Q#7Q INPUT 7Q#7Q COPYLN ASN #### LN [;]#OUT OF MEMORY COPYTAN VAL STR$ FAST PRINT FOR VAL [B] GOSUB PI## LPRINT FAST\,,▀ STOP FOR [B] GOSUB #ACS #;C▛NN FOR GOSUB [K]/▞\,,F FOR LPRINT GOSUB [S] LET LPRINT SGN AT TAN VAL FASTSTR$ PRINT ESQR #LN ##▞(LN ##▞\,,LN ##LN [;]# SZ H ONC# COPY▞▒LN ##U=##▞▒[J]ACS 7EXP 0LN [E]#( PLOT LET SGN 6SQR # LPRINT AT TAN 5+#LN ;#▞▞LN ##▞▒LN ##LN [;]#AF####HL####DE####BC###### COPY▞▖#LN ##F#LN ##FLN [;]####### COPY( REM LN [;]#####> COPY7LN ?#J4 IF LN ?# RETURNQASN 3# RETURN#45LN [;]### # COPY# RETURN=4▒5£#▞▒LN ##77LN [;]###> COPY/LN CHR$ 0SINT CHR$ (KACS ▘ RUN #VAL FAST5 ▞▖LN ###[=]# AND 3### FOR #7#FLN ;#/[S]# GOSUB [L]#[L]ASN ###[V]4 POKE # SAVE #LN [;]### RETURNFOUND AT ADDR COPYF#LN ###LN #####VAL STR$ ▞▌)<>#,.[W]4▖,[X]C▀.( POKE #LEN 0SGN AT TAN PRINT Y LN [E]# LET TAN PRINT Y#LN ## LET TAN PRINT Y#LN ## LET TAN PRINT Y#LN ## LET TAN PRINT Y#LN ## LET TAN LN [E]#( CLSTAN FASTE£RND76SQR # LPRINT TAN VAL 5 #LN ##LN ##/3▞▖LN ##LN PRINT #[B] RETURNQC. RETURN#C;DDDD[P]##LN ###LN ##LN ?# RETURN COPY4 RAND /** RAT TAN - #LN ##LN [;]### COPYLN PRINT # RETURNQC, RETURN#C,ACS 6ACS 6ACS 6ACS 6[M]#LN ##LN ?# RETURN COPY4 RAND / OR - COPY/▀#- TAN LN ?# RETURN COPYC RAND RETURN#C: RETURNQC\~~CHR$ 0S GOSUB CHR$ (K DIM LEN (TAN VAL STR$ FASTLN [V]▝Y COPY[X]ASN LEN ###LN [X]▛Y COPY#TAB #LN [;]# SEARCH FOR#####FROM ADDR # COPYLN ▗# AND 3# FOR LN [;]## COPYLN ▗# AND 3#▘ #▞#LN [;]#######NOT FOUND COPYLN ?# RETURNQASN 3# RETURNMASN ""#/ LET VAL PRINT #ACS ZACS ZACS ZACS ZLEN 0LN [E]## NEW?LEN 0LN [E]# LET AT TAN STOP PRINT # RETURN COPYC▞LN [E]#7/ PRINT LET 7 STOPTAN VAL STR$ FAST PRINT )5 MPEEK #ESQR #ACS #4-LN £#ESQR ## RETURN#4▘7UPEEK ##76SQR #/Q RETURN#4\,,7# RETURN#4▘7/A RETURN#4\,,F# RETURN#4▘F/; RETURN#4▌[B] GOSUB #/( RETURN#4▀;/\,, RETURN#4▒LN [~~]#/▀6SQR # LET LPRINT SGN AT TAN VAL STR$ FAST PRINT )5 ESQR # GOSUB #£RND[B] GOSUB PIFACS #C£LN ##ESQR #;6SQR #/ FOR GOSUB #(RNDESQR #[B] GOSUB PI7ACS #4:LN ##ESQR #[B] GOSUB #6SQR #/ASN LET LPRINT SGN AT TAN VAL STR$ FAST PRINT GOSUB #£RND<55 ;▘ PLOT ▝ GOSUB [K]▞4F#( UNPLOT /.VAL STR$ FAST PRINT E£RND) PLOT ▝PI#; FOR 55 ; FOR GOSUB [S]▞47#( UNPLOT LET LPRINT SGN AT TAN VAL STR$ FAST PRINT GOSUB #SQR #E£RND7▘5 Y*\,,6SQR #[B] GOSUB #FACS #C\,,ESQR #X4 INPUT LN ## LET LPRINT SGN AT TAN VAL FASTE£RND76SQR #:/▞4Q 7( CLSQ#7$4 NEXT LPRINT AT TAN FFF
2 POKE 16389,70
3 CLS
4 SAVE "ASSEMBLE[R]"
5 STOP
8 POKE 16389,100
9 POKE 16388,84
10 RAND USR 16516
11 NEW
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.