Previous 199869 Revisions Next

r188935 Friday 19th August, 2022 at 17:39:36 UTC by Vasantha Crabb
bus: Get rid of some dubious tag manipulation.

The implementation details of how the cartridges allocate storage for
memory really shouldn't be part of the interface.  Having tags in the
headers encourages people to depend on these implementation details.
This gets rid of it in most of the headers.  A few particularly leaky
abstractions (bbc/rom, electron/cart, gba, generic, jakks_gamekey, m5)
depend on this, so it can't be removed in those cases without further
refactoring to encapsulate the slot devices better.

This doesn't change behaviour, it just mechanically removes stuff from
the headers and uses device_t::subtag rather than string manipulation on
tags.  Most of the cartridge devices shouldn't have rom_alloc member
functions at all - the region created by the software list loader can be
used directly when loading from the software list, and the slot can
allocate a region with the same tag when loading loose software.  This
avoids creating an extra region and copying the data when loading from
the software list.  See vboy for an example that doesn't allocate a
superfluous region.
[/branches/barcrest/src/devices/bus/a7800]a78_slot.cpp a78_slot.h
[/branches/barcrest/src/devices/bus/a800]a800_slot.cpp a800_slot.h
[/branches/barcrest/src/devices/bus/apf]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/aquarius]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/arcadia]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/astrocde]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/bbc/rom]slot.cpp
[/branches/barcrest/src/devices/bus/chanf]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/crvision]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/ekara]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/electron/cart]slot.cpp
[/branches/barcrest/src/devices/bus/gamate]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/gameboy]gb_slot.cpp gb_slot.h
[/branches/barcrest/src/devices/bus/gba]gba_slot.cpp
[/branches/barcrest/src/devices/bus/generic]slot.cpp
[/branches/barcrest/src/devices/bus/intv]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/jakks_gamekey]slot.cpp
[/branches/barcrest/src/devices/bus/m5]slot.cpp
[/branches/barcrest/src/devices/bus/mc10]mc10_cart.cpp
[/branches/barcrest/src/devices/bus/megadrive]md_slot.cpp md_slot.h
[/branches/barcrest/src/devices/bus/mtx]exp.cpp
[/branches/barcrest/src/devices/bus/nes]nes_ines.hxx nes_pcb.hxx nes_slot.cpp nes_slot.h nes_unif.hxx
[/branches/barcrest/src/devices/bus/pce]pce_slot.cpp pce_slot.h
[/branches/barcrest/src/devices/bus/saturn]sat_slot.cpp sat_slot.h
[/branches/barcrest/src/devices/bus/scv]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/sega8]sega8_slot.cpp sega8_slot.h
[/branches/barcrest/src/devices/bus/snes]snes_slot.cpp snes_slot.h
[/branches/barcrest/src/devices/bus/vboy]slot.cpp
[/branches/barcrest/src/devices/bus/vc4000]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/vcs]vcs_slot.cpp
[/branches/barcrest/src/devices/bus/vectrex]slot.cpp slot.h
[/branches/barcrest/src/devices/bus/vsmile]vsmile_slot.cpp vsmile_slot.h
[/branches/barcrest/src/devices/bus/wswan]slot.cpp slot.h
[/branches/barcrest/src/mame/intergraph]interpro.cpp* interpro_arbga.cpp* interpro_arbga.h* interpro_ioga.cpp* interpro_ioga.h* interpro_mcga.cpp* interpro_mcga.h* interpro_sga.cpp* interpro_sga.h*
[/branches/barcrest/src/mame/interpro]interpro.cpp interpro_arbga.cpp interpro_arbga.h interpro_ioga.cpp interpro_ioga.h interpro_mcga.cpp interpro_mcga.h interpro_sga.cpp interpro_sga.h


Previous 199869 Revisions Next


© 1997-2024 The MAME Team