Skip to content

Commit

Permalink
fix tile wall basic sample
Browse files Browse the repository at this point in the history
  • Loading branch information
yeastplume committed Jun 9, 2020
1 parent 92d608f commit 18dbfc1
Showing 1 changed file with 72 additions and 40 deletions.
112 changes: 72 additions & 40 deletions samples/tile_wall/tile_wall.bas
Original file line number Diff line number Diff line change
@@ -1,43 +1,75 @@
1 REM POKE MODE INTO LAYER 0
2 REM TILED, 4BPP, ON
3 REM IMAGESET ADDRESS $1A800
4 REM TILEMAP ADDRESS $00000
10 POKE $9F2D,$12: POKE $9F2E,$80: POKE $9F2F,$D7
11 POKE $9F30,$0: POKE $9F31,$0: POKE $9F32,$0: POKE $9F33,$0
12 POKE $9F29,$33
13 CLS: PRINT "POKING PALETTE"
14 REM POKE PALETTE DATA
20 POKE $9F20,0:POKE $9F21,$FA:POKE $9F22,$11
30 FOR I = 0 TO 29
40 READ A:POKE $9F23,A:NEXT I
42 REM POKE IMAGESET DATA INTO TILE BASE
43 PRINT "POKING TILESET"
50 POKE $9F20,0:POKE $9F21,$A8:POKE $9F22,$11
60 FOR I = 0 TO 2175
70 READ A:POKE $9F23,A:NEXT I

71 REM POKE TILEMAP DATA INTO MAP BASE
72 REM START AT BASE + $500 AS PER PANE DATA
73 FOR X = 0 TO 63
74 FOR Y = 0 TO 31
75 LET S = Y * 128 + X * 2
76 VPOKE 0,S,0
77 VPOKE 0,S+1,0
78 NEXT Y
79 NEXT X
80 LET C = 0
90 LET K = 0
96 PRINT "POKING TILEMAP"
100 REM START
110 LET S = 1280 + C + K:REM $500
120 LET R% = S/256
130 POKE $9F20,S AND $FF:POKE $9F21,R%
135 POKE $9F22, $11: REM SET HIGH ADDR TO
140 FOR I = 0 TO 45
150 READ A:POKE $9F23,A: C=C+1: NEXT I
160 K = K + 82
170 IF C < 414 GOTO 100
180 REM TURN OFF LAYER 1, VIEW RESULT
190 POKE $9F29,$13

1000 REM DATA WILL BE APPENDED HERE
4 REM TILEMAP ADDRESS $10000

5 REM LOAD CODE TO CLEAR TILEMAP MEMORY TO 0 TILE
6 FOR I=0 TO 43 : READA : POKE$9000+I,A:NEXT I

100 POKE $9F2D,$12: POKE $9F2E,$80: POKE $9F2F,$D7
110 POKE $9F30,$0: POKE $9F31,$0: POKE $9F32,$0: POKE $9F33,$0
120 POKE $9F29,$33
130 CLS: PRINT "POKING PALETTE"

140 REM POKE PALETTE DATA
200 POKE $9F20,0:POKE $9F21,$FA:POKE $9F22,$11
300 FOR I = 0 TO 29
400 READ A:POKE $9F23,A:NEXT I

420 REM POKE IMAGESET DATA INTO TILE BASE
430 PRINT "POKING TILESET"
500 POKE $9F20,0:POKE $9F21,$A8:POKE $9F22,$11
600 FOR I = 0 TO 2175
700 READ A:POKE $9F23,A:NEXT I

704 REM CLEAR TILEMAP MEMORY
705 SYS $9000

710 REM POKE TILEMAP DATA INTO MAP BASE
720 REM START AT BASE + $500 AS PER PANE DATA
730 FOR X = 0 TO 63
740 FOR Y = 0 TO 31
750 LET S = Y * 128 + X * 2
760 VPOKE 0,S,0
770 VPOKE 0,S+1,0
780 NEXT Y
790 NEXT X
800 LET C = 0
900 LET K = 0
960 PRINT "POKING TILEMAP"
1000 REM START
1100 LET S = 1280 + C + K:REM $500
1200 LET R% = S/256
1300 POKE $9F20,S AND $FF:POKE $9F21,R%
1350 POKE $9F22, $11: REM SET HIGH ADDR TO
1400 FOR I = 0 TO 45
1500 READ A:POKE $9F23,A: C=C+1: NEXT I
1600 K = K + 82
1700 IF C < 414 GOTO 1000
1800 REM TURN OFF LAYER 1, VIEW RESULT
1900 POKE $9F29,$13

5000 REM - MACHINE CODE FOR QUICK SCREEN CLEAR
5010 DATA 120 : REM SEI
5020 DATA 169,0 : REM LDA #$00 ;
5030 DATA 141,32,159 : REM STA $9F20 ;
5035 DATA 169,0 : REM LDA #$00 ;
5040 DATA 141,33,159 : REM STA $9F21 ;
5050 DATA 169,17 : REM LDA #$11 ; SET VERA POINTER TO 01:0000 STEP 1
5060 DATA 141,34,159 : REM STA $9F22 ;
5070 DATA 162,0 : REM LDX #$0 ; COLOR CODE
5080 DATA 169,32 : REM LDA #$40
5090 DATA 133,0 : REM STA $00 ; SET $00 TO 32 (32 ROWS OF TILES)
5100 DATA 169,0 : REM LDA #$0 ; TILE CODE
5110 DATA 198,0 : REM DEC $00
5120 DATA 48,14 : REM BMI $902A ; JMP TO END IF DONE WITH 32 ROWS
5130 DATA 160,64 : REM LDY #$80 ; SET Y INDEX TO 64 COLUMNS
5140 DATA 136 : REM DEY
5150 DATA 48,247 : REM BMI $9018 ; LOOP TO NEXT ROW IF DONE W/ 64 COLS
5160 DATA 141,35,159 : REM STA $9F23 ; PUSH TILE TO VRAM
5170 DATA 142,35,159 : REM STX $9F23 ; PUSH COLOR TO VRAM
5180 DATA 76,30,144 : REM JMP $901E
5190 DATA 88 : REM CLI
5200 DATA 96 : REM RTS

10000 REM DATA WILL BE APPENDED HERE

0 comments on commit 18dbfc1

Please sign in to comment.