X-Git-Url: https://git.gir.st/Chiptunes-pms150c.git/blobdiff_plain/1ee6911217ba7d3f159abe5f8d574dc4837f5f24..19c9f57b09e04df99dc526f520dbfadcd115accd:/bsv.c diff --git a/bsv.c b/bsv.c index 49185cb..a6863d4 100644 --- a/bsv.c +++ b/bsv.c @@ -2,17 +2,13 @@ #include "fakeasm.h" typedef unsigned char u8; +u8 notes[16]; //MEM u8 i0, i1, i2; //MEM u8 n; //MEM u8 sample; //MEM u8 tmp_1; //MEM u8 acc; //ACC -u8 notes[] = { - 0x84, 0x9d, 0xb0, 0x69, 0x9d, 0x84, 0x69, 0x58, - 0x75, 0x8c, 0xb0, 0x69, 0x8c, 0x75, 0x69, 0x58 -}; - u8 mod3hi, mod3lo; //MEM //todo: can mod3hi be aliased to tmp_1? void mod3(void) { @@ -60,6 +56,32 @@ void main(void){ CLEAR (i0) CLEAR (i1) CLEAR (i2) + + //rom is not mmapped; must load into ram first + MOV (acc, 0x84) + MOV (notes[0x0], acc) + MOV (notes[0x5], acc) + MOV (acc, 0x9d) + MOV (notes[0x1], acc) + MOV (notes[0x4], acc) + MOV (acc, 0xb0) + MOV (notes[0x2], acc) + MOV (notes[0xA], acc) + MOV (acc, 0x69) + MOV (notes[0x3], acc) + MOV (notes[0x6], acc) + MOV (notes[0xB], acc) + MOV (notes[0xE], acc) + MOV (acc, 0x58) + MOV (notes[0x7], acc) + MOV (notes[0xF], acc) + MOV (acc, 0x75) + MOV (notes[0x8], acc) + MOV (notes[0xD], acc) + MOV (acc, 0x8c) + MOV (notes[0x9], acc) + MOV (notes[0xC], acc) + for(;;) { MOV (acc, i2)// "mov mem,mem" MOV (n, acc)// does not exist