comparison sprites.s16 @ 22:407725d9a02f

Implemented sprite drawing. Added small sprite example.
author Michael Pavone <pavone@retrodev.com>
date Wed, 30 Mar 2016 19:55:48 -0700
parents
children
comparison
equal deleted inserted replaced
21:91ded3b12d96 22:407725d9a02f
1
2 ;write palette entries to CRAM
3 ldim 0, r0
4 ldimh $FF, r0
5 outi 14, r0
6 ldim colors, r0
7 ldimh colors, r0
8 ldim $80, r1
9 ldimh $0, r1
10 ldim 0, r2
11 cloop:
12 ld16 r0, r2, r3
13 outi 15, r3
14 addi 2, r2
15 cmp r1, r2
16 bne cloop
17
18 ;write tile to VRAM
19 ldim 0, r2
20 outi 14, r2
21 ldim tile, r0
22 ldim $A0, r1
23 ldimh $0, r1
24 tloop:
25 ld16 r0, r2, r3
26 outi 15, r3
27 addi 2, r2
28 cmp r1, r2
29 bne tloop
30
31 ;write name table entries to VRAM
32 ldim 0, r2
33 ldimh $60, r2
34 outi 14, r2
35 ;current entry
36 ldim 0, r0
37 ;increment
38 ldimh $8, r2
39 ;counter
40 ldim $00, r1
41 ldimh $7, r1
42 nloop:
43 outi 15, r0
44 add r2, r0, r0
45 addi -1, r1
46 bne nloop
47
48 ;setup writes to sprite list
49 ldim 0, r0
50 ldimh $FE, r0
51 outi 14, r0
52
53 ;write first sprite
54 ldim $15, r0
55 ldimh $35, r0
56 outi 15, r0
57 ldim 1, r1
58 ldimh $84, r1
59 outi 15, r1
60
61 ;write second sprite
62 ldim $8A, r0
63 ldimh $8A, r0
64 outi 15, r0
65 ldimh $A4, r1
66 outi 15, r1
67
68
69 ;write vscroll register
70 ldim $0, r0
71 ldimh $E6, r0
72 outi $C, r0
73 ;write hscroll register to enable display
74 ldimh $80, r0
75 outi $D, r0
76 forever:
77 bra forever
78 tile:
79 dc.l $000FFFFF
80 dc.l $E111EEEE
81 dc.l $DD222DDD
82 dc.l $CCC333CC
83 dc.l $BBBB444B
84 dc.l $AAAAA555
85 dc.l $99996669
86 dc.l $88877788
87
88 dc.l $00000088
89 dc.l $00000889
90 dc.l $0000889A
91 dc.l $000889AB
92 dc.l $00889ABC
93 dc.l $0889ABCD
94 dc.l $889ABCDE
95 dc.l $889ABCEF
96
97 dc.l $889ABCEF
98 dc.l $889ABCDE
99 dc.l $0889ABCD
100 dc.l $00889ABC
101 dc.l $000889AB
102 dc.l $0000889A
103 dc.l $00000889
104 dc.l $00000088
105
106 dc.l $88000000
107 dc.l $98800000
108 dc.l $A9880000
109 dc.l $BA988000
110 dc.l $CBA98800
111 dc.l $DCBA9880
112 dc.l $EDCBA988
113 dc.l $FECBA988
114
115 dc.l $FECBA988
116 dc.l $EDCBA988
117 dc.l $DCBA9880
118 dc.l $CBA98800
119 dc.l $BA988000
120 dc.l $A9880000
121 dc.l $98800000
122 dc.l $88000000
123 colors:
124 dc.w $0000, $0001, $0002, $0003
125 dc.w $0004, $0005, $0006, $0007
126 dc.w $0008, $0009, $000A, $000B
127 dc.w $000C, $000D, $000E, $000F
128
129 dc.w $0000, $0010, $0020, $0030
130 dc.w $0040, $0050, $0060, $0070
131 dc.w $0080, $0090, $00A0, $00B0
132 dc.w $00C0, $00D0, $00E0, $00F0
133
134 dc.w $0000, $0100, $0200, $0300
135 dc.w $0400, $0500, $0600, $0700
136 dc.w $0800, $0900, $0A00, $0B00
137 dc.w $0C00, $0D00, $0E00, $0F00
138
139 dc.w $0000, $0111, $0222, $0333
140 dc.w $0444, $0555, $0666, $0777
141 dc.w $0888, $0999, $0AAA, $0BBB
142 dc.w $0CCC, $0DDD, $0EEE, $0FFF
143