* Added some notes and done some documentation fixes.
* Expanded and updated games table in video\cps1.c
* Removed the notes about LW-13.10D ROM in forgottnu
and RT_23.13B ROM in wonder3, since current dumps
are confirmed as good.
* Fixed qad labels and confirmed pcb infos.
New clones added
----------------
Final Fight (World, set 2) [Bonky0013, JacKc]
Forgotten Worlds (USA, B-Board 88618B-2, Rev. C) [Bonky0013, JacKc]
Street Fighter II: The World Warrior (USA 920522, Rev. G) [Bonky0013, JacKc]
samples. Increased CD sectors per hunk to 8 for better compression.
[David Haywood]
Re-did the non-CD FLAC codec to be "smart" in that it can choose
either big-endian or little-endian on the fly and uses the best one.
Added FLAC as a default codec for hard disks, which helps a lot for
certain disks. [Aaron Giles]
which mixes all its inputs to a single output stream. Redefined the
SPEAKER device to use this and remove the duplicate underlying logic.
The main purpose of this new interface is to allow device-ification of
an entire sound board, which can itself become a mixer of all of its
sound components to a single output stream. This stream can then be
routed by the device's owner to the appropriate speakers. A real-life
example will show up soon.
[N64] Miscellaneous machine fixes, gets Conker's Bad Fur Day to boot through its legal screens with interpreter MIPS. [Ryan Holtz]
- Increase the amount of time consumed by PI DMA, makes certain RSP microcodes that test DMA speed land in the correct window.
- Force the main CPU to yield when the RSP reads its atomic semaphore.
- Force the RSP to yield when PI DMA completes.
- Flush the RSP DRC cache when touching IMEM with SP DMA.
- enforced short names for slot card devices
- updated validation, romverify and listxml output accordingly
- slotoptions now also contain shortnames so it's possible to link
slot option and device
----------------
Mortal Kombat (Yawdim bootleg - Set 2) [ScheissNussen, Smitdogg, The Dumping Union]
New games marked as GAME_NOT_WORKING
------------------------------------
Area 51: Site 4 (September 11, 1998) [ninjakid]
Added missing proms for Fax and Fax 2. [W. Belk, Smitdogg, The Dumping Union]
similar to Ludo, derivated from the indian game Parchisi. Coin-op
machine for 1-4 players. No screen, just artwork and lamps.
[Roberto Fresca]
New games marked as GAME_NOT_WORKING
------------------------------------
Mann, oh-Mann [Roberto Fresca, Team Europe]
- appended to xml info about devices which can be optionally mounted to slots
- added a description attribute to slotoption to show which devices can be mounted
in each slot
- added to xml info of cpus/inputs/image/slots which are relative to devices (e.g. CPUs
or Dipswitches in the device itself)
- tags of elements directly attached to the root_device do not display anymore the
root colon (slot tags were already behaving in this way); elements attached to optional
devices use tags starting with colon (to be interpreted as a relative tags which gets
appended to the device tag, when such a device is selected in a slot)
- modified when necessary output routines to pass a root_device and a root_tag as
parameters, in order to simplify output of relative devices and avoid duplicated code
- updated DTD according to the new elements and attributes
These changes allow frontends to know in advance how drivers can be configured
through the various slot options (by matching option descriptions with device
descriptions), without the need to run -lx with the various slot combinations. This is
especially of use if a device adds e.g. dipswitches or image devices (like additional
floppy drives or additional slot expansions), but also if one wants to know e.g. how many
sound channels a soundcard would add to a pc driver, or which kind of screen parameters
would be added by a specific choice of video card.
only through validity checking. If detected normally, do
a best-effort attempt so that things like CRC(1) SHA1(1) can
be used to force reporting of proper checksums.
* Added Casino Poker (Ver PM86LO-35-5, German).
* Inputs from the scratch.
* Switched manufacturer 'Playman' to PM / Beck Elektronik, since
it's PM and Beck Elektronik/Computer/etc...
* Added technical and game notes.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Casino Poker (Ver PM86LO-35-5, German) [Roberto Fresca, Team Europe]
they are bus-shared with RAM. Should impact some timing behaviors
such as later levels in Robotron, where approximately 10% of the
blits are done with bit 2 set. Further refinements may be necessary
but this addresses the most significant issue. [Sean Riddle, Aaron Giles]
diserial - added optinal rx and tx timers and callbacks [Carl]
ins8250 - serial rx line high on start and fix for msr register [Carl]
bitbanger - added 19200bps (no whatsnew)
Now that the FD1094 key has been supplied we see it's actually Altered Beast ;-)
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Altered Beast (FD1094 317-0069) [Stefan Lindberg, Chris Hardy, The Dumping Union]
src/lib/util/chd.c: In member function 'chd_error chd_file::compress_v5_map()':
src/lib/util/chd.c:1660: warning: comparison is always true due to limited range of data type
reading is now done using the FLAC wrapper. There is now a
samples_iterator class to centralize the logic for handling
the sample list walking.
Also redid the cheesy half-baked votrax device since it relied
on some old samples-based handling. Until we have a real
implementation, it would be good to route the various clients
through the current one to at least wire it up properly, even
if it just plays samples in the end. Will look into that
shortly.
mc146818: remove previous Apollo hack, fix 32768 Hz. updates [Hans Ostermeyer]
m68k: fix FSGLMUL/FSGLDIV plus some minor MMU improvements [Hans Ostermeyer]
m68k: slightly less stubby CINV [Hans Ostermeyer]
Started making some individual rom name adjustments, assisting those who decide to use parent-only romset merging, a more likely event now with added .7z solid archiving. (nw)
Out of whatsnew - Haze should be able to correct the speed up soonish
New Game Added
-----------------------------------------
Diet Family [Dr. Spankenstein, Paratech, joe35car, tormod, M. Hoenig, Mosquito2001, M. Ponweiser, M. Viste, Phil Bennett, N. Francfort, A. Costin, J. Finney, gamerfan, Smitdogg, The Dumping Union]
Centralize detection of existing output files. Add detection (require --force)
for extracted files as well. Move checks outside of try/catch so that the
files are not subsequently deleted.
to more optimally use FLAC. Updated flac wrapper to implement a
tell callback so FLAC can tell us how much we've decoded. Updated
chdman to use CD-FLAC codec in preference over the existing
codecs for CDs by default. Credit Haze for the idea.
in order to make things more consistent with behaving when cmd line
parameters are sent, also added emuopts support to add newly created
options if some is added with adding software item in slot (no whatsnew)
from 4 to 5. This means any diff CHDs will no longer work. If you
absolutely need to keep the data for any existing ones you have,
find both the diff CHD and the original CHD for the game in question
and upgrade using these commands:
rename diff\game.dif diff\game-old.dif
chdman copy -i diff\game-old.dif -ip roms\game.chd -o diff\game.dif -op roms\game.chd -c none
Specifics regarding this change:
Defined a new CHD version 5. New features/behaviors of this version:
- support for up to 4 codecs; each block can use 1 of the 4
- new LZMA codec, which tends to do better than zlib overall
- new FLAC codec, primarily used for CDs (but can be applied anywhere)
- upgraded AVHuff codec now uses FLAC for encoding audio
- new Huffman codec, used to catch more nearly-uncompressable blocks
- compressed CHDs now use a compressed map for significant savings
- CHDs now are aware of a "unit" size; each hunk holds 1 or more units
(in general units map to sectors for hard disks/CDs)
- diff'ing against a parent now diffs at the unit level, greatly
improving compression
Rewrote and modernized chd.c. CHD versions prior to 3 are unsupported,
and version 3/4 CHDs are only supported for reading. Creating a new
CHD now leaves the file open. Added methods to read and write at the
unit and byte level, removing the need to handle this manually. Added
metadata access methods that pass astrings and dynamic_buffers to
simplify the interfaces. A companion class chd_compressor now
implements full multithreaded compression, analyzing and compressing
multiple hunks independently in parallel. Split the codec
implementations out into a separate file chdcodec.*
Updated harddisk.c and cdrom.c to rely on the caching/byte-level read/
write capabilities of the chd_file class. cdrom.c (and chdman) now also
pad CDs to 4-frame boundaries instead of hunk boundaries, ensuring that
the same SHA1 hashes are produced regardless of the hunk size.
Rewrote chdman.exe entirely, switching from positional parameters to
proper options. Use "chdman help" to get a list of commands, and
"chdman help <command>" to get help for any particular command. Many
redundant commands were removed now that additional flexibility is
available. Some basic mappings:
Old: chdman -createblankhd <out.chd> <cyls> <heads> <secs>
New: chdman createhd -o <out.chd> -chs <cyls>,<heads>,<secs>
Old: chdman -createuncomphd <in.raw> <out.chd> ....
New: chdman createhd -i <in.raw> -o <out.chd> -c none ....
Old: chdman -verifyfix <in.chd>
New: chdman verify -i <in.chd> -f
Old: chdman -merge <parent.chd> <diff.chd> <out.chd>
New: chdman copy -i <diff.chd> -ip <parent.chd> -o <out.chd>
Old: chdman -diff <parent.chd> <compare.chd> <diff.chd>
New: chdman copy -i <compare.chd> -o <diff.chd> -op <parent.chd>
Old: chdman -update <in.chd> <out.chd>
New: chdman copy -i <in.chd> -o <out.chd>
Added new core file coretmpl.h to hold core template classes. For now
just one class, dynamic_array<> is defined, which acts like an array
of a given object but which can be appended to and/or resized. Also
defines dynamic_buffer as dynamic_array<UINT8> for holding an
arbitrary buffer of bytes. Expect to see these used a lot.
Added new core helper hashing.c/.h which defines classes for each of
the common hashing methods and creator classes to wrap the
computation of these hashes. A future work item is to reimplement
the core emulator hashing code using these.
Split bit buffer helpers out into C++ classes and into their own
public header in bitstream.h.
Updated huffman.c/.h to C++, and changed the interface to make it
more flexible to use in nonstandard ways. Also added huffman compression
of the static tree for slightly better compression rates.
Created flac.c/.h as simplified C++ wrappers around the FLAC interface.
A future work item is to convert the samples sound device to a modern
device and leverage this for reading FLAC files.
Renamed avcomp.* to avhuff.*, updated to C++, and added support for
FLAC as the audio encoding mechanism. The old huffman audio is still
supported for decode only.
Added a variant of core_fload that loads to a dynamic_buffer.
Tweaked winwork.c a bit to not limit the maximum number of processors
unless the work queue was created with the WORK_QUEUE_FLAG_HIGH_FREQ
option. Further adjustments here are likely going to be necessary.
Fixed bug in aviio.c which caused errors when reading some AVI files.
To test it, I used my Logitech Trackball (normally a mouse) and configured it as a joystick.
Prerequisites:
- Locate your linux input device for the trackball. In my case that's /dev/input/event3
- "sudo chmod a+r /dev/input/event3"
- "export SDL_JOYSTICK_DEVICE=/dev/input/event3"
This forces sdl to recognize the trackball as a input device.
-mame64 missile -nomouse -w
Configure the trackball axis. Make sure the mouse pointer is outside the window and window still has keyboard focus - most modern window manager should support this.
Quit and restart with
-mame64 missile -mouse -now
to hide the mouse. Voila. Works.