diff --git a/src/mame/drivers/cmmb.cpp b/src/mame/drivers/cmmb.cpp index 5e5da1d762a..34af041f19a 100644 --- a/src/mame/drivers/cmmb.cpp +++ b/src/mame/drivers/cmmb.cpp @@ -49,6 +49,7 @@ OSC @ 72.576MHz #include "emu.h" #include "cpu/m6502/m65sc02.h" +#define MAIN_CLOCK XTAL_72_576MHz class cmmb_state : public driver_device { @@ -76,7 +77,7 @@ public: virtual void machine_reset() override; virtual void video_start() override; UINT32 screen_update_cmmb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(cmmb_irq); + INTERRUPT_GEN_MEMBER(vblank_irq); }; @@ -182,11 +183,11 @@ READ8_MEMBER(cmmb_state::kludge_r) /* overlap empty addresses */ static ADDRESS_MAP_START( cmmb_map, AS_PROGRAM, 8, cmmb_state ) ADDRESS_MAP_GLOBAL_MASK(0xffff) - AM_RANGE(0x0000, 0x01ff) AM_RAM /* zero page address */ + AM_RANGE(0x0000, 0x0fff) AM_RAM /* zero page address */ // AM_RANGE(0x13c0, 0x13ff) AM_RAM //spriteram AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("videoram") AM_RANGE(0x2480, 0x249f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") - AM_RANGE(0x4000, 0x400f) AM_READWRITE(cmmb_input_r,cmmb_output_w) //i/o + AM_RANGE(0x4000, 0x400f) AM_READWRITE(cmmb_input_r,cmmb_output_w) AM_RANGE(0x4900, 0x4900) AM_READ(kludge_r) AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") AM_RANGE(0xa000, 0xafff) AM_RAM @@ -302,30 +303,27 @@ static GFXDECODE_START( cmmb ) GFXDECODE_ENTRY( "gfx", 0, spritelayout, 0x10, 4 ) GFXDECODE_END -INTERRUPT_GEN_MEMBER(cmmb_state::cmmb_irq) +INTERRUPT_GEN_MEMBER(cmmb_state::vblank_irq) { - //if(machine().input().code_pressed_once(KEYCODE_Z)) - //if(machine().input().code_pressed(KEYCODE_Z)) -// device.execute().set_input_line(0, HOLD_LINE); +// if(machine().input().code_pressed_once(KEYCODE_Z)) +// device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); } void cmmb_state::machine_reset() { } + static MACHINE_CONFIG_START( cmmb, cmmb_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M65SC02, XTAL_72_576MHz/5) // Unknown clock, but chip rated for 14MHz + MCFG_CPU_ADD("maincpu", M65SC02, MAIN_CLOCK/5) // Unknown clock, but chip rated for 14MHz MCFG_CPU_PROGRAM_MAP(cmmb_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cmmb_state, cmmb_irq) + MCFG_CPU_VBLANK_INT_DRIVER("screen", cmmb_state, vblank_irq) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // unknown - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) + MCFG_SCREEN_RAW_PARAMS(MAIN_CLOCK/12, 384, 0, 256, 264, 0, 240) // TBD, not real measurements MCFG_SCREEN_UPDATE_DRIVER(cmmb_state, screen_update_cmmb) MCFG_SCREEN_PALETTE("palette")