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:
23
src/dma.c
23
src/dma.c
@@ -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)
|
||||
{
|
||||
|
@@ -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
@@ -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 },
|
||||
|
Reference in New Issue
Block a user