From 2ae30205df6bcbf2427dd4f14172c79d33adf181 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Tue, 11 Dec 2012 08:09:45 +0000 Subject: [PATCH] (MESS) modellot : fixed F4 display, and made video readable (nw) --- src/mess/drivers/modellot.c | 46 +++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/src/mess/drivers/modellot.c b/src/mess/drivers/modellot.c index 7d1277502d0..8b379c71e9c 100644 --- a/src/mess/drivers/modellot.c +++ b/src/mess/drivers/modellot.c @@ -65,18 +65,18 @@ void modellot_state::machine_reset() const gfx_layout modellot_charlayout = { - 8, 16, /* 8x8 characters */ - 128, /* 256 characters */ - 1, /* 1 bits per pixel */ + 8, 16, /* 8x16 characters */ + 128, /* 128 characters */ + 1, /* 1 bits per pixel */ {0}, /* no bitplanes; 1 bit per pixel */ {0,1,2,3,4,5,6,7}, - {0 * 8, 1 * 8, 2 * 8, 3 * 8, 4 * 8, 5 * 8, 6 * 8, 7 * 8, - 0 * 8+0x200, 1 * 8+0x200, 2 * 8+0x200, 3 * 8+0x200, 4 * 8+0x200, 5 * 8+0x200, 6 * 8+0x200, 7 * 8+0x200}, - 8*16 /* size of one char */ + {0, 8, 2 * 8, 3 * 8, 4 * 8, 5 * 8, 6 * 8, 7 * 8, + 0x400*8, 0x401*8, 0x402*8, 0x403*8, 0x404*8, 0x405*8, 0x406*8, 0x407*8}, + 8*8 /* space between characters */ }; static GFXDECODE_START( modellot ) - GFXDECODE_ENTRY( "gfx1", 0x0000, modellot_charlayout, 0, 1 ) + GFXDECODE_ENTRY( "chargen", 0x0000, modellot_charlayout, 0, 1 ) GFXDECODE_END @@ -88,19 +88,20 @@ UINT32 modellot_state::screen_update_modellot(screen_device &screen, bitmap_ind1 { for(x = 0; x < 64; x++ ) { - int code = m_video_ram[15 + x + y*64]; - drawgfx_opaque(bitmap, cliprect, machine().gfx[0], code , 0, 0,0, x*8,y*16); + int code = m_video_ram[x + y*64]; + drawgfx_opaque(bitmap, cliprect, machine().gfx[0], code, 0, 0, 0, x*8, y*16); } } return 0; } + static MACHINE_CONFIG_START( modellot, modellot_state ) - /* basic machine hardware */ - MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) - MCFG_CPU_PROGRAM_MAP(modellot_mem) - MCFG_CPU_IO_MAP(modellot_io) + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) + MCFG_CPU_PROGRAM_MAP(modellot_mem) + MCFG_CPU_IO_MAP(modellot_io) - /* video hardware */ + /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(50) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ @@ -111,21 +112,22 @@ static MACHINE_CONFIG_START( modellot, modellot_state ) MCFG_GFXDECODE( modellot ) MCFG_PALETTE_LENGTH(2) - MCFG_PALETTE_INIT(black_and_white) + MCFG_PALETTE_INIT(black_and_white) MACHINE_CONFIG_END /* ROM definition */ ROM_START( modellot ) - ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) //ROM_LOAD( "fdc8119.u3", 0x0000, 0x0400, CRC(a8aee944) SHA1(f2cc598ed2e7a1a620e2f3f53c1a573965f6af26)) ROM_LOAD( "dt49-48.u1", 0xe000, 0x0400, CRC(2441c438) SHA1(832994a4214a744b7e19e5f74000c95ae65e3759)) ROM_LOAD( "ht20.u2", 0xe400, 0x0400, CRC(497c0495) SHA1(d03beebc4c31284729f6eac3bdf1fbf44adf7fff)) - ROM_REGION( 0x0800, "gfx1", ROMREGION_ERASEFF ) - ROM_LOAD( "gcem1.u3", 0x0000, 0x0400, CRC(e7739268) SHA1(091ef69282abe657d5f38c70a572964f5200a1d5)) - ROM_LOAD( "gcem2.u4", 0x0400, 0x0400, CRC(6614330e) SHA1(880a541fb0ef6f37ac89439f9ea75a313c3e53d6)) + + ROM_REGION( 0x0800, "chargen", ROMREGION_INVERT ) + ROM_LOAD( "gcem1.u3", 0x0000, 0x0200, CRC(e7739268) SHA1(091ef69282abe657d5f38c70a572964f5200a1d5)) + ROM_CONTINUE(0x400, 0x200) + ROM_LOAD( "gcem2.u4", 0x0200, 0x0200, CRC(6614330e) SHA1(880a541fb0ef6f37ac89439f9ea75a313c3e53d6)) + ROM_CONTINUE(0x600, 0x200) ROM_END /* Driver */ - -COMP( 1979, modellot, 0, 0, modellot, modellot, driver_device, 0, "General Processor", "Modello T", GAME_IS_SKELETON) - +COMP( 1979, modellot, 0, 0, modellot, modellot, driver_device, 0, "General Processor", "Modello T", GAME_IS_SKELETON)