Previous 15994 Revisions Next

r6853 Saturday 2nd January, 2010 at 04:51:20 UTC by Firewave
removed obsolete files
[src/mame/includes]8080bw.h
[src/mame/machine]konamiic.c konamiic.h mb14241.c mb14241.h

src/mame/machine/konamiic.c
r6852r6853
1#include "driver.h"
2#include "konamiic.h"
3
4/* Konami K056800 (MIRAC) */
5
6static UINT8 K056800_host_reg[8];
7static UINT8 K056800_sound_reg[8];
8
9static emu_timer *K056800_sound_cpu_timer;
10static UINT8 K056800_sound_cpu_irq1_enable;
11static void (*K056800_sound_irq_callback)(running_machine *, int);
12
13static UINT8 K056800_host_reg_r(int reg)
14{
15   UINT8 value = 0;
16
17   value = K056800_host_reg[reg];
18   if (reg == 2) value &= ~3; // suppress VOLWR busy flags
19
20   return value;
21}
22
23static void K056800_host_reg_w(const address_space *space, int reg, UINT8 data)
24{
25   K056800_sound_reg[reg] = data;
26
27   if (reg == 7)
28   {
29      K056800_sound_irq_callback(space->machine, 1);
30   }
31}
32
33static UINT8 K056800_sound_reg_r(int reg)
34{
35   return K056800_sound_reg[reg];
36}
37
38static void K056800_sound_reg_w(int reg, UINT8 data)
39{
40   if (reg == 4)
41   {
42      K056800_sound_cpu_irq1_enable = data & 0x01;
43   }
44
45   K056800_host_reg[reg] = data;
46}
47
48static TIMER_CALLBACK( K056800_sound_cpu_timer_tick )
49{
50   if (K056800_sound_cpu_irq1_enable)
51   {
52      K056800_sound_irq_callback(machine, 0);
53   }
54}
55
56void K056800_init(running_machine *machine, void (* irq_callback)(running_machine *, int))
57{
58   attotime timer_period;
59   K056800_sound_irq_callback = irq_callback;
60
61   memset(K056800_host_reg, 0, sizeof(K056800_host_reg));
62   memset(K056800_sound_reg, 0, sizeof(K056800_sound_reg));
63
64   timer_period = attotime_mul(ATTOTIME_IN_HZ(44100), 128);   // roughly 2.9us
65
66   K056800_sound_cpu_timer = timer_alloc(machine, K056800_sound_cpu_timer_tick, NULL);
67   timer_adjust_periodic(K056800_sound_cpu_timer, timer_period, 0, timer_period);
68
69   state_save_register_item_array(machine, "K056800", NULL, 0, K056800_host_reg);
70   state_save_register_item_array(machine, "K056800", NULL, 0, K056800_sound_reg);
71   state_save_register_item(machine, "K056800", NULL, 0, K056800_sound_cpu_irq1_enable);
72}
73
74READ32_HANDLER(K056800_host_r)
75{
76   UINT32 r = 0;
77
78   if (ACCESSING_BITS_24_31)
79   {
80      r |= K056800_host_reg_r((offset*4)+0) << 24;
81   }
82   if (ACCESSING_BITS_16_23)
83   {
84      r |= K056800_host_reg_r((offset*4)+1) << 16;
85   }
86   if (ACCESSING_BITS_8_15)
87   {
88      r |= K056800_host_reg_r((offset*4)+2) << 8;
89   }
90   if (ACCESSING_BITS_0_7)
91   {
92      r |= K056800_host_reg_r((offset*4)+3) << 0;
93   }
94
95   return r;
96}
97
98WRITE32_HANDLER(K056800_host_w)
99{
100   if (ACCESSING_BITS_24_31)
101   {
102      K056800_host_reg_w(space, (offset*4)+0, (data >> 24) & 0xff);
103   }
104   if (ACCESSING_BITS_16_23)
105   {
106      K056800_host_reg_w(space, (offset*4)+1, (data >> 16) & 0xff);
107   }
108   if (ACCESSING_BITS_8_15)
109   {
110      K056800_host_reg_w(space, (offset*4)+2, (data >> 8) & 0xff);
111   }
112   if (ACCESSING_BITS_0_7)
113   {
114      K056800_host_reg_w(space, (offset*4)+3, (data >> 0) & 0xff);
115   }
116}
117
118READ16_HANDLER(K056800_sound_r)
119{
120   return K056800_sound_reg_r(offset);
121}
122
123WRITE16_HANDLER(K056800_sound_w)
124{
125   K056800_sound_reg_w(offset, data);
126}
src/mame/machine/konamiic.h
r6852r6853
1#ifndef _KONAMIIC_H
2#define _KONAMIIC_H
3
4void K056800_init(running_machine *machine, void (* irq_callback)(running_machine *, int));
5READ32_HANDLER(K056800_host_r);
6WRITE32_HANDLER(K056800_host_w);
7READ16_HANDLER(K056800_sound_r);
8WRITE16_HANDLER(K056800_sound_w);
9
10#endif
src/mame/machine/mb14241.c
r6852r6853
1/***************************************************************************
2
3    Midway 8080-based black and white hardware
4
5****************************************************************************/
6
7#include "driver.h"
8#include "mb14241.h"
9
10
11#define MAX_MB14241  1
12
13struct MB14241
14{
15   UINT16 shift_data;   /* 15 bits only */
16   UINT8 shift_count;   /* 3 bits */
17};
18
19static struct MB14241 chips[MAX_MB14241];
20
21
22static void mb14241_shift_count_w(int num, UINT8 data)
23{
24   chips[num].shift_count = ~data & 0x07;
25}
26
27WRITE8_HANDLER( mb14241_0_shift_count_w ) { mb14241_shift_count_w(0, data); }
28
29
30static void mb14241_shift_data_w(int num, UINT8 data)
31{
32   chips[num].shift_data = (chips[num].shift_data >> 8) | ((UINT16)data << 7);
33}
34
35WRITE8_HANDLER( mb14241_0_shift_data_w ) { mb14241_shift_data_w(0, data); }
36
37
38static UINT8 mb14241_shift_result_r(int num)
39{
40   return chips[num].shift_data >> chips[num].shift_count;
41}
42
43READ8_HANDLER( mb14241_0_shift_result_r ) { return mb14241_shift_result_r(0); }
44
45
46void mb14241_init(running_machine *machine,int num)
47{
48   state_save_register_item(machine, "mb14241", NULL, num, chips[num].shift_data);
49   state_save_register_item(machine, "mb14241", NULL, num, chips[num].shift_count);
50}
src/mame/machine/mb14241.h
r6852r6853
1/*****************************************************************************
2
3    MB14241 shifter IC emulation
4
5 *****************************************************************************/
6
7#ifndef __MB14241_H__
8#define __MB14241_H__
9
10void mb14241_init(running_machine *machine,int num);
11
12WRITE8_HANDLER( mb14241_0_shift_count_w );
13WRITE8_HANDLER( mb14241_0_shift_data_w );
14READ8_HANDLER( mb14241_0_shift_result_r );
15
16#endif
src/mame/includes/8080bw.h
r6852r6853
1/*************************************************************************
2
3    8080bw.h
4
5*************************************************************************/
6
7#include "sound/discrete.h"
8#include "sound/sn76477.h"
9#include "sound/samples.h"
10
11
12
13#define CABINET_PORT_TAG   "CAB"
14
15
16/*----------- defined in drivers/8080bw.c -----------*/
17
18UINT8 polaris_get_cloud_pos(void);
19
20
21/*----------- defined in audio/8080bw.c -----------*/
22
23MACHINE_START( extra_8080bw_sh );
24
25WRITE8_HANDLER( invadpt2_sh_port_1_w );
26WRITE8_HANDLER( invadpt2_sh_port_2_w );
27
28WRITE8_HANDLER( spcewars_sh_port_w );
29
30WRITE8_HANDLER( lrescue_sh_port_1_w );
31WRITE8_HANDLER( lrescue_sh_port_2_w );
32extern const samples_interface lrescue_samples_interface;
33
34WRITE8_HANDLER( cosmo_sh_port_2_w );
35
36WRITE8_HANDLER( ballbomb_sh_port_1_w );
37WRITE8_HANDLER( ballbomb_sh_port_2_w );
38
39WRITE8_HANDLER( indianbt_sh_port_1_w );
40WRITE8_HANDLER( indianbt_sh_port_2_w );
41WRITE8_DEVICE_HANDLER( indianbt_sh_port_3_w );
42DISCRETE_SOUND_EXTERN( indianbt );
43
44WRITE8_DEVICE_HANDLER( polaris_sh_port_1_w );
45WRITE8_DEVICE_HANDLER( polaris_sh_port_2_w );
46WRITE8_DEVICE_HANDLER( polaris_sh_port_3_w );
47DISCRETE_SOUND_EXTERN( polaris );
48
49MACHINE_RESET( schaser );
50MACHINE_START( schaser );
51WRITE8_HANDLER( schaser_sh_port_1_w );
52WRITE8_HANDLER( schaser_sh_port_2_w );
53extern const sn76477_interface schaser_sn76477_interface;
54DISCRETE_SOUND_EXTERN( schaser );
55
56WRITE8_HANDLER( rollingc_sh_port_w );
57
58WRITE8_HANDLER( invrvnge_sh_port_w );
59
60WRITE8_HANDLER( lupin3_sh_port_1_w );
61WRITE8_HANDLER( lupin3_sh_port_2_w );
62
63WRITE8_HANDLER( schasrcv_sh_port_1_w );
64WRITE8_HANDLER( schasrcv_sh_port_2_w );
65
66WRITE8_HANDLER( yosakdon_sh_port_1_w );
67WRITE8_HANDLER( yosakdon_sh_port_2_w );
68
69WRITE8_HANDLER( shuttlei_sh_port_1_w );
70WRITE8_HANDLER( shuttlei_sh_port_2_w );
71
72/*----------- defined in video/8080bw.c -----------*/
73
74extern UINT8 *c8080bw_colorram;
75
76MACHINE_START( extra_8080bw_vh );
77
78void c8080bw_flip_screen_w(const address_space *space, int data);
79void lupin3_flip_screen_w(const address_space *space, int data);
80void c8080bw_screen_red_w(int data);
81void schaser_background_control_w(int data);
82
83VIDEO_UPDATE( invadpt2 );
84VIDEO_UPDATE( ballbomb );
85VIDEO_UPDATE( schaser );
86VIDEO_UPDATE( schasrcv );
87VIDEO_UPDATE( rollingc );
88VIDEO_UPDATE( polaris );
89VIDEO_UPDATE( lupin3 );
90VIDEO_UPDATE( cosmo );
91VIDEO_UPDATE( indianbt );
92VIDEO_UPDATE( shuttlei );
93VIDEO_UPDATE( sflush );

Previous 15994 Revisions Next


© 1998-2018 The MESS Team