summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/ioport.h
Commit message (Collapse)AuthorAgeFilesLines
* Splel fxi (nw) Cowering2015-05-261-1/+1
|
* moved all to std::string (nw) Miodrag Milanovic2015-04-221-16/+16
|
* Replace dynamic_array with std::vector [O. Galibert] Olivier Galibert2015-04-141-4/+4
|
* string -> str rename due to future conflicts (nw) Miodrag Milanovic2015-04-121-2/+2
|
* There is no implicit conversion to char* in std::string (nw) Miodrag Milanovic2015-04-121-2/+2
|
* let's try with a different approach that does not require to add a new macro ↵ etabeta782015-01-101-10/+4
| | | | | | | | | 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
* ioport: added a PORT_DEVICE flag to identify inputs of any kind which are etabeta782015-01-091-8/+14
| | | | | | | | | | | | | | | | | | | 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 :)
* (MESS) ui.c: added shortcut commands for Tape Start and Tape Stop, Fabio Priuli2014-08-181-0/+2
| | | | | | | | | | | | | | 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.
* added aliases for some IPT_x Michaël Banaan Ananas2014-08-111-0/+5
|
* more passing of attotime as const references (nw) Oliver Stöneberg2014-07-041-5/+5
|
* Lua overhaul [Olivier Galibert, Miodrag Milanovic] Miodrag Milanovic2014-06-101-0/+4
|
* 16 buttons is plenty thanks (nw) Alex W. Jackson2014-05-051-14/+0
|
* sc4dnd / sc4dndtp / sc4dnddw layout fun - backup of WIP (nw) David Haywood2014-05-051-0/+14
|
* reverting to classic ui due to lot of issues, as much as I hate reverting ↵ Miodrag Milanovic2014-04-171-13/+2
| | | | some else code (nw)
* ScrLock no longer is a menu key; it will now enable/disable keyboard menu ↵ Nathan Woods2014-04-161-1/+1
| | | | shortcuts
* Adding dummy IPT_UI_* slots as a temporary measure Nathan Woods2014-04-151-0/+7
|
* Readding single step capability Nathan Woods2014-04-151-0/+1
|
* Merge of new menubar code Nathan Woods2014-04-121-2/+5
|
* Cleanups and version bumpmame0153 Miodrag Milanovic2014-04-071-5/+5
|
* no more legacy CUSTOM_INPUT (nw) Miodrag Milanovic2014-03-241-1/+0
|
* Nuke some more auto_allocs. Aaron Giles2014-03-161-0/+145
|
* Moved core template container classes up from emutempl.h to coretmpl.h: Aaron Giles2014-03-111-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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)
* Unglamorous changes from my UI rewrite Jürgen Buchmüller2014-01-171-0/+13
|
* Fix another emscripten compile error (nw) Justin Kerk2013-11-061-0/+1
|
* Hardcoded toggled inputs (eg. simulated hi-lo gearshift-lock in racing ↵ Michaël Banaan Ananas2013-10-261-0/+1
| | | | | | | 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">
* Bulk convert files that already had standard BSD license in my name Aaron Giles2013-10-161-31/+2
| | | | to new license tagged form.
* Expand read_line to all 0s or all 1s; fixes cases where read_line Aaron Giles2013-07-201-2/+2
| | | | (specifically vblank) callbacks are mapped to multiple bits.
* Move Atari drivers to using ioport callbacks for sound communication Aaron Giles2013-07-151-1/+4
| | | | | stuff. Added HBLANK to standard screen ports. Consolidated duplicate functions (will need another full rebuild, I think).
* or is this the better way.. Michaël Banaan Ananas2013-07-111-0/+1
| | | (note: cause was devlegacy/stddef.h related)
* removed runtime ioport tagmap lookup when using PORT_CONDITION with ↵ smf-2013-02-111-3/+6
| | | | PORT_BIT, used by gmgalax for example [smf]
* Fixing natural keyboard debugger commands (input, dumpkbd) Nathan Woods2013-02-101-4/+3
|
* output of new srcclean changes that are relatively small [smf] smf-2013-01-111-29/+14
|
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-111-204/+204
|
* input: Fix joystick constraint computations when multiple sources are ↵ Olivier Galibert2012-12-301-8/+8
| | | | possible [O. Galibert]
* Made amiga keyboard a device, and removed legacy port changed support (no ↵ Miodrag Milanovic2012-09-191-4/+0
| | | | whatsnew)
* First pass at modernizing struct definitions. Aaron Giles2012-09-151-1/+1
|
* PORT_ADJUSTER now accepts PORT_MINMAX as well. [Couriersud] Couriersud2012-07-221-0/+1
|
* Doing renumbering for controller port players, to enable dynamic controller ↵ Miodrag Milanovic2012-06-151-0/+1
| | | | boards (no whatsnew)
* Clean-ups and version bump Miodrag Milanovic2012-05-211-1/+1
|
* cleanup (nw) Miodrag Milanovic2012-05-101-2/+4
|
* Fixed natural keyboard issues in ioport (no whatsnew) Miodrag Milanovic2012-05-101-3/+3
|
* Clean-ups and version bumpmame0145u8 Miodrag Milanovic2012-05-071-35/+35
|
* Fix issue where changes to the default input config did not Aaron Giles2012-05-071-0/+1
| | | | | | apply to the game-specific config. Also fixed none/default toggle for game-specific configs.
* Fix some analog control issues due to incorrect assumption Aaron Giles2012-05-051-1/+1
| | | | | | | that scale factors were INT32's not INT64's. Also explicitly use ioport_value for lookup tables instead of UINT32.
* Fix saving changes to inputs, player mappings, and a couple Aaron Giles2012-05-041-2/+3
| | | | of odd joystick problems.
* Fix issue where initial values are not set up correctly. Aaron Giles2012-05-041-1/+3
|
* ioport.c C++ conversion. Mostly internal changes, with no Aaron Giles2012-05-031-858/+1072
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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")
* Clean-ups and version bumpmame0145u7 Angelo Salese2012-04-221-1/+1
|
* Created ioport_manager and moved the port list to it. Aaron Giles2012-04-221-8/+81
| | | | | | Removed global port lookups, now all lookups must be done through device_t::ioport().
* Guess at a fix for clickable artwork. Aaron Giles2012-02-051-1/+1
|