1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... DRAWDJUP.BAS 3 REM ! Utg}va 1.4 85 04 11 4 REM ! av (c) Tom Sj|berg 5 REM ! Minne 16 Kbytes 6 REM ! Ins{nt av 2401 7 REM +++++++++++++++++++++++++++++++++ 100 REM =============================== 101 REM = DRAW maskinkod kr{vs ! = 102 REM = POKE Q%,Q1% SETmod = 103 REM = POKE Q%,Q0% CLEARmod = 104 REM = Z%=FNP%(1) execute PIC 1 = 105 REM = = 106 REM = akta variabler i 60000 = 107 REM = Q%,Q0%,Q1%,Q2%,P%(),Q%(,) = 109 REM =============================== 110 P9%=78% : L9%=4% : REM Max P9% bilder om L9% linjer 120 GOSUB 60003 : REM * INITIERA * 160 REM ********* BER[KNA ************ 162 ; CHR$(12%)' BER[KNAR DATA F\R RAM-RUTINEN ' 163 REM 166 P%=0% : X%=42% : Y%=36% 168 FOR I%=0% TO 36% : REM STEP 6% 169 X1%=X%-I% : Y1%=Y%-I% : X2%=X%+I% : Y2%=Y1% : GOSUB 60021 : REM \-V]G 170 X1%=X%-I% : Y1%=Y%+I% : X2%=X%+I% : Y2%=Y1% : GOSUB 60021 : REM U-V]G 171 X1%=X%-I% : Y1%=Y%+I% : X2%=X1% : Y2%=Y%-I% : GOSUB 60021 : REM V-LOD 172 X1%=X%+I% : Y1%=Y%+I% : X2%=X1% : Y2%=Y%-I% : GOSUB 60021 : REM H-LOD 173 P%=P%+1% 174 NEXT I% 176 P1%=P%-1% 180 REM ********* GRAFIK ************** 184 ; CHR$(12%) : FOR I%=0% TO 23% : ; CUR(I%,0%)CHR$(151%); : NEXT I% 185 POKE Q%,Q1% : REM SETDOT 186 REM 187 GOTO 430 : REM  [ndra till 192 s} f}r du "RAM-DRAW"! 188 REM 189 REM ******************************* 190 REM * RAM-DRAW * 191 REM ******************************* 192 S%=1% : FOR P%=S% TO P1% STEP S% : GOSUB 226 : NEXT P% : REM varv 1 |ka 196 S%=-S% : FOR P%=P1%+S% TO 0% STEP S% : GOSUB 226 : NEXT P% : REM varv 2 minska 200 ; CHR$(7); : GOTO 192 204 REM ----------- SUB ------------ 226 Z%=FNP%(P%) : POKE Q%,Q0% : Z%=FNP%(P%-S%) : POKE Q%,Q1% 227 FOR T%=0% TO 30000%/(10%*P%+S%) : NEXT T% : RETURN 249 REM 400 REM ******************************* 410 REM * DJUP-DRAW * 420 REM ******************************* 430 DIM B%(2%,7%) 440 B%(0%,0%)=4% : B%(0%,1%)=6% : B%(0%,2%)=9% : B%(0%,3%)=13% : B%(0%,4%)=18% : B%(0%,5%)=24% : B%(0%,6%)=31% 450 B%(1%,0%)=4% : B%(1%,1%)=7% : B%(1%,2%)=10% : B%(1%,3%)=15% : B%(1%,4%)=20% : B%(1%,5%)=26% : B%(1%,6%)=33% 460 B%(2%,0%)=5% : B%(2%,1%)=8% : B%(2%,2%)=12% : B%(2%,3%)=17% : B%(2%,4%)=22% : B%(2%,5%)=29% : B%(2%,6%)=35% 470 FOR P%=0% TO 2% : Z%=FNP%(P%) : NEXT P% : Z%=FNP%(35%) : REM K[RNAN 480 POKE Q%,Q1% : FOR I%=0% TO 6% : Z%=FNP%(B%(0%,I%)) : NEXT I% 490 FOR J%=0% TO 1% 500 FOR I%=0% TO 6% 510 POKE Q%,Q0% : Z%=FNP%(B%(J%,I%)) 520 POKE Q%,Q1% : Z%=FNP%(B%(J%+1%,I%)) 530 NEXT I% : NEXT J% 540 FOR I%=0% TO 5% 550 POKE Q%,Q0% : Z%=FNP%(B%(2%,I%)) 560 POKE Q%,Q1% : Z%=FNP%(B%(0%,I%)) 570 NEXT I% : Z%=FNP%(B%(0%,6%)) 580 GOTO 490 60000 REM ##### SUBR INITIERA DRAW #### 60001 DEFFN[%([%)=PEEK([%)+SWAP%(PEEK([%+1%)) 60002 DEFFNP%(P%)=CALL(Q2%,P%(P%)) 60003 C4%=FN[%(65052%) : Q2%=C4%-324% : Q%=C4%-608% : Q1%=202% : Q0%=210% 60004 IF PEEK(8906)<>182% POKE C4%-611%,241% : Q1%=Q1%-2% : Q0%=Q0%-2% 60005 P9%=P9%-1% : L9%=L9%*2%+1% 60006 DIM Q%(P9%,L9%-1%),P%(P9%) 60007 REM ----- BER[KNA P%(P%) -------- 60008 [%=65063% : REM variabelroten 60009 [%=FN[%([%+2%) 60010 IF [%=0% ; : ; "HITTAR EJ Q-MATRISEN!" : STOP 60011 IF PEEK([%)<>249% 60009 : REM s|k int.matris 60012 IF PEEK([%+1%)<>81% 60009 : REM s|k "Q" 60013 [%=FN[%([%+4%) : REM Q%(0%,0%) 60014 FOR P%=0% TO P9% : P%(P%)=[%+2%*L9%*P% : NEXT P% 60015 RETURN 60016 REM ------------------------------ 60017 REM - Tar linjen fr}n X1;Y1 - 60018 REM - till X2;Y2 och adderar - 60019 REM - den till bildnr P - 60020 REM ------------------------------ 60021 Q%(P%,Q%(P%,0%)*2%+1%)=X2%+Y2%*256% 60022 Q%(P%,Q%(P%,0%)*2%+2%)=X1%+Y1%*256% 60023 Q%(P%,0%)=Q%(P%,0%)+1% : RETURN 60024 REM ##############################