(nw)
This precalculation seems to be part of OG's "CPU core template", as all CPU
cores written by him do it. It's used to optimize things like onboard serial
ports and high-frequency timers; however, the m6502 and its derivatives have
neither onboard serial ports nor high-frequency timers, and the precalculation
is simply a boat anchor on drivers with 6502-family CPUs and tight interleaving.
mess c64 benchmarks (3.4 GHz Sandy Bridge i5; 64-bit Linux GCC 4.8 build)
before:
[awj@localhost trunk]$ ./mess64 -window -bench 60 c64
Average speed: 238.17% (59 seconds)
[awj@localhost trunk]$ ./mess64 -window -bench 60 c64
Average speed: 236.36% (59 seconds)
after:
[awj@localhost trunk]$ ./mess64 -window -bench 60 c64
Average speed: 279.93% (59 seconds)
[awj@localhost trunk]$ ./mess64 -window -bench 60 c64
Average speed: 279.30% (59 seconds)
[MESS] vtvideo.c): finally fix smooth scrolling (ED084 = 1). See DIAG DISK -> VIDEO TEST -> screen 3 (Rainbow driver - SKIP 0). [Bavarese]
[MESS] atari400.c - Slightly revised Atari XL cartridge loading so that it doesn't crash when loading 8K carts. Confirmed to fix MT#05108. [alegend45]
Description fix from MASH for chihiro.c. (nw)
Update neogeo.xml to take advantage of them.
For regular rom loading we try to autodetect the appropriate endianness and
width by matching the region tag to a device with a device_memory_interface;
this is generally not doable for software lists because the regions are
children of some slot device and thus not siblings of the devices in the root
driver (i.e. "cartslot1:maincpu" rather than "maincpu") So you have to
specify the width and endianness manually for now.
Anyone who has spare time, feel welcome to byteswap every single entry
in megadriv.xml and update them to use this :-)
- R2R resistor network DAC.
- Dummy input device. This is used so that devices can exhibit terminals not yet used
such as V+ for opamps.
- Added a very basic macro model for norton opamps (LM3900)
- Added a current controlled current source (CCCS)
Message that was posted to me
"Hi David
It was to my great disappointment that your work on the NeoGeo Multislot (Dec 2013) was not included in MAME. To aid the process I've taken your work and spent some hours addressing the concerns put forward by the developers. The code I'm sending to you converts Neo Geo to fully use slot devices for the cartridges and implements the multi-slot using techniques that have greater likelihood of being met with approval.
In some places the slot trampolines caused performance to drop below 100% so I've used methods to avoid them gathered by the study of other slot devices in MESS. Performance is the same as it was prior to this update.
I first sent this with the forms on the official site but received no reply so I'm turning to you directly.
(filehost link removed)
Credit to yourself and 'S. Smith'
"
as before, these changes are mostly driver-level, so I hope they do
not conflict with anyone else's work. the only relevant change for the
device code is the removal of some redundant variables (from the
interface) and of alt_k055673_vh_start + k053247_set_sprite_offs,
which have been replaced by the proper machine configs.