diff options
Diffstat (limited to 'src/mess/drivers')
| -rw-r--r-- | src/mess/drivers/alnchase.c | 22 | ||||
| -rw-r--r-- | src/mess/drivers/c65.c | 73 | ||||
| -rw-r--r-- | src/mess/drivers/c65_old.c | 2 | ||||
| -rw-r--r-- | src/mess/drivers/edracula.c | 10 | ||||
| -rw-r--r-- | src/mess/drivers/gamate.c | 118 | ||||
| -rw-r--r-- | src/mess/drivers/ngen.c | 30 | ||||
| -rw-r--r-- | src/mess/drivers/pc9801.c | 4 | ||||
| -rw-r--r-- | src/mess/drivers/pcd.c | 2 | ||||
| -rw-r--r-- | src/mess/drivers/snes.c | 8 | ||||
| -rw-r--r-- | src/mess/drivers/splitsec.c | 6 | ||||
| -rw-r--r-- | src/mess/drivers/tb303.c | 2 | ||||
| -rw-r--r-- | src/mess/drivers/tc4.c | 10 | ||||
| -rw-r--r-- | src/mess/drivers/tispeak.c | 10 | ||||
| -rw-r--r-- | src/mess/drivers/tmtennis.c | 12 | ||||
| -rw-r--r-- | src/mess/drivers/wildfire.c | 20 |
15 files changed, 161 insertions, 168 deletions
diff --git a/src/mess/drivers/alnchase.c b/src/mess/drivers/alnchase.c index 28cd542e2d7..1159ed829c6 100644 --- a/src/mess/drivers/alnchase.c +++ b/src/mess/drivers/alnchase.c @@ -6,11 +6,11 @@ * boards are labeled TN-16 * NEC uCOM-43 MCU, labeled D553C 258 * red/green VFD display with color overlay, 2-sided* - + *Player one views the VFD from the front (grid+filament side) while the opposite player views it from the back side (through the conductive traces), basically a mirror-image. - + This is a space-themed tabletop VFD electronic game. To start, simply press [UP]. Hold a joystick direction to move around. @@ -42,7 +42,7 @@ public: required_device<cpu_device> m_maincpu; required_ioport_array<2> m_button_matrix; required_device<speaker_sound_device> m_speaker; - + UINT8 m_input_mux; UINT32 m_plate; UINT16 m_grid; @@ -73,7 +73,7 @@ void alnchase_state::update_vfd() // on difference, send to output for (int j = 0; j < 17; j++) output_set_lamp_value(i*100 + j, m_plate >> j & 1); - + m_vfd_state[i] = m_plate; } } @@ -101,25 +101,25 @@ READ8_MEMBER(alnchase_state::input_r) WRITE8_MEMBER(alnchase_state::display_w) { int shift; - + if (offset <= NEC_UCOM4_PORTE) { // C/D/E0: vfd matrix grid shift = (offset - NEC_UCOM4_PORTC) * 4; m_grid = (m_grid & ~(0xf << shift)) | (data << shift); - + // C0(grid 0): input enable PL1 // D0(grid 4): input enable PL2 m_input_mux = (m_grid & 1) | (m_grid >> 3 & 2); } - + if (offset >= NEC_UCOM4_PORTE) { // E23/F/G/H/I: vfd matrix plate shift = (offset - NEC_UCOM4_PORTE) * 4; m_plate = ((m_plate << 2 & ~(0xf << shift)) | (data << shift)) >> 2; } - + update_vfd(); } @@ -143,13 +143,13 @@ WRITE8_MEMBER(alnchase_state::port_e_w) POWER SOUND LEVEL PLAYER ON ON PRO TWO START - o o | | + o o | | | | | | [joystick] | | o o OFF OFF AMA ONE GAME 0,1,2,3 - + 1 PLAYER SIDE - + other player side only has a joystick */ diff --git a/src/mess/drivers/c65.c b/src/mess/drivers/c65.c index 421f56ecfed..3c565125638 100644 --- a/src/mess/drivers/c65.c +++ b/src/mess/drivers/c65.c @@ -12,7 +12,7 @@ TODO: Note: - VIC-4567 will be eventually be added via compile switch, once that I - get the hang of the system (and checking where the old code fails + get the hang of the system (and checking where the old code fails eventually) ***************************************************************************/ @@ -60,7 +60,7 @@ public: UINT8 *m_iplrom; UINT8 m_keyb_input[10]; UINT8 m_keyb_mux; - + DECLARE_READ8_MEMBER(vic4567_dummy_r); DECLARE_WRITE8_MEMBER(vic4567_dummy_w); DECLARE_WRITE8_MEMBER(PalRed_w); @@ -74,7 +74,7 @@ public: DECLARE_READ8_MEMBER(cia0_portb_r); DECLARE_WRITE8_MEMBER(cia0_portb_w); DECLARE_WRITE_LINE_MEMBER(cia0_irq); - + DECLARE_READ8_MEMBER(dummy_r); // screen updates @@ -82,7 +82,7 @@ public: DECLARE_PALETTE_INIT(c65); DECLARE_DRIVER_INIT(c65); DECLARE_DRIVER_INIT(c65pal); - + INTERRUPT_GEN_MEMBER(vic3_vblank_irq); protected: // driver_device overrides @@ -124,7 +124,7 @@ UINT32 c65_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, co { int y,x; int border_color = m_VIC2_EXTColor & 0xf; - + // TODO: border area for(y=0;y<m_screen->height();y++) { @@ -139,13 +139,13 @@ UINT32 c65_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, co UINT8 attr = m_cram[xi+yi*80]; if(attr & 0xf0) attr = machine().rand() & 0xf; - + int enable_dot = ((m_iplrom[(tile<<3)+ym+0xd000] >> xm) & 1); - + //if(cliprect.contains(x, y)) bitmap.pix16(y, x) = m_palette->pen((enable_dot) ? attr & 0xf : border_color); - + //gfx->opaque(bitmap,cliprect,tile,0,0,0,x*8,y*8); } } @@ -170,10 +170,10 @@ READ8_MEMBER(c65_state::vic4567_dummy_r) return 0xff; // silence log for now case 0x19: return m_VIC2_IRQPend; - + case 0x1a: return m_VIC2_IRQMask; - + case 0x20: return m_VIC2_EXTColor; @@ -182,7 +182,7 @@ READ8_MEMBER(c65_state::vic4567_dummy_r) case 0x31: return m_VIC3_ControlB; } - + if(!space.debugger_access()) printf("%02x\n",offset); // TODO: PC return res; @@ -203,23 +203,23 @@ WRITE8_MEMBER(c65_state::vic4567_dummy_w) case 0x20: m_VIC2_EXTColor = data & 0xf; break; - /* KEY register, handles vic-iii and vic-ii modes via two consecutive writes + /* KEY register, handles vic-iii and vic-ii modes via two consecutive writes 0xa5 -> 0x96 vic-iii mode - any other write vic-ii mode + any other write vic-ii mode */ //case 0x2f: break; - case 0x30: + case 0x30: if((data & 0xfe) != 0x64) - printf("CONTROL A %02x\n",data); + printf("CONTROL A %02x\n",data); m_VIC3_ControlA = data; break; case 0x31: - printf("CONTROL B %02x\n",data); + printf("CONTROL B %02x\n",data); m_VIC3_ControlB = data; break; default: if(!space.debugger_access()) - printf("%02x %02x\n",offset,data); + printf("%02x %02x\n",offset,data); break; } @@ -365,12 +365,11 @@ WRITE8_MEMBER(c65_state::CIASelect_w) break; } } - + } READ8_MEMBER(c65_state::cia0_porta_r) { - return 0xff; } @@ -378,11 +377,10 @@ READ8_MEMBER(c65_state::cia0_portb_r) { static const char *const c64ports[] = { "ROW0", "ROW1", "ROW2", "ROW3", "ROW4", "ROW5", "ROW6", "ROW7" }; UINT8 res; - + res = 0xff; for(int i=0;i<8;i++) { - m_keyb_input[i] = machine().root_device().ioport(c64ports[i])->read(); if(m_keyb_mux & 1 << (i)) @@ -400,7 +398,6 @@ WRITE8_MEMBER(c65_state::cia0_porta_w) WRITE8_MEMBER(c65_state::cia0_portb_w) { - } READ8_MEMBER(c65_state::dummy_r) @@ -429,7 +426,7 @@ static ADDRESS_MAP_START( c65_map, AS_PROGRAM, 8, c65_state ) // 0x0de00, 0x0de** Ext I/O Select 1 // 0x0df00, 0x0df** Ext I/O Select 2 (RAM window?) AM_RANGE(0x0e000, 0x0ffff) AM_ROM AM_REGION("maincpu",0x0e000) - AM_RANGE(0x10000, 0x1f7ff) AM_RAM + AM_RANGE(0x10000, 0x1f7ff) AM_RAM AM_RANGE(0x1f800, 0x1ffff) AM_RAM // VRAM attributes AM_RANGE(0x20000, 0x3ffff) AM_ROM AM_REGION("maincpu",0) ADDRESS_MAP_END @@ -534,7 +531,7 @@ void c65_state::machine_reset() PALETTE_INIT_MEMBER(c65_state, c65) { - // TODO: initial state? + // TODO: initial state? } static const gfx_layout charlayout = @@ -556,7 +553,7 @@ void c65_state::IRQCheck(UINT8 irq_cause) { m_VIC2_IRQPend |= (irq_cause != 0) ? 0x80 : 0x00; m_VIC2_IRQPend |= irq_cause; - + m_maincpu->set_input_line(M4510_IRQ_LINE,m_VIC2_IRQMask & m_VIC2_IRQPend ? ASSERT_LINE : CLEAR_LINE); } @@ -564,7 +561,7 @@ INTERRUPT_GEN_MEMBER(c65_state::vic3_vblank_irq) { IRQCheck(1); //if(m_VIC2_IRQMask & 1) - // m_maincpu->set_input_line(M4510_IRQ_LINE,HOLD_LINE); + // m_maincpu->set_input_line(M4510_IRQ_LINE,HOLD_LINE); } WRITE_LINE_MEMBER(c65_state::cia0_irq) @@ -577,10 +574,10 @@ WRITE_LINE_MEMBER(c65_state::cia0_irq) static const char *const c64ports[] = { "ROW0", "ROW1", "ROW2", "ROW3", "ROW4", "ROW5", "ROW6", "ROW7" }; for(int i=0;i<8;i++) m_keyb_input[i] = machine().root_device().ioport(c64ports[i])->read(); - } + } #endif -// m_cia0_irq = state; -// c65_irq(state || m_vicirq); +// m_cia0_irq = state; +// c65_irq(state || m_vicirq); } static MACHINE_CONFIG_START( c65, c65_state ) @@ -600,11 +597,11 @@ static MACHINE_CONFIG_START( c65, c65_state ) MCFG_DEVICE_ADD("cia_1", MOS6526, MAIN_CLOCK) MCFG_MOS6526_TOD(60) -// MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c65_state, c65_cia1_interrupt)) -// MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c65_state, c65_cia1_port_a_r)) -// MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c65_state, c65_cia1_port_a_w)) +// MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c65_state, c65_cia1_interrupt)) +// MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c65_state, c65_cia1_port_a_r)) +// MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c65_state, c65_cia1_port_a_w)) + - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) // MCFG_SCREEN_REFRESH_RATE(60) @@ -654,15 +651,15 @@ ROM_END DRIVER_INIT_MEMBER(c65_state,c65) { -// m_dma.version = 2; -// c65_common_driver_init(); +// m_dma.version = 2; +// c65_common_driver_init(); } DRIVER_INIT_MEMBER(c65_state,c65pal) { -// m_dma.version = 1; -// c65_common_driver_init(); -// m_pal = 1; +// m_dma.version = 1; +// c65_common_driver_init(); +// m_pal = 1; } COMP( 1991, c65, 0, 0, c65, c65, c65_state, c65, "Commodore Business Machines", "Commodore 65 Development System (Prototype, NTSC)", GAME_NOT_WORKING ) diff --git a/src/mess/drivers/c65_old.c b/src/mess/drivers/c65_old.c index 466d32aa269..08d1d123054 100644 --- a/src/mess/drivers/c65_old.c +++ b/src/mess/drivers/c65_old.c @@ -644,5 +644,3 @@ ROM_END COMP( 1991, c65, 0, 0, c65, c65, c65_state, c65, "Commodore Business Machines", "Commodore 65 Development System (Prototype, NTSC)", GAME_NOT_WORKING ) COMP( 1991, c64dx, c65, 0, c65pal, c65ger, c65_state, c65pal, "Commodore Business Machines", "Commodore 64DX Development System (Prototype, PAL, German)", GAME_NOT_WORKING ) - - diff --git a/src/mess/drivers/edracula.c b/src/mess/drivers/edracula.c index b6e0eb8da48..06cb8325eaf 100644 --- a/src/mess/drivers/edracula.c +++ b/src/mess/drivers/edracula.c @@ -5,7 +5,7 @@ Epoch Dracula (manufactured in Japan) * NEC uCOM-43 MCU, labeled D553C 206 * cyan/red/green VFD display NEC FIP8BM20T - + known releases: - Japan: Dracula House, yellow case - USA: Dracula, red case @@ -47,7 +47,7 @@ public: UINT32 m_vfd_state[0x10]; void update_vfd(); - + virtual void machine_start(); }; @@ -67,7 +67,7 @@ void edracula_state::update_vfd() // on difference, send to output for (int j = 0; j < 18; j++) output_set_lamp_value(i*100 + j, m_plate >> j & 1); - + m_vfd_state[i] = m_plate; } } @@ -85,7 +85,7 @@ WRITE8_MEMBER(edracula_state::grid_w) // port C/D: vfd matrix grid int shift = (offset - NEC_UCOM4_PORTC) * 4; m_grid = (m_grid & ~(0xf << shift)) | (data << shift); - + update_vfd(); } @@ -94,7 +94,7 @@ WRITE8_MEMBER(edracula_state::plate_w) // port E/F/G/H/I01: vfd matrix plate int shift = (offset - NEC_UCOM4_PORTE) * 4; m_plate = (m_plate & ~(0xf << shift)) | (data << shift); - + update_vfd(); } diff --git a/src/mess/drivers/gamate.c b/src/mess/drivers/gamate.c index 2645b2e426e..57101df8b0b 100644 --- a/src/mess/drivers/gamate.c +++ b/src/mess/drivers/gamate.c @@ -51,25 +51,25 @@ 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; struct { - bool set; + bool set; int bit_shifter; UINT8 cartridge_byte; UINT16 address; // in reality something more like short local cartridge address offset bool unprotected; bool failed; - + } card_protection; required_device<cpu_device> m_maincpu; @@ -80,13 +80,13 @@ private: required_shared_ptr<UINT8> m_bios; emu_timer *timer1; emu_timer *timer2; - UINT8 bank_multi; + UINT8 bank_multi; }; WRITE8_MEMBER( gamate_state::gamate_cart_protection_w ) { - logerror("%.6f protection write %x %x address:%x data:%x shift:%d\n",machine().time().as_double(), offset, data, card_protection.address, card_protection.cartridge_byte, card_protection.bit_shifter); - + logerror("%.6f protection write %x %x address:%x data:%x shift:%d\n",machine().time().as_double(), offset, data, card_protection.address, card_protection.cartridge_byte, card_protection.bit_shifter); + switch (offset) { case 0: card_protection.failed= card_protection.failed || ((card_protection.cartridge_byte&0x80)!=0) != ((data&4)!=0); @@ -112,7 +112,7 @@ READ8_MEMBER( gamate_state::gamate_cart_protection_r ) } ret=(card_protection.cartridge_byte&0x80)?2:0; if (card_protection.bit_shifter==7 && !card_protection.failed) { // now protection chip on cartridge activates cartridge chip select on cpu accesses -// m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r)); // next time I will try to get this working +// m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r)); // next time I will try to get this working } card_protection.cartridge_byte<<=1; } @@ -143,13 +143,13 @@ WRITE8_MEMBER( gamate_state::gamate_video_w ) { video.reg[offset]=data; switch (offset) { - case 1: + case 1: if (data&0xf) printf("lcd mode %x\n", data); video.bitmap.write=data&0xc0; // more addressing mode video.y_increment=data&0x40; break; case 2: video.bitmap.xpos=data;break; - case 3: + case 3: if (data>=200) printf("lcd ypos: %x\n", data); video.bitmap.ypos=data; break; @@ -181,55 +181,55 @@ 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) { - data=video.bitmap.data[video.bitmap.page2][video.y][video.x]; - } else { - data=video.bitmap.data[0][video.y][video.x&(ARRAY_LENGTH(video.bitmap.data[0][0])-1)]; - } + if (offset!=6) return 0; + UINT8 data=0; + if (video.bitmap.write) { + data=video.bitmap.data[video.bitmap.page2][video.y][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) // machine().ui().popup_time(2, "lcd read x:%x y:%x mode:%x data:%x\n", video.x, video.y, video.reg[1], data); - return data; + return data; } WRITE8_MEMBER( gamate_state::gamate_audio_w ) { // printf("audio write %x:%x\n", offset, data);//logerror("%.6f %04x audio write %04x %02x\n",machine().time().as_double(),m_maincpu->pc(),offset,data); - m_sound->device_w(space, offset, data); + m_sound->device_w(space, offset, data); } READ8_MEMBER( gamate_state::gamate_audio_r ) { // legend of dragon knight // machine().ui().popup_time(2, "%.6f %04x audio read %04x \n",machine().time().as_double(),m_maincpu->pc(),offset); - return 0; + 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(0x5800, 0x5800) AM_READ(newer_protection_set) - AM_RANGE(0x5900, 0x5900) AM_WRITE(protection_reset) - 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(0x5800, 0x5800) AM_READ(newer_protection_set) + AM_RANGE(0x5900, 0x5900) AM_WRITE(protection_reset) + AM_RANGE(0x5a00, 0x5a00) AM_READ(protection_r) - AM_RANGE(0x6001, 0x9fff) AM_READ_BANK("bankmulti") - AM_RANGE(0xa000, 0xdfff) AM_READ_BANK("bank") + AM_RANGE(0x6001, 0x9fff) AM_READ_BANK("bankmulti") + AM_RANGE(0xa000, 0xdfff) AM_READ_BANK("bank") AM_RANGE(0x6000, 0x6000) AM_READWRITE(gamate_cart_protection_r, gamate_cart_protection_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 @@ -254,10 +254,10 @@ ATTR_UNUSED static const unsigned short gamate_palette[4] = /* 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) @@ -280,27 +280,27 @@ 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, d2; - if (video.bitmap.ypos<200) { + 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, d2; + if (video.bitmap.ypos<200) { d1=video.bitmap.data[0][(y+video.bitmap.ypos)%200][(j+video.bitmap.xpos/8)&0x1f]; d2=video.bitmap.data[1][(y+video.bitmap.ypos)%200][(j+video.bitmap.xpos/8)&0x1f]; - } else if ((video.bitmap.ypos&0xf)<8) { // lcdtest, of course still some registers not known, my gamate doesn't display bottom lines + } else if ((video.bitmap.ypos&0xf)<8) { // lcdtest, of course still some registers not known, my gamate doesn't display bottom lines int yi=(y+(video.bitmap.ypos&0xf)-8); if (yi<0) yi=video.bitmap.ypos+y; // in this case only 2nd plane used!?, source of first plane? d1=video.bitmap.data[0][yi][(j+video.bitmap.xpos/8)&0x1f]; // value of lines bevor 0 chaos d2=video.bitmap.data[1][yi][(j+video.bitmap.xpos/8)&0x1f]; - } else { + } else { d1=video.bitmap.data[0][y][(j+video.bitmap.xpos/8)&0x1f]; - d2=video.bitmap.data[1][y][(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; + d2=video.bitmap.data[1][y][(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) @@ -314,11 +314,11 @@ 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()+1); membank("bank")->set_base(m_cart->get_rom_base()+0x4000); // bankswitched games in reality no offset } -// m_bios[0xdf1]=0xea; m_bios[0xdf2]=0xea; // default bios: $47 protection readback +// m_bios[0xdf1]=0xea; m_bios[0xdf2]=0xea; // default bios: $47 protection readback card_protection.set=false; bank_multi=0; card_protection.unprotected=false; @@ -378,7 +378,7 @@ static MACHINE_CONFIG_START( gamate, gamate_state ) MCFG_SOUND_ADD("custom", GAMATE_SND, 0) MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) - + MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_linear_slot, "gamate_cart") MCFG_GENERIC_MANDATORY @@ -397,5 +397,3 @@ 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_IMPERFECT_SOUND) - - diff --git a/src/mess/drivers/ngen.c b/src/mess/drivers/ngen.c index b067e553e12..fe3114b0bee 100644 --- a/src/mess/drivers/ngen.c +++ b/src/mess/drivers/ngen.c @@ -405,8 +405,8 @@ READ16_MEMBER(ngen_state::peripheral_r) case 0x1a0: // I/O control register? ret = m_control; // end of DMA transfer? (maybe a per-channel EOP?) Bit 6 is set during a transfer? break; -// default: -// logerror("Unknown 80186 peripheral read offset %04x mask %04x returning %04x\n",offset,mem_mask,ret); +// default: +// logerror("Unknown 80186 peripheral read offset %04x mask %04x returning %04x\n",offset,mem_mask,ret); } return ret; } @@ -420,7 +420,7 @@ WRITE16_MEMBER(ngen_state::xbus_w) { UINT16 addr = (data & 0x00ff) << 8; cpu_device* cpu; - + if(m_maincpu) cpu = m_maincpu; else @@ -544,7 +544,7 @@ READ16_MEMBER(ngen_state::fhd_r) ret = m_fdc->read(space,offset); m_fdc_timer->write_clk0(1); m_fdc_timer->write_clk0(0); // Data register access clocks the FDC's PIT channel 0 - } + } break; case 0x08: case 0x09: @@ -706,7 +706,7 @@ READ8_MEMBER(ngen_state::dma_read_word) else cpu = m_i386cpu; address_space& prog_space = cpu->space(AS_PROGRAM); // get the right address space - + if(m_dma_channel == -1) return 0xff; offs_t page_offset = (((offs_t) m_dma_offset[m_dma_channel]) << 16) & 0xFE0000; @@ -727,7 +727,7 @@ WRITE8_MEMBER(ngen_state::dma_write_word) else cpu = m_i386cpu; address_space& prog_space = cpu->space(AS_PROGRAM); // get the right address space - + if(m_dma_channel == -1) return; offs_t page_offset = (((offs_t) m_dma_offset[m_dma_channel]) << 16) & 0xFE0000; @@ -905,7 +905,7 @@ static MACHINE_CONFIG_START( ngen, ngen_state ) // keyboard UART (patent says i8251 is used for keyboard communications, it is located on the video board) MCFG_DEVICE_ADD("videouart", I8251, 0) // main clock unknown, Rx/Tx clocks are 19.53kHz -// MCFG_I8251_TXEMPTY_HANDLER(DEVWRITELINE("pic",pic8259_device,ir4_w)) +// MCFG_I8251_TXEMPTY_HANDLER(DEVWRITELINE("pic",pic8259_device,ir4_w)) 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)) @@ -919,12 +919,12 @@ static MACHINE_CONFIG_START( ngen, ngen_state ) MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE("maincpu",i80186_cpu_device,drq1_w)) MCFG_WD_FDC_FORCE_READY MCFG_DEVICE_ADD("fdc_timer", PIT8253, 0) - MCFG_PIT8253_CLK0(0) + MCFG_PIT8253_CLK0(0) MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) // clocked on FDC data register access MCFG_PIT8253_CLK1(XTAL_20MHz / 20) -// MCFG_PIT8253_OUT1_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) // 1MHz +// MCFG_PIT8253_OUT1_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) // 1MHz MCFG_PIT8253_CLK2(XTAL_20MHz / 20) -// MCFG_PIT8253_OUT2_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) +// MCFG_PIT8253_OUT2_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) // TODO: WD1010 HDC (not implemented), use WD2010 for now MCFG_DEVICE_ADD("hdc", WD2010, XTAL_20MHz / 4) @@ -1015,7 +1015,7 @@ static MACHINE_CONFIG_START( ngen386, ngen386_state ) // keyboard UART (patent says i8251 is used for keyboard communications, it is located on the video board) MCFG_DEVICE_ADD("videouart", I8251, 0) // main clock unknown, Rx/Tx clocks are 19.53kHz -// MCFG_I8251_TXEMPTY_HANDLER(DEVWRITELINE("pic",pic8259_device,ir4_w)) +// MCFG_I8251_TXEMPTY_HANDLER(DEVWRITELINE("pic",pic8259_device,ir4_w)) 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)) @@ -1026,15 +1026,15 @@ static MACHINE_CONFIG_START( ngen386, ngen386_state ) // floppy disk / hard disk module (WD2797 FDC, WD1010 HDC, plus an 8253 timer for each) MCFG_WD2797x_ADD("fdc", XTAL_20MHz / 20) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(ngen_state,fdc_irq_w)) -// MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE("i386cpu",i80186_cpu_device,drq1_w)) +// MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE("i386cpu",i80186_cpu_device,drq1_w)) MCFG_WD_FDC_FORCE_READY MCFG_DEVICE_ADD("fdc_timer", PIT8253, 0) - MCFG_PIT8253_CLK0(0) + MCFG_PIT8253_CLK0(0) MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) // clocked on FDC data register access MCFG_PIT8253_CLK1(XTAL_20MHz / 20) -// MCFG_PIT8253_OUT1_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) // 1MHz +// MCFG_PIT8253_OUT1_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) // 1MHz MCFG_PIT8253_CLK2(XTAL_20MHz / 20) -// MCFG_PIT8253_OUT2_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) +// MCFG_PIT8253_OUT2_HANDLER(DEVWRITELINE("pic",pic8259_device,ir5_w)) // TODO: WD1010 HDC (not implemented), use WD2010 for now MCFG_DEVICE_ADD("hdc", WD2010, XTAL_20MHz / 4) diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c index ef2d725b894..c645533a0e7 100644 --- a/src/mess/drivers/pc9801.c +++ b/src/mess/drivers/pc9801.c @@ -886,7 +886,7 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( pc9801_state::hgdc_draw_text ) for(kanji_lr=0;kanji_lr<x_step;kanji_lr++) { /* Rori Rori Rolling definitely uses different colors for brake stop PCG elements, - assume that all attributes are recalculated on different strips */ + assume that all attributes are recalculated on different strips */ attr = (m_video_ram_1[((tile_addr+kanji_lr) & 0xfff) | 0x1000] & 0xff); secret = (attr & 1) ^ 1; @@ -896,7 +896,7 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( pc9801_state::hgdc_draw_text ) v_line = (m_video_ff[ATTRSEL_REG]) ? 0 : attr & 0x10; gfx_mode = (m_video_ff[ATTRSEL_REG]) ? attr & 0x10 : 0; color = (attr & 0xe0) >> 5; - + for(yi=0;yi<lr;yi++) { for(xi=0;xi<8;xi++) diff --git a/src/mess/drivers/pcd.c b/src/mess/drivers/pcd.c index 54e035b918b..0aa0322358e 100644 --- a/src/mess/drivers/pcd.c +++ b/src/mess/drivers/pcd.c @@ -306,7 +306,7 @@ static ADDRESS_MAP_START( pcd_io, AS_IO, 16, pcd_state ) AM_RANGE(0xf9c0, 0xf9c3) AM_DEVREADWRITE8("usart1",mc2661_device,read,write,0xffff) // UARTs AM_RANGE(0xf9d0, 0xf9d3) AM_DEVREADWRITE8("usart2",mc2661_device,read,write,0xffff) AM_RANGE(0xf9e0, 0xf9e3) AM_DEVREADWRITE8("usart3",mc2661_device,read,write,0xffff) -// AM_RANGE(0xfa00, 0xfa7f) // pcs4-n (peripheral chip select) +// AM_RANGE(0xfa00, 0xfa7f) // pcs4-n (peripheral chip select) AM_RANGE(0xfb00, 0xfb01) AM_READWRITE8(detect_r, detect_w, 0xff00) // expansion card detection? AM_RANGE(0xfb00, 0xffff) AM_READWRITE8(nmi_io_r, nmi_io_w, 0xffff) ADDRESS_MAP_END diff --git a/src/mess/drivers/snes.c b/src/mess/drivers/snes.c index 24f9ab055f5..8697bb35d85 100644 --- a/src/mess/drivers/snes.c +++ b/src/mess/drivers/snes.c @@ -1098,7 +1098,7 @@ WRITE8_MEMBER(snes_console_state::io_read) UINT16 joy1 = 0, joy2 = 0, joy3 = 0, joy4 = 0; m_ctrl1->port_poll(); m_ctrl2->port_poll(); - + for (int i = 0; i < 16; i++) { joy1 |= ((m_ctrl1->read_pin4() & 1) << (15 - i)); @@ -1115,7 +1115,7 @@ WRITE8_MEMBER(snes_console_state::io_read) SNES_CPU_REG(JOY3H) = (joy3 & 0xff00) >> 8; SNES_CPU_REG(JOY4L) = (joy4 & 0x00ff) >> 0; SNES_CPU_REG(JOY4H) = (joy4 & 0xff00) >> 8; - } + } } UINT8 snes_console_state::oldjoy1_read(int latched) @@ -1160,13 +1160,13 @@ SNESCTRL_GUNLATCH_CB(snes_console_state::gun_latch_cb) x = 0; if (x > (SNES_SCR_WIDTH - 1)) x = SNES_SCR_WIDTH - 1; - + if (y < 0) y = 0; if (y > (m_ppu->m_beam.last_visible_line - 1)) y = m_ppu->m_beam.last_visible_line - 1; -// m_ppu->set_latch_hv(x, y); // it would be more accurate to write twice to WRIO register, first with bit7 = 0 and then with bit7 = 1 +// m_ppu->set_latch_hv(x, y); // it would be more accurate to write twice to WRIO register, first with bit7 = 0 and then with bit7 = 1 m_ppu->set_latch_hv(m_ppu->current_x(), m_ppu->current_y()); } diff --git a/src/mess/drivers/splitsec.c b/src/mess/drivers/splitsec.c index 703cb96fbdf..ced46f6a775 100644 --- a/src/mess/drivers/splitsec.c +++ b/src/mess/drivers/splitsec.c @@ -203,7 +203,7 @@ WRITE16_MEMBER(splitsec_state::splitsec_write_r) // R9,R10: input mux m_input_mux = data >> 9 & 3; - + // R0-R7: led rows m_r = data & 0xff; display_update(); @@ -216,7 +216,7 @@ WRITE16_MEMBER(splitsec_state::bankshot_write_r) // R2,R3: input mux m_input_mux = data >> 2 & 3; - + // R2-R10: led rows m_r = data & ~3; display_update(); @@ -252,7 +252,7 @@ INPUT_PORTS_END SCORE] ------ led display ------ - + [ANGLE] [AIM] [CUE UP SHOOT] */ diff --git a/src/mess/drivers/tb303.c b/src/mess/drivers/tb303.c index b37e8c2339a..1631ce2b0a6 100644 --- a/src/mess/drivers/tb303.c +++ b/src/mess/drivers/tb303.c @@ -6,7 +6,7 @@ * NEC uCOM-43 MCU, labeled D650C 133 * 3*uPD444C 1024x4 Static CMOS SRAM * board is packed with discrete components - + x ***************************************************************************/ diff --git a/src/mess/drivers/tc4.c b/src/mess/drivers/tc4.c index 74ca73b800e..488eb95f95c 100644 --- a/src/mess/drivers/tc4.c +++ b/src/mess/drivers/tc4.c @@ -4,13 +4,13 @@ Coleco Total Control 4 * TMS1400NLL MP7334-N2 (die labeled MP7334) - + This is a head to head electronic tabletop LED-display sports console. One cartridge(Football) was included with the console, the other three were sold separately. Gameplay has emphasis on strategy, read the official manual on how to play. Remember that you can rotate the view in MESS: rotate left for Home(P1) orientation, rotate right for Visitor(P2) orientation. - + Cartridge socket: 1 N/C 2 9V+ @@ -20,7 +20,7 @@ 6 K2 7 K1 8 R9 - + The cartridge connects pin 8 with one of the K-pins. Available cartridges: @@ -166,11 +166,11 @@ READ8_MEMBER(tc4_state::read_k) for (int i = 0; i < 6; i++) if (m_r >> i & 1) k |= m_button_matrix[i]->read(); - + // read from cartridge if (m_r & 0x200) k |= m_button_matrix[6]->read(); - + return k; } diff --git a/src/mess/drivers/tispeak.c b/src/mess/drivers/tispeak.c index c9868a754e3..fa0dde7fee3 100644 --- a/src/mess/drivers/tispeak.c +++ b/src/mess/drivers/tispeak.c @@ -3,7 +3,7 @@ /*************************************************************************** Texas Instruments 1st-gen. handheld speech devices, - + These devices, mostly edu-toys, are based around an MCU(TMS0270/TMS1100), TMS51xx speech, and VSM ROM(s). Newer devices, such as Speak & Music, are based around the TMP50C40 and belong in another driver, probably. @@ -246,21 +246,21 @@ Other devices: - CD2802: 16KB CD2357 - notes: MCU is the same as in Touch & Tell, but instead of a toddler's toy, you get a serious medical aid device for the voice-impaired. - + Spelling B (US), 1978 - MCU: TMC0272* - ?: TMC1984* (what is this?) - notes: this line of toys (Spelling B, Mr. Challenger, Math Marvel) is calculator-sized, might have been aimed for older kids. Note that Math Marvel is a TMC1986, no speech. - + Spelling B (US), newer - MCU: TMC0274* - TMS51xx: ?KB TMC0355 CD2602* - + Spelling B (Germany) "Spelling ABC", 198? - MCU: TMC0274* (assume same as US version) - TMS51xx: ?KB TMC0355 CD2607* - + Mr. Challenger (US), 1980 - MCU: TMC0273* - TMS51xx: ?KB TMC0355 CD2601* diff --git a/src/mess/drivers/tmtennis.c b/src/mess/drivers/tmtennis.c index ffece57a31b..4f3e06a5db7 100644 --- a/src/mess/drivers/tmtennis.c +++ b/src/mess/drivers/tmtennis.c @@ -6,14 +6,14 @@ * board labeled TOMY TN-04 TENNIS * NEC uCOM-44 MCU, labeled D552C 048 * VFD display NEC FIP11AM15T (FIP=fluorescent indicator panel) - + The initial release of this game was in 1979, known as Pro-Tennis, it is unknown if the hardware and/or ROM contents differ. This is an early VFD simple electronic tennis game. Player 1 is on the right side, player 2 or CPU on the left. Each player has six possible positions where to hit the ball. A backdrop behind the VFD shows a tennis court. - + NOTE!: MESS external artwork is required to be able to play @@ -42,7 +42,7 @@ public: required_device<cpu_device> m_maincpu; required_ioport_array<2> m_button_matrix; required_device<speaker_sound_device> m_speaker; - + UINT8 m_input_mux; UINT16 m_plate; UINT16 m_grid; @@ -88,7 +88,7 @@ void tmtennis_state::update_vfd() // on difference, send to output for (int j = 0; j < 12; j++) output_set_lamp_value(i*100 + j, m_plate >> j & 1); - + m_vfd_state[i] = m_plate; } } @@ -129,7 +129,7 @@ WRITE8_MEMBER(tmtennis_state::plate_w) if (offset == NEC_UCOM4_PORTF) offset--; int shift = (offset - NEC_UCOM4_PORTC) * 4; m_plate = (m_plate & ~(0xf << shift)) | (data << shift); - + update_vfd(); } @@ -138,7 +138,7 @@ WRITE8_MEMBER(tmtennis_state::grid_w) // port G/H/I: vfd matrix grid int shift = (offset - NEC_UCOM4_PORTG) * 4; m_grid = (m_grid & ~(0xf << shift)) | (data << shift); - + update_vfd(); } diff --git a/src/mess/drivers/wildfire.c b/src/mess/drivers/wildfire.c index 28acfdb6c59..d0d66a473ac 100644 --- a/src/mess/drivers/wildfire.c +++ b/src/mess/drivers/wildfire.c @@ -62,7 +62,7 @@ public: TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); bool index_is_7segled(int index); void display_update(); - + TIMER_DEVICE_CALLBACK_MEMBER(reset_q2); void write_a12(int state); void sound_update(); @@ -94,16 +94,16 @@ inline bool wildfire_state::index_is_7segled(int index) // where xx is led column and y is led row, eg. lamp103 is output A10 D3 // (note: 2 mistakes in the patent: the L19 between L12 and L14 should be L13, and L84 should of course be L48) /* - L0 = - L10 = lamp60 L20 = lamp41 L30 = lamp53 L40 = lamp57 L50 = lamp110 - L1 = lamp107 L11 = lamp50 L21 = lamp42 L31 = lamp43 L41 = lamp66 L51 = lamp111 - L2 = lamp106 L12 = lamp61 L22 = lamp52 L32 = lamp54 L42 = lamp76 L52 = lamp112 - L3 = lamp105 L13 = lamp71 L23 = lamp63 L33 = lamp55 L43 = lamp86 L53 = lamp113 - L4 = lamp104 L14 = lamp81 L24 = lamp73 L34 = lamp117 L44 = lamp96 L60 = lamp30 + L0 = - L10 = lamp60 L20 = lamp41 L30 = lamp53 L40 = lamp57 L50 = lamp110 + L1 = lamp107 L11 = lamp50 L21 = lamp42 L31 = lamp43 L41 = lamp66 L51 = lamp111 + L2 = lamp106 L12 = lamp61 L22 = lamp52 L32 = lamp54 L42 = lamp76 L52 = lamp112 + L3 = lamp105 L13 = lamp71 L23 = lamp63 L33 = lamp55 L43 = lamp86 L53 = lamp113 + L4 = lamp104 L14 = lamp81 L24 = lamp73 L34 = lamp117 L44 = lamp96 L60 = lamp30 L5 = lamp103 L15 = lamp92 L25 = lamp115 L35 = lamp75 L45 = lamp67 L61 = lamp30(!) - L6 = lamp102 L16 = lamp82 L26 = lamp93 L36 = lamp95 L46 = lamp77 L62 = lamp31 + L6 = lamp102 L16 = lamp82 L26 = lamp93 L36 = lamp95 L46 = lamp77 L62 = lamp31 L7 = lamp101 L17 = lamp72 L27 = lamp94 L37 = lamp56 L47 = lamp87 L63 = lamp31(!) - L8 = lamp80 L18 = lamp114 L28 = lamp84 L38 = lamp65 L48 = lamp97 L70 = lamp33 - L9 = lamp70 L19 = lamp51 L29 = lamp116 L39 = lamp85 L49 = - + L8 = lamp80 L18 = lamp114 L28 = lamp84 L38 = lamp65 L48 = lamp97 L70 = lamp33 + L9 = lamp70 L19 = lamp51 L29 = lamp116 L39 = lamp85 L49 = - */ void wildfire_state::display_update() @@ -221,7 +221,7 @@ WRITE8_MEMBER(wildfire_state::write_d) WRITE16_MEMBER(wildfire_state::write_a) { data ^= 0x1fff; // active-low - + // A12: enable speaker write_a12(data >> 12 & 1); |
