Path: blob/master/libsnes/bsnes/snes/chip/hitachidsp/registers.cpp
2 views
#ifdef HITACHIDSP_CPP12unsigned HitachiDSP::reg_read(unsigned n) const {3switch(n) {4case 0x00: return regs.a;5case 0x01: return regs.acch;6case 0x02: return regs.accl;7case 0x03: return regs.busdata;8case 0x08: return regs.romdata;9case 0x0c: return regs.ramdata;10case 0x13: return regs.busaddr;11case 0x1c: return regs.ramaddr;12case 0x50: return 0x000000;13case 0x51: return 0xffffff;14case 0x52: return 0x00ff00;15case 0x53: return 0xff0000;16case 0x54: return 0x00ffff;17case 0x55: return 0xffff00;18case 0x56: return 0x800000;19case 0x57: return 0x7fffff;20case 0x58: return 0x008000;21case 0x59: return 0x007fff;22case 0x5a: return 0xff7fff;23case 0x5b: return 0xffff7f;24case 0x5c: return 0x010000;25case 0x5d: return 0xfeffff;26case 0x5e: return 0x000100;27case 0x5f: return 0x00feff;28case 0x60: return regs.gpr[ 0];29case 0x61: return regs.gpr[ 1];30case 0x62: return regs.gpr[ 2];31case 0x63: return regs.gpr[ 3];32case 0x64: return regs.gpr[ 4];33case 0x65: return regs.gpr[ 5];34case 0x66: return regs.gpr[ 6];35case 0x67: return regs.gpr[ 7];36case 0x68: return regs.gpr[ 8];37case 0x69: return regs.gpr[ 9];38case 0x6a: return regs.gpr[10];39case 0x6b: return regs.gpr[11];40case 0x6c: return regs.gpr[12];41case 0x6d: return regs.gpr[13];42case 0x6e: return regs.gpr[14];43case 0x6f: return regs.gpr[15];44}45return 0x000000;46}4748void HitachiDSP::reg_write(unsigned n, unsigned data) {49switch(n) {50case 0x00: regs.a = data; return;51case 0x01: regs.acch = data; return;52case 0x02: regs.accl = data; return;53case 0x03: regs.busdata = data; return;54case 0x08: regs.romdata = data; return;55case 0x0c: regs.ramdata = data; return;56case 0x13: regs.busaddr = data; return;57case 0x1c: regs.ramaddr = data; return;58case 0x60: regs.gpr[ 0] = data; return;59case 0x61: regs.gpr[ 1] = data; return;60case 0x62: regs.gpr[ 2] = data; return;61case 0x63: regs.gpr[ 3] = data; return;62case 0x64: regs.gpr[ 4] = data; return;63case 0x65: regs.gpr[ 5] = data; return;64case 0x66: regs.gpr[ 6] = data; return;65case 0x67: regs.gpr[ 7] = data; return;66case 0x68: regs.gpr[ 8] = data; return;67case 0x69: regs.gpr[ 9] = data; return;68case 0x6a: regs.gpr[10] = data; return;69case 0x6b: regs.gpr[11] = data; return;70case 0x6c: regs.gpr[12] = data; return;71case 0x6d: regs.gpr[13] = data; return;72case 0x6e: regs.gpr[14] = data; return;73case 0x6f: regs.gpr[15] = data; return;74}75}7677#endif787980