Mercurial > repos > simple16
comparison timer.s16 @ 25:fb14515266f4
Implemented timer and timer interrupts. Added get/setvbr instructions. Fixed assembler bug. Moved mnemonics into a separate source file
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 31 Mar 2016 23:25:52 -0700 |
parents | |
children | cb078b3b23e8 |
comparison
equal
deleted
inserted
replaced
24:4c9dbfa30a66 | 25:fb14515266f4 |
---|---|
1 ldim vectors, r0 | |
2 setvbr r0 | |
3 ;current color value | |
4 ldim 0, r0 | |
5 ;color increment | |
6 ldim $11, r3 | |
7 ldimh $1, r3 | |
8 ;Palette RAM address | |
9 ldim 0, r1 | |
10 ldimh $FF, r1 | |
11 ;enable interrupt | |
12 ori 1, sr | |
13 ;Timer Value | |
14 ldim $FF, r2 | |
15 ldimh $FF, r2 | |
16 outi $A, r2 | |
17 wait | |
18 bra wait | |
19 ;shouldn't get here, disable timer so it's clear something broke | |
20 ldim 0, r2 | |
21 outi $A, r2 | |
22 bra wait | |
23 | |
24 vectors: | |
25 dc.w timer_handler | |
26 | |
27 timer_handler | |
28 outi $E, r1 | |
29 outi $F, r0 | |
30 add r3, r0, r0 | |
31 reti r4 | |
32 |