Previous 199869 Revisions Next

r20980 Tuesday 12th February, 2013 at 14:08:45 UTC by Miodrag Milanović
small cleanup (nw)
[src/mame/drivers]scramble.c
[src/mame/includes]scramble.h
[src/mame/machine]scramble.c

trunk/src/mame/machine/scramble.c
r20979r20980
7373}
7474
7575
76static READ8_HANDLER( mariner_protection_1_r )
76READ8_MEMBER(scramble_state::mariner_protection_1_r )
7777{
7878   return 7;
7979}
8080
81static READ8_HANDLER( mariner_protection_2_r )
81READ8_MEMBER(scramble_state::mariner_protection_2_r )
8282{
8383   return 3;
8484}
8585
8686
87READ8_HANDLER( triplep_pip_r )
87READ8_MEMBER(scramble_state::triplep_pip_r )
8888{
8989   logerror("PC %04x: triplep read port 2\n",space.device().safe_pc());
9090   if (space.device().safe_pc() == 0x015a) return 0xff;
r20979r20980
9292   else return 0;
9393}
9494
95READ8_HANDLER( triplep_pap_r )
95READ8_MEMBER(scramble_state::triplep_pap_r )
9696{
9797   logerror("PC %04x: triplep read port 3\n",space.device().safe_pc());
9898   if (space.device().safe_pc() == 0x015d) return 0x04;
r20979r20980
111111   membank("bank1")->set_entry(m_cavelon_bank);
112112}
113113
114static READ8_HANDLER( cavelon_banksw_r )
114READ8_MEMBER(scramble_state::cavelon_banksw_r )
115115{
116   scramble_state *state = space.machine().driver_data<scramble_state>();
117   state->cavelon_banksw();
116   cavelon_banksw();
118117
119118   if ((offset >= 0x0100) && (offset <= 0x0103))
120      return state->m_ppi8255_0->read(space, offset - 0x0100);
119      return m_ppi8255_0->read(space, offset - 0x0100);
121120   else if ((offset >= 0x0200) && (offset <= 0x0203))
122      return state->m_ppi8255_1->read(space, offset - 0x0200);
121      return m_ppi8255_1->read(space, offset - 0x0200);
123122
124123   return 0xff;
125124}
126125
127static WRITE8_HANDLER( cavelon_banksw_w )
126WRITE8_MEMBER(scramble_state::cavelon_banksw_w )
128127{
129   scramble_state *state = space.machine().driver_data<scramble_state>();
130   state->cavelon_banksw();
128   cavelon_banksw();
131129
132130   if ((offset >= 0x0100) && (offset <= 0x0103))
133      state->m_ppi8255_0->write(space, offset - 0x0100, data);
131      m_ppi8255_0->write(space, offset - 0x0100, data);
134132   else if ((offset >= 0x0200) && (offset <= 0x0203))
135      state->m_ppi8255_1->write(space, offset - 0x0200, data);
133      m_ppi8255_1->write(space, offset - 0x0200, data);
136134}
137135
138136
139READ8_HANDLER( hunchbks_mirror_r )
137READ8_MEMBER(scramble_state::hunchbks_mirror_r )
140138{
141139   return space.read_byte(0x1000+offset);
142140}
143141
144WRITE8_HANDLER( hunchbks_mirror_w )
142WRITE8_MEMBER(scramble_state::hunchbks_mirror_w )
145143{
146144   space.write_byte(0x1000+offset,data);
147145}
r20979r20980
160158#ifdef UNUSED_FUNCTION
161159DRIVER_INIT_MEMBER(scramble_state,atlantis)
162160{
163   machine().device("maincpu")->memory().space(AS_PROGRAM).install_legacy_write_handler(0x6803, 0x6803, FUNC(scrambold_background_enable_w));
161   machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x6803, 0x6803, write8_delegate(FUNC(scramble_state::scrambold_background_enable_w),this));
164162}
165163
166164DRIVER_INIT_MEMBER(scramble_state,scramble)
r20979r20980
192190   machine().device("maincpu")->memory().space(AS_PROGRAM).unmap_write(0x5800, 0x67ff);
193191   machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base() + 0x5800);
194192
195   machine().device("maincpu")->memory().space(AS_PROGRAM).install_legacy_read_handler(0x9008, 0x9008, FUNC(mariner_protection_2_r));
196   machine().device("maincpu")->memory().space(AS_PROGRAM).install_legacy_read_handler(0xb401, 0xb401, FUNC(mariner_protection_1_r));
193   machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x9008, 0x9008, read8_delegate(FUNC(scramble_state::mariner_protection_2_r),this));
194   machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0xb401, 0xb401, read8_delegate(FUNC(scramble_state::mariner_protection_1_r),this));
197195
198196   /* ??? (it's NOT a background enable) */
199197   /*machine().device("maincpu")->memory().space(AS_PROGRAM).nop_write(0x6803, 0x6803);*/
r20979r20980
279277   cavelon_banksw();
280278
281279   /* A15 switches memory banks */
282   machine().device("maincpu")->memory().space(AS_PROGRAM).install_legacy_readwrite_handler(0x8000, 0xffff, FUNC(cavelon_banksw_r), FUNC(cavelon_banksw_w));
280   machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x8000, 0xffff, read8_delegate(FUNC(scramble_state::cavelon_banksw_r),this), write8_delegate(FUNC(scramble_state::cavelon_banksw_w),this));
283281
284282   machine().device("maincpu")->memory().space(AS_PROGRAM).nop_write(0x2000, 0x2000);  /* ??? */
285283   machine().device("maincpu")->memory().space(AS_PROGRAM).nop_write(0x3800, 0x3801);  /* looks suspicously like
trunk/src/mame/includes/scramble.h
r20979r20980
7575   DECLARE_WRITE_LINE_MEMBER(scramble_sh_7474_q_callback);
7676   void cavelon_banksw();
7777   inline int bit(int i,int n);
78   DECLARE_READ8_MEMBER( mariner_protection_1_r );
79   DECLARE_READ8_MEMBER( mariner_protection_2_r );
80   DECLARE_READ8_MEMBER( triplep_pip_r );
81   DECLARE_READ8_MEMBER( triplep_pap_r );
82   DECLARE_READ8_MEMBER( cavelon_banksw_r );
83   DECLARE_WRITE8_MEMBER( cavelon_banksw_w );
84   DECLARE_READ8_MEMBER( hunchbks_mirror_r );
85   DECLARE_WRITE8_MEMBER( hunchbks_mirror_w );
7886};
7987
8088
r20979r20980
8492extern const i8255_interface(scramble_ppi_1_intf);
8593extern const i8255_interface(stratgyx_ppi_1_intf);
8694
87DECLARE_READ8_HANDLER( triplep_pip_r );
88DECLARE_READ8_HANDLER( triplep_pap_r );
89
90DECLARE_READ8_HANDLER( hunchbks_mirror_r );
91DECLARE_WRITE8_HANDLER( hunchbks_mirror_w );
92
93
94
9595/*----------- defined in audio/scramble.c -----------*/
9696
9797void scramble_sh_init(running_machine &machine);
trunk/src/mame/drivers/scramble.c
r20979r20980
262262   AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
263263   AM_RANGE(0x1c00, 0x1fff) AM_RAM
264264   AM_RANGE(0x2000, 0x2fff) AM_ROM
265   AM_RANGE(0x3000, 0x3fff) AM_READWRITE_LEGACY(hunchbks_mirror_r, hunchbks_mirror_w)
265   AM_RANGE(0x3000, 0x3fff) AM_READWRITE(hunchbks_mirror_r, hunchbks_mirror_w)
266266   AM_RANGE(0x4000, 0x4fff) AM_ROM
267   AM_RANGE(0x5000, 0x5fff) AM_READWRITE_LEGACY(hunchbks_mirror_r, hunchbks_mirror_w)
267   AM_RANGE(0x5000, 0x5fff) AM_READWRITE(hunchbks_mirror_r, hunchbks_mirror_w)
268268   AM_RANGE(0x6000, 0x6fff) AM_ROM
269   AM_RANGE(0x7000, 0x7fff) AM_READWRITE_LEGACY(hunchbks_mirror_r, hunchbks_mirror_w)
269   AM_RANGE(0x7000, 0x7fff) AM_READWRITE(hunchbks_mirror_r, hunchbks_mirror_w)
270270ADDRESS_MAP_END
271271
272272
r20979r20980
342342   ADDRESS_MAP_GLOBAL_MASK(0xff)
343343   AM_RANGE(0x00, 0x01) AM_DEVWRITE_LEGACY("8910.1", ay8910_data_address_w)
344344   AM_RANGE(0x01, 0x01) AM_DEVREAD_LEGACY("8910.1", ay8910_r)
345   AM_RANGE(0x02, 0x02) AM_READ_LEGACY(triplep_pip_r)
346   AM_RANGE(0x03, 0x03) AM_READ_LEGACY(triplep_pap_r)
345   AM_RANGE(0x02, 0x02) AM_READ(triplep_pip_r)
346   AM_RANGE(0x03, 0x03) AM_READ(triplep_pap_r)
347347ADDRESS_MAP_END
348348
349349static ADDRESS_MAP_START( hotshock_sound_io_map, AS_IO, 8, scramble_state )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team