]>
git.gir.st - Chiptunes.git/blob - foo.c
3 typedef unsigned char u8
;
6 0x84, 0x9d, 0xb0, 0x69, 0x9d, 0x84, 0x69, 0x58,
7 0x75, 0x8c, 0xb0, 0x69, 0x8c, 0x75, 0x69, 0x58
9 u8 zero
; //zero register
18 #define Mh o //mod3 vars
20 void mod3(void) { //avail: t, o _
21 //http://homepage.divms.uiowa.edu/~jones/bcd/mod.shtml
25 ADC (Mh
, zero
, carry
) //Mh only holds the carry bit
32 ADD (Ml
, tmp
) //discard tmp
33 Ml
= (Ml
>> 2) + (Ml
& 0x3);
34 Ml
= (Ml
>> 2) + (Ml
& 0x3);
35 if (Ml
> 2) Ml
= Ml
- 3;
50 /*MOV X_hi==_, data_hi
55 t
= (((i1
&0x1f)<<8|i0
)*t
)>>8; //TODO
56 t
>>= o
; //NOTE: o == {1, 2, 4}
66 //TODO: clear all vars/registers
168 putchar(acc
<<4); //TODO
171 ADC (i2
, zero
, !i0
&&!i1
)
172 ADC (i3
, zero
, !i0
&&!i1
&&!i2
)