Previous 199869 Revisions Next

r20766 Wednesday 6th February, 2013 at 10:23:47 UTC by David Haywood
little progress (nw)
[src/mame/drivers]fresh.c

trunk/src/mame/drivers/fresh.c
r20765r20766
3030   fresh_state(const machine_config &mconfig, device_type type, const char *tag)
3131      : driver_device(mconfig, type, tag) ,
3232      m_bg_videoram(*this, "bg_videoram"),
33      m_bg_videoram_2(*this, "bg_videoram_2"),
33      m_bg_2_videoram(*this, "bg_videoram_2"),
3434      m_paletteram_1(*this, "paletteram_1"),
3535      m_paletteram_2(*this, "paletteram_2")
3636   
3737   { }
3838
3939   tilemap_t *m_bg_tilemap;
40   tilemap_t *m_fg_tilemap;
40   tilemap_t *m_bg_2_tilemap;
4141
4242   required_shared_ptr<UINT16> m_bg_videoram;
43   required_shared_ptr<UINT16> m_bg_videoram_2;
43   required_shared_ptr<UINT16> m_bg_2_videoram;
4444
4545   required_shared_ptr<UINT16> m_paletteram_1;
4646   required_shared_ptr<UINT16> m_paletteram_2;
4747
4848   DECLARE_WRITE16_MEMBER(fresh_bg_videoram_w);
4949   TILE_GET_INFO_MEMBER(get_fresh_bg_tile_info);
50   DECLARE_WRITE16_MEMBER(fresh_bg_2_videoram_w);
51   TILE_GET_INFO_MEMBER(get_fresh_bg_2_tile_info);
5052
5153   DECLARE_READ16_MEMBER( unk_r )
5254   {
r20765r20766
5658   {
5759      return 0x10;
5860   }
59   
6061
62   TIMER_DEVICE_CALLBACK_MEMBER(fake_scanline);
63
64
6165   virtual void video_start();
6266   UINT32 screen_update_fresh(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
6367};
r20765r20766
6771{
6872   int tileno;
6973   tileno = m_bg_videoram[tile_index];
70   SET_TILE_INFO_MEMBER(2, tileno, 0, 0);
74   SET_TILE_INFO_MEMBER(1, tileno, 0, 0);
7175}
7276
7377
r20765r20766
7781   m_bg_tilemap->mark_tile_dirty(offset);
7882}
7983
84TILE_GET_INFO_MEMBER(fresh_state::get_fresh_bg_2_tile_info)
85{
86   int tileno;
87   tileno = m_bg_2_videoram[tile_index];
88   SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
89}
90
91
92WRITE16_MEMBER(fresh_state::fresh_bg_2_videoram_w)
93{
94   COMBINE_DATA(&m_bg_2_videoram[offset]);
95   m_bg_2_tilemap->mark_tile_dirty(offset);
96}
97
98
99
80100void fresh_state::video_start()
81101{
82102   m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fresh_state::get_fresh_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,  64, 512);
83//   m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fresh_state::get_fresh_fg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
103   m_bg_2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fresh_state::get_fresh_bg_2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 512);
84104
85//   m_fg_tilemap->set_transparent_pen(255);
105   m_bg_tilemap->set_transparent_pen(255);
86106}
87107
88108UINT32 fresh_state::screen_update_fresh(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
89109{
110   m_bg_2_tilemap->draw(bitmap, cliprect, 0, 0);
90111   m_bg_tilemap->draw(bitmap, cliprect, 0, 0);
91//   m_fg_tilemap->draw(bitmap, cliprect, 0, 0);
92112
93113   return 0;
94114}
r20765r20766
97117static ADDRESS_MAP_START( fresh_map, AS_PROGRAM, 16, fresh_state )
98118   AM_RANGE(0x000000, 0x03ffff) AM_ROM
99119
100   AM_RANGE(0xC00000, 0xC0ffff) AM_RAM
120   AM_RANGE(0xC00000, 0xC0ffff) AM_RAM_WRITE( fresh_bg_2_videoram_w ) AM_SHARE( "bg_videoram_2" )
101121   AM_RANGE(0xC10000, 0xC1ffff) AM_RAM
102122   AM_RANGE(0xC20000, 0xC2ffff) AM_RAM_WRITE( fresh_bg_videoram_w ) AM_SHARE( "bg_videoram" )
103   AM_RANGE(0xC30000, 0xC3ffff) AM_RAM AM_SHARE("bg_videoram_2")
123   AM_RANGE(0xC30000, 0xC3ffff) AM_RAM
104124
105125
106126   // written together
107127   AM_RANGE(0xC40000, 0xC417ff) AM_RAM AM_SHARE( "paletteram_1" ) // 16-bit
108128   AM_RANGE(0xC50000, 0xC517ff) AM_RAM AM_SHARE( "paletteram_2" ) // 8-bit
109129
110   AM_RANGE(0xD40000, 0xD40001) AM_READ(unk_r)
111   AM_RANGE(0xD70000, 0xD70001) AM_READ(unk2_r)
130   AM_RANGE(0xD40000, 0xD40001) AM_READ_PORT("IN0")
131   AM_RANGE(0xD70000, 0xD70001) AM_READ_PORT("IN1")
132
133   AM_RANGE(0xE00000, 0xE00001) AM_READ_PORT("IN2")
134   AM_RANGE(0xE20000, 0xE20001) AM_READ_PORT("IN3")
135   AM_RANGE(0xE40000, 0xE40001) AM_READ_PORT("IN4")
136   AM_RANGE(0xE60000, 0xE60001) AM_READ_PORT("IN5")
137   AM_RANGE(0xE80000, 0xE80001) AM_READ_PORT("IN6")
138   AM_RANGE(0xEE0000, 0xEE0001) AM_READ_PORT("IN7")
139
140
112141   AM_RANGE(0xF00000, 0xF0FFFF) AM_RAM
113142
114   
115//   AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(fresh_bg_videoram_w) AM_SHARE("bg_videoram") // Background
116//   AM_RANGE(0x210000, 0x213fff) AM_RAM_WRITE(fresh_fg_videoram_w) AM_SHARE("fg_videoram") // Foreground
117//   AM_RANGE(0x220000, 0x2203ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
118//   AM_RANGE(0x230000, 0x230001) AM_WRITE(soundlatch_word_w)
119//   AM_RANGE(0x230100, 0x230101) AM_READ_PORT("DSW")
120//   AM_RANGE(0x230200, 0x230201) AM_READ_PORT("INPUTS")
143
121144ADDRESS_MAP_END
122145
123146static INPUT_PORTS_START( fresh )
147   PORT_START("IN0")
148   PORT_DIPNAME( 0x0001, 0x0000, "IN-0:0" )
149   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
150   PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
151   PORT_DIPNAME( 0x0002, 0x0000, "IN-0:1" )
152   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
153   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
154   PORT_DIPNAME( 0x0004, 0x0000, "IN-0:2" )
155   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
156   PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
157   PORT_DIPNAME( 0x0008, 0x0000, "IN-0:3" )
158   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
159   PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
160   PORT_DIPNAME( 0x0010, 0x0010, "IN-0:4" )
161   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
162   PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
163   PORT_DIPNAME( 0x0020, 0x0000, "IN-0:5" )
164   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
165   PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
166   PORT_DIPNAME( 0x0040, 0x0000, "IN-0:6" )
167   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
168   PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
169   PORT_DIPNAME( 0x0080, 0x0000, "IN-0:7" )
170   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
171   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
172   PORT_DIPNAME( 0x0100, 0x0000, "IN-0:8" )
173   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
174   PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
175   PORT_DIPNAME( 0x0200, 0x0000, "IN-0:9" )
176   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
177   PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
178   PORT_DIPNAME( 0x0400, 0x0000, "IN-0:a" )
179   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
180   PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
181   PORT_DIPNAME( 0x0800, 0x0000, "IN-0:b" )
182   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
183   PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
184   PORT_DIPNAME( 0x1000, 0x0000, "IN-0:c" )
185   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
186   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
187   PORT_DIPNAME( 0x2000, 0x0000, "IN-0:d" )
188   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
189   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
190   PORT_DIPNAME( 0x4000, 0x0000, "IN-0:e" )
191   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
192   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
193   PORT_DIPNAME( 0x8000, 0x0000, "IN-0:f" )
194   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
195   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
196
197   PORT_START("IN1")
198   PORT_DIPNAME( 0x0001, 0x0000, "IN-1:0" )
199   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
200   PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
201   PORT_DIPNAME( 0x0002, 0x0000, "IN-1:1" )
202   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
203   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
204   PORT_DIPNAME( 0x0004, 0x0000, "IN-1:2" )
205   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
206   PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
207   PORT_DIPNAME( 0x0008, 0x0000, "IN-1:3" )
208   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
209   PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
210   PORT_DIPNAME( 0x0010, 0x0010, "IN-1:4" )
211   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
212   PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
213   PORT_DIPNAME( 0x0020, 0x0000, "IN-1:5" )
214   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
215   PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
216   PORT_DIPNAME( 0x0040, 0x0000, "IN-1:6" )
217   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
218   PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
219   PORT_DIPNAME( 0x0080, 0x0000, "IN-1:7" )
220   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
221   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
222   PORT_DIPNAME( 0x0100, 0x0000, "IN-1:8" )
223   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
224   PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
225   PORT_DIPNAME( 0x0200, 0x0000, "IN-1:9" )
226   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
227   PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
228   PORT_DIPNAME( 0x0400, 0x0000, "IN-1:a" )
229   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
230   PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
231   PORT_DIPNAME( 0x0800, 0x0000, "IN-1:b" )
232   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
233   PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
234   PORT_DIPNAME( 0x1000, 0x0000, "IN-1:c" )
235   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
236   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
237   PORT_DIPNAME( 0x2000, 0x0000, "IN-1:d" )
238   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
239   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
240   PORT_DIPNAME( 0x4000, 0x0000, "IN-1:e" )
241   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
242   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
243   PORT_DIPNAME( 0x8000, 0x0000, "IN-1:f" )
244   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
245   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
246
247   PORT_START("IN2")
248   PORT_DIPNAME( 0x0001, 0x0000, "IN-2:0" )
249   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
250   PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
251   PORT_DIPNAME( 0x0002, 0x0000, "IN-2:1" )
252   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
253   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
254   PORT_DIPNAME( 0x0004, 0x0000, "IN-2:2" )
255   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
256   PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
257   PORT_DIPNAME( 0x0008, 0x0000, "IN-2:3" )
258   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
259   PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
260   PORT_DIPNAME( 0x0010, 0x0000, "IN-2:4" )
261   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
262   PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
263   PORT_DIPNAME( 0x0020, 0x0000, "IN-2:5" )
264   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
265   PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
266   PORT_DIPNAME( 0x0040, 0x0000, "IN-2:6" )
267   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
268   PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
269   PORT_DIPNAME( 0x0080, 0x0000, "IN-2:7" )
270   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
271   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
272   PORT_DIPNAME( 0x0100, 0x0000, "IN-2:8" )
273   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
274   PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
275   PORT_DIPNAME( 0x0200, 0x0000, "IN-2:9" )
276   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
277   PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
278   PORT_DIPNAME( 0x0400, 0x0000, "IN-2:a" )
279   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
280   PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
281   PORT_DIPNAME( 0x0800, 0x0000, "IN-2:b" )
282   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
283   PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
284   PORT_DIPNAME( 0x1000, 0x0000, "IN-2:c" )
285   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
286   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
287   PORT_DIPNAME( 0x2000, 0x0000, "IN-2:d" )
288   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
289   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
290   PORT_DIPNAME( 0x4000, 0x0000, "IN-2:e" )
291   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
292   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
293   PORT_DIPNAME( 0x8000, 0x0000, "IN-2:f" )
294   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
295   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
296
297   PORT_START("IN3")
298   PORT_DIPNAME( 0x0001, 0x0000, "IN-3:0" )
299   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
300   PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
301   PORT_DIPNAME( 0x0002, 0x0000, "IN-3:1" )
302   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
303   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
304   PORT_DIPNAME( 0x0004, 0x0000, "IN-3:2" )
305   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
306   PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
307   PORT_DIPNAME( 0x0008, 0x0000, "IN-3:3" )
308   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
309   PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
310   PORT_DIPNAME( 0x0010, 0x0000, "IN-3:4" )
311   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
312   PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
313   PORT_DIPNAME( 0x0020, 0x0000, "IN-3:5" )
314   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
315   PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
316   PORT_DIPNAME( 0x0040, 0x0000, "IN-3:6" )
317   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
318   PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
319   PORT_DIPNAME( 0x0080, 0x0000, "IN-3:7" )
320   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
321   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
322   PORT_DIPNAME( 0x0100, 0x0000, "IN-3:8" )
323   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
324   PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
325   PORT_DIPNAME( 0x0200, 0x0000, "IN-3:9" )
326   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
327   PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
328   PORT_DIPNAME( 0x0400, 0x0000, "IN-3:a" )
329   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
330   PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
331   PORT_DIPNAME( 0x0800, 0x0000, "IN-3:b" )
332   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
333   PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
334   PORT_DIPNAME( 0x1000, 0x0000, "IN-3:c" )
335   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
336   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
337   PORT_DIPNAME( 0x2000, 0x0000, "IN-3:d" )
338   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
339   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
340   PORT_DIPNAME( 0x4000, 0x0000, "IN-3:e" )
341   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
342   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
343   PORT_DIPNAME( 0x8000, 0x0000, "IN-3:f" )
344   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
345   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
346
347   PORT_START("IN4")
348   PORT_DIPNAME( 0x0001, 0x0000, "IN-4:0" )
349   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
350   PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
351   PORT_DIPNAME( 0x0002, 0x0000, "IN-4:1" )
352   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
353   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
354   PORT_DIPNAME( 0x0004, 0x0000, "IN-4:2" )
355   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
356   PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
357   PORT_DIPNAME( 0x0008, 0x0000, "IN-4:3" )
358   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
359   PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
360   PORT_DIPNAME( 0x0010, 0x0000, "IN-4:4" )
361   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
362   PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
363   PORT_DIPNAME( 0x0020, 0x0000, "IN-4:5" )
364   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
365   PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
366   PORT_DIPNAME( 0x0040, 0x0000, "IN-4:6 (off)" )
367   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
368   PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
369   PORT_DIPNAME( 0x0080, 0x0000, "IN-4:7" )
370   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
371   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
372   PORT_DIPNAME( 0x0100, 0x0000, "IN-4:8" )
373   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
374   PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
375   PORT_DIPNAME( 0x0200, 0x0000, "IN-4:9" )
376   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
377   PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
378   PORT_DIPNAME( 0x0400, 0x0000, "IN-4:a" )
379   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
380   PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
381   PORT_DIPNAME( 0x0800, 0x0000, "IN-4:b" )
382   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
383   PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
384   PORT_DIPNAME( 0x1000, 0x0000, "IN-4:c" )
385   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
386   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
387   PORT_DIPNAME( 0x2000, 0x0000, "IN-4:d" )
388   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
389   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
390   PORT_DIPNAME( 0x4000, 0x0000, "IN-4:e" )
391   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
392   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
393   PORT_DIPNAME( 0x8000, 0x0000, "IN-4:f" )
394   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
395   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
396
397   PORT_START("IN5")
398   PORT_DIPNAME( 0x0001, 0x0001, "IN-5:0" )
399   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
400   PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
401   PORT_DIPNAME( 0x0002, 0x0002, "IN-5:1" )
402   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
403   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
404   PORT_DIPNAME( 0x0004, 0x0004, "IN-5:2" )
405   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
406   PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
407   PORT_DIPNAME( 0x0008, 0x0008, "IN-5:3" )
408   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
409   PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
410   PORT_DIPNAME( 0x0010, 0x0010, "IN-5:4" )
411   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
412   PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
413   PORT_DIPNAME( 0x0020, 0x0020, "IN-5:5" )
414   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
415   PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
416   PORT_DIPNAME( 0x0040, 0x0040, "IN-5:6" )
417   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
418   PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
419   PORT_DIPNAME( 0x0080, 0x0080, "IN-5:7" )
420   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
421   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
422   PORT_DIPNAME( 0x0100, 0x0100, "IN-5:8" )
423   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
424   PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
425   PORT_DIPNAME( 0x0200, 0x0200, "IN-5:9" )
426   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
427   PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
428   PORT_DIPNAME( 0x0400, 0x0400, "IN-5:a" )
429   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
430   PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
431   PORT_DIPNAME( 0x0800, 0x0800, "IN-5:b" )
432   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
433   PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
434   PORT_DIPNAME( 0x1000, 0x1000, "IN-5:c" )
435   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
436   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
437   PORT_DIPNAME( 0x2000, 0x2000, "IN-5:d" )
438   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
439   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
440   PORT_DIPNAME( 0x4000, 0x4000, "IN-5:e" )
441   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
442   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
443   PORT_DIPNAME( 0x8000, 0x8000, "IN-5:f" )
444   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
445   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
446
447   PORT_START("IN6")
448   PORT_DIPNAME( 0x0001, 0x0001, "IN-6:0" )
449   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
450   PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
451   PORT_DIPNAME( 0x0002, 0x0002, "IN-6:1" )
452   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
453   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
454   PORT_DIPNAME( 0x0004, 0x0004, "IN-6:2" )
455   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
456   PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
457   PORT_DIPNAME( 0x0008, 0x0008, "IN-6:3" )
458   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
459   PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
460   PORT_DIPNAME( 0x0010, 0x0010, "IN-6:4" )
461   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
462   PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
463   PORT_DIPNAME( 0x0020, 0x0020, "IN-6:5" )
464   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
465   PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
466   PORT_DIPNAME( 0x0040, 0x0040, "IN-6:6" )
467   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
468   PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
469   PORT_DIPNAME( 0x0080, 0x0080, "IN-6:7" )
470   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
471   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
472   PORT_DIPNAME( 0x0100, 0x0100, "IN-6:8" )
473   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
474   PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
475   PORT_DIPNAME( 0x0200, 0x0200, "IN-6:9" )
476   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
477   PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
478   PORT_DIPNAME( 0x0400, 0x0400, "IN-6:a" )
479   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
480   PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
481   PORT_DIPNAME( 0x0800, 0x0800, "IN-6:b" )
482   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
483   PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
484   PORT_DIPNAME( 0x1000, 0x1000, "IN-6:c" )
485   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
486   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
487   PORT_DIPNAME( 0x2000, 0x2000, "IN-6:d" )
488   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
489   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
490   PORT_DIPNAME( 0x4000, 0x4000, "IN-6:e" )
491   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
492   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
493   PORT_DIPNAME( 0x8000, 0x8000, "IN-6:f" )
494   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
495   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
496
497   PORT_START("IN7")
498   PORT_DIPNAME( 0x0001, 0x0001, "IN-7:0" )
499   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
500   PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
501   PORT_DIPNAME( 0x0002, 0x0002, "IN-7:1" )
502   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
503   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
504   PORT_DIPNAME( 0x0004, 0x0004, "IN-7:2" )
505   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
506   PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
507   PORT_DIPNAME( 0x0008, 0x0008, "IN-7:3" )
508   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
509   PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
510   PORT_DIPNAME( 0x0010, 0x0010, "IN-7:4" )
511   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
512   PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
513   PORT_DIPNAME( 0x0020, 0x0020, "IN-7:5" )
514   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
515   PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
516   PORT_DIPNAME( 0x0040, 0x0040, "IN-7:6" )
517   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
518   PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
519   PORT_DIPNAME( 0x0080, 0x0080, "IN-7:7" )
520   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
521   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
522   PORT_DIPNAME( 0x0100, 0x0100, "IN-7:8" )
523   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
524   PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
525   PORT_DIPNAME( 0x0200, 0x0200, "IN-7:9" )
526   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
527   PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
528   PORT_DIPNAME( 0x0400, 0x0400, "IN-7:a" )
529   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
530   PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
531   PORT_DIPNAME( 0x0800, 0x0800, "IN-7:b" )
532   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
533   PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
534   PORT_DIPNAME( 0x1000, 0x1000, "IN-7:c" )
535   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
536   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
537   PORT_DIPNAME( 0x2000, 0x2000, "IN-7:d" )
538   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
539   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
540   PORT_DIPNAME( 0x4000, 0x4000, "IN-7:e" )
541   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
542   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
543   PORT_DIPNAME( 0x8000, 0x8000, "IN-7:f" )
544   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
545   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
124546INPUT_PORTS_END
125547
126548static const gfx_layout tiles8x8_layout =
r20765r20766
138560static GFXDECODE_START( fresh )
139561   GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 2 )
140562   GFXDECODE_ENTRY( "gfx2", 0, tiles8x8_layout, 0, 2 )
141   GFXDECODE_ENTRY( "gfx3", 0, tiles8x8_layout, 0, 2 )
142   GFXDECODE_ENTRY( "gfx4", 0, tiles8x8_layout, 0, 2 )
143563GFXDECODE_END
144564
565
566TIMER_DEVICE_CALLBACK_MEMBER(fresh_state::fake_scanline)
567{
568   int scanline = param;
569
570   if(scanline == 0)
571      machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
572
573   if(scanline == 64)
574      machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
575
576   if(scanline == 128) // vbl?
577      machine().device("maincpu")->execute().set_input_line(6, HOLD_LINE);
578
579}
580
581
145582static MACHINE_CONFIG_START( fresh, fresh_state )
146583
147584   /* basic machine hardware */
148585   MCFG_CPU_ADD("maincpu", M68000, 24000000/2 )
149586   MCFG_CPU_PROGRAM_MAP(fresh_map)
150   MCFG_CPU_VBLANK_INT_DRIVER("screen", fresh_state, irq6_line_hold) // 4,5,6 valid
587   MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", fresh_state, fake_scanline, "screen", 0, 1)
151588
152589   /* video hardware */
153590   MCFG_SCREEN_ADD("screen", RASTER)
r20765r20766
169606   ROM_LOAD16_BYTE( "fruit-fresh5.u44", 0x00001, 0x20000, CRC(cb37d3c5) SHA1(3b7797d475769d37ed1e9774df8d4b5899fb92a3) )
170607   ROM_LOAD16_BYTE( "fruit-fresh6.u59", 0x00000, 0x20000, CRC(fc0290be) SHA1(02e3b3563b15ae585684a8f510f48a8c90b248fa) )
171608
172   ROM_REGION( 0x80000, "gfx1", 0 )
609   ROM_REGION( 0x100000, "gfx1", 0 )
173610   ROM_LOAD( "fruit-fresh1.u18", 0x00000, 0x80000, CRC(ee77cdcd) SHA1(8e162640d23bd1b5a2ed9305cc4b9df1cb0f3e80) )
174   ROM_REGION( 0x80000, "gfx2", 0 )
175   ROM_LOAD( "fruit-fresh3.u19", 0x00000, 0x80000, CRC(80cc71b3) SHA1(89a2272266ccdbd01abbc85c1f8200fa9d8aa441) )
176   ROM_REGION( 0x80000, "gfx3", 0 )
611   ROM_LOAD( "fruit-fresh3.u19", 0x80000, 0x80000, CRC(80cc71b3) SHA1(89a2272266ccdbd01abbc85c1f8200fa9d8aa441) )
612   ROM_REGION( 0x100000, "gfx2", 0 )
177613   ROM_LOAD( "fruit-fresh2.u45", 0x00000, 0x80000, CRC(8a06a1ab) SHA1(4bc020e4a031df995e6ebaf49d62989004092b60) )
178   ROM_REGION( 0x80000, "gfx4", 0 )
179   ROM_LOAD( "fruit-fresh4.u46", 0x00000, 0x80000, CRC(9b6c7571) SHA1(649cf3c50e2cd8c02f0f730e5ded59cf0ea37c37) )
180
614   ROM_LOAD( "fruit-fresh4.u46", 0x80000, 0x80000, CRC(9b6c7571) SHA1(649cf3c50e2cd8c02f0f730e5ded59cf0ea37c37) )
181615ROM_END
182616
183617
184618
185619
186GAME( 199?, fresh, 0, fresh, fresh, driver_device, 0, ROT0, "Chain Leisure", "Fruit Fresh", GAME_NOT_WORKING|GAME_NO_SOUND )
620GAME( 1996, fresh, 0, fresh, fresh, driver_device, 0, ROT0, "Chain Leisure", "Fruit Fresh", GAME_NOT_WORKING|GAME_NO_SOUND )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team