]>
git.gir.st - Chiptunes.git/blob - foo.c
e246b6cbcbab0435484abca2c55e7ae2595c21ea
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
83 //sorted by ocurrence, then longest cycle count first
98 mul_58
: // 0101 1000 (24cy)
123 mul_69
: // 0110 1001 (26cy)
150 mul_75
: // 0111 0101 (28cy)
179 mul_84
: // 1000 0100 (22cy)
202 mul_8c
: // 1000 1100 (24cy)
227 mul_9d
: // 1001 1101 (28cy)
256 mul_b0
: // 1011 0000 (22cy)
286 RET
//TODO: replace CALL/RET with IJMP?
440 putchar(acc
<<4); //TODO
443 ADC (i2
, zero
, !i0
&&!i1
)
444 ADC (i3
, zero
, !i0
&&!i1
&&!i2
)