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);
|
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
|
int
|
||||||
dma_channel_read(int channel)
|
dma_channel_read(int channel)
|
||||||
{
|
{
|
||||||
|
@@ -118,4 +118,6 @@ void dma_high_page_init(void);
|
|||||||
void dma_remove_sg(void);
|
void dma_remove_sg(void);
|
||||||
void dma_set_sg_base(uint8_t sg_base);
|
void dma_set_sg_base(uint8_t sg_base);
|
||||||
|
|
||||||
|
extern int dma_channel_readable(int channel);
|
||||||
|
|
||||||
#endif /*EMU_DMA_H*/
|
#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_vibra16s_device },
|
||||||
{ &sb_vibra16xv_device },
|
{ &sb_vibra16xv_device },
|
||||||
{ &ssi2001_device },
|
{ &ssi2001_device },
|
||||||
|
{ &pasplus_device },
|
||||||
{ &pas16_device },
|
{ &pas16_device },
|
||||||
{ &pssj_isa_device },
|
{ &pssj_isa_device },
|
||||||
{ &tndy_device },
|
{ &tndy_device },
|
||||||
|
Reference in New Issue
Block a user