Significantly reworked the Pro Audio Spectrum 16 and implemented a lot of missing stuff, and added the Pro Audio Spectrum Plus.

This commit is contained in:
OBattler
2024-03-27 23:56:55 +01:00
parent 7f4e8caefa
commit d290de418d
4 changed files with 737 additions and 364 deletions

View File

@@ -1397,6 +1397,29 @@ dma_advance(dma_t *dma_c)
dma_c->ac = ((dma_c->ac & 0xffff0000) & dma_mask) | ((dma_c->ac + as) & 0xffff);
}
int
dma_channel_readable(int channel)
{
dma_t *dma_c = &dma[channel];
if (channel < 4) {
if (dma_command[0] & 0x04)
return 0;
} else {
if (dma_command[1] & 0x04)
return 0;
}
if (!(dma_e & (1 << channel)))
return 0;
if ((dma_m & (1 << channel)) && !dma_req_is_soft)
return 0;
if ((dma_c->mode & 0xC) != 8)
return 0;
return 1;
}
int
dma_channel_read(int channel)
{

View File

@@ -118,4 +118,6 @@ void dma_high_page_init(void);
void dma_remove_sg(void);
void dma_set_sg_base(uint8_t sg_base);
extern int dma_channel_readable(int channel);
#endif /*EMU_DMA_H*/

File diff suppressed because it is too large Load Diff

View File

@@ -149,6 +149,7 @@ static const SOUND_CARD sound_cards[] = {
{ &sb_vibra16s_device },
{ &sb_vibra16xv_device },
{ &ssi2001_device },
{ &pasplus_device },
{ &pas16_device },
{ &pssj_isa_device },
{ &tndy_device },