-
Notifications
You must be signed in to change notification settings - Fork 2
/
rpg_scroll_test.bas
101 lines (89 loc) · 2.06 KB
/
rpg_scroll_test.bas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
10 COLOR 2, 1, 1
20 SCREEN 2,2,0
30 CALL TURBO ON
40 DEFINT A-Z
41 R1=VDP(1)
42 RO=R1 OR &B01000000
43 RF=R1 AND &B10111111
100 FOR J=0 TO 63
110 READ R
120 VPOKE J, R
121 VPOKE J+2048, R
122 VPOKE J+4096, R
140 NEXT J
150 RESTORE 2040
160 FOR I=0 TO 7
165 READ R
170 FOR J=0 TO 7
180 VPOKE &H2000+I*8+J, R
181 VPOKE &H2000+2048+I*8+J, R
182 VPOKE &H2000+4096+I*8+J, R
190 NEXT J
195 NEXT I
500 ' MAKE A MAP
510 FOR Y=0 TO 23
520 FOR X=0 TO 31
530 VPOKE &H1800+X+Y*32, RND(1)*8
540 NEXT X
550 NEXT Y
600 S=STICK(0)
610 IF S=1 THEN GOSUB 700
620 IF S=3 THEN GOSUB 750
630 IF S=5 THEN GOSUB 800
640 IF S=7 THEN GOSUB 850
690 GOTO 600
700 ' MOVING UP
700 VDP(1)=RF
701 FOR Y=0 TO 22
702 FOR X=0 TO 31
703 T=VPEEK (&H1800+X+(Y+1)*32)
704 VPOKE &H1800+X+Y*32, T
705 NEXT X
706 NEXT Y
708 FOR X=0 TO 31
710 VPOKE &H1800+X+23*32, RND(1)*8
711 NEXT X
740 VDP(1)=RO
749 RETURN
750 ' MOVING RIGHT
751 FOR Y=0 TO 23
752 FOR X=31 TO 1 STEP -1
753 T=VPEEK (&H17FF+X+Y*32)
754 VPOKE &H1800+X+Y*32, T
755 NEXT X
756 NEXT Y
757 FOR Y=0 TO 23
758 VPOKE &H1800+Y*32, RND(1)*8
759 NEXT Y
761 RETURN
800 ' MOVING DOWN
801 FOR Y=23 TO 1 STEP -1
802 FOR X=0 TO 31
803 T=VPEEK (&H1800+X+(Y-1)*32)
804 VPOKE &H1800+X+Y*32, T
805 NEXT X
806 NEXT Y
808 FOR X=0 TO 31
810 VPOKE &H1800+X, RND(1)*8
811 NEXT X
849 RETURN
850 ' MOVING LEFT
851 FOR Y=0 TO 23
852 FOR X=0 TO 30
853 T=VPEEK (&H1801+X+Y*32)
854 VPOKE &H1800+X+Y*32, T
855 NEXT X
856 NEXT Y
857 FOR Y=0 TO 23
858 VPOKE &H181F+Y*32, RND(1)*8
859 NEXT Y
860 RETURN
1000 DATA &Hff, &Hff, &Hbf, &H9f, &H8f, &H87, &H83, &H81
1010 DATA &Hff, &Hff, &Hfd, &Hf9, &Hf1, &He1, &Hc1, &H81
1020 DATA &H81, &H83, &H87, &H8f, &H9f, &Hbf, &Hff, &Hff
1030 DATA &H81, &Hc1, &He1, &Hf1, &Hf9, &Hfd, &Hff, &Hff
1040 DATA &H90, &H40, &H00, &H40, &H00, &H10, &H00, &H82
1050 DATA &H90, &H40, &H00, &H40, &H00, &H10, &H00, &H82
1060 DATA &H50, &H20, &H00, &H48, &H20, &H90, &H40, &H40
1070 DATA &H80, &H20, &H80, &H00, &H41, &H00, &H84, &H10
2040 DATA &H45, &H45, &H45, &H45, &H23, &H23, &HAB, &HAB