~ubuntu-branches/ubuntu/lucid/sdlmame/lucid

« back to all changes in this revision

Viewing changes to src/mame/drivers/megadriv.h

  • Committer: Bazaar Package Importer
  • Author(s): Cesare Falco
  • Date: 2009-11-03 17:10:15 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20091103171015-6hop4ory5lxnumpn
Tags: 0.135-0ubuntu1
* New upstream release - Closes (LP: #403212)
* debian/watch: unstable releases are no longer detected
* mame.ini: added the cheat subdirectories to cheatpath so zipped
  cheatfiles will be searched too
* renamed crsshair subdirectory to crosshair to reflect upstream change
* mame.ini: renamed references to crosshair subdirectory (see above)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#define MASTER_CLOCK_NTSC 53693175
 
2
#define MASTER_CLOCK_PAL  53203424
 
3
#define SEGACD_CLOCK      12500000
 
4
 
 
5
 
1
6
extern DRIVER_INIT( megadriv_c2 );
2
7
extern DRIVER_INIT( megadrie );
3
8
extern DRIVER_INIT( megadriv );
4
9
extern DRIVER_INIT( megadrij );
5
10
extern DRIVER_INIT( _32x );
 
11
extern DRIVER_INIT( mpnew );
6
12
 
7
 
INPUT_PORTS_EXTERN(megadriv);
8
 
INPUT_PORTS_EXTERN(aladbl);
9
 
INPUT_PORTS_EXTERN(megadri6);
10
 
INPUT_PORTS_EXTERN(ssf2ghw);
11
 
INPUT_PORTS_EXTERN(megdsvp);
 
13
INPUT_PORTS_EXTERN( md_common );
 
14
INPUT_PORTS_EXTERN( megadriv );
 
15
INPUT_PORTS_EXTERN( aladbl );
 
16
INPUT_PORTS_EXTERN( megadri6 );
 
17
INPUT_PORTS_EXTERN( ssf2ghw );
 
18
INPUT_PORTS_EXTERN( megdsvp );
12
19
 
13
20
MACHINE_DRIVER_EXTERN( megdsvppal );
14
 
MACHINE_DRIVER_EXTERN(megadriv);
15
 
MACHINE_DRIVER_EXTERN(megadpal);
16
 
MACHINE_DRIVER_EXTERN(megdsvp);
 
21
MACHINE_DRIVER_EXTERN( megadriv );
 
22
MACHINE_DRIVER_EXTERN( megadpal );
 
23
MACHINE_DRIVER_EXTERN( megdsvp );
17
24
MACHINE_DRIVER_EXTERN( genesis_32x );
18
25
MACHINE_DRIVER_EXTERN( genesis_32x_pal );
19
26
MACHINE_DRIVER_EXTERN( genesis_scd );
20
27
MACHINE_DRIVER_EXTERN( genesis_32x_scd );
 
28
MACHINE_DRIVER_EXTERN( md_bootleg );    // for topshoot.c & hshavoc.c
21
29
 
22
30
extern UINT16* megadriv_backupram;
23
31
extern int megadriv_backupram_length;
25
33
extern UINT8 megatech_bios_port_cc_dc_r(running_machine *machine, int offset, int ctrl);
26
34
extern void megadriv_stop_scanline_timer(void);
27
35
 
28
 
void megatech_set_megadrive_z80_as_megadrive_z80(running_machine *machine);
29
 
 
30
 
extern READ8_HANDLER (megatech_sms_ioport_dc_r);
31
 
extern READ8_HANDLER (megatech_sms_ioport_dd_r);
 
36
void megatech_set_megadrive_z80_as_megadrive_z80(running_machine *machine, const char* tag);
32
37
 
33
38
extern READ16_HANDLER( megadriv_vdp_r );
34
39
extern WRITE16_HANDLER( megadriv_vdp_w );
35
40
 
 
41
/* These handlers are needed by megaplay.c */
 
42
extern READ16_HANDLER( megadriv_68k_io_read );
 
43
extern WRITE16_HANDLER( megadriv_68k_io_write );
 
44
 
 
45
/* These handlers are needed by puckpkmn.c for his memory map */
 
46
extern READ8_DEVICE_HANDLER( megadriv_68k_YM2612_read);
 
47
extern WRITE8_DEVICE_HANDLER( megadriv_68k_YM2612_write);
 
48
 
 
49
/* These are needed to create external input handlers (see e.g. MESS) */
 
50
/* Regs are also used by Megaplay! */
 
51
extern UINT8 (*megadrive_io_read_data_port_ptr)(running_machine *machine, int offset);
 
52
extern void (*megadrive_io_write_data_port_ptr)(running_machine *machine, int offset, UINT16 data);
 
53
extern UINT8 megadrive_io_data_regs[3];
 
54
extern UINT8 megadrive_io_ctrl_regs[3];
 
55
 
36
56
MACHINE_RESET( megadriv );
37
57
VIDEO_START( megadriv );
38
58
VIDEO_UPDATE( megadriv );
39
59
VIDEO_EOF( megadriv );
40
60
 
41
 
/* Needed to create external input handlers (see e.g. MESS) */
42
 
 
43
 
extern UINT8 (*megadrive_io_read_data_port_ptr)(running_machine *machine, int offset);
44
 
extern void (*megadrive_io_write_data_port_ptr)(running_machine *machine, int offset, UINT16 data);
45
 
extern UINT8 megadrive_io_data_regs[3];
46
 
extern UINT8 megadrive_io_ctrl_regs[3];
47
61
 
48
62
extern UINT16* megadrive_vdp_palette_lookup;
49
63
extern UINT16* megadrive_vdp_palette_lookup_sprite; // for C2
56
70
extern int genvdp_use_cram;
57
71
extern int genesis_always_irq6;
58
72
extern int genesis_other_hacks;
 
73
 
 
74
 
 
75
/* Megaplay - Megatech specific */
 
76
/* It might be possible to move the following structs in the drivers */
 
77
 
 
78
#define MP_ROM  0x10
 
79
#define MP_GAME 0
 
80
 
 
81
struct _mplay_bios      /* once all the regs are saved in this structure, it would be better to reorganize it a bit... */
 
82
{
 
83
        UINT32 bios_mode;  // determines whether ROM banks or Game data
 
84
                                                                   // is to read from 0x8000-0xffff
 
85
 
 
86
        UINT32 bios_bank; // ROM bank selection
 
87
        UINT16 game_banksel;  // Game bank selection
 
88
        UINT32 readpos;  // serial bank selection position (9-bit)
 
89
        UINT32 mp_bios_bank_addr;
 
90
 
 
91
        UINT32 bios_width;  // determines the way the game info ROM is read
 
92
        UINT8 bios_ctrl[6];
 
93
        UINT8 bios_6600;
 
94
        UINT8 bios_6403;
 
95
        UINT8 bios_6404;
 
96
};
 
97
 
 
98
extern struct _mplay_bios mplay_bios;   // defined in megaplay.c
 
99
 
 
100
struct _mtech_bios      /* once all the regs are saved in this structure, it would be better to reorganize it a bit... */
 
101
{
 
102
        UINT8 mt_cart_select_reg;
 
103
        UINT32 bios_port_ctrl;
 
104
        int current_game_is_sms; // is the current game SMS based (running on genesis z80, in VDP compatibility mode)
 
105
        UINT32 bios_ctrl_inputs;
 
106
        UINT8 bios_ctrl[6];
 
107
 
 
108
        int mt_bank_bank_pos;
 
109
        int mt_bank_partial;
 
110
        int mt_bank_addr;
 
111
};