Whats New
Whats New
153
-------
Source Changes
--------------
-Massive architectural change: There is no longer a single, global palette.
Instead, palettes are now devices, and drivers and devices can have as many
independent palettes as needed. This update required extensive changes to many
parts of the core, UI, OSD layers, drivers and devices. [Aaron Giles, Miodrag
Milanovic, Alex Jackson]
-Huge effort has been done in order to modernize core and drivers, almost
every file has been touched [Curt Coder, Osso, Alex Jackson, smf, Miodrag
Milanovic]
-Added missing interfaces to netlist. mame -debug pongf now does not
crash any longer and displays some state. Still more work needed.
Further improved the netlist state saving. [Couriersud]
-Removed legacy code in netlist and separated out 74153 and 74107(A).
[Couriersud]
-Added a dry-run option (-d) to srcclean. Know what you are doing :-)
[Couriersud]
-Enhanced the netlist parser and cleaned pong.c. Also added a folder
nl_examples which contains standalone netlist examples. [couriersud]
-SDL2.0: Fix relative mouse motion. This makes Missile Attack playable
again with my Logitech marble trackball. [Couriersud]
-Pong now has complete emulation of discrete logic for runQ and SRST
signals. Rewrote switch2 device to be based on resistances as well.
[Couriersud]
- AVR8 cpu changes [Felipe Sanches]
* timers wip
* Add TIMSK* reads - Refactor timer_tick calls
* Remove all redundant register init statements. We simply set all
0x200 registers to zero.
* debugging timers
* better syntax for disassembly of RJMP destination address
* use register names in disasm of CBI, SBI, SBIC, SBIS instructions
* use register bit names in disasm of instructions SBI, SBIS, SBIC,
CBI
- wip on avr8 EEPROM read/write support
-Netlist: [Couriersud]
* fixed 7474 save state
* remove a printf
* simplified netlist_list_t
* increased reschedule count to 15 - diodes are dog-slow
* made reschedule count a solver parameter
* simplified solver code
* solver time now also resets
-n68681: modernized and killed config struct in favor of devcb2. [R. Belmont]
-Fix for pixel gaps between multi-screen games in HLSL mode. [MooglyGuy]
-Netlist: [Couriersud]
* added missing parameter to analog input device
* parser now parses NET_MODEL
* fixed a bug in switching bjt implementation
-Use proper AY8910 mixing model for MSX. Volumes set to match MSX
hardware. [Dr. Venom, Couriersud]
-Netlist: [Couriersud]
* Added Ebers-Moll BJT model. Currently only for NPN.
* Fixed convergence issue in the solver.
* Accuracy for Ebers-Moll must be better than 1e-5 to not generate
nano-second spikes. Typical sound applications should be able to run
with less since the spikes are not audible.
-exp85.c: Added an RS232 port instead of hard coding the serial terminal [smf]
-Added 82s153's from Ropeman (Roc 'n Rope bootleg) and also corrected
the rom names and locations. In addition, corrected some of the names
of the one United States Donkey Kong Jr. set. [Kevin Eshbach]
-isbc.c: converted to use RS232 port instead of hard coded to using serial
terminal [smf]
-Removed some dead code and ambiguous functions in the netlist code.
[Couriersud]
-Created a mame sound device for netlist. Fixed an issue causing wild
oscillations. Currently, pong has sample code for using the sound
device. Uncomment "TEST_SOUND" in pong.c to hear a constant sound from
a 7400 multivibrator. Sound is still WIP, but the proof of concept has
been done. [Couriersud]
-add proper internal rom to 'svg' parent set, it resets on coin now,
need to investigate [rtw, iq_132, David Haywood]
-tms5501: Rewrote the emulation to use devcb2 and diserial. [Curt Coder]
-Netlist: [Couriersud]
* Working Ebers Moll model. That's a significant step ahead.
* Simple 2x2|RHS SPICE stamps now supported by two terminal devices.
This was implicitly contained in the design, but set_mat now shows
how a two-terminal device fits into a SPICE approach.
* Introduced direct solvers for net groups with 1 or 2 nets.
* Introduced specialized solvers for N=1,2,3,4,5 by using templates.
* nice performance increase for BJTs
-ata/ide: Added support for 8 bit data transfers using the set features command,
instead of using mem_mask as ATA doesn't work that way. [smf]
-bankdev.c: don't change the current bank on reset, because another device might
have already changed the bank when it was reset [smf]
-clcd.c: Implemented MMU making it usable. Hooked up rtc, rs232, centronics and
sound. LCD colors are matched up from this photograph
http://vivaamigafilm.blogspot.co.uk/2012/02/chillin-with-porter.html
The character rom is not dumped
http://www.floodgap.com/retrobits/ckb/secret/cbm-vlcd-charrom.jpg
So a fake font is used which takes the unused upper case font in the kernel rom
as a starting point and adds lower case characters, trying to make them match
the available screen shots
http://www.floodgap.com/retrobits/ckb/secret/cbm-lcd-screen.gif
There appears to be several bugs in the roms that affect the rtc [smf]
-tourvis.c: Correct 1 cart name and add newly dumped U4-43 BIOS.
[The Dumping Union]
-m6502: expose SYNC pin through devcb2 for more flexibility [R. Belmont]
-tugboat.c: correct AY chip type and clock, some cleanups [Alex Jackson]
-AICA: EFREG is mapped every other word, not every word. Fixes memory
trashing in all Naomi/DC/AW games. [O. Galibert, R. Belmont]
-Added Bingo (1983). PCB seems bootleg, but the game looks legit.
Worked from the scratch a whole set of inputs and button-lamps support
for this game. Changed the poker41 description to Four in One Poker
(as seen in the official brochure). Added game and technical notes.
[Roberto Fresca]
-Centronics WIP using write lines and DEVCB2. Added an output latch and
input buffer device to allow configuration in MCFG. Renamed centronics
device "printer" to "image". FM-7 parallel port joystick works again.
Added support for using PC LPT control lines as inputs (not tested).
c64 geocable now just passes individual lines through, changed the
strobe line to what is documented online (not tested). Converted MSX &
exidy sorcerer parallel port DAC to use covox device instead of using
a configuration switch (not tested). Sorcerer parallel port is more
like the commodore user port, so should be converted to it's own slot
where one option is a centronics card. [smf]
-Magic Card II: Override the wrong visible area and centered the game
through a dedicated CRTC config interface [Roberto Fresca]
-Naomi updates:
* Added all known IC locations from sets missing them [MetalliC]
* Corrected some bad Sega chip numbers and IC locations [MetalliC]
* Use real chip dump for mvsc2 [Guru]
* Fixed ROM loading for Animal Basket [MetalliC]
-Jubilee Double-Up Poker: Fixed the NVRAM size. Video and working RAM
are both halves of the same device (TC5517AP-2, tied to a battery).
Also added technical notes. [Roberto Fresca]
-Rewritten 6850 based on datasheet using external CLOCK & removed MIDI
clock hacks. Standardised COM8116 DEVCB2 callbacks. GUS gf1_device
device derives from acia6850_device to gain access to the tx & rx irq
state, rather than exposing it with a public method. [smf]
-Timers once again execute at the end of each timeslice instead of at the
start, as they did prior to 0.141u2. Fixes MT 4308 [Alex Jackson]
-Remove local lists of midi devices as they are currently all the same [smf]
-n68681: fix a few uninitalized variables, beefed up optional logging [R. Belmont]
-Super Nove (Playmark): Created proper machine driver and improve the
second graphics bank decryption/decode. [Roberto Fresca]
-Inputs from the scratch for Super Star '97. Also improved inputs from
other games of the driver. Added technical notes. [Roberto Fresca]
-Super Star '97: Added more translations and technical info. Created a
new graphics bank with different palette for the only girl graphics.
[Roberto Fresca]
-Fixed the colors of cb3d rearranging the split values stored in 4-bit
bipolar PROMs and adding the missing one. Promoted to working state.
[Roberto Fresca]
-CPS1.c: Willow, Strider and Ghouls and Ghosts have some changed
factory setting defaults as stated from manual. Also noted
differences in bonus live coverage where applicable. [Tafoid]
-Cherry Bonus III (set 4, encrypted bootleg). Fixed both graphics banks
decryption/decode. [Roberto Fresca, ANY]
-drawgfx.c: Eliminate the need for a dummy 1:1 lookup table when
drawing to ind16 bitmaps [Alex Jackson]
-The UI graphics viewer can now display multiple palettes and multiple
gfx decoders in games that have them [Alex Jackson]
-Fixed the duart ip pins so they don't accidentally clear each other's
state on device_write_line; this fixes the Canon Cat printing in MESS.
[Lord Nightmare]
-Updated png2bdc and makelist tools to not leak memory and use more
modern techniques (no more MAX_DRIVERS in makelist, for example).
[Aaron Giles]
-Added button-lamps support to all Cherry Bonus III sets. Also created
almost realistic control panel internal layout. Added technical notes
about Cherry Bonus III memory map. [Roberto Fresca]
-Added lamps support to Golden Star (IGS) sets. Also fixed the inputs
accordingly. [Roberto Fresca]
-shanghai.c: Add PCB layout and ROM locations for Shanghai sets.
[Brian Troha]
-New driver for American Music Poker (Amusco) based on a 8086 CPU +
CRTC 6845 + PSG SN76489 [Roberto Fresca]
-added Korean? tile rom to newly dumped Shanghai3 set [Brian Troha]
(was present on the board, but unused in our sets? probably for use
with undumped Korean program roms and leftover from conversion)
-Made an attempt to fix the banking of MPU4 games, this isn't perfect,
but most non banked games will now run. [J. Wallace]
-SDL: Removed "totalColors" hack, now only RGB32 is sent to the GPU. [R. Belmont]
-updated MegaPlay and MegaTech to use modern SMS VDP. [Fabio Priuli]
-Fixes to correct some of the regression test data used by the jedutil
test. [Kevin Eshbach]
-gfx_elements now have a xor mask that is applied to each source bit
offset when decoding. This can be used to deal with endianness when
decoding gfx from RAM or from program ROMs, or to reverse the bit
order sense when this is useful (e.g. pgm.c) [Alex Jackson]
-4enlinea: Hooked a status handler for the HCGA controller. (for now,
simulating the state). Improved the memory map fixing the RAM amount
and offset, and added the correct offset for the HCGA status. Also
hooked 2 debug handlers on ports e000-e001 that spit some random
graphics after 30 seconds of the game execution (clue to figure out).
[Roberto Fresca]
-Naomi updates: [MetalliC]
* Redumped 17 GD-ROMs from .gdi source to CHD v5
* Added several missing protection keys
* Added clone "18 Wheeler (Upright)"
* Added set "Club Kart: European Session (2003)" and unprotected
clone
* Added clone "Club Kart: European Session [Rev. D]"
-Moved MPU4 Test Program 4 to the MOD4 driver, still needs some work on
the timing though. Fixed Gamball reel positioning, this will need more
work to standardise. [J.Wallace]
-tiamc1:
* background scroll corrected and enabled [MetalliC]
* fixed bad graphics rom in "Snezhnaja Koroleva" [Titus]
-cosmac: Added write line members for the input lines. [Curt Coder]
-namcos23: Fix the irq storm that killed Downhill Bikers [O. Galibert]
-Added support for horizontal 'belt' reels which may be needed for
future AWP titles. To invoke, add an attribute "beltreel" to the reel
element in the layout, and set it to 1. [J. Wallace]
-Double Crown: Redesigned the button-lamps layout and added support for
CANCEL button. [Roberto Fresca]
-Convert Little Robin to use TMS34010 instead of custom blitter code and
share some parts of the implementation with Mega Phoenix [David Haywood]
-Add dumped EEPROMs to Jockey Club II sets and attempt to hook up the
device allowing initial ID check to pass [ANY]
-Add Zoom ZSG2 sound, used in taitogn and fx1b. DSP isn't hooked up yet,
so it will sound a bit tinny. [hap]
-Various Atari vector drivers: derive (fake) refresh rate from CPU IRQ
frequency to reduce judder. [Alex Jackson]
-naomi.c: redumped cfield CHD from GDI source, documented PIC used by
ngdup23e set. [MetalliC]