Commit Graph

12444 Commits

Author SHA1 Message Date
Robbbert
32c554f8da Fixed spelling error (nw) 2016-11-13 11:09:19 +11:00
Miodrag Milanovic
b73126e85a added OPTION_HOMEPATH to point to read/write folder,for now used by LUA scripts (nw)
Copied all needed files so plugins could be started under UWP
2016-11-12 15:27:22 +01:00
Miodrag Milanovic
6b18f90438 Revert "Added IS_ENABLED, so we have compiler check for non used part, it is checked but not compiled in (nw)"
This reverts commit c0407f073b.
2016-11-12 09:12:36 +01:00
Miodrag Milanovic
c0407f073b Added IS_ENABLED, so we have compiler check for non used part, it is checked but not compiled in (nw)
false and true now used instead of integer where used as bool
2016-11-11 18:50:14 +01:00
Vas Crabb
2918d8def4 abuse of auto is bad, mkay? (nw) 2016-11-12 01:54:29 +11:00
smf-
9ff288b3ad removed another root_device/driver_device dependency (nw) 2016-11-10 14:32:51 +00:00
Olivier Galibert
762b6b9793 addrmem: Obvious renames and helpers [O. Galibert] 2016-11-10 10:06:40 +01:00
Olivier Galibert
b8d8a89812 addrmap: Dotify [O. Galibert] 2016-11-10 09:22:06 +01:00
Olivier Galibert
1333280f8a addrmap: Stream it [O. Galibert] 2016-11-10 09:22:06 +01:00
Olivier Galibert
bb7dc53d0a addrmap: Change setters into passthroughs [O. Galibert] 2016-11-09 16:25:43 +01:00
Olivier Galibert
37e5d22fe4 addrmap: Simplify constructor, thanks Micko [O. Galibert] 2016-11-09 15:16:37 +01:00
Olivier Galibert
5799b36a3a addrmap: De-hand-templatize address_map_entry, remove then unneeded entry parameter [O. Galibert] 2016-11-09 14:20:11 +01:00
Olivier Galibert
8536c82ba1 addrmap: Remove device parameter [O. Galibert] 2016-11-09 12:27:40 +01:00
Miodrag Milanovic
2027d59e7f Do not use FUNC in delegate where applicable (nw) 2016-11-06 14:11:55 +01:00
Phil Bennett
fffd464d34 MAMETesters Bugs Fixed:
05928: nbajamex: game crashes / nvram gets corrupted

- Emulated the Acclaim RAX sound board, adding sound to Batman Forever and NBA Jam Extreme [Phil Bennett]

- Hooked up extra NVRAM in NBA Jam Extreme [Phil Bennett]
2016-11-06 00:59:59 -07:00
Miodrag Milanovic
dedf3c9b9d Delegate support for lambdas and std::functions in general, also supporting const members now [Miodrag Milanovic] 2016-11-05 20:26:04 +01:00
Sandro Ronco
a5ce354d16 New Working machine added
-------------------------
Saitek RISC 2500 v1.04 [unknown]
Mephisto Montreux [unknown]
2016-11-03 22:27:33 +01:00
smf-
e125186e15 Moved device_memory_interface from driver_device to dummy_space_device. Exposed the dummy_space_device as machine().dummy_space(), with a trampoline in driver_device for existing callers. Debugger no longer needs to special case root_device() to avoid showing the dummy address space. [smf] 2016-11-03 19:21:20 +00:00
Nathan Woods
9d0f2ae21c Changed disassembler overrides to use 'std::ostream &' internally 2016-10-30 10:49:25 -04:00
R. Belmont
86548bc507 Merge pull request #1557 from ajrhacker/inputdev
Polymorphize input_device and input_class; move to separate source fi…
2016-10-29 20:41:28 -04:00
therealmogminer@gmail.com
8225a140ee -hazeltin: Added preliminary video, still broken due to timing issues. [Ryan Holtz] 2016-10-27 13:46:42 +02:00
therealmogminer@gmail.com
5611934cf2 Not for the release branch: remove all ioport and address map macros from tranz330 driver, just as a test to play around with, (nw) 2016-10-25 13:35:25 +02:00
AJR
99c705f9de Polymorphize input_device and input_class; move to separate source file (nw) 2016-10-24 17:28:35 -04:00
angelosa
3d6c6ff19b Added some system inputs to nightgal.cpp. Worked around MT 06409 (nw)
Fixed Left/Right Sticks for P2 and above (nw)
2016-10-24 03:22:51 +02:00
angelosa
03be2a64c2 Added proper input labels for Vindicators/Vindicators Part II, and make left/right sticks labels explicit so that "Left/Up" isn't upper-right direction but "Left Stick/Up" (nw) 2016-10-24 01:08:19 +02:00
Vas Crabb
129c0feeed srcclean (nw) 2016-10-23 22:36:24 +11:00
Miodrag Milanovic
aa2e6f9df3 Reverting part of changes from previous commits as described in mail on list (nw) 2016-10-23 09:11:47 +02:00
AJR
b83078eb46 Erase bitmap_rgb32::erase (nw) 2016-10-22 22:30:09 -04:00
AJR
7d41a1f619 Improvements to rgb_t (nw)
- Make most class methods constexpr
- Make color constants (white, black, etc.) into constexpr factory methods, in order to fix a static initialization problem discussed on the MAMEWorld forums.
  (Note that while C++14 allows constexpr member variables to be initialized outside classes, current compilers' support for C++14 constexpr rules has proven to be lamentably deficient.)
- Create bitmap_rgb32::erase to simplify syntax in update handlers
2016-10-22 18:45:04 -04:00
Miodrag Milanovic
e42ed88254 there you go (nw) 2016-10-22 21:37:06 +02:00
Miodrag Milanovic
a6bdefec8c more TRUE/FALSE cleanup (nw) 2016-10-22 16:37:12 +02:00
Miodrag Milanovic
ddb290d5f6 NOTICE (TYPE NAME CONSOLIDATION)
Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8
also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
2016-10-22 13:13:17 +02:00
Miodrag Milanovic
2bfd3a6ab2 [[noreturn]] instead of ATTR_NORETURN (nw) 2016-10-22 12:10:50 +02:00
Miodrag Milanovic
23ad94073f use standard types uintptr_t, char16_t and char32_t instead of FPTR, utf16_char, unicode_char (nw) 2016-10-22 11:31:49 +02:00
Miodrag Milanovic
e2f54f5333 Cleanup, TIMER_CALLBACK was only in unused parts (nw) 2016-10-21 16:26:22 +02:00
Miodrag Milanovic
66c56d1c9a use std algo instead of manual setting (nw) 2016-10-21 12:46:54 +02:00
Miodrag Milanovic
d2e8f61149 dynamic_buffer is just std::vector<UINT8> (nw) 2016-10-21 12:35:05 +02:00
Miodrag Milanovic
a291e77b2c some bool <-> int not needed conversions, also cleaned drivenum.* was using memset for clearing vector (nw) 2016-10-21 11:54:18 +02:00
AJR
6d2d6bfa0d Lock out ioport_fields independently of natural keyboard state (nw) 2016-10-20 17:58:03 -04:00
smf-
36944269bd DAC WIP, started documenting the DACs in use. [smf]
ataxx: Fixed missing sound channel caused by one dac not being hooked up and one dac being hooked up to two addresses.
bestbest: Fixed high pitch screech caused by incorrect addressing (two dacs weren't hooked up and two were hooked up to two addresses).
cchasm: Fixed static noise generation caused by feeding the same bit to both dacs.
cheekyms: Slightly improved sound by implementing sound triggers as 8 x 1 bit dacs instead of 1 x 8 bit dac.
galeb: Fixed sound by implementing it according to http://www.deltasoft.com.hr/retro/galebemu.htm & implemented enough of LOAD/SAVE to stop it hanging.
hard drivin: (all games in driver) Improved 12 bit controls, although centre still goes out of sync.
mea8000: Converted to a sound device.
megaphx: Fixed noisy samples due to wrong format.
microvsn: Fixed sound pitch caused by incorrect usage of write_signed8().
seicross: Changed to a 4 bit dac as samples are packed nibble.
spaceg: Preliminary sound using space invaders samples.
suna8: Changed to a 4 bit dac as samples are packed nibble.
vcombat: Fixed static during machine gun fire due to incorrect dc offset removal.
vectrex: Fixed noisy samples due to wrong format.
wheelfir: Fixed sound, eeprom & analogue steering wheel and brake pedal.
2016-10-17 16:04:02 +01:00
AJR
28cc18b698 Add row size as sixth parameter to debug dump command 2016-10-16 11:55:09 -04:00
Nathan Woods
015f5375bf Fixed some Doxy comments, and addressed a few nits 2016-10-15 21:12:13 -04:00
Nathan Woods
57e3c29dd2 [COCO] Changed to use required_ioport_array and optional_ioport
Also, I added a size() accessor to object_array_finder.  If there is a better way to do this, let me know.
2016-10-15 19:20:29 -04:00
Robbbert
e2718c91de Added swpath. Allows users to specify location of loose software. 2016-10-12 19:37:38 +11:00
AJR
0d2d4cab4f Soft resets no longer turn back clocks on devices
device_rtc_interface: Cleanups and refinements (nw)
- Give RTCs their own phase of machine initialization, right after NVRAM loading
- Make RTC feature flag overrides const, including one new one
- Make rtc_clock_updated a required override
2016-10-09 22:04:32 -04:00
AJR
0e55a0bfc0 Misc. keyboard input improvements
- Add BS, Tab, 00, 000 keys common on add-on keypads as input items; SDL may recognize these, but DirectInput does not
- Assign Keypad 00 and Keypad 000 in several drivers' input lists
- Add SDL keycode for "cancel" key
- Add keypad keys as alternates to natural keyboard
- Move has_keyboard() out of the core; enabled() test is unnecessary now that all optional keyboards are slot devices (nw)
2016-10-08 21:13:12 -04:00
smf-
84f4180a43 Fix disassembly window updating when you set pc/curpc on 68000 and z80. Remove masking from sh2 curpc to be consistent with old versions and the pc passed by the interpreter to the hook to be consistent with the drc. (nw) 2016-10-08 18:39:47 +01:00
smf-
48fd80f624 more debug consistency. (nw) 2016-10-05 17:54:28 +01:00
Vas Crabb
a860875217 Merge pull request #1460 from mamedev/machine_flags
Proposal for new system flags for 0.179 dev-cycle:
2016-10-05 21:09:22 +11:00
AJR
f1b0dfe64a Separate natural keyboard support from ioport.cpp (nw) 2016-10-02 00:07:43 -04:00
Jordi Mallach
6f103c2391 Fix various spelling fixes. 2016-09-29 10:14:48 +02:00
Jezze
778d54daf6 Fixed OSX build as suggested by ajrhacker
* use fabsf rather than abs for float->float
2016-09-28 22:53:49 +02:00
Jezze
ecf1e166fc Fixed several small issues in HLSL/BGFX
* fixed target texture dimension when -intoverscan is used (this fixes the appereance of scanline and shadow mask)
* added target_scale and screen_count uniforms
* rounded corners now remain aligned with screen bounds when -intoverscan is used (single screen only)
2016-09-28 15:30:43 +02:00
angelosa
b7ab2813f7 Merging machine_flags and master 2016-09-28 11:34:02 +02:00
smf-
fd279ffffa Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible cpu's to work properly. [smf] 2016-09-28 17:45:37 +10:00
Vas Crabb
1de6465b18 fix disassembly if 6809 is interrupted mid-instruction [smf] 2016-09-28 17:45:36 +10:00
Lord-Nightmare
32a5bcf975 Revert "fix disassembly if 6809 is interrupted mid-instruction [smf]"
This reverts commit 320121823c.
2016-09-27 18:05:57 -04:00
Lord-Nightmare
e8d2853334 Revert "Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible cpu's to work properly. [smf]"
This reverts commit 1a186c8a3a.
2016-09-27 18:05:19 -04:00
smf-
1a186c8a3a Make sure all cpu's export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible cpu's to work properly. [smf] 2016-09-27 14:26:27 +01:00
Vas Crabb
320121823c fix disassembly if 6809 is interrupted mid-instruction [smf] 2016-09-27 20:57:45 +10:00
angelosa
883cc63eb1 Proposal for new system flags for 0.179 dev-cycle:
* MACHINE_NODEVICE_MICROPHONE
  For unemulated microphone;
* MACHINE_NODEVICE_CAMERA
  For unemulated camera;
* MACHINE_NODEVICE_PRINTER
  For unemulated printer
* MACHINE_NODEVICE_LAN
  For unemulated linking multi-cabinet capabilities;
* MACHINE_NODEVICE_WAN
  For unemulated networking capabilities;

Restructured MACHINE_FLAGS into FATAL / WARNING / BTANB main categories, in order to make them easier to expose.

List of ToDo:
* MACHINE_IS_SKELETON / MACHINE_IS_SKELETON_MECHANICAL needs to be sorted or nuked, your call;
* Verify outputted text for the new flags.
* Define if BTANB type flags should have yellow warning or not.
* Add examples (will do in next commit).
2016-09-26 13:27:16 +02:00
Vas Crabb
33b2c73395 srcclean (nw) 2016-09-26 04:51:59 +10:00
Brad Hughes
31a9c62d1f Merge pull request #1405 from tverona1/master
Adding support for stable controller id's
2016-09-20 17:54:34 -04:00
Tomer Verona
845b36dae2 Adding id() property to input_device
This change adds id() property to input_device, which represents the
unique device id. This allows the osd layer when creating a device to
pass a friendly display name along with a unique identifier.

Currently the device id is only used to map a physical controller device
to controller id, but can be used more generally in the future. For raw
input devices, we use the full raw input name as the device id. For all
other devices, we fall back to device name as the device id. The
"uniqueness" of the device id is not currently enforced in code.
2016-09-20 12:19:58 -07:00
smf-
c56cd675f2 Fixed trace command access a parameter beyond the list supplied, added an error message if you provide an invalid boolean, allow boolean to be case-insensitive and skip empty strings when parsing booleans. [smf] 2016-09-20 13:34:54 +01:00
Tomer Verona
32ea8266a3 A couple of fixes
- Fix null-reference exception when mapping device to unused (null)
controller index
- Restrict device map to controller configs
2016-09-20 01:24:36 -07:00
Lord-Nightmare
f12ba601b2 taitosj.cpp: Add XTALs for various clocks based on schematics. Documented and implemented AY-3-8910 outputs being tied directly together for 3 of the 4 AY-3-8910 chips. [Lord Nightmare[ 2016-09-17 22:18:07 -04:00
Tomer Verona
0ed1ce5663 Tweak info message 2016-09-14 17:53:34 -07:00
Tomer Verona
7c6ddc1e4c Merge remote-tracking branch 'mamedev/master' 2016-09-12 18:40:30 -07:00
Tomer Verona
2bd18d5fea Support for configuring device to conrtoller id
This change adds support for configuring device to conrtoller id. This
allows for stable controller ids even if USB devices are plugged /
unplugged, system is rebooted, etc.

See documentation for additional context.
2016-09-12 18:35:36 -07:00
Vas Crabb
0036e43b7b check characters in softlist setnames, fix errors (nw) 2016-09-12 16:21:16 +10:00
Vas Crabb
b36662dbf2 check that driver names contain only [0-9a-z_] (nw) 2016-09-10 10:42:52 +10:00
Vas Crabb
6a2b41aa0b Merge pull request #1332 from npwoods/option_guide_and_imgtool
option_guide C++-ification, touched up imgtool
2016-09-10 10:15:30 +10:00
Vas Crabb
0e03164fc1 Merge pull request #1290 from npwoods/set_filetype_for_softlist_images
Now setting m_filetype for images loaded from softlists
2016-09-09 22:22:24 +10:00
Vas Crabb
c083e36c41 Merge pull request #1370 from npwoods/conditionally_support_cmdline_imagecreate
Allows devices to indicate whether image creation should be supported at the command line
2016-09-09 19:57:34 +10:00
Robbbert
3291684c2b Increased max length of parent name to 16, for evaluation purposes. (nw) 2016-09-09 16:29:26 +10:00
Nathan Woods
98df223c17 Allows devices to indicate whether image creation should be supported at the command line
This addresses MT bug #6372.  The prior issue is that creating serial and/or printer output relied on how image_load() would create images that were not there.  This behavior was not universally desirable (the consensus was that it was wrong for disk images, up in the air for cassettes etc).  This change makes it possible for devices to control this behavior.

Currently I have it associated with image_type(); this might not be the ideal fix.
2016-09-06 07:37:31 -04:00
MetalliC
e153f45560 fix MT06364 2016-09-06 13:31:55 +03:00
Olivier Galibert
7f37b29274 okim6295: Directly use set_rom_bank [O. Galibert]
dirom: Add a mandatory callback on bank change [O. Galibert]
2016-09-06 11:44:15 +02:00
Olivier Galibert
98392fb5e3 dirom: Resist to out-of-bounds bank numbers [O. Galibert] 2016-09-06 11:44:15 +02:00
Curt Coder
908f473f19 dislot: Added missing quote. (nw) 2016-09-05 22:09:23 +03:00
Nathan Woods
4251194fe5 Worked around the OPTION_GUIDE_EXTERN issue by using a crazy trick involving namespaces
Caveats:
  1.  Because of how this trick works, it is no longer possible to declare an option guide as static, so I had to make a bunch of changes
  2.  I'm going to want the hardcore C++ guys (i.e. - Vas) to review this with a fine toothed comb
2016-09-03 16:11:58 -04:00
AJR
a237f50680 More consistent use of integer types in tilemap_t and other graphics-related classes (nw)
- Define indirect_pen_t, requiring a slight reordering of emu.h due to an unsurprising dependency
2016-09-03 10:01:39 -04:00
Nathan Woods
965fb61f95 Attempting to make option_guide and option_guide::entry POD types; need to figure out a better way to do OPTION_GUIDE_EXTERN 2016-09-02 23:52:30 -04:00
AJR
0a8652e03f More new features for UI graphics viewer
- Mouse over GFX tiles to reveal pixel values
- Mouse over tilemap to reveal tile codes and colors
- UI tilemap scrolling controls are now orientation-relative
- Make mouse visible everywhere in UI graphics viewer by treating it like a menu
- Add all necessary getters to tilemap_t and a few more (nw)
- Add comment about role of decoder in tilemap creation (nw)
2016-09-02 18:04:38 -04:00
Nathan Woods
2c9e00b96d Moving null_option_guide to global scope to avoid thread safety issues 2016-09-01 20:05:13 -04:00
Vas Crabb
46bf1ce04b More cleanup on the back of Osso's fix for a7e393b36b (nw)
* Make iterators actually meet requirements of ForwardIterator (and by consequence, ForwardIterator, Iterator and EqualityComparable)
* Don't use function statics if they can be avoided - it isn't thread-safe
* Remove leftover crud from when dynamic_buffer and friends were templates in lib/util

It's still dangerous that the const behaviour of iterators doesn't match STL.
Also, simple_list members with similar functionality to STL container members should be renamed.
2016-08-30 01:31:23 +10:00
Ivan Vangelista
7c6a527e26 emumem.cpp: fix regression in save states (nw) 2016-08-29 15:46:10 +02:00
AJR
6ff64def00 Misc. fixes (nw)
- Correct address space number for audiocpu_map in barni.cpp
- Add missing_dependencies check to airraid_dev (fixes segfault in tilemap viewer; yes, I know these tiles are 100% garbage)
- Add assert to device_gfx_interface::palette() to help catch dependency mistakes like the above
- Add MACHINE_IMPERFECT_SOUND to cshootert (music desyncs a lot)
2016-08-28 16:09:03 -04:00
Vas Crabb
c960435d3e srcclean and translation regeneration 2016-08-29 02:02:04 +10:00
Vas Crabb
67bedd6b2e Merge pull request #1331 from antonioginer/master
New stretching options (as suggested by Jeeze)
2016-08-28 10:36:58 +10:00
Nathan Woods
b60879e595 option_guide C++-ification, touched up imgtool
The main point of this change is to C++-ify option_guide.  It was changed from a struct array to a class, namespaced etc, with the ultimate hope of incorporating an in-emulation image creation UI.

Imgtool got hit with a number of changes; I'll probably have to bring that off of the backburner and touch that up too
2016-08-27 16:41:11 -04:00
Olivier Galibert
fe5a6b57d1 dirom fixes (nw) 2016-08-27 22:37:21 +02:00
Antonio Giner
dcc361c354 Consistently apply -intscalex to the long dimension of the target
monitor, and -intscaley to the short dimension.
2016-08-27 22:12:29 +02:00
Antonio Giner
aa326bd8e6 Implement new option -autostretchxy, to automatically apply
-unevenstretchx or -unevenstretchy based on source native orientation.
2016-08-27 22:12:29 +02:00
Antonio Giner
a976bc2a2a Implement new option -unevenstretchy (complementary to -unevenstretchx) 2016-08-27 22:12:29 +02:00
therealmogminer@gmail.com
7df8323c2d Fix -debug -cheat crash, nw 2016-08-27 18:03:12 +02:00
R. Belmont
4434244d3f Merge pull request #1325 from ajrhacker/palette_viewer
Show color values in palette viewer
2016-08-27 10:05:26 -04:00
AJR
1fe589ca1e Show color values in palette viewer
- On the UI graphics viewer's palette screen, moving the mouse over a color rectangle will show the index of the entry and its RGB values in hexadecimal.
- For indirect pens, the index of the corresponding color will also be shown.
- For colors in normal RAM-based palettes, the raw (i.e. undecoded) value stored in memory will also be shown. This does not currently work with most buffered palettes (though the Seibu SPI driver has been updated for this purpose), and is totally incompatible with PROM-based or RAMDAC-based palettes.

(nw) The changes made to the core while implementing this feature may look more substantial than they really are. A whole batch of read methods have been made const, and palette_device now has a generic read_entry function that is used both internally and externally.
2016-08-26 22:39:58 -04:00
Robbbert
be637e1af8 TEMPORARY PATCH to fix the build. 2016-08-27 12:35:49 +10:00