1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... DRAWDEMO.BAS 3 REM ! Utg}va 1.2 85 04 11 4 REM ! av (c) Tom Sj|berg 7 REM ! Minne 16 Kbytes 8 REM +++++++++++++++++++++++++++++++++ 10 REM Bilder skapade med filen DRAW3DIM 11 REM har samlats i DEMO3D.DAT och 12 REM visas av detta pgm i en sekvens. 13 REM 14 REM (DRAW3DIM.BAS kommer p} senare 15 REM kassett.) 100 REM ========= INITIERA ============ 102 C4%=PEEK(65052%)+SWAP%(PEEK(65053%)) : REM BOFA 104 C%=C4%-324% : C1%=C4%-608% : C2%=202% : C3%=210% 106 IF PEEK(8906)<>182% POKE C4%-611%,241% : C2%=C2%-2% : C3%=C3%-2% : REM justering f|r checksumma 108 D1$='DEMO3D.DAT' : ; : ; 'Bilder h{mtas fr}n 'D1$; 110 OPEN D1$ ASFILE 1% : INPUT #1%,A% 112 L9%=101% : REM max antal linjer * 2 +1 per PIC 114 DIM Z%(A%,L9%-1%) : REM matr h}ller upp till A% bilder om 100 linjer 116 DIM [%(A%-1%) 118 GOSUB 610 : FOR P%=0% TO A%-1% : GOSUB 628 : [%(P%)=[1% : NEXT P% 120 REM ======== H[MTA BILDER ======== 122 FOR P%=0% TO A%-1% : GOSUB 4000 : NEXT P% : CLOSE 1% 124 REM ======== K\R FILMEN ========== 126 ; CHR$(12%) : FOR I%=0% TO 23% : ; CUR(I%,0%)CHR$(151%); : NEXT I% 127 GOSUB 152 : REM STJ[RNOR 128 FOR P%=0% TO A%-1% 130 POKE C1%,C2% : REM SETDOT 132 Z%=CALL(C%,[%(P%)) : GOSUB 142 134 POKE C1%,C3% : REM CLRDOT 136 Z%=CALL(C%,[%(P%)) 138 NEXT P% : GOTO 128 140 REM ============================== 142 FOR T%=0% TO 300% : NEXT T% : RETURN 150 REM -------- STJ[RNOR ----------- 152 S$=CHR$(135%,42%,151%) : S1$=CHR$(135%,46%,151%) 153 ; CUR(18%,21%)S1$TAB(30%)S1$TAB(35%)S$; 154 ; CUR(16%,33%)S$CUR(15%,35%)S1$; 155 ; CUR(0%,0%)S$TAB(5%)S1$TAB(8%)S$TAB(11%)S1$; 156 ; CUR(2%,2%)S1$TAB(6%)S1$; 157 ; CUR(4%,4%)S$;CUR(6%,0%)S$;CUR(9%,0%)S1$; 158 RETURN 200 REM ********* END *************** 600 REM ----------------------------- 604 REM -- S\K ADR TILL V[RDET P] -- 606 REM -- Z%(P%,0%) -- 608 REM ----------------------------- 610 [%=65063% : REM variabelroten 612 [%=PEEK([%+2%)+SWAP%(PEEK([%+3%)) 616 IF [%=0% THEN ; "HITTAR INTE BILDLAGRET" : STOP 620 IF PEEK([%)<>249% 612 : REM s|k int.matris 622 IF PEEK([%+1%)<>90% 612 : REM s|k "Z" 624 [%=PEEK([%+4%)+SWAP%(PEEK([%+5%)) : REM Z%(0%,0%) 626 RETURN 628 [1%=[%+2%*L9%*P% : REM Z%(P%,0%) 630 RETURN 2000 REM ------------------------------ 2002 REM - Tar linjen fr}n X1;Y1 - 2003 REM - till X2;Y2 och adderar - 2004 REM - den till bilden P% - 2005 REM ------------------------------ 2010 Z%(P%,Z%(P%,0%)*2%+1%)=X2%+Y2%*256% 2020 Z%(P%,Z%(P%,0%)*2%+2%)=X1%+Y1%*256% 2030 Z%(P%,0%)=Z%(P%,0%)+1% 2040 RETURN 4000 REM ------------------------------ 4001 REM - Subrutin som h{mtar bilder - 4002 REM - fr}n datafile - 4003 REM ------------------------------ 4007 INPUT #1%,Z%(P%,0%) 4008 FOR I%=0% TO Z%(P%,0%)-1% 4009 INPUT #1%,Z%(P%,I%*2%+1%) 4010 INPUT #1%,Z%(P%,I%*2%+2%) 4011 NEXT I% : RETURN