2 ; Written by Groepaz/Hitmen <groepaz@gmx.net>
3 ; Cleanup by Ullrich von Bassewitz <uz@cc65.org>
11 ;+---------+----------------------------------------------------------+
12 ;| $2000 | PPU Control Register #1 (W) |
14 ;| | D7: Execute NMI on VBlank |
17 ;| | D6: PPU Master/Slave Selection --+ |
18 ;| | 0 = Master +-- UNUSED |
20 ;| | D5: Sprite Size |
23 ;| | D4: Background Pattern Table Address |
24 ;| | 0 = $0000 (VRAM) |
25 ;| | 1 = $1000 (VRAM) |
26 ;| | D3: Sprite Pattern Table Address |
27 ;| | 0 = $0000 (VRAM) |
28 ;| | 1 = $1000 (VRAM) |
29 ;| | D2: PPU Address Increment |
30 ;| | 0 = Increment by 1 |
31 ;| | 1 = Increment by 32 |
32 ;| | D1-D0: Name Table Address |
33 ;| | 00 = $2000 (VRAM) |
34 ;| | 01 = $2400 (VRAM) |
35 ;| | 10 = $2800 (VRAM) |
36 ;| | 11 = $2C00 (VRAM) |
37 ;+---------+----------------------------------------------------------+
38 ;+---------+----------------------------------------------------------+
39 ;| $2001 | PPU Control Register #2 (W) |
41 ;| | D7-D5: Full Background Colour (when D0 == 1) |
42 ;| | 000 = None +------------+ |
43 ;| | 001 = Green | NOTE: Do not use more |
44 ;| | 010 = Blue | than one type |
45 ;| | 100 = Red +------------+ |
46 ;| | D7-D5: Colour Intensity (when D0 == 0) |
47 ;| | 000 = None +--+ |
48 ;| | 001 = Intensify green | NOTE: Do not use more |
49 ;| | 010 = Intensify blue | than one type |
50 ;| | 100 = Intensify red +--+ |
51 ;| | D4: Sprite Visibility |
52 ;| | 0 = Sprites not displayed |
53 ;| | 1 = Sprites visible |
54 ;| | D3: Background Visibility |
55 ;| | 0 = Background not displayed |
56 ;| | 1 = Background visible |
57 ;| | D2: Sprite Clipping |
58 ;| | 0 = Sprites invisible in left 8-pixel column |
59 ;| | 1 = No clipping |
60 ;| | D1: Background Clipping |
61 ;| | 0 = BG invisible in left 8-pixel column |
62 ;| | 1 = No clipping |
63 ;| | D0: Display Type |
64 ;| | 0 = Colour display |
65 ;| | 1 = Monochrome display |
66 ;+---------+----------------------------------------------------------+
69 ;-----------------------------------------------------------------------------
90 ; Make all sprites invisible
108 ;-----------------------------------------------------------------------------
113 @wait: lda PPU_STATUS
132 ;-----------------------------------------------------------------------------
139 .byte $14 ; 4 violett
144 .byte $2d ; b dark grey
145 .byte $22 ; e light blue
150 .byte $35 ; a light red
153 .byte $10 ; c middle grey
154 .byte $2b ; d light green
155 .byte $3d ; f light gray