new version
authorTobias Girstmair <tobi@isticktoit.net>
Thu, 4 Mar 2021 15:43:05 +0000 (16:43 +0100)
committerTobias Girstmair <tobi@isticktoit.net>
Thu, 4 Mar 2021 15:43:07 +0000 (16:43 +0100)
notes mapping:
0x84=[0]=[5]
0x9d=[1]=[4]
0xb0=[2]=[A]
0x69=[3]=[6]=[B]=[E]
0x58=[7]=[F]
0x75=[8]=[D]
0x8c=[9]=[C]

bsv.c

diff --git a/bsv.c b/bsv.c
index 49185cb0dc8c517aacc2d07961507d334f2353da..a6863d4a8db3b6a4e47dbb80a61d6b55431d2039 100644 (file)
--- 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
Imprint / Impressum