]>
git.gir.st - Chiptunes.git/blob - foo.c
9a7bbe9e5a4e74128f8f282ebe93ea7007d707c4
3 typedef unsigned char u8
;
6 0x84, 0x9d, 0xb0, 0x69, 0x9d, 0x84, 0x69, 0x58,
7 0x75, 0x8c, 0xb0, 0x69, 0x8c, 0x75, 0x69, 0x58
19 u8 t
;/*==Ml*/ //r26 (Xlo)
20 u8 x
;/*==Mh*/ //r27 (Xhi)
23 /*fakestack_l*/ //r30 (Zlo)
24 /*fakestack_h*/ //r31 (Zhi)
25 #define Mh x //mod3 vars
27 //http://homepage.divms.uiowa.edu/~jones/bcd/mod.shtml
33 ADC (Mh
, zero
, carry
) //Mh only holds the carry bit
60 // tempvars: `x` and `_`
71 /*MOV X_hi==x, data_hi
76 //t = (((i1&0x1f)<<8|i0)*t)>>8; //TODO
84 for (u8 loop
= 0; loop
< 8; loop
++) { //Note: t&2 always zero
89 t
>>= 1; t
|=a1
<<7; //3. ROR t
90 a1
>>= 1;a1
|=a2
<<7; //2. ROR a1
96 t
&= 0x1e; //hint -- TODO: breaks without!?
97 RET
//TODO: replace CALL/RET with IJMP?
250 putchar(acc
<<4); //TODO
253 ADC (i2
, zero
, !i0
&&!i1
)
254 ADC (i3
, zero
, !i0
&&!i1
&&!i2
)