Commit Graph

57938 Commits

Author SHA1 Message Date
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
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
rfka01
d3683c7ae0 alphatro.cpp: Better ROM names, added real ROM for machine with BICOM graphics extension 2018-03-16 23:27:40 +01:00
AJR
63b7f5f960 liberatr2: Regression fix (nw) 2018-03-16 17:31:15 -04:00
David Haywood
f6961a491e extracted decompressed sprite data from Gunpey [Peter Wilhelmsen, Morten Shearman Kirkegaard] (#3337)
* extracted decompressed data from Gunpey [Peter Wilhelmsen, Morten Shearman Kirkegaard]
 - hooked these up for now while we study the compression scheme, fixing graphics [David Haywood]

machines promoted to WORKING
Gunpey (Japan) [Peter Wilhelmsen, Morten Shearman Kirkegaard, David Haywood]

some other gfx features (zooming for example) still need emulating.

* add sprite zooming

* drop flag (nw)
2018-03-16 16:43:40 -04:00
ajrhacker
20504b9d33
Merge pull request #3342 from DavidHaywood/160318
Xavix - new machines marked as NOT WORKING
2018-03-16 16:35:40 -04:00
Vas Crabb
5976a48035 dsp16: start adding recompiler boilerplate (nw) 2018-03-17 06:51:50 +11:00
Vas Crabb
2d76360825 vgmplay: use QSound DSP emulation
qsound_hle: remove ROM definition
2018-03-17 02:45:52 +11:00
DavidHaywood
3fcf00a160 Xavix - new machines marked as NOT WORKING
e-kara Volume 1 (US?) [Sean Riddle, Peter Wilhelmsen]
e-kara Volume 2 (US?) [Sean Riddle, Peter Wilhelmsen]
2018-03-16 14:56:32 +00:00
Vas Crabb
af5f3269d4 hopefully appease GCC (nw) 2018-03-17 01:51:12 +11:00
cracyc
5a8d958d8d magnum: notes (nw) 2018-03-16 09:41:46 -05:00
Vas Crabb
bdbf188e37 dsp16: fix some corner cases (nw) 2018-03-17 00:59:15 +11:00
Vas Crabb
245f822e7d use more constexpr and literal classes in UML to give compiler more optimisation opportunities (nw) 2018-03-17 00:58:54 +11:00
Ivan Vangelista
e34faf61ff
goldstar.cpp: make aplan capable of reaching at least a couple of test screens, like cmast99 (nw) 2018-03-16 14:07:34 +01:00
Scott Stone
5f000c52b0
Merge pull request #3339 from FakeShemp/dc_g
dc.xml - Add games up to G
2018-03-16 04:24:12 -04:00
Ivan Vangelista
6db84fd907
sauro.cpp: verified clocks for Sauro [Corrado Tomaselli, The Dumping Union] 2018-03-16 08:45:48 +01:00
Ivan Vangelista
56cd14113e
goldstar.cpp: forgot to add the MNW flag to super7 (nw) 2018-03-16 08:43:44 +01:00
Vas Crabb
b9d6e91a4e note (nw) 2018-03-16 16:36:03 +11:00
Olivier Galibert
2e7d2a216e Don't sleepwalk and code (nw) 2018-03-16 06:24:57 +01:00
AJR
f715fc495c ay31015: Fix receiver desync when next start bit arrives early 2018-03-16 01:01:27 -04:00
Vas Crabb
084d9a4ed3 dsp16: implement remaining instructions for completeness
qsound_hle: use same sample rate as DSP
2018-03-16 15:06:46 +11:00
AJR
48e62db544 vt100_kbd.cpp: Minor points (nw) 2018-03-15 22:33:34 -04:00
AJR
d43a5dfb6a cit101, cit220p: Correct years and add notes (nw) 2018-03-15 21:22:10 -04:00