diff --git a/src/mame/machine/electron.c b/src/mame/machine/electron.c index 8510fe7f454..225f4da5a7a 100644 --- a/src/mame/machine/electron.c +++ b/src/mame/machine/electron.c @@ -14,6 +14,7 @@ #include "sound/beep.h" #include "imagedev/cassette.h" + void electron_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) { switch (id) @@ -246,7 +247,12 @@ WRITE8_MEMBER(electron_state::electron_ula_w) case 0x06: /* Counter divider */ if ( m_ula.communication_mode == 0x01) { - m_beeper->set_frequency( 1000000 / ( 16 * ( data + 1 ) ) ); + /* GUESS + * the Advanced Users manual says this is the correct algorithm + * but the divider is wrong(?), says 16 but results in high pitch, + * 32 is more close + */ + m_beeper->set_frequency( 1000000 / ( 32 * ( data + 1 ) ) ); } break; case 0x07: /* Misc. */