Commit Graph

57959 Commits

Author SHA1 Message Date
ClawGrip
f3802d9b22
Regional game names fixes (Spanish special characters) 2018-03-19 12:00:51 +01:00
Ivan Vangelista
30193541de
golstar.cpp: replaced macros with lambdas (nw) 2018-03-19 11:19:59 +01:00
AJR
91b36cbfc8 vt100.cpp: Another note for later (nw) 2018-03-19 00:18:31 -04:00
cam900
371de0c5c0 divebomb.cpp cleanups (#3350)
* divebomb.cpp : Minor cleanup, Add generic_latch_8_device for cpu comms, Add input_merger_any_high_device for fgcpu irq, Fix tags

* divebomb.cpp : Minor cleanup
2018-03-18 23:54:56 -04:00
Risugami
647ea55ea5 cleaned up midvunit inputs and outputs. cleaned up seattle outputs. (#3355)
* cleaned up midvunit inputs and outputs. cleaned up seattle outputs.

* better motion inputs and sorted main buttons for midvunit

* keep case the same

* removed runtime tagmap lookup
2018-03-19 14:13:03 +11:00
AJR
8b492a67bc artmagic.cpp: Replace NVRAM with parallel EEPROM; improve ADPCM banking 2018-03-18 19:29:10 -04:00
Vas Crabb
aa9ba93f6e (nw) dsp16: marginal performance improvement by precalculating SIO clock divider preload, also push ILD/OLD on mode change 2018-03-19 02:56:09 +11:00
Ted Green
68e86d3cf8 iteagle: Change name of big buck hunter. (nw) 2018-03-18 09:53:38 -06:00
Dirk Best
9a62aaae6d ht6000: Map percussion generators, leds, keys and ram card address 2018-03-18 16:28:32 +01:00
Vas Crabb
3771ec0a9b second time I've done that (nw) 2018-03-19 01:54:59 +11:00
Dirk Best
3bad29580c ht6000: Map RAM and ROM2, add switch inputs, located music lsis 2018-03-18 15:26:30 +01:00
ajrhacker
7b7781d8c8
Merge pull request #3351 from cam900/k051649_internal
k051649.cpp : Add scc_map for reduce duplicate
2018-03-18 10:09:41 -04:00
ajrhacker
69808e970b
Merge pull request #3354 from clawgrip/patch-2
Regional game names fixes (Spanish special charcaters)
2018-03-18 09:12:27 -04:00
Vas Crabb
95e7e1272a dsp16: rewrite disassembler - less cluttered output, better handling of ambiguous operations, look-ahead for predicated jumps, live will/won't comments on conditional instructions 2018-03-18 23:47:04 +11:00
Dirk Best
8c70c1418b Casio HT-6000: Skeleton driver 2018-03-18 12:01:37 +01:00
ClawGrip
c5b7812a16
Regional game names fixes (Spanish special charcaters) 2018-03-18 11:51:20 +01:00
braintro
7667e80719 taito_f2.cpp: correct Mega Blast c-chip clock (nw) 2018-03-18 00:51:05 -05:00
braintro
f70962d05f opwolf.cpp: Correct clock for c-chip (nw) 2018-03-18 00:45:53 -05:00
AJR
3cfe01ed6c Separate TLCS-90 external IRQ line state from internal request register (fixes tenkai slowdowns) 2018-03-18 00:57:08 -04:00
braintro
82985bbd9e leland.cpp: Correct ROM name for rev 5 of Ataxx. [Kevin Eshbach, The Dumping Union] 2018-03-17 23:34:41 -05:00
AJR
4e2ee792b0 rz1: Fix HD44780 hookup (nw) 2018-03-17 20:28:34 -04:00
Ted Green
d9be150c6f iteagle: Set cpu frequency to 166MHz. Seems to fix MT 06908 . 2018-03-17 17:18:18 -06:00
AJR
7ce116e712 Fix mame.lst (nw) 2018-03-17 18:41:03 -04:00
AJR
42c69db066 Build fix (nw) 2018-03-17 18:38:12 -04:00
Scott Stone
1a712ef7a9 Merge branch 'master' of https://github.com/mamedev/mame 2018-03-17 18:37:28 -04:00
Scott Stone
90b6849444 Account for same label different hash (sldh) comments that arose with rom label changes (nw) 2018-03-17 18:37:09 -04:00
David Haywood
13cbded6cc use a handcrafted c-chip rom for Rainbow Islands Extra, pending a real dump, allows removal of simulation code and general cleanups. (#3338)
also made rainbow islands extra a parent, since it has it's own game code, own c-chip and is generally considered a semi-sequel rather than a bugfix / revision of the original game.

(best I can tell behavior matches the differences between original and extra that were present in the simulation at least, but obviously the real chip could be hiding more secrets)
2018-03-17 18:35:46 -04:00
AJR
87f31c6c66 cit101.cpp: More PCB documentation (nw) 2018-03-17 18:28:42 -04:00
AJR
73ae8375c9 cit101: Correct overdump; note types and undumped PROMs (nw) 2018-03-17 18:09:26 -04:00
AJR
48f77bb45b vt100_kbd: Fix for last fix (nw) 2018-03-17 17:23:48 -04:00
Vas Crabb
ffd19cda0f Restrict ROM labels to a filesystem- and shell-safe subset of printable
ASCII.

This has not been done unilaterally - I have the support of @galibert,
@Tafoid, and @rb6502 to do something about the current free-for-all.

The trouble with the ROM label field in MAME is that it serves multiple
competing purposes: it's supposed to identify the device in the original
system, and also act as a filename when searching for media image files
to load.  It also has to appear in listings of needed/missing files
(e.g. in cases where the image _isn't_ found).

To identify the original device, the ROM label field in MAME often
contains text derived from some combination of one or more of the text
on a label if present, the silkscreen on an IC package, the location on
the circuit board, and the device designation.  There's no standard for
the order in which these appear and how they're separated.  Some people
add arbitrary filename extensions and other annotations.

There are practical limitations on what can appear in the string, given
it's used as a filename:
* Path/name length limits.
* Restrictions on characters that can appear in a filename.
* Practicality of using the filename in a command-line environment.
* Ambiguity when describing a filename.

Filesystems themselves typically restrict characters in filenames:
* Windows defines MAX_PATH as 260 characters - longer paths are
  difficult to use with Win32 APIs and don't work properly in Windows
  Explorer
* Most filesystems don't allow ^@ or the path separator in names.
* Windows doesn't allow C0 control characters or <>:"/\|?* characters in
  filenames.
* Filesystems may have collation, e.g. FAT16 is case-folding, NTFS and
  HFS+ are case-preserving but case-insensitive, while EXT and XFS are
  case-sensitive.
* Filesystems may perform Unicode normalisation, e.g. NTFS forces NFC,
  HFS+ forces NFD, while ZFS stores filenames as supplied at creation,
  but may be configured to apply normalisation when testing equality.

Shells use various ASCII characters for special purposes:
* C0 control characters for line editing and control (e.g. ^C to cancel
  a line, ^V for control charecter escape, ^R for history search).
* The "'\ chracaters for quoting/escaping.
* The ><| characters for redirection.
* The *?[] characters for pattern matching.
* The ${}~ characters for variable substitution/sequence expansion.
* The ! or ^ characters for history substitution.
* The ()` characters for controlling subshells.
* The %& characters for job control.
* The ; character as a command separator.
* The # character for comments.

There's also the issue of whether users across a range of locales will
be able to type/display characters.  We still don't have good support
for Unicode console output on Windows (std::wcout doesn't seem to work
properly), many users don't install C/J/K fonts, and many users aren't
comfortable entering text in unfamiliar languages.  This means we're
limited to printable ASCII for practical purposes.

The practical limitations mean the subset of "safe" characters is
limited to ASCII digits, either uppercase or lowercase English Latin
(but not both due to collation behaving differently across systems), and
the +,-.=_ punctuation chracters.  We've decided on lowercase, digits,
and safe punctuation.  In addition to this, spaces are allowed, as they
can be quoted/escaped easily enough if no other special characters are
used.

There have been some arguments that allowing uppercase is "more
accurate", but in practical terms it doesn't add much value.  A string
in a C++ program can't represent layout, relative size of text, colour
and shape of the label, text font, graphics, and many other details.  It
also does nothing to address labels with text outside the English Latin
alphabet (e.g. labels with Chinese ideographs).  Besides missing
information, the lack of hard and fast rules means you need to intuit
what a label string in MAME is trying to represent.  There is simply no
substitute for photographs.  There wasn't even any consistency in case
within individual machine sets.  For example, several games in
vigilant.cpp had inconsistent case for "ic" vs "IC" in designation
suffixes, and ibm6850.cpp had inconsistent case for filename extensions
withing a set.  There were sets that used uppercase for text from the
label but not from the part number/PCB location, and vice versa.  It was
a huge mess.

There's some merit to the idea of allowing a wider variety of characters
in the label strings in the source, and mapping to a more restricted set
when searching for files.  However it creates more issues than it
solves.  It would require a change to the XML output to provide both the
label and filename, and a corresponding change to external ROM
management tools.  It would be impractical to do for software lists,
because it would require ROM management tools to implement the exact
same mapping algorithm as MAME.

But that aside, actually doing useful mapping would be impractical.
What would you do with C/J/K ideographs, like the chip labelled
東方不敗 (Dongfang Bubai)?  There's no intuitive way to do the mapping
wtihout incluing something like Unihan data, which would add a lot of
bloat.  Even the, without a language hint the Romanisation would be less
than ideal in many cases (using Chinese reading for Japanese text and
vice versa).  There's still the messy issue of filesystem collation to
deal with.

We do allow full Unicode in comments in the source.  If you want to
provide a more detailed description of a ROM label, that's the place for
it.  You've got more characters available, and the possibility of using
mulitple lines.  There are too many other competing requirements on the
label field in the ROM definitions.
2018-03-18 06:34:43 +11:00
AJR
7d7d3c5c45 kingdrby.cpp: Use output finders instead of set_digit_value (nw) 2018-03-17 14:42:27 -04:00
AJR
8a41d5c72a unkitpkr: Add switch to disable card graphics in bookkeeping mode 2018-03-17 14:38:34 -04:00
fulivi
2e4c96157d IEEE-488 remotizer device (#3241)
* remote488: work started

* remote488: fixed a crash when using socketed bitbangers on Linux machines

* remote488: added ieee-488 remotizer device

* remote488: added remotizer devices to ieee-488 buses of HP9845 & HP85

* remote488: added missing emu.h inclusion

* Revert "remote488: fixed a crash when using socketed bitbangers on Linux machines"

This reverts commit edfeb1768ec332ccdb77584e272d93b756819c41.

* remote488: nudge..

* remote488: no longer use locale-dependent functions, added commas and
semicolons as msg separators, improved use of util::string_format
2018-03-18 05:20:00 +11:00
ajrhacker
077272c5b5
Merge pull request #3346 from cam900/ultraman_clean
ultraman.cpp : Minor cleanup
2018-03-17 14:05:47 -04:00
cam900
4c58126945 k051649.cpp : Add scc_map for reduce duplicate 2018-03-17 23:53:39 +09:00
Ivan Vangelista
f25097f2f2 merged tcl.cpp into goldstar.cpp, since it's same hardware (nw) 2018-03-17 14:25:37 +01:00
Ivan Vangelista
cd944c114b new not working clone
---------------------------------
Earthshaker (Prototype) (PA-4) [PinMAME]
2018-03-17 11:28:40 +01:00
Ivan Vangelista
2d0dbde7d6 new not working machine
------------------------------------
Lucky Draw (Pinball) [PinMAME]
2018-03-17 11:14:43 +01:00
cam900
870a36c9f3 chqflag.cpp : Minor cleanup (#3347)
* chqflag.cpp : Minor cleanup

* chqflag.h : Fix compile

* chqflag.h : Minor spacing
2018-03-17 21:09:49 +11:00
Ivan Vangelista
cf8cafba30 new working clone
----------------------------
Super Cobra (bootleg, set 2) [Belike]
2018-03-17 10:39:33 +01:00
Ivan Vangelista
26ce9906fe new working clone
-----------------------------
Street Fighter II: The World Warrior (Thunder Edition, bootleg, set 2) [coolmod, The Dumping Union]
2018-03-17 10:26:54 +01:00
Dirk Best
97b3e3deeb rz1: Hook up uPD934G 2018-03-17 09:26:34 +01:00
Dirk Best
3ffd6b839f uPD934G: Preliminary emulation 2018-03-17 09:10:18 +01:00
cam900
ce85ed37a3 ultraman.cpp : Minor cleanup 2018-03-17 16:56:13 +09:00
braintro
61f1bf7477 new clone added - The Real Broadway
New Clone Added
--------------------------------------------
The Real Broadway (9131-20-00 R0C) [Brian Troha, The Dumping Union]
2018-03-16 23:46:42 -05:00
braintro
cf72516ca1 C-chip clocks (nw)
Better documentation.  Superman has been verified as 8MHz.
2018-03-16 22:48:22 -05:00
AJR
c22253d4f1 vt220: Update notes (nw) 2018-03-16 22:05:27 -04:00
arbee
23ece1d07f rz1: preliminary hd44780 hookup [R. Belmont] 2018-03-16 21:34:00 -04:00
ajrhacker
7ead93ea9a
Merge pull request #3343 from rfka01/master
alphatro.cpp: Better ROM names, added real ROM for machine with BICOM…
2018-03-16 19:30:10 -04:00