Previous 199869 Revisions Next

r33338 Tuesday 11th November, 2014 at 07:58:58 UTC by Miodrag Milanović
Merge pull request #45 from shattered/_8305c14

ec1842: skeleton
[hash]sms.xml
[src/emu]tilemap.h
[src/emu/cpu/tms0980]tms0980.c
[src/emu/cpu/upd7810]upd7810.c
[src/emu/imagedev]floppy.c floppy.h
[src/emu/machine]i6300esb.c i82875p.c i82875p.h pci.c pci.h
[src/mame]mame.lst
[src/mame/drivers]dec8.c fitfight.c groundfx.c gunbustr.c homedata.c megadrvb.c peplus.c phoenix.c taito_l.c undrfire.c
[src/mame/includes]gunbustr.h
[src/mame/video]groundfx.c undrfire.c
[src/mess]mess.mak
[src/mess/drivers]comp4.c merlin.c pc.c pcd.c* wizatron.c

trunk/hash/sms.xml
r241849r241850
41004100      <description>NBA Jam (Euro, Prototype)</description>
41014101      <year>1994</year>
41024102      <publisher>Acclaim</publisher>
4103      <info name="usage" value="Only runs with certain drivers, e.g. smsj - others show SOFTWARE ERROR" />
41034104      <part name="cart" interface="sms_cart">
41044105         <dataarea name="rom" size="524288">
41054106            <rom name="nba jam [proto].bin" size="524288" crc="332a847d" sha1="690addaea2b5f9b8d1c8788540ec7f695b396ff8" offset="000000" status="baddump"/>
trunk/src/emu/cpu/tms0980/tms0980.c
r241849r241850
1212---------+-----------+----------+--------+--------+--------|----------
1313tms0970  | 1024 *  8 |  64 *  4 |        |        |        | tms0972
1414tms0920* |  511?*  9 |  40 *  5 |        |        |        | tmc0921
15tms0980  | 2048 *  9 |  64 *  9?|        |        |        | tmc0981
15tms0980  | 2048 *  9 |  64 *  9 |        |        |        | tmc0981
1616tms1000  | 1024 *  8 |  64 *  4 |     11 |      8 |      4 | tms1001
1717tms1040* | 1024 *  8 |  64 *  4 |        |        |        | tms1043
1818tms1070  | 1024 *  8 |  64 *  4 |     11 |      8 |      4 | tms1071
r241849r241850
421421ADDRESS_MAP_END
422422
423423
424static ADDRESS_MAP_START(data_6bit, AS_DATA, 8, tms1xxx_cpu_device)
424static ADDRESS_MAP_START(data_64x4, AS_DATA, 8, tms1xxx_cpu_device)
425425   AM_RANGE( 0x00, 0x3f ) AM_RAM
426426ADDRESS_MAP_END
427427
428428
429static ADDRESS_MAP_START(data_7bit, AS_DATA, 8, tms1xxx_cpu_device)
429static ADDRESS_MAP_START(data_128x4, AS_DATA, 8, tms1xxx_cpu_device)
430430   AM_RANGE( 0x00, 0x7f ) AM_RAM
431431ADDRESS_MAP_END
432432
433433
434static ADDRESS_MAP_START(data_64x9_as4, AS_DATA, 8, tms1xxx_cpu_device)
435   AM_RANGE( 0x00, 0x8f ) AM_RAM
436   AM_RANGE( 0x90, 0xff ) AM_NOP
437ADDRESS_MAP_END
438
439
434440void tms1xxx_cpu_device::device_start()
435441{
436442   m_program = &space( AS_PROGRAM );
r241849r241850
625631  or321 = OR of pc5 and pc6, i.e. output is true if ((pc&0x60) != 0)
626632  nand322 = NAND of pc0 through pc5 plus /pc6,
627633      i.e. output is true if (pc != 0x3f)
628  nand325 = nand pf nand323, or321 and nand322
634  nand325 = nand of nand323, or321 and nand322
629635      This one is complex:
630636      / or321 means if pc&0x60 is zero, output MUST be true
631637      \ nand323 means if (pc&0x60=0x60) && (pc&0x1f != 0x1f), output MUST be true
r241849r241850
641647      UINT8   xorval = ( m_pc & 0x3F ) == 0x3F ? 1 : 0;
642648      UINT8   new_bit = ( ( m_pc ^ ( m_pc << 1 ) ) & 0x40 ) ? xorval : 1 - xorval;
643649
644      m_pc = ( m_pc << 1 ) | new_bit;
650      m_pc = ((m_pc << 1) | new_bit) & ((1 << m_pc_size) - 1);
645651   }
646652   else
647653   {
r241849r241850
10201026
10211027tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
10221028   : tms1xxx_cpu_device( mconfig, TMS0980, "TMS0980", tag, owner, clock, tms0980_decode, 0x00ff, 0x07ff, 7, 9, 4
1023                  , 12, ADDRESS_MAP_NAME( program_11bit_9 ), 6, ADDRESS_MAP_NAME( data_6bit ), "tms0980", __FILE__)
1029                  , 12, ADDRESS_MAP_NAME( program_11bit_9 ), 8, ADDRESS_MAP_NAME( data_64x9_as4 ), "tms0980", __FILE__)
10241030{
10251031}
10261032
r241849r241850
10341040
10351041tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
10361042   : tms1xxx_cpu_device( mconfig, TMS1000, "TMS1000", tag, owner, clock, tms1000_default_decode, 0x00ff, 0x07ff, 6, 8, 2
1037                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_6bit ), "tms1000", __FILE__)
1043                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_64x4 ), "tms1000", __FILE__)
10381044{
10391045}
10401046
10411047
10421048tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, device_type type, const char*name, const char *tag, device_t *owner, UINT32 clock, UINT16 o_mask, UINT16 r_mask, const char *shortname, const char *source)
10431049   : tms1xxx_cpu_device( mconfig, type, name, tag, owner, clock, tms1000_default_decode, o_mask, r_mask, 6, 8, 2
1044                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_6bit ), shortname, source )
1050                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_64x4 ), shortname, source )
10451051{
10461052}
10471053
r241849r241850
10781084
10791085tms1100_cpu_device::tms1100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
10801086   : tms1xxx_cpu_device( mconfig, TMS1100, "TMS1100", tag, owner, clock, tms1100_default_decode, 0x00ff, 0x07ff, 6, 8, 3
1081                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_7bit ), "tms1100", __FILE__ )
1087                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_128x4 ), "tms1100", __FILE__ )
10821088{
10831089}
10841090
10851091
10861092tms1100_cpu_device::tms1100_cpu_device(const machine_config &mconfig, device_type type, const char*name, const char *tag, device_t *owner, UINT32 clock, UINT16 o_mask, UINT16 r_mask, const char *shortname, const char *source)
10871093   : tms1xxx_cpu_device( mconfig, type, name, tag, owner, clock, tms1100_default_decode, o_mask, r_mask, 6, 8, 3
1088                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_7bit ), shortname, source )
1094                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_128x4 ), shortname, source )
10891095{
10901096}
10911097
trunk/src/emu/cpu/upd7810/upd7810.c
r241849r241850
19911991   switch (irqline) {
19921992   case INPUT_LINE_NMI:
19931993      /* NMI is falling edge sensitive */
1994      if ( m_nmi == ASSERT_LINE && state == CLEAR_LINE )
1994      if ( m_nmi == CLEAR_LINE && state == ASSERT_LINE )
19951995         IRR |= INTNMI;
19961996
19971997      m_nmi = state;
r241849r241850
20052005      break;
20062006   case UPD7810_INTF2:
20072007      /* INT2 is falling edge sensitive */
2008      if ( m_int2 == ASSERT_LINE && state == CLEAR_LINE )
2008      /* we store the physical state (inverse of the logical state) */
2009      /* to keep the handling of port C consistent with the upd7801 */
2010      if ( (!m_int2) == CLEAR_LINE && state == ASSERT_LINE )
20092011         IRR |= INTF2;
20102012
2011      m_int2 = state;
2013      m_int2 = !state;
20122014      break;
20132015   default:
20142016      logerror("upd7810_set_irq_line invalid irq line #%d\n", irqline);
trunk/src/emu/imagedev/floppy.c
r241849r241850
9393const device_type SONY_OA_D32W = &device_creator<sony_oa_d32w>;
9494const device_type SONY_OA_D32V = &device_creator<sony_oa_d32v>;
9595
96// teac 5.25" drives
97#if 0
98const device_type TEAC_FD_55A = &device_creator<teac_fd_55a>;
99const device_type TEAC_FD_55B = &device_creator<teac_fd_55b>;
100const device_type TEAC_FD_55E = &device_creator<teac_fd_55e>;
101#endif
102const device_type TEAC_FD_55F = &device_creator<teac_fd_55f>;
103const device_type TEAC_FD_55G = &device_creator<teac_fd_55g>;
104
96105// ALPS 5.25" drives
97106const device_type ALPS_3255190x = &device_creator<alps_3255190x>;
98107
r241849r241850
17621771   variants[var_count++] = floppy_image::SSDD;
17631772}
17641773
1774//-------------------------------------------------
1775//  teac fd-55f
1776//
1777//  track to track: 3 ms
1778//  average: 94 ms
1779//  setting time: 15 ms
1780//  motor start time: 400 ms
1781//
1782//-------------------------------------------------
17651783
1784teac_fd_55f::teac_fd_55f(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
1785   floppy_image_device(mconfig, TEAC_FD_55F, "TEAC FD-55F FDD", tag, owner, clock, "teac_fd_55f", __FILE__)
1786{
1787}
1788
1789teac_fd_55f::~teac_fd_55f()
1790{
1791}
1792
1793void teac_fd_55f::setup_characteristics()
1794{
1795   form_factor = floppy_image::FF_525;
1796   tracks = 80;
1797   sides = 2;
1798   set_rpm(300);
1799}
1800
1801void teac_fd_55f::handled_variants(UINT32 *variants, int &var_count) const
1802{
1803   var_count = 0;
1804   variants[var_count++] = floppy_image::SSSD;
1805   variants[var_count++] = floppy_image::SSDD;
1806   variants[var_count++] = floppy_image::SSQD;
1807   variants[var_count++] = floppy_image::DSSD;
1808   variants[var_count++] = floppy_image::DSDD;
1809   variants[var_count++] = floppy_image::DSQD;
1810}
1811
17661812//-------------------------------------------------
1813//  teac fd-55g
1814//
1815//  track to track: 3 ms
1816//  average: 91 ms
1817//  setting time: 15 ms
1818//  motor start time: 400 ms
1819//
1820//-------------------------------------------------
1821
1822teac_fd_55g::teac_fd_55g(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
1823   floppy_image_device(mconfig, TEAC_FD_55G, "TEAC FD-55G FDD", tag, owner, clock, "teac_fd_55g", __FILE__)
1824{
1825}
1826
1827teac_fd_55g::~teac_fd_55g()
1828{
1829}
1830
1831void teac_fd_55g::setup_characteristics()
1832{
1833   form_factor = floppy_image::FF_525;
1834   tracks = 77;
1835   sides = 2;
1836   set_rpm(360);
1837}
1838
1839void teac_fd_55g::handled_variants(UINT32 *variants, int &var_count) const
1840{
1841   var_count = 0;
1842   variants[var_count++] = floppy_image::SSSD;
1843   variants[var_count++] = floppy_image::SSDD;
1844   variants[var_count++] = floppy_image::SSQD;
1845   variants[var_count++] = floppy_image::DSDD;
1846   variants[var_count++] = floppy_image::DSQD;
1847   variants[var_count++] = floppy_image::DSHD;
1848}
1849
1850//-------------------------------------------------
17671851//  ALPS 32551901 (black) / 32551902 (brown)
17681852//
17691853//  used in the Commodoere 1541 disk drive
trunk/src/emu/imagedev/floppy.h
r241849r241850
239239DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d31v, "floppy_3_5")
240240DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d32w, "floppy_3_5")
241241DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d32v, "floppy_3_5")
242DECLARE_FLOPPY_IMAGE_DEVICE(teac_fd_55f, "floppy_5_25")
243DECLARE_FLOPPY_IMAGE_DEVICE(teac_fd_55g, "floppy_5_25")
242244DECLARE_FLOPPY_IMAGE_DEVICE(alps_3255190x, "floppy_5_25")
243245
244246
r241849r241850
288290extern const device_type SONY_OA_D31V;
289291extern const device_type SONY_OA_D32W;
290292extern const device_type SONY_OA_D32V;
293extern const device_type TEAC_FD_55F;
294extern const device_type TEAC_FD_55G;
291295extern const device_type ALPS_3255190x;
292296
293297#endif /* FLOPPY_H */
trunk/src/emu/machine/i6300esb.c
r241849r241850
7171   lpc_if_sound_range = 0x00;
7272   fwh_dec_en1 = 0xff;
7373   gen1_dec = 0x0000;
74   lpc_en = 0x2000;
74   lpc_en = 0x0000;
7575   fwh_sel1 = 0x00112233;
7676}
7777
r241849r241850
8585   COMBINE_DATA(&gpio_base);
8686   gpio_base &= 0x0000ffc0;
8787   logerror("%s: gpio_base = %08x\n", tag(), gpio_base);
88   remap_cb();
8889}
8990
9091READ8_MEMBER  (i6300esb_lpc_device::gpio_cntl_r)
r241849r241850
9697{
9798   COMBINE_DATA(&gpio_cntl);
9899   logerror("%s: gpio_cntl = %02x\n", tag(), gpio_cntl);
100   remap_cb();
99101}
100102
101103READ8_MEMBER  (i6300esb_lpc_device::lpc_if_com_range_r)
r241849r241850
107109{
108110   COMBINE_DATA(&lpc_if_com_range);
109111   logerror("%s: lpc_if_com_range  = %02x\n", tag(), lpc_if_com_range);
112   remap_cb();
110113}
111114
112115READ8_MEMBER  (i6300esb_lpc_device::lpc_if_fdd_lpt_range_r)
r241849r241850
118121{
119122   COMBINE_DATA(&lpc_if_fdd_lpt_range);
120123   logerror("%s: lpc_if_fdd_lpt_range  = %02x\n", tag(), lpc_if_fdd_lpt_range);
124   remap_cb();
121125}
122126
123127READ8_MEMBER  (i6300esb_lpc_device::lpc_if_sound_range_r)
r241849r241850
129133{
130134   COMBINE_DATA(&lpc_if_sound_range);
131135   logerror("%s: lpc_if_sound_range  = %02x\n", tag(), lpc_if_sound_range);
136   remap_cb();
132137}
133138
134139READ8_MEMBER  (i6300esb_lpc_device::fwh_dec_en1_r)
r241849r241850
140145{
141146   fwh_dec_en1 = data | 0x80;
142147   logerror("%s: fwh_dec_en1  = %02x\n", tag(), fwh_dec_en1);
148   remap_cb();
143149}
144150
145151READ16_MEMBER (i6300esb_lpc_device::gen1_dec_r)
r241849r241850
151157{
152158   COMBINE_DATA(&gen1_dec);
153159   logerror("%s: gen1_dec = %04x\n", tag(), gen1_dec);
160   remap_cb();
154161}
155162
156163READ16_MEMBER (i6300esb_lpc_device::lpc_en_r)
r241849r241850
162169{
163170   COMBINE_DATA(&lpc_en);
164171   logerror("%s: lpc_en = %04x\n", tag(), lpc_en);
172   remap_cb();
165173}
166174
167175READ32_MEMBER (i6300esb_lpc_device::fwh_sel1_r)
r241849r241850
173181{
174182   COMBINE_DATA(&fwh_sel1);
175183   logerror("%s: fwh_sel1 = %08x\n", tag(), fwh_sel1);
184   remap_cb();
176185}
177186
178187READ32_MEMBER (i6300esb_lpc_device::unk_fc_r)
trunk/src/emu/machine/i82875p.c
r241849r241850
66DEVICE_ADDRESS_MAP_START(agp_translation_map, 32, i82875p_host_device)
77ADDRESS_MAP_END
88
9DEVICE_ADDRESS_MAP_START(config_map, 32, i82875p_host_device)
10   AM_RANGE(0x50, 0x53) AM_READWRITE8 (agpm_r,     agpm_w,     0x0000ff00)
11   AM_RANGE(0x50, 0x53) AM_READ8      (gc_r,                   0x00ff0000)
12   AM_RANGE(0x50, 0x53) AM_READ8      (csabcont_r,             0xff000000)
13   AM_RANGE(0x58, 0x5b) AM_READ       (eap_r)
14   AM_RANGE(0x5c, 0x5f) AM_READ8      (derrsyn_r,              0x000000ff)
15   AM_RANGE(0x5c, 0x5f) AM_READ8      (des_r,                  0x0000ff00)
16   AM_RANGE(0x60, 0x63) AM_READWRITE8 (fpllcont_r, fpllcont_w, 0x000000ff)
17   AM_RANGE(0x90, 0x97) AM_READWRITE8 (pam_r,      pam_w,      0xffffffff)
18   AM_RANGE(0x9c, 0x9f) AM_READWRITE8 (smram_r,    smram_w,    0x0000ff00)
19   AM_RANGE(0x9c, 0x9f) AM_READWRITE8 (esmramc_r,  esmramc_w,  0x00ff0000)
20   AM_RANGE(0xa0, 0xa3) AM_READ       (acapid_r)
21   AM_RANGE(0xa4, 0xa7) AM_READ       (agpstat_r)
22   AM_RANGE(0xa8, 0xab) AM_READ       (agpcmd_r)
23   AM_RANGE(0xb0, 0xb3) AM_READWRITE  (agpctrl_r,  agpctrl_w)
24   AM_RANGE(0xb4, 0xb7) AM_READWRITE8 (apsize_r,   apsize_w,   0x000000ff)
25   AM_RANGE(0xb8, 0xbb) AM_READWRITE  (attbase_r,  attbase_w)
26   AM_RANGE(0xbc, 0xbf) AM_READWRITE8 (amtt_r,     amtt_w,     0x000000ff)
27   AM_RANGE(0xbc, 0xbf) AM_READWRITE8 (lptt_r,     lptt_w,     0x0000ff00)
28   AM_RANGE(0xc4, 0xc7) AM_READWRITE16(toud_r,     toud_w,     0x0000ffff)
29   AM_RANGE(0xc4, 0xc7) AM_READWRITE16(mchcfg_r,   mchcfg_w,   0xffff0000)
30   AM_RANGE(0xc8, 0xcb) AM_READ16     (errsts_r,               0x0000ffff)
31   AM_RANGE(0xc8, 0xcb) AM_READWRITE16(errcmd_r,   errcmd_w,   0xffff0000)
32   AM_RANGE(0xcc, 0xcf) AM_READWRITE16(smicmd_r,   smicmd_w,   0x0000ffff)
33   AM_RANGE(0xcc, 0xcf) AM_READWRITE16(scicmd_r,   scicmd_w,   0xffff0000)
34   AM_RANGE(0xdc, 0xdf) AM_READWRITE16(skpd_r,     skpd_w,     0xffff0000)
35   AM_RANGE(0xe4, 0xe7) AM_READ       (capreg1_r)
36   AM_RANGE(0xe8, 0xeb) AM_READ8      (capreg2_r,              0x000000ff)
37
38   AM_INHERIT_FROM(pci_host_device::config_map)
39ADDRESS_MAP_END
40
941i82875p_host_device::i82875p_host_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
1042   : pci_host_device(mconfig, I82875P_HOST, "i82875p northbridge", tag, owner, clock, "i82875p_host", __FILE__)
1143{
r241849r241850
2153   ram_size = _ram_size;
2254}
2355
56READ8_MEMBER(i82875p_host_device::capptr_r)
57{
58   return 0xe4;
59}
60
2461void i82875p_host_device::device_start()
2562{
2663   pci_host_device::device_start();
r241849r241850
4178   add_map(256*1024*1024, M_MEM, FUNC(i82875p_host_device::agp_translation_map));
4279}
4380
81READ8_MEMBER(  i82875p_host_device::agpm_r)
82{
83   return agpm;
84}
85
86WRITE8_MEMBER( i82875p_host_device::agpm_w)
87{
88   agpm = data;
89   logerror("%s: agpm = %02x\n", tag(), agpm);
90}
91
92READ8_MEMBER(  i82875p_host_device::gc_r)
93{
94   return 0x08;
95}
96
97READ8_MEMBER(  i82875p_host_device::csabcont_r)
98{
99   return 0x00;
100}
101
102READ32_MEMBER( i82875p_host_device::eap_r)
103{
104   return 0x00000000;
105}
106
107READ8_MEMBER(  i82875p_host_device::derrsyn_r)
108{
109   return 0x00;
110}
111
112READ8_MEMBER(  i82875p_host_device::des_r)
113{
114   return 0x00;
115}
116
117READ8_MEMBER(  i82875p_host_device::fpllcont_r)
118{
119   return fpllcont;
120}
121
122WRITE8_MEMBER( i82875p_host_device::fpllcont_w)
123{
124   fpllcont = data;
125   logerror("%s: fpllcont = %02x\n", tag(), data);
126}
127
128READ8_MEMBER(  i82875p_host_device::pam_r)
129{
130   return pam[offset];
131}
132
133WRITE8_MEMBER( i82875p_host_device::pam_w)
134{
135   pam[offset] = data;
136   logerror("%s: pam[%d] = %02x\n", tag(), offset, data);
137   remap_cb();
138}
139
140READ8_MEMBER(  i82875p_host_device::smram_r)
141{
142   return smram;
143}
144
145WRITE8_MEMBER( i82875p_host_device::smram_w)
146{
147   if(!(smram & 0x10))
148      smram = (data & 0xfe) | 0x02;
149   logerror("%s: smram = %02x\n", tag(), smram);
150   remap_cb();
151}
152
153READ8_MEMBER(  i82875p_host_device::esmramc_r)
154{
155   return esmramc;
156}
157
158WRITE8_MEMBER( i82875p_host_device::esmramc_w)
159{
160   if(!(smram & 0x10))
161      esmramc = (data & 0x87) | 0x38;
162   logerror("%s: esmramc = %02x\n", tag(), smram);
163   remap_cb();
164}
165
166READ32_MEMBER( i82875p_host_device::acapid_r)
167{
168   return 0x00300002;
169}
170
171READ32_MEMBER( i82875p_host_device::agpstat_r)
172{
173   return 0x1f004a13;
174}
175
176READ32_MEMBER( i82875p_host_device::agpcmd_r)
177{
178   return 0x00000a00;
179}
180
181READ32_MEMBER( i82875p_host_device::agpctrl_r)
182{
183   return agpctrl;
184}
185
186WRITE32_MEMBER(i82875p_host_device::agpctrl_w)
187{
188   COMBINE_DATA(&agpctrl);
189   logerror("%s: agpctrl = %08x\n", tag(), agpctrl);
190}
191
192READ8_MEMBER(  i82875p_host_device::apsize_r)
193{
194   return apsize;
195}
196
197WRITE8_MEMBER( i82875p_host_device::apsize_w)
198{
199   apsize = data;
200   logerror("%s: apsize = %02x\n", tag(), apsize);
201}
202
203READ32_MEMBER( i82875p_host_device::attbase_r)
204{
205   return attbase;
206}
207
208WRITE32_MEMBER(i82875p_host_device::attbase_w)
209{
210   COMBINE_DATA(&attbase);
211   logerror("%s: attbase = %08x\n", tag(), attbase);
212}
213
214READ8_MEMBER(  i82875p_host_device::amtt_r)
215{
216   return amtt;
217}
218
219WRITE8_MEMBER( i82875p_host_device::amtt_w)
220{
221   amtt = data;
222}
223
224READ8_MEMBER(  i82875p_host_device::lptt_r)
225{
226   return lptt;
227}
228
229WRITE8_MEMBER( i82875p_host_device::lptt_w)
230{
231   lptt = data;
232}
233
234READ16_MEMBER( i82875p_host_device::toud_r)
235{
236   return toud;
237}
238
239WRITE16_MEMBER(i82875p_host_device::toud_w)
240{
241   COMBINE_DATA(&toud);
242   logerror("%s: toud = %08x\n", tag(), 512*toud);
243   remap_cb();
244}
245
246READ16_MEMBER( i82875p_host_device::mchcfg_r)
247{
248   return mchcfg;
249}
250
251WRITE16_MEMBER(i82875p_host_device::mchcfg_w)
252{
253   COMBINE_DATA(&mchcfg);
254}
255
256READ16_MEMBER( i82875p_host_device::errsts_r)
257{
258   return 0x0000;
259}
260
261READ16_MEMBER( i82875p_host_device::errcmd_r)
262{
263   return errcmd;
264}
265
266WRITE16_MEMBER(i82875p_host_device::errcmd_w)
267{
268   COMBINE_DATA(&errcmd);
269}
270
271READ16_MEMBER( i82875p_host_device::smicmd_r)
272{
273   return smicmd;
274}
275
276WRITE16_MEMBER(i82875p_host_device::smicmd_w)
277{
278   COMBINE_DATA(&smicmd);
279}
280
281READ16_MEMBER( i82875p_host_device::scicmd_r)
282{
283   return scicmd;
284}
285
286WRITE16_MEMBER(i82875p_host_device::scicmd_w)
287{
288   COMBINE_DATA(&scicmd);
289}
290
291READ16_MEMBER( i82875p_host_device::skpd_r)
292{
293   return skpd;
294}
295
296WRITE16_MEMBER(i82875p_host_device::skpd_w)
297{
298   COMBINE_DATA(&skpd);
299}
300
301READ32_MEMBER( i82875p_host_device::capreg1_r)
302{
303   return 0x0106a009;
304}
305
306READ8_MEMBER(  i82875p_host_device::capreg2_r)
307{
308   return 0x00;
309}
310
44311void i82875p_host_device::device_reset()
45312{
46313   pci_host_device::device_reset();
314
315   agpm = 0x00;
316   fpllcont = 0x00;
317   memset(pam, 0, sizeof(pam));
318   smram = 0x02;
319   esmramc = 0x38;
320   agpctrl = 0x00000000;
321   apsize = 0x00;
322   attbase = 0x00000000;
323   amtt = 0x10;
324   lptt = 0x10;
325   toud = 0x0400;
326   mchcfg = 0x0000;
327   errcmd = 0x0000;
328   smicmd = 0x0000;
329   scicmd = 0x0000;
330   skpd = 0x0000;
47331}
48332
49333void i82875p_host_device::map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
50334                           UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
51335{
52336   io_space->install_device(0, 0xffff, *static_cast<pci_host_device *>(this), &pci_host_device::io_configuration_access_map);
337
338   UINT32 top = toud << 16;
339   if(top > ram_size)
340      top = ram_size;
341
342   memory_space->install_ram          (0x00000000, 0x0007ffff, &ram[0x00000000/4]);
343
344   if(smram & 0x40)
345      memory_space->install_ram      (0x000a0000, 0x000bffff, &ram[0x000a0000/4]);
346
347   if(pam[1] & 0x01)
348      memory_space->install_rom      (0x000c0000, 0x000c3fff, &ram[0x000c0000/4]);
349   if(pam[1] & 0x02)
350      memory_space->install_writeonly(0x000c0000, 0x000c3fff, &ram[0x000c0000/4]);
351   if(pam[1] & 0x10)
352      memory_space->install_rom      (0x000c4000, 0x000c7fff, &ram[0x000c4000/4]);
353   if(pam[1] & 0x20)
354      memory_space->install_writeonly(0x000c4000, 0x000c7fff, &ram[0x000c4000/4]);
355   if(pam[2] & 0x01)
356      memory_space->install_rom      (0x000c8000, 0x000cbfff, &ram[0x000c8000/4]);
357   if(pam[2] & 0x02)
358      memory_space->install_writeonly(0x000c8000, 0x000cbfff, &ram[0x000c8000/4]);
359   if(pam[2] & 0x10)
360      memory_space->install_rom      (0x000cc000, 0x000cffff, &ram[0x000cc000/4]);
361   if(pam[2] & 0x20)
362      memory_space->install_writeonly(0x000cc000, 0x000cffff, &ram[0x000cc000/4]);
363   if(pam[3] & 0x01)
364      memory_space->install_rom      (0x000d0000, 0x000d3fff, &ram[0x000d0000/4]);
365   if(pam[3] & 0x02)
366      memory_space->install_writeonly(0x000d0000, 0x000d3fff, &ram[0x000d0000/4]);
367   if(pam[3] & 0x10)
368      memory_space->install_rom      (0x000d4000, 0x000d7fff, &ram[0x000d4000/4]);
369   if(pam[3] & 0x20)
370      memory_space->install_writeonly(0x000d4000, 0x000d7fff, &ram[0x000d4000/4]);
371   if(pam[4] & 0x01)
372      memory_space->install_rom      (0x000d8000, 0x000dbfff, &ram[0x000d8000/4]);
373   if(pam[4] & 0x02)
374      memory_space->install_writeonly(0x000d8000, 0x000dbfff, &ram[0x000d8000/4]);
375   if(pam[4] & 0x10)
376      memory_space->install_rom      (0x000dc000, 0x000dffff, &ram[0x000dc000/4]);
377   if(pam[4] & 0x20)
378      memory_space->install_writeonly(0x000dc000, 0x000dffff, &ram[0x000dc000/4]);
379   if(pam[5] & 0x01)
380      memory_space->install_rom      (0x000e0000, 0x000e3fff, &ram[0x000e0000/4]);
381   if(pam[5] & 0x02)
382      memory_space->install_writeonly(0x000e0000, 0x000e3fff, &ram[0x000e0000/4]);
383   if(pam[5] & 0x10)
384      memory_space->install_rom      (0x000e4000, 0x000e7fff, &ram[0x000e4000/4]);
385   if(pam[5] & 0x20)
386      memory_space->install_writeonly(0x000e4000, 0x000e7fff, &ram[0x000e4000/4]);
387   if(pam[6] & 0x01)
388      memory_space->install_rom      (0x000e8000, 0x000ebfff, &ram[0x000e8000/4]);
389   if(pam[6] & 0x02)
390      memory_space->install_writeonly(0x000e8000, 0x000ebfff, &ram[0x000e8000/4]);
391   if(pam[6] & 0x10)
392      memory_space->install_rom      (0x000ec000, 0x000effff, &ram[0x000ec000/4]);
393   if(pam[6] & 0x20)
394      memory_space->install_writeonly(0x000ec000, 0x000effff, &ram[0x000ec000/4]);
395   if(pam[0] & 0x10)
396      memory_space->install_rom      (0x000f0000, 0x000fffff, &ram[0x000f0000/4]);
397   if(pam[0] & 0x20)
398      memory_space->install_writeonly(0x000f0000, 0x000fffff, &ram[0x000f0000/4]);
399
400   memory_space->install_ram          (0x00100000, 0x00efffff, &ram[0x00100000/4]);
401   if(!(pam[7] & 0x80))
402      memory_space->install_ram      (0x00f00000, 0x00ffffff, &ram[0x00f00000/4]);
403   if(top > 0x01000000)
404      memory_space->install_ram      (0x01000000, top-1,      &ram[0x01000000/4]);
405
406   if((esmramc & 0x40) && (smram & 0x08))
407      memory_space->install_ram      (0xfeda0000, 0xfedbffff, &ram[0x000a0000/4]);
408
53409}
54410
55411
trunk/src/emu/machine/i82875p.h
r241849r241850
2323   virtual void map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
2424                     UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
2525
26   virtual DECLARE_ADDRESS_MAP(config_map, 32);
27
28   virtual DECLARE_READ8_MEMBER(capptr_r);
29
30   DECLARE_READ8_MEMBER(  agpm_r);
31   DECLARE_WRITE8_MEMBER( agpm_w);
32   DECLARE_READ8_MEMBER(  gc_r);
33   DECLARE_READ8_MEMBER(  csabcont_r);
34   DECLARE_READ32_MEMBER( eap_r);
35   DECLARE_READ8_MEMBER(  derrsyn_r);
36   DECLARE_READ8_MEMBER(  des_r);
37   DECLARE_READ8_MEMBER(  fpllcont_r);
38   DECLARE_WRITE8_MEMBER( fpllcont_w);
39   DECLARE_READ8_MEMBER(  pam_r);
40   DECLARE_WRITE8_MEMBER( pam_w);
41   DECLARE_READ8_MEMBER(  smram_r);
42   DECLARE_WRITE8_MEMBER( smram_w);
43   DECLARE_READ8_MEMBER(  esmramc_r);
44   DECLARE_WRITE8_MEMBER( esmramc_w);
45   DECLARE_READ32_MEMBER( acapid_r);
46   DECLARE_READ32_MEMBER( agpstat_r);
47   DECLARE_READ32_MEMBER( agpcmd_r);
48   DECLARE_READ32_MEMBER( agpctrl_r);
49   DECLARE_WRITE32_MEMBER(agpctrl_w);
50   DECLARE_READ8_MEMBER(  apsize_r);
51   DECLARE_WRITE8_MEMBER( apsize_w);
52   DECLARE_READ32_MEMBER( attbase_r);
53   DECLARE_WRITE32_MEMBER(attbase_w);
54   DECLARE_READ8_MEMBER(  amtt_r);
55   DECLARE_WRITE8_MEMBER( amtt_w);
56   DECLARE_READ8_MEMBER(  lptt_r);
57   DECLARE_WRITE8_MEMBER( lptt_w);
58   DECLARE_READ16_MEMBER( toud_r);
59   DECLARE_WRITE16_MEMBER(toud_w);
60   DECLARE_READ16_MEMBER( mchcfg_r);
61   DECLARE_WRITE16_MEMBER(mchcfg_w);
62   DECLARE_READ16_MEMBER( errsts_r);
63   DECLARE_READ16_MEMBER( errcmd_r);
64   DECLARE_WRITE16_MEMBER(errcmd_w);
65   DECLARE_READ16_MEMBER( smicmd_r);
66   DECLARE_WRITE16_MEMBER(smicmd_w);
67   DECLARE_READ16_MEMBER( scicmd_r);
68   DECLARE_WRITE16_MEMBER(scicmd_w);
69   DECLARE_READ16_MEMBER( skpd_r);
70   DECLARE_WRITE16_MEMBER(skpd_w);
71   DECLARE_READ32_MEMBER( capreg1_r);
72   DECLARE_READ8_MEMBER(  capreg2_r);
73
2674protected:
2775   virtual void device_start();
2876   virtual void device_reset();
r241849r241850
3482   int ram_size;
3583   cpu_device *cpu;
3684   dynamic_array<UINT32> ram;
85
86   UINT8 agpm, fpllcont, pam[8], smram, esmramc;
87   UINT8 apsize, amtt, lptt;
88   UINT16 toud, mchcfg, errsts, errcmd, smicmd, scicmd, skpd;
89   UINT32 agpctrl, attbase;
3790};
3891
3992class i82875p_agp_device : public agp_bridge_device {
trunk/src/emu/machine/pci.c
r241849r241850
1313   AM_RANGE(0x0c, 0x0f) AM_READ8 (header_type_r,     0x00ff0000)
1414   AM_RANGE(0x0c, 0x0f) AM_READ8 (bist_r,            0xff000000)
1515
16   AM_RANGE(0x2c, 0x2f) AM_READ16(subvendor_r,          0x0000ffff)
17   AM_RANGE(0x2c, 0x2f) AM_READ16(subsystem_r,          0xffff0000)
16   AM_RANGE(0x2c, 0x2f) AM_READ16(subvendor_r,       0x0000ffff)
17   AM_RANGE(0x2c, 0x2f) AM_READ16(subsystem_r,       0xffff0000)
18
19   AM_RANGE(0x34, 0x37) AM_READ8 (capptr_r,          0x000000ff)
1820ADDRESS_MAP_END
1921
2022pci_device::pci_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
r241849r241850
8789   return subsystem_id;
8890}
8991
92READ8_MEMBER(pci_device::capptr_r)
93{
94   return 0x00;
95}
96
9097void pci_device::scan_sub_devices(pci_device **devices, dynamic_array<pci_device *> &all, dynamic_array<pci_device *> &bridges, device_t *root)
9198{
9299}
93100
101void pci_device::set_remap_cb(mapper_cb _remap_cb)
102{
103   remap_cb = _remap_cb;
104}
105
94106void pci_device::reset_all_mappings()
95107{
96108}
r241849r241850
163175   return this;
164176}
165177
178void pci_bridge_device::set_remap_cb(mapper_cb _remap_cb)
179{
180   remap_cb = _remap_cb;
181   for(int i=0; i != all_devices.count(); i++)
182      if(all_devices[i] != this)
183         all_devices[i]->set_remap_cb(_remap_cb);
184}
185
166186void pci_bridge_device::device_start()
167187{
168188   pci_device::device_start();
r241849r241850
179199      int fct = t[l-1] - '0';
180200      sub_devices[(id << 3) | fct] = downcast<pci_device *>(d);
181201   }
202
203   mapper_cb cf_cb(FUNC(pci_bridge_device::regenerate_config_mapping), this);
204
182205   for(int i=0; i<32*8; i++)
183206      if(sub_devices[i]) {
184207         all_devices.append(sub_devices[i]);
185208         if(sub_devices[i] != this) {
209            sub_devices[i]->remap_config_cb = cf_cb;
210            sub_devices[i]->set_remap_cb(remap_cb);
186211            pci_bridge_device *bridge = dynamic_cast<pci_bridge_device *>(sub_devices[i]);
187212            if(bridge)
188213               all_bridges.append(bridge);
r241849r241850
262287
263288void pci_host_device::device_start()
264289{
290   remap_cb = mapper_cb(FUNC(pci_host_device::regenerate_mapping), this);
291
265292   pci_bridge_device::device_start();
266293
267294   memory_window_start = memory_window_end = memory_offset = 0;
268295   io_window_start = io_window_end = io_offset = 0;
296
297   for(int i=0; i != all_devices.count(); i++)
298      if(all_devices[i] != this)
299         all_devices[i]->reset_all_mappings();
269300}
270301
271302void pci_host_device::device_reset()
trunk/src/emu/machine/pci.h
r241849r241850
2424
2525class pci_device : public device_t {
2626public:
27   typedef delegate<void ()> mapper_cb;
28
29   mapper_cb remap_cb, remap_config_cb;
30
2731   pci_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
2832
2933   void set_ids(UINT32 main_id, UINT8 revision, UINT32 pclass, UINT32 subsystem_id);
3034
35   virtual void set_remap_cb(mapper_cb _remap_cb);
3136   virtual void reset_all_mappings();
3237   virtual void map_device(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
3338                     UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
r241849r241850
4752   virtual DECLARE_READ8_MEMBER(bist_r);
4853   DECLARE_READ16_MEMBER(subvendor_r);
4954   DECLARE_READ16_MEMBER(subsystem_r);
55   virtual DECLARE_READ8_MEMBER(capptr_r);
5056
5157protected:
5258   enum {
r241849r241850
8793   pci_bridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
8894   pci_bridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
8995
96   virtual void set_remap_cb(mapper_cb _remap_cb);
9097   virtual void map_device(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
9198                     UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
9299   virtual void reset_all_mappings();
trunk/src/emu/tilemap.h
r241849r241850
443443   {
444444      gfx_element *gfx = decoder->gfx(_gfxnum);
445445      int code = rawcode % gfx->elements();
446      assert(rawcolor < gfx->colors()); // TEMPORARY ASSERT
447446      pen_data = gfx->get_data(code);
448447      palette_base = gfx->colorbase() + gfx->granularity() * (rawcolor % gfx->colors());
449448      flags = _flags;
trunk/src/mame/drivers/dec8.c
r241849r241850
35693569DRIVER_INIT_MEMBER(dec8_state,ghostb)
35703570{
35713571   UINT8 *ROM = memregion("maincpu")->base();
3572   UINT8 *RAM = memregion("proms")->base();
35733572
3574   /* Blank out unused garbage in colour prom to avoid colour overflow */
3575   memset(RAM + 0x20, 0, 0xe0);
3576
35773573   membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
35783574   DRIVER_INIT_CALL(dec8);
3579   m_palette->update();
35803575}
35813576
35823577DRIVER_INIT_MEMBER(dec8_state,meikyuh)
35833578{
35843579   UINT8 *ROM = memregion("maincpu")->base();
3585   UINT8 *RAM = memregion("proms")->base();
35863580
3587   /* Blank out unused garbage in colour prom to avoid colour overflow */
3588   memset(RAM + 0x20, 0, 0xe0);
3589
35903581   membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
35913582   DRIVER_INIT_CALL(dec8);
3592   m_palette->update();
35933583}
35943584
35953585DRIVER_INIT_MEMBER(dec8_state,csilver)
trunk/src/mame/drivers/fitfight.c
r241849r241850
259259
260260INTERRUPT_GEN_MEMBER(fitfight_state::snd_irq)
261261{
262   device.execute().set_input_line(UPD7810_INTF2, HOLD_LINE);
262   generic_pulse_irq_line(device.execute(), UPD7810_INTF2, 1);
263263}
264264
265265
trunk/src/mame/drivers/groundfx.c
r241849r241850
4848
4949    Ground Effects combines the sprite system used in Taito Z games with
5050    the TC0480SCP tilemap chip plus some features from the Taito F3 system.
51    It has an extra tilemap chip which is a dead ringer for the TC0100SCN
52    (check the inits), like Under Fire.
51    It has an extra TC0620SCC tilemap chip which is a 6bpp version of the
52    TC0100SCN (check the inits), like Under Fire.
5353
5454    Ground Effects is effectively a 30Hz game - though the vblank interrupts
5555    still come in at 60Hz, the game uses a hardware frame counter to limit
r241849r241850
190190   AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
191191   AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)      /* tilemaps */
192192   AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)  // debugging
193   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)    /* piv tilemaps */
193   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)    /* 6bpp tilemaps */
194194   AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
195195   AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
196196   AM_RANGE(0xb00000, 0xb003ff) AM_RAM                     // ?? single bytes, blending ??
r241849r241850
279279   128*8     /* every sprite takes 128 consecutive bytes */
280280};
281281
282static const gfx_layout pivlayout =
282static const gfx_layout scclayout =
283283{
284284   8,8,    /* 8*8 characters */
285285   RGN_FRAC(1,2),
r241849r241850
293293static GFXDECODE_START( groundfx )
294294   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  4096, 512 )
295295   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0, 512 )
296   GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout,         0, 512 )
296   GFXDECODE_ENTRY( "gfx3", 0x0, scclayout,         0, 512 )
297297GFXDECODE_END
298298
299299
r241849r241850
375375   ROM_LOAD32_BYTE( "d51-07.51", 0x000003, 0x200000, CRC(24b2f97d) SHA1(6980e67b435d189ce897c0301e0411763410ab47) )
376376
377377   ROM_REGION( 0x400000, "gfx3", 0 )
378   ROM_LOAD16_BYTE( "d51-10.95", 0x000000, 0x100000, CRC(d5910604) SHA1(8efe13884cfdef208394ddfe19f43eb1b9f78ff3) )    /* PIV 8x8 tiles, 6bpp */
378   ROM_LOAD16_BYTE( "d51-10.95", 0x000000, 0x100000, CRC(d5910604) SHA1(8efe13884cfdef208394ddfe19f43eb1b9f78ff3) )    /* SCC 8x8 tiles, 6bpp */
379379   ROM_LOAD16_BYTE( "d51-11.96", 0x000001, 0x100000, CRC(fee5f5c6) SHA1(1be88747f9c71c348dd61a8f0040007df3a3e6a6) )
380380   ROM_LOAD       ( "d51-12.97", 0x300000, 0x100000, CRC(d630287b) SHA1(2fa09e1821b7280d193ca9a2a270759c3c3189d1) )
381381   ROM_FILL       (              0x200000, 0x100000, 0 )
r241849r241850
418418   /* Speedup handlers */
419419   m_maincpu->space(AS_PROGRAM).install_read_handler(0x20b574, 0x20b577, read32_delegate(FUNC(groundfx_state::irq_speedup_r_groundfx),this));
420420
421   /* make piv tile GFX format suitable for gfxdecode */
421   /* make SCC tile GFX format suitable for gfxdecode */
422422   offset = size/2;
423423   for (i = size/2+size/4; i<size; i++)
424424   {
trunk/src/mame/drivers/gunbustr.c
r241849r241850
6969   device.execute().set_input_line(4, HOLD_LINE);
7070}
7171
72WRITE32_MEMBER(gunbustr_state::gunbustr_palette_w)
73{
74   int a;
75   COMBINE_DATA(&m_generic_paletteram_32[offset]);
76
77   a = m_generic_paletteram_32[offset] >> 16;
78   m_palette->set_pen_color(offset*2,pal5bit(a >> 10),pal5bit(a >> 5),pal5bit(a >> 0));
79
80   a = m_generic_paletteram_32[offset] &0xffff;
81   m_palette->set_pen_color(offset*2+1,pal5bit(a >> 10),pal5bit(a >> 5),pal5bit(a >> 0));
82}
83
8472CUSTOM_INPUT_MEMBER(gunbustr_state::coin_word_r)
8573{
8674   return m_coin_word;
r241849r241850
168156   AM_RANGE(0x500000, 0x500003) AM_READWRITE(gunbustr_gun_r, gunbustr_gun_w)                       /* gun coord read */
169157   AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)
170158   AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
171   AM_RANGE(0x900000, 0x901fff) AM_RAM_WRITE(gunbustr_palette_w) AM_SHARE("paletteram")            /* Palette ram */
159   AM_RANGE(0x900000, 0x901fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
172160   AM_RANGE(0xc00000, 0xc03fff) AM_RAM                                                             /* network ram ?? */
173161ADDRESS_MAP_END
174162
r241849r241850
275263};
276264
277265static GFXDECODE_START( gunbustr )
278   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 512 )
279   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0, 512 )
266   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 256 )
267   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0, 256 )
280268GFXDECODE_END
281269
282270
r241849r241850
303291   MCFG_SCREEN_PALETTE("palette")
304292
305293   MCFG_GFXDECODE_ADD("gfxdecode", "palette", gunbustr)
306   MCFG_PALETTE_ADD("palette", 8192)
294   MCFG_PALETTE_ADD("palette", 4096)
295   MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
307296
308297   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
309298   MCFG_TC0480SCP_GFX_REGION(1)
trunk/src/mame/drivers/homedata.c
r241849r241850
231231
232232INTERRUPT_GEN_MEMBER(homedata_state::upd7807_irq)
233233{
234   device.execute().set_input_line(UPD7810_INTF1, HOLD_LINE);
234   generic_pulse_irq_line(device.execute(), UPD7810_INTF1, 1);
235235}
236236
237237
trunk/src/mame/drivers/megadrvb.c
r241849r241850
737737   ROM_LOAD( "89c51.bin", 0x0000, 0x1000, CRC(595475c8) SHA1(8313819ba06cc92b54f88c1ca9f34be8d1ec94d0) )
738738ROM_END
739739
740ROM_START( sonic2mb )
741   ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
742   ROM_LOAD16_BYTE( "m1", 0x000001, 0x080000,  CRC(7b40aa24) SHA1(247882cd1f412366d61aeb4d85bbeefd5f108e1d) )
743   ROM_LOAD16_BYTE( "m2", 0x000000, 0x080000,  CRC(84b3f758) SHA1(19846b9d951db6f78f3e155d33f1b6349fb87f1a) )
744ROM_END
745
746
740747/*************************************
741748 *
742749 *  Game-specific driver inits
r241849r241850
879886GAME( 1994, ssf2mdb,  0, megadrvb_6b,  ssf2mdb,  md_boot_state,  ssf2mdb,  ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (bootleg of Japanese MegaDrive version)", 0)
880887GAME( 1993, srmdb,    0, megadrvb,     srmdb,    md_boot_state,  srmdb,    ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Megadrive version)", 0)
881888GAME( 1995, topshoot, 0, md_bootleg,   topshoot, md_boot_state,  topshoot, ROT0, "Sun Mixing",       "Top Shooter", 0)
889GAME( 1993, sonic2mb, 0, megadrvb,     aladmdb,  md_boot_state,  aladmdb,  ROT0, "bootleg / Sega",   "Sonic 2 (bootleg of Megadrive version)", GAME_NOT_WORKING )
trunk/src/mame/drivers/peplus.c
r241849r241850
16451645   ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) /* BPROM type DM74LS471 (compatible with N82S135N) verified */
16461646ROM_END
16471647
1648ROM_START( pepp0040a ) /* Normal board : Standard Draw Poker (PP0040) - Multi Regional / Multi Currency - Tournament Mode capable */
1649/*
1650PayTable   Js+  2PR  3K   STR  FL  FH  4K  SF  RF  (Bonus)
1651----------------------------------------------------------
1652   WA       1    2    3    4    5   7  20  50 300    800
1653  % Range: 91.0-93.0%  Optimum: 95.0%  Hit Frequency: 45.5%
1654     Programs Available: PP0040, X000040P
1655*/
1656   ROM_REGION( 0x10000, "maincpu", 0 )
1657   ROM_LOAD( "pp0040_a0b-a1s.u68",   0x00000, 0x10000, CRC(0530ffb3) SHA1(ae5568c05dd640b040535482d1ba6fb45323c585) ) /* Game Version: A0B, Library Version: A1S */
1658
1659   ROM_REGION( 0x020000, "gfx1", 0 )
1660   ROM_LOAD( "mro-cg2014.u72",  0x00000, 0x8000, CRC(90220e65) SHA1(c03417e09b72c8f3afe182b15e41e9d9ae32a831) ) /* 09/01/94  @IGT  IGT-EURO */
1661   ROM_LOAD( "mgo-cg2014.u73",  0x08000, 0x8000, CRC(3189b3e3) SHA1(34c4c170dba74a50ffcbc5c5c97b37200b6d2509) )
1662   ROM_LOAD( "mbo-cg2014.u74",  0x10000, 0x8000, CRC(77650c39) SHA1(7e89682d0a192ef83288bc3ad22dea45129344f9) )
1663   ROM_LOAD( "mxo-cg2014.u75",  0x18000, 0x8000, CRC(af9c89a6) SHA1(e256259c20f5b1308e89c9fbb424d1396bccbcd1) )
1664
1665   ROM_REGION( 0x100, "proms", 0 )
1666   ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) /* BPROM type DM74LS471 (compatible with N82S135N) verified */
1667ROM_END
1668
16481669ROM_START( pepp0041 ) /* Normal board : Standard Draw Poker (PP0041) */
16491670/*
16501671PayTable   Js+  2PR  3K   STR  FL  FH  4K  SF  RF  (Bonus)
r241849r241850
17411762   ROM_LOAD( "pp0043_a0b-a1s.u68",   0x00000, 0x10000, CRC(be1561ab) SHA1(a3f6d306992acabb6a618a4035cc739f3c3c45e8) ) /* Game Version: A0B, Library Version: A1S */
17421763
17431764   ROM_REGION( 0x020000, "gfx1", 0 )
1744   ROM_LOAD( "mro-cg2014.u72",  0x00000, 0x8000, CRC(90220e65) SHA1(c03417e09b72c8f3afe182b15e41e9d9ae32a831) )
1765   ROM_LOAD( "mro-cg2014.u72",  0x00000, 0x8000, CRC(90220e65) SHA1(c03417e09b72c8f3afe182b15e41e9d9ae32a831) ) /* 09/01/94  @IGT  IGT-EURO */
17451766   ROM_LOAD( "mgo-cg2014.u73",  0x08000, 0x8000, CRC(3189b3e3) SHA1(34c4c170dba74a50ffcbc5c5c97b37200b6d2509) )
17461767   ROM_LOAD( "mbo-cg2014.u74",  0x10000, 0x8000, CRC(77650c39) SHA1(7e89682d0a192ef83288bc3ad22dea45129344f9) )
17471768   ROM_LOAD( "mxo-cg2014.u75",  0x18000, 0x8000, CRC(af9c89a6) SHA1(e256259c20f5b1308e89c9fbb424d1396bccbcd1) )
r241849r241850
88868907GAMEL(1987, pepp0014a, pepp0002, peplus,  peplus_poker, peplus_state, nonplus,  ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0014) Standard Draw Poker",           0, layout_pe_poker )
88878908GAMEL(1987, pepp0023,  pepp0002, peplus,  peplus_poker, peplus_state, nonplus,  ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0023) 10's or Better",                0, layout_pe_poker )
88888909GAMEL(1987, pepp0040,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0040) Standard Draw Poker",           0, layout_pe_poker )
8910GAMEL(1987, pepp0040a, pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0040) Standard Draw Poker (International)", 0, layout_pe_poker )
88898911GAMEL(1987, pepp0041,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0041) Standard Draw Poker",           0, layout_pe_poker )
88908912GAMEL(1987, pepp0042,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0042) 10's or Better",                0, layout_pe_poker )
88918913GAMEL(1987, pepp0043,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0043) 10's or Better",                0, layout_pe_poker )
trunk/src/mame/drivers/phoenix.c
r241849r241850
972972   ROM_LOAD( "mmi6301.ic41",   0x0100, 0x0100, CRC(e176b768) SHA1(e2184dd495ed579f10b6da0b78379e02d7a6229f) )  /* palette high bits */
973973ROM_END
974974
975ROM_START( avefenixrf )
976   ROM_REGION( 0x10000, "maincpu", 0 )
977   ROM_LOAD( "601-ic45.a1",    0x0000, 0x0800, CRC(b04260e9) SHA1(a275ba596e620b1e4dd73792cc9b11fbc55723cc) )
978   ROM_LOAD( "6002-ic46.a2",   0x0800, 0x0800, CRC(25a2e4bd) SHA1(a1188c4d1d059852b59ccfe16dd9a305d7b26299) )
979   ROM_LOAD( "0003-ic47.a3",   0x1000, 0x0800, CRC(cbbb8839) SHA1(b7f449374cac111081559e39646f973e7e99fd64) )
980   ROM_LOAD( "6004-ic48.a4",   0x1800, 0x0800, CRC(4b7701b4) SHA1(2330802d4016450985f85937fd58e2a71e77c719) )
981   ROM_LOAD( "6005-ic49.a5",   0x2000, 0x0800, CRC(1ab92ef9) SHA1(ff5a263865895f8534f8535fbcb398af8512cbfe) )
982   ROM_LOAD( "0006-ic50.a6",   0x2800, 0x0800, CRC(ac5e9ec1) SHA1(0402e5241d99759d804291998efd43f37ce99917) )
983   ROM_LOAD( "6007-ic51.a7",   0x3000, 0x0800, CRC(2eab35b4) SHA1(849bf8273317cc869bdd67e50c68399ee8ece81d) )
984   ROM_LOAD( "f008-ic52.a8",   0x3800, 0x0800, CRC(3719fc84) SHA1(70691d55a86cdad21938a8af2a84ab9cfdc8d76a) )
975985
986   ROM_REGION( 0x1000, "bgtiles", 0 )
987   ROM_LOAD( "0011-ic23.d3",      0x0000, 0x0800, CRC(3c7e623f) SHA1(e7ff5fc371664af44785c079e92eeb2d8530187b) )
988   ROM_LOAD( "0012-ic24.d4",      0x0800, 0x0800, CRC(59916d3b) SHA1(71aec70a8e096ed1f0c2297b3ae7dca1b8ecc38d) )
989
990   ROM_REGION( 0x1000, "fgtiles", 0 )
991   ROM_LOAD( "0009-ic39.b3",   0x0000, 0x0800, CRC(bb0525ed) SHA1(86db1c7584fb3846bfd47535e1585eeb7fbbb1fe) )
992   ROM_LOAD( "0010-ic40.b4",   0x0800, 0x0800, CRC(4178aa4f) SHA1(5350f8f62cc7c223c38008bc83140b7a19147d81) )
993
994   ROM_REGION( 0x0200, "proms", 0 )
995   ROM_LOAD( "mmi6301.ic40",   0x0000, 0x0100, CRC(79350b25) SHA1(57411be4c1d89677f7919ae295446da90612c8a8) )  /* palette low bits */
996   ROM_LOAD( "mmi6301.ic41",   0x0100, 0x0100, CRC(e176b768) SHA1(e2184dd495ed579f10b6da0b78379e02d7a6229f) )  /* palette high bits */
997ROM_END
998
976999ROM_START( griffon )
9771000   ROM_REGION( 0x10000, "maincpu", 0 )
9781001   ROM_LOAD( "griffon0.a5",  0x0000, 0x0800, CRC(c0f73929) SHA1(3cecf8341a5674165d2cae9b22ea5db26a9597de) )
r241849r241850
12751298GAME( 1981, nextfase, phoenix,  phoenix,  nextfase, driver_device, 0,        ROT90, "bootleg (Petaco S.A.)", "Next Fase (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
12761299// as is this
12771300GAME( 1981, phoenixs, phoenix,  phoenix,  phoenix, driver_device,  0,        ROT90, "bootleg (Sonic)", "Phoenix (Spanish bootleg)", GAME_SUPPORTS_SAVE )
1278GAME( 1980, avefenix, phoenix,  phoenix,  phoenix, driver_device,  0,        ROT90, "bootleg (Video Game)", "Ave Fenix (Spanish bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
1301GAME( 1980, avefenix, phoenix,  phoenix,  phoenix, driver_device,  0,        ROT90, "bootleg (Video Game)", "Ave Fenix (Electrogame, Spanish bootleg of Phoenix)", GAME_SUPPORTS_SAVE ) // Electrogame (Barcelona) made the dedicated cabinet and is likely the real manufacturer, ingame shows 'Video Game'
1302GAME( 1980, avefenixrf,phoenix, phoenix,  phoenix, driver_device,  0,        ROT90, "bootleg (Recreativos Franco S.A.)", "Ave Fenix (Recreativos Franco, Spanish bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
12791303
12801304GAME( 1981, pleiads,  0,        pleiads,  pleiads, driver_device,  0,        ROT90, "Tehkan", "Pleiads (Tehkan)", GAME_IMPERFECT_COLORS )
12811305GAME( 1981, pleiadsb2,pleiads,  pleiads,  pleiads, driver_device,  0,        ROT90, "bootleg (ESG)", "Pleiads (bootleg set 2)", GAME_SUPPORTS_SAVE )
trunk/src/mame/drivers/taito_l.c
r241849r241850
16541654
16551655
16561656
1657static const gfx_layout bg1_layout =
1658{
1659   8, 8,
1660   RGN_FRAC(1,2),
1661   4,
1662   { RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4, 0, 4 },
1663   { 3, 2, 1, 0, 8+3, 8+2, 8+1, 8+0 },
1664   { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
1665   8*8*2
1666};
16671657
16681658static const gfx_layout bg2_layout =
16691659{
r241849r241850
16761666   8*8*4
16771667};
16781668
1679#define O 8*8*2
1680#define O2 2*O
1681static const gfx_layout sp1_layout =
1682{
1683   16, 16,
1684   RGN_FRAC(1,2),
1685   4,
1686   { RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4, 0, 4 },
1687   { 3, 2, 1, 0, 8+3, 8+2, 8+1, 8+0, O+3, O+2, O+1, O+0, O+8+3, O+8+2, O+8+1, O+8+0 },
1688   { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, O2+0*16, O2+1*16, O2+2*16, O2+3*16, O2+4*16, O2+5*16, O2+6*16, O2+7*16 },
1689   8*8*2*4
1690};
1691#undef O
1692#undef O2
16931669
16941670#define O 8*8*4
16951671#define O2 2*O
r241849r241850
17171693   8*8*4
17181694};
17191695
1720static GFXDECODE_START( 1 )
1721   GFXDECODE_ENTRY( "gfx1", 0, bg1_layout, 0, 16 )
1722   GFXDECODE_ENTRY( "gfx1", 0, sp1_layout, 0, 16 )
1723   GFXDECODE_ENTRY( NULL,           0, char_layout,  0, 16 )  // Ram-based
1724GFXDECODE_END
17251696
1726static GFXDECODE_START( 2 )
1697
1698static GFXDECODE_START( taito_l )
17271699   GFXDECODE_ENTRY( "gfx1", 0, bg2_layout, 0, 16 )
17281700   GFXDECODE_ENTRY( "gfx1", 0, sp2_layout, 0, 16 )
17291701   GFXDECODE_ENTRY( NULL,           0, char_layout,  0, 16 )  // Ram-based
r241849r241850
17821754   MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
17831755   MCFG_SCREEN_PALETTE("palette")
17841756
1785   MCFG_GFXDECODE_ADD("gfxdecode", "palette", 2)
1757   MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
17861758   MCFG_PALETTE_ADD("palette", 256)
17871759
17881760   MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
r241849r241850
18831855   MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
18841856   MCFG_SCREEN_PALETTE("palette")
18851857
1886   MCFG_GFXDECODE_ADD("gfxdecode", "palette", 2)
1858   MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
18871859   MCFG_PALETTE_ADD("palette", 256)
18881860
18891861   MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
r241849r241850
18991871MACHINE_CONFIG_END
19001872
19011873
1902static MACHINE_CONFIG_DERIVED( kurikinta, kurikint )
19031874
1904   /* basic machine hardware */
19051875
1906   /* video hardware */
1907   MCFG_GFXDECODE_MODIFY("gfxdecode", 1)
1908MACHINE_CONFIG_END
19091876
1910
19111877static MACHINE_CONFIG_START( plotting, taitol_state )
19121878
19131879   /* basic machine hardware */
r241849r241850
19291895   MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
19301896   MCFG_SCREEN_PALETTE("palette")
19311897
1932   MCFG_GFXDECODE_ADD("gfxdecode", "palette", 1)
1898   MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
19331899   MCFG_PALETTE_ADD("palette", 256)
19341900
19351901   MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
r241849r241850
20231989   MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
20241990   MCFG_SCREEN_PALETTE("palette")
20251991
2026   MCFG_GFXDECODE_ADD("gfxdecode", "palette", 2)
1992   MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
20271993   MCFG_PALETTE_ADD("palette", 256)
20281994
20291995   MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
r241849r241850
22372203   ROM_LOAD( "b42-07.ic22", 0x00000, 0x10000, CRC(0f2719c0) SHA1(f870335a75f236f0059522f9a577dee7ca3acb2f) )
22382204
22392205   ROM_REGION( 0x100000, "gfx1", 0 )
2240   ROM_LOAD( "kk_1-1l.rom", 0x00000, 0x20000, CRC(df1d4fcd) SHA1(300cad3636ea9648595c3f4bba3ca737f95f7354) )
2241   ROM_LOAD( "kk_2-2l.rom", 0x20000, 0x20000, CRC(fca7f647) SHA1(0571e8fc2eda9f139e81d6d191368fb99764f797) )
2242   ROM_LOAD( "kk_5-3l.rom", 0x40000, 0x20000, CRC(d080fde1) SHA1(e5011cdf35bf5d39f4786e6d60d2b35a79560dfa) )
2243   ROM_LOAD( "kk_7-4l.rom", 0x60000, 0x20000, CRC(f5bf6829) SHA1(4c1b4c6f451ed823730762f67c2e716789cddb10) )
2244   ROM_LOAD( "kk_3-1h.rom", 0x80000, 0x20000, CRC(71af848e) SHA1(1e4d050c9191a8645f324de84767662ed80165b6) )
2245   ROM_LOAD( "kk_4-2h.rom", 0xa0000, 0x20000, CRC(cebb5bac) SHA1(6c1e3cdea353bd835b49b95af0bb718e2b46ecfe) )
2246   ROM_LOAD( "kk_6-3h.rom", 0xc0000, 0x20000, CRC(322e3752) SHA1(7592b5dc7945c96f53aeb5c328c54c0dcba3809a) )
2247   ROM_LOAD( "kk_8-4h.rom", 0xe0000, 0x20000, CRC(117bde99) SHA1(fe0f56b6c840e35870639c4de129443e14720a7b) )
2206   ROM_LOAD16_BYTE( "kk_1-1l.rom", 0x00000, 0x20000, CRC(df1d4fcd) SHA1(300cad3636ea9648595c3f4bba3ca737f95f7354) )
2207   ROM_LOAD16_BYTE( "kk_2-2l.rom", 0x40000, 0x20000, CRC(fca7f647) SHA1(0571e8fc2eda9f139e81d6d191368fb99764f797) )
2208   ROM_LOAD16_BYTE( "kk_5-3l.rom", 0x80000, 0x20000, CRC(d080fde1) SHA1(e5011cdf35bf5d39f4786e6d60d2b35a79560dfa) )
2209   ROM_LOAD16_BYTE( "kk_7-4l.rom", 0xc0000, 0x20000, CRC(f5bf6829) SHA1(4c1b4c6f451ed823730762f67c2e716789cddb10) )
2210   ROM_LOAD16_BYTE( "kk_3-1h.rom", 0x00001, 0x20000, CRC(71af848e) SHA1(1e4d050c9191a8645f324de84767662ed80165b6) )
2211   ROM_LOAD16_BYTE( "kk_4-2h.rom", 0x40001, 0x20000, CRC(cebb5bac) SHA1(6c1e3cdea353bd835b49b95af0bb718e2b46ecfe) )
2212   ROM_LOAD16_BYTE( "kk_6-3h.rom", 0x80001, 0x20000, CRC(322e3752) SHA1(7592b5dc7945c96f53aeb5c328c54c0dcba3809a) )
2213   ROM_LOAD16_BYTE( "kk_8-4h.rom", 0xc0001, 0x20000, CRC(117bde99) SHA1(fe0f56b6c840e35870639c4de129443e14720a7b) )
22482214ROM_END
22492215
22502216/************************************************************************
r241849r241850
23002266   ROM_LOAD( "ic10",       0x00000, 0x10000, CRC(be240921) SHA1(f29f3a49b563f24aa6e3187ac4da1a8100cb02b5) )
23012267
23022268   ROM_REGION( 0x20000, "gfx1", 0 )
2303   ROM_LOAD( "b96-07.ic9", 0x00000, 0x10000, CRC(0713a387) SHA1(0fc1242ce02a56279fa1d5270c905bba7cdcd072) )
2304   ROM_LOAD( "b96-08.ic8", 0x10000, 0x10000, CRC(55b8e294) SHA1(14405638f751adfadb022bf7a0123a3972d4a617) )
2269   ROM_LOAD16_BYTE( "b96-07.ic9", 0x00000, 0x10000, CRC(0713a387) SHA1(0fc1242ce02a56279fa1d5270c905bba7cdcd072) )
2270   ROM_LOAD16_BYTE( "b96-08.ic8", 0x00001, 0x10000, CRC(55b8e294) SHA1(14405638f751adfadb022bf7a0123a3972d4a617) )
23052271
23062272   ROM_REGION( 0x0200, "plds", 0 )
23072273   ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) )  /* derived, but verified  Pal Stamped B86-04 */
r241849r241850
23132279   ROM_LOAD( "plot01.ic10", 0x00000, 0x10000, CRC(5b30bc25) SHA1(df8839a90da9e5122d75b6faaf97f59499dbd316) )
23142280
23152281   ROM_REGION( 0x20000, "gfx1", 0 )
2316   ROM_LOAD( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2317   ROM_LOAD( "b96-03.ic8", 0x10000, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
2282   ROM_LOAD16_BYTE( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2283   ROM_LOAD16_BYTE( "b96-03.ic8", 0x00001, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
23182284
23192285   ROM_REGION( 0x0200, "plds", 0 )
23202286   ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) )  /* derived, but verified  Pal Stamped B86-04 */
r241849r241850
23252291   ROM_LOAD( "b96-06.ic10",0x00000, 0x10000, CRC(f89a54b1) SHA1(19757b5fb61acdd6f5ae8e32a38ae54bfda0c522) )
23262292
23272293   ROM_REGION( 0x20000, "gfx1", 0 )
2328   ROM_LOAD( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2329   ROM_LOAD( "b96-03.ic8", 0x10000, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
2294   ROM_LOAD16_BYTE( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2295   ROM_LOAD16_BYTE( "b96-03.ic8", 0x00001, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
23302296
23312297   ROM_REGION( 0x0200, "plds", 0 )
23322298   ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) )  /* derived, but verified  Pal Stamped B86-04 */
r241849r241850
23372303   ROM_LOAD( "b96-05.ic10",0x00000, 0x10000, CRC(afb99d1f) SHA1(a5cabc182d4f1d5709e6835d8b0a481dd0f9a563) )
23382304
23392305   ROM_REGION( 0x20000, "gfx1", 0 )
2340   ROM_LOAD( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2341   ROM_LOAD( "b96-03.ic8", 0x10000, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
2306   ROM_LOAD16_BYTE( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2307   ROM_LOAD16_BYTE( "b96-03.ic8", 0x00001, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
23422308
23432309   ROM_REGION( 0x0200, "plds", 0 ) // PAL16L8
23442310   ROM_LOAD( "b96-04.ic12", 0x0000, 0x0104, CRC(9390a782) SHA1(9e68948ed15d96c1998e5d5cd99b823676e555e7) )  /* Confirmed/Matches U.S. set */
r241849r241850
23492315   ROM_LOAD( "b96-01.ic10",0x00000, 0x10000, CRC(65993978) SHA1(d14dc70f1b5e72b96ccc3fab61d7740f627bfea2) )
23502316
23512317   ROM_REGION( 0x20000, "gfx1", 0 )
2352   ROM_LOAD( "b96-07.ic9", 0x00000, 0x10000, CRC(0713a387) SHA1(0fc1242ce02a56279fa1d5270c905bba7cdcd072) )
2353   ROM_LOAD( "b96-08.ic8", 0x10000, 0x10000, CRC(55b8e294) SHA1(14405638f751adfadb022bf7a0123a3972d4a617) )
2318   ROM_LOAD16_BYTE( "b96-07.ic9", 0x00000, 0x10000, CRC(0713a387) SHA1(0fc1242ce02a56279fa1d5270c905bba7cdcd072) )
2319   ROM_LOAD16_BYTE( "b96-08.ic8", 0x00001, 0x10000, CRC(55b8e294) SHA1(14405638f751adfadb022bf7a0123a3972d4a617) )
23542320
23552321   ROM_REGION( 0x0200, "plds", 0 )
23562322   ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) )  /* derived, but verified  Pal Stamped B86-04 */
r241849r241850
23642330   ROM_LOAD( "mc68705p3.ic4", 0x0000, 0x0800, CRC(085F68B4) SHA1(2DBC7E2C015220DC59EE1F1208540744E5B9B7CC) )
23652331
23662332   ROM_REGION( 0x20000, "gfx1", 0 )
2367   ROM_LOAD( "c20-07.ic10", 0x00000, 0x10000, CRC(be12749a) SHA1(c67d1a434486843a6776d89e905362b7db595d8d) )
2368   ROM_LOAD( "c20-06.ic9",  0x10000, 0x10000, CRC(ac85a9c5) SHA1(2d72dae86a191ccdac9648980aca832fb9886544) )
2333   ROM_LOAD16_BYTE( "c20-07.ic10", 0x00000, 0x10000, CRC(be12749a) SHA1(c67d1a434486843a6776d89e905362b7db595d8d) )
2334   ROM_LOAD16_BYTE( "c20-06.ic9",  0x00001, 0x10000, CRC(ac85a9c5) SHA1(2d72dae86a191ccdac9648980aca832fb9886544) )
23692335
23702336   ROM_REGION( 0x0800, "pals", 0 )
23712337   ROM_LOAD( "mmipal20l8.ic3", 0x0000, 0x0800, NO_DUMP )
r241849r241850
23792345   ROM_LOAD( "mc68705p3.ic4", 0x0000, 0x0800, CRC(085F68B4) SHA1(2DBC7E2C015220DC59EE1F1208540744E5B9B7CC) )
23802346
23812347   ROM_REGION( 0x40000, "gfx1", 0 )
2382   ROM_LOAD( "c20-03.ic10",  0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) )
2383   ROM_LOAD( "c20-02.ic9",   0x20000, 0x20000, CRC(3c115f8b) SHA1(8d518be01b7c4d6d993d5d9b62aab719a5c8baca) )
2348   ROM_LOAD16_BYTE( "c20-03.ic10",  0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) )
2349   ROM_LOAD16_BYTE( "c20-02.ic9",   0x00001, 0x20000, CRC(3c115f8b) SHA1(8d518be01b7c4d6d993d5d9b62aab719a5c8baca) )
23842350
23852351   ROM_REGION( 0x0200, "pals", 0 ) // PAL20L8
23862352   ROM_LOAD( "c20-05.ic3", 0x0000, 0x0144, CRC(f90e5594) SHA1(6181bb25b77028bb150c84bdc073f0457efd7eaa) ) // Confirmed/Matches Japan Set
r241849r241850
23912357   ROM_LOAD( "1.ic11",  0x00000, 0x20000, CRC(4612f5e0) SHA1(dc07a365414666568537d31ef01b58f2362cadaf) )
23922358
23932359   ROM_REGION( 0x40000, "gfx1", 0 )
2394   ROM_LOAD( "u10.ic10",  0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) )
2395   ROM_LOAD( "3.ic9",     0x20000, 0x20000, CRC(2bf5232a) SHA1(a8fc06bb8bae2ca6bd21e3a96c9ed38bb356d5d7) )
2360   ROM_LOAD16_BYTE( "u10.ic10",  0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) )
2361   ROM_LOAD16_BYTE( "3.ic9",     0x00001, 0x20000, CRC(2bf5232a) SHA1(a8fc06bb8bae2ca6bd21e3a96c9ed38bb356d5d7) )
23962362ROM_END
23972363
23982364/*
r241849r241850
24202386   ROM_LOAD( "c47-03.ic6",  0x00000, 0x20000, CRC(37e15b20) SHA1(85baa0ee553e4c9fed38294ba8912f18f519e62f) )
24212387
24222388   ROM_REGION( 0x80000, "gfx1", 0 )
2423   ROM_LOAD( "c47-02.ic5",  0x00000, 0x10000, CRC(35f96526) SHA1(e7f9b33d82b050aff49f991aa12db436421caa5b) ) /* silkscreened CH0-L */
2424   ROM_CONTINUE (           0x20000, 0x10000 )
2425   ROM_LOAD( "c47-01.ic11", 0x10000, 0x10000, CRC(031c73d8) SHA1(deef972fbf226701f9a6469ae3934129dc52ce9c) ) /* silkscreened CH1-L */
2426   ROM_CONTINUE (           0x30000, 0x10000 )
2427   ROM_LOAD( "c47-04.ic4",  0x40000, 0x10000, CRC(aeac7121) SHA1(cf67688cde14d452da6d9cbd7a81593f4048ce77) ) /* silkscreened CH0-H */
2389   ROM_LOAD16_BYTE( "c47-02.ic5",  0x00000, 0x10000, CRC(35f96526) SHA1(e7f9b33d82b050aff49f991aa12db436421caa5b) ) /* silkscreened CH0-L */
2390   ROM_CONTINUE (           0x40000, 0x10000 )
2391   ROM_LOAD16_BYTE( "c47-01.ic11", 0x20000, 0x10000, CRC(031c73d8) SHA1(deef972fbf226701f9a6469ae3934129dc52ce9c) ) /* silkscreened CH1-L */
24282392   ROM_CONTINUE (           0x60000, 0x10000 )
2429   ROM_LOAD( "c47-05.ic10", 0x50000, 0x10000, CRC(b2a3dafe) SHA1(5ffd3e296272ef3f31432005c827f057aac79497) ) /* silkscreened CH1-H */
2430   ROM_CONTINUE (           0x70000, 0x10000 )
2393   ROM_LOAD16_BYTE( "c47-04.ic4",  0x00001, 0x10000, CRC(aeac7121) SHA1(cf67688cde14d452da6d9cbd7a81593f4048ce77) ) /* silkscreened CH0-H */
2394   ROM_CONTINUE (           0x40001, 0x10000 )
2395   ROM_LOAD16_BYTE( "c47-05.ic10", 0x20001, 0x10000, CRC(b2a3dafe) SHA1(5ffd3e296272ef3f31432005c827f057aac79497) ) /* silkscreened CH1-H */
2396   ROM_CONTINUE (           0x60001, 0x10000 )
24312397
24322398   ROM_REGION( 0x0200, "plds", 0 ) // PAL20L8BCNS
24332399   ROM_LOAD( "c47-06.ic12", 0x0000, 0x0144, CRC(4342ca6c) SHA1(9c798a6f1508b03004b76577eb823f004df7298d) )
r241849r241850
24392405   ROM_LOAD( "c63.02", 0x00000, 0x20000, CRC(55a82bb2) SHA1(f157ad770351d4b8d8f8c061c4e330d6391fc624) )
24402406
24412407   ROM_REGION( 0x40000, "gfx1", 0 )
2442   ROM_LOAD( "c63.04", 0x00000, 0x20000, CRC(c7bbe460) SHA1(1c1f186d0b0b2e383f82c53ae93b975a75f50f9c) )
2443   ROM_LOAD( "c63.03", 0x20000, 0x20000, CRC(fcd86e44) SHA1(bdd0750ed6e93cc49f09f4ccb05b0c4a44cb9c23) )
2408   ROM_LOAD16_BYTE( "c63.04", 0x00000, 0x20000, CRC(c7bbe460) SHA1(1c1f186d0b0b2e383f82c53ae93b975a75f50f9c) )
2409   ROM_LOAD16_BYTE( "c63.03", 0x00001, 0x20000, CRC(fcd86e44) SHA1(bdd0750ed6e93cc49f09f4ccb05b0c4a44cb9c23) )
24442410ROM_END
24452411
24462412ROM_START( cachat )
r241849r241850
24482414   ROM_LOAD( "cac6",  0x00000, 0x20000, CRC(8105cf5f) SHA1(e6dd22165436c247db887a04c3e69c9e2505bb33) )
24492415
24502416   ROM_REGION( 0x80000, "gfx1", 0 )
2451   ROM_LOAD( "cac9",  0x00000, 0x20000, CRC(bc462914) SHA1(3eede8940cabadf563acb63059bfc2d13253b29f) )
2452   ROM_LOAD( "cac10", 0x20000, 0x20000, CRC(ecc64b31) SHA1(04ce97cdcdbdbd38602011f5ed27fe9182fb500a) )
2453   ROM_LOAD( "cac7",  0x40000, 0x20000, CRC(7fb71578) SHA1(34cfa1383ea1f3cbf45eaf6b989a1248cdef1bb9) )
2454   ROM_LOAD( "cac8",  0x60000, 0x20000, CRC(d2a63799) SHA1(71b024b239834ef068b7fc20cd49aae7853e0f7c) )
2417   ROM_LOAD16_BYTE( "cac9",  0x00000, 0x20000, CRC(bc462914) SHA1(3eede8940cabadf563acb63059bfc2d13253b29f) )
2418   ROM_LOAD16_BYTE( "cac10", 0x40000, 0x20000, CRC(ecc64b31) SHA1(04ce97cdcdbdbd38602011f5ed27fe9182fb500a) )
2419   ROM_LOAD16_BYTE( "cac7",  0x00001, 0x20000, CRC(7fb71578) SHA1(34cfa1383ea1f3cbf45eaf6b989a1248cdef1bb9) )
2420   ROM_LOAD16_BYTE( "cac8",  0x40001, 0x20000, CRC(d2a63799) SHA1(71b024b239834ef068b7fc20cd49aae7853e0f7c) )
24552421
24562422   ROM_REGION( 0x0200, "plds", 0 )
24572423   ROM_LOAD( "pal20l8b-c63-01.14", 0x0000, 0x0144, CRC(14a7dd2a) SHA1(2a39ca6069bdac553d73c34db6f50f880559113c) )
r241849r241850
24622428   ROM_LOAD( "t-i_02.6", 0x00000, 0x20000, CRC(54730669) SHA1(a44ebd31a8588a133a7552a39fa8d52ba1985e45) )
24632429
24642430   ROM_REGION( 0x80000, "gfx1", 0 )
2465   ROM_LOAD( "t-i_03.7", 0x40000, 0x40000, CRC(e1c3fed0) SHA1(cd68dbf61ed820f4aa50c630e7cb778aafb433c2) )
2466   ROM_LOAD( "t-i_04.9", 0x00000, 0x40000, CRC(b4a6e31d) SHA1(e9abab8f19c78207f25a62104bcae1e391cbd2c0) )
2431   ROM_LOAD16_BYTE( "t-i_03.7", 0x00001, 0x40000, CRC(e1c3fed0) SHA1(cd68dbf61ed820f4aa50c630e7cb778aafb433c2) )
2432   ROM_LOAD16_BYTE( "t-i_04.9", 0x00000, 0x40000, CRC(b4a6e31d) SHA1(e9abab8f19c78207f25a62104bcae1e391cbd2c0) )
24672433
24682434   ROM_REGION( 0x0200, "plds", 0 )
24692435   ROM_LOAD( "pal20l8b-c63-01.14", 0x0000, 0x0144, CRC(14a7dd2a) SHA1(2a39ca6069bdac553d73c34db6f50f880559113c) )
r241849r241850
24742440   ROM_LOAD( "cb06.6", 0x00000, 0x40000, CRC(66b89a85) SHA1(2ba26d71fd1aa8e64584a5908a1d797666718d49) )
24752441
24762442   ROM_REGION( 0x100000, "gfx1", 0 )
2477   ROM_LOAD( "cb09.9",  0x00000, 0x40000, CRC(5f831e59) SHA1(db319a6c1058200274d687163b4df2f78a2bf879) )
2478   ROM_LOAD( "cb10.10", 0x40000, 0x40000, CRC(430510fc) SHA1(95c0a0ebd0485a15090f302e5d2f4da8204baf7c) )
2479   ROM_LOAD( "cb07.7",  0x80000, 0x40000, CRC(3582de99) SHA1(51620cc9044aef8e5ed0335b7d5d6d67a7857005) )
2480   ROM_LOAD( "cb08.8",  0xc0000, 0x40000, CRC(09e18a51) SHA1(18db47d1d84f9be892bc796116c7ef7d0c1ee59f) )
2443   ROM_LOAD16_BYTE( "cb09.9",  0x00000, 0x40000, CRC(5f831e59) SHA1(db319a6c1058200274d687163b4df2f78a2bf879) )
2444   ROM_LOAD16_BYTE( "cb10.10", 0x80000, 0x40000, CRC(430510fc) SHA1(95c0a0ebd0485a15090f302e5d2f4da8204baf7c) )
2445   ROM_LOAD16_BYTE( "cb07.7",  0x00001, 0x40000, CRC(3582de99) SHA1(51620cc9044aef8e5ed0335b7d5d6d67a7857005) )
2446   ROM_LOAD16_BYTE( "cb08.8",  0x80001, 0x40000, CRC(09e18a51) SHA1(18db47d1d84f9be892bc796116c7ef7d0c1ee59f) )
24812447ROM_END
24822448
24832449ROM_START( plgirls )
r241849r241850
24852451   ROM_LOAD( "pg03.ic6", 0x00000, 0x40000, CRC(6ca73092) SHA1(f5679f047a29b936046c0d3677489df553ad7b41) )
24862452
24872453   ROM_REGION( 0x80000, "gfx1", 0 )
2488   ROM_LOAD( "pg02.ic9", 0x00000, 0x40000, CRC(3cf05ca9) SHA1(502c45a5330dda1b2fbf7d3d0c9bc6e889ff07d8) )
2489   ROM_LOAD( "pg01.ic7", 0x40000, 0x40000, CRC(79e41e74) SHA1(aa8efbeeee47f84e19b639821a89a7bcd67fe7a9) )
2454   ROM_LOAD16_BYTE( "pg02.ic9", 0x00000, 0x40000, CRC(3cf05ca9) SHA1(502c45a5330dda1b2fbf7d3d0c9bc6e889ff07d8) )
2455   ROM_LOAD16_BYTE( "pg01.ic7", 0x00001, 0x40000, CRC(79e41e74) SHA1(aa8efbeeee47f84e19b639821a89a7bcd67fe7a9) )
24902456ROM_END
24912457
24922458ROM_START( plgirls2 )
r241849r241850
24942460   ROM_LOAD( "pg2_1j.ic6", 0x00000, 0x40000, CRC(f924197a) SHA1(ecaaefd1b3715ba60608e05d58be67e3c71f653a) )
24952461
24962462   ROM_REGION( 0x100000, "gfx1", 0 )
2497   ROM_LOAD( "cho-l.ic9",  0x00000, 0x80000, CRC(956384ec) SHA1(94a2b95f340e96bdccbeafd373f0dea90b8328dd) )
2498   ROM_LOAD( "cho-h.ic7",  0x80000, 0x80000, CRC(992f99b1) SHA1(c79f1014d73654740f7823812f92376d65d6b15d) )
2463   ROM_LOAD16_BYTE( "cho-l.ic9",  0x00000, 0x80000, CRC(956384ec) SHA1(94a2b95f340e96bdccbeafd373f0dea90b8328dd) )
2464   ROM_LOAD16_BYTE( "cho-h.ic7",  0x00001, 0x80000, CRC(992f99b1) SHA1(c79f1014d73654740f7823812f92376d65d6b15d) )
24992465ROM_END
25002466
2467ROM_START( plgirls2b )
2468   ROM_REGION( 0x40000, "maincpu", 0 )
2469   ROM_LOAD( "playgirls2b.d1", 0x00000, 0x40000, CRC(d58159fa) SHA1(541c6ca5f12c38b5a08f90048f52c31d27bb9233) )
2470
2471   ROM_REGION( 0x100000, "gfx1", 0 )
2472   ROM_LOAD32_BYTE( "playgirls2b.d8",   0x00003, 0x40000, CRC(22df48b5) SHA1(be51dbe55f84dd1b7c30da0e4d98c874b0803382) )
2473   ROM_LOAD32_BYTE( "playgirls2b.d4",   0x00001, 0x40000, CRC(bc9e2192) SHA1(7bc7f46295166a84c849e9ea82428e653375d9d6) )
2474   ROM_LOAD32_BYTE( "playgirls2b.b6",   0x00000, 0x40000, CRC(aac6c90b) SHA1(965cea2fb5f3aaabb4378fc24899af53de745ff3) )
2475   ROM_LOAD32_BYTE( "playgirls2b.d3",   0x00002, 0x40000, CRC(75d82fab) SHA1(4eb9ee416944a36f016e7d353f79884915da2730) )
2476ROM_END
2477
2478
25012479ROM_START( evilston )
25022480   ROM_REGION( 0x40000, "maincpu", 0 )
25032481   ROM_LOAD( "c67-03.ic2",  0x00000, 0x20000, CRC(53419982) SHA1(ecc338e2237d26c5ff25b756d371b26b23beed1e) )
r241849r241850
25532531   ROM_LOAD( "rom1",  0x00000, 0x40000, CRC(ba1acfdb) SHA1(ff1093c2d0887287ce451417bd373e00f2881ce7) )
25542532
25552533   ROM_REGION( 0x80000, "gfx1", 0 )
2556   ROM_LOAD16_BYTE( "rom2",   0x40001, 0x20000, CRC(4c739a30) SHA1(4426f51aac9bb39f5d1a7616d183ff6c76749dc2) )
2557   ROM_LOAD16_BYTE( "rom3",   0x40000, 0x20000, CRC(4cf22a4b) SHA1(1c933ccbb6a5b8a6795385d7970db5f7138e572e) )
2558   ROM_LOAD16_BYTE( "rom4",   0x00001, 0x20000, CRC(7dcd6696) SHA1(8f3b1fe669520142668af6dc2d04f13767048989) )
2559   ROM_LOAD16_BYTE( "rom5",   0x00000, 0x20000, CRC(b1782816) SHA1(352663974886e1e4358e55b87c8bf0cdb979f177) )
2534   ROM_LOAD32_BYTE( "rom2",   0x00003, 0x20000, CRC(4c739a30) SHA1(4426f51aac9bb39f5d1a7616d183ff6c76749dc2) )
2535   ROM_LOAD32_BYTE( "rom3",   0x00001, 0x20000, CRC(4cf22a4b) SHA1(1c933ccbb6a5b8a6795385d7970db5f7138e572e) )
2536   ROM_LOAD32_BYTE( "rom4",   0x00002, 0x20000, CRC(7dcd6696) SHA1(8f3b1fe669520142668af6dc2d04f13767048989) )
2537   ROM_LOAD32_BYTE( "rom5",   0x00000, 0x20000, CRC(b1782816) SHA1(352663974886e1e4358e55b87c8bf0cdb979f177) )
25602538ROM_END
25612539
25622540
r241849r241850
25882566GAME( 1988, raimais,   0,        raimais,   raimais,   driver_device, 0,         ROT0,   "Taito Corporation Japan", "Raimais (World)", 0 )
25892567GAME( 1988, raimaisj,  raimais,  raimais,   raimaisj,  driver_device, 0,         ROT0,   "Taito Corporation", "Raimais (Japan)", 0 )
25902568GAME( 1988, raimaisjo, raimais,  raimais,   raimaisj,  driver_device, 0,         ROT0,   "Taito Corporation", "Raimais (Japan, first revision)", 0 )
2569
25912570GAME( 1988, fhawk,     0,        fhawk,     fhawk,     driver_device, 0,         ROT270, "Taito Corporation Japan", "Fighting Hawk (World)", 0 )
25922571GAME( 1988, fhawkj,    fhawk,    fhawk,     fhawkj,    driver_device, 0,         ROT270, "Taito Corporation", "Fighting Hawk (Japan)", 0 )
2572
25932573GAME( 1989, champwr,   0,        champwr,   champwr,   driver_device, 0,         ROT0,   "Taito Corporation Japan", "Champion Wrestler (World)", GAME_IMPERFECT_SOUND )
25942574GAME( 1989, champwru,  champwr,  champwr,   champwru,  driver_device, 0,         ROT0,   "Taito America Corporation", "Champion Wrestler (US)", GAME_IMPERFECT_SOUND )
25952575GAME( 1989, champwrj,  champwr,  champwr,   champwrj,  driver_device, 0,         ROT0,   "Taito Corporation", "Champion Wrestler (Japan)", GAME_IMPERFECT_SOUND )
2576
25962577GAME( 1988, kurikint,  0,        kurikint,  kurikint,  driver_device, 0,         ROT0,   "Taito Corporation Japan", "Kuri Kinton (World)", 0 )
25972578GAME( 1988, kurikintu, kurikint, kurikint,  kurikintj, driver_device, 0,         ROT0,   "Taito America Corporation", "Kuri Kinton (US)", 0 )
25982579GAME( 1988, kurikintj, kurikint, kurikint,  kurikintj, driver_device, 0,         ROT0,   "Taito Corporation", "Kuri Kinton (Japan)", 0 )
2599GAME( 1988, kurikinta, kurikint, kurikinta, kurikinta, driver_device, 0,         ROT0,   "Taito Corporation Japan", "Kuri Kinton (World, prototype?)", 0 )
2580GAME( 1988, kurikinta, kurikint, kurikint,  kurikinta, driver_device, 0,         ROT0,   "Taito Corporation Japan", "Kuri Kinton (World, prototype?)", 0 )
2581
26002582GAME( 1989, plotting,  0,        plotting,  plotting,  driver_device, 0,         ROT0,   "Taito Corporation Japan", "Plotting (World set 1)", 0 )
26012583GAME( 1989, plottinga, plotting, plotting,  plotting,  taitol_state,  plottinga, ROT0,   "Taito Corporation Japan", "Plotting (World set 2, protected)", 0 )
26022584GAME( 1989, plottingb, plotting, plotting,  plotting,  driver_device, 0,         ROT0,   "Taito Corporation Japan", "Plotting (World set 3, earliest version)", 0 )
26032585GAME( 1989, plottingu, plotting, plotting,  plotting,  driver_device, 0,         ROT0,   "Taito America Corporation", "Plotting (US)", 0 )
26042586GAME( 1989, flipull,   plotting, plotting,  plotting,  driver_device, 0,         ROT0,   "Taito Corporation", "Flipull (Japan)", 0 )
2587
26052588GAME( 1989, puzznic,   0,        puzznic,   puzznic,   driver_device, 0,         ROT0,   "Taito Corporation Japan", "Puzznic (World)", 0 )
26062589GAME( 1989, puzznicj,  puzznic,  puzznic,   puzznic,   driver_device, 0,         ROT0,   "Taito Corporation", "Puzznic (Japan)", 0 )
26072590GAME( 1989, puzznici,  puzznic,  puzznici,  puzznic,   driver_device, 0,         ROT0,   "bootleg", "Puzznic (Italian bootleg)", 0 )
2591
26082592GAME( 1990, horshoes,  0,        horshoes,  horshoes,  driver_device, 0,         ROT270, "Taito America Corporation", "American Horseshoes (US)", 0 )
2593
26092594GAME( 1990, palamed,   0,        palamed,   palamed,   driver_device, 0,         ROT0,   "Taito Corporation", "Palamedes (Japan)", 0 )
2595
26102596GAME( 1993, cachat,    0,        cachat,    cachat,    driver_device, 0,         ROT0,   "Taito Corporation", "Cachat (Japan)", 0 )
2611GAME( 1993, tubeit,    cachat,   cachat,    tubeit,    driver_device, 0,         ROT0,   "Taito Corporation", "Tube-It", 0 ) // No (c) message
26122597
2598GAME( 1993, tubeit,    cachat,   cachat,    tubeit,    driver_device, 0,         ROT0,   "bootleg", "Tube-It", 0 ) // No (c) message
2599
26132600GAME( 199?, cubybop,   0,        cachat,    cubybop,   driver_device, 0,         ROT0,   "Hot-B", "Cuby Bop (location test)", 0 ) // No (c) message, but Hot-B company logo in tile gfx
2601
26142602GAME( 1992, plgirls,   0,        cachat,    plgirls,   driver_device, 0,         ROT270, "Hot-B", "Play Girls", 0 )
26152603GAME( 1992, lagirl,    plgirls,  cachat,    plgirls,   driver_device, 0,         ROT270, "bootleg", "LA Girl", 0 ) // bootleg hardware with changed title & backgrounds
2604
26162605GAME( 1993, plgirls2,  0,        cachat,    plgirls2,  driver_device, 0,         ROT270, "Hot-B", "Play Girls 2", 0 )
2606GAME( 1993, plgirls2b, plgirls2, cachat,    plgirls2,  driver_device, 0,         ROT270, "bootleg", "Play Girls 2 (bootleg)", 0 ) // bootleg hardware (regular Z80 etc. instead of TC0090LVC, but acts the same)
26172607
2618GAME( 1990, evilston,  0,        evilston,  evilston,  driver_device, 0,         ROT270, "Spacy Industrial, Ltd.", "Evil Stone", GAME_IMPERFECT_SOUND )
2608GAME( 1990, evilston,  0,        evilston,  evilston,  driver_device, 0,         ROT270, "Spacy Industrial, Ltd.", "Evil Stone", GAME_IMPERFECT_SOUND ) // not Taito PCB, just uses TC0090LVC
trunk/src/mame/drivers/undrfire.c
r241849r241850
77
88    Board Info (Underfire):
99
10        TC0470LIN : ?
10        TC0470LIN : object line buffer?
1111        TC0480SCP : known tilemap chip
1212        TC0510NIO : known input chip
1313        TC0570SPC : must be the object chip (next to spritemap and OBJ roms)
14        TC0590PIV : Piv tilemaps
15        TC0620SCC : lightgun ??? pivot port ???
14        TC0590PIV : object related???
15        TC0620SCC : tilemap chip (6bpp version of TC0100SCN)
1616        TC0650FDA : palette ? (Slapshot and F3 games also have one)
1717
1818    M43E0278A
r241849r241850
4646
4747    Under Fire combines the sprite system used in Taito Z games with
4848    the TC0480SCP tilemap chip plus some features from the Taito F3 system.
49    It has an extra tilemap chip which is a dead ringer for the TC0100SCN
50    (check the inits). Why did Taito give it a different name in this
51    incarnation?
49    It has an extra TC0620SCC tilemap chip which is a 6bpp version of the
50    TC0100SCN (check the inits).
5251
5352
5453    Game misbehaviours
r241849r241850
452451   AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
453452   AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)        /* tilemaps */
454453   AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
455   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)        /* piv tilemaps */
454   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)        /* 6bpp tilemaps */
456455   AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
457456   AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
458457   AM_RANGE(0xb00000, 0xb003ff) AM_RAM                         /* single bytes, blending ??? */
r241849r241850
471470   AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
472471   AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)        /* tilemaps */
473472   AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
474   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)        /* piv tilemaps */
473   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)        /* 6bpp tilemaps */
475474   AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
476475   AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
477476   AM_RANGE(0xb00000, 0xb0000f) AM_RAM /* ? */
r241849r241850
639638   128*8     /* every sprite takes 128 consecutive bytes */
640639};
641640
642static const gfx_layout pivlayout =
641static const gfx_layout scclayout =
643642{
644643   8,8,    /* 8*8 characters */
645644   RGN_FRAC(1,2),
r241849r241850
653652static GFXDECODE_START( undrfire )
654653   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 512 )
655654   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0, 512 )
656   GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout,         0, 512 )
655   GFXDECODE_ENTRY( "gfx3", 0x0, scclayout,         0, 512 )
657656GFXDECODE_END
658657
659658static GFXDECODE_START( cbombers )
660659   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 512 )
661660   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0x1000, 512 )
662   GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout,         0, 512 )
661   GFXDECODE_ENTRY( "gfx3", 0x0, scclayout,         0, 512 )
663662GFXDECODE_END
664663
665664/***********************************************************
r241849r241850
754753   MCFG_TC0480SCP_TX_REGION(4)
755754   MCFG_TC0480SCP_OFFSETS(0x24, 0)
756755   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
756   MCFG_TC0480SCP_COL_BASE(4096)
757757   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
758758   MCFG_TC0480SCP_PALETTE("palette")
759759
r241849r241850
10981098   int size=memregion("gfx3")->bytes();
10991099   int data;
11001100
1101   /* make piv tile GFX format suitable for gfxdecode */
1101   /* make SCC tile GFX format suitable for gfxdecode */
11021102   offset = size/2;
11031103   for (i = size/2+size/4; i<size; i++)
11041104   {
r241849r241850
11281128   int data;
11291129
11301130
1131   /* make piv tile GFX format suitable for gfxdecode */
1131   /* make SCC tile GFX format suitable for gfxdecode */
11321132   offset = size/2;
11331133   for (i = size/2+size/4; i<size; i++)
11341134   {
r241849r241850
11541154GAME( 1993, undrfire,  0,        undrfire, undrfire, undrfire_state, undrfire, ROT0, "Taito Corporation Japan",   "Under Fire (World)", 0 )
11551155GAME( 1993, undrfireu, undrfire, undrfire, undrfire, undrfire_state, undrfire, ROT0, "Taito America Corporation", "Under Fire (US)", 0 )
11561156GAME( 1993, undrfirej, undrfire, undrfire, undrfire, undrfire_state, undrfire, ROT0, "Taito Corporation",         "Under Fire (Japan)", 0 )
1157GAMEL(1994, cbombers,  0,        cbombers, cbombers, undrfire_state, cbombers, ROT0, "Taito Corporation Japan",   "Chase Bombers (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS, layout_cbombers )
1158GAMEL(1994, cbombersj, cbombers, cbombers, cbombers, undrfire_state, cbombers, ROT0, "Taito Corporation",         "Chase Bombers (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS, layout_cbombers )
1159GAMEL(1994, cbombersp, cbombers, cbombers, cbombers, undrfire_state, cbombers, ROT0, "Taito Corporation",         "Chase Bombers (Japan Prototype)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS, layout_cbombers )
1157GAMEL(1994, cbombers,  0,        cbombers, cbombers, undrfire_state, cbombers, ROT0, "Taito Corporation Japan",   "Chase Bombers (World)", GAME_IMPERFECT_GRAPHICS, layout_cbombers )
1158GAMEL(1994, cbombersj, cbombers, cbombers, cbombers, undrfire_state, cbombers, ROT0, "Taito Corporation",         "Chase Bombers (Japan)", GAME_IMPERFECT_GRAPHICS, layout_cbombers )
1159GAMEL(1994, cbombersp, cbombers, cbombers, cbombers, undrfire_state, cbombers, ROT0, "Taito Corporation",         "Chase Bombers (Japan Prototype)", GAME_IMPERFECT_GRAPHICS, layout_cbombers )
trunk/src/mame/includes/gunbustr.h
r241849r241850
2727      m_spriteram(*this,"spriteram"),
2828      m_eeprom(*this, "eeprom"),
2929      m_gfxdecode(*this, "gfxdecode"),
30      m_palette(*this, "palette"),
31      m_generic_paletteram_32(*this, "paletteram")
30      m_palette(*this, "palette")
3231   {
3332      m_coin_lockout = true;
3433   }
r241849r241850
4039   required_device<eeprom_serial_93cxx_device> m_eeprom;
4140   required_device<gfxdecode_device> m_gfxdecode;
4241   required_device<palette_device> m_palette;
43   required_shared_ptr<UINT32> m_generic_paletteram_32;
4442
4543   bool m_coin_lockout;
4644   UINT16 m_coin_word;
4745   struct tempsprite *m_spritelist;
4846   UINT32 m_mem[2];
4947
50   DECLARE_WRITE32_MEMBER(gunbustr_palette_w);
5148   DECLARE_WRITE32_MEMBER(gunbustr_input_w);
5249   DECLARE_WRITE32_MEMBER(motor_control_w);
5350   DECLARE_READ32_MEMBER(gunbustr_gun_r);
trunk/src/mame/mame.lst
r241849r241850
710710nextfase        // bootleg
711711phoenixs        // bootleg (Sonic)
712712avefenix        // bootleg (Video Game)
713avefenixrf      // bootleg (Recreativos Franco)
713714pleiads         // (c) 1981 Tehkan
714715pleiadsb2       // bootleg
715716pleiadbl        // bootleg
r241849r241850
22772278cubybop         // ??? no copyright message
22782279plgirls         // (c) 1992 Hot-B.
22792280plgirls2        // (c) 1993 Hot-B.
2281plgirls2b      //
22802282lagirl          // plgirls bootleg?
22812283
22822284// Taito H-System games
r241849r241850
52565258aladmdb         // MegaDrive-based hack
52575259mk3mdb          // MegaDrive-based hack
52585260srmdb           // MegaDrive-based hack
5261sonic2mb      // MegaDrive-based hack
52595262
52605263// Sega Naomi-based (Dreamcast) systems
52615264naomi           // 1998.?? Naomi BIOS
r241849r241850
1099610999pepp0014a       // (c) 1987 IGT - International Game Technology
1099711000pepp0023        // (c) 1987 IGT - International Game Technology
1099811001pepp0040        // (c) 1987 IGT - International Game Technology
11002pepp0040a       // (c) 1987 IGT - International Game Technology
1099911003pepp0041        // (c) 1987 IGT - International Game Technology
1100011004pepp0042        // (c) 1987 IGT - International Game Technology
1100111005pepp0043        // (c) 1987 IGT - International Game Technology
trunk/src/mame/video/groundfx.c
r241849r241850
197197{
198198   address_space &space = machine().driver_data()->generic_space();
199199   UINT8 layer[5];
200   UINT8 pivlayer[3];
200   UINT8 scclayer[3];
201201   UINT16 priority;
202202
203203   m_tc0100scn->tilemap_update();
r241849r241850
211211   layer[3] = (priority & 0x000f) >>  0;   /* tells us which is top */
212212   layer[4] = 4;   /* text layer always over bg layers */
213213
214   pivlayer[0] = m_tc0100scn->bottomlayer();
215   pivlayer[1] = pivlayer[0]^1;
216   pivlayer[2] = 2;
214   scclayer[0] = m_tc0100scn->bottomlayer();
215   scclayer[1] = scclayer[0]^1;
216   scclayer[2] = 2;
217217
218218   screen.priority().fill(0, cliprect);
219219   bitmap.fill(0, cliprect);   /* wrong color? */
220220
221   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
222   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[1], 0, 0);
221   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
222   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
223223
224224   /*  BIG HACK!
225225
r241849r241850
244244      m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 4);
245245      m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[3], 0, 8);
246246
247      //m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, 0, pivlayer[2], 0, 0);
247      //m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, 0, scclayer[2], 0, 0);
248248
249249      if (m_tc0480scp->long_r(space, 0x20 / 4, 0xffffffff) != 0x240866) /* Stupid hack for start of race */
250250         m_tc0480scp->tilemap_draw(screen, bitmap, m_hack_cliprect, layer[0], 0, 0);
r241849r241850
257257      m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 4);
258258      m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[3], 0, 8);
259259
260      m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0);
260      m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[2], 0, 0);
261261
262262      draw_sprites(screen, bitmap, cliprect, 0, 44, -574);
263263   }
trunk/src/mame/video/undrfire.c
r241849r241850
347347{
348348   address_space &space = machine().driver_data()->generic_space();
349349   UINT8 layer[5];
350   UINT8 pivlayer[3];
350   UINT8 scclayer[3];
351351   UINT16 priority;
352352
353353#ifdef MAME_DEBUG
354354   if (machine().input().code_pressed_once (KEYCODE_X))
355355   {
356356      m_dislayer[5] ^= 1;
357      popmessage("piv text: %01x",m_dislayer[5]);
357      popmessage("scc text: %01x",m_dislayer[5]);
358358   }
359359   if (machine().input().code_pressed_once (KEYCODE_C))
360360   {
r241849r241850
398398   layer[3] = (priority & 0x000f) >>  0;   /* tells us which is top */
399399   layer[4] = 4;   /* text layer always over bg layers */
400400
401   pivlayer[0] = m_tc0100scn->bottomlayer();
402   pivlayer[1] = pivlayer[0] ^ 1;
403   pivlayer[2] = 2;
401   scclayer[0] = m_tc0100scn->bottomlayer();
402   scclayer[1] = scclayer[0] ^ 1;
403   scclayer[2] = 2;
404404
405405   screen.priority().fill(0, cliprect);
406406   bitmap.fill(0, cliprect);   /* wrong color? */
407407
408408
409/* The "PIV" chip seems to be a renamed TC0100SCN. It has a
409/* The "SCC" chip seems to be a 6bpp TC0100SCN. It has a
410410   bottom layer usually full of bright garish colors that
411411   vaguely mimic the structure of the layers on top. Seems
412412   pointless - it's always hidden by other layers. Does it
413413   serve some blending pupose ? */
414414
415   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
416   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[1], 0, 0);
415   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
416   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
417417
418418#ifdef MAME_DEBUG
419419   if (m_dislayer[layer[0]]==0)
r241849r241850
455455#ifdef MAME_DEBUG
456456   if (m_dislayer[5]==0)
457457#endif
458   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
458   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[2], 0, 0); /* TC0620SCC text layer */
459459
460460   m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[4], 0, 0);    /* TC0480SCP text layer */
461461
r241849r241850
488488{
489489   address_space &space = machine().driver_data()->generic_space();
490490   UINT8 layer[5];
491   UINT8 pivlayer[3];
491   UINT8 scclayer[3];
492492   UINT16 priority;
493493
494494#ifdef MAME_DEBUG
495495   if (machine().input().code_pressed_once (KEYCODE_X))
496496   {
497497      m_dislayer[5] ^= 1;
498      popmessage("piv text: %01x",m_dislayer[5]);
498      popmessage("scc text: %01x",m_dislayer[5]);
499499   }
500500   if (machine().input().code_pressed_once (KEYCODE_C))
501501   {
r241849r241850
539539   layer[3] = (priority & 0x000f) >>  0;   /* tells us which is top */
540540   layer[4] = 4;   /* text layer always over bg layers */
541541
542   pivlayer[0] = m_tc0100scn->bottomlayer();
543   pivlayer[1] = pivlayer[0] ^ 1;
544   pivlayer[2] = 2;
542   scclayer[0] = m_tc0100scn->bottomlayer();
543   scclayer[1] = scclayer[0] ^ 1;
544   scclayer[2] = 2;
545545
546546   screen.priority().fill(0, cliprect);
547547   bitmap.fill(0, cliprect);   /* wrong color? */
548548
549549
550/* The "PIV" chip seems to be a renamed TC0100SCN. It has a
550/* The "SCC" chip seems to be a 6bpp TC0100SCN. It has a
551551   bottom layer usually full of bright garish colors that
552552   vaguely mimic the structure of the layers on top. Seems
553553   pointless - it's always hidden by other layers. Does it
554554   serve some blending pupose ? */
555555
556   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
557   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[1], 0, 0);
556   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
557   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
558558
559559#ifdef MAME_DEBUG
560560   if (m_dislayer[layer[0]]==0)
r241849r241850
596596#ifdef MAME_DEBUG
597597   if (m_dislayer[5]==0)
598598#endif
599   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
599   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[2], 0, 0); /* TC0620SCC text layer */
600600
601601   m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[4], 0, 0);    /* TC0480SCP text layer */
602602
trunk/src/mess/drivers/comp4.c
r241849r241850
1515
1616  TODO:
1717  - write_r doesn't look right, maybe something missing in cpu emulation
18  - correct output_pla
1918  - layout
2019
2120***************************************************************************/
r241849r241850
5958READ8_MEMBER(comp4_state::read_k)
6059{
6160   UINT8 k = 0;
61
62   // read selected button rows
63   for (int i = 0; i < 3; i++)
64      if (m_o & (1 << (i + 1)))
65         k |= m_button_matrix[i]->read();
6266   
63   if (m_o == 0)
64      k |= m_button_matrix[0]->read();
65   else if (m_o == 1)
66      k |= m_button_matrix[1]->read();
67   else if (m_o == 2)
68      k |= m_button_matrix[2]->read();
69   
7067   return k;
7168}
7269
7370WRITE16_MEMBER(comp4_state::write_r)
7471{
75   // LEDs
72   // R..: LEDs
7673   m_r = data;
7774}
7875
7976WRITE16_MEMBER(comp4_state::write_o)
8077{
81   // O0: LEDs (common)
78   // O0?: LEDs (common)
8279   // O1-O3: input mux
8380   // other bits: N/C
8481   m_o = data;
r241849r241850
9491
9592static INPUT_PORTS_START( comp4 )
9693   PORT_START("IN.0")
97   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_R) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME("R")
98   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4")
99   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1")
100   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7")
94   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME("R")
95   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4")
96   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1")
97   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7")
10198
10299   PORT_START("IN.1")
103   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("0")
104   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("5")
105   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2")
106   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("8")
100   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("0")
101   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("5")
102   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2")
103   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("8")
107104
108105   PORT_START("IN.2")
109   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("E")
110   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("6")
111   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3")
112   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON12 ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9")
106   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("E")
107   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("6")
108   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3")
109   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9")
113110INPUT_PORTS_END
114111
115112
r241849r241850
132129
133130static const UINT16 comp4_output_pla[0x20] =
134131{
135   /* O output PLA configuration currently unknown */
136   0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
137   0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
138   0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
139   0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
132   // many unused bits, only O0 is actually used as external out
133   0xda, 0x96, 0x9b, 0x97, 0x98, 0x94, 0x99, 0x95,
134   0x9a, 0xa0, 0x94, 0x02, 0x35, 0x4a, 0x41, 0x00,
135   0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00,
136   0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00
140137};
141138
142139
trunk/src/mess/drivers/merlin.c
r241849r241850
144144
145145static INPUT_PORTS_START( merlin )
146146   PORT_START("O.0")
147   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME("Button 0")
148   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("Button 1")
149   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("Button 3")
150   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Button 2")
147   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME("Button 0")
148   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("Button 1")
149   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("Button 3")
150   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Button 2")
151151
152152   PORT_START("O.1")
153   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Button 4")
154   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Button 5")
155   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON8) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Button 7")
156   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Button 6")
153   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Button 4")
154   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Button 5")
155   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Button 7")
156   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Button 6")
157157
158158   PORT_START("O.2")
159   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON9) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Button 8")
160   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON10) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Button 9")
161   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON13) PORT_CODE(KEYCODE_S) PORT_NAME("Same Game")
162   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("Button 10")
159   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Button 8")
160   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Button 9")
161   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_S) PORT_NAME("Same Game")
162   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("Button 10")
163163
164164   PORT_START("O.3")
165165   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED)
166   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON15) PORT_CODE(KEYCODE_C) PORT_NAME("Comp Turn")
167   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON14) PORT_CODE(KEYCODE_H) PORT_NAME("Hit Me")
168   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON12) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
166   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_C) PORT_NAME("Comp Turn")
167   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_H) PORT_NAME("Hit Me")
168   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
169169INPUT_PORTS_END
170170
171171
trunk/src/mess/drivers/pc.c
r241849r241850
422422   ROM_LOAD( "oliv_m15.bin",0xfc000, 0x04000, CRC(bf2ef795) SHA1(02d497131f5ca2c78f2accd38ab0eab6813e3ebf))
423423ROM_END
424424
425// Siemens PC-D (80186)
426ROM_START( pcd )
427   ROM_REGION(0x100000,"maincpu", 0)
428   ROM_LOAD16_BYTE( "sni_pcd1.bin", 0xfc001, 0x2000, CRC(e20244dd) SHA1(0ebc5ddb93baacd9106f1917380de58aac64fe73))
429   ROM_LOAD16_BYTE( "sni_pcd2.bin", 0xfc000, 0x2000, CRC(e03db2ec) SHA1(fcae8b0c9e7543706817b0a53872826633361fda))
430ROM_END
431
432425ROM_START( olypeopl )
433426   ROM_REGION(0x100000,"maincpu", 0)
434427   ROM_LOAD16_BYTE( "uo1271c0.bin", 0xfe000, 0x1000, CRC(c9187bce) SHA1(464e1f96046657b49afa4223ede1040650643d58))
r241849r241850
516509
517510COMP( 1985, pc7000,     ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Sharp", "PC-7000", GAME_NOT_WORKING)
518511
519COMP( 198?, pcd,        ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Siemens", "PC-D", GAME_NOT_WORKING)
520512COMP( 198?, olypeopl,   ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Olympia", "People PC", GAME_NOT_WORKING)
521513COMP( 1988, sx16,       ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Sanyo", "SX-16", GAME_NOT_WORKING)
522514COMP( 198?, mbc16,      ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Sanyo", "MBC-16" , GAME_NOT_WORKING)
trunk/src/mess/drivers/pcd.c
r0r241850
1/***************************************************************************
2
3    Siemens PC-D
4
5    license: MAME, GPL-2.0+
6    copyright-holders: Dirk Best
7
8    Skeleton driver
9
10***************************************************************************/
11
12#include "emu.h"
13#include "cpu/i86/i186.h"
14#include "machine/ram.h"
15#include "machine/pic8259.h"
16#include "machine/mc2661.h"
17#include "machine/wd_fdc.h"
18#include "machine/mc146818.h"
19#include "sound/speaker.h"
20
21
22//**************************************************************************
23//  TYPE DEFINITIONS
24//**************************************************************************
25
26class pcd_state : public driver_device
27{
28public:
29   pcd_state(const machine_config &mconfig, device_type type, const char *tag) :
30   driver_device(mconfig, type, tag),
31   m_maincpu(*this, "maincpu"),
32   m_pic1(*this, "pic1"),
33   m_pic2(*this, "pic2"),
34   m_speaker(*this, "speaker"),
35   m_fdc(*this, "fdc"),
36   m_rtc(*this, "rtc")
37   { }
38
39   DECLARE_WRITE_LINE_MEMBER( pic1_irq );
40   DECLARE_READ8_MEMBER( pic1_slave_ack_r );
41   TIMER_DEVICE_CALLBACK_MEMBER( timer0_tick );
42   DECLARE_WRITE_LINE_MEMBER( i186_timer1_w );
43
44   DECLARE_READ8_MEMBER( crt_data_r );
45   DECLARE_WRITE8_MEMBER( crt_data_w );
46   DECLARE_READ8_MEMBER( crt_status_r );
47
48protected:
49   // driver_device overrides
50   virtual void machine_start();
51
52private:
53   required_device<i80186_cpu_device> m_maincpu;
54   required_device<pic8259_device> m_pic1;
55   required_device<pic8259_device> m_pic2;
56   required_device<speaker_sound_device> m_speaker;
57   required_device<wd2793_t> m_fdc;
58   required_device<mc146818_device> m_rtc;
59};
60
61
62//**************************************************************************
63//  MACHINE EMULATION
64//**************************************************************************
65
66void pcd_state::machine_start()
67{
68}
69
70WRITE_LINE_MEMBER( pcd_state::pic1_irq )
71{
72   logerror("pic1 irq: %d\n", state);
73}
74
75READ8_MEMBER( pcd_state::pic1_slave_ack_r )
76{
77   if (offset == 0) // irq 0
78      return m_pic2->acknowledge();
79
80   return 0x00;
81}
82
83TIMER_DEVICE_CALLBACK_MEMBER( pcd_state::timer0_tick )
84{
85   m_maincpu->tmrin0_w(0);
86   m_maincpu->tmrin0_w(1);
87}
88
89WRITE_LINE_MEMBER( pcd_state::i186_timer1_w )
90{
91   m_speaker->level_w(state);
92}
93
94READ8_MEMBER( pcd_state::crt_data_r )
95{
96   logerror("crt_data_r @ %02x\n", offset);
97   return 0xff;
98}
99
100WRITE8_MEMBER( pcd_state::crt_data_w )
101{
102   logerror("crt_data_w %02x @ %02x\n", data, offset);
103}
104
105READ8_MEMBER( pcd_state::crt_status_r )
106{
107   logerror("crt_status_r @ %02x\n", offset);
108   return 0xff;
109}
110
111
112//**************************************************************************
113//  ADDRESS MAPS
114//**************************************************************************
115
116static ADDRESS_MAP_START( pcd_map, AS_PROGRAM, 16, pcd_state )
117   AM_RANGE(0x00000, 0x3ffff) AM_RAM // fixed 256k for now
118   AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("bios", 0)
119ADDRESS_MAP_END
120
121static ADDRESS_MAP_START( pcd_io, AS_IO, 16, pcd_state )
122   ADDRESS_MAP_UNMAP_HIGH
123   AM_RANGE(0xf900, 0xf907) AM_DEVREADWRITE8("fdc", wd2793_t, read, write, 0x00ff)
124   AM_RANGE(0xf940, 0xf941) AM_DEVREADWRITE8("pic1", pic8259_device, read, write, 0xff00)
125   AM_RANGE(0xf980, 0xf981) AM_READWRITE8(crt_data_r, crt_data_w, 0x00ff) AM_READ8(crt_status_r, 0xff00)
126//   AM_RANGE(0xfa00, 0xfa7f) // pcs4-n (peripheral chip select)
127ADDRESS_MAP_END
128
129
130//**************************************************************************
131//  MACHINE DRIVERS
132//**************************************************************************
133
134static SLOT_INTERFACE_START( pcd_floppies )
135   SLOT_INTERFACE("55f", TEAC_FD_55F)
136   SLOT_INTERFACE("55g", TEAC_FD_55G)
137SLOT_INTERFACE_END
138
139static MACHINE_CONFIG_START( pcd, pcd_state )
140   MCFG_CPU_ADD("maincpu", I80186, XTAL_16MHz / 2)
141   MCFG_CPU_PROGRAM_MAP(pcd_map)
142   MCFG_CPU_IO_MAP(pcd_io)
143   MCFG_80186_TMROUT1_HANDLER(WRITELINE(pcd_state, i186_timer1_w))
144
145   MCFG_TIMER_DRIVER_ADD_PERIODIC("timer0_tick", pcd_state, timer0_tick, attotime::from_hz(XTAL_16MHz / 2 / 16))
146
147   MCFG_PIC8259_ADD("pic1", WRITELINE(pcd_state, pic1_irq), VCC, READ8(pcd_state, pic1_slave_ack_r))
148   MCFG_PIC8259_ADD("pic2", DEVWRITELINE("pic1", pic8259_device, ir0_w), GND, NULL)
149
150#if 0
151   MCFG_RAM_ADD(RAM_TAG)
152   MCFG_RAM_DEFAULT_SIZE("256K")
153   MCFG_RAM_EXTRA_OPTIONS("512K,1M")
154#endif
155
156   // floppy disk controller
157   MCFG_WD2793x_ADD("fdc", XTAL_16MHz/2/8)
158   MCFG_WD_FDC_INTRQ_CALLBACK(DEVWRITELINE("pic1", pic8259_device, ir6_w))
159   MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE("maincpu", i80186_cpu_device, drq1_w))
160
161   // floppy drives
162   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pcd_floppies, "55g", floppy_image_device::default_floppy_formats)
163   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pcd_floppies, "55g", floppy_image_device::default_floppy_formats)
164
165   // usart
166   MCFG_DEVICE_ADD("usart1", MC2661, XTAL_4_9152MHz)
167   MCFG_MC2661_TXEMT_DSCHG_HANDLER(DEVWRITELINE("pic1", pic8259_device, ir2_w))
168   MCFG_DEVICE_ADD("usart2", MC2661, XTAL_4_9152MHz)
169   MCFG_MC2661_TXEMT_DSCHG_HANDLER(DEVWRITELINE("pic1", pic8259_device, ir3_w))
170   MCFG_DEVICE_ADD("usart3", MC2661, XTAL_4_9152MHz)
171   MCFG_MC2661_TXEMT_DSCHG_HANDLER(DEVWRITELINE("pic1", pic8259_device, ir4_w))
172
173   // sound hardware
174   MCFG_SPEAKER_STANDARD_MONO("mono")
175   MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
176   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
177
178   // rtc
179   MCFG_MC146818_ADD("rtc", XTAL_32_768kHz)
180   MCFG_MC146818_IRQ_HANDLER(DEVWRITELINE("pic1", pic8259_device, ir7_w))
181MACHINE_CONFIG_END
182
183
184//**************************************************************************
185//  ROM DEFINITIONS
186//**************************************************************************
187
188ROM_START( pcd )
189   ROM_REGION(0x4000, "bios", 0)
190   ROM_LOAD16_BYTE("s26361-d359.d42", 0x0001, 0x2000, CRC(e20244dd) SHA1(0ebc5ddb93baacd9106f1917380de58aac64fe73))
191   ROM_LOAD16_BYTE("s26361-d359.d43", 0x0000, 0x2000, CRC(e03db2ec) SHA1(fcae8b0c9e7543706817b0a53872826633361fda))
192
193   // hdd (omti 5100)
194   ROM_REGION(0x2000, "hdd", 0)
195   ROM_LOAD("1002401-n.bin", 0x0000, 0x2000, CRC(d531e25c) SHA1(22e4762a70841b80e843a5d76175c1fdb6838e18))
196
197   // gfx card (scn2674 with 8741), to be moved
198   ROM_REGION(0x400, "graphics", 0)
199   ROM_LOAD("s36361-d321-v1.bin", 0x000, 0x400, CRC(69baeb2a) SHA1(98b9cd0f38c51b4988a3aed0efcf004bedd115ff))
200
201   // keyboard (8035), to be moved
202   ROM_REGION(0x1000, "keyboard", 0)
203   ROM_LOAD("pcd_keyboard.bin", 0x0000, 0x1000, CRC(d227d6cb) SHA1(3d6140764d3d043428c941826370ebf1597c63bd))
204ROM_END
205
206
207//**************************************************************************
208//  GAME DRIVERS
209//**************************************************************************
210
211COMP( 1984, pcd, 0, 0, pcd, 0, driver_device, 0, "Siemens", "PC-D", GAME_NOT_WORKING )
trunk/src/mess/drivers/wizatron.c
r241849r241850
33/***************************************************************************
44
55  Texas Instruments WIZ-A-TRON
6  * TMC0907NL ZA0379 (die labeled 0970F-07B)
6  * TMC0907NL DP0907BS (die labeled 0970F-07B)
77
88  Other handhelds assumed to be on similar hardware:
99  - Math Magic
r241849r241850
2727public:
2828   wizatron_state(const machine_config &mconfig, device_type type, const char *tag)
2929      : driver_device(mconfig, type, tag),
30      m_maincpu(*this, "maincpu")
30      m_maincpu(*this, "maincpu"),
31      m_button_matrix(*this, "IN")
3132   { }
3233
3334   required_device<cpu_device> m_maincpu;
35   required_ioport_array<4> m_button_matrix;
3436
3537   UINT16 m_r;
3638   UINT16 m_o;
r241849r241850
5254READ8_MEMBER(wizatron_state::read_k)
5355{
5456   UINT8 k = 0;
57
58   // read selected button rows
59   for (int i = 0; i < 4; i++)
60      if (m_o & (1 << (i + 1)))
61         k |= m_button_matrix[i]->read();
5562   
5663   return k;
5764}
5865
5966WRITE16_MEMBER(wizatron_state::write_r)
6067{
68   // R..: select digit
6169   m_r = data;
6270}
6371
6472WRITE16_MEMBER(wizatron_state::write_o)
6573{
74   // O0-O6: digit segments A-G
75   // O1-O4: input mux
6676   m_o = data;
6777}
6878
r241849r241850
7585***************************************************************************/
7686
7787static INPUT_PORTS_START( wizatron )
88   PORT_START("IN.0")
89   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
90   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
91   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 )
92   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 )
93
94   PORT_START("IN.1")
95   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER )
96   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER )
97   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER )
98   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER )
99
100   PORT_START("IN.2")
101   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER )
102   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER )
103   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER )
104   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER )
105
106   PORT_START("IN.3")
107   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER )
108   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER )
109   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER )
110   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER )
78111INPUT_PORTS_END
79112
80113
r241849r241850
97130
98131static const UINT16 wizatron_output_pla[0x20] =
99132{
100   /* O output PLA configuration currently unknown */
101   0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
102   0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
103   0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
104   0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
133   // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, X, /, r
134   0x7e, 0x30, 0x6d, 0x79, 0x33, 0x5b, 0x5f, 0x70,
135   0x7f, 0x7b, 0x26, 0x02, 0x35, 0x4a, 0x05, 0x00,
136   0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00,
137   0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00
105138};
106139
107140
r241849r241850
128161***************************************************************************/
129162
130163ROM_START( wizatron )
131   ROM_REGION( 0x0400, "maincpu", ROMREGION_ERASE00 )
132   ROM_LOAD( "za0379", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) )
164   ROM_REGION( 0x0400, "maincpu", 0 )
165   ROM_LOAD( "dp0907bs", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) )
133166ROM_END
134167
135168
trunk/src/mess/mess.mak
r241849r241850
783783   $(MESSOBJ)/sega.a \
784784   $(MESSOBJ)/sgi.a \
785785   $(MESSOBJ)/sharp.a \
786   $(MESSOBJ)/siemens.a \
786787   $(MESSOBJ)/sinclair.a \
787788   $(MESSOBJ)/skeleton.a \
788789   $(MESSOBJ)/snk.a \
r241849r241850
16221623   $(MESS_VIDEO)/zx8301.o      \
16231624   $(MESS_MACHINE)/zx8302.o    \
16241625
1626$(MESSOBJ)/siemens.a:           \
1627   $(MESS_DRIVERS)/pcd.o       \
1628
16251629$(MESSOBJ)/snk.a:               \
16261630   $(MESS_DRIVERS)/ng_aes.o    \
16271631   $(MESS_DRIVERS)/ngp.o $(MESS_VIDEO)/k1ge.o \


Previous 199869 Revisions Next


© 1997-2024 The MAME Team