- ’┌─────────────┐
- ’│SAMPLE6 │
- ’│ シ-ケンサ- v1.1 │
- ’└─────────────┘
- VISIBLE 1,1,1,1,0,0
- BGMSTOP
- ’---
- CLEAR
- DIM S(8,16)
- DIM N(8)
- DIM F(8,16),V(8,16),P(8,16)
- DATA 52,53,27,26,28,62,47,25
- FOR I=0 TO 7:READ N(I):NEXT
- MAX=8
- GOSUB @SCINIT
- ’---
- GOSUB @INIT
- GOSUB @SCPUT
- ICONSET 2,5 :’PEN
- ICONSET 3,39:’ERASER
- ’---
- TMP=120:TT=1/60:TC=TT
- GOSUB @CLCTMP
- MD=0:OFS=0
- PLY=FALSE
- FOR I=0 TO 3
- BREPEAT I,30,4
- NEXT
- ’---
- @LOOP
- ’
- B=BUTTON(1)
- OLDST=TST:OTX=TX:OTY=TY
- TST=TCHST:TX=TCHX:TY=TCHY
- ’
- GOSUB @CTRL
- GOSUB @SEQEDIT
- GOSUB @SEQPLAY
- GOSUB @PUTST
- ’
- VSYNC 1
- ’
- GOTO @LOOP
- END
- ’---
- @PUTST
- LOCATE 24,0
- PRINT ”SPD: ”;
- LOCATE CSRX-3,0
- PRINT TMP;
- RETURN
- ’---
- @CTRL
- OT=TMP
- I=ICONCHK()
- IF I!=-1 THEN MD=I-2
- ’---
- IF B==64 THEN GOSUB @SCCLR
- IF B==4 THEN TMP=TMP-1
- IF B==8 THEN TMP=TMP+1
- IF TMP<10 THEN TMP=10
- IF TMP>240 THEN TMP=240
- IF OT!=TMP THEN GOSUB @CLCTMP
- RETURN
- ’---
- @SCCLR
- GOSUB @SCINIT
- FOR I=0 TO MAX-1
- FOR O=0 TO 15
- GOSUB @SCPUT1
- NEXT
- NEXT
- RETURN
- ’---
- @SEQEDIT
- IF TST==FALSE THEN RETURN
- C=1:IF MD==1 THEN C=0
- X=FLOOR(TX/8)
- Y=FLOOR(TY/8)
- EY=MAX*2+SY-1
- IF Y<SY THEN RETURN
- IF Y>EY THEN RETURN
- O=FLOOR(X/2)
- I=FLOOR((Y-SY)/2)
- S(I,O)=C
- GOSUB @SCPUT1
- RETURN
- ’---
- @CLCTMP
- T=60*60 :’VSYNC(1)→1/60SEC
- C=TMP*4 :’16フ゛オンフ゜キシ゛ュン
- TMAX=T/C/48 :’フ゛ンカイノウ48
- RETURN
- ’---
- @SEQPLAY
- ’---
- LOCATE 0,22:PRINT TMAX,TT,TC
- TC=TC-TT
- IF TC>0 THEN RETURN
- GOSUB @SCPLAY
- TC=TC+TMAX
- RETURN
- ’---
- @SCPLAY
- FOR I=0 TO MAX-1
- IF S(I,OFS)==0 GOTO @SCPSKIP
- BEEP N(I),F(I,OFS),V(I,OFS),P(I,OFS)
- @SCPSKIP
- NEXT
- ’---
- OFS=OFS+1
- OFS=OFS AND 15
- BGPAGE 1
- BGOFS 1,-OFS*16,0
- BGPAGE 0
- BGOFS 1,-OFS*16,0
- RETURN
- ’---
- @SCINIT
- ’---
- FOR I=0 TO MAX-1
- FOR O=0 TO 15
- S(I,O)=0:’RND(2)
- F(I,O)=0:’RND(8192)-4096
- V(I,O)=127:’RND(100)+27
- P(I,O)=64:’RND(128)
- NEXT
- NEXT
- RETURN
- ’---
- @SCPUT1 ’I=NO,O=OFS
- ’---
- X=O*2+SX:Y=I*2+SY:C=0
- D=I+2:IF S(I,O)==0 THEN D=0
- BGPAGE 1
- GOSUB @BGBOX
- C=1
- BGPAGE 0
- ’---
- @BGBOX
- BGPUT 0,X+0,Y+0,D,C,0,0
- BGPUT 0,X+1,Y+0,D,C,0,0
- BGPUT 0,X+0,Y+1,D,C,0,0
- BGPUT 0,X+1,Y+1,D,C,0,0
- RETURN
- ’---
- @SCPUT
- ’---
- FOR I=0 TO MAX-1
- FOR O=0 TO 15
- GOSUB @SCPUT1
- NEXT
- NEXT
- RETURN
- ’---
- @INIT
- PNLTYPE ”OFF”
- FOR I=0 TO 1
- BGPAGE I
- BGOFS 0,0,0
- BGOFS 1,0,0
- BGCLIP 0,0,31,23
- CHRINIT ”BGU0”
- NEXT
- ’---
- CLS:COLOR 7
- PRINT”┌┐┌┐┌┐──┌┐┬┐┌┐┌┐┬┐”
- PRINT”└┐├┘││││├┘│││ ├┘│ ”
- PRINT”└┘└┘└┤└┴└┘──└┘└┘── v1.1”
- COLOR 0
- X=0:Y=CSRY+1
- COLOR 1
- LOCATE X,Y:PRINT”0 1 2 3 4 5 6 7 8 9 A B C D E F”;
- COLOR 0
- PNLSTR X,Y,”0 1 2 3 4 5 6 7 8 9 A B C D E F”
- Y=Y+1
- SX=X:SY=Y
- FOR I=0 TO MAX-1
- COLOR 1
- LOCATE X,Y+0:PRINT”ТТСТСТСТСТСТСТСТСТСТСТСТСТСТСТСТ”;
- LOCATE X,Y+1:PRINT” У У У У У У У У У У У У У У У ”;
- COLOR 0
- PNLSTR X,Y+0,”ТТСТСТСТСТСТСТСТСТСТСТСТСТСТСТСТ”
- PNLSTR X,Y+1,” У У У У У У У У У У У У У У У ”
- Y=Y+2
- NEXT
- COLOR 1
- LOCATE X,Y:PRINT”ТТТТТТТТТТТТТТТТТТТТТТТТТТТТТТТТ”;
- COLOR 0
- PNLSTR X,Y,”ТТТТТТТТТТТТТТТТТТТТТТТТТТТТТТТТ”
- ’---
- PNLSTR 0,0,”Ф:CLEAR”
- ’---
- BGPAGE 1
- GOSUB @BGCLS
- C=1:GOSUB @OFSBAR
- BGPAGE 0
- GOSUB @BGCLS
- C=2:GOSUB @OFSBAR
- RETURN
- ’---
- @OFSBAR
- O=8*2
- FOR Y=0 TO 23
- BGPUT 1,0,Y,15,C,0,0
- BGPUT 1,1,Y,15,C,0,0
- NEXT
- RETURN
- ’---
- @BGCLS
- FOR X=0 TO 63
- FOR Y=0 TO 23
- BGPUT 0,X,Y,0,0,0,0
- BGPUT 1,X,Y,15,14,0,0
- NEXT
- NEXT
- RETURN