JASTrackPort, JASSeqCtrl.h, JASSeqParser (#1904)

* JASTrackPort OK

* JASSeqCtrl.h

* JASSeqParser

* progress

* Move JSU inlines
This commit is contained in:
Jcw87
2023-09-01 11:55:46 +03:00
committed by GitHub
parent 6c4509ceed
commit 2d45b68231
73 changed files with 1354 additions and 3360 deletions
+129 -65
View File
@@ -153,71 +153,135 @@ void JASCalc::bzero(void *dest, u32 size) {
/* ############################################################################################## */
/* 8039ABB8-8039AFB8 027218 0400+00 0/0 4/4 0/0 .rodata CUTOFF_TO_IIR_TABLE__7JASCalc */
SECTION_RODATA u8 const JASCalc::CUTOFF_TO_IIR_TABLE[1024] = {
0x0F, 0x5C, 0x0A, 0x3D, 0x46, 0x65, 0x1E, 0x73, 0x0F, 0x5E, 0x0A, 0x3D, 0x46, 0x64, 0x1E, 0x73,
0x0F, 0x63, 0x0A, 0x3C, 0x46, 0x61, 0x1E, 0x71, 0x0F, 0x6C, 0x0A, 0x3C, 0x46, 0x5B, 0x1E, 0x6F,
0x0F, 0x79, 0x0A, 0x3A, 0x46, 0x53, 0x1E, 0x6B, 0x0F, 0x89, 0x0A, 0x39, 0x46, 0x49, 0x1E, 0x67,
0x0F, 0x9C, 0x0A, 0x37, 0x46, 0x3D, 0x1E, 0x62, 0x0F, 0xB4, 0x0A, 0x35, 0x46, 0x2E, 0x1E, 0x5B,
0x0F, 0xCE, 0x0A, 0x33, 0x46, 0x1D, 0x1E, 0x54, 0x0F, 0xED, 0x0A, 0x30, 0x46, 0x0A, 0x1E, 0x4C,
0x10, 0x0F, 0x0A, 0x2D, 0x45, 0xF5, 0x1E, 0x43, 0x10, 0x34, 0x0A, 0x29, 0x45, 0xDE, 0x1E, 0x39,
0x10, 0x5D, 0x0A, 0x26, 0x45, 0xC4, 0x1E, 0x2D, 0x10, 0x8A, 0x0A, 0x22, 0x45, 0xA8, 0x1E, 0x21,
0x10, 0xBA, 0x0A, 0x1D, 0x45, 0x8A, 0x1E, 0x14, 0x10, 0xEE, 0x0A, 0x18, 0x45, 0x6A, 0x1E, 0x06,
0x11, 0x26, 0x0A, 0x13, 0x45, 0x47, 0x1D, 0xF7, 0x11, 0x61, 0x0A, 0x0E, 0x45, 0x22, 0x1D, 0xE7,
0x11, 0x9F, 0x0A, 0x08, 0x44, 0xFB, 0x1D, 0xD6, 0x11, 0xE1, 0x0A, 0x02, 0x44, 0xD2, 0x1D, 0xC5,
0x12, 0x27, 0x09, 0xFC, 0x44, 0xA6, 0x1D, 0xB2, 0x12, 0x70, 0x09, 0xF5, 0x44, 0x78, 0x1D, 0x9E,
0x12, 0xBD, 0x09, 0xEE, 0x44, 0x48, 0x1D, 0x89, 0x13, 0x0E, 0x09, 0xE7, 0x44, 0x16, 0x1D, 0x73,
0x13, 0x62, 0x09, 0xDF, 0x43, 0xE1, 0x1D, 0x5D, 0x13, 0xB9, 0x09, 0xD7, 0x43, 0xAB, 0x1D, 0x45,
0x14, 0x15, 0x09, 0xCF, 0x43, 0x72, 0x1D, 0x2C, 0x14, 0x73, 0x09, 0xC7, 0x43, 0x36, 0x1D, 0x13,
0x14, 0xD6, 0x09, 0xBE, 0x42, 0xF9, 0x1C, 0xF8, 0x15, 0x3C, 0x09, 0xB4, 0x42, 0xB9, 0x1C, 0xDD,
0x15, 0xA5, 0x09, 0xAB, 0x42, 0x77, 0x1C, 0xC0, 0x16, 0x12, 0x09, 0xA1, 0x42, 0x33, 0x1C, 0xA3,
0x16, 0x83, 0x09, 0x97, 0x41, 0xED, 0x1C, 0x84, 0x16, 0xF7, 0x09, 0x8C, 0x41, 0xA4, 0x1C, 0x65,
0x17, 0x6F, 0x09, 0x81, 0x41, 0x59, 0x1C, 0x44, 0x17, 0xEA, 0x09, 0x76, 0x41, 0x0C, 0x1C, 0x23,
0x18, 0x69, 0x09, 0x6A, 0x40, 0xBD, 0x1C, 0x01, 0x18, 0xEB, 0x09, 0x5F, 0x40, 0x6B, 0x1B, 0xDD,
0x19, 0x72, 0x09, 0x52, 0x40, 0x18, 0x1B, 0xB9, 0x19, 0xFB, 0x09, 0x46, 0x3F, 0xC2, 0x1B, 0x94,
0x1A, 0x88, 0x09, 0x39, 0x3F, 0x69, 0x1B, 0x6E, 0x1B, 0x19, 0x09, 0x2C, 0x3F, 0x0F, 0x1B, 0x47,
0x1B, 0xAE, 0x09, 0x1E, 0x3E, 0xB2, 0x1B, 0x1E, 0x1C, 0x46, 0x09, 0x11, 0x3E, 0x53, 0x1A, 0xF5,
0x1C, 0xE1, 0x09, 0x02, 0x3D, 0xF2, 0x1A, 0xCB, 0x1D, 0x80, 0x08, 0xF4, 0x3D, 0x8E, 0x1A, 0xA0,
0x1E, 0x23, 0x08, 0xE5, 0x3D, 0x29, 0x1A, 0x74, 0x1E, 0xC9, 0x08, 0xD6, 0x3C, 0xC1, 0x1A, 0x47,
0x1F, 0x73, 0x08, 0xC7, 0x3C, 0x57, 0x1A, 0x19, 0x20, 0x20, 0x08, 0xB7, 0x3B, 0xEA, 0x19, 0xEB,
0x20, 0xD1, 0x08, 0xA7, 0x3B, 0x7C, 0x19, 0xBB, 0x21, 0x86, 0x08, 0x96, 0x3B, 0x0B, 0x19, 0x8A,
0x22, 0x3E, 0x08, 0x86, 0x3A, 0x98, 0x19, 0x58, 0x22, 0xFA, 0x08, 0x75, 0x3A, 0x22, 0x19, 0x25,
0x23, 0xB9, 0x08, 0x63, 0x39, 0xAB, 0x18, 0xF2, 0x24, 0x7C, 0x08, 0x51, 0x39, 0x31, 0x18, 0xBD,
0x25, 0x42, 0x08, 0x3F, 0x38, 0xB5, 0x18, 0x87, 0x26, 0x0C, 0x08, 0x2D, 0x38, 0x37, 0x18, 0x51,
0x26, 0xDA, 0x08, 0x1A, 0x37, 0xB6, 0x18, 0x19, 0x27, 0xAB, 0x08, 0x07, 0x37, 0x34, 0x17, 0xE1,
0x28, 0x80, 0x07, 0xF4, 0x36, 0xAF, 0x17, 0xA7, 0x29, 0x58, 0x07, 0xE0, 0x36, 0x28, 0x17, 0x6D,
0x2A, 0x34, 0x07, 0xCC, 0x35, 0x9E, 0x17, 0x31, 0x2B, 0x14, 0x07, 0xB8, 0x35, 0x12, 0x16, 0xF5,
0x2B, 0xF7, 0x07, 0xA3, 0x34, 0x85, 0x16, 0xB7, 0x2C, 0xDD, 0x07, 0x8E, 0x33, 0xF4, 0x16, 0x79,
0x2D, 0xC8, 0x07, 0x79, 0x33, 0x62, 0x16, 0x3A, 0x2E, 0xB5, 0x07, 0x64, 0x32, 0xCD, 0x15, 0xFA,
0x2F, 0xA7, 0x07, 0x4E, 0x32, 0x37, 0x15, 0xB8, 0x30, 0x9C, 0x07, 0x37, 0x31, 0x9E, 0x15, 0x76,
0x31, 0x94, 0x07, 0x21, 0x31, 0x02, 0x15, 0x33, 0x32, 0x90, 0x07, 0x0A, 0x30, 0x65, 0x14, 0xEF,
0x33, 0x90, 0x06, 0xF3, 0x2F, 0xC5, 0x14, 0xAA, 0x34, 0x93, 0x06, 0xDB, 0x2F, 0x23, 0x14, 0x64,
0x35, 0x9A, 0x06, 0xC3, 0x2E, 0x7F, 0x14, 0x1C, 0x36, 0xA4, 0x06, 0xAB, 0x2D, 0xD8, 0x13, 0xD4,
0x37, 0xB2, 0x06, 0x92, 0x2D, 0x2F, 0x13, 0x8C, 0x38, 0xC4, 0x06, 0x7A, 0x2C, 0x85, 0x13, 0x42,
0x39, 0xD9, 0x06, 0x60, 0x2B, 0xD7, 0x12, 0xF7, 0x3A, 0xF1, 0x06, 0x47, 0x2B, 0x28, 0x12, 0xAB,
0x3C, 0x0E, 0x06, 0x2D, 0x2A, 0x76, 0x12, 0x5E, 0x3D, 0x2E, 0x06, 0x13, 0x29, 0xC2, 0x12, 0x10,
0x3E, 0x51, 0x05, 0xF8, 0x29, 0x0C, 0x11, 0xC1, 0x3F, 0x78, 0x05, 0xDE, 0x28, 0x54, 0x11, 0x72,
0x40, 0xA3, 0x05, 0xC2, 0x27, 0x99, 0x11, 0x21, 0x41, 0xD1, 0x05, 0xA7, 0x26, 0xDC, 0x10, 0xCF,
0x43, 0x02, 0x05, 0x8B, 0x26, 0x1D, 0x10, 0x7D, 0x44, 0x38, 0x05, 0x6F, 0x25, 0x5C, 0x10, 0x29,
0x45, 0x71, 0x05, 0x53, 0x24, 0x99, 0x0F, 0xD4, 0x46, 0xAD, 0x05, 0x36, 0x23, 0xD3, 0x0F, 0x7F,
0x47, 0xED, 0x05, 0x19, 0x23, 0x0B, 0x0F, 0x28, 0x49, 0x31, 0x04, 0xFB, 0x22, 0x41, 0x0E, 0xD1,
0x4A, 0x78, 0x04, 0xDE, 0x21, 0x74, 0x0E, 0x78, 0x4B, 0xC2, 0x04, 0xC0, 0x20, 0xA5, 0x0E, 0x1F,
0x4D, 0x11, 0x04, 0xA1, 0x1F, 0xD4, 0x0D, 0xC5, 0x4E, 0x63, 0x04, 0x82, 0x1F, 0x01, 0x0D, 0x69,
0x4F, 0xB8, 0x04, 0x63, 0x1E, 0x2C, 0x0D, 0x0D, 0x51, 0x11, 0x04, 0x44, 0x1D, 0x54, 0x0C, 0xB0,
0x52, 0x6E, 0x04, 0x24, 0x1C, 0x7A, 0x0C, 0x51, 0x53, 0xCE, 0x04, 0x04, 0x1B, 0x9E, 0x0B, 0xF2,
0x55, 0x32, 0x03, 0xE4, 0x1A, 0xC0, 0x0B, 0x92, 0x56, 0x99, 0x03, 0xC3, 0x19, 0xDF, 0x0B, 0x31,
0x58, 0x04, 0x03, 0xA2, 0x18, 0xFD, 0x0A, 0xCF, 0x59, 0x72, 0x03, 0x81, 0x18, 0x18, 0x0A, 0x6C,
0x5A, 0xE5, 0x03, 0x5F, 0x17, 0x30, 0x0A, 0x08, 0x5C, 0x5A, 0x03, 0x3D, 0x16, 0x47, 0x09, 0xA3,
0x5D, 0xD3, 0x03, 0x1B, 0x15, 0x5B, 0x09, 0x3D, 0x5F, 0x50, 0x02, 0xF9, 0x14, 0x6D, 0x08, 0xD6,
0x60, 0xD1, 0x02, 0xD6, 0x13, 0x7D, 0x08, 0x6E, 0x62, 0x55, 0x02, 0xB2, 0x12, 0x8A, 0x08, 0x05,
0x63, 0xDC, 0x02, 0x8F, 0x11, 0x96, 0x07, 0x9B, 0x65, 0x67, 0x02, 0x6B, 0x10, 0x9F, 0x07, 0x30,
0x66, 0xF6, 0x02, 0x47, 0x0F, 0xA6, 0x06, 0xC5, 0x68, 0x88, 0x02, 0x22, 0x0E, 0xAA, 0x06, 0x58,
0x6A, 0x1E, 0x01, 0xFD, 0x0D, 0xAD, 0x05, 0xEA, 0x6B, 0xB7, 0x01, 0xD8, 0x0C, 0xAD, 0x05, 0x7B,
0x6D, 0x54, 0x01, 0xB2, 0x0B, 0xAB, 0x05, 0x0C, 0x6E, 0xF5, 0x01, 0x8D, 0x0A, 0xA6, 0x04, 0x9B,
0x70, 0x99, 0x01, 0x66, 0x09, 0xA0, 0x04, 0x2A, 0x72, 0x41, 0x01, 0x40, 0x08, 0x97, 0x03, 0xB7,
0x73, 0xEC, 0x01, 0x19, 0x07, 0x8C, 0x03, 0x44, 0x75, 0x9B, 0x00, 0xF2, 0x06, 0x7F, 0x02, 0xCF,
0x77, 0x4D, 0x00, 0xCA, 0x05, 0x6F, 0x02, 0x5A, 0x79, 0x03, 0x00, 0xA3, 0x04, 0x5D, 0x01, 0xE3,
0x7A, 0xBD, 0x00, 0x7A, 0x03, 0x49, 0x01, 0x6C, 0x7C, 0x7A, 0x00, 0x52, 0x02, 0x33, 0x00, 0xF4,
0x7E, 0x3B, 0x00, 0x29, 0x01, 0x1B, 0x00, 0x7A, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
SECTION_RODATA s16 const JASCalc::CUTOFF_TO_IIR_TABLE[128][4] = {
0x0F5C, 0x0A3D, 0x4665, 0x1E73,
0x0F5E, 0x0A3D, 0x4664, 0x1E73,
0x0F63, 0x0A3C, 0x4661, 0x1E71,
0x0F6C, 0x0A3C, 0x465B, 0x1E6F,
0x0F79, 0x0A3A, 0x4653, 0x1E6B,
0x0F89, 0x0A39, 0x4649, 0x1E67,
0x0F9C, 0x0A37, 0x463D, 0x1E62,
0x0FB4, 0x0A35, 0x462E, 0x1E5B,
0x0FCE, 0x0A33, 0x461D, 0x1E54,
0x0FED, 0x0A30, 0x460A, 0x1E4C,
0x100F, 0x0A2D, 0x45F5, 0x1E43,
0x1034, 0x0A29, 0x45DE, 0x1E39,
0x105D, 0x0A26, 0x45C4, 0x1E2D,
0x108A, 0x0A22, 0x45A8, 0x1E21,
0x10BA, 0x0A1D, 0x458A, 0x1E14,
0x10EE, 0x0A18, 0x456A, 0x1E06,
0x1126, 0x0A13, 0x4547, 0x1DF7,
0x1161, 0x0A0E, 0x4522, 0x1DE7,
0x119F, 0x0A08, 0x44FB, 0x1DD6,
0x11E1, 0x0A02, 0x44D2, 0x1DC5,
0x1227, 0x09FC, 0x44A6, 0x1DB2,
0x1270, 0x09F5, 0x4478, 0x1D9E,
0x12BD, 0x09EE, 0x4448, 0x1D89,
0x130E, 0x09E7, 0x4416, 0x1D73,
0x1362, 0x09DF, 0x43E1, 0x1D5D,
0x13B9, 0x09D7, 0x43AB, 0x1D45,
0x1415, 0x09CF, 0x4372, 0x1D2C,
0x1473, 0x09C7, 0x4336, 0x1D13,
0x14D6, 0x09BE, 0x42F9, 0x1CF8,
0x153C, 0x09B4, 0x42B9, 0x1CDD,
0x15A5, 0x09AB, 0x4277, 0x1CC0,
0x1612, 0x09A1, 0x4233, 0x1CA3,
0x1683, 0x0997, 0x41ED, 0x1C84,
0x16F7, 0x098C, 0x41A4, 0x1C65,
0x176F, 0x0981, 0x4159, 0x1C44,
0x17EA, 0x0976, 0x410C, 0x1C23,
0x1869, 0x096A, 0x40BD, 0x1C01,
0x18EB, 0x095F, 0x406B, 0x1BDD,
0x1972, 0x0952, 0x4018, 0x1BB9,
0x19FB, 0x0946, 0x3FC2, 0x1B94,
0x1A88, 0x0939, 0x3F69, 0x1B6E,
0x1B19, 0x092C, 0x3F0F, 0x1B47,
0x1BAE, 0x091E, 0x3EB2, 0x1B1E,
0x1C46, 0x0911, 0x3E53, 0x1AF5,
0x1CE1, 0x0902, 0x3DF2, 0x1ACB,
0x1D80, 0x08F4, 0x3D8E, 0x1AA0,
0x1E23, 0x08E5, 0x3D29, 0x1A74,
0x1EC9, 0x08D6, 0x3CC1, 0x1A47,
0x1F73, 0x08C7, 0x3C57, 0x1A19,
0x2020, 0x08B7, 0x3BEA, 0x19EB,
0x20D1, 0x08A7, 0x3B7C, 0x19BB,
0x2186, 0x0896, 0x3B0B, 0x198A,
0x223E, 0x0886, 0x3A98, 0x1958,
0x22FA, 0x0875, 0x3A22, 0x1925,
0x23B9, 0x0863, 0x39AB, 0x18F2,
0x247C, 0x0851, 0x3931, 0x18BD,
0x2542, 0x083F, 0x38B5, 0x1887,
0x260C, 0x082D, 0x3837, 0x1851,
0x26DA, 0x081A, 0x37B6, 0x1819,
0x27AB, 0x0807, 0x3734, 0x17E1,
0x2880, 0x07F4, 0x36AF, 0x17A7,
0x2958, 0x07E0, 0x3628, 0x176D,
0x2A34, 0x07CC, 0x359E, 0x1731,
0x2B14, 0x07B8, 0x3512, 0x16F5,
0x2BF7, 0x07A3, 0x3485, 0x16B7,
0x2CDD, 0x078E, 0x33F4, 0x1679,
0x2DC8, 0x0779, 0x3362, 0x163A,
0x2EB5, 0x0764, 0x32CD, 0x15FA,
0x2FA7, 0x074E, 0x3237, 0x15B8,
0x309C, 0x0737, 0x319E, 0x1576,
0x3194, 0x0721, 0x3102, 0x1533,
0x3290, 0x070A, 0x3065, 0x14EF,
0x3390, 0x06F3, 0x2FC5, 0x14AA,
0x3493, 0x06DB, 0x2F23, 0x1464,
0x359A, 0x06C3, 0x2E7F, 0x141C,
0x36A4, 0x06AB, 0x2DD8, 0x13D4,
0x37B2, 0x0692, 0x2D2F, 0x138C,
0x38C4, 0x067A, 0x2C85, 0x1342,
0x39D9, 0x0660, 0x2BD7, 0x12F7,
0x3AF1, 0x0647, 0x2B28, 0x12AB,
0x3C0E, 0x062D, 0x2A76, 0x125E,
0x3D2E, 0x0613, 0x29C2, 0x1210,
0x3E51, 0x05F8, 0x290C, 0x11C1,
0x3F78, 0x05DE, 0x2854, 0x1172,
0x40A3, 0x05C2, 0x2799, 0x1121,
0x41D1, 0x05A7, 0x26DC, 0x10CF,
0x4302, 0x058B, 0x261D, 0x107D,
0x4438, 0x056F, 0x255C, 0x1029,
0x4571, 0x0553, 0x2499, 0x0FD4,
0x46AD, 0x0536, 0x23D3, 0x0F7F,
0x47ED, 0x0519, 0x230B, 0x0F28,
0x4931, 0x04FB, 0x2241, 0x0ED1,
0x4A78, 0x04DE, 0x2174, 0x0E78,
0x4BC2, 0x04C0, 0x20A5, 0x0E1F,
0x4D11, 0x04A1, 0x1FD4, 0x0DC5,
0x4E63, 0x0482, 0x1F01, 0x0D69,
0x4FB8, 0x0463, 0x1E2C, 0x0D0D,
0x5111, 0x0444, 0x1D54, 0x0CB0,
0x526E, 0x0424, 0x1C7A, 0x0C51,
0x53CE, 0x0404, 0x1B9E, 0x0BF2,
0x5532, 0x03E4, 0x1AC0, 0x0B92,
0x5699, 0x03C3, 0x19DF, 0x0B31,
0x5804, 0x03A2, 0x18FD, 0x0ACF,
0x5972, 0x0381, 0x1818, 0x0A6C,
0x5AE5, 0x035F, 0x1730, 0x0A08,
0x5C5A, 0x033D, 0x1647, 0x09A3,
0x5DD3, 0x031B, 0x155B, 0x093D,
0x5F50, 0x02F9, 0x146D, 0x08D6,
0x60D1, 0x02D6, 0x137D, 0x086E,
0x6255, 0x02B2, 0x128A, 0x0805,
0x63DC, 0x028F, 0x1196, 0x079B,
0x6567, 0x026B, 0x109F, 0x0730,
0x66F6, 0x0247, 0x0FA6, 0x06C5,
0x6888, 0x0222, 0x0EAA, 0x0658,
0x6A1E, 0x01FD, 0x0DAD, 0x05EA,
0x6BB7, 0x01D8, 0x0CAD, 0x057B,
0x6D54, 0x01B2, 0x0BAB, 0x050C,
0x6EF5, 0x018D, 0x0AA6, 0x049B,
0x7099, 0x0166, 0x09A0, 0x042A,
0x7241, 0x0140, 0x0897, 0x03B7,
0x73EC, 0x0119, 0x078C, 0x0344,
0x759B, 0x00F2, 0x067F, 0x02CF,
0x774D, 0x00CA, 0x056F, 0x025A,
0x7903, 0x00A3, 0x045D, 0x01E3,
0x7ABD, 0x007A, 0x0349, 0x016C,
0x7C7A, 0x0052, 0x0233, 0x00F4,
0x7E3B, 0x0029, 0x011B, 0x007A,
0x7FFF, 0x0000, 0x0000, 0x0000,
};
COMPILER_STRIP_GATE(0x8039ABB8, &JASCalc::CUTOFF_TO_IIR_TABLE);
+1 -73
View File
@@ -4,81 +4,9 @@
//
#include "JSystem/JAudio2/JASSeqCtrl.h"
#include "JSystem/JAudio2/JASSeqReader.h"
#include "JSystem/JAudio2/JASSeqParser.h"
#include "JSystem/JAudio2/JASTrack.h"
//
// Types:
//
// TODO: Use JASSeqParser.hh when possible
struct JASSeqParser {
/* 80293CAC */ inline virtual ~JASSeqParser() {}
/* 802958D4 */ virtual int parse(JASTrack*);
/* 80295540 */ virtual void execNoteOnMidi(JASTrack*, u32, u32, u32);
/* 80295498 */ virtual void execNoteOnGate(JASTrack*, u32, u32, u32, u32);
/* 80295570 */ virtual void execNoteOff(JASTrack*, u32);
/* 8029559C */ virtual void execCommand(JASTrack*, s32 (JASSeqParser::*)(JASTrack*, u32*), u32, u32*);
static u8 sCmdInfo[1536];
static u8 sExtCmdInfo[4080];
static u8 sCallBackFunc[4];
};
struct JASSeqCtrl {
enum IntrType {
INTRTYPE_VALUE_0,
INTRTYPE_VALUE_1,
INTRTYPE_VALUE_2,
INTRTYPE_VALUE_3,
INTRTYPE_VALUE_4,
INTRTYPE_VALUE_5,
INTRTYPE_VALUE_6,
};
/* 802938BC */ JASSeqCtrl();
/* 80293924 */ void init();
/* 80293980 */ void start(void*, u32);
/* 802939C4 */ int tickProc(JASTrack*);
/* 80293ABC */ void interrupt(JASSeqCtrl::IntrType);
/* 80293AE0 */ void setIntrMask(u32);
/* 80293AF0 */ void clrIntrMask(u32);
/* 80293B00 */ int retIntr();
/* 80293B28 */ int findIntr();
/* 80293B78 */ void checkIntr();
/* 80293BE8 */ void timerProcess();
u32 get24(int param_0) {
return mReader.get24(param_0);
}
/* 0x00 */ JASSeqReader mReader;
/* 0x3c */ JASSeqParser* field_0x3c;
/* 0x40 */ s32 field_0x40;
/* 0x44 */ void* field_0x44;
/* 0x48 */ u32 field_0x48;
/* 0x4c */ u16 field_0x4c;
/* 0x4e */ u16 field_0x4e;
/* 0x50 */ u8 field_0x50;
/* 0x51 */ u8 field_0x51;
/* 0x52 */ u16 field_0x52;
/* 0x54 */ u32 field_0x54;
/* 0x58 */ u32 field_0x58;
static JASSeqParser sDefaultParser;
};
//
// Forward References:
//
//
// External References:
//
//
// Declarations:
//
/* ############################################################################################## */
/* 80451238-80451240 000738 0004+04 3/3 0/0 0/0 .sbss sDefaultParser__10JASSeqCtrl */
JASSeqParser JASSeqCtrl::sDefaultParser;
File diff suppressed because it is too large Load Diff
+6 -29
View File
@@ -23,29 +23,6 @@ struct TNodeLinkList {
}; // namespace JGadget
struct JASTrackPort {
/* 8029354C */ void init();
/* 8029357C */ void readImport(u32);
/* 802935A0 */ void readExport(u32);
/* 802935C4 */ void writeImport(u32, u16);
/* 802935E8 */ void writeExport(u32, u16);
};
struct JASSeqCtrl {
struct IntrType {};
/* 802938BC */ JASSeqCtrl();
/* 80293924 */ void init();
/* 80293980 */ void start(void*, u32);
/* 802939C4 */ void tickProc(JASTrack*);
/* 80293ABC */ void interrupt(JASSeqCtrl::IntrType);
};
struct JASRegisterParam {
/* 80293644 */ JASRegisterParam();
/* 80293664 */ void init();
};
template <typename A0>
struct JASMemPool_MultiThreaded {};
/* JASMemPool_MultiThreaded<JASTrack> */
@@ -442,7 +419,7 @@ asm void JASTrack::closeChild(u32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrack::openChild(u32 param_0) {
asm JASTrack* JASTrack::openChild(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrack/openChild__8JASTrackFUl.s"
}
@@ -484,7 +461,7 @@ asm void JASTrack::channelStart(JASTrack::TChannelMgr* param_0, u32 param_1, u32
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrack::noteOn(u32 param_0, u32 param_1, u32 param_2) {
asm int JASTrack::noteOn(u32 param_0, u32 param_1, u32 param_2) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrack/noteOn__8JASTrackFUlUlUl.s"
}
@@ -501,7 +478,7 @@ SECTION_SDATA2 static f64 lit_954 = 4503599627370496.0 /* cast u32 to float */;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrack::gateOn(u32 param_0, u32 param_1, f32 param_2, u32 param_3) {
asm int JASTrack::gateOn(u32 param_0, u32 param_1, f32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrack/gateOn__8JASTrackFUlUlfUl.s"
}
@@ -511,7 +488,7 @@ asm void JASTrack::gateOn(u32 param_0, u32 param_1, f32 param_2, u32 param_3) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrack::noteOff(u32 param_0, u16 param_1) {
asm int JASTrack::noteOff(u32 param_0, u16 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrack/noteOff__8JASTrackFUlUs.s"
}
@@ -694,7 +671,7 @@ asm void JASTrack::setIIR(s16 const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrack::readPortSelf(u32 param_0) {
asm u16 JASTrack::readPortSelf(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrack/readPortSelf__8JASTrackFUl.s"
}
@@ -724,7 +701,7 @@ asm void JASTrack::writePort(u32 param_0, u16 param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrack::readPort(u32 param_0) {
asm u16 JASTrack::readPort(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrack/readPort__8JASTrackFUl.s"
}
+22 -84
View File
@@ -4,108 +4,46 @@
//
#include "JSystem/JAudio2/JASTrackPort.h"
#include "dolphin/types.h"
//
// Types:
//
struct JASTrackPort {
/* 8029354C */ void init();
/* 8029357C */ void readImport(u32);
/* 802935A0 */ void readExport(u32);
/* 802935C4 */ void writeImport(u32, u16);
/* 802935E8 */ void writeExport(u32, u16);
/* 8029360C */ void checkImport(u32) const;
/* 80293628 */ void checkExport(u32) const;
};
//
// Forward References:
//
extern "C" void init__12JASTrackPortFv();
extern "C" void readImport__12JASTrackPortFUl();
extern "C" void readExport__12JASTrackPortFUl();
extern "C" void writeImport__12JASTrackPortFUlUs();
extern "C" void writeExport__12JASTrackPortFUlUs();
extern "C" void checkImport__12JASTrackPortCFUl();
extern "C" void checkExport__12JASTrackPortCFUl();
//
// External References:
//
//
// Declarations:
//
/* 8029354C-8029357C 28DE8C 0030+00 0/0 1/1 0/0 .text init__12JASTrackPortFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrackPort::init() {
nofralloc
#include "asm/JSystem/JAudio2/JASTrackPort/init__12JASTrackPortFv.s"
void JASTrackPort::init() {
for (int i = 0; i < 16; i++) {
field_0x4[i] = 0;
}
field_0x0 = 0;
field_0x2 = 0;
}
#pragma pop
/* 8029357C-802935A0 28DEBC 0024+00 0/0 1/1 0/0 .text readImport__12JASTrackPortFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrackPort::readImport(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrackPort/readImport__12JASTrackPortFUl.s"
u16 JASTrackPort::readImport(u32 port_num) {
field_0x0 = field_0x0 & ~(1 << port_num);
return field_0x4[port_num];
}
#pragma pop
/* 802935A0-802935C4 28DEE0 0024+00 0/0 1/1 0/0 .text readExport__12JASTrackPortFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrackPort::readExport(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrackPort/readExport__12JASTrackPortFUl.s"
u16 JASTrackPort::readExport(u32 port_num) {
field_0x2 = field_0x2 & ~(1 << port_num);
return field_0x4[port_num];
}
#pragma pop
/* 802935C4-802935E8 28DF04 0024+00 0/0 1/1 0/0 .text writeImport__12JASTrackPortFUlUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrackPort::writeImport(u32 param_0, u16 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrackPort/writeImport__12JASTrackPortFUlUs.s"
void JASTrackPort::writeImport(u32 port_num, u16 param_1) {
field_0x0 = field_0x0 | (1 << port_num);
field_0x4[port_num] = param_1;
}
#pragma pop
/* 802935E8-8029360C 28DF28 0024+00 0/0 1/1 0/0 .text writeExport__12JASTrackPortFUlUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrackPort::writeExport(u32 param_0, u16 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASTrackPort/writeExport__12JASTrackPortFUlUs.s"
void JASTrackPort::writeExport(u32 port_num, u16 param_1) {
field_0x2 = field_0x2 | (1 << port_num);
field_0x4[port_num] = param_1;
}
#pragma pop
/* 8029360C-80293628 28DF4C 001C+00 0/0 1/1 0/0 .text checkImport__12JASTrackPortCFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrackPort::checkImport(u32 param_0) const {
nofralloc
#include "asm/JSystem/JAudio2/JASTrackPort/checkImport__12JASTrackPortCFUl.s"
u32 JASTrackPort::checkImport(u32 param_0) const {
return field_0x0 & 1 << param_0 ? 1 : 0;
}
#pragma pop
/* 80293628-80293644 28DF68 001C+00 0/0 1/1 0/0 .text checkExport__12JASTrackPortCFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASTrackPort::checkExport(u32 param_0) const {
nofralloc
#include "asm/JSystem/JAudio2/JASTrackPort/checkExport__12JASTrackPortCFUl.s"
u32 JASTrackPort::checkExport(u32 param_0) const {
return field_0x2 & 1 << param_0 ? 1 : 0;
}
#pragma pop