From 16ff3c8de0e5f5371e904a0bf6f709bda430f9ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Banaan=20Ananas?= Date: Sun, 8 Dec 2013 21:54:29 +0000 Subject: [PATCH] improved mw18w layout a bit --- src/mame/drivers/mw18w.c | 8 ++-- src/mame/drivers/mwsub.c | 6 +-- src/mame/layout/18w.lay | 83 ++++++++++++++++++++++++++++++++-------- 3 files changed, 73 insertions(+), 24 deletions(-) diff --git a/src/mame/drivers/mw18w.c b/src/mame/drivers/mw18w.c index 48bcee126d5..43341285325 100644 --- a/src/mame/drivers/mw18w.c +++ b/src/mame/drivers/mw18w.c @@ -70,7 +70,7 @@ WRITE8_MEMBER(mw18w_state::mw18w_sound1_w) WRITE8_MEMBER(mw18w_state::mw18w_lamps_w) { // d0-3, d7: selected rows - int rows = (data & 0xf) | ( data >> 3 & 0x10); + int rows = (data & 0xf) | (data >> 3 & 0x10); // d4-d6: column int col = data >> 4 & 7; @@ -83,12 +83,12 @@ WRITE8_MEMBER(mw18w_state::mw18w_lamps_w) WRITE8_MEMBER(mw18w_state::mw18w_led_display_w) { // d0-3: 7448 (BCD to LED segment) - const UINT8 ls48_map[16] = + const UINT8 _7448_map[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 }; // d4-7: 7442 (BCD to decimal) -> pick digit panel - if ((data&0xf0)>0x90) return; - output_set_digit_value(data >> 4, ls48_map[data & 0xf]); + if ((data & 0xf0) > 0x90) return; + output_set_digit_value(data >> 4, _7448_map[data & 0xf]); } WRITE8_MEMBER(mw18w_state::mw18w_irq0_clear_w) diff --git a/src/mame/drivers/mwsub.c b/src/mame/drivers/mwsub.c index b585cc703a8..6e8f43297e7 100644 --- a/src/mame/drivers/mwsub.c +++ b/src/mame/drivers/mwsub.c @@ -107,12 +107,12 @@ WRITE8_MEMBER(submar_state::submar_sound_w) WRITE8_MEMBER(submar_state::submar_led_w) { // 7447 (BCD to LED segment) - const UINT8 ls47_map[16] = + const UINT8 _7447_map[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 }; // 2 digits per write. port 4: time, port 5: score - output_set_digit_value((offset << 1 & 2) | 0, ls47_map[data >> 4]); - output_set_digit_value((offset << 1 & 2) | 1, ls47_map[data & 0x0f]); + output_set_digit_value((offset << 1 & 2) | 0, _7447_map[data >> 4]); + output_set_digit_value((offset << 1 & 2) | 1, _7447_map[data & 0x0f]); } WRITE8_MEMBER(submar_state::submar_irq_clear_w) diff --git a/src/mame/layout/18w.lay b/src/mame/layout/18w.lay index 0db415bf123..fc6b58a5dcd 100644 --- a/src/mame/layout/18w.lay +++ b/src/mame/layout/18w.lay @@ -1,58 +1,107 @@ + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + - + + + + + + + + + + - + - + - + - + - + - + - + + + + + + + + + - + - + - + - + - + - + + + + + +