Previous 199869 Revisions Next

r30905 Monday 9th June, 2014 at 02:15:10 UTC by Angelo Salese
Some fixes for hotslots, nw
[src/mame/drivers]magicard.c

trunk/src/mame/drivers/magicard.c
r30904r30905
177177   magicard_state(const machine_config &mconfig, device_type type, const char *tag)
178178      : driver_device(mconfig, type, tag),
179179      m_magicram(*this, "magicram"),
180      m_magicramb(*this, "magicramb"),
180181      m_pcab_vregs(*this, "pcab_vregs"),
181182      m_scc68070_ext_irqc_regs(*this, "scc_xirqc_regs"),
182183      m_scc68070_iic_regs(*this, "scc_iic_regs"),
r30904r30905
191192      m_palette(*this, "palette")  { }
192193
193194   required_shared_ptr<UINT16> m_magicram;
195   required_shared_ptr<UINT16> m_magicramb;
194196   required_shared_ptr<UINT16> m_pcab_vregs;
195197   required_shared_ptr<UINT16> m_scc68070_ext_irqc_regs;
196198   required_shared_ptr<UINT16> m_scc68070_iic_regs;
r30904r30905
656658*      Memory Maps       *
657659*************************/
658660
661static ADDRESS_MAP_START( scc68070_mem, AS_PROGRAM, 16, magicard_state )
662   AM_RANGE(0x80001000, 0x8000100f) AM_READWRITE(scc68070_ext_irqc_r,scc68070_ext_irqc_w) AM_SHARE("scc_xirqc_regs") //lir
663   AM_RANGE(0x80002000, 0x8000200f) AM_READWRITE(scc68070_iic_r,scc68070_iic_w) AM_SHARE("scc_iic_regs") //i2c
664   AM_RANGE(0x80002010, 0x8000201f) AM_READWRITE(scc68070_uart_r,scc68070_uart_w) AM_SHARE("scc_uart_regs")
665   AM_RANGE(0x80002020, 0x8000202f) AM_READWRITE(scc68070_timer_r,scc68070_timer_w) AM_SHARE("scc_timer_regs")
666   AM_RANGE(0x80002040, 0x8000204f) AM_READWRITE(scc68070_int_irqc_r,scc68070_int_irqc_w) AM_SHARE("scc_iirqc_regs")
667   AM_RANGE(0x80004000, 0x8000403f) AM_READWRITE(scc68070_dma_ch1_r,scc68070_dma_ch1_w) AM_SHARE("scc_dma1_regs")
668   AM_RANGE(0x80004040, 0x8000407f) AM_READWRITE(scc68070_dma_ch2_r,scc68070_dma_ch2_w) AM_SHARE("scc_dma2_regs")
669   AM_RANGE(0x80008000, 0x8000807f) AM_READWRITE(scc68070_mmu_r,scc68070_mmu_w) AM_SHARE("scc_mmu_regs")
670ADDRESS_MAP_END
671
659672static ADDRESS_MAP_START( magicard_mem, AS_PROGRAM, 16, magicard_state )
660673//  ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
661   AM_RANGE(0x00000000, 0x001ffbff) AM_MIRROR(0x7fe00000) AM_RAM AM_SHARE("magicram") /*only 0-7ffff accessed in Magic Card*/
662   AM_RANGE(0x00180000, 0x001ffbff) AM_MIRROR(0x7fe00000) AM_RAM AM_REGION("maincpu", 0)
674   AM_IMPORT_FROM(scc68070_mem)
675   AM_RANGE(0x00000000, 0x001ffbff) AM_MIRROR(0x00200000) AM_RAM AM_SHARE("magicram")
676   AM_RANGE(0x00600000, 0x007ffbff) AM_RAM AM_SHARE("magicramb")
663677   /* 001ffc00-001ffdff System I/O */
664678   AM_RANGE(0x001ffc00, 0x001ffc01) AM_MIRROR(0x7fe00000) AM_READ(test_r)
665679   AM_RANGE(0x001ffc40, 0x001ffc41) AM_MIRROR(0x7fe00000) AM_READ(test_r)
r30904r30905
672686   AM_RANGE(0x001ffd80, 0x001ffd81) AM_MIRROR(0x7fe00000) AM_WRITENOP //?
673687   AM_RANGE(0x001fff80, 0x001fffbf) AM_MIRROR(0x7fe00000) AM_RAM //DRAM I/O, not accessed by this game, CD buffer?
674688   AM_RANGE(0x001fffe0, 0x001fffff) AM_MIRROR(0x7fe00000) AM_READWRITE(philips_66470_r,philips_66470_w) AM_SHARE("pcab_vregs") //video registers
675   AM_RANGE(0x80001000, 0x8000100f) AM_READWRITE(scc68070_ext_irqc_r,scc68070_ext_irqc_w) AM_SHARE("scc_xirqc_regs") //lir
676   AM_RANGE(0x80002000, 0x8000200f) AM_READWRITE(scc68070_iic_r,scc68070_iic_w) AM_SHARE("scc_iic_regs") //i2c
677   AM_RANGE(0x80002010, 0x8000201f) AM_READWRITE(scc68070_uart_r,scc68070_uart_w) AM_SHARE("scc_uart_regs")
678   AM_RANGE(0x80002020, 0x8000202f) AM_READWRITE(scc68070_timer_r,scc68070_timer_w) AM_SHARE("scc_timer_regs")
679   AM_RANGE(0x80002040, 0x8000204f) AM_READWRITE(scc68070_int_irqc_r,scc68070_int_irqc_w) AM_SHARE("scc_iirqc_regs")
680   AM_RANGE(0x80004000, 0x8000403f) AM_READWRITE(scc68070_dma_ch1_r,scc68070_dma_ch1_w) AM_SHARE("scc_dma1_regs")
681   AM_RANGE(0x80004040, 0x8000407f) AM_READWRITE(scc68070_dma_ch2_r,scc68070_dma_ch2_w) AM_SHARE("scc_dma2_regs")
682   AM_RANGE(0x80008000, 0x8000807f) AM_READWRITE(scc68070_mmu_r,scc68070_mmu_w) AM_SHARE("scc_mmu_regs")
683689ADDRESS_MAP_END
684690
691static ADDRESS_MAP_START( hotslots_mem, AS_PROGRAM, 16, magicard_state )
692//  ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
693   AM_IMPORT_FROM(scc68070_mem)
694   AM_RANGE(0x00000000, 0x001ffbff) AM_MIRROR(0x00200000) AM_RAM AM_SHARE("magicram")
695   AM_RANGE(0x00600000, 0x007ffbff) AM_RAM AM_SHARE("magicramb")
696   AM_RANGE(0x001ffc00, 0x001ffc01) AM_MIRROR(0x7fe00000) AM_READ(test_r)
697   AM_RANGE(0x001ffc40, 0x001ffc41) AM_MIRROR(0x7fe00000) AM_READ(test_r)
698   /*not the right sound chip,unknown type,it should be an ADPCM with 8 channels.*/
699   AM_RANGE(0x001ffd40, 0x001ffd43) AM_MIRROR(0x7fe00000) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff)
700   AM_RANGE(0x001ffd80, 0x001ffd81) AM_MIRROR(0x7fe00000) AM_READ(test_r)
701   AM_RANGE(0x001ffd80, 0x001ffd81) AM_MIRROR(0x7fe00000) AM_WRITENOP //?
702   AM_RANGE(0x001fff80, 0x001fffbf) AM_MIRROR(0x7fe00000) AM_RAM //DRAM I/O, not accessed by this game, CD buffer?
703   AM_RANGE(0x001fffe0, 0x001fffff) AM_MIRROR(0x7fe00000) AM_READWRITE(philips_66470_r,philips_66470_w) AM_SHARE("pcab_vregs") //video registers
704   AM_RANGE(0x00414000, 0x00414001) AM_DEVWRITE8("ramdac", ramdac_device, index_w, 0x00ff)
705   AM_RANGE(0x00414002, 0x00414003) AM_DEVWRITE8("ramdac", ramdac_device, pal_w, 0x00ff)
706   AM_RANGE(0x00414004, 0x00414005) AM_DEVWRITE8("ramdac", ramdac_device, mask_w, 0x00ff)
707ADDRESS_MAP_END
685708
686709/*************************
687710*      Input ports       *
r30904r30905
696719   UINT16 *src    = (UINT16*)memregion("maincpu" )->base();
697720   UINT16 *dst    = m_magicram;
698721   memcpy (dst, src, 0x80000);
722   memcpy (dst+0x40000*1, src, 0x80000);
723   memcpy (dst+0x40000*2, src, 0x80000);
724   memcpy (dst+0x40000*3, src, 0x80000);
725   dst = m_magicramb;
726   memcpy (dst, src, 0x80000);
727   memcpy (dst+0x40000*1, src, 0x80000);
728   memcpy (dst+0x40000*2, src, 0x80000);
729   memcpy (dst+0x40000*3, src, 0x80000);
699730   m_maincpu->reset();
700731}
701732
r30904r30905
738769   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
739770MACHINE_CONFIG_END
740771
772static MACHINE_CONFIG_DERIVED( hotslots, magicard )
773   MCFG_CPU_MODIFY("maincpu")
774   MCFG_CPU_PROGRAM_MAP(hotslots_mem)
775MACHINE_CONFIG_END
741776
742777/*************************
743778*        Rom Load        *
r30904r30905
873908GAME( 1994, magicarde, magicard, magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Card Export 94",      GAME_NO_SOUND | GAME_NOT_WORKING )
874909GAME( 1998, magicardj, magicard, magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Card Jackpot (4.01)", GAME_NO_SOUND | GAME_NOT_WORKING )
875910GAME( 2001, magicle,   0,        magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Lotto Export (5.03)", GAME_NO_SOUND | GAME_NOT_WORKING )
876GAME( 2002, hotslots,  0,        magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Hot Slots (6.00)",          GAME_NO_SOUND | GAME_NOT_WORKING )
911GAME( 2002, hotslots,  0,        hotslots, magicard, magicard_state, magicard, ROT0, "Impera", "Hot Slots (6.00)",          GAME_NO_SOUND | GAME_NOT_WORKING )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team