diff --git a/src/mame/drivers/avt.cpp b/src/mame/drivers/avt.cpp index 59e34ebaa5a..864d8361f80 100644 --- a/src/mame/drivers/avt.cpp +++ b/src/mame/drivers/avt.cpp @@ -405,9 +405,9 @@ ************************************************************************************************/ -#define MASTER_CLOCK XTAL_10MHz /* unknown */ +#define MASTER_CLOCK XTAL_16MHz /* unknown */ #define CPU_CLOCK MASTER_CLOCK/4 /* guess... seems accurate */ -#define CRTC_CLOCK MASTER_CLOCK/16 /* it gives 59.410646 fps with current settings */ +#define CRTC_CLOCK MASTER_CLOCK/24 /* it gives 63.371293 Hz. with current settings */ #include "emu.h" #include "cpu/z80/z80.h" @@ -519,14 +519,14 @@ uint32_t avt_state::screen_update_avt(screen_device &screen, bitmap_ind16 &bitma count = 0; - for(y=0;y> 4; - gfx->opaque(bitmap,cliprect,tile,color,0,0,x*8,(y*8)); + gfx->opaque(bitmap, cliprect, tile,color, 0, 0, x * 8, y * 8); count++; } @@ -597,6 +597,8 @@ PALETTE_INIT_MEMBER(avt_state, avt) // popmessage("written : %02X", data); //} +// [:crtc] M6845: Mode Control 10 is not supported!!! + WRITE8_MEMBER( avt_state::avt_6845_address_w ) { m_crtc_index = data; @@ -631,9 +633,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( avt_portmap, AS_IO, 8, avt_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) // AM_RANGE(0x00, 0x03) unk, maybe IO -// AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") +// AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") // AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") - AM_RANGE(0x02, 0x02) AM_READ_PORT("DSW1") + AM_RANGE(0x02, 0x02) AM_READ_PORT("IN0") // AM_RANGE(0x08, 0x0b) unk, maybe IO // AM_RANGE(0x08, 0x08) AM_READ_PORT("IN2") // AM_RANGE(0x09, 0x09) AM_READ_PORT("IN3") @@ -644,13 +646,63 @@ static ADDRESS_MAP_START( avt_portmap, AS_IO, 8, avt_state ) ADDRESS_MAP_END /* I/O byte R/W + (from avtbingo) + + inputs are throusg port 02h, masked with 0x3F & 0x40. + + 02C3: DB 02 in a,($02) + 02C5: 2F cpl + 02C6: E6 3F and $3F + 02C8: C9 ret + + 02D1: DB 02 in a,($02) + 02D3: 2F cpl + 02D4: E6 3F and $3F + 02D6: CD B2 02 call $02B2 + 02D9: C9 ret + + 0338: DB 02 in a,($02) + 033A: E6 40 and $40 + 033C: 28 02 jr z,$0340 + 033E: AF xor a + 033F: C9 ret - ----------------- + poll the port 00h and compare with 0x03 - unknown writes: + 1379: 0E 00 ld c,$00 + 137B: ED 78 in a,(c) + 137D: FE 03 cp $03 + 137F: 20 04 jr nz,$1385 + ...code continues... + ----------------- + + unknown writes: + + [:maincpu] ':maincpu' (01D4): unmapped io memory write to 0001 = 0F & FF + [:maincpu] ':maincpu' (01D8): unmapped io memory write to 0009 = 4F & FF + [:maincpu] ':maincpu' (01DC): unmapped io memory write to 000B = CF & FF + [:maincpu] ':maincpu' (01E0): unmapped io memory write to 000B = C0 & FF + + [:maincpu] ':maincpu' (01E4): unmapped io memory write to 000A = C0 & FF \ + [:maincpu] ':maincpu' (02CD): unmapped io memory write to 000A = EE & FF \ + [:maincpu] ':maincpu' (030E): unmapped io memory write to 000A = C0 & FF > Alternate these values too often... Mux selector? + [:maincpu] ':maincpu' (02CD): unmapped io memory write to 000A = EE & FF / + [:maincpu] ':maincpu' (030E): unmapped io memory write to 000A = C0 & FF / + + [:maincpu] ':maincpu' (0321): unmapped io memory write to 0003 = 06 & FF \ + [:maincpu] ':maincpu' (0325): unmapped io memory write to 0003 = CF & FF \ + [:maincpu] ':maincpu' (0329): unmapped io memory write to 0003 = FF & FF > Unknown commands. + [:maincpu] ':maincpu' (032D): unmapped io memory write to 0003 = 97 & FF / + [:maincpu] ':maincpu' (0331): unmapped io memory write to 0003 = F7 & FF / + + [:maincpu] ':maincpu' (0335): unmapped io memory write to 000A = C0 & FF \ + [:maincpu] ':maincpu' (02CD): unmapped io memory write to 000A = EE & FF \ + [:maincpu] ':maincpu' (030E): unmapped io memory write to 000A = C0 & FF > Same as above... + [:maincpu] ':maincpu' (02CD): unmapped io memory write to 000A = EE & FF / + [:maincpu] ':maincpu' (030E): unmapped io memory write to 000A = C0 & FF / avtnfl and avtbingo have similarities. @@ -659,7 +711,6 @@ ADDRESS_MAP_END all access a000/c000 with an offset of 0x800 for video. avtnfl and avtbingo use 28/29 for CRTC. - */ /********************************************* @@ -823,6 +874,20 @@ static INPUT_PORTS_START( symbols ) INPUT_PORTS_END +static INPUT_PORTS_START( avtbingo ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Column 3 UP") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Column 2 UP") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Column 1 UP") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Column 5 UP") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Column 4 UP") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + + + /********************************************* * Graphics Layouts * *********************************************/ @@ -960,8 +1025,8 @@ ROM_END * Game Drivers * *********************************************/ -/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */ -GAME( 1985, avtsym14, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Symbols (ver 1.4)", MACHINE_NOT_WORKING ) -GAME( 1985, avtsym25, avtsym14, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Symbols (ver 2.5)", MACHINE_NOT_WORKING ) -GAME( 1985, avtbingo, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Arrow Bingo", MACHINE_NOT_WORKING ) -GAME( 1989, avtnfl, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "NFL (ver 109)", MACHINE_NOT_WORKING ) +/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ +GAME( 1985, avtsym14, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Symbols (ver 1.4)", MACHINE_NOT_WORKING ) +GAME( 1985, avtsym25, avtsym14, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "Symbols (ver 2.5)", MACHINE_NOT_WORKING ) +GAME( 1985, avtbingo, 0, avt, avtbingo, driver_device, 0, ROT0, "Advanced Video Technology", "Arrow Bingo", MACHINE_NOT_WORKING ) +GAME( 1989, avtnfl, 0, avt, symbols, driver_device, 0, ROT0, "Advanced Video Technology", "NFL (ver 109)", MACHINE_NOT_WORKING )