| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
to each slot
device. also, group inputs in UI based on the device they are attached to and display
their tag only once instead of at each input. nw.
p.s. a clean build is likely needed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
connected to a device different from the root_device. these are the dynamical
inputs and it might be useful to be able to catch them without performing a
string comparison of the device tag against the root_device one. [Fabio Priuli]
ui: start displaying the device tag close to input names for the dynamical inputs
which use PORT_DEVICE, so to avoid some weird quirks in the input menus
when slot devices are modified. [Fabio Priuli]
out of whatsnew: for testing purposes I have added PORT_DEVICE only to serial inputs (bus/rs232)
and SMS controllers (bus/smsctrl). if you want to test these with slot devices of a driver you are more
familiar with, just add the macro to the inputs you want to test.
note: it is under discussion whether PORT_DEVICE is in fact useful, or if a string comparison for each
input port is not too costly in terms of performances and thus enough for our scopes... we will see the
result of the discussion, but in any case it will remain possible to match the sets of inputs with their
device :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by default mapped to F2 and Shift+F2, respectively. This is not meant
as a replacement for the internal Tape Control menu, but it shall make
simpler the usage of game tapes in home computers. Notice that
REC/RWD/FWD have still to be pressed from the internal UI and that
if you mount multiple cassettes in a driver with multiple tape drives
only the first one will be controllable with these shortcuts. [Fabio Priuli]
The idea is that more complex actions (e.g. save you own BASIC program
or copy programs from a tape to another, etc.) should be performed through
the internal menu, while people just aiming to play games can use the
shortcut.
This commit requires probably a clean build.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
some else code (nw)
|
|
|
|
| |
shortcuts
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Aaron Giles]
* these classes now no longer take a resource_pool; everything is
managed globally -- this means that objects added to lists must be
allocated with global_alloc
* added new auto_pointer<> template which wraps a pointer and auto-frees
it upon destruction; it also defaults to NULL so it doesn't need to
be explicitly initialized
* moved tagged_list template to tagmap.h
Redo of the low-level memory tracking system: [Aaron Giles]
* moved low-level tracking out of emu\emualloc into lib\util\corealloc
so it can be shared among all components and used by core libraries
* global_alloc and friends no longer use a resource pool to track
allocations; turns out this was a wholly redundant system that wasted
a lot of memory
* removed global_resource_pool entirely
* added global_free_array to delete arrays allocated with
global_alloc_array
* added tracking of object versus array allocation; we will now error
if you use global_free on an array, or global_free_array on an object
Added new utility helper const_string_pool which can be used to
efficiently accumulate strings that are not intended to be modified.
Used by updated makelist and software list code. [Aaron Giles]
Updated png2bdc and makelist tools to not leak memory and use more modern
techniques (no more MAX_DRIVERS in makelist, for example). [Aaron Giles]
Deprecated auto_strdup and removed all uses by way of caller-managed
astrings and the software list rewrite. [Aaron Giles]
Rewrote software list management: [Aaron Giles]
* removed the notion of a software_list that is separate from a
software_list_device; they are one and the same now
* moved several functions into device_image_interface since they really
didn't belong in the core software list class
* lots of simplification as a result of the above changes
Additional notes (no whatsnew):
Moved definition of FPTR to osdcomm.h.
Some changes happened in the OSD code to fix issues, especially regarding
freeing arrays. SDL folks may need to fix up some of these.
The following devices still are using tokens and should be modernized
(I found them because they kept their token as void * and tried to
delete it, which you can't):
namco_52xx_device (mame/audio/namco52.c)
namco_54xx_device (mame/audio/namco54.c)
namco_06xx_device (mame/machine/namco06.c)
namco_50xx_device (mame/machine/namco50.c)
namco_51xx_device (mame/machine/namco51.c)
namco_53xx_device (mame/machine/namco53.c)
voodoo_device (emu/video/voodoo.c)
mos6581_device (emu/sound/mos6581.c)
aica_device (emu/sound/aica.c)
scsp_device (emu/sound/scsp.c)
dmadac_sound_device (emu/sound/dmadac.c)
s3c2440_device (emu/machine/s3c2440.c)
wd1770_device (emu/machine/wd17xx.c)
latch8_device (emu/machine/latch8.c)
duart68681_device (emu/machine/68681.c)
s3c2400_device (emu/machine/s3c2400.c)
s3c2410_device (emu/machine/s3c2410.c)
strataflash_device (mess/machine/strata.c)
hd63450_device (mess/machine/hd63450.c)
tap_990_device (mess/machine/ti99/990_tap.c)
omti8621_device (mess/machine/omti8621.c)
vdt911_device (mess/video/911_vdt.c)
apollo_graphics_15i (mess/video/apollo.c)
asr733_device (mess/video/733_asr.c)
|
| |
|
| |
|
|
|
|
|
|
|
| |
games) can now be manually turned off or on by the user. [hap]
For example, to disable the toggle on the shifter in outrun, open /cfg/outrun.cfg and add toggle="no" to the port tag, like so:
<port tag=":SERVICE" type="P1_BUTTON1" mask="16" defvalue="0" toggle="no">
|
|
|
|
| |
to new license tagged form.
|
|
|
|
| |
(specifically vblank) callbacks are mapped to multiple bits.
|
|
|
|
|
| |
stuff. Added HBLANK to standard screen ports. Consolidated duplicate
functions (will need another full rebuild, I think).
|
|
|
| |
(note: cause was devlegacy/stddef.h related)
|
|
|
|
| |
PORT_BIT, used by gmgalax for example [smf]
|
| |
|
| |
|
| |
|
|
|
|
| |
possible [O. Galibert]
|
|
|
|
| |
whatsnew)
|
| |
|
| |
|
|
|
|
| |
boards (no whatsnew)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
apply to the game-specific config.
Also fixed none/default toggle for game-specific configs.
|
|
|
|
|
|
|
| |
that scale factors were INT32's not INT64's.
Also explicitly use ioport_value for lookup tables instead
of UINT32.
|
|
|
|
| |
of odd joystick problems.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
intended differences from previous behavior. For drivers,
the main change is that input_port_read() no longer exists.
Instead, the port must be fetched from the appropriate device,
and then read() is called.
For member functions, this is actually simpler/cleaner:
value = ioport("tag")->read()
For legacy functions which have a driver_data state, it goes:
value = state->ioport("tag")->read()
For other legacy functions, they need to fetch the root device:
value = machine.root_device().ioport("tag")->read()
The other big change for drivers is that IPT_VBLANK is gone.
Instead, it has been replaced by a device line callback on the
screen device. There's a new macro PORT_VBLANK("tag") which
automatically points things to the right spot.
Here's a set of imperfect search & replace strings to convert
the input_port_read calls and fix up IPT_VBLANK:
input_port_read( *\( *)(machine\(\)) *, *([^)]+ *\))
ioport\1\3->read\(\)
input_port_read( *\( *)(.*machine[()]*) *, *([^)]+ *\))
\2\.root_device\(\)\.ioport\1\3->read\(\)
(state = .*driver_data[^}]+)space->machine\(\)\.root_device\(\)\.
\1state->
(state = .*driver_data[^}]+)device->machine\(\)\.root_device\(\)\.
\1state->
input_port_read_safe( *\( *)(machine\(\)) *, *([^,]+), *([^)]+\))
ioport\1\3->read_safe\(\4\)
IPT_VBLANK( *\))
IPT_CUSTOM\1 PORT_VBLANK("screen")
|
| |
|
|
|
|
|
|
| |
Removed global port lookups, now all lookups must be
done through device_t::ioport().
|
| |
|