Previous 199869 Revisions Next

r18399 Wednesday 10th October, 2012 at 03:19:55 UTC by Roberto Fresca
New preliminary driver for Webak MPU-12 platform. [Roberto Fresca]


New games marked as GAME_NOT_WORKING
------------------------------------
Fruit Star Bonus (Ver 8.20PIR) [Roberto Fresca, Team Europe]
[src/mame]mame.lst mame.mak
[src/mame/drivers]mpu12wbk.c*

trunk/src/mame/mame.mak
r18398r18399
19351935   $(DRIVERS)/jankenmn.o \
19361936   $(DRIVERS)/wildpkr.o \
19371937   $(DRIVERS)/globalvr.o \
1938   $(DRIVERS)/mpu12wbk.o \
19381939
19391940
19401941#-------------------------------------------------
trunk/src/mame/drivers/mpu12wbk.c
r0r18399
1/****************************************************************************************
2
3  WEBAK MPU-12 PLATFORM
4  ---------------------
5
6  Preliminary driver by Roberto Fresca.
7
8
9  Games running on this hardware:
10
11  * Fruit Star Bonus.   1997, Webak Elektronik.
12
13
14*****************************************************************************************
15
16  General notes:
17
18  "The first Webak video-based game, the Fruit Star Bonus, was a success 15 years ago
19   when it was written on Assembler and was running on the MPU 12 at the time. Because
20   this game has achieved such a great success to this day Webak has now transferred it
21   on a 1:1 basis for the new Linux-Game box. Despite its age, it has experience a re-
22   naissance in different countries, especially the Czech Republic."
23
24
25*****************************************************************************************
26
27  Hardware Notes:
28  ---------------
29
30  CPU:          1x M68B09P      \
31  Program ROM:  1x P28F512 (IC2) > Inside the MPU12 epoxy block.
32  PLD:          1x TIBPAL16V8   /
33
34  Video:  1x MC68B45P CRTC.
35  Sound:  1x AY-3-8910A.
36  ROMS:   3x 27C512 (IC37-IC38-IC39) for graphics.
37          1x Empty socket (IC4) for unknown purposes.
38
39  Bipolar PROMs: 1x 82S147; 1x 82S131.
40
41  Xtal:   1x 8MHz.
42
43
44*****************************************************************************************
45
46  PCB Layout:
47
48  .--------------------------------------------------------------------------------------.
49  |        .---------.     .---------.                                                   |
50  |        |74LS174N |     |74LS174N |              .------------.                       |
51  |        '---------'     '---------'              |8          1|  .------------.       |
52  |                                                 |    DIP1    |  | DM74LS245N |       |
53  |        .------------.  .---------.              '------------'  '------------'       |
54  |        |  N82S147AN |  |N82S131AN|                       2x17 connector              |
55  |        '------------'  '---------'              .---------------------------------.  |
56  |                                     .-------.   |o o o o o o o o o o o o o o o o o|  |
57  |  .------------------.  .---------.  |  XTAL |   |o o o o o o o o o o o o o o o o o|  |
58  |  |     Fruit 3      |  |74LS194AN|  | 8 Mhz |   '---------------------------------'  |
59  |  |      27C512      |  '---------'  '-------'                                        |
60  |  |              IC39|  .---------.  .--.        .--------------------.  .----------. |
61  |  '------------------'  |74LS194AN|  |SN|        |                    |  |SN74LS02N | |
62  |                        '---------'  |74|        |    EMPTY SOCKET    |  '----------' |
63  |  .------------------.  .---------.  |LS| .--.   |                    |               |
64  |  |     Fruit 2      |  |74LS194AN|  |00| |SN|   |                 IC4|               |
65  |  |      27C512      |  '---------'  |N | |74|   '--------------------'     .------.  |
66  |  |              IC38|               '--' |LS|                              |      |  |
67  |  '------------------'  .---------.  .--. |00|     .------------------.     |      |  |
68  |                        |74LS194AN|  |SN| |N |     |  MB8464A-10L-SK  |     |      |  |
69  |  .------------------.  '---------'  |74| '--'     '------------------'     |AY-3  |  |
70  |  |     Fruit 1      |               |LS|                                   |8910A |  |
71  |  |      27C512      |  .---------.  |02| .-------------------------------. |      |  |
72  |  |              IC37|  |74LS194AN|  |N | |EPOXY BLOCK                    | |      |  |
73  |  '------------------'  '---------'  |  | |      .------.                 | |      |  |
74  |                                     '--' |      |      |                 | |      |  |
75  |                        .---------.  .--. |      |      |                 | |      |  |
76  |  .-------------.       |74LS194AN|  |DM| |      |      |                 | |      |  |
77  |  | DM74LS374N  |       '---------'  |74| |      |      |                 | |      |  |
78  |  '-------------'                    |LS| |      |      |                 | |      |  |
79  |                        .---------.  |74| |      | MCU  |                 | |      |  |
80  |  .-------------.       |74LS174N |  |AN| |      |      |                 | |      |  |
81  |  | DM74LS245N  |       '---------'  |  | |      |68B09P|                 | |      |  |
82  |  '-------------'                    '--' |      |      |                 | |      |  |
83  |                    .-------------.  .--. |      |      |                 | |      |  |
84  |                    | DM74LS374N  |  |DM| |      |      |                 | |      |  |
85  | .-------.          '-------------'  |74| |      |      |                 | '------'  |
86  | |       |                           |LS| |      |      |                 |           |
87  | |       | .----------------.  .--.  |24| |      |      |  .------.       |           |
88  | |       | | MB8464A-10L-SK |  |SN|  |5N| |      |      |  |FLASH |       | .--.      |
89  | |       | '----------------'  |74|  |  | |      |      |  |      |       | |LM|      |
90  | |       |                     |LS|  |  | |      |      |  | P28F |       | |35|      |
91  | |       | .---------.   .--.  |59|  |  | |      '------'  | 512  |       | |8N|      |
92  | |  MC   | |74LS157N |   |MB|  |0N|  |  | |                |      |       | '--'      |
93  | |       | '---------'   |84|  |  |  '--' |                |      |       |           |
94  | |68B45P |               |64|  '--'       |                |      |       | .--------.|
95  | |       | .---------.   |A-|        .--. |         .---.  |      |       | | LM380N ||
96  | |       | |74LS157N |   |10|  .--.  |DM| |         |   |  |      |       | '--------'|
97  | |       | '---------'   |L-|  |SN|  |74| |         |TIB|  |      |       |           |
98  | |       |               |SK|  |74|  |LS| |         |PAL|  |      |       | .--.      |
99  | |       | .---------.   |  |  |LS|  |24| |         |16 |  |   IC2|       | |SN|      |
100  | |       | |74LS157N |   |  |  |59|  |5N| |         |L8 |  '------'       | |74|      |
101  | |       | '---------'   |  |  |0N|  |  | |         |   |                 | |LS|      |
102  | |       |               |  |  |  |  |  | |         |   |                 | |27|      |
103  | |       | .---------.   |  |  '--'  |  | |         |   |                 | |3N|      |
104  | |       | |74LS157N |   |  |        |  | |         '---'                 | |  |      |
105  | '-------' '---------'   '--'        '--' |                               | |  |      |
106  |                                          |                               | |  |      |
107  |   .---------. .-------------.            '-------------------------------' '--'      |
108  |   |74LS174N | | DM74LS245N  |                                                        |
109  |   '---------' '-------------' .---.            .---------.  .---------.  .---------. |
110  |                               |A00|            | 74LS138N|  | 74LS138N|  |74LS245N | |
111  | .-----------. .-------------. '---'            '---------'  '---------'  '---------' |
112  | |DM74LS245N | | DM74LS245N  |                                                        |
113  | '-----------' '-------------' .--------. .------------. .------------.  .----------. |
114  |                               |74LS174N| | SN74LS273N | | SN74LS273N |  |898-3-R220| |
115  |  .----------. .----------.    '--------' '------------' '------------'  '----------' |
116  |  |898-3-R220| |898-3-R220|                                                           |
117  |  '----------' '----------'     .--------.   .--------.   .--------.                  |
118  |                                |ULN2003A|   |ULN2003A|   |ULN2003A|                  |
119  |                                '--------'   '--------'   '--------'                  |
120  |                                                                                      |
121  '------.- - - - - -2x22 edge connector- - - - - - -.-------.2x10 edge connector.-------'
122         | | | | | | | | | | | | | | | | | | | | | | |       | | | | | | | | | | |
123         '-------------------------------------------'       '-------------------'
124
125  A00 = PCF1251P
126
127
128  DIP Switches bank:
129  .---------------.
130  | |#| |#| |#| | |
131  |-+-+-+-+-+-+-+-|
132  |#| |#| |#| |#|#|
133  '---------------'
134   1 2 3 4 5 6 7 8
135
136
137  Epoxy block - cover:
138  .--------------------------------------------------------------------------------.
139  |                                                      .-----------------------. |
140  |      #######################################         |        VERSION        | |
141  |  #  ##                                     ##  #     |         Fruit         | |
142  |   # ##  #   #  #####  ####    ###   #   #  ## #      '-----------------------' |
143  |    ###  #   #  #      #   #  #   #  #  #   ###                                 |
144  |  #####  # # #  ###    ####   #####  ###    #####     .-----------------------. |
145  |    ###  # # #  #      #   #  #   #  #  #   ###       | NO:                   | |
146  |   # ##   # #   #####  ####   #   #  #   #  ## #      | --------------------- | |
147  |  #  ##                                     ##  #     | DATE:     12/97       | |
148  |      #######################################         | --------------------- | |
149  |                                                      | CUST:                 | |
150  |              SCHWANENSTADT - AUSTRIA                 '-----------------------' |
151  |              Tel.: 43 (7673) 4201-0                                            |
152  |              Fax : 43 (7673) 4201-23                                           |
153  |                                                                                |
154  |      ####################################################################      |
155  |  #  ##              ## ##  ####   #   #       ##   ####                 ##  #  |
156  |   # ##              # # #  #   #  #   #      # #  #   #                 ## #   |
157  |  # ###              # # #  ####   #   #     #  #     #                  ### #  |
158  |   # ##              #   #  #      #   #        #    #                   ## #   |
159  |  #  ##              #   #  #       ###         #  #####                 ##  #  |
160  |      ####################################################################      |
161  |                                                                                |
162  '--------------------------------------------------------------------------------'
163
164
165*****************************************************************************************
166
167  --------------------
168  ***  Memory Map  ***
169  --------------------
170
171  0x1400 - 0x1401    ; M6845 CRTC.  OK
172  0x1800 - 0x1801    ; ????.
173  0x1E00 - 0x1E01    ; AY-3-8910?.
174  0x???? - 0x????    ; Video RAM.
175  0x???? - 0x????    ; Color RAM.
176  0x2000 - 0x3FFF    ; RAM.         OK
177  0x8000 - 0xFFFF    ; ROM space.   OK
178
179
180  *** CRTC Initialization ***
181  ----------------------------------------------------------------------------------------------------------------------
182  register:  R00   R01   R02   R03   R04   R05   R06   R07   R08   R09   R10   R11   R12   R13   R14   R15   R16   R17
183  ----------------------------------------------------------------------------------------------------------------------
184  value:     0x7F  0x60  0x6A  0x88  0x22  0x08  0x20  0x20  0x00  0x07  0x01  0x01  0x00  0x00  0x00  0x00  0x00  0x00.
185
186
187*****************************************************************************************
188
189
190  DRIVER UPDATES:
191
192
193  [2012-10-10]
194
195  - Initial release.
196  - Added technical notes.
197
198
199  TODO:
200
201  - A lot of work.
202
203
204*****************************************************************************************/
205
206
207#define MASTER_CLOCK   XTAL_8MHz
208
209#include "emu.h"
210#include "cpu/m6809/m6809.h"
211#include "video/mc6845.h"
212#include "sound/ay8910.h"
213//#include "machine/nvram.h"
214
215
216class mpu12wbk_state : public driver_device
217{
218public:
219   mpu12wbk_state(const machine_config &mconfig, device_type type, const char *tag)
220      : driver_device(mconfig, type, tag) ,
221      m_videoram(*this, "videoram"),
222      m_colorram(*this, "colorram"){ }
223
224   required_shared_ptr<UINT8> m_videoram;
225   required_shared_ptr<UINT8> m_colorram;
226   tilemap_t *m_bg_tilemap;
227   DECLARE_WRITE8_MEMBER(mpu12wbk_videoram_w);
228   DECLARE_WRITE8_MEMBER(mpu12wbk_colorram_w);
229   DECLARE_DRIVER_INIT(mpu12wbk);
230   TILE_GET_INFO_MEMBER(get_bg_tile_info);
231   virtual void video_start();
232   virtual void palette_init();
233   UINT32 screen_update_mpu12wbk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
234};
235
236
237/*************************
238*     Video Hardware     *
239*************************/
240
241
242WRITE8_MEMBER(mpu12wbk_state::mpu12wbk_videoram_w)
243{
244   m_videoram[offset] = data;
245   m_bg_tilemap->mark_tile_dirty(offset);
246}
247
248
249WRITE8_MEMBER(mpu12wbk_state::mpu12wbk_colorram_w)
250{
251   m_colorram[offset] = data;
252   m_bg_tilemap->mark_tile_dirty(offset);
253}
254
255
256TILE_GET_INFO_MEMBER(mpu12wbk_state::get_bg_tile_info)
257{
258/*  - bits -
259    7654 3210
260    ---- ----   bank select.
261    ---- ----   color code.
262*/
263//   int attr = m_colorram[tile_index];
264//   int code = m_videoram[tile_index] | ((attr & 0xc0) << 2);
265//   int color = (attr & 0x0f);
266
267//   SET_TILE_INFO_MEMBER( 0, code, color, 0);
268   SET_TILE_INFO_MEMBER( 0, 0 ,0 ,0);
269}
270
271
272void mpu12wbk_state::video_start()
273{
274   m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mpu12wbk_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
275}
276
277
278UINT32 mpu12wbk_state::screen_update_mpu12wbk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
279{
280   m_bg_tilemap->draw(bitmap, cliprect, 0, 0);
281   return 0;
282}
283
284
285void mpu12wbk_state::palette_init()
286{
287
288}
289
290
291/*************************
292*      Machine Init      *
293*************************/
294
295
296/*****************************
297*    Read/Write  Handlers    *
298*****************************/
299
300
301/*************************
302* Memory Map Information *
303*************************/
304
305static ADDRESS_MAP_START( mpu12wbk_map, AS_PROGRAM, 8, mpu12wbk_state )
306   AM_RANGE(0x1400, 0x1400) AM_DEVWRITE("crtc", mc6845_device, address_w)                  // OK
307   AM_RANGE(0x1401, 0x1401) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)      // OK
308   AM_RANGE(0x1e00, 0x1e01) AM_DEVREADWRITE_LEGACY("ay8910", ay8910_r, ay8910_address_data_w)   // hmmmmm....
309   AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(mpu12wbk_videoram_w) AM_SHARE("videoram")            // FIXME
310   AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(mpu12wbk_colorram_w) AM_SHARE("colorram")            // FIXME
311   AM_RANGE(0x2800, 0x3fff) AM_RAM                                                // RAM (from 2000-3fff)
312   AM_RANGE(0x6000, 0x6000) AM_READ_PORT("SW1")   // dummy, placeholder
313   AM_RANGE(0x6001, 0x6001) AM_READ_PORT("SW2")   // dummy, placeholder
314   AM_RANGE(0x6002, 0x6002) AM_READ_PORT("IN0")   // dummy, placeholder
315   AM_RANGE(0x6003, 0x6003) AM_READ_PORT("IN1")   // dummy, placeholder
316   AM_RANGE(0x6004, 0x6004) AM_READ_PORT("IN2")   // dummy, placeholder
317   AM_RANGE(0x6005, 0x6005) AM_READ_PORT("IN3")   // dummy, placeholder
318
319   AM_RANGE(0x8000, 0xffff) AM_ROM      // OK
320ADDRESS_MAP_END
321
322/*
323
324unknown writes:
325
3261400-1401  CRTC
327
3281800-1801 R (input?)
3291e00-1e01 RW (psg?)
330 
331*/
332
333
334/*************************
335*      Input Ports       *
336*************************/
337
338static INPUT_PORTS_START( mpu12wbk )
339   PORT_START("IN0")
340   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-1") PORT_CODE(KEYCODE_1)
341   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-2") PORT_CODE(KEYCODE_2)
342   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-3") PORT_CODE(KEYCODE_3)
343   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-4") PORT_CODE(KEYCODE_4)
344   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-5") PORT_CODE(KEYCODE_5)
345   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-6") PORT_CODE(KEYCODE_6)
346   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-7") PORT_CODE(KEYCODE_7)
347   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("0-8") PORT_CODE(KEYCODE_8)
348
349   PORT_START("IN1")
350   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-1") PORT_CODE(KEYCODE_Q)
351   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-2") PORT_CODE(KEYCODE_W)
352   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-3") PORT_CODE(KEYCODE_E)
353   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-4") PORT_CODE(KEYCODE_R)
354   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-5") PORT_CODE(KEYCODE_T)
355   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-6") PORT_CODE(KEYCODE_Y)
356   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-7") PORT_CODE(KEYCODE_U)
357   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("1-8") PORT_CODE(KEYCODE_I)
358
359   PORT_START("IN2")
360   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-1") PORT_CODE(KEYCODE_A)
361   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-2") PORT_CODE(KEYCODE_S)
362   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-3") PORT_CODE(KEYCODE_D)
363   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-4") PORT_CODE(KEYCODE_F)
364   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-5") PORT_CODE(KEYCODE_G)
365   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-6") PORT_CODE(KEYCODE_H)
366   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-7") PORT_CODE(KEYCODE_J)
367   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("2-8") PORT_CODE(KEYCODE_K)
368
369   PORT_START("IN3")
370   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-1") PORT_CODE(KEYCODE_Z)
371   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-2") PORT_CODE(KEYCODE_X)
372   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-3") PORT_CODE(KEYCODE_C)
373   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-4") PORT_CODE(KEYCODE_V)
374   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-5") PORT_CODE(KEYCODE_B)
375   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-6") PORT_CODE(KEYCODE_N)
376   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-7") PORT_CODE(KEYCODE_M)
377   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("3-8") PORT_CODE(KEYCODE_L)
378
379   PORT_START("SW1")
380   PORT_DIPNAME( 0x01, 0x01, "SW1" )
381   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
382   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
383   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
384   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
385   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
386   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
387   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
388   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
389   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
390   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
391   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
392   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
393   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
394   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
395   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
396   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
397   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
398   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
399   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
400   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
401   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
402   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
403   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
404
405   PORT_START("SW2")
406   PORT_DIPNAME( 0x01, 0x01, "SW2" )
407   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
408   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
409   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
410   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
411   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
412   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
413   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
414   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
415   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
416   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
417   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
418   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
419   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
420   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
421   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
422   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
423   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
424   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
425   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
426   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
427   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
428   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
429   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
430INPUT_PORTS_END
431
432
433/*************************
434*    Graphics Layouts    *
435*************************/
436
437static const gfx_layout charlayout =
438
439{
440//   8, 8,
441//   RGN_FRAC(3,3),
442//   1,      /* 1 bpp */
443//   { 0 },
444//   { 0, 1, 2, 3, 4, 5, 6, 7 },
445//   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
446//   8*8   /* every char takes 8 consecutive bytes */
447
448//   8, 8,
449//   RGN_FRAC(1,3),
450//   3,
451//   { 0, RGN_FRAC(1,3), RGN_FRAC(2,3) },    /* bitplanes are separated */
452//   { 0, 1, 2, 3, 4, 5, 6, 7 },
453//   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
454//   8*8
455
456   4,8,
457   RGN_FRAC(1,2),
458   4,
459   { RGN_FRAC(0,2), RGN_FRAC(0,2) + 4, RGN_FRAC(1,2), RGN_FRAC(1,2) + 4 },
460   { 3, 2, 1, 0 },
461   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
462   8*4*2
463
464};
465
466
467/******************************
468* Graphics Decode Information *
469******************************/
470
471static GFXDECODE_START( mpu12wbk )
472   GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
473GFXDECODE_END
474
475
476/*************************
477*    Sound Interface     *
478*************************/
479
480static const ay8910_interface ay8910_config =
481{
482   AY8910_LEGACY_OUTPUT,
483   AY8910_DEFAULT_LOADS,
484   DEVCB_NULL,
485   DEVCB_NULL,
486   DEVCB_NULL,
487   DEVCB_NULL
488};
489
490
491/************************
492*    CRTC Interface    *
493************************/
494
495static const mc6845_interface mc6845_intf =
496{
497   "screen",   /* screen we are acting on */
498   4,         /* number of pixels per video memory address */
499   NULL,      /* before pixel update callback */
500   NULL,      /* row update callback */
501   NULL,      /* after pixel update callback */
502   DEVCB_NULL,   /* callback for display state changes */
503   DEVCB_NULL,   /* callback for cursor state changes */
504   DEVCB_NULL,   /* HSYNC callback */
505   DEVCB_NULL,   /* VSYNC callback */
506   NULL      /* update address callback */
507};
508
509
510/*************************
511*    Machine Drivers     *
512*************************/
513
514static MACHINE_CONFIG_START( mpu12wbk, mpu12wbk_state )
515
516   /* basic machine hardware */
517   MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/2)   /* guess */
518   MCFG_CPU_PROGRAM_MAP(mpu12wbk_map)
519   MCFG_CPU_VBLANK_INT_DRIVER("screen", mpu12wbk_state,  nmi_line_pulse)
520
521//  MCFG_NVRAM_ADD_0FILL("nvram")
522
523   /* video hardware */
524   MCFG_SCREEN_ADD("screen", RASTER)
525   MCFG_SCREEN_REFRESH_RATE(60)
526   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
527   MCFG_SCREEN_SIZE((32+1)*8, (32+1)*8)                  /* From MC6845, registers 00 & 04. (value-1) */
528   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)    /* Driven by MC6845, registers 01 & 06 */
529   MCFG_SCREEN_UPDATE_DRIVER(mpu12wbk_state, screen_update_mpu12wbk)
530
531   MCFG_GFXDECODE(mpu12wbk)
532   MCFG_PALETTE_LENGTH(512)
533
534   MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/4, mc6845_intf) /* guess */
535
536   /* sound hardware */
537   MCFG_SPEAKER_STANDARD_MONO("mono")
538
539   MCFG_SOUND_ADD("ay8910", AY8910, MASTER_CLOCK/8)      /* guess */
540   MCFG_SOUND_CONFIG(ay8910_config)
541   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
542
543MACHINE_CONFIG_END
544
545
546/*************************
547*        Rom Load        *
548*************************/
549/*
550
551  Program is inside a CPU epoxy block
552  with a m6809 and PLD.
553
554  Version 8.20PIR
555
556*/
557ROM_START( fruitstb )
558   ROM_REGION( 0x10000, "maincpu", 0 )
559   ROM_LOAD( "p28f512_box.ic2",   0x8000, 0x8000, CRC(95d4ddaa) SHA1(498f841b3cd12ac128954841dd463b62c335e038) )
560   ROM_IGNORE(                     0x8000 ) // second half is filled with 0xff, vectors are at the end of the 1st half
561
562   ROM_REGION( 0x20000, "gfx1", 0 )
563   ROM_LOAD( "fruit1.ic37",   0x00000, 0x10000, CRC(c1834a6d) SHA1(ece1e47641087be342d3c5c092d8a7233ae871f3) )
564   ROM_LOAD( "fruit2.ic38",   0x10000, 0x10000, CRC(32d282a8) SHA1(792174d75dc7ec5f1e6f145539a5ec8e3953e1dd) )
565//   ROM_LOAD( "fruit3.ic39",   0x20000, 0x10000, CRC(311a6d4e) SHA1(62cf670b605906f7f4225905118524ee30d0e85b) )  // and this one?
566
567   ROM_REGION( 0x0400, "proms", 0 )
568   ROM_LOAD( "82s131.ic47", 0x0000, 0x0200, CRC(54565d41) SHA1(8e412a3441c9c1e7f8309f2087389ac4250896e6) )
569   ROM_LOAD( "82s147.ic46", 0x0200, 0x0200, CRC(ee576268) SHA1(8964526fa253f484d784aec46c4c31358bc1667b) )
570
571ROM_END
572
573
574/************************
575*      Driver Init      *
576************************/
577
578DRIVER_INIT_MEMBER(mpu12wbk_state, mpu12wbk)
579{
580   // just in case...
581}
582
583
584/*************************
585*      Game Drivers      *
586*************************/
587
588/*    YEAR  NAME      PARENT  MACHINE   INPUT     STATE           INIT      ROT    COMPANY             FULLNAME                         FLAGS */
589GAME( 1997, fruitstb, 0,      mpu12wbk, mpu12wbk, mpu12wbk_state, mpu12wbk, ROT0, "Webak Elektronik", "Fruit Star Bonus (Ver 8.20PIR)", GAME_NO_SOUND | GAME_NOT_WORKING )
trunk/src/mame/mame.lst
r18398r18399
2833728337// VLC Nevada
2833828338nevada
2833928339
28340//Bally Gaming Co.
28340// Bally Gaming Co.
2834128341gammagic
283422834299bottles
28343
28344// Webak Austria
28345fruitstb

Previous 199869 Revisions Next


© 1997-2024 The MAME Team