static bool AudioOpen() { MSU1.MSU1_STATUS |= AudioError; AudioClose(); char ext[_MAX_EXT]; snprintf(ext, _MAX_EXT, "-%d.pcm", MSU1.MSU1_CURRENT_TRACK); audioStream = S9xMSU1OpenFile(ext); if (audioStream) { if (GETC_STREAM(audioStream) != 'M') return false; if (GETC_STREAM(audioStream) != 'S') return false; if (GETC_STREAM(audioStream) != 'U') return false; if (GETC_STREAM(audioStream) != '1') return false; READ_STREAM((char *)&audioLoopPos, 4, audioStream); audioLoopPos = GET_LE32(&audioLoopPos); audioLoopPos <<= 2; audioLoopPos += 8; MSU1.MSU1_AUDIO_POS = 8; MSU1.MSU1_STATUS &= ~AudioError; return true; } return false; }
uint8 S9xMSU1ReadPort(uint8 port) { switch (port) { case 0: return MSU1.MSU1_STATUS | MSU1_REVISION; case 1: { if (MSU1.MSU1_STATUS & DataBusy) return 0; if (!dataStream) return 0; int data = GETC_STREAM(dataStream); if (data >= 0) { MSU1.MSU1_DATA_POS++; return data; } return 0; } case 2: return 'S'; case 3: return '-'; case 4: return 'M'; case 5: return 'S'; case 6: return 'U'; case 7: return '1'; } return 0; }
int fReader::get_char(){ return GETC_STREAM(fp); }
int fReader::get_char (void) { return (GETC_STREAM(fp)); }