Previous 199869 Revisions Next

r33337 Monday 10th November, 2014 at 20:47:43 UTC by Sergey Svishchev
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.lst mess.mak
[src/mess/drivers]at.c comp4.c merlin.c pc.c pcd.c wizatron.c

trunk/hash/sms.xml
r241848r241849
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" />
41044103      <part name="cart" interface="sms_cart">
41054104         <dataarea name="rom" size="524288">
41064105            <rom name="nba jam [proto].bin" size="524288" crc="332a847d" sha1="690addaea2b5f9b8d1c8788540ec7f695b396ff8" offset="000000" status="baddump"/>
trunk/src/emu/cpu/tms0980/tms0980.c
r241848r241849
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
r241848r241849
421421ADDRESS_MAP_END
422422
423423
424static ADDRESS_MAP_START(data_64x4, AS_DATA, 8, tms1xxx_cpu_device)
424static ADDRESS_MAP_START(data_6bit, AS_DATA, 8, tms1xxx_cpu_device)
425425   AM_RANGE( 0x00, 0x3f ) AM_RAM
426426ADDRESS_MAP_END
427427
428428
429static ADDRESS_MAP_START(data_128x4, AS_DATA, 8, tms1xxx_cpu_device)
429static ADDRESS_MAP_START(data_7bit, 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
440434void tms1xxx_cpu_device::device_start()
441435{
442436   m_program = &space( AS_PROGRAM );
r241848r241849
631625  or321 = OR of pc5 and pc6, i.e. output is true if ((pc&0x60) != 0)
632626  nand322 = NAND of pc0 through pc5 plus /pc6,
633627      i.e. output is true if (pc != 0x3f)
634  nand325 = nand of nand323, or321 and nand322
628  nand325 = nand pf nand323, or321 and nand322
635629      This one is complex:
636630      / or321 means if pc&0x60 is zero, output MUST be true
637631      \ nand323 means if (pc&0x60=0x60) && (pc&0x1f != 0x1f), output MUST be true
r241848r241849
647641      UINT8   xorval = ( m_pc & 0x3F ) == 0x3F ? 1 : 0;
648642      UINT8   new_bit = ( ( m_pc ^ ( m_pc << 1 ) ) & 0x40 ) ? xorval : 1 - xorval;
649643
650      m_pc = ((m_pc << 1) | new_bit) & ((1 << m_pc_size) - 1);
644      m_pc = ( m_pc << 1 ) | new_bit;
651645   }
652646   else
653647   {
r241848r241849
10261020
10271021tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
10281022   : tms1xxx_cpu_device( mconfig, TMS0980, "TMS0980", tag, owner, clock, tms0980_decode, 0x00ff, 0x07ff, 7, 9, 4
1029                  , 12, ADDRESS_MAP_NAME( program_11bit_9 ), 8, ADDRESS_MAP_NAME( data_64x9_as4 ), "tms0980", __FILE__)
1023                  , 12, ADDRESS_MAP_NAME( program_11bit_9 ), 6, ADDRESS_MAP_NAME( data_6bit ), "tms0980", __FILE__)
10301024{
10311025}
10321026
r241848r241849
10401034
10411035tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
10421036   : tms1xxx_cpu_device( mconfig, TMS1000, "TMS1000", tag, owner, clock, tms1000_default_decode, 0x00ff, 0x07ff, 6, 8, 2
1043                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_64x4 ), "tms1000", __FILE__)
1037                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_6bit ), "tms1000", __FILE__)
10441038{
10451039}
10461040
10471041
10481042tms1000_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)
10491043   : tms1xxx_cpu_device( mconfig, type, name, tag, owner, clock, tms1000_default_decode, o_mask, r_mask, 6, 8, 2
1050                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_64x4 ), shortname, source )
1044                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_6bit ), shortname, source )
10511045{
10521046}
10531047
r241848r241849
10841078
10851079tms1100_cpu_device::tms1100_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
10861080   : tms1xxx_cpu_device( mconfig, TMS1100, "TMS1100", tag, owner, clock, tms1100_default_decode, 0x00ff, 0x07ff, 6, 8, 3
1087                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_128x4 ), "tms1100", __FILE__ )
1081                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_7bit ), "tms1100", __FILE__ )
10881082{
10891083}
10901084
10911085
10921086tms1100_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)
10931087   : tms1xxx_cpu_device( mconfig, type, name, tag, owner, clock, tms1100_default_decode, o_mask, r_mask, 6, 8, 3
1094                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_128x4 ), shortname, source )
1088                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_7bit ), shortname, source )
10951089{
10961090}
10971091
trunk/src/emu/cpu/upd7810/upd7810.c
r241848r241849
19911991   switch (irqline) {
19921992   case INPUT_LINE_NMI:
19931993      /* NMI is falling edge sensitive */
1994      if ( m_nmi == CLEAR_LINE && state == ASSERT_LINE )
1994      if ( m_nmi == ASSERT_LINE && state == CLEAR_LINE )
19951995         IRR |= INTNMI;
19961996
19971997      m_nmi = state;
r241848r241849
20052005      break;
20062006   case UPD7810_INTF2:
20072007      /* INT2 is falling edge sensitive */
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 )
2008      if ( m_int2 == ASSERT_LINE && state == CLEAR_LINE )
20112009         IRR |= INTF2;
20122010
2013      m_int2 = !state;
2011      m_int2 = state;
20142012      break;
20152013   default:
20162014      logerror("upd7810_set_irq_line invalid irq line #%d\n", irqline);
trunk/src/emu/imagedev/floppy.c
r241848r241849
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
10596// ALPS 5.25" drives
10697const device_type ALPS_3255190x = &device_creator<alps_3255190x>;
10798
r241848r241849
17711762   variants[var_count++] = floppy_image::SSDD;
17721763}
17731764
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//-------------------------------------------------
17831765
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
18121766//-------------------------------------------------
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//-------------------------------------------------
18511767//  ALPS 32551901 (black) / 32551902 (brown)
18521768//
18531769//  used in the Commodoere 1541 disk drive
trunk/src/emu/imagedev/floppy.h
r241848r241849
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")
244242DECLARE_FLOPPY_IMAGE_DEVICE(alps_3255190x, "floppy_5_25")
245243
246244
r241848r241849
290288extern const device_type SONY_OA_D31V;
291289extern const device_type SONY_OA_D32W;
292290extern const device_type SONY_OA_D32V;
293extern const device_type TEAC_FD_55F;
294extern const device_type TEAC_FD_55G;
295291extern const device_type ALPS_3255190x;
296292
297293#endif /* FLOPPY_H */
trunk/src/emu/machine/i6300esb.c
r241848r241849
7171   lpc_if_sound_range = 0x00;
7272   fwh_dec_en1 = 0xff;
7373   gen1_dec = 0x0000;
74   lpc_en = 0x0000;
74   lpc_en = 0x2000;
7575   fwh_sel1 = 0x00112233;
7676}
7777
r241848r241849
8585   COMBINE_DATA(&gpio_base);
8686   gpio_base &= 0x0000ffc0;
8787   logerror("%s: gpio_base = %08x\n", tag(), gpio_base);
88   remap_cb();
8988}
9089
9190READ8_MEMBER  (i6300esb_lpc_device::gpio_cntl_r)
r241848r241849
9796{
9897   COMBINE_DATA(&gpio_cntl);
9998   logerror("%s: gpio_cntl = %02x\n", tag(), gpio_cntl);
100   remap_cb();
10199}
102100
103101READ8_MEMBER  (i6300esb_lpc_device::lpc_if_com_range_r)
r241848r241849
109107{
110108   COMBINE_DATA(&lpc_if_com_range);
111109   logerror("%s: lpc_if_com_range  = %02x\n", tag(), lpc_if_com_range);
112   remap_cb();
113110}
114111
115112READ8_MEMBER  (i6300esb_lpc_device::lpc_if_fdd_lpt_range_r)
r241848r241849
121118{
122119   COMBINE_DATA(&lpc_if_fdd_lpt_range);
123120   logerror("%s: lpc_if_fdd_lpt_range  = %02x\n", tag(), lpc_if_fdd_lpt_range);
124   remap_cb();
125121}
126122
127123READ8_MEMBER  (i6300esb_lpc_device::lpc_if_sound_range_r)
r241848r241849
133129{
134130   COMBINE_DATA(&lpc_if_sound_range);
135131   logerror("%s: lpc_if_sound_range  = %02x\n", tag(), lpc_if_sound_range);
136   remap_cb();
137132}
138133
139134READ8_MEMBER  (i6300esb_lpc_device::fwh_dec_en1_r)
r241848r241849
145140{
146141   fwh_dec_en1 = data | 0x80;
147142   logerror("%s: fwh_dec_en1  = %02x\n", tag(), fwh_dec_en1);
148   remap_cb();
149143}
150144
151145READ16_MEMBER (i6300esb_lpc_device::gen1_dec_r)
r241848r241849
157151{
158152   COMBINE_DATA(&gen1_dec);
159153   logerror("%s: gen1_dec = %04x\n", tag(), gen1_dec);
160   remap_cb();
161154}
162155
163156READ16_MEMBER (i6300esb_lpc_device::lpc_en_r)
r241848r241849
169162{
170163   COMBINE_DATA(&lpc_en);
171164   logerror("%s: lpc_en = %04x\n", tag(), lpc_en);
172   remap_cb();
173165}
174166
175167READ32_MEMBER (i6300esb_lpc_device::fwh_sel1_r)
r241848r241849
181173{
182174   COMBINE_DATA(&fwh_sel1);
183175   logerror("%s: fwh_sel1 = %08x\n", tag(), fwh_sel1);
184   remap_cb();
185176}
186177
187178READ32_MEMBER (i6300esb_lpc_device::unk_fc_r)
trunk/src/emu/machine/i82875p.c
r241848r241849
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
419i82875p_host_device::i82875p_host_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
4210   : pci_host_device(mconfig, I82875P_HOST, "i82875p northbridge", tag, owner, clock, "i82875p_host", __FILE__)
4311{
r241848r241849
5321   ram_size = _ram_size;
5422}
5523
56READ8_MEMBER(i82875p_host_device::capptr_r)
57{
58   return 0xe4;
59}
60
6124void i82875p_host_device::device_start()
6225{
6326   pci_host_device::device_start();
r241848r241849
7841   add_map(256*1024*1024, M_MEM, FUNC(i82875p_host_device::agp_translation_map));
7942}
8043
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
31144void i82875p_host_device::device_reset()
31245{
31346   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;
33147}
33248
33349void i82875p_host_device::map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
33450                           UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
33551{
33652   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
40953}
41054
41155
trunk/src/emu/machine/i82875p.h
r241848r241849
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
7426protected:
7527   virtual void device_start();
7628   virtual void device_reset();
r241848r241849
8234   int ram_size;
8335   cpu_device *cpu;
8436   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;
9037};
9138
9239class i82875p_agp_device : public agp_bridge_device {
trunk/src/emu/machine/pci.c
r241848r241849
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)
18
19   AM_RANGE(0x34, 0x37) AM_READ8 (capptr_r,          0x000000ff)
16   AM_RANGE(0x2c, 0x2f) AM_READ16(subvendor_r,          0x0000ffff)
17   AM_RANGE(0x2c, 0x2f) AM_READ16(subsystem_r,          0xffff0000)
2018ADDRESS_MAP_END
2119
2220pci_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)
r241848r241849
8987   return subsystem_id;
9088}
9189
92READ8_MEMBER(pci_device::capptr_r)
93{
94   return 0x00;
95}
96
9790void pci_device::scan_sub_devices(pci_device **devices, dynamic_array<pci_device *> &all, dynamic_array<pci_device *> &bridges, device_t *root)
9891{
9992}
10093
101void pci_device::set_remap_cb(mapper_cb _remap_cb)
102{
103   remap_cb = _remap_cb;
104}
105
10694void pci_device::reset_all_mappings()
10795{
10896}
r241848r241849
175163   return this;
176164}
177165
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
186166void pci_bridge_device::device_start()
187167{
188168   pci_device::device_start();
r241848r241849
199179      int fct = t[l-1] - '0';
200180      sub_devices[(id << 3) | fct] = downcast<pci_device *>(d);
201181   }
202
203   mapper_cb cf_cb(FUNC(pci_bridge_device::regenerate_config_mapping), this);
204
205182   for(int i=0; i<32*8; i++)
206183      if(sub_devices[i]) {
207184         all_devices.append(sub_devices[i]);
208185         if(sub_devices[i] != this) {
209            sub_devices[i]->remap_config_cb = cf_cb;
210            sub_devices[i]->set_remap_cb(remap_cb);
211186            pci_bridge_device *bridge = dynamic_cast<pci_bridge_device *>(sub_devices[i]);
212187            if(bridge)
213188               all_bridges.append(bridge);
r241848r241849
287262
288263void pci_host_device::device_start()
289264{
290   remap_cb = mapper_cb(FUNC(pci_host_device::regenerate_mapping), this);
291
292265   pci_bridge_device::device_start();
293266
294267   memory_window_start = memory_window_end = memory_offset = 0;
295268   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();
300269}
301270
302271void pci_host_device::device_reset()
trunk/src/emu/machine/pci.h
r241848r241849
2424
2525class pci_device : public device_t {
2626public:
27   typedef delegate<void ()> mapper_cb;
28
29   mapper_cb remap_cb, remap_config_cb;
30
3127   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);
3228
3329   void set_ids(UINT32 main_id, UINT8 revision, UINT32 pclass, UINT32 subsystem_id);
3430
35   virtual void set_remap_cb(mapper_cb _remap_cb);
3631   virtual void reset_all_mappings();
3732   virtual void map_device(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
3833                     UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
r241848r241849
5247   virtual DECLARE_READ8_MEMBER(bist_r);
5348   DECLARE_READ16_MEMBER(subvendor_r);
5449   DECLARE_READ16_MEMBER(subsystem_r);
55   virtual DECLARE_READ8_MEMBER(capptr_r);
5650
5751protected:
5852   enum {
r241848r241849
9387   pci_bridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
9488   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);
9589
96   virtual void set_remap_cb(mapper_cb _remap_cb);
9790   virtual void map_device(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
9891                     UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
9992   virtual void reset_all_mappings();
trunk/src/emu/tilemap.h
r241848r241849
443443   {
444444      gfx_element *gfx = decoder->gfx(_gfxnum);
445445      int code = rawcode % gfx->elements();
446      assert(rawcolor < gfx->colors()); // TEMPORARY ASSERT
446447      pen_data = gfx->get_data(code);
447448      palette_base = gfx->colorbase() + gfx->granularity() * (rawcolor % gfx->colors());
448449      flags = _flags;
trunk/src/mame/drivers/dec8.c
r241848r241849
35693569DRIVER_INIT_MEMBER(dec8_state,ghostb)
35703570{
35713571   UINT8 *ROM = memregion("maincpu")->base();
3572   UINT8 *RAM = memregion("proms")->base();
35723573
3574   /* Blank out unused garbage in colour prom to avoid colour overflow */
3575   memset(RAM + 0x20, 0, 0xe0);
3576
35733577   membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
35743578   DRIVER_INIT_CALL(dec8);
3579   m_palette->update();
35753580}
35763581
35773582DRIVER_INIT_MEMBER(dec8_state,meikyuh)
35783583{
35793584   UINT8 *ROM = memregion("maincpu")->base();
3585   UINT8 *RAM = memregion("proms")->base();
35803586
3587   /* Blank out unused garbage in colour prom to avoid colour overflow */
3588   memset(RAM + 0x20, 0, 0xe0);
3589
35813590   membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000);
35823591   DRIVER_INIT_CALL(dec8);
3592   m_palette->update();
35833593}
35843594
35853595DRIVER_INIT_MEMBER(dec8_state,csilver)
trunk/src/mame/drivers/fitfight.c
r241848r241849
259259
260260INTERRUPT_GEN_MEMBER(fitfight_state::snd_irq)
261261{
262   generic_pulse_irq_line(device.execute(), UPD7810_INTF2, 1);
262   device.execute().set_input_line(UPD7810_INTF2, HOLD_LINE);
263263}
264264
265265
trunk/src/mame/drivers/groundfx.c
r241848r241849
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 TC0620SCC tilemap chip which is a 6bpp version of the
52    TC0100SCN (check the inits), like Under Fire.
51    It has an extra tilemap chip which is a dead ringer for the TC0100SCN
52    (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
r241848r241849
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)    /* 6bpp tilemaps */
193   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)    /* piv 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 ??
r241848r241849
279279   128*8     /* every sprite takes 128 consecutive bytes */
280280};
281281
282static const gfx_layout scclayout =
282static const gfx_layout pivlayout =
283283{
284284   8,8,    /* 8*8 characters */
285285   RGN_FRAC(1,2),
r241848r241849
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, scclayout,         0, 512 )
296   GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout,         0, 512 )
297297GFXDECODE_END
298298
299299
r241848r241849
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) )    /* SCC 8x8 tiles, 6bpp */
378   ROM_LOAD16_BYTE( "d51-10.95", 0x000000, 0x100000, CRC(d5910604) SHA1(8efe13884cfdef208394ddfe19f43eb1b9f78ff3) )    /* PIV 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 )
r241848r241849
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 SCC tile GFX format suitable for gfxdecode */
421   /* make piv 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
r241848r241849
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
7284CUSTOM_INPUT_MEMBER(gunbustr_state::coin_word_r)
7385{
7486   return m_coin_word;
r241848r241849
156168   AM_RANGE(0x500000, 0x500003) AM_READWRITE(gunbustr_gun_r, gunbustr_gun_w)                       /* gun coord read */
157169   AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)
158170   AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
159   AM_RANGE(0x900000, 0x901fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
171   AM_RANGE(0x900000, 0x901fff) AM_RAM_WRITE(gunbustr_palette_w) AM_SHARE("paletteram")            /* Palette ram */
160172   AM_RANGE(0xc00000, 0xc03fff) AM_RAM                                                             /* network ram ?? */
161173ADDRESS_MAP_END
162174
r241848r241849
263275};
264276
265277static GFXDECODE_START( gunbustr )
266   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 256 )
267   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0, 256 )
278   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 512 )
279   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0, 512 )
268280GFXDECODE_END
269281
270282
r241848r241849
291303   MCFG_SCREEN_PALETTE("palette")
292304
293305   MCFG_GFXDECODE_ADD("gfxdecode", "palette", gunbustr)
294   MCFG_PALETTE_ADD("palette", 4096)
295   MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
306   MCFG_PALETTE_ADD("palette", 8192)
296307
297308   MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
298309   MCFG_TC0480SCP_GFX_REGION(1)
trunk/src/mame/drivers/homedata.c
r241848r241849
231231
232232INTERRUPT_GEN_MEMBER(homedata_state::upd7807_irq)
233233{
234   generic_pulse_irq_line(device.execute(), UPD7810_INTF1, 1);
234   device.execute().set_input_line(UPD7810_INTF1, HOLD_LINE);
235235}
236236
237237
trunk/src/mame/drivers/megadrvb.c
r241848r241849
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
747740/*************************************
748741 *
749742 *  Game-specific driver inits
r241848r241849
886879GAME( 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)
887880GAME( 1993, srmdb,    0, megadrvb,     srmdb,    md_boot_state,  srmdb,    ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Megadrive version)", 0)
888881GAME( 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
r241848r241849
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
16691648ROM_START( pepp0041 ) /* Normal board : Standard Draw Poker (PP0041) */
16701649/*
16711650PayTable   Js+  2PR  3K   STR  FL  FH  4K  SF  RF  (Bonus)
r241848r241849
17621741   ROM_LOAD( "pp0043_a0b-a1s.u68",   0x00000, 0x10000, CRC(be1561ab) SHA1(a3f6d306992acabb6a618a4035cc739f3c3c45e8) ) /* Game Version: A0B, Library Version: A1S */
17631742
17641743   ROM_REGION( 0x020000, "gfx1", 0 )
1765   ROM_LOAD( "mro-cg2014.u72",  0x00000, 0x8000, CRC(90220e65) SHA1(c03417e09b72c8f3afe182b15e41e9d9ae32a831) ) /* 09/01/94  @IGT  IGT-EURO */
1744   ROM_LOAD( "mro-cg2014.u72",  0x00000, 0x8000, CRC(90220e65) SHA1(c03417e09b72c8f3afe182b15e41e9d9ae32a831) )
17661745   ROM_LOAD( "mgo-cg2014.u73",  0x08000, 0x8000, CRC(3189b3e3) SHA1(34c4c170dba74a50ffcbc5c5c97b37200b6d2509) )
17671746   ROM_LOAD( "mbo-cg2014.u74",  0x10000, 0x8000, CRC(77650c39) SHA1(7e89682d0a192ef83288bc3ad22dea45129344f9) )
17681747   ROM_LOAD( "mxo-cg2014.u75",  0x18000, 0x8000, CRC(af9c89a6) SHA1(e256259c20f5b1308e89c9fbb424d1396bccbcd1) )
r241848r241849
89078886GAMEL(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 )
89088887GAMEL(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 )
89098888GAMEL(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 )
89118889GAMEL(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 )
89128890GAMEL(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 )
89138891GAMEL(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
r241848r241849
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) )
985975
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
999976ROM_START( griffon )
1000977   ROM_REGION( 0x10000, "maincpu", 0 )
1001978   ROM_LOAD( "griffon0.a5",  0x0000, 0x0800, CRC(c0f73929) SHA1(3cecf8341a5674165d2cae9b22ea5db26a9597de) )
r241848r241849
12981275GAME( 1981, nextfase, phoenix,  phoenix,  nextfase, driver_device, 0,        ROT90, "bootleg (Petaco S.A.)", "Next Fase (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
12991276// as is this
13001277GAME( 1981, phoenixs, phoenix,  phoenix,  phoenix, driver_device,  0,        ROT90, "bootleg (Sonic)", "Phoenix (Spanish bootleg)", 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 )
1278GAME( 1980, avefenix, phoenix,  phoenix,  phoenix, driver_device,  0,        ROT90, "bootleg (Video Game)", "Ave Fenix (Spanish bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
13031279
13041280GAME( 1981, pleiads,  0,        pleiads,  pleiads, driver_device,  0,        ROT90, "Tehkan", "Pleiads (Tehkan)", GAME_IMPERFECT_COLORS )
13051281GAME( 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
r241848r241849
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};
16571667
16581668static const gfx_layout bg2_layout =
16591669{
r241848r241849
16661676   8*8*4
16671677};
16681678
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
16691693
16701694#define O 8*8*4
16711695#define O2 2*O
r241848r241849
16931717   8*8*4
16941718};
16951719
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
16961725
1697
1698static GFXDECODE_START( taito_l )
1726static GFXDECODE_START( 2 )
16991727   GFXDECODE_ENTRY( "gfx1", 0, bg2_layout, 0, 16 )
17001728   GFXDECODE_ENTRY( "gfx1", 0, sp2_layout, 0, 16 )
17011729   GFXDECODE_ENTRY( NULL,           0, char_layout,  0, 16 )  // Ram-based
r241848r241849
17541782   MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
17551783   MCFG_SCREEN_PALETTE("palette")
17561784
1757   MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
1785   MCFG_GFXDECODE_ADD("gfxdecode", "palette", 2)
17581786   MCFG_PALETTE_ADD("palette", 256)
17591787
17601788   MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
r241848r241849
18551883   MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
18561884   MCFG_SCREEN_PALETTE("palette")
18571885
1858   MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
1886   MCFG_GFXDECODE_ADD("gfxdecode", "palette", 2)
18591887   MCFG_PALETTE_ADD("palette", 256)
18601888
18611889   MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
r241848r241849
18711899MACHINE_CONFIG_END
18721900
18731901
1902static MACHINE_CONFIG_DERIVED( kurikinta, kurikint )
18741903
1904   /* basic machine hardware */
18751905
1906   /* video hardware */
1907   MCFG_GFXDECODE_MODIFY("gfxdecode", 1)
1908MACHINE_CONFIG_END
18761909
1910
18771911static MACHINE_CONFIG_START( plotting, taitol_state )
18781912
18791913   /* basic machine hardware */
r241848r241849
18951929   MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
18961930   MCFG_SCREEN_PALETTE("palette")
18971931
1898   MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
1932   MCFG_GFXDECODE_ADD("gfxdecode", "palette", 1)
18991933   MCFG_PALETTE_ADD("palette", 256)
19001934
19011935   MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
r241848r241849
19892023   MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
19902024   MCFG_SCREEN_PALETTE("palette")
19912025
1992   MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
2026   MCFG_GFXDECODE_ADD("gfxdecode", "palette", 2)
19932027   MCFG_PALETTE_ADD("palette", 256)
19942028
19952029   MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
r241848r241849
22032237   ROM_LOAD( "b42-07.ic22", 0x00000, 0x10000, CRC(0f2719c0) SHA1(f870335a75f236f0059522f9a577dee7ca3acb2f) )
22042238
22052239   ROM_REGION( 0x100000, "gfx1", 0 )
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) )
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) )
22142248ROM_END
22152249
22162250/************************************************************************
r241848r241849
22662300   ROM_LOAD( "ic10",       0x00000, 0x10000, CRC(be240921) SHA1(f29f3a49b563f24aa6e3187ac4da1a8100cb02b5) )
22672301
22682302   ROM_REGION( 0x20000, "gfx1", 0 )
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) )
2303   ROM_LOAD( "b96-07.ic9", 0x00000, 0x10000, CRC(0713a387) SHA1(0fc1242ce02a56279fa1d5270c905bba7cdcd072) )
2304   ROM_LOAD( "b96-08.ic8", 0x10000, 0x10000, CRC(55b8e294) SHA1(14405638f751adfadb022bf7a0123a3972d4a617) )
22712305
22722306   ROM_REGION( 0x0200, "plds", 0 )
22732307   ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) )  /* derived, but verified  Pal Stamped B86-04 */
r241848r241849
22792313   ROM_LOAD( "plot01.ic10", 0x00000, 0x10000, CRC(5b30bc25) SHA1(df8839a90da9e5122d75b6faaf97f59499dbd316) )
22802314
22812315   ROM_REGION( 0x20000, "gfx1", 0 )
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) )
2316   ROM_LOAD( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2317   ROM_LOAD( "b96-03.ic8", 0x10000, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
22842318
22852319   ROM_REGION( 0x0200, "plds", 0 )
22862320   ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) )  /* derived, but verified  Pal Stamped B86-04 */
r241848r241849
22912325   ROM_LOAD( "b96-06.ic10",0x00000, 0x10000, CRC(f89a54b1) SHA1(19757b5fb61acdd6f5ae8e32a38ae54bfda0c522) )
22922326
22932327   ROM_REGION( 0x20000, "gfx1", 0 )
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) )
2328   ROM_LOAD( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2329   ROM_LOAD( "b96-03.ic8", 0x10000, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
22962330
22972331   ROM_REGION( 0x0200, "plds", 0 )
22982332   ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) )  /* derived, but verified  Pal Stamped B86-04 */
r241848r241849
23032337   ROM_LOAD( "b96-05.ic10",0x00000, 0x10000, CRC(afb99d1f) SHA1(a5cabc182d4f1d5709e6835d8b0a481dd0f9a563) )
23042338
23052339   ROM_REGION( 0x20000, "gfx1", 0 )
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) )
2340   ROM_LOAD( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) )
2341   ROM_LOAD( "b96-03.ic8", 0x10000, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) )
23082342
23092343   ROM_REGION( 0x0200, "plds", 0 ) // PAL16L8
23102344   ROM_LOAD( "b96-04.ic12", 0x0000, 0x0104, CRC(9390a782) SHA1(9e68948ed15d96c1998e5d5cd99b823676e555e7) )  /* Confirmed/Matches U.S. set */
r241848r241849
23152349   ROM_LOAD( "b96-01.ic10",0x00000, 0x10000, CRC(65993978) SHA1(d14dc70f1b5e72b96ccc3fab61d7740f627bfea2) )
23162350
23172351   ROM_REGION( 0x20000, "gfx1", 0 )
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) )
2352   ROM_LOAD( "b96-07.ic9", 0x00000, 0x10000, CRC(0713a387) SHA1(0fc1242ce02a56279fa1d5270c905bba7cdcd072) )
2353   ROM_LOAD( "b96-08.ic8", 0x10000, 0x10000, CRC(55b8e294) SHA1(14405638f751adfadb022bf7a0123a3972d4a617) )
23202354
23212355   ROM_REGION( 0x0200, "plds", 0 )
23222356   ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) )  /* derived, but verified  Pal Stamped B86-04 */
r241848r241849
23302364   ROM_LOAD( "mc68705p3.ic4", 0x0000, 0x0800, CRC(085F68B4) SHA1(2DBC7E2C015220DC59EE1F1208540744E5B9B7CC) )
23312365
23322366   ROM_REGION( 0x20000, "gfx1", 0 )
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) )
2367   ROM_LOAD( "c20-07.ic10", 0x00000, 0x10000, CRC(be12749a) SHA1(c67d1a434486843a6776d89e905362b7db595d8d) )
2368   ROM_LOAD( "c20-06.ic9",  0x10000, 0x10000, CRC(ac85a9c5) SHA1(2d72dae86a191ccdac9648980aca832fb9886544) )
23352369
23362370   ROM_REGION( 0x0800, "pals", 0 )
23372371   ROM_LOAD( "mmipal20l8.ic3", 0x0000, 0x0800, NO_DUMP )
r241848r241849
23452379   ROM_LOAD( "mc68705p3.ic4", 0x0000, 0x0800, CRC(085F68B4) SHA1(2DBC7E2C015220DC59EE1F1208540744E5B9B7CC) )
23462380
23472381   ROM_REGION( 0x40000, "gfx1", 0 )
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) )
2382   ROM_LOAD( "c20-03.ic10",  0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) )
2383   ROM_LOAD( "c20-02.ic9",   0x20000, 0x20000, CRC(3c115f8b) SHA1(8d518be01b7c4d6d993d5d9b62aab719a5c8baca) )
23502384
23512385   ROM_REGION( 0x0200, "pals", 0 ) // PAL20L8
23522386   ROM_LOAD( "c20-05.ic3", 0x0000, 0x0144, CRC(f90e5594) SHA1(6181bb25b77028bb150c84bdc073f0457efd7eaa) ) // Confirmed/Matches Japan Set
r241848r241849
23572391   ROM_LOAD( "1.ic11",  0x00000, 0x20000, CRC(4612f5e0) SHA1(dc07a365414666568537d31ef01b58f2362cadaf) )
23582392
23592393   ROM_REGION( 0x40000, "gfx1", 0 )
2360   ROM_LOAD16_BYTE( "u10.ic10",  0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) )
2361   ROM_LOAD16_BYTE( "3.ic9",     0x00001, 0x20000, CRC(2bf5232a) SHA1(a8fc06bb8bae2ca6bd21e3a96c9ed38bb356d5d7) )
2394   ROM_LOAD( "u10.ic10",  0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) )
2395   ROM_LOAD( "3.ic9",     0x20000, 0x20000, CRC(2bf5232a) SHA1(a8fc06bb8bae2ca6bd21e3a96c9ed38bb356d5d7) )
23622396ROM_END
23632397
23642398/*
r241848r241849
23862420   ROM_LOAD( "c47-03.ic6",  0x00000, 0x20000, CRC(37e15b20) SHA1(85baa0ee553e4c9fed38294ba8912f18f519e62f) )
23872421
23882422   ROM_REGION( 0x80000, "gfx1", 0 )
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 */
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 */
23922428   ROM_CONTINUE (           0x60000, 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 )
2429   ROM_LOAD( "c47-05.ic10", 0x50000, 0x10000, CRC(b2a3dafe) SHA1(5ffd3e296272ef3f31432005c827f057aac79497) ) /* silkscreened CH1-H */
2430   ROM_CONTINUE (           0x70000, 0x10000 )
23972431
23982432   ROM_REGION( 0x0200, "plds", 0 ) // PAL20L8BCNS
23992433   ROM_LOAD( "c47-06.ic12", 0x0000, 0x0144, CRC(4342ca6c) SHA1(9c798a6f1508b03004b76577eb823f004df7298d) )
r241848r241849
24052439   ROM_LOAD( "c63.02", 0x00000, 0x20000, CRC(55a82bb2) SHA1(f157ad770351d4b8d8f8c061c4e330d6391fc624) )
24062440
24072441   ROM_REGION( 0x40000, "gfx1", 0 )
2408   ROM_LOAD16_BYTE( "c63.04", 0x00000, 0x20000, CRC(c7bbe460) SHA1(1c1f186d0b0b2e383f82c53ae93b975a75f50f9c) )
2409   ROM_LOAD16_BYTE( "c63.03", 0x00001, 0x20000, CRC(fcd86e44) SHA1(bdd0750ed6e93cc49f09f4ccb05b0c4a44cb9c23) )
2442   ROM_LOAD( "c63.04", 0x00000, 0x20000, CRC(c7bbe460) SHA1(1c1f186d0b0b2e383f82c53ae93b975a75f50f9c) )
2443   ROM_LOAD( "c63.03", 0x20000, 0x20000, CRC(fcd86e44) SHA1(bdd0750ed6e93cc49f09f4ccb05b0c4a44cb9c23) )
24102444ROM_END
24112445
24122446ROM_START( cachat )
r241848r241849
24142448   ROM_LOAD( "cac6",  0x00000, 0x20000, CRC(8105cf5f) SHA1(e6dd22165436c247db887a04c3e69c9e2505bb33) )
24152449
24162450   ROM_REGION( 0x80000, "gfx1", 0 )
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) )
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) )
24212455
24222456   ROM_REGION( 0x0200, "plds", 0 )
24232457   ROM_LOAD( "pal20l8b-c63-01.14", 0x0000, 0x0144, CRC(14a7dd2a) SHA1(2a39ca6069bdac553d73c34db6f50f880559113c) )
r241848r241849
24282462   ROM_LOAD( "t-i_02.6", 0x00000, 0x20000, CRC(54730669) SHA1(a44ebd31a8588a133a7552a39fa8d52ba1985e45) )
24292463
24302464   ROM_REGION( 0x80000, "gfx1", 0 )
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) )
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) )
24332467
24342468   ROM_REGION( 0x0200, "plds", 0 )
24352469   ROM_LOAD( "pal20l8b-c63-01.14", 0x0000, 0x0144, CRC(14a7dd2a) SHA1(2a39ca6069bdac553d73c34db6f50f880559113c) )
r241848r241849
24402474   ROM_LOAD( "cb06.6", 0x00000, 0x40000, CRC(66b89a85) SHA1(2ba26d71fd1aa8e64584a5908a1d797666718d49) )
24412475
24422476   ROM_REGION( 0x100000, "gfx1", 0 )
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) )
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) )
24472481ROM_END
24482482
24492483ROM_START( plgirls )
r241848r241849
24512485   ROM_LOAD( "pg03.ic6", 0x00000, 0x40000, CRC(6ca73092) SHA1(f5679f047a29b936046c0d3677489df553ad7b41) )
24522486
24532487   ROM_REGION( 0x80000, "gfx1", 0 )
2454   ROM_LOAD16_BYTE( "pg02.ic9", 0x00000, 0x40000, CRC(3cf05ca9) SHA1(502c45a5330dda1b2fbf7d3d0c9bc6e889ff07d8) )
2455   ROM_LOAD16_BYTE( "pg01.ic7", 0x00001, 0x40000, CRC(79e41e74) SHA1(aa8efbeeee47f84e19b639821a89a7bcd67fe7a9) )
2488   ROM_LOAD( "pg02.ic9", 0x00000, 0x40000, CRC(3cf05ca9) SHA1(502c45a5330dda1b2fbf7d3d0c9bc6e889ff07d8) )
2489   ROM_LOAD( "pg01.ic7", 0x40000, 0x40000, CRC(79e41e74) SHA1(aa8efbeeee47f84e19b639821a89a7bcd67fe7a9) )
24562490ROM_END
24572491
24582492ROM_START( plgirls2 )
r241848r241849
24602494   ROM_LOAD( "pg2_1j.ic6", 0x00000, 0x40000, CRC(f924197a) SHA1(ecaaefd1b3715ba60608e05d58be67e3c71f653a) )
24612495
24622496   ROM_REGION( 0x100000, "gfx1", 0 )
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) )
2497   ROM_LOAD( "cho-l.ic9",  0x00000, 0x80000, CRC(956384ec) SHA1(94a2b95f340e96bdccbeafd373f0dea90b8328dd) )
2498   ROM_LOAD( "cho-h.ic7",  0x80000, 0x80000, CRC(992f99b1) SHA1(c79f1014d73654740f7823812f92376d65d6b15d) )
24652499ROM_END
24662500
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
24792501ROM_START( evilston )
24802502   ROM_REGION( 0x40000, "maincpu", 0 )
24812503   ROM_LOAD( "c67-03.ic2",  0x00000, 0x20000, CRC(53419982) SHA1(ecc338e2237d26c5ff25b756d371b26b23beed1e) )
r241848r241849
25312553   ROM_LOAD( "rom1",  0x00000, 0x40000, CRC(ba1acfdb) SHA1(ff1093c2d0887287ce451417bd373e00f2881ce7) )
25322554
25332555   ROM_REGION( 0x80000, "gfx1", 0 )
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) )
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) )
25382560ROM_END
25392561
25402562
r241848r241849
25662588GAME( 1988, raimais,   0,        raimais,   raimais,   driver_device, 0,         ROT0,   "Taito Corporation Japan", "Raimais (World)", 0 )
25672589GAME( 1988, raimaisj,  raimais,  raimais,   raimaisj,  driver_device, 0,         ROT0,   "Taito Corporation", "Raimais (Japan)", 0 )
25682590GAME( 1988, raimaisjo, raimais,  raimais,   raimaisj,  driver_device, 0,         ROT0,   "Taito Corporation", "Raimais (Japan, first revision)", 0 )
2569
25702591GAME( 1988, fhawk,     0,        fhawk,     fhawk,     driver_device, 0,         ROT270, "Taito Corporation Japan", "Fighting Hawk (World)", 0 )
25712592GAME( 1988, fhawkj,    fhawk,    fhawk,     fhawkj,    driver_device, 0,         ROT270, "Taito Corporation", "Fighting Hawk (Japan)", 0 )
2572
25732593GAME( 1989, champwr,   0,        champwr,   champwr,   driver_device, 0,         ROT0,   "Taito Corporation Japan", "Champion Wrestler (World)", GAME_IMPERFECT_SOUND )
25742594GAME( 1989, champwru,  champwr,  champwr,   champwru,  driver_device, 0,         ROT0,   "Taito America Corporation", "Champion Wrestler (US)", GAME_IMPERFECT_SOUND )
25752595GAME( 1989, champwrj,  champwr,  champwr,   champwrj,  driver_device, 0,         ROT0,   "Taito Corporation", "Champion Wrestler (Japan)", GAME_IMPERFECT_SOUND )
2576
25772596GAME( 1988, kurikint,  0,        kurikint,  kurikint,  driver_device, 0,         ROT0,   "Taito Corporation Japan", "Kuri Kinton (World)", 0 )
25782597GAME( 1988, kurikintu, kurikint, kurikint,  kurikintj, driver_device, 0,         ROT0,   "Taito America Corporation", "Kuri Kinton (US)", 0 )
25792598GAME( 1988, kurikintj, kurikint, kurikint,  kurikintj, driver_device, 0,         ROT0,   "Taito Corporation", "Kuri Kinton (Japan)", 0 )
2580GAME( 1988, kurikinta, kurikint, kurikint,  kurikinta, driver_device, 0,         ROT0,   "Taito Corporation Japan", "Kuri Kinton (World, prototype?)", 0 )
2581
2599GAME( 1988, kurikinta, kurikint, kurikinta, kurikinta, driver_device, 0,         ROT0,   "Taito Corporation Japan", "Kuri Kinton (World, prototype?)", 0 )
25822600GAME( 1989, plotting,  0,        plotting,  plotting,  driver_device, 0,         ROT0,   "Taito Corporation Japan", "Plotting (World set 1)", 0 )
25832601GAME( 1989, plottinga, plotting, plotting,  plotting,  taitol_state,  plottinga, ROT0,   "Taito Corporation Japan", "Plotting (World set 2, protected)", 0 )
25842602GAME( 1989, plottingb, plotting, plotting,  plotting,  driver_device, 0,         ROT0,   "Taito Corporation Japan", "Plotting (World set 3, earliest version)", 0 )
25852603GAME( 1989, plottingu, plotting, plotting,  plotting,  driver_device, 0,         ROT0,   "Taito America Corporation", "Plotting (US)", 0 )
25862604GAME( 1989, flipull,   plotting, plotting,  plotting,  driver_device, 0,         ROT0,   "Taito Corporation", "Flipull (Japan)", 0 )
2587
25882605GAME( 1989, puzznic,   0,        puzznic,   puzznic,   driver_device, 0,         ROT0,   "Taito Corporation Japan", "Puzznic (World)", 0 )
25892606GAME( 1989, puzznicj,  puzznic,  puzznic,   puzznic,   driver_device, 0,         ROT0,   "Taito Corporation", "Puzznic (Japan)", 0 )
25902607GAME( 1989, puzznici,  puzznic,  puzznici,  puzznic,   driver_device, 0,         ROT0,   "bootleg", "Puzznic (Italian bootleg)", 0 )
2591
25922608GAME( 1990, horshoes,  0,        horshoes,  horshoes,  driver_device, 0,         ROT270, "Taito America Corporation", "American Horseshoes (US)", 0 )
2593
25942609GAME( 1990, palamed,   0,        palamed,   palamed,   driver_device, 0,         ROT0,   "Taito Corporation", "Palamedes (Japan)", 0 )
2595
25962610GAME( 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
25972612
2598GAME( 1993, tubeit,    cachat,   cachat,    tubeit,    driver_device, 0,         ROT0,   "bootleg", "Tube-It", 0 ) // No (c) message
2599
26002613GAME( 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
26022614GAME( 1992, plgirls,   0,        cachat,    plgirls,   driver_device, 0,         ROT270, "Hot-B", "Play Girls", 0 )
26032615GAME( 1992, lagirl,    plgirls,  cachat,    plgirls,   driver_device, 0,         ROT270, "bootleg", "LA Girl", 0 ) // bootleg hardware with changed title & backgrounds
2604
26052616GAME( 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)
26072617
2608GAME( 1990, evilston,  0,        evilston,  evilston,  driver_device, 0,         ROT270, "Spacy Industrial, Ltd.", "Evil Stone", GAME_IMPERFECT_SOUND ) // not Taito PCB, just uses TC0090LVC
2618GAME( 1990, evilston,  0,        evilston,  evilston,  driver_device, 0,         ROT270, "Spacy Industrial, Ltd.", "Evil Stone", GAME_IMPERFECT_SOUND )
trunk/src/mame/drivers/undrfire.c
r241848r241849
77
88    Board Info (Underfire):
99
10        TC0470LIN : object line buffer?
10        TC0470LIN : ?
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 : object related???
15        TC0620SCC : tilemap chip (6bpp version of TC0100SCN)
14        TC0590PIV : Piv tilemaps
15        TC0620SCC : lightgun ??? pivot port ???
1616        TC0650FDA : palette ? (Slapshot and F3 games also have one)
1717
1818    M43E0278A
r241848r241849
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 TC0620SCC tilemap chip which is a 6bpp version of the
50    TC0100SCN (check the inits).
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?
5152
5253
5354    Game misbehaviours
r241848r241849
451452   AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
452453   AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)        /* tilemaps */
453454   AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
454   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)        /* 6bpp tilemaps */
455   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)        /* piv tilemaps */
455456   AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
456457   AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
457458   AM_RANGE(0xb00000, 0xb003ff) AM_RAM                         /* single bytes, blending ??? */
r241848r241849
470471   AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
471472   AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)        /* tilemaps */
472473   AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
473   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)        /* 6bpp tilemaps */
474   AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w)        /* piv tilemaps */
474475   AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
475476   AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
476477   AM_RANGE(0xb00000, 0xb0000f) AM_RAM /* ? */
r241848r241849
638639   128*8     /* every sprite takes 128 consecutive bytes */
639640};
640641
641static const gfx_layout scclayout =
642static const gfx_layout pivlayout =
642643{
643644   8,8,    /* 8*8 characters */
644645   RGN_FRAC(1,2),
r241848r241849
652653static GFXDECODE_START( undrfire )
653654   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 512 )
654655   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0, 512 )
655   GFXDECODE_ENTRY( "gfx3", 0x0, scclayout,         0, 512 )
656   GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout,         0, 512 )
656657GFXDECODE_END
657658
658659static GFXDECODE_START( cbombers )
659660   GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 512 )
660661   GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,        0x1000, 512 )
661   GFXDECODE_ENTRY( "gfx3", 0x0, scclayout,         0, 512 )
662   GFXDECODE_ENTRY( "gfx3", 0x0, pivlayout,         0, 512 )
662663GFXDECODE_END
663664
664665/***********************************************************
r241848r241849
753754   MCFG_TC0480SCP_TX_REGION(4)
754755   MCFG_TC0480SCP_OFFSETS(0x24, 0)
755756   MCFG_TC0480SCP_OFFSETS_TX(-1, 0)
756   MCFG_TC0480SCP_COL_BASE(4096)
757757   MCFG_TC0480SCP_GFXDECODE("gfxdecode")
758758   MCFG_TC0480SCP_PALETTE("palette")
759759
r241848r241849
10981098   int size=memregion("gfx3")->bytes();
10991099   int data;
11001100
1101   /* make SCC tile GFX format suitable for gfxdecode */
1101   /* make piv tile GFX format suitable for gfxdecode */
11021102   offset = size/2;
11031103   for (i = size/2+size/4; i<size; i++)
11041104   {
r241848r241849
11281128   int data;
11291129
11301130
1131   /* make SCC tile GFX format suitable for gfxdecode */
1131   /* make piv tile GFX format suitable for gfxdecode */
11321132   offset = size/2;
11331133   for (i = size/2+size/4; i<size; i++)
11341134   {
r241848r241849
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, 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 )
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 )
trunk/src/mame/includes/gunbustr.h
r241848r241849
2727      m_spriteram(*this,"spriteram"),
2828      m_eeprom(*this, "eeprom"),
2929      m_gfxdecode(*this, "gfxdecode"),
30      m_palette(*this, "palette")
30      m_palette(*this, "palette"),
31      m_generic_paletteram_32(*this, "paletteram")
3132   {
3233      m_coin_lockout = true;
3334   }
r241848r241849
3940   required_device<eeprom_serial_93cxx_device> m_eeprom;
4041   required_device<gfxdecode_device> m_gfxdecode;
4142   required_device<palette_device> m_palette;
43   required_shared_ptr<UINT32> m_generic_paletteram_32;
4244
4345   bool m_coin_lockout;
4446   UINT16 m_coin_word;
4547   struct tempsprite *m_spritelist;
4648   UINT32 m_mem[2];
4749
50   DECLARE_WRITE32_MEMBER(gunbustr_palette_w);
4851   DECLARE_WRITE32_MEMBER(gunbustr_input_w);
4952   DECLARE_WRITE32_MEMBER(motor_control_w);
5053   DECLARE_READ32_MEMBER(gunbustr_gun_r);
trunk/src/mame/mame.lst
r241848r241849
710710nextfase        // bootleg
711711phoenixs        // bootleg (Sonic)
712712avefenix        // bootleg (Video Game)
713avefenixrf      // bootleg (Recreativos Franco)
714713pleiads         // (c) 1981 Tehkan
715714pleiadsb2       // bootleg
716715pleiadbl        // bootleg
r241848r241849
22782277cubybop         // ??? no copyright message
22792278plgirls         // (c) 1992 Hot-B.
22802279plgirls2        // (c) 1993 Hot-B.
2281plgirls2b      //
22822280lagirl          // plgirls bootleg?
22832281
22842282// Taito H-System games
r241848r241849
52585256aladmdb         // MegaDrive-based hack
52595257mk3mdb          // MegaDrive-based hack
52605258srmdb           // MegaDrive-based hack
5261sonic2mb      // MegaDrive-based hack
52625259
52635260// Sega Naomi-based (Dreamcast) systems
52645261naomi           // 1998.?? Naomi BIOS
r241848r241849
1099910996pepp0014a       // (c) 1987 IGT - International Game Technology
1100010997pepp0023        // (c) 1987 IGT - International Game Technology
1100110998pepp0040        // (c) 1987 IGT - International Game Technology
11002pepp0040a       // (c) 1987 IGT - International Game Technology
1100310999pepp0041        // (c) 1987 IGT - International Game Technology
1100411000pepp0042        // (c) 1987 IGT - International Game Technology
1100511001pepp0043        // (c) 1987 IGT - International Game Technology
trunk/src/mame/video/groundfx.c
r241848r241849
197197{
198198   address_space &space = machine().driver_data()->generic_space();
199199   UINT8 layer[5];
200   UINT8 scclayer[3];
200   UINT8 pivlayer[3];
201201   UINT16 priority;
202202
203203   m_tc0100scn->tilemap_update();
r241848r241849
211211   layer[3] = (priority & 0x000f) >>  0;   /* tells us which is top */
212212   layer[4] = 4;   /* text layer always over bg layers */
213213
214   scclayer[0] = m_tc0100scn->bottomlayer();
215   scclayer[1] = scclayer[0]^1;
216   scclayer[2] = 2;
214   pivlayer[0] = m_tc0100scn->bottomlayer();
215   pivlayer[1] = pivlayer[0]^1;
216   pivlayer[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, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
222   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
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);
223223
224224   /*  BIG HACK!
225225
r241848r241849
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, scclayer[2], 0, 0);
247      //m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, 0, pivlayer[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);
r241848r241849
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, scclayer[2], 0, 0);
260      m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0);
261261
262262      draw_sprites(screen, bitmap, cliprect, 0, 44, -574);
263263   }
trunk/src/mame/video/undrfire.c
r241848r241849
347347{
348348   address_space &space = machine().driver_data()->generic_space();
349349   UINT8 layer[5];
350   UINT8 scclayer[3];
350   UINT8 pivlayer[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("scc text: %01x",m_dislayer[5]);
357      popmessage("piv text: %01x",m_dislayer[5]);
358358   }
359359   if (machine().input().code_pressed_once (KEYCODE_C))
360360   {
r241848r241849
398398   layer[3] = (priority & 0x000f) >>  0;   /* tells us which is top */
399399   layer[4] = 4;   /* text layer always over bg layers */
400400
401   scclayer[0] = m_tc0100scn->bottomlayer();
402   scclayer[1] = scclayer[0] ^ 1;
403   scclayer[2] = 2;
401   pivlayer[0] = m_tc0100scn->bottomlayer();
402   pivlayer[1] = pivlayer[0] ^ 1;
403   pivlayer[2] = 2;
404404
405405   screen.priority().fill(0, cliprect);
406406   bitmap.fill(0, cliprect);   /* wrong color? */
407407
408408
409/* The "SCC" chip seems to be a 6bpp TC0100SCN. It has a
409/* The "PIV" chip seems to be a renamed 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, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
416   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
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);
417417
418418#ifdef MAME_DEBUG
419419   if (m_dislayer[layer[0]]==0)
r241848r241849
455455#ifdef MAME_DEBUG
456456   if (m_dislayer[5]==0)
457457#endif
458   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[2], 0, 0); /* TC0620SCC text layer */
458   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
459459
460460   m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[4], 0, 0);    /* TC0480SCP text layer */
461461
r241848r241849
488488{
489489   address_space &space = machine().driver_data()->generic_space();
490490   UINT8 layer[5];
491   UINT8 scclayer[3];
491   UINT8 pivlayer[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("scc text: %01x",m_dislayer[5]);
498      popmessage("piv text: %01x",m_dislayer[5]);
499499   }
500500   if (machine().input().code_pressed_once (KEYCODE_C))
501501   {
r241848r241849
539539   layer[3] = (priority & 0x000f) >>  0;   /* tells us which is top */
540540   layer[4] = 4;   /* text layer always over bg layers */
541541
542   scclayer[0] = m_tc0100scn->bottomlayer();
543   scclayer[1] = scclayer[0] ^ 1;
544   scclayer[2] = 2;
542   pivlayer[0] = m_tc0100scn->bottomlayer();
543   pivlayer[1] = pivlayer[0] ^ 1;
544   pivlayer[2] = 2;
545545
546546   screen.priority().fill(0, cliprect);
547547   bitmap.fill(0, cliprect);   /* wrong color? */
548548
549549
550/* The "SCC" chip seems to be a 6bpp TC0100SCN. It has a
550/* The "PIV" chip seems to be a renamed 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, scclayer[0], TILEMAP_DRAW_OPAQUE, 0);
557   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[1], 0, 0);
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);
558558
559559#ifdef MAME_DEBUG
560560   if (m_dislayer[layer[0]]==0)
r241848r241849
596596#ifdef MAME_DEBUG
597597   if (m_dislayer[5]==0)
598598#endif
599   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, scclayer[2], 0, 0); /* TC0620SCC text layer */
599   m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
600600
601601   m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[4], 0, 0);    /* TC0480SCP text layer */
602602
trunk/src/mess/drivers/at.c
r241848r241849
469469   MCFG_CPU_CLOCK(XTAL_16MHz/2)
470470MACHINE_CONFIG_END
471471
472static MACHINE_CONFIG_DERIVED( ec1842, ibm5170 )
473   MCFG_CPU_MODIFY("maincpu")
474   MCFG_CPU_CLOCK(12000000)
475MACHINE_CONFIG_END
476
472477static MACHINE_CONFIG_DERIVED( ec1849, ibm5170 )
473478   MCFG_CPU_MODIFY("maincpu")
474479   MCFG_CPU_CLOCK(12000000)
r241848r241849
959964   ROM_LOAD("55x8041.82s147an.u72", 0x0020, 0x0200, CRC(F2CC4FE6) SHA1(E285468516BD05083155A8A272583DEEF655315A)) /* S N82S147AN 8709 // V-C55X8041 */
960965ROM_END
961966
967ROM_START( ec1842 )
968   ROM_REGION16_LE(0x100000,"maincpu", 0)
969   ROM_LOAD16_BYTE( "4202004.bin", 0xfc001, 0x2000, CRC(33fb5382) SHA1(35eb62328324d93e7a06f2f9d1ad0002f83fc99b))
970   ROM_LOAD16_BYTE( "4202005.bin", 0xfc000, 0x2000, CRC(8e05c119) SHA1(9d81613b4fc305c14ae9fda0b1dd97a290715530))
971   ROM_LOAD16_BYTE( "4202006.bin", 0xf8001, 0x2000, CRC(6da537ef) SHA1(f79feb433dcf41f5cdef52b845e3550d5f0fb5c0))
972   ROM_LOAD16_BYTE( "4202007.bin", 0xf8000, 0x2000, CRC(d6ee0e95) SHA1(6fd4c42190e879501198fede70ae43bc420681d0))
973   // EGA ROM
974   ROM_LOAD16_BYTE( "4200009.bin", 0xc0000, 0x2000, CRC(9deeb39f) SHA1(255b859d3ea05891aa65a4a742ecaba744dfc923))
975   ROM_LOAD16_BYTE( "4200010.bin", 0xc0001, 0x2000, CRC(f2c38d93) SHA1(dcb3741d06089bf1a80cb766a6b94029ad698d73))
976ROM_END
977
962978ROM_START( ec1849 )
963979   ROM_REGION16_LE(0x1000000,"maincpu", 0)
964980   ROM_LOAD16_BYTE( "cpu-card_27c256_015.rom", 0xf0000, 0x8000, CRC(68eadf0a) SHA1(903a7f1c3ebc6b27c31b512b2908c483608b5c13))
r241848r241849
16301646COMP ( 1990, at586,    ibm5170, 0,       at586,     atvga, at586_state,   at586,  "<generic>",  "PC/AT 586 (PIIX4)", GAME_NOT_WORKING )
16311647COMP ( 1990, at586x3,  ibm5170, 0,       at586x3,   atvga, at586_state,   at586,  "<generic>",  "PC/AT 586 (PIIX3)", GAME_NOT_WORKING )
16321648COMP ( 1989, neat,     ibm5170, 0,       neat,      atvga, at_state,      atvga,  "<generic>",  "NEAT (VGA, MF2 Keyboard)", GAME_NOT_WORKING )
1649COMP ( 1989, ec1842,   ibm5150, 0,       ec1842,    atcga, at_state,      atcga,  "<unknown>",  "EC-1842", GAME_NOT_WORKING )
16331650COMP ( 1993, ec1849,   ibm5170, 0,       ec1849,    atcga, at_state,      atcga,  "<unknown>",  "EC-1849", GAME_NOT_WORKING )
16341651COMP ( 1993, megapc,   0,       0,       megapc,    0,     megapc_state,megapc,   "Amstrad plc", "MegaPC", GAME_NOT_WORKING )
16351652COMP ( 199?, megapcpl, megapc,  0,       megapcpl,  0,     megapc_state,megapcpl, "Amstrad plc", "MegaPC Plus", GAME_NOT_WORKING )
trunk/src/mess/drivers/comp4.c
r241848r241849
1515
1616  TODO:
1717  - write_r doesn't look right, maybe something missing in cpu emulation
18  - correct output_pla
1819  - layout
1920
2021***************************************************************************/
r241848r241849
5859READ8_MEMBER(comp4_state::read_k)
5960{
6061   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();
6662   
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   
6770   return k;
6871}
6972
7073WRITE16_MEMBER(comp4_state::write_r)
7174{
72   // R..: LEDs
75   // LEDs
7376   m_r = data;
7477}
7578
7679WRITE16_MEMBER(comp4_state::write_o)
7780{
78   // O0?: LEDs (common)
81   // O0: LEDs (common)
7982   // O1-O3: input mux
8083   // other bits: N/C
8184   m_o = data;
r241848r241849
9194
9295static INPUT_PORTS_START( comp4 )
9396   PORT_START("IN.0")
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")
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")
98101
99102   PORT_START("IN.1")
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")
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")
104107
105108   PORT_START("IN.2")
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")
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")
110113INPUT_PORTS_END
111114
112115
r241848r241849
129132
130133static const UINT16 comp4_output_pla[0x20] =
131134{
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
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
137140};
138141
139142
trunk/src/mess/drivers/merlin.c
r241848r241849
144144
145145static INPUT_PORTS_START( merlin )
146146   PORT_START("O.0")
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")
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")
151151
152152   PORT_START("O.1")
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")
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")
157157
158158   PORT_START("O.2")
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")
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")
163163
164164   PORT_START("O.3")
165165   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED)
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")
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")
169169INPUT_PORTS_END
170170
171171
trunk/src/mess/drivers/pc.c
r241848r241849
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
425432ROM_START( olypeopl )
426433   ROM_REGION(0x100000,"maincpu", 0)
427434   ROM_LOAD16_BYTE( "uo1271c0.bin", 0xfe000, 0x1000, CRC(c9187bce) SHA1(464e1f96046657b49afa4223ede1040650643d58))
r241848r241849
509516
510517COMP( 1985, pc7000,     ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Sharp", "PC-7000", GAME_NOT_WORKING)
511518
519COMP( 198?, pcd,        ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Siemens", "PC-D", GAME_NOT_WORKING)
512520COMP( 198?, olypeopl,   ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Olympia", "People PC", GAME_NOT_WORKING)
513521COMP( 1988, sx16,       ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Sanyo", "SX-16", GAME_NOT_WORKING)
514522COMP( 198?, mbc16,      ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Sanyo", "MBC-16" , GAME_NOT_WORKING)
trunk/src/mess/drivers/pcd.c
r241848r241849
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
r241848r241849
33/***************************************************************************
44
55  Texas Instruments WIZ-A-TRON
6  * TMC0907NL DP0907BS (die labeled 0970F-07B)
6  * TMC0907NL ZA0379 (die labeled 0970F-07B)
77
88  Other handhelds assumed to be on similar hardware:
99  - Math Magic
r241848r241849
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"),
31      m_button_matrix(*this, "IN")
30      m_maincpu(*this, "maincpu")
3231   { }
3332
3433   required_device<cpu_device> m_maincpu;
35   required_ioport_array<4> m_button_matrix;
3634
3735   UINT16 m_r;
3836   UINT16 m_o;
r241848r241849
5452READ8_MEMBER(wizatron_state::read_k)
5553{
5654   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();
6255   
6356   return k;
6457}
6558
6659WRITE16_MEMBER(wizatron_state::write_r)
6760{
68   // R..: select digit
6961   m_r = data;
7062}
7163
7264WRITE16_MEMBER(wizatron_state::write_o)
7365{
74   // O0-O6: digit segments A-G
75   // O1-O4: input mux
7666   m_o = data;
7767}
7868
r241848r241849
8575***************************************************************************/
8676
8777static 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 )
11178INPUT_PORTS_END
11279
11380
r241848r241849
13097
13198static const UINT16 wizatron_output_pla[0x20] =
13299{
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
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
138105};
139106
140107
r241848r241849
161128***************************************************************************/
162129
163130ROM_START( wizatron )
164   ROM_REGION( 0x0400, "maincpu", 0 )
165   ROM_LOAD( "dp0907bs", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) )
131   ROM_REGION( 0x0400, "maincpu", ROMREGION_ERASE00 )
132   ROM_LOAD( "za0379", 0x0000, 0x0400, CRC(5a6af094) SHA1(b1f27e1f13f4db3b052dd50fb08dbf9c4d8db26e) )
166133ROM_END
167134
168135
trunk/src/mess/mess.lst
r241848r241849
814814asst128
815815ec1840
816816ec1841
817ec1842
817818ec1845
818819ec1847
819820iskr1030m
trunk/src/mess/mess.mak
r241848r241849
783783   $(MESSOBJ)/sega.a \
784784   $(MESSOBJ)/sgi.a \
785785   $(MESSOBJ)/sharp.a \
786   $(MESSOBJ)/siemens.a \
787786   $(MESSOBJ)/sinclair.a \
788787   $(MESSOBJ)/skeleton.a \
789788   $(MESSOBJ)/snk.a \
r241848r241849
16231622   $(MESS_VIDEO)/zx8301.o      \
16241623   $(MESS_MACHINE)/zx8302.o    \
16251624
1626$(MESSOBJ)/siemens.a:           \
1627   $(MESS_DRIVERS)/pcd.o       \
1628
16291625$(MESSOBJ)/snk.a:               \
16301626   $(MESS_DRIVERS)/ng_aes.o    \
16311627   $(MESS_DRIVERS)/ngp.o $(MESS_VIDEO)/k1ge.o \


Previous 199869 Revisions Next


© 1997-2024 The MAME Team