diff options
| author | 2014-12-31 07:53:27 +0100 | |
|---|---|---|
| committer | 2014-12-31 07:53:27 +0100 | |
| commit | e6f78d5ed281850d9e8b391c049b8bf696e140bf (patch) | |
| tree | c76def6dc672e2b56d3a9b3fb61fec02f0b21f8c /src/mess | |
| parent | bfd87ef73a6850f475e2020c2c2935993f932c56 (diff) | |
Cleanups and version bumpmame0157
Diffstat (limited to 'src/mess')
36 files changed, 350 insertions, 355 deletions
diff --git a/src/mess/drivers/amaztron.c b/src/mess/drivers/amaztron.c index 3dfdb6ac319..b8e686857ef 100644 --- a/src/mess/drivers/amaztron.c +++ b/src/mess/drivers/amaztron.c @@ -4,7 +4,7 @@ Coleco Amaze-A-Tron * TMS1100 MCU, labeled MP3405(die label too) - + This is an electronic board game with a selection of 8 maze games, most of them for 2 players. A 5x5 playing grid and four markers are required to play. Refer to the official manual for more information. @@ -42,9 +42,9 @@ public: DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_r); - + void leds_update(); - + virtual void machine_start(); }; @@ -85,11 +85,11 @@ WRITE16_MEMBER(amaztron_state::write_r) // R6,R7: lamps output_set_lamp_value(0, data >> 6 & 1); output_set_lamp_value(1, data >> 7 & 1); - + // R8,R9: select digit m_r = data; leds_update(); - + // R10: speaker out m_speaker->level_w(data >> 10 & 1); } @@ -166,7 +166,7 @@ void amaztron_state::machine_start() { m_r = 0; m_o = 0; - + save_item(NAME(m_r)); save_item(NAME(m_o)); } diff --git a/src/mess/drivers/bitgraph.c b/src/mess/drivers/bitgraph.c index 7171ed5ae6d..684443f6bcd 100644 --- a/src/mess/drivers/bitgraph.c +++ b/src/mess/drivers/bitgraph.c @@ -165,16 +165,16 @@ private: static ADDRESS_MAP_START(bitgrapha_mem, AS_PROGRAM, 16, bitgraph_state) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x000000, 0x007fff) AM_ROM - AM_RANGE(0x010000, 0x010001) AM_DEVREADWRITE8(ACIA0_TAG, acia6850_device, data_r, data_w, 0xff00) // HOST + AM_RANGE(0x010000, 0x010001) AM_DEVREADWRITE8(ACIA0_TAG, acia6850_device, data_r, data_w, 0xff00) // HOST AM_RANGE(0x010002, 0x010003) AM_DEVREADWRITE8(ACIA0_TAG, acia6850_device, status_r, control_w, 0xff00) - AM_RANGE(0x010008, 0x010009) AM_DEVREADWRITE8(ACIA1_TAG, acia6850_device, data_r, data_w, 0x00ff) // KEYBOARD + AM_RANGE(0x010008, 0x010009) AM_DEVREADWRITE8(ACIA1_TAG, acia6850_device, data_r, data_w, 0x00ff) // KEYBOARD AM_RANGE(0x01000a, 0x01000b) AM_DEVREADWRITE8(ACIA1_TAG, acia6850_device, status_r, control_w, 0x00ff) - AM_RANGE(0x010010, 0x010011) AM_DEVREADWRITE8(ACIA2_TAG, acia6850_device, data_r, data_w, 0x00ff) // DEBUGGER + AM_RANGE(0x010010, 0x010011) AM_DEVREADWRITE8(ACIA2_TAG, acia6850_device, data_r, data_w, 0x00ff) // DEBUGGER AM_RANGE(0x010012, 0x010013) AM_DEVREADWRITE8(ACIA2_TAG, acia6850_device, status_r, control_w, 0x00ff) - AM_RANGE(0x010018, 0x010019) AM_DEVREADWRITE8(ACIA3_TAG, acia6850_device, data_r, data_w, 0x00ff) // POINTER + AM_RANGE(0x010018, 0x010019) AM_DEVREADWRITE8(ACIA3_TAG, acia6850_device, data_r, data_w, 0x00ff) // POINTER AM_RANGE(0x01001a, 0x01001b) AM_DEVREADWRITE8(ACIA3_TAG, acia6850_device, status_r, control_w, 0x00ff) AM_RANGE(0x010020, 0x010027) AM_READWRITE8(adlc_r, adlc_w, 0xff00) - AM_RANGE(0x010028, 0x01002f) AM_READWRITE8(pia_r, pia_w, 0xff00) // EAROM, PSG + AM_RANGE(0x010028, 0x01002f) AM_READWRITE8(pia_r, pia_w, 0xff00) // EAROM, PSG AM_RANGE(0x010030, 0x010031) AM_WRITE(baud_write) AM_RANGE(0x3e0000, 0x3fffff) AM_RAM ADDRESS_MAP_END @@ -182,18 +182,18 @@ ADDRESS_MAP_END static ADDRESS_MAP_START(bitgraphb_mem, AS_PROGRAM, 16, bitgraph_state) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x000000, 0x007fff) AM_ROM - AM_RANGE(0x010000, 0x010001) AM_DEVREADWRITE8(ACIA0_TAG, acia6850_device, data_r, data_w, 0xff00) // HOST + AM_RANGE(0x010000, 0x010001) AM_DEVREADWRITE8(ACIA0_TAG, acia6850_device, data_r, data_w, 0xff00) // HOST AM_RANGE(0x010002, 0x010003) AM_DEVREADWRITE8(ACIA0_TAG, acia6850_device, status_r, control_w, 0xff00) - AM_RANGE(0x010008, 0x010009) AM_DEVREADWRITE8(ACIA1_TAG, acia6850_device, data_r, data_w, 0x00ff) // KEYBOARD + AM_RANGE(0x010008, 0x010009) AM_DEVREADWRITE8(ACIA1_TAG, acia6850_device, data_r, data_w, 0x00ff) // KEYBOARD AM_RANGE(0x01000a, 0x01000b) AM_DEVREADWRITE8(ACIA1_TAG, acia6850_device, status_r, control_w, 0x00ff) - AM_RANGE(0x010010, 0x010011) AM_DEVREADWRITE8(ACIA2_TAG, acia6850_device, data_r, data_w, 0x00ff) // DEBUGGER + AM_RANGE(0x010010, 0x010011) AM_DEVREADWRITE8(ACIA2_TAG, acia6850_device, data_r, data_w, 0x00ff) // DEBUGGER AM_RANGE(0x010012, 0x010013) AM_DEVREADWRITE8(ACIA2_TAG, acia6850_device, status_r, control_w, 0x00ff) AM_RANGE(0x01001a, 0x01001b) AM_WRITE8(misccr_write, 0x00ff) AM_RANGE(0x010020, 0x010027) AM_READWRITE8(adlc_r, adlc_w, 0xff00) - AM_RANGE(0x010028, 0x01002f) AM_READWRITE8(pia_r, pia_w, 0xff00) // EAROM, PSG + AM_RANGE(0x010028, 0x01002f) AM_READWRITE8(pia_r, pia_w, 0xff00) // EAROM, PSG AM_RANGE(0x010030, 0x010031) AM_WRITE(baud_write) -// AM_RANGE(0x010030, 0x010037) AM_READ8(ppu_read, 0x00ff) -// AM_RANGE(0x010038, 0x01003f) AM_WRITE8(ppu_write, 0x00ff) +// AM_RANGE(0x010030, 0x010037) AM_READ8(ppu_read, 0x00ff) +// AM_RANGE(0x010038, 0x01003f) AM_WRITE8(ppu_write, 0x00ff) AM_RANGE(0x380000, 0x3fffff) AM_RAM ADDRESS_MAP_END @@ -257,8 +257,8 @@ WRITE8_MEMBER(bitgraph_state::pia_pb_w) m_pia_b = data; switch (m_pia_b & 0x03) { - case 2: m_psg->data_w(space, 0, m_pia_a); break; - case 3: m_psg->address_w(space, 0, m_pia_a); break; + case 2: m_psg->data_w(space, 0, m_pia_a); break; + case 3: m_psg->address_w(space, 0, m_pia_a); break; } if (BIT(m_pia_b, 3)) { @@ -302,10 +302,10 @@ WRITE_LINE_MEMBER(bitgraph_state::system_clock_write) WRITE16_MEMBER(bitgraph_state::baud_write) { DBG_LOG(1,"Baud", ("%04X\n", data)); - m_dbrgb->str_w(data & 15); // 2 DBG - m_dbrga->stt_w((data >> 4) & 15); // 1 KBD - m_dbrgb->stt_w((data >> 8) & 15); // 3 PNT - m_dbrga->str_w((data >> 12) & 15); // 0 HOST + m_dbrgb->str_w(data & 15); // 2 DBG + m_dbrga->stt_w((data >> 4) & 15); // 1 KBD + m_dbrgb->stt_w((data >> 8) & 15); // 3 PNT + m_dbrga->str_w((data >> 12) & 15); // 0 HOST } WRITE_LINE_MEMBER(bitgraph_state::com8116_a_fr_w) @@ -398,18 +398,18 @@ WRITE8_MEMBER(bitgraph_state::ppu_write) #ifdef UNUSED_FUNCTION static ADDRESS_MAP_START(ppu_io, AS_IO, 8, bitgraph_state) -// AM_RANGE(0x00, 0x00) AM_READ(ppu_irq) -// AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) -// AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(ppu_t0_r) +// AM_RANGE(0x00, 0x00) AM_READ(ppu_irq) +// AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) +// AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(ppu_t0_r) AM_RANGE(MCS48_PORT_PROG, MCS48_PORT_PROG) AM_DEVWRITE("i8243", i8243_device, i8243_prog_w) ADDRESS_MAP_END #endif /* - p4 O: Centronics data 3..0 - p5 O: Centronics data 7..4 - p6 O: Centronics control - p7 I: Centronics status + p4 O: Centronics data 3..0 + p5 O: Centronics data 7..4 + p6 O: Centronics control + p7 I: Centronics status */ WRITE8_MEMBER(bitgraph_state::ppu_i8243_w) { @@ -572,7 +572,7 @@ static MACHINE_CONFIG_START( bitgrphb, bitgraph_state ) MCFG_CPU_PROGRAM_MAP(bitgraphb_mem) MCFG_FRAGMENT_ADD(bg_motherboard) -// MCFG_FRAGMENT_ADD(bg_ppu) +// MCFG_FRAGMENT_ADD(bg_ppu) MCFG_DEVICE_ADD("system_clock", CLOCK, 1040) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(bitgraph_state, system_clock_write)) diff --git a/src/mess/drivers/cnsector.c b/src/mess/drivers/cnsector.c index a62a581b89c..b76f85a3358 100644 --- a/src/mess/drivers/cnsector.c +++ b/src/mess/drivers/cnsector.c @@ -4,7 +4,7 @@ Parker Brothers Code Name: Sector * MP0905BNL ZA0379 (die labeled 0970F-05B) - + This is a tabletop submarine pursuit game. A grid board and small toy boats are used to remember your locations (a Paint app should be ok too). Refer to the official manual for more information, it is not a simple game. @@ -69,30 +69,30 @@ public: void cnsector_state::leds_update() { UINT16 active_state[0x10]; - + for (int i = 0; i < 0x10; i++) { active_state[i] = 0; - + for (int j = 0; j < 0x10; j++) { int di = j << 4 | i; - + // turn on powered leds if (m_leds_state[i] >> j & 1) m_leds_decay[di] = LEDS_DECAY_TIME; - + // determine active state int ds = (m_leds_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } - + // on difference, send to output for (int i = 0; i < 0x10; i++) if (m_leds_cache[i] != active_state[i]) output_set_digit_value(i, active_state[i]); - + memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); } @@ -102,7 +102,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(cnsector_state::leds_decay_tick) for (int i = 0; i < 0x100; i++) if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) m_leds_decay[i]--; - + leds_update(); } @@ -122,7 +122,7 @@ READ8_MEMBER(cnsector_state::read_k) for (int i = 0; i < 5; i++) if (m_o >> i & 1) k |= m_button_matrix[i]->read(); - + return k; } @@ -201,7 +201,7 @@ void cnsector_state::machine_start() memset(m_leds_decay, 0, sizeof(m_leds_decay)); m_o = 0; - + // register for savestates save_item(NAME(m_leds_state)); save_item(NAME(m_leds_cache)); @@ -218,7 +218,7 @@ static MACHINE_CONFIG_START( cnsector, cnsector_state ) MCFG_TMS1XXX_READ_K_CB(READ8(cnsector_state, read_k)) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(cnsector_state, write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(cnsector_state, write_r)) - + MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", cnsector_state, leds_decay_tick, attotime::from_msec(10)) MCFG_DEFAULT_LAYOUT(layout_cnsector) diff --git a/src/mess/drivers/comp4.c b/src/mess/drivers/comp4.c index 86735250f26..240f259cef1 100644 --- a/src/mess/drivers/comp4.c +++ b/src/mess/drivers/comp4.c @@ -4,11 +4,11 @@ Milton Bradley Comp IV * TMC0904NL CP0904A (die labeled 4A0970D-04A) - + This is small tabletop Mastermind game; a code-breaking game where the player needs to find out the correct sequence of colours (numbers in our case). It is known as Logic 5 in Europe, and as Pythaligoras in Japan. - + Press the R key to start, followed by a set of unique numbers and E. Refer to the official manual for more information. @@ -74,7 +74,7 @@ void comp4_state::leds_update() // turn on powered leds if (m_leds_state >> i & 1) m_leds_decay[i] = LEDS_DECAY_TIME; - + // send to output output_set_lamp_value(i, (m_leds_decay[i] != 0) ? 1 : 0); } @@ -86,7 +86,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(comp4_state::leds_decay_tick) for (int i = 0; i < 0x10; i++) if (!(m_leds_state >> i & 1) && m_leds_decay[i]) m_leds_decay[i]--; - + leds_update(); } @@ -106,7 +106,7 @@ READ8_MEMBER(comp4_state::read_k) for (int i = 0; i < 3; i++) if (m_o >> (i+1) & 1) k |= m_button_matrix[i]->read(); - + return k; } @@ -173,7 +173,7 @@ void comp4_state::machine_start() memset(m_leds_decay, 0, sizeof(m_leds_decay)); m_o = 0; - + // register for savestates save_item(NAME(m_leds_state)); save_item(NAME(m_leds_decay)); @@ -189,7 +189,7 @@ static MACHINE_CONFIG_START( comp4, comp4_state ) MCFG_TMS1XXX_READ_K_CB(READ8(comp4_state, read_k)) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(comp4_state, write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(comp4_state, write_r)) - + MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", comp4_state, leds_decay_tick, attotime::from_msec(10)) MCFG_DEFAULT_LAYOUT(layout_comp4) diff --git a/src/mess/drivers/ec184x.c b/src/mess/drivers/ec184x.c index 2a21c5a476c..a25bb42395c 100644 --- a/src/mess/drivers/ec184x.c +++ b/src/mess/drivers/ec184x.c @@ -202,7 +202,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( ec1847_io, AS_IO, 8, ec184x_state ) ADDRESS_MAP_UNMAP_HIGH -// AM_RANGE(0x0210, 0x021f) AM_RAM // internal (non-standard?) bus extender +// AM_RANGE(0x0210, 0x021f) AM_RAM // internal (non-standard?) bus extender ADDRESS_MAP_END diff --git a/src/mess/drivers/excali64.c b/src/mess/drivers/excali64.c index 3c937265a20..687a65f270f 100644 --- a/src/mess/drivers/excali64.c +++ b/src/mess/drivers/excali64.c @@ -101,7 +101,7 @@ public: DECLARE_WRITE8_MEMBER(motor_w); DECLARE_MACHINE_RESET(excali64); required_device<palette_device> m_palette; - + private: const UINT8 *m_p_chargen; UINT8 *m_p_videoram; @@ -585,7 +585,7 @@ MC6845_UPDATE_ROW( excali64_state::update_row ) } else gfx = m_p_chargen[(chr<<4) | ra]; // normal character - + gfx ^= (x == cursor_x) ? 0xff : 0; /* Display a scanline of a character */ diff --git a/src/mess/drivers/gamate.c b/src/mess/drivers/gamate.c index cf48dbf80df..4ef0a94ab4a 100644 --- a/src/mess/drivers/gamate.c +++ b/src/mess/drivers/gamate.c @@ -2,7 +2,7 @@ PeT mess@utanet.at 2007, 2014 Peter Wilhelmsen peter.wilhelmsen@gmail.com Morten Shearman Kirkegaard morten+gamate@afdelingp.dk - Juan Félix Mateos vectrex@hackermesh.org + Juan F??lix Mateos vectrex@hackermesh.org ******************************************************************************/ #include "emu.h" @@ -18,7 +18,7 @@ public: : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_cart(*this, "cartslot") -// , m_gfxdecode(*this, "gfxdecode") +// , m_gfxdecode(*this, "gfxdecode") , m_io_joy(*this, "JOY") , m_palette(*this, "palette") , m_bios(*this, "bios") @@ -47,14 +47,14 @@ private: struct { - UINT8 reg[8]; - struct { - bool write; - bool page2; // else page1 + UINT8 reg[8]; + struct { + bool write; + bool page2; // else page1 UINT8 ypos, xpos/*tennis*/; - UINT8 data[2][0x100][0x20]; - } bitmap; - UINT8 x, y; + UINT8 data[2][0x100][0x20]; + } bitmap; + UINT8 x, y; bool y_increment; } video; @@ -68,7 +68,7 @@ private: required_device<cpu_device> m_maincpu; required_device<generic_slot_device> m_cart; -// required_device<gfxdecode_device> m_gfxdecode; +// required_device<gfxdecode_device> m_gfxdecode; required_ioport m_io_joy; required_device<palette_device> m_palette; required_shared_ptr<UINT8> m_bios; @@ -113,27 +113,27 @@ READ8_MEMBER( gamate_state::protection_r ) { return 1; } WRITE8_MEMBER( gamate_state::gamate_video_w ) { - video.reg[offset]=data; - switch (offset) { - case 1: video.bitmap.write=data&0xc0; // more addressing mode + video.reg[offset]=data; + switch (offset) { + case 1: video.bitmap.write=data&0xc0; // more addressing mode video.y_increment=data&0x40; break; case 2: video.bitmap.xpos=data;break; // at least 7 bits case 3: video.bitmap.ypos=data;break; // at least 7 bits - case 4: video.bitmap.page2=data&0x80;video.x=data&0x7f;break; - case 5: video.y=data;break; - case 7: - if (video.bitmap.write) { - if (video.x<ARRAY_LENGTH(video.bitmap.data[0][0]) /*&& video.y<ARRAY_LENGTH(video.bitmap.data[0])*/) - video.bitmap.data[video.bitmap.page2][video.y][video.x]=data; - else - logerror("%.6f %04x video bitmap x %x invalid\n",machine().time().as_double(), m_maincpu->pc(), video.x); - } else { - video.bitmap.data[0][video.y][video.x&(ARRAY_LENGTH(video.bitmap.data[0][0])-1)]=data; - } - if (video.y_increment) video.y++; + case 4: video.bitmap.page2=data&0x80;video.x=data&0x7f;break; + case 5: video.y=data;break; + case 7: + if (video.bitmap.write) { + if (video.x<ARRAY_LENGTH(video.bitmap.data[0][0]) /*&& video.y<ARRAY_LENGTH(video.bitmap.data[0])*/) + video.bitmap.data[video.bitmap.page2][video.y][video.x]=data; + else + logerror("%.6f %04x video bitmap x %x invalid\n",machine().time().as_double(), m_maincpu->pc(), video.x); + } else { + video.bitmap.data[0][video.y][video.x&(ARRAY_LENGTH(video.bitmap.data[0][0])-1)]=data; + } + if (video.y_increment) video.y++; else video.x++; - } + } } WRITE8_MEMBER( gamate_state::cart_bankswitchmulti_w ) @@ -149,54 +149,54 @@ WRITE8_MEMBER( gamate_state::cart_bankswitch_w ) READ8_MEMBER( gamate_state::gamate_video_r ) { if (offset!=6) return 0; - UINT8 data=0; - if (video.bitmap.write) { - if (video.x<ARRAY_LENGTH(video.bitmap.data[0][0]) /*&& video.y<ARRAY_LENGTH(video.bitmap.data[0])*/) - data=video.bitmap.data[video.bitmap.page2][video.y][video.x]; - else - logerror("%.6f video bitmap x %x invalid\n",machine().time().as_double(),video.x); - } else { - data=video.bitmap.data[0][video.y][video.x&(ARRAY_LENGTH(video.bitmap.data[0][0])-1)]; - } - if (m_maincpu->pc()<0xf000) - logerror("%.6f video read %04x %02x\n",machine().time().as_double(),offset, data); - return data; + UINT8 data=0; + if (video.bitmap.write) { + if (video.x<ARRAY_LENGTH(video.bitmap.data[0][0]) /*&& video.y<ARRAY_LENGTH(video.bitmap.data[0])*/) + data=video.bitmap.data[video.bitmap.page2][video.y][video.x]; + else + logerror("%.6f video bitmap x %x invalid\n",machine().time().as_double(),video.x); + } else { + data=video.bitmap.data[0][video.y][video.x&(ARRAY_LENGTH(video.bitmap.data[0][0])-1)]; + } + if (m_maincpu->pc()<0xf000) + logerror("%.6f video read %04x %02x\n",machine().time().as_double(),offset, data); + return data; } WRITE8_MEMBER( gamate_state::gamate_audio_w ) { - logerror("%.6f %04x audio write %04x %02x\n",machine().time().as_double(),m_maincpu->pc(),offset,data); + logerror("%.6f %04x audio write %04x %02x\n",machine().time().as_double(),m_maincpu->pc(),offset,data); } READ8_MEMBER( gamate_state::gamate_audio_r ) { - logerror("%.6f %04x audio read %04x \n",machine().time().as_double(),m_maincpu->pc(),offset); + logerror("%.6f %04x audio read %04x \n",machine().time().as_double(),m_maincpu->pc(),offset); return 0; } READ8_MEMBER( gamate_state::gamate_pad_r ) { - UINT8 data=m_io_joy->read(); - return data; + UINT8 data=m_io_joy->read(); + return data; } static ADDRESS_MAP_START( gamate_mem, AS_PROGRAM, 8, gamate_state ) - AM_RANGE(0x0000, 0x03ff) AM_RAM - AM_RANGE(0x4000, 0x400d) AM_READWRITE(gamate_audio_r, gamate_audio_w) - AM_RANGE(0x4400, 0x4400) AM_READ(gamate_pad_r) - AM_RANGE(0x5000, 0x5007) AM_READWRITE(gamate_video_r, gamate_video_w) - AM_RANGE(0x5a00, 0x5a00) AM_READ(protection_r) + AM_RANGE(0x0000, 0x03ff) AM_RAM + AM_RANGE(0x4000, 0x400d) AM_READWRITE(gamate_audio_r, gamate_audio_w) + AM_RANGE(0x4400, 0x4400) AM_READ(gamate_pad_r) + AM_RANGE(0x5000, 0x5007) AM_READWRITE(gamate_video_r, gamate_video_w) + AM_RANGE(0x5a00, 0x5a00) AM_READ(protection_r) - AM_RANGE(0x6000, 0x9fff) AM_READ_BANK("bankmulti") - AM_RANGE(0xa000, 0xdfff) AM_READ_BANK("bank") + AM_RANGE(0x6000, 0x9fff) AM_READ_BANK("bankmulti") + AM_RANGE(0xa000, 0xdfff) AM_READ_BANK("bank") AM_RANGE(0x6000, 0x6002) AM_READWRITE(gamate_cart_protection_r, gamate_cart_protection_w) -// AM_RANGE(0x6000, 0xdfff) AM_READWRITE(gamate_cart_r, gamate_cart_w) +// AM_RANGE(0x6000, 0xdfff) AM_READWRITE(gamate_cart_r, gamate_cart_w) AM_RANGE(0x8000, 0x8000) AM_WRITE(cart_bankswitchmulti_w) AM_RANGE(0xc000, 0xc000) AM_WRITE(cart_bankswitch_w) - AM_RANGE(0xf000, 0xffff) AM_ROM AM_SHARE("bios") + AM_RANGE(0xf000, 0xffff) AM_ROM AM_SHARE("bios") ADDRESS_MAP_END @@ -215,16 +215,16 @@ INPUT_PORTS_END #ifdef UNUSED_CODE static const struct gfx_layout gamate_charlayout = { - 4, /* width of object */ - 1, /* height of object */ - 256,/* 256 characters */ - 2, /* bits per pixel */ - { 0,1 }, /* no bitplanes */ - /* x offsets */ - { 0,2,4,6 }, - /* y offsets */ - { 0 }, - 8*1 /* size of 1 object in bits */ + 4, /* width of object */ + 1, /* height of object */ + 256,/* 256 characters */ + 2, /* bits per pixel */ + { 0,1 }, /* no bitplanes */ + /* x offsets */ + { 0,2,4,6 }, + /* y offsets */ + { 0 }, + 8*1 /* size of 1 object in bits */ }; static const unsigned short gamate_palette[4] = @@ -233,17 +233,17 @@ static const unsigned short gamate_palette[4] = }; static GFXDECODE_START( gamate_charlayout ) - GFXDECODE_ENTRY( "gfx1", 0x0000, gamate_charlayout, 0, 0x100 ) + GFXDECODE_ENTRY( "gfx1", 0x0000, gamate_charlayout, 0, 0x100 ) GFXDECODE_END #endif /* palette in red, green, blue tribles */ static const unsigned char gamate_colors[4][3] = { - { 255,255,255 }, - { 0xa0, 0xa0, 0xa0 }, - { 0x60, 0x60, 0x60 }, - { 0, 0, 0 } + { 255,255,255 }, + { 0xa0, 0xa0, 0xa0 }, + { 0x60, 0x60, 0x60 }, + { 0, 0, 0 } }; PALETTE_INIT_MEMBER(gamate_state, gamate) @@ -274,22 +274,22 @@ static void BlitPlane(UINT16* line, UINT8 plane1, UINT8 plane2) UINT32 gamate_state::screen_update_gamate(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - int x, y, j; - for (y=0;y<152;y++) { - for (x=-(video.bitmap.xpos&7), j=0;x<160;x+=8, j++) { - UINT8 d1=video.bitmap.data[0][(y+video.bitmap.ypos)&0xff][(j+video.bitmap.xpos/8)&0x1f]; - UINT8 d2=video.bitmap.data[1][(y+video.bitmap.ypos)&0xff][(j+video.bitmap.xpos/8)&0x1f]; - BlitPlane(&bitmap.pix16(y, x+4), d1, d2); - BlitPlane(&bitmap.pix16(y, x), d1>>4, d2>>4); - } - } - return 0; + int x, y, j; + for (y=0;y<152;y++) { + for (x=-(video.bitmap.xpos&7), j=0;x<160;x+=8, j++) { + UINT8 d1=video.bitmap.data[0][(y+video.bitmap.ypos)&0xff][(j+video.bitmap.xpos/8)&0x1f]; + UINT8 d2=video.bitmap.data[1][(y+video.bitmap.ypos)&0xff][(j+video.bitmap.xpos/8)&0x1f]; + BlitPlane(&bitmap.pix16(y, x+4), d1, d2); + BlitPlane(&bitmap.pix16(y, x), d1>>4, d2>>4); + } + } + return 0; } DRIVER_INIT_MEMBER(gamate_state,gamate) { memset(&video, 0, sizeof(video));/* memset(m_ram, 0, sizeof(m_ram));*/ - UINT8 *gfx=memregion("gfx1")->base(); for (int i=0; i<256; i++) gfx[i]=i; + UINT8 *gfx=memregion("gfx1")->base(); for (int i=0; i<256; i++) gfx[i]=i; timer1 = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gamate_state::gamate_timer),this)); timer2 = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gamate_state::gamate_timer2),this)); } @@ -298,7 +298,7 @@ DRIVER_INIT_MEMBER(gamate_state,gamate) void gamate_state::machine_start() { if (m_cart->exists()) { -// m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r)); +// m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r)); membank("bankmulti")->set_base(m_cart->get_rom_base()); membank("bank")->set_base(m_cart->get_rom_base()+0x4000); // bankswitched games in reality no offset } @@ -355,9 +355,9 @@ static MACHINE_CONFIG_START( gamate, gamate_state ) MCFG_SCREEN_UPDATE_DRIVER(gamate_state, screen_update_gamate) MCFG_SCREEN_PALETTE("palette") -// MCFG_GFXDECODE_ADD("gfxdecode", "palette", gamate ) +// MCFG_GFXDECODE_ADD("gfxdecode", "palette", gamate ) MCFG_PALETTE_ADD("palette", ARRAY_LENGTH(gamate_colors)) -// MCFG_PALETTE_INDIRECT_ENTRIES(4) +// MCFG_PALETTE_INDIRECT_ENTRIES(4) MCFG_PALETTE_INIT_OWNER(gamate_state, gamate) MCFG_DEFAULT_LAYOUT(layout_lcd) @@ -371,11 +371,9 @@ MACHINE_CONFIG_END ROM_START(gamate) ROM_REGION(0x10000,"maincpu", 0) ROM_LOAD("gamate_bios_umc.bin", 0xf000, 0x1000, CRC(07090415) SHA1(ea449dc607601f9a68d855ad6ab53800d2e99297) ) - ROM_REGION(0x100,"gfx1", ROMREGION_ERASEFF) + ROM_REGION(0x100,"gfx1", ROMREGION_ERASEFF) ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */ CONS( 19??, gamate, 0, 0, gamate, gamate, gamate_state, gamate, "Bit Corp", "Gamate", GAME_NO_SOUND) - - diff --git a/src/mess/drivers/hp16500.c b/src/mess/drivers/hp16500.c index 892d2abadb9..ac2a5aa4fd0 100644 --- a/src/mess/drivers/hp16500.c +++ b/src/mess/drivers/hp16500.c @@ -1,6 +1,6 @@ /*************************************************************************** - - Hewlett-Packard HP16500b Logic Analyzer + + Hewlett-Packard HP16500b Logic Analyzer MC68EC030 @ 25 MHz @@ -16,7 +16,7 @@ IRQ 5 = 814a IRQ 6 = 35c8 (jump 840120) IRQ 7 = 35d4 (jump 840120) - + ****************************************************************************/ #include "emu.h" @@ -28,7 +28,7 @@ public: hp16500_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu") - { } + { } virtual void video_start(); UINT32 screen_update_hp16500(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -55,7 +55,7 @@ private: READ32_MEMBER(hp16500_state::vbl_state_r) { - return 0x03000000; // bit 0 set means the interrupt handler advances the pSOS tick counter. + return 0x03000000; // bit 0 set means the interrupt handler advances the pSOS tick counter. } WRITE32_MEMBER(hp16500_state::vbl_ack_w) @@ -71,7 +71,7 @@ static ADDRESS_MAP_START(hp16500_map, AS_PROGRAM, 32, hp16500_state) AM_RANGE(0x00203000, 0x00203003) AM_WRITE(vbl_ack_w) AM_RANGE(0x00209800, 0x00209803) AM_READ(vbl_state_r) - AM_RANGE(0x0020b800, 0x0020b8ff) AM_RAM // system ram test is really strange. + AM_RANGE(0x0020b800, 0x0020b8ff) AM_RAM // system ram test is really strange. AM_RANGE(0x00600000, 0x0061ffff) AM_WRITE16(vram_w, 0xffffffff) AM_RANGE(0x00600000, 0x0067ffff) AM_READ8 (vram_r, 0x00ff00ff) @@ -201,4 +201,3 @@ ROM_START( hp16500b ) ROM_END COMP( 1994, hp16500b, 0, 0, hp16500, hp16500, driver_device, 0, "Hewlett Packard", "HP 16500b", GAME_NOT_WORKING|GAME_NO_SOUND) - diff --git a/src/mess/drivers/hp9k_3xx.c b/src/mess/drivers/hp9k_3xx.c index 95cd0b0cf72..05e34fb654b 100644 --- a/src/mess/drivers/hp9k_3xx.c +++ b/src/mess/drivers/hp9k_3xx.c @@ -1,23 +1,23 @@ // license:BSD-3-Clause // copyright-holders:R. Belmont /*************************************************************************** - + hp9k3xx.c: preliminary driver for HP9000 300 Series (aka HP9000/3xx) - + Currently supporting: - + 320: MC68020 CPU @ 16.67 MHz HP custom MMU MC68881 FPU - + 330: - MC68020 CPU @ 16.67 MHz - MC68851 MMU - MC68881 FPU - + MC68020 CPU @ 16.67 MHz + MC68851 MMU + MC68881 FPU + All models have an MC6840 PIT on IRQ6 clocked at 250 kHz. - + TODO: BBCADDR 0x420000 RTC_DATA: 0x420001 @@ -27,9 +27,9 @@ KBDNMIST: 0x478005 DMA: 0x500000 FRAMEBUF: 0x560000 - + 6840: 0x5F8001/3/5/7/9, IRQ 6 - + ****************************************************************************/ #include "emu.h" @@ -88,14 +88,14 @@ UINT32 hp9k3xx_state::hp98544_update(screen_device &screen, bitmap_rgb32 &bitmap // shared mappings for all 9000/3xx systems static ADDRESS_MAP_START(hp9k3xx_common, AS_PROGRAM, 32, hp9k3xx_state) - AM_RANGE(0x00000000, 0x0001ffff) AM_ROM AM_REGION("maincpu",0) AM_WRITENOP // writes to 1fffc are the LED + AM_RANGE(0x00000000, 0x0001ffff) AM_ROM AM_REGION("maincpu",0) AM_WRITENOP // writes to 1fffc are the LED - AM_RANGE(0x00200000, 0x002fffff) AM_RAM AM_SHARE("vram") // 98544 mono framebuffer - AM_RANGE(0x00560000, 0x00563fff) AM_ROM AM_REGION("graphics", 0x0000) // 98544 mono ROM + AM_RANGE(0x00200000, 0x002fffff) AM_RAM AM_SHARE("vram") // 98544 mono framebuffer + AM_RANGE(0x00560000, 0x00563fff) AM_ROM AM_REGION("graphics", 0x0000) // 98544 mono ROM - AM_RANGE(0x00510000, 0x00510003) AM_READWRITE(buserror_r, buserror_w) // no "Alpha display" - AM_RANGE(0x00538000, 0x00538003) AM_READWRITE(buserror_r, buserror_w) // no "Graphics" - AM_RANGE(0x005c0000, 0x005c0003) AM_READWRITE(buserror_r, buserror_w) // no add-on FP coprocessor + AM_RANGE(0x00510000, 0x00510003) AM_READWRITE(buserror_r, buserror_w) // no "Alpha display" + AM_RANGE(0x00538000, 0x00538003) AM_READWRITE(buserror_r, buserror_w) // no "Graphics" + AM_RANGE(0x005c0000, 0x005c0003) AM_READWRITE(buserror_r, buserror_w) // no add-on FP coprocessor AM_RANGE(0x005f8000, 0x005f800f) AM_DEVREADWRITE8(PTM6840_TAG, ptm6840_device, read, write, 0x00ff00ff) ADDRESS_MAP_END @@ -148,7 +148,7 @@ static MACHINE_CONFIG_START( hp9k320, hp9k3xx_state ) MCFG_CPU_PROGRAM_MAP(hp9k320_map) MCFG_DEVICE_ADD(PTM6840_TAG, PTM6840, 0) - MCFG_PTM6840_INTERNAL_CLOCK(250000.0f) // from oscillator module next to the 6840 + MCFG_PTM6840_INTERNAL_CLOCK(250000.0f) // from oscillator module next to the 6840 MCFG_PTM6840_EXTERNAL_CLOCKS(250000.0f, 250000.0f, 250000.0f) MCFG_SCREEN_ADD( "screen", RASTER) @@ -164,7 +164,7 @@ static MACHINE_CONFIG_START( hp9k330, hp9k3xx_state ) MCFG_CPU_PROGRAM_MAP(hp9k330_map) MCFG_DEVICE_ADD(PTM6840_TAG, PTM6840, 0) - MCFG_PTM6840_INTERNAL_CLOCK(250000.0f) // from oscillator module next to the 6840 + MCFG_PTM6840_INTERNAL_CLOCK(250000.0f) // from oscillator module next to the 6840 MCFG_PTM6840_EXTERNAL_CLOCKS(250000.0f, 250000.0f, 250000.0f) MCFG_SCREEN_ADD( "screen", RASTER) @@ -176,10 +176,10 @@ MACHINE_CONFIG_END ROM_START( hp9k320 ) ROM_REGION( 0x20000, MAINCPU_TAG, 0 ) - ROM_LOAD16_BYTE( "5061-6538.bin", 0x000001, 0x004000, CRC(d6aafeb1) SHA1(88c6b0b2f504303cbbac0c496c26b85458ac5d63) ) - ROM_LOAD16_BYTE( "5061-6539.bin", 0x000000, 0x004000, CRC(a7ff104c) SHA1(c640fe68314654716bd41b04c6a7f4e560036c7e) ) - ROM_LOAD16_BYTE( "5061-6540.bin", 0x008001, 0x004000, CRC(4f6796d6) SHA1(fd254897ac1afb8628f40ea93213f60a082c8d36) ) - ROM_LOAD16_BYTE( "5061-6541.bin", 0x008000, 0x004000, CRC(39d32998) SHA1(6de1bda75187b0878c03c074942b807cf2924f0e) ) + ROM_LOAD16_BYTE( "5061-6538.bin", 0x000001, 0x004000, CRC(d6aafeb1) SHA1(88c6b0b2f504303cbbac0c496c26b85458ac5d63) ) + ROM_LOAD16_BYTE( "5061-6539.bin", 0x000000, 0x004000, CRC(a7ff104c) SHA1(c640fe68314654716bd41b04c6a7f4e560036c7e) ) + ROM_LOAD16_BYTE( "5061-6540.bin", 0x008001, 0x004000, CRC(4f6796d6) SHA1(fd254897ac1afb8628f40ea93213f60a082c8d36) ) + ROM_LOAD16_BYTE( "5061-6541.bin", 0x008000, 0x004000, CRC(39d32998) SHA1(6de1bda75187b0878c03c074942b807cf2924f0e) ) ROM_REGION( 0x4000, "graphics", ROMREGION_ERASEFF | ROMREGION_BE | ROMREGION_32BIT ) ROM_LOAD16_BYTE( "98544_1818-1999.bin", 0x000001, 0x002000, CRC(8c7d6480) SHA1(d2bcfd39452c38bc652df39f84c7041cfdf6bd51) ) @@ -187,8 +187,8 @@ ROM_END ROM_START( hp9k330 ) ROM_REGION( 0x20000, MAINCPU_TAG, 0 ) - ROM_LOAD16_BYTE( "1818-4416.bin", 0x000000, 0x010000, CRC(cd71e85e) SHA1(3e83a80682f733417fdc3720410e45a2cfdcf869) ) - ROM_LOAD16_BYTE( "1818-4417.bin", 0x000001, 0x010000, CRC(374d49db) SHA1(a12cbf6c151e2f421da4571000b5dffa3ef403b3) ) + ROM_LOAD16_BYTE( "1818-4416.bin", 0x000000, 0x010000, CRC(cd71e85e) SHA1(3e83a80682f733417fdc3720410e45a2cfdcf869) ) + ROM_LOAD16_BYTE( "1818-4417.bin", 0x000001, 0x010000, CRC(374d49db) SHA1(a12cbf6c151e2f421da4571000b5dffa3ef403b3) ) ROM_REGION( 0x4000, "graphics", ROMREGION_ERASEFF | ROMREGION_BE | ROMREGION_32BIT ) ROM_LOAD16_BYTE( "98544_1818-1999.bin", 0x000001, 0x002000, CRC(8c7d6480) SHA1(d2bcfd39452c38bc652df39f84c7041cfdf6bd51) ) diff --git a/src/mess/drivers/intv.c b/src/mess/drivers/intv.c index 79843415575..0ff310c509c 100644 --- a/src/mess/drivers/intv.c +++ b/src/mess/drivers/intv.c @@ -682,7 +682,7 @@ Intel 2732 "CPU 2D" CPU2D.U21 4Kx8 EPROM, 6502 code TI 8S030N 1149-0360 0360.U58 32x8 Timing prom? TI 8S030N 1149-0370 0370.U74 32x8 Timing prom? - + GI RO-3-9502-024 024.U60 2Kx10 Mask ROM+Addr Decoder, CP1600 code GI 9316B-4D72 4D72.U62 2Kx8 Mask ROM, CP1600 code (upper) GI 9316B-4D71 4D71.U63 2Kx8 Mask ROM, CP1600 code (lower) @@ -691,7 +691,7 @@ GI 9316B-4C52 4C52.U34 2Kx8 Mask ROM, Alphanumerics Main board also includes: 2 2114 DRAMS 1Kx4 Character memory - 10 MM5290J DRAMS 16Kx10 CP1600 memory? + 10 MM5290J DRAMS 16Kx10 CP1600 memory? 1 6502 1 Mystery 40-pin chip (under heat sink) (actually a SMC CRT5027 aka TI TMS9927 CRT controller) @@ -715,7 +715,7 @@ ROM_START(intvkbd) // the intv1 exec rom should be two roms: RO-3-9502-011.U5 an ROM_REGION(0x0100,"proms",0) ROM_LOAD( "0360.u58", 0x00, 0x20, CRC(1295528a) SHA1(b35e598891f1185e02cbacb4811d2334357abd79)) - ROM_LOAD( "0370.u74", 0x20, 0x20, CRC(19da5096) SHA1(76af50e4fd29649fc4837120c245321a8fc84cd3)) + ROM_LOAD( "0370.u74", 0x20, 0x20, CRC(19da5096) SHA1(76af50e4fd29649fc4837120c245321a8fc84cd3)) ROM_END DRIVER_INIT_MEMBER(intv_state,intv) diff --git a/src/mess/drivers/leapster.c b/src/mess/drivers/leapster.c index 5d25830036c..efdf33e23af 100644 --- a/src/mess/drivers/leapster.c +++ b/src/mess/drivers/leapster.c @@ -283,9 +283,9 @@ void leapster_state::machine_reset() static ADDRESS_MAP_START( leapster_map, AS_PROGRAM, 32, leapster_state ) AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_MIRROR(0x40000000) // pointers in the bios region seem to be to the 40xxxxxx region, either we mirror there or something (real bios?) is acutally missing AM_RANGE(0x0180D800, 0x0180D803) AM_READ(leapster_random_r) - AM_RANGE(0x03000000, 0x030007ff) AM_RAM // puts stack here, writes a pointer @ 0x03000000 on startup + AM_RANGE(0x03000000, 0x030007ff) AM_RAM // puts stack here, writes a pointer @ 0x03000000 on startup AM_RANGE(0x3c000000, 0x3c1fffff) AM_RAM // really ram, or has our code execution gone wrong? -// AM_RANGE(0x80000000, 0x807fffff) AM_ROMBANK("cartrom") // game ROM pointers are all to the 80xxxxxx region, so I assume it maps here - installed if a cart is present +// AM_RANGE(0x80000000, 0x807fffff) AM_ROMBANK("cartrom") // game ROM pointers are all to the 80xxxxxx region, so I assume it maps here - installed if a cart is present ADDRESS_MAP_END static MACHINE_CONFIG_START( leapster, leapster_state ) @@ -323,7 +323,6 @@ ROM_END DRIVER_INIT_MEMBER(leapster_state,leapster) { - } CONS(2003, leapster, 0, 0, leapster, leapster, leapster_state, leapster, "LeapFrog", "Leapster (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_SKELETON ) diff --git a/src/mess/drivers/mathmagi.c b/src/mess/drivers/mathmagi.c index aac21203ff0..e271bdddd9a 100644 --- a/src/mess/drivers/mathmagi.c +++ b/src/mess/drivers/mathmagi.c @@ -6,13 +6,13 @@ * TMS1100 MP1030 - MCU * 2 x DS8870N - Hex LED Digit Driver * 2 x DS8861N - MOS-to-LED 5-Segment Driver - + This is a tabletop educational calculator. It came with plastic overlays for playing different kind of games. Refer to the manual on how to use it. In short, to start from scratch, press [SEL]. By default the device is in calculator teaching mode. If [SEL] is followed with 1-6 and then [NXT], one of the games is started. - + 1) Number Machine 2) Countin' On 3) Walk The Plank @@ -24,7 +24,7 @@ TODO: - some of the led symbols are probably wrong, output PLA is unknown - microinstructions PLA is not verified - + ***************************************************************************/ #include "emu.h" @@ -102,7 +102,7 @@ WRITE16_MEMBER(mathmagi_state::write_r) if (i >= 8) for (int j = 0; j < 8; j++) output_set_lamp_value(i*10 + j, m_o >> j & 1); - + // R0-R7: 7seg leds else output_set_digit_value(i, m_o >> 1 & 0x7f); diff --git a/src/mess/drivers/mc1502.c b/src/mess/drivers/mc1502.c index 5a2b4fba8bc..7ee666e6270 100644 --- a/src/mess/drivers/mc1502.c +++ b/src/mess/drivers/mc1502.c @@ -51,8 +51,8 @@ TIMER_CALLBACK_MEMBER(mc1502_state::keyb_signal_callback) key |= ioport("Y10")->read(); key |= ioport("Y11")->read(); key |= ioport("Y12")->read(); -// DBG_LOG(1,"mc1502_k_s_c",("= %02X (%d) %s\n", key, m_kbd.pulsing, -// (key || m_kbd.pulsing) ? " will IRQ" : "")); +// DBG_LOG(1,"mc1502_k_s_c",("= %02X (%d) %s\n", key, m_kbd.pulsing, +// (key || m_kbd.pulsing) ? " will IRQ" : "")); /* If a key is pressed and we're not pulsing yet, start pulsing the IRQ1; @@ -73,7 +73,7 @@ TIMER_CALLBACK_MEMBER(mc1502_state::keyb_signal_callback) WRITE8_MEMBER(mc1502_state::mc1502_ppi_portb_w) { -// DBG_LOG(2,"mc1502_ppi_portb_w",("( %02X )\n", data)); +// DBG_LOG(2,"mc1502_ppi_portb_w",("( %02X )\n", data)); m_ppi_portb = data; m_pit8253->write_gate2(BIT(data, 0)); mc1502_speaker_set_spkrdata(BIT(data, 1)); @@ -87,7 +87,7 @@ WRITE8_MEMBER(mc1502_state::mc1502_ppi_portb_w) // bit 3: i8251 SYNDET pin triggers NMI (default = 1 = no) WRITE8_MEMBER(mc1502_state::mc1502_ppi_portc_w) { -// DBG_LOG(2,"mc1502_ppi_portc_w",("( %02X )\n", data)); +// DBG_LOG(2,"mc1502_ppi_portc_w",("( %02X )\n", data)); m_ppi_portc = data & 15; } @@ -104,8 +104,8 @@ READ8_MEMBER(mc1502_state::mc1502_ppi_portc_r) data = ( data & ~0x20 ) | ( m_pit_out2 ? 0x20 : 0x00 ); data = ( data & ~0x10 ) | ( (BIT(m_ppi_portb, 1) && m_pit_out2) ? 0x10 : 0x00 ); -// DBG_LOG(2,"mc1502_ppi_portc_r",("= %02X (tap_val %f t2out %d) at %s\n", -// data, tap_val, m_pit_out2, machine().describe_context())); +// DBG_LOG(2,"mc1502_ppi_portc_r",("= %02X (tap_val %f t2out %d) at %s\n", +// data, tap_val, m_pit_out2, machine().describe_context())); return data; } @@ -126,7 +126,7 @@ READ8_MEMBER(mc1502_state::mc1502_kppi_porta_r) if (m_kbd.mask & 0x0400) { key |= ioport("Y11")->read(); } if (m_kbd.mask & 0x0800) { key |= ioport("Y12")->read(); } key ^= 0xff; -// DBG_LOG(2,"mc1502_kppi_porta_r",("= %02X\n", key)); +// DBG_LOG(2,"mc1502_kppi_porta_r",("= %02X\n", key)); return key; } @@ -138,14 +138,14 @@ WRITE8_MEMBER(mc1502_state::mc1502_kppi_portb_w) m_kbd.mask |= 1 << 11; else m_kbd.mask &= ~(1 << 11); -// DBG_LOG(2,"mc1502_kppi_portb_w",("( %02X -> %04X )\n", data, m_kbd.mask)); +// DBG_LOG(2,"mc1502_kppi_portb_w",("( %02X -> %04X )\n", data, m_kbd.mask)); } WRITE8_MEMBER(mc1502_state::mc1502_kppi_portc_w) { m_kbd.mask &= ~(7 << 8); m_kbd.mask |= ((data ^ 7) & 7) << 8; -// DBG_LOG(2,"mc1502_kppi_portc_w",("( %02X -> %04X )\n", data, m_kbd.mask)); +// DBG_LOG(2,"mc1502_kppi_portc_w",("( %02X -> %04X )\n", data, m_kbd.mask)); } WRITE_LINE_MEMBER(mc1502_state::mc1502_i8251_syndet) diff --git a/src/mess/drivers/megadriv.c b/src/mess/drivers/megadriv.c index 51ecd138784..25ffbb0a446 100644 --- a/src/mess/drivers/megadriv.c +++ b/src/mess/drivers/megadriv.c @@ -769,7 +769,7 @@ ROM_END ROM_START( megacdj ) ROM_REGION16_BE( 0x400000, "maincpu", ROMREGION_ERASE00 ) - ROM_DEFAULT_BIOS("v100g") // this seems the only revision where the cursor in CD menu works, allowing to boot games + ROM_DEFAULT_BIOS("v100g") // this seems the only revision where the cursor in CD menu works, allowing to boot games /* Confirmed by ElBarto */ ROM_SYSTEM_BIOS(0, "v100s", "v1.00S") ROMX_LOAD( "mpr-14088h.bin", 0x000000, 0x020000, CRC(3773d5aa) SHA1(bbf729a1aaa1667b783749299e1ad932aaf5f253), ROM_BIOS(1) | ROM_GROUPWORD | ROM_REVERSE) @@ -782,7 +782,7 @@ ROM_START( megacdj ) /* Confirmed by ElBarto */ ROM_SYSTEM_BIOS(3, "v100o", "v1.00O") ROMX_LOAD( "epr-14088d.bin", 0x000000, 0x020000, CRC(dfa95ee9) SHA1(e13666c76fa0a2e94e2f651b26b0fd625bf55f07), ROM_BIOS(4) | ROM_GROUPWORD | ROM_REVERSE) - ROM_SYSTEM_BIOS(4, "v100p", "v1.00P") // CRC: e2e70bc8 when byteswapped + ROM_SYSTEM_BIOS(4, "v100p", "v1.00P") // CRC: e2e70bc8 when byteswapped ROMX_LOAD( "epr-14088e.bin", 0x000000, 0x020000, CRC(9d2da8f2) SHA1(4846f448160059a7da0215a5df12ca160f26dd69), ROM_BIOS(5) ) ROM_END diff --git a/src/mess/drivers/merlin.c b/src/mess/drivers/merlin.c index 2d226239125..38bc08ddc52 100644 --- a/src/mess/drivers/merlin.c +++ b/src/mess/drivers/merlin.c @@ -4,7 +4,7 @@ Parker Bros Merlin handheld computer game * TMS1100NLL MP3404A-N2 (has internal ROM) - + To start a game, press NEW GAME, followed by a number: 1: Tic-Tac-Toe 2: Music Machine @@ -12,15 +12,15 @@ 4: Blackjack 13 5: Magic Square 6: Mindbender - + Refer to the official manual for more information on the games. - - + + Other handhelds assumed to be on similar hardware: - Dr. Smith - by Tomy, released in Japan (basically a white version of Merlin, let's assume for now that the ROM contents is identical) - Master Merlin - + Another sequel, called Split Second, looks like different hardware. @@ -75,7 +75,7 @@ protected: READ8_MEMBER(merlin_state::read_k) { UINT8 k = 0; - + // read selected button rows for (int i = 0; i < 4; i++) if (m_o >> i & 1) diff --git a/src/mess/drivers/ngen.c b/src/mess/drivers/ngen.c index 5782e178117..2c044d7a283 100644 --- a/src/mess/drivers/ngen.c +++ b/src/mess/drivers/ngen.c @@ -4,18 +4,18 @@ 10-11-14 - Skeleton driver - Interrupts based on patents: - level 1 - SIO - level 3 - timer (from PIT, presumably channel 0? Patent says "channel 3") - level 4 - "interrupt detector" - keyboard, printer, RTC - level 7 - floppy/hard disk - - DMA channels: - channel 0 - communications (RS-232) - channel 1 - X-Bus expansion modules (except disk and graphics) - channel 2 - graphics? - channel 3 - hard disk - + Interrupts based on patents: + level 1 - SIO + level 3 - timer (from PIT, presumably channel 0? Patent says "channel 3") + level 4 - "interrupt detector" - keyboard, printer, RTC + level 7 - floppy/hard disk + + DMA channels: + channel 0 - communications (RS-232) + channel 1 - X-Bus expansion modules (except disk and graphics) + channel 2 - graphics? + channel 3 - hard disk + To get to "menu mode", press Space quickly after reset (might need good timing) The bootstrap ROM version number is displayed, along with "B,D,L,M,P,T:" You can press one of these keys for the following tests: @@ -33,18 +33,18 @@ T: Type of Operating System Gives an "OS:" prompt, at which you can enter the number of the system image to load at the master workstation. - + Panel Debugger: - Open/Modify RAM Enter an address (seg:off) followed by a forward-slash, the contents of this word will appear, you can enter a value to set it to, or just press Next (default: Enter) to leave - it as is. It will then go on to the next word. Pressing Return (scan code unknown + it as is. It will then go on to the next word. Pressing Return (scan code unknown currently) will return to the debugger prompt. - Open/Modify Register Enter the register only, and the contents will appear, you can leave it or alter it (you must enter all digits (eg: 0A03 if you're modifying DX) then press Return. - I/O to or from a port - Input: Address (segment is ignored, and not required) followed by I, a byte is read from + Input: Address (segment is ignored, and not required) followed by I, a byte is read from the port defined by the offset, and the byte is displayed. Output: Address followed by O, you are now prompted with an '='. Enter the byte to send to the port, and press Return. @@ -52,7 +52,7 @@ Enter an address (seg:off) followed by H. Sets a haltpoint at the specified address. Does not work for ROM addresses. Only one allowed at a time. Haltpoint info is stored at 0000:01F0. Uses a software interrupt (INT 7C), rather than INT 3. - + To start or continue from the current address, enter P. To start from a specific address, enter the address (seg:off) followed by a G. */ @@ -624,7 +624,7 @@ static MACHINE_CONFIG_START( ngen, ngen_state ) MCFG_I8251_TXD_HANDLER(DEVWRITELINE("keyboard", rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD("keyboard", keyboard, "ngen") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("videouart", i8251_device, write_rxd)) - + MCFG_DEVICE_ADD("refresh_clock", CLOCK, 19200*16) // should be 19530Hz MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(ngen_state,timer_clk_out)) @@ -662,10 +662,10 @@ ROM_START( ngen ) ROM_REGION( 0x2000, "bios", 0) ROM_LOAD16_BYTE( "72-00414_80186_cpu.bin", 0x000000, 0x001000, CRC(e1387a03) SHA1(ddca4eba67fbf8b731a8009c14f6b40edcbc3279) ) // bootstrap ROM v8.4 ROM_LOAD16_BYTE( "72-00415_80186_cpu.bin", 0x000001, 0x001000, CRC(a6dde7d9) SHA1(b4d15c1bce31460ab5b92ff43a68c15ac5485816) ) - + ROM_REGION( 0x1000, "disk", 0) ROM_LOAD( "72-00422_10mb_disk.bin", 0x000000, 0x001000, CRC(f5b046b6) SHA1(b303c6f6aa40504016de9826879bc316e44389aa) ) - + ROM_REGION( 0x20, "disk_prom", 0) ROM_LOAD( "72-00422_10mb_disk_15d.bin", 0x000000, 0x000020, CRC(121ee494) SHA1(9a8d3c336cc7378a71f9d48c99f88515eb236fbf) ) ROM_END diff --git a/src/mess/drivers/simon.c b/src/mess/drivers/simon.c index 5ce6333129f..0a7947d9a94 100644 --- a/src/mess/drivers/simon.c +++ b/src/mess/drivers/simon.c @@ -3,14 +3,14 @@ /*************************************************************************** Milton Bradley Simon - + Revision A hardware: * TMS1000 (has internal ROM), DS75494 lamp driver - + Newer revisions have a smaller 16-pin MB4850 chip instead of the TMS1000. This one has been decapped too, but we couldn't find an internal ROM. It is possibly a cost-reduced custom ASIC specifically for Simon. - + Other games assumed to be on similar hardware: - Pocket Simon, but there's a chance it only exists with MB4850 chip - Super Simon (TMS1100) @@ -61,7 +61,7 @@ public: READ8_MEMBER(simon_state::read_k) { UINT8 k = 0; - + // read selected button rows for (int i = 0; i < 4; i++) { @@ -82,7 +82,7 @@ WRITE16_MEMBER(simon_state::write_r) // R7 -> 75494 IN2 -> blue lamp for (int i = 0; i < 4; i++) output_set_lamp_value(i, data >> (4 + i) & 1); - + // R8 -> 75494 IN0 -> speaker m_speaker->level_w(data >> 8 & 1); diff --git a/src/mess/drivers/starwbc.c b/src/mess/drivers/starwbc.c index e45b8cb9441..bc85356fba6 100644 --- a/src/mess/drivers/starwbc.c +++ b/src/mess/drivers/starwbc.c @@ -4,7 +4,7 @@ Kenner Star Wars - Electronic Battle Command * TMS1100 MCU, labeled MP3438A - + This is a small tabletop space-dogfighting game. To start the game, press BASIC/INTER/ADV and enter P#(number of players), then START TURN. Refer to the official manual for more information. @@ -46,7 +46,7 @@ public: DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_r); - + TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); void leds_update(); void prepare_and_update(); @@ -71,35 +71,35 @@ public: void starwbc_state::leds_update() { UINT16 active_state[0x10]; - + for (int i = 0; i < 0x10; i++) { active_state[i] = 0; - + for (int j = 0; j < 0x10; j++) { int di = j << 4 | i; - + // turn on powered leds if (m_leds_state[i] >> j & 1) m_leds_decay[di] = LEDS_DECAY_TIME; - + // determine active state int ds = (m_leds_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } - + // on difference, send to output for (int i = 0; i < 0x10; i++) if (m_leds_cache[i] != active_state[i]) { output_set_digit_value(i, active_state[i]); - + for (int j = 0; j < 8; j++) output_set_lamp_value(i*10 + j, active_state[i] >> j & 1); } - + memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); } @@ -109,7 +109,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(starwbc_state::leds_decay_tick) for (int i = 0; i < 0x100; i++) if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) m_leds_decay[i]--; - + leds_update(); } @@ -117,7 +117,7 @@ void starwbc_state::prepare_and_update() { UINT8 o = (m_o << 4 & 0xf0) | (m_o >> 4 & 0x0f); const UINT8 mask[5] = { 0x30, 0xff, 0xff, 0x7f, 0x7f }; - + // R0,R2,R4,R6,R8 for (int i = 0; i < 5; i++) m_leds_state[i*2] = (m_r >> (i*2) & 1) ? (o & mask[i]) : 0; @@ -155,7 +155,7 @@ WRITE16_MEMBER(starwbc_state::write_r) // R0,R1,R3,R5,R7: input mux // R9: piezo speaker m_speaker->level_w(data >> 9 & 1); - + m_r = data; prepare_and_update(); } @@ -233,7 +233,7 @@ void starwbc_state::machine_start() m_r = 0; m_o = 0; - + // register for savestates save_item(NAME(m_leds_state)); save_item(NAME(m_leds_cache)); @@ -253,7 +253,7 @@ static MACHINE_CONFIG_START( starwbc, starwbc_state ) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(starwbc_state, write_r)) MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", starwbc_state, leds_decay_tick, attotime::from_msec(10)) - + MCFG_DEFAULT_LAYOUT(layout_starwbc) /* no video! */ diff --git a/src/mess/drivers/stopthie.c b/src/mess/drivers/stopthie.c index 7ae0084b720..8c318e3cfa4 100644 --- a/src/mess/drivers/stopthie.c +++ b/src/mess/drivers/stopthie.c @@ -4,7 +4,7 @@ Parker Brothers Stop Thief * TMS0980NLL MP6101B (die labeled 0980B-01A) - + Stop Thief is actually a board game, the electronic device emulated here (called Electronic Crime Scanner) is an accessory. To start a game, press the ON button. Otherwise, it is in test-mode where you can hear all sounds. @@ -78,30 +78,30 @@ public: void stopthief_state::leds_update() { UINT16 active_state[0x10]; - + for (int i = 0; i < 0x10; i++) { active_state[i] = 0; - + for (int j = 0; j < 0x10; j++) { int di = j << 4 | i; - + // turn on powered leds if (m_leds_state[i] >> j & 1) m_leds_decay[di] = LEDS_DECAY_TIME; - + // determine active state int ds = (m_power_on && m_leds_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } - + // on difference, send to output for (int i = 0; i < 0x10; i++) if (m_leds_cache[i] != active_state[i]) output_set_digit_value(i, active_state[i]); - + memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); } @@ -111,7 +111,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(stopthief_state::leds_decay_tick) for (int i = 0; i < 0x100; i++) if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) m_leds_decay[i]--; - + leds_update(); } @@ -145,9 +145,9 @@ WRITE16_MEMBER(stopthief_state::write_r) UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f; for (int i = 0; i < 3; i++) m_leds_state[i] = (data >> i & 1) ? o : 0; - + leds_update(); - + // R3-R8: speaker on m_speaker->level_w((data & 0x1f8 && m_o & 8) ? 1 : 0); } @@ -261,7 +261,7 @@ static MACHINE_CONFIG_START( stopthief, stopthief_state ) MCFG_TMS1XXX_POWER_OFF_CB(WRITELINE(stopthief_state, auto_power_off)) MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", stopthief_state, leds_decay_tick, attotime::from_msec(10)) - + MCFG_DEFAULT_LAYOUT(layout_stopthie) /* no video! */ diff --git a/src/mess/drivers/tandy12.c b/src/mess/drivers/tandy12.c index d0a0b58cecd..d3ddb9b564e 100644 --- a/src/mess/drivers/tandy12.c +++ b/src/mess/drivers/tandy12.c @@ -4,22 +4,22 @@ Tandy Radio Shack Computerized Arcade (1981, 1982, 1995) * TMS1100 CD7282SL - + This handheld contains 12 minigames. It looks and plays like "Fabulous Fred" by the Japanese company Mego Corp. in 1980, which in turn is a mix of Merlin and Simon. Unlike Merlin and Simon, spin-offs like these were not successful. There were releases with and without the prefix "Tandy-12", I don't know which name was more common. Also not worth noting is that it needed five batteries; 4 C-cells and a 9-volt. - + Some of the games require accessories included with the toy (eg. the Baseball game is played with a board representing the playing field). To start a game, hold the [SELECT] button, then press [START] when the game button lights up. As always, refer to the official manual for more information. - + See below at the input defs for a list of the games. - + TODO: - output PLA is not verified - microinstructions PLA is not verified @@ -70,7 +70,7 @@ public: READ8_MEMBER(tandy12_state::read_k) { UINT8 k = 0; - + // read selected button rows for (int i = 0; i < 5; i++) if (m_r >> (i+5) & 1) @@ -114,10 +114,10 @@ WRITE16_MEMBER(tandy12_state::write_r) [purple]1 [blue]5 [l-green]9 ORGAN TAG-IT TREASURE HUNT - + [l-orange]2 [turquoise]6 [red]10 SONG WRITER ROULETTE COMPETE - + [pink]3 [yellow]7 [violet]11 REPEAT BASEBALL FIRE AWAY @@ -180,7 +180,7 @@ static const UINT16 tandy12_output_pla[0x20] = // these are certain 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, - + // rest is unused? 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/src/mess/drivers/ticalc1x.c b/src/mess/drivers/ticalc1x.c index 7af0d941fc5..28f11c197aa 100644 --- a/src/mess/drivers/ticalc1x.c +++ b/src/mess/drivers/ticalc1x.c @@ -3,10 +3,10 @@ /*************************************************************************** Texas Instruments TMS1xxx/0970/0980 handheld calculators (mostly single-chip) - + Refer to their official manuals on how to use them. - + TODO: - MCU clocks are unknown @@ -85,31 +85,31 @@ public: void ticalc1x_state::leds_update() { UINT16 active_state[0x10]; - + for (int i = 0; i < 0x10; i++) { active_state[i] = 0; - + for (int j = 0; j < 0x10; j++) { int di = j << 4 | i; - + // turn on powered leds if (m_leds_state[i] >> j & 1) m_leds_decay[di] = LEDS_DECAY_TIME; - + // determine active state int ds = (m_power_on && m_leds_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } - + // on difference, send to output for (int i = 0; i < 0x10; i++) if (m_leds_cache[i] != active_state[i]) { output_set_digit_value(i, active_state[i]); - + for (int j = 0; j < 8; j++) output_set_lamp_value(i*10 + j, active_state[i] >> j & 1); } @@ -123,7 +123,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(ticalc1x_state::leds_decay_tick) for (int i = 0; i < 0x100; i++) if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) m_leds_decay[i]--; - + leds_update(); } @@ -143,7 +143,7 @@ void ticalc1x_state::tisr16_leds_update() for (int i = 0; i < 11; i++) if (m_r >> i & 1) m_leds_state[i] = m_o; - + // exponent sign (not 100% sure this is correct) m_leds_state[11] = (m_leds_state[0] | m_leds_state[1]) ? 0x40 : 0; @@ -169,7 +169,7 @@ WRITE16_MEMBER(ticalc1x_state::tisr16_write_r) // R0-R10: input mux // R0-R10: select digit (right-to-left) m_r = data; - + tisr16_leds_update(); } @@ -233,7 +233,7 @@ WRITE16_MEMBER(ticalc1x_state::wizatron_write_r) // note: 3rd digit is custom(not 7seg), for math symbols for (int i = 0; i < 9; i++) m_leds_state[i] = (data >> i & 1) ? m_o : 0; - + // 6th digit only has A and G for = m_leds_state[3] &= 0x41; @@ -272,7 +272,7 @@ WRITE16_MEMBER(ticalc1x_state::ti30_write_r) UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3); for (int i = 0; i < 9; i++) m_leds_state[i] = (data >> i & 1) ? o : 0; - + // 1st digit only has segments B,F,G,DP m_leds_state[0] &= 0xe2; diff --git a/src/mess/drivers/tispeak.c b/src/mess/drivers/tispeak.c index 61e22e5c49d..26419b897e0 100644 --- a/src/mess/drivers/tispeak.c +++ b/src/mess/drivers/tispeak.c @@ -3,9 +3,9 @@ /*************************************************************************** Texas Instruments Speak & Spell hardware - + (still need to write notes here..) - + Other stuff on similar hardware: - Language Tutor/Translator - Touch & Tell, but it runs on a TMS1100! @@ -134,7 +134,7 @@ void tispeak_state::display_update() // schedule delayed filament-off m_filoff_timer->adjust(attotime::from_msec(FILOFF_DECAY_TIME)); } - + // update digit state for (int i = 0; i < 9; i++) if (m_r >> i & 1) @@ -145,7 +145,7 @@ void tispeak_state::display_update() { // standard led14seg output_set_digit_value(i, m_filament_on ? m_digit_state[i] & 0x3fff : 0); - + // DP(display point) and AP(apostrophe) segments as lamps output_set_lamp_value(i*10 + 0, m_digit_state[i] >> 14 & m_filament_on); output_set_lamp_value(i*10 + 1, m_digit_state[i] >> 15 & m_filament_on); @@ -233,7 +233,7 @@ WRITE16_MEMBER(tispeak_state::snmath_write_o) INPUT_CHANGED_MEMBER(tispeak_state::power_button) { int on = (int)(FPTR)param; - + if (on && !m_power_on) { m_power_on = 1; @@ -391,7 +391,7 @@ void tispeak_state::machine_start() save_item(NAME(m_o)); save_item(NAME(m_filament_on)); save_item(NAME(m_power_on)); - + // init cartridge if (m_cart != NULL && m_cart->exists()) { @@ -442,7 +442,7 @@ static MACHINE_CONFIG_DERIVED( snspell, snmath ) /* basic machine hardware */ MCFG_CPU_MODIFY("maincpu") MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispeak_state, snspell_write_o)) - + /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "snspell") MCFG_GENERIC_EXTENSIONS("vsm") diff --git a/src/mess/drivers/trs80.c b/src/mess/drivers/trs80.c index 7d5ff95779c..1e05bff8aad 100644 --- a/src/mess/drivers/trs80.c +++ b/src/mess/drivers/trs80.c @@ -5,7 +5,7 @@ TRS80 memory map 0000-2fff ROM R D0-D7 3000-37ff ROM on Model III R D0-D7 - unused on Model I + unused on Model I 37de UART status R/W D0-D7 37df UART data R/W D0-D7 37e0 interrupt latch address (lnw80 = for the realtime clock) @@ -16,7 +16,7 @@ TRS80 memory map 37e5 select disk drive 2 W 37e7 select disk drive 3 W 37e0-37e3 floppy motor W D0-D3 - or floppy head select W D3 + or floppy head select W D3 37e8 send a byte to printer W D0-D7 37e8 read printer status R D7 37ec-37ef FDC WD179x R/W D0-D7 @@ -42,10 +42,10 @@ It is assumed that the TRS80L2 UART setup is identical to the System80, apart fr Due to the above, the only working emulated UART is for the Model 3. Cassette baud rates: Model I level I - 250 baud - Model I level II and all clones - 500 baud - Model III/4 - 500 and 1500 baud selectable at boot time - - When it says "Cass?" press L for 500 baud, or Enter otherwise. - LNW-80 - 500 baud @1.77MHz and 1000 baud @4MHz. + Model I level II and all clones - 500 baud + Model III/4 - 500 and 1500 baud selectable at boot time + - When it says "Cass?" press L for 500 baud, or Enter otherwise. + LNW-80 - 500 baud @1.77MHz and 1000 baud @4MHz. I/O ports FF: @@ -92,29 +92,29 @@ Model 4 - C0-CF = hard drive (optional) - 80-8F hires graphics (optional) About the ht1080z - This was made for schools in Hungary. Each comes with a BASIC extension roms - which activated Hungarian features. To activate - start emulation - enter SYSTEM - Enter /12288 and the extensions will be installed and you are returned to READY. - The ht1080z is identical to the System 80, apart from the character rom. - The ht1080z2 has a modified extension rom and character generator. + which activated Hungarian features. To activate - start emulation - enter SYSTEM + Enter /12288 and the extensions will be installed and you are returned to READY. + The ht1080z is identical to the System 80, apart from the character rom. + The ht1080z2 has a modified extension rom and character generator. About the RTC - The time is incremented while ever the cursor is flashing. It is stored in a series - of bytes in the computer's work area. The bytes are in a certain order, this is: - seconds, minutes, hours, year, day, month. On a model 1, the seconds are stored at - 0x4041, while on the model 4 it is 0x4217. A reboot always sets the time to zero. + of bytes in the computer's work area. The bytes are in a certain order, this is: + seconds, minutes, hours, year, day, month. On a model 1, the seconds are stored at + 0x4041, while on the model 4 it is 0x4217. A reboot always sets the time to zero. Model 4 memory organisation - - Mode 0: ROM=0-37E7 and 37EA-3FFF; Printer=37E8-37E9; Keyboard=3800-3BFF; Video=3C00-3FFF - Mode 1: Keyboard and Video as above; 0-3FFF read=ROM and write=RAM - Mode 2: Keyboard=F400-F7FF; Video=F800-FFFF; the rest is RAM - Mode 3: All RAM - In the "maincpu" memory map, the first 64k is given to the ROM, keyboard, printer and video, - while the second 64k is RAM that is switched in as needed. The area from 4800-FFFF - is considered a "black hole", any writes to there will disappear. - The video is organised as 2 banks of 0x400 bytes, except in Mode 2 where it becomes contiguous. + Mode 0: ROM=0-37E7 and 37EA-3FFF; Printer=37E8-37E9; Keyboard=3800-3BFF; Video=3C00-3FFF + Mode 1: Keyboard and Video as above; 0-3FFF read=ROM and write=RAM + Mode 2: Keyboard=F400-F7FF; Video=F800-FFFF; the rest is RAM + Mode 3: All RAM + In the "maincpu" memory map, the first 64k is given to the ROM, keyboard, printer and video, + while the second 64k is RAM that is switched in as needed. The area from 4800-FFFF + is considered a "black hole", any writes to there will disappear. + The video is organised as 2 banks of 0x400 bytes, except in Mode 2 where it becomes contiguous. Model 4P - is the same as Model 4 except: - - ROM is only 0000-0FFF, while 1000-37FF is given over to RAM - - There is no cassette support in hardware. + - ROM is only 0000-0FFF, while 1000-37FF is given over to RAM + - There is no cassette support in hardware. *************************************************************************** diff --git a/src/mess/drivers/unk3403.c b/src/mess/drivers/unk3403.c index 343328ffed5..cf1fc6391c0 100644 --- a/src/mess/drivers/unk3403.c +++ b/src/mess/drivers/unk3403.c @@ -3,15 +3,15 @@ /*************************************************************************** TMS1100NLL MP3403 DBS 7836 SINGAPORE some game board with 7-segs. - + What old electronic game is this? - + some clues: - it's from 1978 - Merlin is MP3404, Amaze-A-Tron is MP3405, this one is MP3403 - it plays some short jingles (you need to be lucky with button mashing), jingles feel like maybe a horse racing game - + ***************************************************************************/ #include "emu.h" @@ -42,9 +42,9 @@ public: DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_r); - + void leds_update(); - + virtual void machine_start(); }; @@ -73,7 +73,7 @@ void unk3403_state::leds_update() sprintf(dig, "\n %X %c %02X",i, (m_r >> i & 1) ? 'X' : '_', leds[i]); strcat(msg, dig); } - + popmessage("%s", msg); } @@ -87,7 +87,7 @@ READ8_MEMBER(unk3403_state::read_k) if (m_r >> (i + 4) & 1) k |= m_button_matrix[i]->read(); } - + return k; } @@ -97,7 +97,7 @@ WRITE16_MEMBER(unk3403_state::write_r) // R10: maybe a switch or other button row? // R9: speaker out m_speaker->level_w(data >> 9 & 1); - + // others: ? m_r = data; leds_update(); @@ -156,7 +156,7 @@ void unk3403_state::machine_start() { m_r = 0; m_o = 0; - + save_item(NAME(m_r)); save_item(NAME(m_o)); } diff --git a/src/mess/drivers/victor9k.c b/src/mess/drivers/victor9k.c index b33898e5871..5cbce2fa289 100644 --- a/src/mess/drivers/victor9k.c +++ b/src/mess/drivers/victor9k.c @@ -14,11 +14,11 @@ TODO: - keyboard - - expansion bus - - Z80 card - - Winchester DMA card (Xebec S1410 + Tandon TM502/TM603SE) - - RAM cards - - clock cards + - expansion bus + - Z80 card + - Winchester DMA card (Xebec S1410 + Tandon TM502/TM603SE) + - RAM cards + - clock cards - floppy 8048 - hires graphics - brightness/contrast diff --git a/src/mess/drivers/vt240.c b/src/mess/drivers/vt240.c index aa05c3e60c4..f14845b6c46 100644 --- a/src/mess/drivers/vt240.c +++ b/src/mess/drivers/vt240.c @@ -205,10 +205,10 @@ static MACHINE_CONFIG_FRAGMENT( vt240_motherboard ) MCFG_T11_INITIAL_MODE(5 << 13) /* - MCFG_CPU_ADD("charcpu", I8085A, XTAL_16MHz / 4) - MCFG_CPU_PROGRAM_MAP(vt240_char_mem) - MCFG_CPU_IO_MAP(vt240_char_io) - MCFG_CPU_VBLANK_INT_DRIVER("screen", vt240_state, vt240_irq) + MCFG_CPU_ADD("charcpu", I8085A, XTAL_16MHz / 4) + MCFG_CPU_PROGRAM_MAP(vt240_char_mem) + MCFG_CPU_IO_MAP(vt240_char_io) + MCFG_CPU_VBLANK_INT_DRIVER("screen", vt240_state, vt240_irq) */ MCFG_SCREEN_ADD("screen", RASTER) @@ -216,7 +216,7 @@ static MACHINE_CONFIG_FRAGMENT( vt240_motherboard ) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ MCFG_SCREEN_SIZE(640, 480) MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -// MCFG_VIDEO_START_OVERRIDE(vt240_state,vt240) +// MCFG_VIDEO_START_OVERRIDE(vt240_state,vt240) MCFG_SCREEN_UPDATE_DEVICE("upd7220", upd7220_device, screen_update) MCFG_PALETTE_ADD_BLACK_AND_WHITE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", vt240) @@ -226,17 +226,17 @@ static MACHINE_CONFIG_FRAGMENT( vt240_motherboard ) MCFG_UPD7220_DRAW_TEXT_CALLBACK_OWNER(vt240_state, hgdc_draw_text) MCFG_MC68681_ADD("duart", XTAL_3_6864MHz) /* 2681 duart (not 68681!) */ -// MCFG_MC68681_IRQ_CALLBACK(WRITELINE(dectalk_state, dectalk_duart_irq_handler)) +// MCFG_MC68681_IRQ_CALLBACK(WRITELINE(dectalk_state, dectalk_duart_irq_handler)) MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("rs232", rs232_port_device, write_txd)) -// MCFG_MC68681_B_TX_CALLBACK(WRITELINE(dectalk_state, dectalk_duart_txa)) -// MCFG_MC68681_INPORT_CALLBACK(READ8(dectalk_state, dectalk_duart_input)) -// MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(dectalk_state, dectalk_duart_output)) -// MCFG_I8251_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) -// MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) +// MCFG_MC68681_B_TX_CALLBACK(WRITELINE(dectalk_state, dectalk_duart_txa)) +// MCFG_MC68681_INPORT_CALLBACK(READ8(dectalk_state, dectalk_duart_input)) +// MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(dectalk_state, dectalk_duart_output)) +// MCFG_I8251_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) +// MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "null_modem") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("duart", mc68681_device, rx_a_w)) -// MCFG_RS232_DSR_HANDLER(DEVWRITELINE("duart", mc68681_device, ipX_w)) +// MCFG_RS232_DSR_HANDLER(DEVWRITELINE("duart", mc68681_device, ipX_w)) MACHINE_CONFIG_END static MACHINE_CONFIG_START( mc7105, vt240_state ) @@ -244,7 +244,7 @@ static MACHINE_CONFIG_START( mc7105, vt240_state ) // serial connection to MS7004 keyboard MCFG_DEVICE_ADD("i8251", I8251, 0) -// MCFG_I8251_RXRDY_HANDLER(DEVWRITELINE("pic8259", pic8259_device, ir1_w)) +// MCFG_I8251_RXRDY_HANDLER(DEVWRITELINE("pic8259", pic8259_device, ir1_w)) MCFG_DEVICE_ADD("ms7004", MS7004, 0) MCFG_MS7004_TX_HANDLER(DEVWRITELINE("i8251", i8251_device, write_rxd)) diff --git a/src/mess/includes/victor9k.h b/src/mess/includes/victor9k.h index f27f07fd501..a010d424d37 100644 --- a/src/mess/includes/victor9k.h +++ b/src/mess/includes/victor9k.h @@ -48,7 +48,7 @@ #define RS232_A_TAG "rs232a" #define RS232_B_TAG "rs232b" #define SCREEN_TAG "screen" -#define KB_TAG "kb" +#define KB_TAG "kb" #define FDC_TAG "fdc" class victor9k_state : public driver_device diff --git a/src/mess/layout/starwbc.lay b/src/mess/layout/starwbc.lay index 0005b6c679a..6469cb7dc9a 100644 --- a/src/mess/layout/starwbc.lay +++ b/src/mess/layout/starwbc.lay @@ -50,7 +50,7 @@ <view name="Internal Layout"> <bounds left="0" right="165" top="0" bottom="105" /> - + <bezel element="static_yellow"><bounds x="3" y="17" width="10" height="83" /></bezel> <bezel element="static_black"><bounds x="4" y="18" width="8" height="81" /></bezel> @@ -75,9 +75,9 @@ <bezel element="text_3"><bounds x="64.5" y="4" width="8" height="8" /></bezel> <bezel element="text_4"><bounds x="84.5" y="4" width="8" height="8" /></bezel> - + <!-- lamp matrix --> - + <bezel element="static_gray"><bounds x="17" y="17" width="83" height="83" /></bezel> <bezel name="lamp20" element="lamp"><bounds x="20" y="20" width="17" height="17" /></bezel> diff --git a/src/mess/machine/gamecom.c b/src/mess/machine/gamecom.c index 0ca4496d6dc..2395f30d318 100644 --- a/src/mess/machine/gamecom.c +++ b/src/mess/machine/gamecom.c @@ -500,7 +500,7 @@ WRITE8_MEMBER( gamecom_state::gamecom_handle_dma ) UINT16 dest_addr = m_dma.dest_current & m_dma.dest_mask; UINT8 dest_adj = (3 - (m_dma.dest_x_current & 3)) << 1; UINT8 src_adj = (3 - (m_dma.source_x_current & 3)) << 1; - + /* handle DMA for 1 pixel */ // Get new pixel UINT8 source_pixel = (m_dma.source_bank[src_addr] >> src_adj) & 3; diff --git a/src/mess/machine/ngen_kb.c b/src/mess/machine/ngen_kb.c index 498a49dd7fb..8913296100c 100644 --- a/src/mess/machine/ngen_kb.c +++ b/src/mess/machine/ngen_kb.c @@ -216,4 +216,3 @@ void ngen_keyboard_device::rcv_complete() } const device_type NGEN_KEYBOARD = &device_creator<ngen_keyboard_device>; - diff --git a/src/mess/machine/sms.c b/src/mess/machine/sms.c index 76c2bf0e527..ed3ed5ad016 100644 --- a/src/mess/machine/sms.c +++ b/src/mess/machine/sms.c @@ -1299,7 +1299,7 @@ void sms_state::screen_gg_sms_mode_scaling(screen_device &screen, bitmap_rgb32 & /* Do horizontal scaling */ for (int plot_x = plot_min_x; plot_x <= plot_max_x;) { - for (int j = (plot_x - plot_x_group); j <= MIN(1, plot_max_x - plot_x_group); j++) + for (int j = (plot_x - plot_x_group); j <= MIN(1, plot_max_x - plot_x_group); j++) { if (sms_x + j >= vdp_bitmap.cliprect().min_x && sms_x + j + 1 <= vdp_bitmap.cliprect().max_x) { @@ -1366,8 +1366,8 @@ void sms_state::screen_gg_sms_mode_scaling(screen_device &screen, bitmap_rgb32 & rgb_t c4 = line4[plot_x]; p_bitmap[plot_x] = rgb_t( ( c1.r() / 6 + c2.r() / 3 + c3.r() / 3 + c4.r() / 6 ), - ( c1.g() / 6 + c2.g() / 3 + c3.g() / 3 + c4.g() / 6 ), - ( c1.b() / 6 + c2.b() / 3 + c3.b() / 3 + c4.b() / 6 ) ); + ( c1.g() / 6 + c2.g() / 3 + c3.g() / 3 + c4.g() / 6 ), + ( c1.b() / 6 + c2.b() / 3 + c3.b() / 3 + c4.b() / 6 ) ); } } } diff --git a/src/mess/machine/victor9k_fdc.c b/src/mess/machine/victor9k_fdc.c index f2c3b2778dc..060d95f80ba 100644 --- a/src/mess/machine/victor9k_fdc.c +++ b/src/mess/machine/victor9k_fdc.c @@ -11,20 +11,20 @@ /* - value error description + value error description - 01 no sync pulse detected - 02 no header track - 03 checksum error in header - 04 not right track - 05 not right sector - 06 not a data block - 07 data checksum error - 08 sync too long - 99 not a system disc + 01 no sync pulse detected + 02 no header track + 03 checksum error in header + 04 not right track + 05 not right sector + 06 not a data block + 07 data checksum error + 08 sync too long + 99 not a system disc - 11 Noise on sync - FF No sync (bad or unformatted disk) + 11 Noise on sync + FF No sync (bad or unformatted disk) */ @@ -32,9 +32,9 @@ TODO: - - communication error with SCP after loading boot sector - - bp ff1a8 - - patch ff1ab=c3 + - communication error with SCP after loading boot sector + - bp ff1a8 + - patch ff1ab=c3 - single/double sided jumper - header sync length unknown (6 is too short) - 8048 spindle speed control @@ -60,17 +60,17 @@ // this is exactly the same decode/encode as used in the Commodore 4040/8050 series drives #define GCR_DECODE(_e, _i) \ - ((BIT(_e, 6) << 7) | (BIT(_i, 7) << 6) | (_e & 0x33) | (BIT(_e, 2) << 3) | (_i & 0x04)) + ((BIT(_e, 6) << 7) | (BIT(_i, 7) << 6) | (_e & 0x33) | (BIT(_e, 2) << 3) | (_i & 0x04)) // E7 E6 I7 E5 E4 E3 E2 I2 E1 E0 #define GCR_ENCODE(_e, _i) \ - ((_e & 0xc0) << 2 | (_i & 0x80) | (_e & 0x3c) << 1 | (_i & 0x04) | (_e & 0x03)) + ((_e & 0xc0) << 2 | (_i & 0x80) | (_e & 0x3c) << 1 | (_i & 0x04) | (_e & 0x03)) // Tandon TM-100 spindle @ 300RPM, measured TACH 12VAC 256Hz // TACH = RPM / 60 * SPINDLE RATIO * MOTOR POLES // 256 = 300 / 60 * 6.4 * 8 -#define SPINDLE_RATIO 6.4 -#define MOTOR_POLES 8 +#define SPINDLE_RATIO 6.4 +#define MOTOR_POLES 8 // TODO wrong values here! motor speed is controlled by an LM2917, with help from the spindle TACH and a DAC0808 whose value is set by the SCP 8048 const int victor_9000_fdc_t::rpm[] = { 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 254, 255, 257, 259, 260, 262, 264, 266, 267, 269, 271, 273, 275, 276, 278, 280, 282, 284, 286, 288, 290, 291, 293, 295, 297, 299, 301, 303, 305, 307, 309, 311, 313, 315, 318, 320, 322, 324, 326, 328, 330, 333, 335, 337, 339, 342, 344, 346, 348, 351, 353, 355, 358, 360, 362, 365, 367, 370, 372, 375, 377, 380, 382, 385, 387, 390, 392, 395, 398, 400, 403, 406, 408, 411, 414, 416, 419, 422, 425, 428, 430, 433, 436, 439, 442, 445, 448, 451, 454, 457, 460, 463, 466, 469, 472, 475, 478, 482, 485, 488, 491, 494, 498, 501, 504, 508, 511, 514, 518, 521, 525, 528, 532, 535, 539, 542, 546, 550, 553, 557, 561, 564, 568, 572, 576, 579, 583, 587, 591, 595, 599, 603, 607, 611, 615, 619, 623, 627, 631, 636, 640, 644, 648, 653, 657, 661, 666, 670, 674, 679, 683, 688, 693, 697, 702, 706, 711, 716, 721, 725, 730, 735, 740, 745, 750, 755, 760, 765, 770, 775, 780, 785, 790, 796, 801, 806, 812, 817, 822, 828, 833, 839, 844, 850, 856, 861, 867, 873, 878, 884 }; diff --git a/src/mess/machine/victor9kb.c b/src/mess/machine/victor9kb.c index 2774feffffa..291c62b62cf 100644 --- a/src/mess/machine/victor9kb.c +++ b/src/mess/machine/victor9kb.c @@ -347,7 +347,7 @@ Y11 104 103 102 101 100 99 98 97 kN/A k. k00 k0 RGHT LEFT PAUS #define I8021_TAG "z3" -#define LOG 0 +#define LOG 0 @@ -433,7 +433,7 @@ INPUT_PORTS_START( victor9k_keyboard ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') // S36 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') // S56 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') // S57 - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("UNUSED S75") // unused // S75 + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("UNUSED S75") // unused // S75 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') // S76 PORT_START("Y2") diff --git a/src/mess/mess.mak b/src/mess/mess.mak index 9b88e02231a..2c452ee535e 100644 --- a/src/mess/mess.mak +++ b/src/mess/mess.mak @@ -1302,7 +1302,7 @@ $(MESSOBJ)/hp.a: \ $(MESS_DRIVERS)/hp49gp.o \ $(MESS_DRIVERS)/hp9845.o \ $(MESS_DRIVERS)/hp9k.o \ - $(MESS_DRIVERS)/hp9k_3xx.o \ + $(MESS_DRIVERS)/hp9k_3xx.o \ $(MESSOBJ)/hec2hrp.a: \ diff --git a/src/mess/video/apple2.c b/src/mess/video/apple2.c index 2d46ffaf82b..1e3c3311354 100644 --- a/src/mess/video/apple2.c +++ b/src/mess/video/apple2.c @@ -1209,7 +1209,7 @@ void a2_video_device::hgr_update(screen_device &screen, bitmap_ind16 &bitmap, co } else { - artifact_map_ptr = &m_hires_artifact_map[((vram_row[col + 1] & 0x80) >> 7) * 16]; + artifact_map_ptr = &m_hires_artifact_map[((vram_row[col + 1] & 0x80) >> 7) * 16]; } for (b = 0; b < 7; b++) { diff --git a/src/mess/video/maria.c b/src/mess/video/maria.c index 7d9679561dc..6c0841b8cef 100644 --- a/src/mess/video/maria.c +++ b/src/mess/video/maria.c @@ -4,8 +4,8 @@ - some history: - 2014-12-01 Mike Saarna, Robert Tuccitto Implemented "colorburst kill" bit - of the MARIA CTRL register. + 2014-12-01 Mike Saarna, Robert Tuccitto Implemented "colorburst kill" bit + of the MARIA CTRL register. 2014-10-05 Mike Saarna, Robert Tuccitto Last Line DMA value corrected to 6. GCC and Atari docs both show a difference between Other Line and Last Line as +6 at the lowest part of the |
