diff options
Diffstat (limited to 'src/devices/sound/ymdeltat.h')
-rw-r--r-- | src/devices/sound/ymdeltat.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/devices/sound/ymdeltat.h b/src/devices/sound/ymdeltat.h deleted file mode 100644 index def88c712b9..00000000000 --- a/src/devices/sound/ymdeltat.h +++ /dev/null @@ -1,88 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Jarek Burczynski -#ifndef MAME_SOUND_YMDELTAT_H -#define MAME_SOUND_YMDELTAT_H - -#pragma once - - -typedef uint8_t (*FM_READBYTE)(device_t *device, offs_t offset); -typedef void (*FM_WRITEBYTE)(device_t *device, offs_t offset, uint8_t data); -typedef void (*STATUS_CHANGE_HANDLER)(void *chip, uint8_t status_bits); - - -/* DELTA-T (adpcm type B) struct */ -struct YM_DELTAT { /* AT: rearranged and tightened structure */ - static constexpr int EMULATION_MODE_NORMAL = 0; - static constexpr int EMULATION_MODE_YM2610 = 1; - - FM_READBYTE read_byte; - FM_WRITEBYTE write_byte; - int32_t *output_pointer;/* pointer of output pointers */ - int32_t *pan; /* pan : &output_pointer[pan] */ - double freqbase; -#if 0 - double write_time; /* Y8950: 10 cycles of main clock; YM2608: 20 cycles of main clock */ - double read_time; /* Y8950: 8 cycles of main clock; YM2608: 18 cycles of main clock */ -#endif - uint32_t memory_size; - int output_range; - uint32_t now_addr; /* current address */ - uint32_t now_step; /* correct step */ - uint32_t step; /* step */ - uint32_t start; /* start address */ - uint32_t limit; /* limit address */ - uint32_t end; /* end address */ - uint32_t delta; /* delta scale */ - int32_t volume; /* current volume */ - int32_t acc; /* shift Measurement value*/ - int32_t adpcmd; /* next Forecast */ - int32_t adpcml; /* current value */ - int32_t prev_acc; /* leveling value */ - uint8_t now_data; /* current rom data */ - uint8_t CPU_data; /* current data from reg 08 */ - uint8_t portstate; /* port status */ - uint8_t control2; /* control reg: SAMPLE, DA/AD, RAM TYPE (x8bit / x1bit), ROM/RAM */ - uint8_t portshift; /* address bits shift-left: - ** 8 for YM2610, - ** 5 for Y8950 and YM2608 */ - - uint8_t DRAMportshift; /* address bits shift-right: - ** 0 for ROM and x8bit DRAMs, - ** 3 for x1 DRAMs */ - - uint8_t memread; /* needed for reading/writing external memory */ - - /* handlers and parameters for the status flags support */ - STATUS_CHANGE_HANDLER status_set_handler; - STATUS_CHANGE_HANDLER status_reset_handler; - - /* note that different chips have these flags on different - ** bits of the status register - */ - void * status_change_which_chip; /* this chip id */ - uint8_t status_change_EOS_bit; /* 1 on End Of Sample (record/playback/cycle time of AD/DA converting has passed)*/ - uint8_t status_change_BRDY_bit; /* 1 after recording 2 datas (2x4bits) or after reading/writing 1 data */ - uint8_t status_change_ZERO_bit; /* 1 if silence lasts for more than 290 milliseconds on ADPCM recording */ - - /* neither Y8950 nor YM2608 can generate IRQ when PCMBSY bit changes, so instead of above, - ** the statusflag gets ORed with PCM_BSY (below) (on each read of statusflag of Y8950 and YM2608) - */ - uint8_t PCM_BSY; /* 1 when ADPCM is playing; Y8950/YM2608 only */ - - uint8_t reg[16]; /* adpcm registers */ - uint8_t emulation_mode; /* which chip we're emulating */ - device_t *device; - - /*void BRDY_callback();*/ - - uint8_t ADPCM_Read(); - void ADPCM_Write(int r, int v); - void ADPCM_Reset(int panidx, int mode, device_t *dev); - void ADPCM_CALC(); - - void postload(uint8_t *regs); - void savestate(device_t *device); -}; - -#endif // MAME_SOUND_YMDELTAT_H |