GLOBAL SCR_DX, SCR_DY, SCR_ADDR, CPOINT RANDOMIZE TIMER CALL INITGRAPH(3,1,14,14,59) a = 0 cnt = 0 FOR Y=0 TO 95 for x = 0 to 111 if cnt = 0 then READ A ' a = rnd($1000000) cnt = 12 end if CALL PLOT(x, 111 - y, A AND 3) A = A\4 cnt = cnt - 1 NEXT x NEXT y END DATA $214844, $554000, $555555, $555555, $555555, $555555, $555555, $555555 DATA $555555, $573155, $000455, $444444, $444444, $444444, $444444, $444444 DATA $444444, $444444, $404444, $084514, $555001, $555555, $555555, $555555 DATA $555555, $555555, $555555, $555555, $545573, $002015, $145145, $145145 DATA $145145, $145145, $145145, $145145, $145145, $511045, $40C455, $555400 DATA $555555, $555555, $555555, $555555, $555555, $555555, $515555, $155145 DATA $30200D, $111111, $111111, $111111, $111111, $111111, $111111, $511111 DATA $451540, $0C3054, $555540, $555555, $555555, $555555, $555555, $555555 DATA $555555, $570345, $C55155, $140040, $444451, $444444, $444444, $444444 DATA $444444, $444444, $1C5544, $151450, $000315, $554570, $555555, $555555 DATA $555555, $555555, $555555, $511555, $514071, $1C5151, $55000C, $451451 DATA $451451, $451451, $451451, $451451, $551451, $07C445, $551554, $000031 DATA $515514, $555555, $555555, $555555, $555555, $555555, $435451, $55033C DATA $40C511, $114010, $444455, $444444, $444444, $444444, $444444, $154544 DATA $CCC41F, $155540, $000003, $554545, $555555, $555555, $555555, $555555 DATA $551555, $73F151, $500311, $000414, $5C1C10, $514514, $514514, $514514 DATA $514514, $514514, $155511, $DD3707, $31D304, $400000, $545540, $545545 DATA $545545, $545545, $545545, $515515, $CC7D54, $0133CC, $0040C0, $510100 DATA $445445, $515445, $445445, $445445, $455445, $544545, $CD331D, $03031C DATA $040000, $555514, $155555, $555511, $555555, $515555, $555454, $C45445 DATA $1D3134, $104405, $117040, $511111, $114110, $111111, $111111, $154555 DATA $515451, $C4C31D, $20DC30, $000001, $555555, $0F4405, $555555, $555555 DATA $544555, $455551, $155145, $30D313, $033337, $444400, $340444, $114535 DATA $445145, $545451, $445515, $555454, $0C4D54, $4CDC53, $00131C, $100000 DATA $54C040, $455405, $11D555, $115111, $455555, $D44544, $40C151, $CC4337 DATA $044CCC, $340CC1, $10551C, $000415, $000000, $114500, $545555, $5D1545 DATA $34C43F, $311113, $710C13, $3441F3, $000000, $000000, $154401, $545155 DATA $551515, $73D045, $733133, $70C01C, $07DCCC, $403100, $D11110, $CCDC35 DATA $551154, $515111, $015511, $73100C, $1371C7, $7C44C1, $440473, $CCC300 DATA $01D00C, $554531, $155511, $445555, $0330C5, $000000, $334C0C, $CCC4F7 DATA $0C4737, $037041, $55401C, $455514, $444551, $C31555, $8C000C, $C03021 DATA $4CDDC7, $303734, $030CC4, $CCC04C, $455544, $545554, $111155, $80330C DATA $C04800, $4F7F04, $7F4334, $5511C4, $575555, $445515, $444554, $551445 DATA $C43055, $0CCC00, $DC000E, $DCC003, $555437, $114511, $455445, $551555 DATA $555455, $70D145, $A04330, $77B020, $4239F7, $14F770, $545545, $455455 DATA $545155, $155451, $455511, $0CC2C1, $C80EC0, $C383C8, $0FF708, $545453 DATA $154445, $551455, $115511, $445551, $0CC154, $230031, $8C3323, $70048E DATA $454C37, $555545, $555151, $115511, $545555, $0D1555, $20C333, $CE380E DATA $20BB32, $30D4C3, $111455, $151545, $455511, $514555, $514511, $0CCE31 DATA $C02303, $CCBB38, $440E0E, $5544C0, $545455, $515551, $151454, $155515 DATA $8C4515, $EC0D33, $E3B200, $3238AE, $540F5C, $454511, $515545, $554545 DATA $455154, $155154, $30C930, $E02230, $E3EECE, $C55080, $54554C, $445455 DATA $555445, $554544, $555154, $1CC0D4, $80E213, $333B03, $40CA0E, $513354 DATA $455115, $155455, $545551, $151544, $0C5151, $C0CE30, $E82032, $80EECA DATA $451503, $155115, $155155, $511551, $545545, $454555, $C003F3, $A22387 DATA $3BA322, $500E3B, $555001, $151154, $511551, $515515, $544451, $CC2154 DATA $3B800C, $08ACC3, $6CCCAE, $4115C0, $551151, $545551, $115455, $555515 DATA $CD1555, $0C3020, $322C8E, $A3B8B3, $550233, $551500, $515545, $115145 DATA $455155, $511144, $C33331, $B3BC38, $A2C8A3, $00CE2E, $515151, $445445 DATA $455445, $554555, $555554, $CCC515, $32F30F, $AEEE2A, $B3B8CE, $15140B DATA $455455, $455555, $551454, $444544, $055144, $0C0F3F, $88FBE3, $3BBA38 DATA $548F2A, $154555, $145155, $554555, $545544, $551555, $F0FC14, $A20BB0 DATA $CAE3BB, $3833B2, $551130, $151154, $545155, $515551, $514515, $00D545 DATA $ECCBC3, $AECEEC, $CEEB3B, $555002, $554544, $551151, $114515, $155115 DATA $545455, $3FCCCB, $BB3B83, $EEA3B8, $4233A8, $545554, $555514, $155111 DATA $155155, $454551, $003045, $ECEEF3, $EE8EEE, $223BCC, $514500, $455545 DATA $155551, $554551, $545554, $015554, $C0E30B, $B8CCCE, $EEBBAE, $15433B DATA $445515, $444554, $545551, $514544, $111545, $0E3C01, $BBBB23, $EEF8EB DATA $08A228, $515153, $544555, $445515, $545555, $515445, $E2C555, $ECCFF3 DATA $3BCEEC, $EF3BBB, $155533, $545115, $455515, $451155, $155515, $0D5115 DATA $2FBCFF, $ACBBB3, $EECEFB, $440E38, $555154, $515115, $551154, $145154 DATA $155151, $303315, $FBBB30, $AEEBBE, $38E3B2, $554554, $155444, $554545 DATA $551551, $555551, $C01454, $CEF0C0, $CEEECE, $EE8EEE, $5453B2, $515544 DATA $545551, $511514, $445511, $554544, $CF030C, $BB3B3C, $BB33BB, $70CBA3 DATA $515545, $545515, $515545, $455515, $545555, $3CEC44, $EEEE03, $EEECEE DATA $ACECEA, $11544B, $515115, $445511, $455455, $545154, $F15555, $3308F3 DATA $BBB3BB, $BBBB3B, $154EB3, $555155, $515545, $454455, $551554, $111111 DATA $33EFC1, $EEEECC, $E2E33B, $38EECE, $154551, $145445, $555115, $511555 DATA $555511, $0C0D55, $EEF3CC, $AEEFBE, $33BBAF, $55170B, $555554, $155151 DATA $514445, $455515, $C51451, $EF3FC3, $FBBACC, $EB38EE, $512EEE, $444551 DATA $555511, $555454, $455455, $554554, $C08CC5, $EFEECF, $BBBAEE, $CEECEE DATA $544554, $455555, $154544, $454445, $544554, $3C0444, $333FBC, $CF3B3E DATA $EECECE, $5514B8, $515145, $545554, $555551, $551554, $D55555, $30C3F0 DATA $EEFAEC, $BBBEEE, $54E38B, $455514, $514545, $111515, $511545, $144451 DATA $230305, $EFB200, $BBBB3B, $8E3BB3, $11514C, $545555, $515145, $515455 DATA $555515, $331551, $EFFF3F, $EFB3AC, $ECEECE, $1550FE, $544455, $155445 DATA $155455, $115455, $511551, $03C3C3, $EEFBBF, $BBBB3E, $53233B, $554554 DATA $155445, $454551, $455151, $544555, $BF2C15, $BBC0B0, $EBF3BF, $2E8ECE DATA $544552, $155551, $545551, $151514, $551455, $315145, $333FC2, $ABEEFB DATA $FBAECF, $54533C, $441515, $451551, $515545, $515151, $555451, $CCFFC1 DATA $CFCFFF, $B3ACBE, $4C33EF, $515115, $551555, $515454, $151555, $455515 DATA $330144, $BCE038, $BEF3EF, $AE3CFB, $15514C, $544555, $154551, $544445 DATA $115551, $351555, $3FCFBF, $CF3BB3, $FFEEEA, $5530CC, $554554, $554511 DATA $555551, $445545, $551155, $3CC0D5, $F3BBBC, $FECEEE, $C3BFE2, $544551 DATA $155544, $511511, $445514, $551455, $334451, $3F0BCF, $BB33BB, $FBC0F3 DATA $55150E, $145545, $515551, $515155, $554455, $554551, $3C3CC5, $ECCCE0 DATA $FFEEEE, $573ACF, $455514, $145555, $154455, $555445, $551544, $F31514 DATA $B2CFC3, $FBB3BB, $E3FFFE, $515544, $514454, $154551, $455555, $511554 DATA $545544, $303B0C, $EEECCF, $3FC02C, $44550F, $155545, $545515, $511151 DATA $544554, $515555, $33F151, $3B3CEF, $C4FBBB, $45B2FF, $115515, $455151 DATA $551545, $544555, $451145, $054545, $F2C2E3, $32ECEE, $3BFF03, $515155 DATA $555555, $545454, $544451, $555445, $545515, $3CCC54, $3BCCCF, $3CFCCB DATA $551330, $445145, $454544, $555545, $455515, $515114, $335555, $AEEFB3 DATA $C3ACB3, $54C3BF, $455445, $545555, $445455, $515114, $155154, $111115 DATA $8F0CC5, $CEFB38, $2CC23C, $155517, $545154, $455115, $155155, $151555 DATA $555155, $F39555, $22CFF2, $2FF3B3, $4450CF, $551551, $155111, $555155 DATA $511154, $554455, $544514, $B32FCC, $0B3BBF, $53C8F3, $555515, $155511 DATA $151151, $554545, $554455, $545544, $FCFB51, $B338CE, $3FEF30, $45514F DATA $455511, $551551, $545451, $554514, $445551, $C14515, $B3B323, $FEC3FB DATA $551FFC, $455554, $545554, $455545, $555155, $451514, $155155, $CFFB35 DATA $CC233B, $4F33FF, $444545, $444554, $445445, $151155, $515151, $551455 DATA $C33154, $FCF33C, $FFFF3E, $54545F, $551555, $455555, $551115, $554555 DATA $555115, $154551, $CECEEF, $CFCCE3, $5553F3, $514515, $511451, $555154 DATA $544451, $455444, $544544, $EF30D4, $B2CF3C, $47FFFF, $555111, $515515 DATA $551545, $555514, $455555, $551554, $3B1155, $2CB3B3, $FF3F33, $555554 DATA $115444, $515515, $115545, $144451, $551555, $554451, $CE3CCD, $FCCCF3 DATA $4445EF, $515551, $115555, $445455, $555555, $514455, $155511, $F33111 DATA $FF332C, $551FF3, $454515, $445115, $455155, $114455, $554451, $115515 DATA $D55551, $CEF38C, $513F88, $555511, $455454, $454515, $155154, $555555 DATA $515111, $145555, $CB3D11, $54FEEC, $515515, $115514, $545455, $151554 DATA $445155, $555514, $451115, $515555, $51333C, $455111, $115145, $455155 DATA $511555, $454451, $455155, $555111, $514455, $555545, $555545, $555454 ' ----------------------------------- GRAPHIC LIBRARY --------------------------------- ' USES CHARACTERS FROM (DCX*DCY - COFF) TO (255 - COFF) FOR THE GRAPHIC DISPLAY SUB CLRGRAPH FILL SCR_ADDR,(SCR_DX\8)*(SCR_DY\8)*16 END SUB SUB INITGRAPH(CX, CY, DCX, DCY, COFF) SCR_DX=DCX*8 SCR_DY=DCY*8 SCR_ADDR = $8000 + (256-COFF-DCX*DCY)*16 FOR J= 0 TO DCY-1 FOR I = 0 TO DCX-1 CELL I+CX, J+CY, I+256-COFF-DCX*(DCY-J) NEXT I NEXT J CALL CLRGRAPH END SUB SUB PLOT(X,Y,C) IF X>=0 AND X=0 AND Y X1)*2 - 1 SDY = -(Y2 > Y1)*2 - 1 X2 = ABS(X2 - X1) Y2 = ABS(Y2 - Y1) IF X2 >= Y2 THEN D = X2\2 FOR N=0 TO X2 CALL PLOT(X1, Y1, C) D = D + Y2 IF D >= X2 THEN D = D - X2 Y1 = Y1 + SDY END IF X1 = X1 + SDX NEXT N ELSE D = Y2\2 FOR N=0 TO Y2 CALL PLOT(X1, Y1, C) D = D + X2 IF D >= Y2 THEN D = D - Y2 X1 = X1 + SDX END IF Y1 = Y1 + SDY NEXT N END IF END SUB SUB POINT(X, Y) CPOINT = 0 IF X>=0 AND X=0 AND Y