Previous 199869 Revisions Next

r17837 Wednesday 12th September, 2012 at 17:03:17 UTC by Aaron Giles
AM_BASE_LEGACY breathes its last.
[src/emu]addrmap.h
[src/mame/audio]t5182.c t5182.h
[src/mame/drivers]aleck64.c darkmist.c konamigx.c ms32.c mustache.c namcos2.c naomi.c neogeo.c nmk16.c panicr.c pgm.c spool99.c tmmjprd.c
[src/mame/includes]dc.h konamigx.h megadriv.h namcos2.h naomi.h neogeo.h pgm.h
[src/mame/machine]megacd.c megadriv.c n64.c namcos2.c naomi.c pgmprot2.c pgmprot3.c pgmprot5.c pgmprot6.c
[src/mame/video]konamigx.c pgm.c
[src/mess/drivers]dc.c n64.c ng_aes.c

trunk/src/mame/audio/t5182.c
r17836r17837
162162static UINT8 *t5182_sharedram;
163163static int irqstate;
164164
165void t5182_init(running_machine &machine)
166{
167   t5182_sharedram = reinterpret_cast<UINT8 *>(machine.root_device().memshare("t5182_sharedram")->ptr());
168}
169
165170READ8_HANDLER(t5182_sharedram_r)
166171{
167172   return t5182_sharedram[offset];
r17836r17837
298303ADDRESS_MAP_START( t5182_map, AS_PROGRAM, 8, driver_device )
299304   AM_RANGE(0x0000, 0x1fff) AM_ROM   // internal ROM
300305   AM_RANGE(0x2000, 0x27ff) AM_RAM   AM_MIRROR(0x1800) // internal RAM
301   AM_RANGE(0x4000, 0x40ff) AM_RAM AM_MIRROR(0x3F00) AM_BASE_LEGACY(&t5182_sharedram) // 2016 with four 74ls245s, one each for main and t5182 address and data. pins 23, 22, 20, 19, 18 are all tied low so only 256 bytes are usable
306   AM_RANGE(0x4000, 0x40ff) AM_RAM AM_MIRROR(0x3F00) AM_SHARE("t5182_sharedram") // 2016 with four 74ls245s, one each for main and t5182 address and data. pins 23, 22, 20, 19, 18 are all tied low so only 256 bytes are usable
302307   AM_RANGE(0x8000, 0xffff) AM_ROM   // external ROM
303308ADDRESS_MAP_END
304309
trunk/src/mame/audio/t5182.h
r17836r17837
55#define CPUTAG_T5182 "t5182"
66#define T5182COINPORT "T5182_COIN"
77
8void t5182_init(running_machine &machine);
9
810ADDRESS_MAP_EXTERN( t5182_map, 8 );
911ADDRESS_MAP_EXTERN( t5182_io, 8 );
1012
trunk/src/mame/machine/naomi.c
r17836r17837
2222#include "includes/naomi.h"
2323#include "includes/dc.h"
2424
25UINT64 *naomi_ram64;
2625int jvsboard_type;
2726UINT16 actel_id;
2827
r17836r17837
3433//  else
3534//      printf("%08x\n", space->device().safe_pc());
3635
37   return naomi_ram64[0x2ad238/8];
36   return space->machine().driver_data<dc_state>()->dc_ram[0x2ad238/8];
3837}
3938
4039static READ64_HANDLER( naomi_biosh_idle_skip_r )
r17836r17837
4443
4544//   printf("%08x\n", space->device().safe_pc());
4645
47   return naomi_ram64[0x2b0600/8];
46   return space->machine().driver_data<dc_state>()->dc_ram[0x2b0600/8];
4847}
4948
5049static READ64_HANDLER( naomi2_biose_idle_skip_r )
r17836r17837
5554//  else
5655//      printf("%08x\n", space->device().safe_pc());
5756
58   return naomi_ram64[0x2b0600/8];
57   return space->machine().driver_data<dc_state>()->dc_ram[0x2b0600/8];
5958}
6059
6160static UINT8 asciihex_to_dec(UINT8 in)
r17836r17837
246245   if (space->device().safe_pc()==0x0c0c9adc)
247246      space->device().execute().spin_until_time(attotime::from_usec(500));
248247
249   return naomi_ram64[0x1aae18/8];
248   return space->machine().driver_data<dc_state>()->dc_ram[0x1aae18/8];
250249}
251250
252251DRIVER_INIT_MEMBER(dc_state,ggxxsla)
r17836r17837
260259   if (space->device().safe_pc()==0xc0b5c3c) // or 0xc0bab0c
261260      space->device().execute().spin_until_time(attotime::from_usec(500));
262261
263   return naomi_ram64[0x1837b8/8];
262   return space->machine().driver_data<dc_state>()->dc_ram[0x1837b8/8];
264263}
265264
266265
r17836r17837
277276
278277   //printf("%08x\n", space->device().safe_pc());
279278
280   return naomi_ram64[0x18d6c8/8];
279   return space->machine().driver_data<dc_state>()->dc_ram[0x18d6c8/8];
281280}
282281
283282DRIVER_INIT_MEMBER(dc_state,ggxxrl)
r17836r17837
292291   if (space->device().safe_pc()==0xc36a2dc)
293292      space->device().execute().spin_until_time(attotime::from_usec(500));
294293
295   return naomi_ram64[0x5dc900/8];
294   return space->machine().driver_data<dc_state>()->dc_ram[0x5dc900/8];
296295}
297296
298297DRIVER_INIT_MEMBER(dc_state,sfz3ugd)
r17836r17837
340339//  else
341340//  printf("%08x\n", space->device().safe_pc());
342341
343   return naomi_ram64[0xa25fb8/8];
342   return space->machine().driver_data<dc_state>()->dc_ram[0xa25fb8/8];
344343}
345344
346345DRIVER_INIT_MEMBER(dc_state,hotd2)
trunk/src/mame/machine/megadriv.c
r17836r17837
5656int genesis_other_hacks = 0; // misc hacks
5757
5858timer_device* megadriv_scanline_timer;
59UINT16* megadrive_ram = NULL;
6059
6160struct genesis_z80_vars
6261{
r17836r17837
577576   AM_RANGE(0xa11200, 0xa11201) AM_WRITE_LEGACY(megadriv_68k_req_z80_reset)
578577
579578   /* these are fake - remove allocs in VIDEO_START to use these to view ram instead */
580//  AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE_LEGACY(&megadrive_vdp_vram)
581//  AM_RANGE(0xb10000, 0xb1007f) AM_RAM AM_BASE_LEGACY(&megadrive_vdp_vsram)
582//  AM_RANGE(0xb10100, 0xb1017f) AM_RAM AM_BASE_LEGACY(&megadrive_vdp_cram)
579//  AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_SHARE("megadrive_vdp_vram")
580//  AM_RANGE(0xb10000, 0xb1007f) AM_RAM AM_SHARE("megadrive_vdp_vsram")
581//  AM_RANGE(0xb10100, 0xb1017f) AM_RAM AM_SHARE("megadrive_vdp_cram")
583582
584583   AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
585584   AM_RANGE(0xd00000, 0xd0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w) // the earth defend
586585
587   AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE_LEGACY(&megadrive_ram)
586   AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_SHARE("megadrive_ram")
588587//  AM_RANGE(0xff0000, 0xffffff) AM_READONLY
589588   /*       0xe00000 - 0xffffff) == MAIN RAM (64kb, Mirrored, most games use ff0000 - ffffff) */
590589ADDRESS_MAP_END
r17836r17837
883882   AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
884883   AM_RANGE(0xd00000, 0xd0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
885884
886   AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE_LEGACY(&megadrive_ram)
885   AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_SHARE("megadrive_ram")
887886ADDRESS_MAP_END
888887
889888MACHINE_CONFIG_DERIVED( md_bootleg, megadriv )
r17836r17837
10081007   {
10091008   //  set_refresh_rate(megadriv_framerate);
10101009   //  machine.device("maincpu")->set_clock_scale(0.9950f); /* Fatal Rewind is very fussy... (and doesn't work now anyway, so don't bother with this) */
1011      if (megadrive_ram)
1012         memset(megadrive_ram,0x00,0x10000);
1010      if (state->m_megadrive_ram)
1011         memset(state->m_megadrive_ram,0x00,0x10000);
10131012   }
10141013
10151014   megadriv_reset_vdp(machine);
trunk/src/mame/machine/namcos2.c
r17836r17837
164164/* 68000 Shared serial communications processor (CPU5?)       */
165165/**************************************************************/
166166
167static UINT16  namcos2_68k_serial_comms_ctrl[0x8];
168UINT16 *namcos2_68k_serial_comms_ram;
169
170READ16_HANDLER( namcos2_68k_serial_comms_ram_r ){
171   return namcos2_68k_serial_comms_ram[offset];
167READ16_MEMBER( namcos2_state::serial_comms_ram_r ){
168   return m_serial_comms_ram[offset];
172169}
173170
174WRITE16_HANDLER( namcos2_68k_serial_comms_ram_w ){
175   COMBINE_DATA( &namcos2_68k_serial_comms_ram[offset] );
171WRITE16_MEMBER( namcos2_state::serial_comms_ram_w ){
172   COMBINE_DATA( &m_serial_comms_ram[offset] );
176173}
177174
178READ16_HANDLER( namcos2_68k_serial_comms_ctrl_r )
175READ16_MEMBER( namcos2_state::serial_comms_ctrl_r )
179176{
180   UINT16 retval = namcos2_68k_serial_comms_ctrl[offset];
177   UINT16 retval = m_serial_comms_ctrl[offset];
181178
182179   switch(offset){
183180   case 0x00:
r17836r17837
190187   return retval;
191188}
192189
193WRITE16_HANDLER( namcos2_68k_serial_comms_ctrl_w )
190WRITE16_MEMBER( namcos2_state::serial_comms_ctrl_w )
194191{
195   COMBINE_DATA( &namcos2_68k_serial_comms_ctrl[offset] );
192   COMBINE_DATA( &m_serial_comms_ctrl[offset] );
196193}
197194
198195/*************************************************************/
trunk/src/mame/machine/pgmprot2.c
r17836r17837
280280
281281static READ16_HANDLER( ddp2_main_speedup_r )
282282{
283
284   UINT16 data = pgm_mainram[0x0ee54/2];
283   pgm_state *state = space->machine().driver_data<pgm_state>();
284   UINT16 data = state->m_mainram[0x0ee54/2];
285285   int pc = space->device().safe_pc();
286286
287287   if (pc == 0x149dce) space->device().execute().spin_until_interrupt();
trunk/src/mame/machine/megacd.c
r17836r17837
22352235void segacd_init_main_cpu( running_machine& machine )
22362236{
22372237   address_space* space = machine.device("maincpu")->memory().space(AS_PROGRAM);
2238
2238   
2239   segacd_font_bits = reinterpret_cast<UINT16 *>(machine.root_device().memshare("segacd_font")->ptr());
2240   segacd_backupram = reinterpret_cast<UINT16 *>(machine.root_device().memshare("backupram")->ptr());
2241   segacd_dataram = reinterpret_cast<UINT16 *>(machine.root_device().memshare("dataram")->ptr());
2242   segacd_dataram2 = reinterpret_cast<UINT16 *>(machine.root_device().memshare("dataram2")->ptr());
2243   segacd_4meg_prgram = reinterpret_cast<UINT16 *>(machine.root_device().memshare("segacd_program")->ptr());
2244   
22392245   segacd_4meg_prgbank = 0;
22402246
22412247
r17836r17837
30083014}
30093015
30103016ADDRESS_MAP_START( segacd_map, AS_PROGRAM, 16, driver_device )
3011   AM_RANGE(0x000000, 0x07ffff) AM_RAM AM_BASE_LEGACY(&segacd_4meg_prgram)
3017   AM_RANGE(0x000000, 0x07ffff) AM_RAM AM_SHARE("segacd_program")
30123018
3013   AM_RANGE(0x080000, 0x0bffff) AM_READWRITE_LEGACY(segacd_sub_dataram_part1_r, segacd_sub_dataram_part1_w) AM_BASE_LEGACY(&segacd_dataram)
3014   AM_RANGE(0x0c0000, 0x0dffff) AM_READWRITE_LEGACY(segacd_sub_dataram_part2_r, segacd_sub_dataram_part2_w) AM_BASE_LEGACY(&segacd_dataram2)
3019   AM_RANGE(0x080000, 0x0bffff) AM_READWRITE_LEGACY(segacd_sub_dataram_part1_r, segacd_sub_dataram_part1_w) AM_SHARE("dataram")
3020   AM_RANGE(0x0c0000, 0x0dffff) AM_READWRITE_LEGACY(segacd_sub_dataram_part2_r, segacd_sub_dataram_part2_w) AM_SHARE("dataram2")
30153021
3016   AM_RANGE(0xfe0000, 0xfe3fff) AM_READWRITE_LEGACY(segacd_backupram_r,segacd_backupram_w) AM_SHARE("backupram") AM_BASE_LEGACY(&segacd_backupram)// backup RAM, odd bytes only!
3022   AM_RANGE(0xfe0000, 0xfe3fff) AM_READWRITE_LEGACY(segacd_backupram_r,segacd_backupram_w) AM_SHARE("backupram") // backup RAM, odd bytes only!
30173023
30183024   AM_RANGE(0xff0000, 0xff001f) AM_DEVWRITE8_LEGACY("rfsnd", rf5c68_w, 0x00ff)  // PCM, RF5C164
30193025   AM_RANGE(0xff0020, 0xff003f) AM_DEVREAD8_LEGACY("rfsnd", rf5c68_r, 0x00ff)
r17836r17837
30383044   AM_RANGE(0xff8038, 0xff8041) AM_READ8_LEGACY(segacd_cdd_rx_r,0xffff)
30393045   AM_RANGE(0xff8042, 0xff804b) AM_WRITE8_LEGACY(segacd_cdd_tx_w,0xffff)
30403046   AM_RANGE(0xff804c, 0xff804d) AM_READWRITE_LEGACY(segacd_font_color_r, segacd_font_color_w)
3041   AM_RANGE(0xff804e, 0xff804f) AM_RAM AM_BASE_LEGACY(&segacd_font_bits)
3047   AM_RANGE(0xff804e, 0xff804f) AM_RAM AM_SHARE("segacd_font")
30423048   AM_RANGE(0xff8050, 0xff8057) AM_READ_LEGACY(segacd_font_converted_r)
30433049   AM_RANGE(0xff8058, 0xff8059) AM_READWRITE_LEGACY(segacd_stampsize_r, segacd_stampsize_w) // Stamp size
30443050   AM_RANGE(0xff805a, 0xff805b) AM_READWRITE_LEGACY(segacd_stampmap_base_address_r, segacd_stampmap_base_address_w) // Stamp map base address
trunk/src/mame/machine/pgmprot3.c
r17836r17837
277277
278278static READ16_HANDLER( dmnfrnt_main_speedup_r )
279279{
280   UINT16 data = pgm_mainram[0xa03c/2];
280   pgm_state *state = space->machine().driver_data<pgm_state>();
281   UINT16 data = state->m_mainram[0xa03c/2];
281282   int pc = space->device().safe_pc();
282283   if (pc == 0x10193a) space->device().execute().spin_until_interrupt();
283284   else if (pc == 0x1019a4) space->device().execute().spin_until_interrupt();
trunk/src/mame/machine/n64.c
r17836r17837
24042404
24052405MACHINE_START( n64 )
24062406{
2407   n64_state *state = machine.driver_data<n64_state>();
2408   rdram = reinterpret_cast<UINT32 *>(state->memshare("rdram")->ptr());
2409   n64_sram = reinterpret_cast<UINT32 *>(state->memshare("sram")->ptr());
2410   rsp_imem = reinterpret_cast<UINT32 *>(state->memshare("rsp_imem")->ptr());
2411   rsp_dmem = reinterpret_cast<UINT32 *>(state->memshare("rsp_dmem")->ptr());
2412
24072413   mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_COMPATIBLE_OPTIONS);
24082414
24092415   /* configure fast RAM regions for DRC */
trunk/src/mame/machine/pgmprot5.c
r17836r17837
3232// if(dw2reg<0x20) //NOT SURE!!
3333   {
3434      //The value at 0x80EECE is computed in the routine at 0x107c18
35      UINT16 d = pgm_mainram[0xEECE/2];
35      pgm_state *state = space->machine().driver_data<pgm_state>();
36      UINT16 d = state->m_mainram[0xEECE/2];
3637      UINT16 d2 = 0;
3738      d = (d >> 8) | (d << 8);
3839      DW2BITSWAP(d, d2, 7,  0);
trunk/src/mame/machine/pgmprot6.c
r17836r17837
185185
186186static READ16_HANDLER( olds_prot_swap_r )
187187{
188   pgm_state *state = space->machine().driver_data<pgm_state>();
188189   if (space->device().safe_pc() < 0x100000)      //bios
189      return pgm_mainram[0x178f4 / 2];
190      return state->m_mainram[0x178f4 / 2];
190191   else                  //game
191      return pgm_mainram[0x178d8 / 2];
192      return state->m_mainram[0x178d8 / 2];
192193
193194}
194195
trunk/src/mame/video/pgm.c
r17836r17837
676676      pgm_state *state = screen.machine().driver_data<pgm_state>();
677677
678678      /* first 0xa00 of main ram = sprites, seems to be buffered, DMA? */
679      memcpy(state->m_spritebufferram, pgm_mainram, 0xa00);
679      memcpy(state->m_spritebufferram, state->m_mainram, 0xa00);
680680   }
681681}
trunk/src/mame/video/konamigx.c
r17836r17837
18391839   SET_TILE_INFO_MEMBER(0, tileno, colour, TILE_FLIPYX(flip));
18401840}
18411841
1842UINT32* konamigx_type3_psac2_bank;
18431842static int konamigx_type3_psac2_actual_bank;
18441843//int konamigx_type3_psac2_actual_last_bank = 0;
18451844
r17836r17837
18471846{
18481847   // other bits are used for something...
18491848
1850   COMBINE_DATA(&konamigx_type3_psac2_bank[offset]);
1851   konamigx_type3_psac2_actual_bank = (konamigx_type3_psac2_bank[0] & 0x10000000) >> 28;
1849   COMBINE_DATA(&m_konamigx_type3_psac2_bank[offset]);
1850   konamigx_type3_psac2_actual_bank = (m_konamigx_type3_psac2_bank[0] & 0x10000000) >> 28;
18521851
18531852   /* handle this by creating 2 roz tilemaps instead, otherwise performance dies completely on dual screen mode
18541853    if (konamigx_type3_psac2_actual_bank!=konamigx_type3_psac2_actual_last_bank)
trunk/src/mame/includes/megadriv.h
r17836r17837
105105public:
106106   md_base_state(const machine_config &mconfig, device_type type, const char *tag)
107107   : driver_device(mconfig, type, tag),
108      m_vdp(*this,"gen_vdp")
108      m_vdp(*this,"gen_vdp"),
109      m_megadrive_ram(*this,"megadrive_ram")
109110   { }
110111   required_device<sega_genesis_vdp_device> m_vdp;
112   optional_shared_ptr<UINT16> m_megadrive_ram;
111113
112114   DECLARE_DRIVER_INIT(megadriv_c2);
113115   DECLARE_DRIVER_INIT(megadrie);
r17836r17837
445447{
446448public:
447449   segacd_state(const machine_config &mconfig, device_type type, const char *tag)
448   : _32x_state(mconfig, type, tag) { }
450   : _32x_state(mconfig, type, tag),
451     m_font_bits(*this,"segacd_font") { }
452   
453   required_shared_ptr<UINT16> m_font_bits;
449454};
450455
451456extern int sega_cd_connected;
trunk/src/mame/includes/dc.h
r17836r17837
1515      dc_framebuffer_ram(*this, "frameram"),
1616      dc_texture_ram(*this, "dc_texture_ram"),
1717      dc_sound_ram(*this, "dc_sound_ram"),
18      dc_ram(*this, "dc_ram"),
1819      pvr2_texture_ram(*this, "textureram2"),
1920      pvr2_framebuffer_ram(*this, "frameram2"),
2021      elan_ram(*this, "elan_ram") { }
r17836r17837
2324   required_shared_ptr<UINT64> dc_texture_ram; // '64-bit access area'
2425
2526   required_shared_ptr<UINT32> dc_sound_ram;
27   required_shared_ptr<UINT64> dc_ram;
2628
2729   /* machine related */
2830   UINT32 dc_rtcregister[4];
trunk/src/mame/includes/pgm.h
r17836r17837
1616      : driver_device(mconfig, type, tag),
1717        m_videoregs(*this, "videoregs"),
1818        m_videoram(*this, "videoram"),
19        m_z80_mainram(*this, "z80_mainram")
19        m_z80_mainram(*this, "z80_mainram"),
20        m_mainram(*this, "sram")
2021      {
2122         m_irq4_disabled = 0;
2223      }
r17836r17837
2526   required_shared_ptr<UINT16> m_videoregs;
2627   required_shared_ptr<UINT16> m_videoram;
2728   required_shared_ptr<UINT8> m_z80_mainram;
28//  UINT16 *      m_mainram;  // currently this is also used by nvram handler
29   required_shared_ptr<UINT16> m_mainram;
2930   UINT16 *      m_bg_videoram;
3031   UINT16 *      m_tx_videoram;
3132   UINT16 *      m_rowscrollram;
r17836r17837
299300
300301
301302
302extern UINT16 *pgm_mainram;   // used by nvram handler, we cannot move it to driver data struct
303
304303/*----------- defined in drivers/pgm.c -----------*/
305304
306305void pgm_basic_init( running_machine &machine, bool set_bank  = true );
trunk/src/mame/includes/naomi.h
r17836r17837
2525
2626
2727
28extern UINT64 *naomi_ram64;
29
3028extern int jvsboard_type;
3129extern UINT16 actel_id;
3230
trunk/src/mame/includes/namcos2.h
r17836r17837
188188        m_dpram(*this, "dpram"),
189189        m_paletteram(*this, "paletteram"),
190190        m_spriteram(*this, "spriteram"),
191        m_serial_comms_ram(*this, "serialram"),
191192        m_rozram(*this, "rozram"),
192193        m_roz_ctrl(*this, "rozctrl"),
193194        m_c45_road(*this, "c45_road")
r17836r17837
250251   DECLARE_WRITE16_MEMBER( rozram_word_w );
251252   DECLARE_READ16_MEMBER( gfx_ctrl_r );
252253   DECLARE_WRITE16_MEMBER( gfx_ctrl_w );
254   DECLARE_READ16_MEMBER( serial_comms_ram_r );
255   DECLARE_WRITE16_MEMBER( serial_comms_ram_w );
256   DECLARE_READ16_MEMBER( serial_comms_ctrl_r );
257   DECLARE_WRITE16_MEMBER( serial_comms_ctrl_w );
253258
254259   void draw_sprite_init();
255260   void update_palette();
r17836r17837
264269   required_shared_ptr<UINT8> m_dpram;   /* 2Kx8 */
265270   required_shared_ptr<UINT16> m_paletteram;
266271   optional_shared_ptr<UINT16> m_spriteram;
272   optional_shared_ptr<UINT16> m_serial_comms_ram;
267273   optional_shared_ptr<UINT16> m_rozram;
268274   optional_shared_ptr<UINT16> m_roz_ctrl;
269275   tilemap_t *m_tilemap_roz;
270276   UINT16 m_gfx_ctrl;
277   UINT16 m_serial_comms_ctrl[0x8];
271278
272279   optional_device<namco_c45_road_device> m_c45_road;
273280};
r17836r17837
309316READ16_HANDLER( namcos2_68k_data_rom_r );
310317
311318/**************************************************************/
312/* Shared serial communications processory (CPU5 ????)        */
313/**************************************************************/
314READ16_HANDLER( namcos2_68k_serial_comms_ram_r );
315WRITE16_HANDLER( namcos2_68k_serial_comms_ram_w );
316READ16_HANDLER( namcos2_68k_serial_comms_ctrl_r );
317WRITE16_HANDLER( namcos2_68k_serial_comms_ctrl_w );
318
319extern UINT16 *namcos2_68k_serial_comms_ram;
320
321/**************************************************************/
322319/* Shared protection/random number generator                  */
323320/**************************************************************/
324321READ16_HANDLER( namcos2_68k_key_r );
trunk/src/mame/includes/neogeo.h
r17836r17837
3636{
3737public:
3838   neogeo_state(const machine_config &mconfig, device_type type, const char *tag)
39      : driver_device(mconfig, type, tag) { }
39      : driver_device(mconfig, type, tag),
40        m_save_ram(*this, "save_ram") { }
4041
4142   /* memory pointers */
4243//  UINT8      *memcard_data;   // this currently uses generic handlers
43//  UINT16     *save_ram;       // this currently uses generic handlers
44   required_shared_ptr<UINT16> m_save_ram;       // this currently uses generic handlers
4445
4546   /* video-related */
4647   UINT8      *m_sprite_gfx;
trunk/src/mame/includes/konamigx.h
r17836r17837
88      m_psacram(*this,"psacram"),
99      m_subpaletteram32(*this,"subpaletteram"),
1010      m_k053936_0_ctrl(*this,"k053936_0_ctrl",32),
11      m_k053936_0_linectrl(*this,"k053936_0_line",32)
11      m_k053936_0_linectrl(*this,"k053936_0_line",32),
12      m_konamigx_type3_psac2_bank(*this,"psac2_bank")
1213      { }
1314
1415   required_device<cpu_device> m_maincpu;
r17836r17837
1718   optional_shared_ptr<UINT32> m_subpaletteram32;
1819   optional_shared_ptr<UINT16> m_k053936_0_ctrl;
1920   optional_shared_ptr<UINT16> m_k053936_0_linectrl;
21   optional_shared_ptr<UINT32> m_konamigx_type3_psac2_bank;
2022   DECLARE_WRITE32_MEMBER(esc_w);
2123   DECLARE_WRITE32_MEMBER(eeprom_w);
2224   DECLARE_WRITE32_MEMBER(control_w);
r17836r17837
148150SCREEN_UPDATE_RGB32(konamigx_left);
149151SCREEN_UPDATE_RGB32(konamigx_right);
150152
151#ifdef UNUSED_FUNCTION
152#endif
153
154153extern int konamigx_current_frame;
155extern UINT32* konamigx_type3_psac2_bank;
156154
157155
158156/*----------- defined in machine/konamigx.c -----------*/
trunk/src/mame/drivers/ms32.c
r17836r17837
363363   AM_RANGE(0xfce00034, 0xfce00037) AM_WRITENOP // irq ack?
364364   AM_RANGE(0xfce00038, 0xfce0003b) AM_WRITE(reset_sub_w)
365365   AM_RANGE(0xfce00050, 0xfce0005f) AM_WRITENOP   // watchdog? I haven't investigated
366//  AM_RANGE(0xfce00000, 0xfce0007f) AM_WRITEONLY AM_BASE_LEGACY(&ms32_fce00000) /* registers not ram? */
366//  AM_RANGE(0xfce00000, 0xfce0007f) AM_WRITEONLY AM_SHARE("ms32_fce00000") /* registers not ram? */
367367   AM_RANGE(0xfce00000, 0xfce00003) AM_WRITE(ms32_gfxctrl_w)   /* flip screen + other unknown bits */
368368   AM_RANGE(0xfce00280, 0xfce0028f) AM_WRITE(ms32_brightness_w)   // global brightness control
369369/**/AM_RANGE(0xfce00600, 0xfce0065f) AM_RAM AM_SHARE("roz_ctrl")      /* roz control registers */
trunk/src/mame/drivers/pgm.c
r17836r17837
191191#include "includes/pgm.h"
192192
193193
194UINT16 *pgm_mainram;
195
196
197194READ16_MEMBER(pgm_state::pgm_videoram_r)
198195{
199196
r17836r17837
320317ADDRESS_MAP_START( pgm_base_mem, AS_PROGRAM, 16, pgm_state )
321318   AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
322319
323   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE_LEGACY(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
320   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_SHARE("sram") /* Main Ram */
324321
325322   AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_READWRITE(pgm_videoram_r, pgm_videoram_w) AM_SHARE("videoram") /* IGS023 VIDEO CHIP */
326323   AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
trunk/src/mame/drivers/naomi.c
r17836r17837
15821582   AM_RANGE(0x08000000, 0x09ffffff) AM_MIRROR(0x02000000) AM_NOP // 'Unassigned'
15831583
15841584   /* Area 3 */
1585   AM_RANGE(0x0c000000, 0x0dffffff) AM_MIRROR(0xa2000000) AM_RAM AM_BASE_LEGACY(&naomi_ram64)
1585   AM_RANGE(0x0c000000, 0x0dffffff) AM_MIRROR(0xa2000000) AM_RAM AM_SHARE("dc_ram")
15861586
15871587   /* Area 4 */
15881588   AM_RANGE(0x10000000, 0x107fffff) AM_MIRROR(0x02000000) AM_WRITE_LEGACY(ta_fifo_poly_w )
r17836r17837
16441644    AM_RANGE(0x0a000000, 0x0bffffff) AM_RAM AM_SHARE("elan_ram") // T&L chip RAM
16451645
16461646   /* Area 3 */
1647   AM_RANGE(0x0c000000, 0x0dffffff) AM_MIRROR(0xa2000000) AM_RAM AM_BASE_LEGACY(&naomi_ram64)
1647   AM_RANGE(0x0c000000, 0x0dffffff) AM_MIRROR(0xa2000000) AM_RAM AM_SHARE("dc_ram")
16481648
16491649   /* Area 4 */
16501650   AM_RANGE(0x10000000, 0x107fffff) AM_WRITE_LEGACY(ta_fifo_poly_w )
r17836r17837
17861786   AM_RANGE(0x08000000, 0x0bffffff) AM_NOP // 'Unassigned'
17871787
17881788   /* Area 3 */
1789   AM_RANGE(0x0c000000, 0x0cffffff) AM_RAM AM_BASE_LEGACY(&naomi_ram64) AM_SHARE("share4")
1790   AM_RANGE(0x0d000000, 0x0dffffff) AM_RAM AM_SHARE("share4")// extra ram on Naomi (mirror on DC)
1791   AM_RANGE(0x0e000000, 0x0effffff) AM_RAM AM_SHARE("share4")// mirror
1792   AM_RANGE(0x0f000000, 0x0fffffff) AM_RAM AM_SHARE("share4")// mirror
1789   AM_RANGE(0x0c000000, 0x0cffffff) AM_RAM AM_SHARE("dc_ram")
1790   AM_RANGE(0x0d000000, 0x0dffffff) AM_RAM AM_SHARE("dc_ram")// extra ram on Naomi (mirror on DC)
1791   AM_RANGE(0x0e000000, 0x0effffff) AM_RAM AM_SHARE("dc_ram")// mirror
1792   AM_RANGE(0x0f000000, 0x0fffffff) AM_RAM AM_SHARE("dc_ram")// mirror
17931793
1794   AM_RANGE(0x8c000000, 0x8cffffff) AM_RAM AM_SHARE("share4") // RAM access through cache
1795   AM_RANGE(0x8d000000, 0x8dffffff) AM_RAM AM_SHARE("share4") // RAM access through cache
1794   AM_RANGE(0x8c000000, 0x8cffffff) AM_RAM AM_SHARE("dc_ram") // RAM access through cache
1795   AM_RANGE(0x8d000000, 0x8dffffff) AM_RAM AM_SHARE("dc_ram") // RAM access through cache
17961796
17971797   /* Area 4 - half the texture memory, like dreamcast, not naomi */
17981798   AM_RANGE(0x10000000, 0x107fffff) AM_MIRROR(0x02000000) AM_WRITE_LEGACY(ta_fifo_poly_w )
trunk/src/mame/drivers/mustache.c
r17836r17837
250250
251251DRIVER_INIT_MEMBER(mustache_state,mustache)
252252{
253   t5182_init(machine());
254
253255   int i;
254256
255257   int G1 = machine().root_device().memregion("gfx1")->bytes()/3;
trunk/src/mame/drivers/neogeo.c
r17836r17837
167167 *************************************/
168168
169169static UINT8 *memcard_data;
170static UINT16 *save_ram;
171170
172171static const char *audio_banks[4] =
173172{
r17836r17837
499498{
500499
501500   if (m_save_ram_unlocked)
502      COMBINE_DATA(&save_ram[offset]);
501      COMBINE_DATA(&m_save_ram[offset]);
503502}
504503
505504
r17836r17837
992991   neogeo_state *state = machine.driver_data<neogeo_state>();
993992
994993   /* configure NVRAM */
995   machine.device<nvram_device>("saveram")->set_base(save_ram, 0x10000);
994   machine.device<nvram_device>("saveram")->set_base(state->m_save_ram, 0x10000);
996995
997996   /* set the BIOS bank */
998997   state->membank(NEOGEO_BANK_BIOS)->set_base(state->memregion("mainbios")->base());
r17836r17837
11051104   AM_RANGE(0x400000, 0x401fff) AM_MIRROR(0x3fe000) AM_READWRITE(neogeo_paletteram_r, neogeo_paletteram_w)
11061105   AM_RANGE(0x800000, 0x800fff) AM_READWRITE(memcard_r, memcard_w)
11071106   AM_RANGE(0xc00000, 0xc1ffff) AM_MIRROR(0x0e0000) AM_ROMBANK(NEOGEO_BANK_BIOS)
1108   AM_RANGE(0xd00000, 0xd0ffff) AM_MIRROR(0x0f0000) AM_RAM_WRITE(save_ram_w) AM_BASE_LEGACY(&save_ram)
1107   AM_RANGE(0xd00000, 0xd0ffff) AM_MIRROR(0x0f0000) AM_RAM_WRITE(save_ram_w) AM_SHARE("save_ram")
11091108   AM_RANGE(0xe00000, 0xffffff) AM_READ(neogeo_unmapped_r)
11101109ADDRESS_MAP_END
11111110
trunk/src/mame/drivers/spool99.c
r17836r17837
276276   AM_RANGE(0xa800, 0xabff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_byte_le_w) AM_SHARE("paletteram")
277277
278278   AM_RANGE(0xb000, 0xdfff) AM_RAM
279//  AM_RANGE(0xdf00, 0xdfff) AM_READWRITE(vcarn_io_r,vcarn_io_w) AM_BASE_LEGACY(&vcarn_io)
279//  AM_RANGE(0xdf00, 0xdfff) AM_READWRITE(vcarn_io_r,vcarn_io_w) AM_SHARE("vcarn_io")
280280   AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(spool99_vram_w) AM_SHARE("vram")
281281   AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(spool99_cram_w) AM_SHARE("cram")
282282ADDRESS_MAP_END
trunk/src/mame/drivers/tmmjprd.c
r17836r17837
672672   AM_RANGE(0x000000, 0x1fffff) AM_ROM
673673   AM_RANGE(0x200010, 0x200013) AM_READ(randomtmmjprds) // gfx chip status?
674674   /* check these are used .. */
675//  AM_RANGE(0x200010, 0x200013) AM_WRITEONLY AM_BASE_LEGACY(&tmmjprd_viewregs0 )
675//  AM_RANGE(0x200010, 0x200013) AM_WRITEONLY AM_SHARE("tmmjprd_viewregs0")
676676   AM_RANGE(0x200100, 0x200117) AM_WRITEONLY AM_SHARE("tilemap_regs.0" ) // tilemap regs1
677677   AM_RANGE(0x200120, 0x200137) AM_WRITEONLY AM_SHARE("tilemap_regs.1" ) // tilemap regs2
678678   AM_RANGE(0x200140, 0x200157) AM_WRITEONLY AM_SHARE("tilemap_regs.2" ) // tilemap regs3
r17836r17837
681681//  AM_RANGE(0x200300, 0x200303) AM_WRITE_LEGACY(tmmjprd_rombank_w) // used during rom testing, rombank/area select + something else?
682682   AM_RANGE(0x20040c, 0x20040f) AM_WRITE(tmmjprd_brt_1_w)
683683    AM_RANGE(0x200410, 0x200413) AM_WRITE(tmmjprd_brt_2_w)
684//  AM_RANGE(0x200500, 0x200503) AM_WRITEONLY AM_BASE_LEGACY(&tmmjprd_viewregs7 )
685//  AM_RANGE(0x200700, 0x20070f) AM_WRITE(tmmjprd_blitter_w) AM_BASE_LEGACY(&tmmjprd_blitterregs )
686//  AM_RANGE(0x200800, 0x20080f) AM_WRITEONLY AM_BASE_LEGACY(&tmmjprd_viewregs9 ) // never changes?
684//  AM_RANGE(0x200500, 0x200503) AM_WRITEONLY AM_SHARE("tmmjprd_viewregs7")
685//  AM_RANGE(0x200700, 0x20070f) AM_WRITE(tmmjprd_blitter_w) AM_SHARE("tmmjprd_blitterregs")
686//  AM_RANGE(0x200800, 0x20080f) AM_WRITEONLY AM_SHARE("tmmjprd_viewregs9") // never changes?
687687   AM_RANGE(0x200900, 0x2009ff) AM_DEVREADWRITE16("i5000snd", i5000snd_device, read, write, 0xffffffff)
688688   /* hmm */
689//  AM_RANGE(0x279700, 0x279713) AM_WRITEONLY AM_BASE_LEGACY(&tmmjprd_viewregs10 )
689//  AM_RANGE(0x279700, 0x279713) AM_WRITEONLY AM_SHARE("tmmjprd_viewregs10")
690690   /* tilemaps */
691691   AM_RANGE(0x280000, 0x283fff) AM_READWRITE(tmmjprd_tilemap0_r,tmmjprd_tilemap0_w)
692692   AM_RANGE(0x284000, 0x287fff) AM_READWRITE(tmmjprd_tilemap1_r,tmmjprd_tilemap1_w)
trunk/src/mame/drivers/aleck64.c
r17836r17837
276276 */
277277
278278static ADDRESS_MAP_START( n64_map, AS_PROGRAM, 32, n64_state )
279   AM_RANGE(0x00000000, 0x007fffff) AM_RAM   /*AM_MIRROR(0xc0000000)*/ AM_BASE_LEGACY(&rdram)            // RDRAM
279   AM_RANGE(0x00000000, 0x007fffff) AM_RAM   /*AM_MIRROR(0xc0000000)*/ AM_SHARE("rdram")            // RDRAM
280280
281281   AM_RANGE(0x03f00000, 0x03f00027) AM_DEVREADWRITE("rcp", n64_periphs, rdram_reg_r, rdram_reg_w)
282   AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("dmem")               // RSP DMEM
283   AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("imem")               // RSP IMEM
282   AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem")               // RSP DMEM
283   AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("rsp_imem")               // RSP IMEM
284284   AM_RANGE(0x04040000, 0x040fffff) AM_DEVREADWRITE_LEGACY("rsp", n64_sp_reg_r, n64_sp_reg_w)   // RSP
285285   AM_RANGE(0x04100000, 0x041fffff) AM_DEVREADWRITE_LEGACY("rsp", n64_dp_reg_r, n64_dp_reg_w)   // RDP
286286   AM_RANGE(0x04300000, 0x043fffff) AM_DEVREADWRITE("rcp", n64_periphs, mi_reg_r, mi_reg_w)   // MIPS Interface
r17836r17837
305305ADDRESS_MAP_END
306306
307307static ADDRESS_MAP_START( rsp_map, AS_PROGRAM, 32, n64_state )
308   AM_RANGE(0x00000000, 0x00000fff) AM_RAM AM_SHARE("dmem")
309   AM_RANGE(0x00001000, 0x00001fff) AM_RAM AM_SHARE("imem")
310   AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_BASE_LEGACY(&rsp_dmem) AM_SHARE("dmem")
311   AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_BASE_LEGACY(&rsp_imem) AM_SHARE("imem")
308   AM_RANGE(0x00000000, 0x00000fff) AM_RAM AM_SHARE("rsp_dmem")
309   AM_RANGE(0x00001000, 0x00001fff) AM_RAM AM_SHARE("rsp_imem")
310   AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem")
311   AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("rsp_imem")
312312ADDRESS_MAP_END
313313
314314static INPUT_PORTS_START( aleck64 )
trunk/src/mame/drivers/panicr.c
r17836r17837
619619   int size;
620620   int i,j;
621621
622   t5182_init(machine());
623
622624   rom = machine().root_device().memregion("gfx1")->base();
623625   size = machine().root_device().memregion("gfx1")->bytes();
624626
trunk/src/mame/drivers/namcos2.c
r17836r17837
594594   AM_RANGE(0x440000, 0x44ffff) AM_READWRITE(paletteram_word_r,paletteram_word_w) AM_SHARE("paletteram")
595595   AM_RANGE(0x460000, 0x460fff) AM_READWRITE(dpram_word_r,dpram_word_w)
596596   AM_RANGE(0x468000, 0x468fff) AM_READWRITE(dpram_word_r,dpram_word_w) /* mirror */
597   AM_RANGE(0x480000, 0x483fff) AM_READWRITE_LEGACY(namcos2_68k_serial_comms_ram_r,namcos2_68k_serial_comms_ram_w) AM_BASE_LEGACY(&namcos2_68k_serial_comms_ram)
598   AM_RANGE(0x4a0000, 0x4a000f) AM_READWRITE_LEGACY(namcos2_68k_serial_comms_ctrl_r,namcos2_68k_serial_comms_ctrl_w)
597   AM_RANGE(0x480000, 0x483fff) AM_READWRITE(serial_comms_ram_r,serial_comms_ram_w) AM_SHARE("serialram")
598   AM_RANGE(0x4a0000, 0x4a000f) AM_READWRITE(serial_comms_ctrl_r,serial_comms_ctrl_w)
599599ADDRESS_MAP_END
600600
601601/*************************************************************/
trunk/src/mame/drivers/konamigx.c
r17836r17837
12131213   //AM_RANGE(0xcc0000, 0xcc0007) AM_WRITE(type4_prot_w)
12141214   AM_RANGE(0xe00000, 0xe0001f) AM_RAM AM_SHARE("k053936_0_ctrl")
12151215   //AM_RANGE(0xe20000, 0xe20003) AM_WRITENOP
1216   AM_RANGE(0xe40000, 0xe40003) AM_WRITE(konamigx_type3_psac2_bank_w) AM_BASE_LEGACY(&konamigx_type3_psac2_bank)
1216   AM_RANGE(0xe40000, 0xe40003) AM_WRITE(konamigx_type3_psac2_bank_w) AM_SHARE("psac2_bank")
12171217   AM_RANGE(0xe60000, 0xe60fff) AM_RAM AM_SHARE("k053936_0_line")
12181218   AM_RANGE(0xe80000, 0xe83fff) AM_RAM AM_SHARE("paletteram")   // main monitor palette
12191219   AM_RANGE(0xea0000, 0xea3fff) AM_RAM AM_SHARE("subpaletteram")
trunk/src/mame/drivers/darkmist.c
r17836r17837
408408   UINT8 *buffer = auto_alloc_array(machine(), UINT8, 0x10000);
409409   UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0x8000);
410410
411   t5182_init(machine());
412
411413   decrypt_gfx(machine());
412414
413415   decrypt_snd(machine());
trunk/src/mame/drivers/nmk16.c
r17836r17837
882882   AM_RANGE(0x044022, 0x044023) AM_READNOP  /* No Idea */
883883//  AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM    /* Work RAM */
884884//  AM_RANGE(0x0b8000, 0x0b8fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
885//  AM_RANGE(0x0b9000, 0x0bdfff) AM_RAM AM_BASE_LEGACY(&nmk16_mcu_work_ram)   /* Work RAM */
886//  AM_RANGE(0x0be000, 0x0befff) AM_READWRITE(mcu_shared_r,tdragon_mcu_shared_w) AM_BASE_LEGACY(&nmk16_mcu_shared_ram)  /* Work RAM */
885//  AM_RANGE(0x0b9000, 0x0bdfff) AM_RAM AM_SHARE("mcu_work_ram")   /* Work RAM */
886//  AM_RANGE(0x0be000, 0x0befff) AM_READWRITE(mcu_shared_r,tdragon_mcu_shared_w) AM_SHARE("mcu_shared_ram")  /* Work RAM */
887887//  AM_RANGE(0x0bf000, 0x0bffff) AM_RAM    /* Work RAM */
888888   AM_RANGE(0x0b0000, 0x0bffff) AM_RAM_WRITE(tdragon_mainram_w ) AM_SHARE("mainram")
889889   AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("IN0")
trunk/src/emu/addrmap.h
r17836r17837
736736#define AM_SHARE(_tag) \
737737   curentry->set_share(_tag); \
738738
739#define AM_BASE_LEGACY(_base) \
740   curentry->set_baseptr(_base); \
741739
742
743740// common shortcuts
744741#define AM_ROMBANK(_bank)               AM_READ_BANK(_bank)
745742#define AM_RAMBANK(_bank)               AM_READWRITE_BANK(_bank)
trunk/src/mess/drivers/ng_aes.c
r17836r17837
110110
111111//static UINT16 *save_ram;
112112
113UINT16* neocd_work_ram;
113//UINT16* neocd_work_ram;
114114
115115/*************************************
116116 *
r17836r17837
13101310static ADDRESS_MAP_START( neocd_main_map, AS_PROGRAM, 16, ng_aes_state )
13111311   AM_RANGE(0x000000, 0x00007f) AM_RAMBANK(NEOGEO_BANK_VECTORS)
13121312   AM_RANGE(0x000080, 0x0fffff) AM_RAM
1313   AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x0f0000) AM_RAM AM_BASE_LEGACY(&neocd_work_ram)
1313   AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x0f0000) AM_RAM AM_SHARE("neocd_work_ram")
13141314   /* some games have protection devices in the 0x200000 region, it appears to map to cart space, not surprising, the ROM is read here too */
13151315   AM_RANGE(0x200000, 0x2fffff) AM_ROMBANK(NEOGEO_BANK_CARTRIDGE)
13161316   AM_RANGE(0x2ffff0, 0x2fffff) AM_WRITE(main_cpu_bank_select_w)
trunk/src/mess/drivers/dc.c
r17836r17837
4040extern READ64_HANDLER( dc_mess_g1_ctrl_r );
4141extern WRITE64_HANDLER( dc_mess_g1_ctrl_w );
4242
43static UINT64 *dc_ram;
44
4543static READ64_HANDLER( dcus_idle_skip_r )
4644{
4745   if (space->device().safe_pc()==0xc0ba52a)
4846      space->device().execute().spin_until_time(attotime::from_usec(2500));
4947   //  device_spinuntil_int(&space->device());
5048
51   return dc_ram[0x2303b0/8];
49   return space->machine().driver_data<dc_state>()->dc_ram[0x2303b0/8];
5250}
5351
5452static READ64_HANDLER( dcjp_idle_skip_r )
r17836r17837
5755      space->device().execute().spin_until_time(attotime::from_usec(2500));
5856   //  device_spinuntil_int(&space->device());
5957
60   return dc_ram[0x2302f8/8];
58   return space->machine().driver_data<dc_state>()->dc_ram[0x2302f8/8];
6159}
6260
6361DRIVER_INIT_MEMBER(dc_state,dc)
r17836r17837
179177   AM_RANGE(0x05000000, 0x05ffffff) AM_RAM AM_SHARE("frameram") // apparently this actually accesses the same memory as the 64-bit texture memory access, but in a different format, keep it apart for now
180178
181179   /* Area 3 */
182   AM_RANGE(0x0c000000, 0x0cffffff) AM_RAM AM_SHARE("share4") AM_BASE_LEGACY(&dc_ram)
183   AM_RANGE(0x0d000000, 0x0dffffff) AM_RAM AM_SHARE("share4")// extra ram on Naomi (mirror on DC)
184   AM_RANGE(0x0e000000, 0x0effffff) AM_RAM AM_SHARE("share4")// mirror
185   AM_RANGE(0x0f000000, 0x0fffffff) AM_RAM AM_SHARE("share4")// mirror
180   AM_RANGE(0x0c000000, 0x0cffffff) AM_RAM AM_SHARE("dc_ram")
181   AM_RANGE(0x0d000000, 0x0dffffff) AM_RAM AM_SHARE("dc_ram")// extra ram on Naomi (mirror on DC)
182   AM_RANGE(0x0e000000, 0x0effffff) AM_RAM AM_SHARE("dc_ram")// mirror
183   AM_RANGE(0x0f000000, 0x0fffffff) AM_RAM AM_SHARE("dc_ram")// mirror
186184
187185   /* Area 4 */
188186   AM_RANGE(0x10000000, 0x107fffff) AM_WRITE_LEGACY(ta_fifo_poly_w )
r17836r17837
193191   AM_RANGE(0x12800000, 0x12ffffff) AM_WRITE_LEGACY(ta_fifo_yuv_w )
194192   AM_RANGE(0x13000000, 0x137fffff) AM_WRITE_LEGACY(ta_texture_directpath1_w ) AM_MIRROR(0x00800000) // access to texture / fraembfufer memory (either 32-bit or 64-bit area depending on SB_LMMODE1 register - cannot be written directly, only through dma / store queue
195193
196   AM_RANGE(0x8c000000, 0x8cffffff) AM_RAM AM_SHARE("share4")   // another RAM mirror
194   AM_RANGE(0x8c000000, 0x8cffffff) AM_RAM AM_SHARE("dc_ram")   // another RAM mirror
197195
198196   AM_RANGE(0xa0000000, 0xa01fffff) AM_ROM AM_REGION("maincpu", 0)
199197ADDRESS_MAP_END
trunk/src/mess/drivers/n64.c
r17836r17837
2020}
2121
2222static ADDRESS_MAP_START( n64_map, AS_PROGRAM, 32, n64_state )
23   AM_RANGE(0x00000000, 0x007fffff) AM_RAM   AM_BASE_LEGACY(&rdram)            // RDRAM
23   AM_RANGE(0x00000000, 0x007fffff) AM_RAM   AM_SHARE("rdram")               // RDRAM
2424   AM_RANGE(0x03f00000, 0x03f00027) AM_DEVREADWRITE("rcp", n64_periphs, rdram_reg_r, rdram_reg_w)
2525   AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("dmem")               // RSP DMEM
2626   AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("imem")               // RSP IMEM
r17836r17837
3333   AM_RANGE(0x04700000, 0x047fffff) AM_DEVREADWRITE("rcp", n64_periphs, ri_reg_r, ri_reg_w)   // RDRAM Interface
3434   AM_RANGE(0x04800000, 0x048fffff) AM_DEVREADWRITE("rcp", n64_periphs, si_reg_r, si_reg_w)   // Serial Interface
3535   AM_RANGE(0x05000508, 0x0500050b) AM_READ_LEGACY(dd_null_r);
36   AM_RANGE(0x08000000, 0x0801ffff) AM_RAM AM_BASE_LEGACY(&n64_sram)                              // Cartridge SRAM
36   AM_RANGE(0x08000000, 0x0801ffff) AM_RAM AM_SHARE("sram")                              // Cartridge SRAM
3737   AM_RANGE(0x10000000, 0x13ffffff) AM_ROM AM_REGION("user2", 0)                           // Cartridge
3838   AM_RANGE(0x1fc00000, 0x1fc007bf) AM_ROM AM_REGION("user1", 0)                           // PIF ROM
3939   AM_RANGE(0x1fc007c0, 0x1fc007ff) AM_DEVREADWRITE("rcp", n64_periphs, pif_ram_r, pif_ram_w)
4040ADDRESS_MAP_END
4141
4242static ADDRESS_MAP_START( n64dd_map, AS_PROGRAM, 32, n64_state )
43   AM_RANGE(0x00000000, 0x007fffff) AM_RAM   AM_BASE_LEGACY(&rdram)            // RDRAM
43   AM_RANGE(0x00000000, 0x007fffff) AM_RAM   AM_SHARE("rdram")            // RDRAM
4444   AM_RANGE(0x03f00000, 0x03f00027) AM_DEVREADWRITE("rcp", n64_periphs, rdram_reg_r, rdram_reg_w)
4545   AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("dmem")               // RSP DMEM
4646   AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("imem")               // RSP IMEM
r17836r17837
5454   AM_RANGE(0x04800000, 0x048fffff) AM_DEVREADWRITE("rcp", n64_periphs, si_reg_r, si_reg_w)   // Serial Interface
5555   AM_RANGE(0x05000000, 0x05ffffff) AM_DEVREADWRITE("rcp", n64_periphs, dd_reg_r, dd_reg_w) // 64DD Interface
5656   AM_RANGE(0x06000000, 0x063fffff) AM_ROM AM_REGION("ddipl", 0)                           // 64DD IPL ROM
57   AM_RANGE(0x08000000, 0x0801ffff) AM_RAM AM_BASE_LEGACY(&n64_sram)                              // Cartridge SRAM
57   AM_RANGE(0x08000000, 0x0801ffff) AM_RAM AM_SHARE("sram")                              // Cartridge SRAM
5858   AM_RANGE(0x10000000, 0x13ffffff) AM_ROM AM_REGION("user2", 0)                           // Cartridge
5959   AM_RANGE(0x1fc00000, 0x1fc007bf) AM_ROM AM_REGION("user1", 0)                           // PIF ROM
6060   AM_RANGE(0x1fc007c0, 0x1fc007ff) AM_DEVREADWRITE("rcp", n64_periphs, pif_ram_r, pif_ram_w)
r17836r17837
6363static ADDRESS_MAP_START( rsp_map, AS_PROGRAM, 32, n64_state )
6464   AM_RANGE(0x00000000, 0x00000fff) AM_RAM AM_SHARE("dmem")
6565   AM_RANGE(0x00001000, 0x00001fff) AM_RAM AM_SHARE("imem")
66   AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_BASE_LEGACY(&rsp_dmem) AM_SHARE("dmem")
67   AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_BASE_LEGACY(&rsp_imem) AM_SHARE("imem")
66   AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem") AM_SHARE("dmem")
67   AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("rsp_imem") AM_SHARE("imem")
6868ADDRESS_MAP_END
6969
7070static INPUT_PORTS_START( n64 )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team