summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/machine/electron.c8
1 files changed, 7 insertions, 1 deletions
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. */