Lines Matching refs:F2608

2740 static inline void YM2608IRQFlagWrite(FM_OPN *OPN, ym2608_state *F2608, int v)  in YM2608IRQFlagWrite()  argument
2748 F2608->flagmask = (~(v&0x1f)); in YM2608IRQFlagWrite()
2749 FM_IRQMASK_SET(&OPN->ST, (F2608->irqmask & F2608->flagmask) ); in YM2608IRQFlagWrite()
2754 static inline void YM2608IRQMaskWrite(FM_OPN *OPN, ym2608_state *F2608, int v) in YM2608IRQMaskWrite() argument
2765 F2608->irqmask = v&0x1f; in YM2608IRQMaskWrite()
2766 FM_IRQMASK_SET(&OPN->ST, (F2608->irqmask & F2608->flagmask) ); in YM2608IRQMaskWrite()
2772 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_update_one() local
2773 FM_OPN *OPN = &F2608->OPN; in ym2608_update_one()
2774 YM_DELTAT *DELTAT = &F2608->deltaT; in ym2608_update_one()
2784 cch[0] = &F2608->CH[0]; in ym2608_update_one()
2785 cch[1] = &F2608->CH[1]; in ym2608_update_one()
2786 cch[2] = &F2608->CH[2]; in ym2608_update_one()
2787 cch[3] = &F2608->CH[3]; in ym2608_update_one()
2788 cch[4] = &F2608->CH[4]; in ym2608_update_one()
2789 cch[5] = &F2608->CH[5]; in ym2608_update_one()
2843 if( F2608->adpcm[j].flag ) in ym2608_update_one()
2844 F2608->ADPCMA_calc_chan( &F2608->adpcm[j]); in ym2608_update_one()
2919 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_postload() local
2923 OPNPrescaler_w(&F2608->OPN,1,2); in ym2608_postload()
2924 F2608->deltaT.freqbase = F2608->OPN.ST.freqbase; in ym2608_postload()
2926 YM2608IRQMaskWrite(&F2608->OPN, F2608, F2608->REGS[0x29]); in ym2608_postload()
2930 (*F2608->OPN.ST.SSG->write)(F2608->OPN.ST.device,0,r); in ym2608_postload()
2931 (*F2608->OPN.ST.SSG->write)(F2608->OPN.ST.device,1,F2608->REGS[r]); in ym2608_postload()
2939 OPNWriteReg(&F2608->OPN,r,F2608->REGS[r]); in ym2608_postload()
2940 OPNWriteReg(&F2608->OPN,r|0x100,F2608->REGS[r|0x100]); in ym2608_postload()
2946 OPNWriteReg(&F2608->OPN,r,F2608->REGS[r]); in ym2608_postload()
2947 OPNWriteReg(&F2608->OPN,r|0x100,F2608->REGS[r|0x100]); in ym2608_postload()
2952 F2608->FM_ADPCMAWrite(1,F2608->REGS[0x111]); in ym2608_postload()
2954 F2608->FM_ADPCMAWrite(r,F2608->REGS[r+0x110]); in ym2608_postload()
2956 F2608->deltaT.postload( &F2608->REGS[0x100] ); in ym2608_postload()
2960 static void YM2608_save_state(ym2608_state *F2608, device_t *device) in YM2608_save_state() argument
2962 device->save_item(NAME(F2608->REGS)); in YM2608_save_state()
2963 FMsave_state_st(device,&F2608->OPN.ST); in YM2608_save_state()
2964 FMsave_state_channel(device,F2608->CH,6); in YM2608_save_state()
2966 device->save_item(NAME(F2608->OPN.SL3.fc)); in YM2608_save_state()
2967 device->save_item(NAME(F2608->OPN.SL3.fn_h)); in YM2608_save_state()
2968 device->save_item(NAME(F2608->OPN.SL3.kcode)); in YM2608_save_state()
2970 device->save_item(NAME(F2608->addr_A1)); in YM2608_save_state()
2972 FMsave_state_adpcma(device,F2608->adpcm); in YM2608_save_state()
2974 F2608->deltaT.savestate(device); in YM2608_save_state()
2980 ym2608_state *F2608 = (ym2608_state *)chip; in YM2608_deltat_status_set() local
2981 FM_STATUS_SET(&(F2608->OPN.ST), changebits); in YM2608_deltat_status_set()
2985 ym2608_state *F2608 = (ym2608_state *)chip; in YM2608_deltat_status_reset() local
2986 FM_STATUS_RESET(&(F2608->OPN.ST), changebits); in YM2608_deltat_status_reset()
2994 ym2608_state *F2608; in ym2608_init() local
2997 F2608 = new ym2608_state; in ym2608_init()
2998 memset(F2608, 0, sizeof(*F2608)); in ym2608_init()
3002 delete F2608; in ym2608_init()
3006 F2608->device = device; in ym2608_init()
3007 F2608->OPN.type = TYPE_YM2608; in ym2608_init()
3008 F2608->OPN.P_CH = F2608->CH; in ym2608_init()
3009 F2608->OPN.ST.device = device; in ym2608_init()
3010 F2608->OPN.ST.clock = clock; in ym2608_init()
3011 F2608->OPN.ST.rate = rate; in ym2608_init()
3014 F2608->OPN.ST.timer_handler = timer_handler; in ym2608_init()
3015 F2608->OPN.ST.IRQ_Handler = IRQHandler; in ym2608_init()
3016 F2608->OPN.ST.SSG = ssg; in ym2608_init()
3019 F2608->deltaT.read_byte = ExternalReadByte; in ym2608_init()
3020 F2608->deltaT.write_byte = ExternalWriteByte; in ym2608_init()
3025 F2608->deltaT.status_set_handler = YM2608_deltat_status_set; in ym2608_init()
3026 F2608->deltaT.status_reset_handler = YM2608_deltat_status_reset; in ym2608_init()
3027 F2608->deltaT.status_change_which_chip = F2608; in ym2608_init()
3028 F2608->deltaT.status_change_EOS_bit = 0x04; /* status flag: set bit2 on End Of Sample */ in ym2608_init()
3029 F2608->deltaT.status_change_BRDY_bit = 0x08; /* status flag: set bit3 on BRDY */ in ym2608_init()
3030F2608->deltaT.status_change_ZERO_bit = 0x10; /* status flag: set bit4 if silence continues for … in ym2608_init()
3033 F2608->read_byte = InternalReadByte; in ym2608_init()
3039 F2608->CH[i].pan_volume_l = 46340; in ym2608_init()
3040 F2608->CH[i].pan_volume_r = 46340; in ym2608_init()
3044 YM2608_save_state(F2608, device); in ym2608_init()
3046 return F2608; in ym2608_init()
3051 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_clock_changed() local
3053 F2608->OPN.ST.clock = clock; in ym2608_clock_changed()
3054 F2608->OPN.ST.rate = rate; in ym2608_clock_changed()
3060 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_shutdown() local
3063 delete F2608; in ym2608_shutdown()
3070 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_reset_chip() local
3071 FM_OPN *OPN = &F2608->OPN; in ym2608_reset_chip()
3072 YM_DELTAT *DELTAT = &F2608->deltaT; in ym2608_reset_chip()
3076 F2608->deltaT.freqbase = OPN->ST.freqbase; in ym2608_reset_chip()
3085 YM2608IRQMaskWrite(OPN, F2608, 0x1f ); /* default value for D4-D0 is 1 */ in ym2608_reset_chip()
3088 …YM2608IRQFlagWrite(OPN, F2608, 0x1c ); /* default: enable timer A and B, disable EOS, BRDY and ZE… in ym2608_reset_chip()
3097 reset_channels( &OPN->ST , F2608->CH , 6 ); in ym2608_reset_chip()
3115F2608->adpcm[i].step = (uint32_t)((float)(1<<ADPCM_SHIFT)*((float)F2608->OPN.ST.freqbase)/3.0… in ym2608_reset_chip()
3117F2608->adpcm[i].step = (uint32_t)((float)(1<<ADPCM_SHIFT)*((float)F2608->OPN.ST.freqbase)/6.0… in ym2608_reset_chip()
3119 F2608->adpcm[i].start = YM2608_ADPCM_ROM_addr[i*2]; in ym2608_reset_chip()
3120 F2608->adpcm[i].end = YM2608_ADPCM_ROM_addr[i*2+1]; in ym2608_reset_chip()
3122 F2608->adpcm[i].now_addr = 0; in ym2608_reset_chip()
3123 F2608->adpcm[i].now_step = 0; in ym2608_reset_chip()
3125 F2608->adpcm[i].vol_mul = 0; in ym2608_reset_chip()
3126 F2608->adpcm[i].pan = &OPN->out_adpcm[OUTD_CENTER]; /* default center */ in ym2608_reset_chip()
3127 F2608->adpcm[i].flagMask = 0; in ym2608_reset_chip()
3128 F2608->adpcm[i].flag = 0; in ym2608_reset_chip()
3129 F2608->adpcm[i].adpcm_acc = 0; in ym2608_reset_chip()
3130 F2608->adpcm[i].adpcm_step= 0; in ym2608_reset_chip()
3131 F2608->adpcm[i].adpcm_out = 0; in ym2608_reset_chip()
3133 F2608->adpcmTL = 0x3f; in ym2608_reset_chip()
3135 F2608->adpcm_arrivedEndAddress = 0; /* not used */ in ym2608_reset_chip()
3142 DELTAT->ADPCM_Reset(OUTD_CENTER,YM_DELTAT::EMULATION_MODE_NORMAL,F2608->device); in ym2608_reset_chip()
3151 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_write() local
3152 FM_OPN *OPN = &F2608->OPN; in ym2608_write()
3162 F2608->addr_A1 = 0; in ym2608_write()
3170 F2608->deltaT.freqbase = OPN->ST.freqbase; in ym2608_write()
3175 if (F2608->addr_A1 != 0) in ym2608_write()
3179 F2608->REGS[addr] = v; in ym2608_write()
3188 F2608->FM_ADPCMAWrite(addr-0x10,v); in ym2608_write()
3194 YM2608IRQMaskWrite(OPN, F2608, v); in ym2608_write()
3209 F2608->addr_A1 = 1; in ym2608_write()
3213 if (F2608->addr_A1 != 1) in ym2608_write()
3217 F2608->REGS[addr | 0x100] = v; in ym2608_write()
3225 F2608->device->logerror("YM2608: write to DAC data (unimplemented) value=%02x\n",v); in ym2608_write()
3229 F2608->deltaT.ADPCM_Write(addr,v); in ym2608_write()
3235 YM2608IRQFlagWrite(OPN, F2608, v); in ym2608_write()
3248 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_write_pan() local
3250 F2608->CH[c].pan_volume_l = panlawtable[v & 0x7F]; in ym2608_write_pan()
3251 F2608->CH[c].pan_volume_r = panlawtable[0x7F - (v & 0x7F)]; in ym2608_write_pan()
3256 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_read() local
3257 int addr = F2608->OPN.ST.address; in ym2608_read()
3264 ret = FM_STATUS_FLAG(&F2608->OPN.ST) & 0x83; in ym2608_read()
3268 if( addr < 16 ) ret = (*F2608->OPN.ST.SSG->read)(F2608->OPN.ST.device); in ym2608_read()
3274 …ret = (FM_STATUS_FLAG(&F2608->OPN.ST) & (F2608->flagmask|0x80)) | ((F2608->deltaT.PCM_BSY & 1)<<5)… in ym2608_read()
3280 ret = F2608->deltaT.ADPCM_Read(); in ym2608_read()
3286 F2608->device->logerror("YM2608 A/D conversion is accessed but not implemented !\n"); in ym2608_read()
3297 ym2608_state *F2608 = (ym2608_state *)chip; in ym2608_timer_over() local
3304 F2608->deltaT.BRDY_callback(); in ym2608_timer_over()
3310 TimerBOver( &(F2608->OPN.ST) ); in ym2608_timer_over()
3315 ym2608_device::update_request(F2608->OPN.ST.device); in ym2608_timer_over()
3317 TimerAOver( &(F2608->OPN.ST) ); in ym2608_timer_over()
3319 if( F2608->OPN.ST.mode & 0x80 ) in ym2608_timer_over()
3321 CSMKeyControll( F2608->OPN.type, &(F2608->CH[2]) ); in ym2608_timer_over()
3329 return F2608->OPN.ST.irq; in ym2608_timer_over()