Previous 199869 Revisions Next

r18128 Tuesday 25th September, 2012 at 02:34:43 UTC by hap
unclepoo moved from poo.c to jack.c
[src/mame]mame.lst mame.mak
[src/mame/drivers]jack.c poo.c

trunk/src/mame/mame.mak
r18127r18128
18571857   $(DRIVERS)/policetr.o $(VIDEO)/policetr.o \
18581858   $(DRIVERS)/polyplay.o $(AUDIO)/polyplay.o $(VIDEO)/polyplay.o \
18591859   $(DRIVERS)/poker72.o \
1860   $(DRIVERS)/poo.o \
18611860   $(DRIVERS)/potgoldu.o \
18621861   $(DRIVERS)/proconn.o \
18631862   $(DRIVERS)/psattack.o \
trunk/src/mame/drivers/poo.c
r18127r18128
1/*******************************************************************************************
2
3Uncle Poo (c) 1983 Diatec
4
5actually an hack of Joinem? Or there's something even more similar?
6
7driver by David Haywood and Angelo Salese
8
9TODO:
10-merge with jack.c driver, this is a modification of that HW (with colscroll)
11-accurate game speed (controlled by an irq)
12-a bunch of unmapped read / writes
13-writes to ROM regions
14
15*******************************************************************************************/
16
17/* Stephh's Notes:
18
19'unclepoo'
20
21SYSTEM bit 7 is sort of "freeze", but it doesn't seem to have any effect when playing
22(only during boot up sequence - unsure about attract mode)
23
24DSW1 bit 5 is "Bonus Lives" :
25  - when Off (0x00), you get an extra life EVERY 30000 points
26  - When On  (0x20), you get an extra life at 30000 points ONLY
27
28DSW1 bits 6 and 7 might be used for difficulty (to be confirmed)
29
30DSW2 bit 0 is the "Cabinet" Dip Switch :
31  - when Off (0x00), cabinet is cocktail
32  - When On  (0x01), cabinet is upright
33This affects write to 0xb700 (bit 7) and reads from 0xb506 and 0xb507 ...
34BTW, remove PORT_PLAYER(1) and change PORT_PLAYER(2) to PORT_COCKTAIL ...
35
36DSW2 bit 7 overwrites the number of lives :
37  - When Off (0x00), lives are based on DSW1 bit 4
38  - When On  (0x80), lives are set to 255 (0xff) but they are NOT infinite
39
40Other bits from DSW2 (but bit 5) don't seem to be read / tested at all ...
41*/
42
43
44#include "emu.h"
45#include "cpu/z80/z80.h"
46#include "sound/ay8910.h"
47
48
49class poo_state : public driver_device
50{
51public:
52   poo_state(const machine_config &mconfig, device_type type, const char *tag)
53      : driver_device(mconfig, type, tag),
54      m_maincpu(*this, "maincpu"),
55      m_subcpu(*this, "subcpu"),
56      m_sprites(*this, "sprites"),
57      m_scrolly(*this, "scrolly"),
58      m_vram(*this, "vram")
59   { }
60
61   required_device<cpu_device> m_maincpu;
62   required_device<cpu_device> m_subcpu;
63   required_shared_ptr<UINT8> m_sprites;
64   required_shared_ptr<UINT8> m_scrolly;
65   required_shared_ptr<UINT8> m_vram;
66
67   UINT8 m_vram_colbank;
68
69   DECLARE_WRITE8_MEMBER(sound_cmd_w);
70   DECLARE_WRITE8_MEMBER(poo_vregs_w);
71   DECLARE_READ8_MEMBER(timer_r);
72   virtual void video_start();
73   virtual void palette_init();
74   UINT32 screen_update_unclepoo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
75};
76
77
78/******************************************************************************************/
79
80void poo_state::palette_init()
81{
82   const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
83   int i,r,g,b,val;
84   int bit0,bit1,bit2;
85
86   for (i = 0; i < 0x100; i++)
87   {
88      val = (color_prom[i+0x100]) | (color_prom[i+0x000]<<4);
89
90      bit0 = 0;
91      bit1 = (val >> 6) & 0x01;
92      bit2 = (val >> 7) & 0x01;
93      b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
94      bit0 = (val >> 3) & 0x01;
95      bit1 = (val >> 4) & 0x01;
96      bit2 = (val >> 5) & 0x01;
97      g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
98      bit0 = (val >> 0) & 0x01;
99      bit1 = (val >> 1) & 0x01;
100      bit2 = (val >> 2) & 0x01;
101      r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
102
103      palette_set_color(machine(), i, MAKE_RGB(r, g, b));
104   }
105}
106
107void poo_state::video_start()
108{
109}
110
111UINT32 poo_state::screen_update_unclepoo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
112{
113   int y,x;
114   int count;
115   gfx_element *gfx = machine().gfx[0];
116
117   count = 0;
118
119   for (x=0;x<32;x++)
120   {
121      for (y=0;y<32;y++)
122      {
123         int tile = m_vram[count+0x000] | ((m_vram[count+0x400] & 3) <<8);
124         int color = (m_vram[count+0x400] & 0x38) >> 3;
125         int scrolly = (m_scrolly[x*4]);
126
127         drawgfx_opaque(bitmap,cliprect,gfx,tile,color+m_vram_colbank,0,0,x*8,256-(y*8)+scrolly);
128         drawgfx_opaque(bitmap,cliprect,gfx,tile,color+m_vram_colbank,0,0,x*8,0-(y*8)+scrolly);
129
130         count++;
131      }
132   }
133
134   {
135      int spr_offs,x,y,col,fx,fy,i;
136
137      for(i=0;i<0x80;i+=4)
138      {
139         spr_offs = m_sprites[i+2] | (m_sprites[i+3] & 3) << 8;
140         y = m_sprites[i+0]+8;
141         x = m_sprites[i+1];
142         col = (m_sprites[i+3] & 0xf8) >> 3;
143         fx = 0;
144         fy = 0;
145
146         drawgfx_transpen(bitmap,cliprect,gfx,spr_offs,col,fx,fy,x,y,0);
147      }
148   }
149
150   return 0;
151}
152
153
154/******************************************************************************************/
155
156WRITE8_MEMBER(poo_state::sound_cmd_w)
157{
158   soundlatch_byte_w(space, 0, data);
159   m_subcpu->set_input_line(0, HOLD_LINE);
160}
161
162WRITE8_MEMBER(poo_state::poo_vregs_w)
163{
164   // bit 2 used, unknown purpose
165   m_vram_colbank = data & 0x18;
166}
167
168static ADDRESS_MAP_START( unclepoo_main_map, AS_PROGRAM, 8, poo_state )
169   AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
170   AM_RANGE(0x8000, 0x8fff) AM_RAM
171   AM_RANGE(0x9000, 0x97ff) AM_RAM
172   AM_RANGE(0x9800, 0x9801) AM_NOP // ?
173
174   AM_RANGE(0xb000, 0xb07f) AM_RAM AM_SHARE("sprites")
175   AM_RANGE(0xb080, 0xb0ff) AM_RAM AM_SHARE("scrolly")
176
177   AM_RANGE(0xb400, 0xb400) AM_WRITE(sound_cmd_w)
178
179   AM_RANGE(0xb500, 0xb500) AM_READ_PORT("DSW1")
180   AM_RANGE(0xb501, 0xb501) AM_READ_PORT("DSW2")
181   AM_RANGE(0xb502, 0xb502) AM_READ_PORT("P1")
182   AM_RANGE(0xb503, 0xb503) AM_READ_PORT("P2")
183   AM_RANGE(0xb504, 0xb504) AM_READ_PORT("SYSTEM")
184
185   AM_RANGE(0xb700, 0xb700) AM_WRITE(poo_vregs_w)
186
187   AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("vram")
188ADDRESS_MAP_END
189
190static ADDRESS_MAP_START( unclepoo_main_portmap, AS_IO, 8, poo_state )
191   ADDRESS_MAP_GLOBAL_MASK(0xff)
192ADDRESS_MAP_END
193
194
195static ADDRESS_MAP_START( unclepoo_sub_map, AS_PROGRAM, 8, poo_state )
196   AM_RANGE(0x0000, 0x0fff) AM_ROM
197   AM_RANGE(0x4000, 0x43ff) AM_RAM
198   AM_RANGE(0x6000, 0x6000) AM_WRITENOP  /* R/C filter ??? */
199ADDRESS_MAP_END
200
201static ADDRESS_MAP_START( unclepoo_sub_portmap, AS_IO, 8, poo_state )
202   ADDRESS_MAP_GLOBAL_MASK(0xff)
203   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE_LEGACY("ay", ay8910_r, ay8910_data_w)
204   AM_RANGE(0x80, 0x80) AM_DEVWRITE_LEGACY("ay", ay8910_address_w)
205ADDRESS_MAP_END
206
207
208/******************************************************************************************/
209
210static INPUT_PORTS_START( unclepoo )
211   PORT_START("P1")
212   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
213   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
214   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
215   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
216   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)
217   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)
218   PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
219
220   PORT_START("P2")
221   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
222   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
223   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
224   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
225   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
226   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
227   PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
228
229   PORT_START("SYSTEM")
230   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
231   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
232   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
233   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
234   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
235
236   PORT_START("DSW1")
237   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) )      PORT_DIPLOCATION("SW1:!1,!2")
238   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
239   PORT_DIPSETTING(    0x03, DEF_STR( 4C_3C ) )
240   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
241   PORT_DIPSETTING(    0x02, DEF_STR( 1C_3C ) )
242   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) )      PORT_DIPLOCATION("SW1:!3,!4")
243   PORT_DIPSETTING(    0x08, DEF_STR( 3C_1C ) )
244   PORT_DIPSETTING(    0x04, DEF_STR( 2C_1C ) )
245   PORT_DIPSETTING(    0x0c, DEF_STR( 4C_3C ) )
246   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
247   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Lives ) )      PORT_DIPLOCATION("SW1:!5")
248   PORT_DIPSETTING(    0x00, "3" )
249   PORT_DIPSETTING(    0x10, "5" )
250   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("SW1:!6")
251   PORT_DIPSETTING(    0x00, "Every 30000" )
252   PORT_DIPSETTING(    0x20, "30000 Only" )
253   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:!7")
254   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
255   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
256   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:!8")
257   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
258   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
259
260   PORT_START("DSW2")
261   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )      PORT_DIPLOCATION("SW2:!1")
262   PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
263   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
264   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW2:!2")
265   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
266   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
267   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW2:!3")
268   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
269   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
270   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW2:!4")
271   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
272   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
273   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW2:!5")
274   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
275   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
276   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW2:!6") // ??? Locks up at boot if set to ON
277   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
278   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
279   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW2:!7")
280   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
281   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
282   PORT_DIPNAME( 0x80, 0x00, "255 Lives (Cheat)" )      PORT_DIPLOCATION("SW2:!8")
283   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
284   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
285INPUT_PORTS_END
286
287
288/******************************************************************************************/
289
290static const gfx_layout tiles8x8_layout =
291{
292   8,8,
293   RGN_FRAC(1,3),
294   3,
295   { RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
296   { 0, 1,2,3,4,5,6,7 },
297   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
298   8*8
299};
300
301static GFXDECODE_START( unclepoo )
302   GFXDECODE_ENTRY( "gfx", 0, tiles8x8_layout, 0, 0x20 )
303GFXDECODE_END
304
305
306READ8_MEMBER(poo_state::timer_r)
307{
308   return m_subcpu->total_cycles() / 16;
309}
310
311static const ay8910_interface ay8910_config =
312{
313   AY8910_LEGACY_OUTPUT,
314   AY8910_DEFAULT_LOADS,
315   DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
316   DEVCB_DRIVER_MEMBER(poo_state, timer_r),
317   DEVCB_NULL,
318   DEVCB_NULL
319};
320
321static MACHINE_CONFIG_START( unclepoo, poo_state )
322
323   /* basic machine hardware */
324   MCFG_CPU_ADD("maincpu", Z80,18000000/6)       /* ? MHz */
325   MCFG_CPU_PROGRAM_MAP(unclepoo_main_map)
326   MCFG_CPU_IO_MAP(unclepoo_main_portmap)
327   MCFG_CPU_VBLANK_INT_DRIVER("screen", poo_state, nmi_line_pulse)
328   MCFG_CPU_PERIODIC_INT_DRIVER(poo_state, irq0_line_hold, 256) // ??? controls game speed
329
330   MCFG_CPU_ADD("subcpu", Z80,18000000/12)       /* ? MHz */
331   MCFG_CPU_PROGRAM_MAP(unclepoo_sub_map)
332   MCFG_CPU_IO_MAP(unclepoo_sub_portmap)
333//   MCFG_CPU_VBLANK_INT_DRIVER("screen", poo_state, irq0_line_hold)
334
335   /* video hardware */
336   MCFG_SCREEN_ADD("screen", RASTER)
337   MCFG_SCREEN_REFRESH_RATE(60)
338   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
339   MCFG_SCREEN_SIZE(256, 256)
340   MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-1)
341   MCFG_SCREEN_UPDATE_DRIVER(poo_state, screen_update_unclepoo)
342
343   MCFG_GFXDECODE(unclepoo)
344   MCFG_PALETTE_LENGTH(0x100)
345
346   /* sound hardware */
347   MCFG_SPEAKER_STANDARD_MONO("mono")
348   MCFG_SOUND_ADD("ay", AY8910, 18000000/12) /* ? Mhz */
349   MCFG_SOUND_CONFIG(ay8910_config)
350   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
351MACHINE_CONFIG_END
352
353
354/******************************************************************************************/
355
356ROM_START( unclepoo )
357   ROM_REGION( 0x8000, "maincpu", 0 )
358   ROM_LOAD( "01.f17", 0x00000, 0x2000, CRC(92fb238c) SHA1(e9476c5c1a0bf9e8c6c364ac022ed1d97ae66d2e) )
359   ROM_LOAD( "02.f14", 0x02000, 0x2000, CRC(b99214ef) SHA1(c8e4af0efbc5ea543277b2764dc6f119aae477ca) )
360   ROM_LOAD( "03.f11", 0x04000, 0x2000, CRC(a136af97) SHA1(cfa610bf357870053617fed8aef6bb30bd996422) )
361   ROM_LOAD( "04.f09", 0x06000, 0x2000, CRC(c4bcd414) SHA1(df3125358530f5fb8d202bddcb0ef5e322fabb7b) )
362
363   ROM_REGION( 0x1000, "subcpu", 0 )
364   ROM_LOAD( "08.c15", 0x00000, 0x1000, CRC(fd84106b) SHA1(891853d2b39850a981016108b74ca20337d2cdd8) )
365
366   ROM_REGION( 0x6000, "gfx", 0 )
367   ROM_LOAD( "05.k04", 0x0000, 0x2000, CRC(64026934) SHA1(a5342335d02d34fa6ba2b29484ed71ecc96292f2) )
368   ROM_LOAD( "06.j04", 0x2000, 0x2000, CRC(94b5f676) SHA1(32c27854726636c4ce03bb6a83b32d04ed6c42af) )
369   ROM_LOAD( "07.h04", 0x4000, 0x2000, CRC(e2f73e99) SHA1(61cb09ff424ba63b892b4822e7ed916af73412f1) )
370
371   ROM_REGION( 0x200, "proms", 0 )
372   ROM_LOAD( "diatec_h.bin", 0x000, 0x100, CRC(938601b1) SHA1(8213284989bebb5f7375878181840de8079dc1f3) )
373   ROM_LOAD( "diatec_l.bin", 0x100, 0x100, CRC(b04d466a) SHA1(1438abeae76ef807ba34bd6d3e4c44f707dbde6e) )
374ROM_END
375
376
377GAME( 1983, unclepoo, 0, unclepoo, unclepoo, driver_device, 0, ROT90, "Diatec", "Uncle Poo", GAME_NO_COCKTAIL )
trunk/src/mame/drivers/jack.c
r18127r18128
4747    twice per frame, this made the game run way too fast, but no palette bug.
4848  - what's the correct irq0 frequency of joinem/unclepoo/loverboy?
4949
50
51****************************************************************************
52
53Stephh's Notes:
54
55  'unclepoo'
56
57  SYSTEM bit 7 is sort of "freeze", but it doesn't seem to have any effect when playing
58  (only during boot up sequence - unsure about attract mode)
59
60  DSW1 bit 5 is "Bonus Lives" :
61    - when Off (0x00), you get an extra life EVERY 30000 points
62    - When On  (0x20), you get an extra life at 30000 points ONLY
63
64  DSW1 bits 6 and 7 might be used for difficulty (to be confirmed)
65
66  DSW2 bit 0 is the "Cabinet" Dip Switch :
67    - when Off (0x00), cabinet is cocktail
68    - When On  (0x01), cabinet is upright
69  This affects write to 0xb700 (bit 7) and reads from 0xb506 and 0xb507 ...
70
71  DSW2 bit 7 overwrites the number of lives :
72    - When Off (0x00), lives are based on DSW1 bit 4
73    - When On  (0x80), lives are set to 255 (0xff) but they are NOT infinite
74
75  Other bits from DSW2 (but bit 5) don't seem to be read / tested at all ...
76 
77
5078***************************************************************************/
5179
5280#include "emu.h"
r18127r18128
662690   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Lives ) )      PORT_DIPLOCATION("SW1:!5")
663691   PORT_DIPSETTING(    0x00, "2" )
664692   PORT_DIPSETTING(    0x10, "5" )
665   PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x00, "SW1:!6" )
693   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("SW1:!6")
694   PORT_DIPSETTING(    0x00, "Every 30000" )
695   PORT_DIPSETTING(    0x20, "30000 Only" )
666696   PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x00, "SW1:!7" )
667697   PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x00, "SW1:!8" )
668698
r18127r18128
676706   PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x00, "SW2:!5" )
677707   PORT_SERVICE_DIPLOC( 0x20, IP_ACTIVE_HIGH, "SW2:!6" )
678708   PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x00, "SW2:!7" )
679   PORT_DIPNAME( 0x80, 0x00, "Infinite Lives (Cheat)" )   PORT_DIPLOCATION("SW2:!8")
709   PORT_DIPNAME( 0x80, 0x00, "255 Lives (Cheat)" )      PORT_DIPLOCATION("SW2:!8")
680710   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
681711   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
682712
r18127r18128
13351365ROM_END
13361366
13371367
1338ROM_START( unclepoop )
1368ROM_START( unclepoo )
13391369   ROM_REGION( 0x10000, "maincpu", 0 ) /* main z80 cpu */
13401370   ROM_LOAD( "01.f17", 0x0000, 0x2000, CRC(92fb238c) SHA1(e9476c5c1a0bf9e8c6c364ac022ed1d97ae66d2e) )
13411371   ROM_LOAD( "02.f14", 0x2000, 0x2000, CRC(b99214ef) SHA1(c8e4af0efbc5ea543277b2764dc6f119aae477ca) )
r18127r18128
15081538 *
15091539 *************************************/
15101540
1511GAME( 1982, jack,      0,        jack,     jack,     jack_state, jack,     ROT90,  "Cinematronics",               "Jack the Giantkiller (set 1)", GAME_SUPPORTS_SAVE )
1512GAME( 1982, jack2,     jack,     jack,     jack2,    jack_state, jack,     ROT90,  "Cinematronics",               "Jack the Giantkiller (set 2)", GAME_SUPPORTS_SAVE )
1513GAME( 1982, jack3,     jack,     jack,     jack3,    jack_state, jack,     ROT90,  "Cinematronics",               "Jack the Giantkiller (set 3)", GAME_SUPPORTS_SAVE )
1514GAME( 1982, treahunt,  jack,     jack,     treahunt, jack_state, treahunt, ROT90,  "bootleg? (Hara Industries)",  "Treasure Hunt (bootleg?)", GAME_SUPPORTS_SAVE )
1541GAME( 1982, jack,      0,        jack,     jack,     jack_state, jack,     ROT90,  "Cinematronics", "Jack the Giantkiller (set 1)", GAME_SUPPORTS_SAVE )
1542GAME( 1982, jack2,     jack,     jack,     jack2,    jack_state, jack,     ROT90,  "Cinematronics", "Jack the Giantkiller (set 2)", GAME_SUPPORTS_SAVE )
1543GAME( 1982, jack3,     jack,     jack,     jack3,    jack_state, jack,     ROT90,  "Cinematronics", "Jack the Giantkiller (set 3)", GAME_SUPPORTS_SAVE )
1544GAME( 1982, treahunt,  jack,     jack,     treahunt, jack_state, treahunt, ROT90,  "bootleg? (Hara Industries)", "Treasure Hunt (bootleg?)", GAME_SUPPORTS_SAVE )
15151545GAME( 1982, zzyzzyxx,  0,        jack,     zzyzzyxx, jack_state, zzyzzyxx, ROT90,  "Cinematronics / Advanced Microcomputer Systems", "Zzyzzyxx (set 1)", GAME_SUPPORTS_SAVE )
15161546GAME( 1982, zzyzzyxx2, zzyzzyxx, jack,     zzyzzyxx, jack_state, zzyzzyxx, ROT90,  "Cinematronics / Advanced Microcomputer Systems", "Zzyzzyxx (set 2)", GAME_SUPPORTS_SAVE )
15171547GAME( 1982, brix,      zzyzzyxx, jack,     zzyzzyxx, jack_state, zzyzzyxx, ROT90,  "Cinematronics / Advanced Microcomputer Systems", "Brix", GAME_SUPPORTS_SAVE )
1518GAME( 1984, freeze,    0,        jack,     freeze,   jack_state, jack,     ROT90,  "Cinematronics",               "Freeze", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
1519GAME( 1981, tripool,   0,        jack,     tripool,  jack_state, jack,     ROT90,  "Noma (Casino Tech license)",  "Tri-Pool (Casino Tech)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
1548GAME( 1984, freeze,    0,        jack,     freeze,   jack_state, jack,     ROT90,  "Cinematronics", "Freeze", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
1549GAME( 1981, tripool,   0,        jack,     tripool,  jack_state, jack,     ROT90,  "Noma (Casino Tech license)", "Tri-Pool (Casino Tech)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
15201550GAME( 1981, tripoola,  tripool,  jack,     tripool,  jack_state, jack,     ROT90,  "Noma (Costal Games license)", "Tri-Pool (Costal Games)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
1521GAME( 1984, sucasino,  0,        jack,     sucasino, jack_state, jack,     ROT90,  "Data Amusement",              "Super Casino", GAME_SUPPORTS_SAVE )
1522GAME( 1985, striv,     0,        striv,    striv,    jack_state, striv,    ROT270, "Nova du Canada",              "Super Triv", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // Hara Industries PCB
1523GAME( 1983, joinem,    0,        joinem,   joinem,   jack_state, zzyzzyxx, ROT90,  "Global Corporation",          "Joinem", GAME_SUPPORTS_SAVE )
1524GAME( 1983, unclepoop, unclepoo, unclepoo, unclepoo, jack_state, zzyzzyxx, ROT90,  "Diatec", "Uncle Poo (nincompoop version)", GAME_NOT_WORKING ) // based on Joinem?
1525GAME( 1983, loverboy,  0,        joinem,   loverboy, jack_state, loverboy, ROT90,  "G.T Enterprise Inc.",         "Lover Boy", GAME_SUPPORTS_SAVE )
1551GAME( 1984, sucasino,  0,        jack,     sucasino, jack_state, jack,     ROT90,  "Data Amusement", "Super Casino", GAME_SUPPORTS_SAVE )
1552GAME( 1985, striv,     0,        striv,    striv,    jack_state, striv,    ROT270, "Nova du Canada", "Super Triv", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // Hara Industries PCB
1553GAME( 1983, joinem,    0,        joinem,   joinem,   jack_state, zzyzzyxx, ROT90,  "Global Corporation", "Joinem", GAME_SUPPORTS_SAVE )
1554GAME( 1983, unclepoo,  unclepoo, unclepoo, unclepoo, jack_state, zzyzzyxx, ROT90,  "Diatec", "Uncle Poo", GAME_SUPPORTS_SAVE ) // based on Joinem?
1555GAME( 1983, loverboy,  0,        joinem,   loverboy, jack_state, loverboy, ROT90,  "G.T Enterprise Inc.", "Lover Boy", GAME_SUPPORTS_SAVE )
trunk/src/mame/mame.lst
r18127r18128
76307630tripool         // (c) 1981 Noma (Casino Tech license)
76317631tripoola      // (c) 1981 Noma (Costal Games license)
76327632unclepoo      // (c) 1983 Diatec
7633joinem         // (c) 1986 Global
7634loverboy      // (c) 1983 Global
7635striv         // (c) 1985 Hara Industries
7633joinem         // (c) 1983 Global
7634loverboy      // (c) 1983 G.T
7635striv         // (c) 1985 Nova du Canada
76367636jack         // (c) 1982 Cinematronics
76377637jack2         // (c) 1982 Cinematronics
76387638jack3         // (c) 1982 Cinematronics
7639treahunt      // (c) 1982 Hara Ind.
7639treahunt      // (c) 1982 Hara Industries
76407640zzyzzyxx      // (c) 1982 Cinematronics + Advanced Microcomputer Systems
76417641zzyzzyxx2      // (c) 1982 Cinematronics + Advanced Microcomputer Systems
76427642brix         // (c) 1982 Cinematronics + Advanced Microcomputer Systems

Previous 199869 Revisions Next


© 1997-2024 The MAME Team