   1 REM ***********************
   2 REM *      SPHERE         *
   3 REM *    G. Wearmouth.    *
   4 REM *        1986.        *
   5 REM * Spectrum 16/48/128K *
   6 REM ***********************
   7 REM
  10 IF PEEK 26618<>201 THEN CLEAR 26475: PRINT "installation": GO SUB 9000
  20 PRINT #0;AT 1,0; PAPER 4;"Load Save Print Border Circle Go"
  30 LET a=CODE INKEY$: IF a>97 THEN LET a=a-32
  40 GO SUB 100+a: GO TO 20
 165 RETURN
 166 PLOT 0,0: DRAW 255,0: DRAW 0,175: DRAW -255,0: DRAW 0,-175: RETURN
 167 CIRCLE 127.5,87.5,PEEK 26489
 170 RETURN
 171 INPUT "Radius (10-88) ";r: POKE 26489,r: CLS : PRINT #0;AT 0,10;"radius - ";r: RANDOMIZE USR 26488
 175 RETURN
 176 INPUT " Title ";t$: PRINT #0;" Start tape": LOAD t$SCREEN$ : RANDOMIZE USR 26476
 179 RETURN
 180 COPY
 182 RETURN
 183 INPUT " Title ";t$: SAVE t$SCREEN$
 999 RETURN
9000 REM ** Machine Code **
9001 REM
9010 LET a=26476: LET s=0
9020 FOR i=1 TO 18: READ t$
9030 FOR j=1 TO 8
9040 LET b=16*(CODE t$-48-(7 AND t$>="A"))
9050 LET b=b+(CODE t$(2)-48-(7 AND t$(2)>="A"))
9060 POKE a,b: LET a=a+1: LET s=s+b
9070 LET t$=t$(3 TO )
9080 NEXT j
9090 NEXT i
9100 IF s<>13660 THEN PRINT "Data error": STOP
9110 RETURN
9200 DATA "2100401100680100"
9210 DATA "18EDB0C93E51CD28"
9220 DATA "2DEFA203C5A0C402"
9230 DATA "1B3134372F0F38CD"
9240 DATA "D52DFD77703A085C"
9250 DATA "FE20CAC516EF3131"
9260 DATA "E50522A305A10F34"
9270 DATA "372F04013104E531"
9280 DATA "04010328C30238CD"
9290 DATA "D52D4847CDAA223E"
9300 DATA "2884670620C50608"
9310 DATA "C5CB06301AE5EF34"
9320 DATA "377F31E40105A304"
9330 DATA "20E3040338CDA22D"
9340 DATA "FD4670CDE922E1FD"
9350 DATA "346EC110DB2CC110"
9360 DATA "D4EF31360090A103"
9370 DATA "3137008A0238C900"
