r8627 Sunday 25th July, 2010 at 19:45:49 UTC by Angelo Salese
[MULTI8]: Added beeper, disabled by default
[src/mess/drivers]multi8.c

src/mess/drivers/multi8.c
r8626r8627
88   - dunno how to trigger the text color mode in BASIC, I just modify
99     $f0b1 to 1 for now
1010   - bitmap B/W mode is untested
11   - Beeper keeps ringing, is it due of an HW failure?
1112
1213****************************************************************************/
1314
r8626r8627
1617#include "sound/2203intf.h"
1718#include "video/mc6845.h"
1819#include "machine/i8255a.h"
20#include "sound/beep.h"
1921
2022static UINT8 mcu_init;
2123static UINT8 keyb_press,keyb_press_flag,display_reg;
r8626r8627
237239   AM_RANGE(0x01, 0x01) AM_READ(key_status_r) AM_WRITENOP//keyboard
238240   AM_RANGE(0x18, 0x19) AM_DEVWRITE("ymsnd", ym2203_w)
239241//   AM_RANGE(0x18, 0x18) //opn read 0
240//   AM_RANGE(0x1a, 0x1a) //opn read 1
242   AM_RANGE(0x1a, 0x1a) AM_DEVREAD("ymsnd", ym2203_r)
241243   AM_RANGE(0x1c, 0x1d) AM_WRITE(multi8_6845_w)
242244//   AM_RANGE(0x20, 0x21) //sio, cmt
243245//   AM_RANGE(0x24, 0x27) //pit
r8626r8627
411413   }
412414}
413415
414static MACHINE_START(multi8)
415{
416   timer_pulse(machine, ATTOTIME_IN_HZ(240/32), NULL, 0, keyboard_callback);
417}
418
419static MACHINE_RESET(multi8)
420{
421   mcu_init = 0;
422}
423
424416/* F4 Character Displayer */
425417static const gfx_layout multi8_charlayout =
426418{
r8626r8627
521513   DEVCB_HANDLER(portc_w)         /* Port C write */
522514};
523515
516static WRITE8_DEVICE_HANDLER( ym2203_porta_w )
517{
518   beep_set_state(device->machine->device("beeper"),data & 0x08);
519}
520
521static const ym2203_interface ym2203_config =
522{
523   {
524      AY8910_LEGACY_OUTPUT,
525      AY8910_DEFAULT_LOADS,
526      DEVCB_NULL, DEVCB_NULL, DEVCB_HANDLER( ym2203_porta_w ), DEVCB_NULL
527   },
528   NULL
529};
530
531
532static MACHINE_START(multi8)
533{
534   timer_pulse(machine, ATTOTIME_IN_HZ(240/32), NULL, 0, keyboard_callback);
535}
536
537static MACHINE_RESET(multi8)
538{
539   beep_set_frequency(machine->device("beeper"),300); //guesswork
540   beep_set_state(machine->device("beeper"),0);
541   mcu_init = 0;
542}
543
524544static MACHINE_DRIVER_START( multi8 )
525545    /* basic machine hardware */
526546    MDRV_CPU_ADD("maincpu",Z80, XTAL_4MHz)
r8626r8627
551571   MDRV_SPEAKER_STANDARD_MONO("mono")
552572
553573   MDRV_SOUND_ADD("ymsnd", YM2203, 1500000) //unknown clock / divider
554//   MDRV_SOUND_CONFIG(ym2203_config)
574   MDRV_SOUND_CONFIG(ym2203_config)
555575   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
576
577   MDRV_SOUND_ADD("beeper", BEEP, 0)
578   MDRV_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.00) //FIXME: temporarly silenced
556579MACHINE_DRIVER_END
557580
558581/* ROM definition */

Previous 509070 RevisionsNext 50


© 1998-2010 The MESS Team