electron: corrections to beeper

This commit is contained in:
kazblox 2015-10-19 18:26:40 -04:00
parent 58dc06f36d
commit e2046355fa

View File

@ -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. */