Mercurial > repos > simple16
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 |