mirror of
https://github.com/makarcz/vm6502.git
synced 2024-10-20 14:24:14 +00:00
64 lines
1.5 KiB
QBasic
64 lines
1.5 KiB
QBasic
|
1 REM GRAPHICS DISPLAY DEVICE DEMO
|
||
|
2 REM BASE ADDRESS $FFE2
|
||
|
3 REM DRAW HORIZONTAL AND VERTICAL LINES
|
||
|
4 REM DRAW SINUSOID
|
||
|
10 GB=65506:REM SET BASE ADDRESS
|
||
|
12 REM INITIALIZE, SET COLORS
|
||
|
15 POKE GB+1,0:POKE GB+11,0
|
||
|
16 POKE GB+3,0:POKE GB+4,255:POKE GB+5,0
|
||
|
17 POKE GB+6,0:POKE GB+7,0:POKE GB+8,0
|
||
|
18 POKE GB+9,3:POKE GB+9,4:POKE GB+9,0
|
||
|
19 GOSUB 1120:REM DRAW SINUSOID
|
||
|
20 Y=100:REM X-AXIS
|
||
|
30 GOSUB 1000
|
||
|
50 X=100:REM Y-AXIS
|
||
|
60 GOSUB 1060
|
||
|
70 REM SOME EXTRA DOTTED LINES
|
||
|
80 Y=50:GOSUB 1200
|
||
|
90 Y=150:GOSUB 1200
|
||
|
100 X=50:GOSUB 1260
|
||
|
110 X=150:GOSUB 1260
|
||
|
120 PRINT "... HIT [SPACE] TO END ..."
|
||
|
125 GET K$:IF K$=" " THEN END
|
||
|
130 FOR I=1 TO 2000:NEXT I:REM SHORT PAUSE
|
||
|
140 GOTO 15
|
||
|
998 END
|
||
|
999 REM ------- SUBROUTINES SECTION -------
|
||
|
1000 REM DRAW HORIZONTAL LINE AT Y
|
||
|
1005 POKE GB+2,Y
|
||
|
1006 POKE GB+12,Y
|
||
|
1020 POKE GB,0
|
||
|
1025 POKE GB+10,199:POKE GB+9,5
|
||
|
1050 RETURN
|
||
|
1060 REM DRAW VERTICAL LINE AT X
|
||
|
1070 POKE GB,X
|
||
|
1075 POKE GB+10,X
|
||
|
1090 POKE GB+2,0
|
||
|
1095 POKE GB+12,199:POKE GB+9,5
|
||
|
1110 RETURN
|
||
|
1120 REM SINUSOID
|
||
|
1130 FOR X=0 TO 199-4 STEP 5
|
||
|
1140 XX=X*(6.28/200)
|
||
|
1145 XE=(X+5)*(6.28/200)
|
||
|
1150 YY=SIN(XX):YE=SIN(XE)
|
||
|
1160 Y=199-INT((YY+1)*100)
|
||
|
1165 Y2=199-INT((YE+1)*100)
|
||
|
1170 POKE GB,X:POKE GB+2,Y
|
||
|
1175 POKE GB+10,X+5:POKE GB+12,Y2:POKE GB+9,5
|
||
|
1180 NEXT X
|
||
|
1190 RETURN
|
||
|
1200 REM DRAW DOTTED HORIZONTAL LINE AT Y
|
||
|
1205 POKE GB+2,Y
|
||
|
1210 FOR X=0 TO 199 STEP 4
|
||
|
1220 POKE GB,X
|
||
|
1230 POKE GB+9,1
|
||
|
1240 NEXT X
|
||
|
1250 RETURN
|
||
|
1260 REM DRAW DOTTED VERTICAL LINE AT X
|
||
|
1270 POKE GB,X
|
||
|
1280 FOR Y=0 TO 199 STEP 4
|
||
|
1290 POKE GB+2,Y
|
||
|
1300 POKE GB+9,1
|
||
|
1310 NEXT Y
|
||
|
1320 RETURN
|