mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-12-22 09:30:15 +00:00
96bbc0c435
New class for SSI263 (2 instances per MB/Phasor card) - support 2nd SSI263 at $Cn20 connected to 6522-A (at $Cn00) Switch from one-shot phoneme playback to ring-buffer Use a new dedicated ring-buffer (distinct from the AY8910 ring buffer) Gets rid of: SSI263Thread, the 2 events, and the 64 voices Support the 2-bit Duration b7:6 of phoneme register for both SC01 & SSI263 (to fix #929) Updated save-state Updated IRQ logging (output cycle & 6522 source)
47 lines
1.6 KiB
C++
47 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include "Card.h"
|
|
|
|
enum PHASOR_MODE {PH_Mockingboard=0, PH_UNDEF1, PH_UNDEF2, PH_UNDEF3, PH_UNDEF4, PH_Phasor/*=5*/, PH_UNDEF6, PH_EchoPlus/*=7*/};
|
|
|
|
// IFR & IER:
|
|
#define IxR_SSI263 (1<<1)
|
|
#define IxR_VOTRAX (1<<4)
|
|
#define IxR_TIMER2 (1<<5)
|
|
#define IxR_TIMER1 (1<<6)
|
|
|
|
|
|
void MB_Initialize();
|
|
void MB_Reinitialize();
|
|
void MB_Destroy();
|
|
void MB_Reset(const bool powerCycle);
|
|
void MB_InitializeForLoadingSnapshot(void);
|
|
void MB_InitializeIO(LPBYTE pCxRomPeripheral, UINT uSlot4, UINT uSlot5);
|
|
void MB_Mute();
|
|
void MB_Unmute();
|
|
#ifdef _DEBUG
|
|
void MB_CheckCumulativeCycles(); // DEBUG
|
|
#endif
|
|
void MB_SetCumulativeCycles();
|
|
void MB_PeriodicUpdate(UINT executedCycles);
|
|
void MB_CheckIRQ();
|
|
void MB_UpdateCycles(ULONG uExecutedCycles);
|
|
SS_CARDTYPE MB_GetSoundcardType();
|
|
bool MB_IsActive();
|
|
DWORD MB_GetVolume();
|
|
void MB_SetVolume(DWORD dwVolume, DWORD dwVolumeMax);
|
|
void MB_Get6522IrqDescription(std::string& desc);
|
|
|
|
UINT64 MB_GetLastCumulativeCycles(void);
|
|
void MB_UpdateIFR(BYTE nDevice, BYTE clr_mask, BYTE set_mask);
|
|
BYTE MB_GetPCR(BYTE nDevice);
|
|
|
|
void MB_GetSnapshot_v1(struct SS_CARD_MOCKINGBOARD_v1* const pSS, const DWORD dwSlot); // For debugger
|
|
std::string MB_GetSnapshotCardName(void);
|
|
void MB_SaveSnapshot(class YamlSaveHelper& yamlSaveHelper, const UINT uSlot);
|
|
bool MB_LoadSnapshot(class YamlLoadHelper& yamlLoadHelper, UINT slot, UINT version);
|
|
|
|
std::string Phasor_GetSnapshotCardName(void);
|
|
void Phasor_SaveSnapshot(class YamlSaveHelper& yamlSaveHelper, const UINT uSlot);
|
|
bool Phasor_LoadSnapshot(class YamlLoadHelper& yamlLoadHelper, UINT slot, UINT version);
|