trunk/src/emu/sound/ay8910.c
| r31246 | r31247 | |
| 545 | 545 | const double Vd = 5.0; |
| 546 | 546 | const double Vg = par.m_Vg - par.m_Vth; |
| 547 | 547 | const double kn = par.m_Kn[j] / 1.0e6; |
| 548 | | const double p2 = 1.0 / (2.0 * kn * rd); |
| 549 | | const double Vs = Vg + p2 - sqrt(p2 * p2 - Vg * Vg); |
| 548 | const double p2 = 1.0 / (2.0 * kn * rd) + Vg; |
| 549 | const double Vs = p2 - sqrt(p2 * p2 - Vg * Vg); |
| 550 | 550 | |
| 551 | 551 | const double res = rd * ( Vd / Vs - 1.0); |
| 552 | | tab[j] = res; |
| 552 | /* FXIME: That's the biggest value we can stream on to netlist. Have to find a different |
| 553 | * approach. |
| 554 | */ |
| 555 | |
| 556 | if (res > (1 << 21)) |
| 557 | tab[j] = (1 << 21); |
| 558 | else |
| 559 | tab[j] = res; |
| 560 | //printf("%d %f %10d\n", j, rd / (res + rd) * 5.0, tab[j]); |
| 553 | 561 | } |
| 554 | 562 | } |
| 555 | 563 | |
| r31246 | r31247 | |
| 834 | 842 | for (chan=0; chan < AY8910_NUM_CHANNELS; chan++) |
| 835 | 843 | { |
| 836 | 844 | build_mosfet_resistor_table(ay8910_mosfet_param, m_res_load[chan], m_vol_table[chan]); |
| 837 | | build_mosfet_resistor_table(ay8910_mosfet_param, m_res_load[chan], m_vol_table[chan]); |
| 845 | build_mosfet_resistor_table(ay8910_mosfet_param, m_res_load[chan], m_env_table[chan]); |
| 838 | 846 | } |
| 839 | 847 | } |
| 840 | 848 | else |
trunk/src/mame/drivers/1942.c
| r31246 | r31247 | |
| 84 | 84 | |
| 85 | 85 | SOLVER(Solver, 48000) |
| 86 | 86 | ANALOG_INPUT(V5, 5) |
| 87 | | PARAM(Solver.ACCURACY, 1e-10) |
| 87 | PARAM(Solver.ACCURACY, 1e-7) |
| 88 | //PARAM(Solver.DYNAMIC_TS, 1) |
| 89 | //PARAM(Solver.LTE, 5e-8) |
| 88 | 90 | |
| 89 | 91 | /* AY 8910 internal resistors */ |
| 90 | 92 | |
| r31246 | r31247 | |
| 580 | 582 | |
| 581 | 583 | MCFG_NETLIST_STREAM_OUTPUT("snd_nl", 0, "R1.1") |
| 582 | 584 | //MCFG_NETLIST_STREAM_OUTPUT("snd_nl", 0, "VR.2") |
| 583 | | MCFG_NETLIST_ANALOG_MULT_OFFSET(100000.0, 0.0) |
| 585 | MCFG_NETLIST_ANALOG_MULT_OFFSET(70000.0, 0.0) |
| 584 | 586 | |
| 585 | 587 | MACHINE_CONFIG_END |
| 586 | 588 | |