MAMEWorld >> News
View all threads Index   Threaded Mode Threaded  

Pages: 1

MASH
MASH
Reged: 09/26/03
Posts: 1775
Loc: Germany
Send PM


MAMEinfo 0.216 :)
#384405 - 11/27/19 09:56 AM


MAMEINFO.DAT

* Updated to MAME 0.216 - http://git.redump.net/mame/log/

* Added Source/Listinfo changes

* Newest Bugs (27th Nov)

* Added/Fixed 'Recommended Games'

* Fixed 'Recommended Games' descriptions

* Fixed Mameinfo.dat infos




Download at: http://mameinfo.mameworld.info/

MAME Testers at: https://mametesters.org/view_all_set.php?sort=last_updated&dir=DESC&type=2

Ashura-X's Nightly MAME builds: http://ashura.mameworld.info/nightlybuilds/builds.html



0.216

- New games: Cane and Orbite
- New Working games: Super Triv (English questions)
- New Non-Working games: Fantasy Zone (medal game, REV.A) (J 990202 V1.000), Fishing Master (971107 JPN), Metabee Shot, Powerful Chance, Rodent Exterminator, Spade and Yu-Gi-Oh Monster Capsule
- New clones: Berzerk (revision RC31A), Cadillacs and Dinosaurs (bootleg with PIC16C57, set 3), Captain Commando (bootleg with 2xMSM5205), Channel Three, Cosmic Alien (version II, set 2), Eeekk!, Heavy Unit (Japan, alternate ROM format), JoJo's Venture (Euro 981202), JoJo's Venture (Euro 990108), JoJo's Venture (Euro 990128), Knights of the Round (bootleg with 2xMSM5205, set 2), Operation Wolf 3 (Japan), 'Real Bout Fatal Fury / Real Bout Garou Densetsu (Korean release, bug fix revision)', Saturday Night Slam Masters (bootleg with PIC16C57, set 2), Street Fighter II': Champion Edition (Dstreet-6, bootleg), Street Fighter II': Champion Edition (L735 Test Rom, bootleg, set 2), Super Dead Heat (Japan), Super Puzzle (Sang Ho Soft) and Verbena (bootleg of Carnival)
- New PinMAME games: Chicago Cubs' Triple Play (German), Mephisto (Stargame) (newer?), Oba-Oba (old hardware) and Space Train (Pinball, old hardware)
- New drivers: cps1bl_5205.cpp, cps1bl_pic.cpp and gsspade.cpp
- New devices: cane_audio, cy7c131, eistwib, idt7130, m37730s2, mc68hc11f1, mk68564, mk68564_channel, sdlc_logger, smoc501, starfield_05xx_stars, swtpc8212_device and swtpc8212_terminal
- New mame.ini options: lowlatency (CORE PERFORMANCE OPTIONS)
- CPU
. DEC T11: Increased the maximum number of cycles to take interrupt acknowledgment into account. Changed do { ... } while to while { ... } because interrupt acknowledgment can devour lots of cycles before this. Removed the probably mistaken recursive call in t11_check_irqs.
. Hitachi SH-2: Implemented watchdog timer
. Intel 8086
. Disabled warning when executing lock (0xf0) instruction (why warn at all?)
. Fixed pathological case where jumping into pages of FF-prefixed invalid opcodes could lock up MAME
. Mitsubishi M37702M2: More accurate mapping of port and interrupt registers. De-duplicate address maps.
. MOS Technology M6502: Eliminated the disable_cache hack. Now that 'direct_read_data' has been replaced with 'memory_access_cache', which is better equipped to deal with dynamic banking, there should be all the more reason to put an end to this pernicious antipattern.
. MOS Technology M65C02: 65C02 opcode timing and bus usage corrections: BBR and BBS use one or two extra cycles when the branch is taken, like other conditional branches. TRB and TSB perform an extra read of the operand instead of an extra write.
. Motorola MC68000: Added more accurate cycle counts to SCC68070 (m68000\m68kcpu.cpp), distinguished from MC68000 and MC68010.
. Motorola MC68705xx: Calculated min_cycles and max_cycles once at device_start time (m6805\m6805.cpp)
. Motorola MC68HC11
. Clock is internally divided by 4. Added preliminary MC68HC11F1 type.
. Fixed size of fetched operand for ADDD indexed modes (mc68hc11\hc11ops.hxx). This appears to have accidentally regressed in 0.212.
. Increased some MC68HC11 clocks to compensate for newly emulated internal divider (30test.cpp, hitpoker.cpp and skeetsht.cpp)
. Emulated FDIV instruction
. NEC V5x
. Moved remappable IO handler into seperated space. Fixed remapping IO behavior (nec\v5x.cpp). Added timer 2 control input (nec\v5x.h).
. Emulated internal/external timer clock input selection. Internalized CPU clock divider for V40/V50.
. Nintendo & SGI Reality Signal Processor RSP: Added 32-bit opcode alignment for disassembly
- SOUND
. Ensoniq ES5505/ES5506
. Implemented ES5505/5506 difference. Fixed spacing. Various updates. Reduced duplicates, unnecessary lines and #define macros. Implemented reset behavior (RESB in ES5506). Added notes. Fixed filter behaviors. Sync to official documents. More constant-expandable volume lookup tables. References: http://zine.r-massive.com/ensoniq-technical-documents-and-schematics/.
. Correct algorithms. Allow signed shifting. Fixed envelope and volume.
. K007232 PCM Controller: Added optional WAV logging of PCM samples
. Namco C352: Added optional compile-time PCM logging and cleaned up some code
. TI SN76477 CSG: Replaced the char array with a std::string in sn76477_device::open_wav_file to override possible buffer overrun. Minor cosmetic change in a boolean expression in sn76477_device::sound_stream_update. Fixed LOG_WAV_ENABLED_ONLY (m_enable has to be checked only if LOG_WAV_ENABLED_ONLY is set). Added log data to the right channel of the wave, accordingly to the definition declared in LOG_WAV_VALUE_R. Fixed an error with tag() returning a ':' and generating a filename not valid in Windows environment.
. Yamaha YMW-258-F: Added optional compile-time sample logging
- DEVICE
. 8042 Keyboard/Mouse Controller: Recognize mouse reset command
. Cypress CY7C131 8-bit Dual-Port SRAM with Interrupts: Device-fied CY7C131 Dual port SRAM (firebeat.cpp and twinkle.cpp)
. Discrete Netlist
. Preprocessor enhancements. The builtin preprocessor now behaves closer to CPP: Supports macro parameters (i.e. define x(a) a), stringification (i.e. define x(a) #a) and concatenation (i.e. define x(a) a ## _ext). In addition, error reporting now provides a source context including the include history.
. Code maintenance. Removed code no longer used. Added noexcept where appropriate. Splitted pparser.[c|h] into ppreprocessor and ptokenizer. Smaller optimizations, e.g. use of std::size_t. Fixed lint warnings.
. Improved localized storage. Removed some trampolines.
. Fixed some bad design in netlist solvers. Moved solver stuff into separate namespace. New namespace "solver". Minor ptime modifications. Align matrix population along the various solvers and deleted dead code.
. Added ability to compile using float instead of double. Specifically the the solver as well as the infrastructure now can have their own floating point type. Currently this is only an academic exercise since numerically demanding circuits like kidniki only work with double/double support. Using float here is pushing numerical stability over the limits. The long term design goal is too have the matrix type (double/float) being a parameter.
. Converted constexpr constants into constexpr inline functions
. Fixed a bug in the parray constructor. Replaced NL_NOEXCEPT with noexcept where appropriate.
. Support for float, double and long double solvers. Added new solver parameter FPTYPE. This determines in which floating point domain the linear system is solved. May be one of "FLOAT", "DOUBLE" or "LONGDOUBLE". Added option "--fperr" to nltool. This enables floating point exceptions. This helps debugging the code under gdb. The purpose of this going forward is to have more choice in optimization. Non-dynamic systems should be just fine in the float domain. Dynamic systems (i.e. diodes, bjts, mosfets) should in general work with double. Certain edge cases may require long double resolution.
. Added RELTOL/VNTOL solver parameters. Type safety. The newly added RELTOL and VNTOL parameters implement Newton convergence checks comparable following other SPICE implementations. The ACCURACY solver parameter now is only used for convergence checks in iterative solvers. In addition, type safety was significantly improved and a lot of "magic" numbers are identifiable now.
. Improved readability. Renamed cast member of the constants struct to magic to clearly identify magic numbers. Introduced nlconst struct inheriting from plib::constants to make code better understandable.
. Added __float128 support. float128 is a GNU extension delivering true 128 bit floating point support.
. Separates code out into pmath.h and pstonum.h. Optimized pfmtlog.h a bit.
. Switched nl_pongf and nl_rebound to dynamic timestepping. Pong (Rev E) and Rebound (Rev B) now runs about 20% faster than previously.
. Explicitly raise exceptions instead of leaving this to log.fatal(). Correct a number of cppcheck findings.
. "nltool -c docheader" now scans sources and creates usage focussed doxy documentation for devices. Very early stage, but works. For an example, please see ne555 source. Started migrating to pure C++, i.e. "//" comments. Added cppcheck configuration to netlist/build.
. Switch to VS 2019 community and fix standalone build
. First steps on the way to calculated parameters. This commit is a first step towards using formulas in parameters, i.e. MAINCLOCK(clock, 20 * 30). The intention is to improve readability and scalability. Since device registration already provides all necessary information about parameters, the code to create an include file for all devices has been improved. Long term, this will remove the need for device specific header files. In addition going forward devices will accept either no connections or all specified connections, i.e. TTL_7400_NAND(name, chip1.2, chip2.3) or TTL_7400_NAND(name)NET_C(...)NET_C(...). This will allow to remove all duplicate definitions which are currently necessary, i.e. TTL_7400_NAND/TTL_7400_GATE.
. Moved memory pool to netlist_state_t. Added memory allocation stats to verbose output. nl_assert no longer throws, first step to remove NL_EXCEPT macro.
. Fixed a code in the netlist creation which caused multiple proxies to be created for output->terminal connections. A nice side effect of this fix is a performance increase ~9% for kidniki and ~4% for pong. Speaking about pong ... maximum is 490%. Dice is running at 280 FPS/60 FPS = 466%, however without any analog emulation. Replaced NL_NOEXCEPT with noexcept. assert is now exception-free.
. Proxy and power terminal hack removal: Devices ttlhigh and ttlhow are no longer automatically created. All logic input devices (e.g. TTL_INPUT, LOGIC_INPUT) now need to have their power terminals (VCC, GND) connected. This opens the route for more appropriate proxy devices but comes at a cost. If the connections are omitted your circuit will not work as expected. Example: LOGIC_INPUT(I_SD0, 1, "AY8910PORT") NET_C(VCC, I_SD0.VCC) NET_C(GND, I_SD0.GND). Removed proxy information from terminal objects. This was replaced by a lookup hash whose life-span does not exceed netlest setup. These changes enable the removal of a number of hacks from the source going forward.
. Removed DUMMY_INPUT. NC (not connected) pins should now use NC_PIN. If a NC_PIN is actually connected, an error will be logged and validation will fail. Enabled "extended" validation. This will catch now if power terminals are not connected. Added const and noexcept where appropriate. Fixed the 7414 Schmitt-Trigger device to use nld_power_pins.
. Added VECTOR support: Fixfreq now supports VECTOR screens automatically. For now the default remains to be RASTER since BGFX does not support VECTOR screens. Nevertheless please expect changes in the video output. Video output is now collected timing-exact, i.e. with subpixel accuracy. Only during screen_update this is converted and scaled to the bitmap. There may be changes due to rounding in comparison to current rendering.
. Added 7492 Divide-by-12 Counter and 7442 4-Line BCD to 10-Line Decimal Decoder
. DS1302 Timekeeper: Subtle fix for CE writes. Improved logging.
. Floppy: Get rid of the hardcoded FLOPPY_n tags as much as practical, mostly adding device finder arrays in their place. Moved remaining functions using FLOPPY_n down into appldriv and sonydriv (both of which may be eliminated once FDC emulation is modernized). Replaced CLEAR_LINE and ASSERT_LINE with 0 and 1 (these were being inaccurately used to represent active-low control line states) (imagedev\flopdrv.cpp).
. Hitachi HD44780 A00 LCD Controller: Make initialization procedure slightly less strict than datasheet implies. Turn logging back off.
. Intel 8251 USART: Required initial state to enable receiver of a 8251a and also to avoid sending start bit to diserial on reset and get framing error.
. Konami Custom: Less crude hack to clean tilemap (video\k054156_k054157_k056832.cpp)
. MB8421 8-bit Dual-Port SRAM with Interrupts: Support variable size and data width. Use template for base device. Add notes.
. RS232 Port: Put the swtpc8212 terminal in the default RS-232 devices
. Sega Custom
. Sega 315-5124 SMS1 VDP: Allow dividing hcounter related to using LCM. Fixed color related to hardware measured value.
. Sega 315-5313 Megadrive VDP: Allow LCM scaling of horizontal resolution
. Sega 315-5649 I/O Controller: Populate features for future use
. Z80 SIO: Fixed some log messages. Verified sync byte behavior for SDLC/HDLC, LOG message details added.
- cave.cpp and mcatadv.cpp: Added tile size check related to VRAM is found. Moved mirroring map into driver (video\tmap038.cpp). This fixes graphical bug in attract mode of DoDonPachi (ID 07479).
- cedar_magnet.cpp: Added PCB ASCII layout
- chihiro.cpp: Fixed memory leaks in Xbox USB
- coolridr.cpp: Get rid of redundant hacks
- cps1.cpp: Added C-Board PAL dumps to mercs, mercsu, mercsur1, mercsj, sf2ee, sf2ue, captcomm, captcommr1, captcommu, captcommj and captcommjr1.
- ddz.cpp: Make this driver no more broken than it was before
- deco32.cpp: Fixed region endianness. Still not sure the reversed loading order is correct (the data here is unused currently).
- epos.cpp: Moved epos-on-pacman members from pacman_state to derived epospm_state
- flstory.cpp
. Dumped and hook up M68705 MCU for Victorious Nine
. Added DIP locations to The FairyLand Story
- galaga.cpp
. Implemented accurate starfield for Galaga and Bosconian based on reverse engineering the Namco 05xx chip
. Changes: 1. Regenerates starfield colors based on LFSR state for every frame. 2. Pixel accurate to Namco original 05xx. 3. Restores one line horizontal starfield shift for every 256 vertical pixel shifts. 4. Properly handles LFSR reset (_STARCLR). 5. Restores missing 4 stars from previous implementations. 6. Fixes potential issue with the number of stars on screen at any one time. 7. Restores 4 pixel/line scrolling capability (not currently used for any driver). Documentation and notes have been added inline to the code for the galaga video driver.
. Note: The starfields for Galaga and Bosconian are driven by a custom Namco 05XX chip that is contains an internal 16-bit Linear Feedback Shift Register (LFSR) and all the necessary support logic for generating a 6-bit RGB signal. The chip is fed all the required signals from the video system to allow it to output a colored "star" at pseudo-random intervals and to scroll these stars in both horizontal and vertical directions. The chip can generate a total of 256 stars in 4 banks of 64 for each vertical frame. Two of these banks of stars will be active at any one time, controlled by two starfield selector pins. Some stars will be hidden by the vertical and horizontal blanking, so there will always be less than 128 stars on screen at one time.
- lethalj.cpp: Correct XTAL value
- megaplay.cpp: Use LCM of support horizontal resolution in both VDPs. Fixed SMS VDP overlay.
- midqslvr.cpp: Added I/O board readme/documentation
- mpu4vid.cpp: Clean up driver a little
- nss.cpp, sfcbox.cpp and snesb.cpp
. Fixed rapid vertical scrolling in rexronan and other games (video\snes_ppu.cpp)
. Fixed MAME crashes when starting a game with (MESS) SNES (PAL) (ID 07472)
. Apply raw parameters as (MESS) SNES, fixes black screen in snesb.cpp (ID 07473)
. Fixed doubled-up frames on interlaced games, off-by-one-line graphical glitches in some games and out-of-bounds vector accesses on interlaced SNES games.
. Ported over more of BSNES's PPU-fast implementation. Fixes many bugs, possibly causes more.
. Fixed (MESS) Super Mario World sprite blending regression (video\snes_ppu.cpp)
. Converted OAM code from BSNES ppu-fast
- peplus.cpp: Redumped CG roms for pepp0596 and pepp0598
- photoply.cpp: BIOS region is 8-bit, so map it as such.
- popeye.cpp
. Fixed final game resolution output is different at original game (ID 05600)
. There are now three rendering modes selectable via machine config: False progressive: Same as before. Interlaced (scanline skip): only the current field is drawn with the other field's scanlines blacked. This gives the same flickering impression as interlaced display. Interlaced (bitmap): Bitmap is constructed from odd and even fields. Result is comparable to PAL/NTSC videos played back on progressive displays without additional processing. Some modernisation, all members initialized in constructor.
- psikyo.cpp: Updated notes. All games uses PORT_VBLANK and legacy screen parameters (which is already bad per-se), with also naive and unlikely measurements (i.e. exactly 59.30 or 59.90 Hz). The most blunt examples of something being wrong with timings are with Gunbird and Tengai: They both have FOUR frames of input lag, the real thing doesn't sport anything like that. All games are marked with MACHINE_IMPERFECT_TIMING until somebody provides accurate H/Vsync signals for at least one game of this driver.
- qix.cpp
. Added machine side effects and unmapped reads
. Fixed inputs for Kram and Zoo Keeper. Fixes unable to start game or use first coin slot (ID 07386).
- stv.cpp: Moved per-game I/O into memory maps. Simplified code.
- taitogn.cpp: Make region endianness consistent with everything else
- taitojc.cpp: Correct "gfx" region widths and rename for clarity
- taitopjc.cpp: Fixed some region definitions
- tatsumi.cpp: Correct region widths
- whitestar.cpp: Added stub configuration for sets using ARM7 instead of BSMT2000
- 30 Test (Remake): Fixed inputs and sound (ID 07487)
- Air Rescue: Better way of copying DSP code and data
- Hayaoshi Quiz Nettou Namahousou : Fixed final round and flame text priorities
- Legend of Hero Tonma: The MCU of clone Legend of Hero Tonma (Japan, bootleg with i8751) is running in external mode on daughtercard. Same data as lohtj just padded with 0xff.
- Oli-Boo-Chu: Clean up some bitscanning and indentation
- Pacman Club / Club Lambada: Descrambled clone Pacman Club (set 1, Argentina). Boots but resets during attract.
- Pong (Rev E) external [TTL]: Fixed pong.netlist rom length
- Raiden: Fixed graphical regression in clones Raiden (set 3) and Raiden (US set 3). Improved set descriptions.
- Roc'n Rope: Added cpu/video board pal10l8.6g
- Saturday Night Slam Masters: Fixed clone (bootleg with PIC16c57, set 1) scroll priorities and Player 4
- Space Invaders: Fixed selection of game B in clone Jatre Specter; seems it hadn't worked since 0.139.
- Street Fighter II': Champion Edition: Added PAL dumps to clone sf2cems6a, sf2cems6b and sf2cems6c
- Super Dead Heat: Enabled save state support
- Super Speed Race Junior: Fixed input and 'Difficult' dipswitch (ID 07492)
- Super Triv (English questions): Fixed maincpu rom loading (Game now playable)
- Tekken 4: Fixed year info (ID 07489)
- Wild Cat 3: Very preliminary and incomplete data decryption
- Fixed rom names in berzerk.cpp, bfm_sc4.cpp, cinemat.cpp, cps1.cpp, flstory.cpp, jack.cpp, m72.cpp, spdheat.cpp and zn.cpp
- Dipswitch fixes in cps1.cpp, flstory.cpp, ggconnie.cpp and ssrj.cpp
- Description changes of Armed Formation (Japan), Beastie Feastie (Pac-Man conversion), Berzerk (revision RC31), Berzerk (revision RC28), Berzerk (French Speech, revision RC31), Berzerk (German Speech, revision RC32), Berzerk (Spanish Speech, revision RC32), Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM5205, set 1), Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM5205, set 2), Cosmic Alien (version II, set 1), Dragon Breed (World, M72 PCB version), Eeekk! (Pac-Man conversion), Frenzy (revision RA1), Image Fight (World), Knights of the Round (bootleg with 2xMSM5205, set 1), Knights of the Round (bootleg with 2xMSM5205, set 1), Ninja Spirit (World), Raiden (set 3, newer hardware), Raiden (US set 2, SEI8904 hardware), Raiden (US set 3, newer hardware), Saturday Night Slam Masters (bootleg with PIC16C57, set 1), Solar Quest (rev 10 8 81), Street Fighter II': Champion Edition (L735 Test Rom, bootleg, set 1), Street Fighter II: The World Warrior (bootleg, set 1) and Super Dead Heat (World)
- Renamed (berzerk) to (berzerka), (berzerk1) to (berzerkb), (eeekk) to (eeekkp), (jojo) to (jojou), (jojor1) to (jojour1) and (jojor2) to (jojour2)
- MAME
. VIDEO RENDERING SYSTEM
. Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now)
. Set global locale when parsing with nanosvg (emu\screen.cpp), fixes SVG display issues when locale is not English. Be strictly POSIX compliant, reduced fragmentation and get rid of an unused member (emu\screen.cpp). Only clear or allocate scan bitmaps in excess of the previous height. Fixes blank portions of smw2u, possibly others (emu\screen.cpp).
. OpenGL render: Fixed bug preventing adjustment of gamma, brightness and contrast. Starting MAME with defaults, i.e. gamma == 1.0, no RGB palette will be allocated. If gamma than is changed, a new palette will be allocated. But the texture will not be updated because the palette is not checked. This fix will check for palette changes. Note: If the palette is changed inplace, i.e. without reallocation, this will fail. The correct fix would be that the texture palette is not only a pointer to rgb_t * but to texture_palette_type. texture_palette_type would hold the pointer, the length and a sequential id which is checked in addition to pointer equality (render\drawogl.cpp).
. BGFX
. Fixed waitvsync for BGFX vulkan backend (bgfx\src\renderer_vk.cpp). Note: Currently waitvsync is broken in the BGFX vulkan backend. The option is just ignored and a mode waiting for vsync is selected. This also breaks throttle. -nothrottle doesn't work. These changes fix this. If available a non-syncing mode is used if -nowaitvsync is used.
. Fixed resource leak (bgfx\chain.cpp)
. Fixed 'Tetris The Grand Master' crash on resolution change (bgfx\chainmanager.cpp)
. Fixed broken rendering when using bgfx_screen_chains none (render\drawbgfx.cpp). Fixes 'Spider-Man: The Videogame' crash in few seconds (ID 07495).
. Fixed assertion when running LaserDisc games (e.g. Fire Fox) with any bgfx backend. Fixed MAME crashes in any driver which configures a rgb32/argb32 screen, trying to change any of the Brightness, Contrast or Gamma sliders.
. Fixed edge case around B/C/G settings. If e.g. Kid Niki is started with default gamma (1.0), changing gamma with slider doesn't work. Setting to a gamma <> 1 and restarting MAME will apply the gamma (render\drawbgfx.cpp).
. Apply line width provided by renderer (render\drawogl.cpp)
. Fixed Laserdisc games showing four squares instead of LD video with -bgfx_backend OpenGL
. DEVICE
. There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it
. Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave)
. Got rid of device_slot_card_interface as it wasn't providing value. Added a helper template to reduce certain kinds of boilerplate in slots/buses.
. Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic.
. Start putting noexcept on things that have no business throwing exceptions, starting with diimage. also fix a slight bug in the interface matching function for software list parts.
. Make many device_execute_interface functions noexcept, including the "information" overrides. This also covers several time-related functions in attotime, running_machine and emu_timer. Added as_khz and as_mhz to emu\attotime.h.
. Make devdelegate more like DEVCB for configuration. This is fundamental change to show device delegates are configured.
. Device delegates are now aware of the current device during configuration and will resolve string tags relative to it. This means that device delegates need a device to be supplied on construction so they can find the machine configuration object. There's a one-dimensional array helper to make it easier to construct arrays of device delegates with the same owner (I didn't make an n-dimensional one because I didn't hit a use case, but it would be a simple addition).
. There's no more bind_relative_to member - just call resolve() like you would for a DEVCB. There's also no need to cast nullptr when creating a late bind device delegate. The flip side is that for an overloaded or non-capturing lambda you'll need to cast to the desired type.
. There is one less conditional branch in the hot path for calls for delegates bound to a function pointer of member function pointer. This comes at the cost of one additional unconditional branch in the hot path for calls to delegates bound to functoids (lambdas, functions that don't take an object reference, other callable objects). This applies to all delegates, not just device delegates.
. Address spaces will now print an error message if a late bind error is encountered while installing a handler. This will give the range and address range, hopefully making it easier to guess which memory map is faulty.
. For the simple case of allowing a device_delegate member to be configured, use a member like this: template void set_foo(T &&...args) { m_foo_cb.set(std::forward(args)...); }. For a case where different delegates need to be used depending on the function signature, see src/emu/screen.h (the screen update function setters).
. Device delegates now take a target specification and function pointer. The target may be: * Target omitted, implying the current device being configured. This can only be used during configuration. It will work as long as the current device is not removed/replaced. * A tag string relative to the current device being configured. This can only be used during configuration. It will not be callable until .resolve() is called. It will work as long as the current device is not removed/replaced. * A device finder (required_device/optional_device). The delegate will late bind to the current target of the device finder. It will not be callable until .resolve() is called. It will work properly if the target device is replaced, as long as the device finder's base object isn't removed/replaced. * A reference to an object. It will be callable immediately. It will work as long as the target object is not removed/replaced.
. The target types and restrictions are pretty similar to what you already have on object finders and DEVCB, so it shouldn't cause any surprises. Note that dereferencing a device finder will changes the effect.
. The order of the target and name has been reversed for functoids (lambdas and other callable objects). This allows the NAME macro to be used on lambdas and functoids. For example: foo.set_something(NAME([this] (u8 data) { m_something = data; }));. I realise the diagnostic messages get ugly if you use NAME on a large lambda. You can still give a literal name, you just have to place it after the lambda rather than before. This is uglier, but it's intentional. I'm trying to drive developers away from a certain style. While it's nice that you can put half the driver code in the memory map, it detracts from readability. It's hard to visualise the memory range mappings if the memory map functions are punctuated by large lambdas. There's also slightly higher overhead for calling a delegate bound to a functoid. If the code is prettier for trivial lambdas but uglier for non-trivial lambdas in address maps, it will hopefully steer people away from putting non-trivial lambdas in memory maps.
. There were some devices that were converted from using plain delegates without adding bind_relative_to calls. I fixed some of them (e.g. LaserDisc) but I probably missed some. These will likely crash on unresolved delegate calls.
. There are some devices that reset delegates at configuration complete or start time, preventing them from being set up during configuration (e.g. src/devices/video/ppu2c0x.cpp and src/devices/machine/68307.cpp). This bgoes against the design principles of how device delegates should be used, but I didn't change them because I don't trust myself to find all the places they're used.
. UI updates
. Made DIP switch display scale with UI font and improved layout
. Improved analog control display giving an indication of neutral position
. Fixed menu heading sizes not being recalculated after font is changed
. Cleaned up memory management in some more menus
. Don't walk the directory every time the crosshair menu is refreshed
. Sort crosshair pictures. Show a selector menu when crosshair picture item is selected.
. Make input mapping menus more efficient - most of the properties of a field won't change.
. Get rid of the pool allocator in base menu class - it was encouraging bad design. Get rid of some pointless members of input mapping menu.
. Allocate bitmap in place rather than using global_alloc; explicitly initialize each member of ui_gfx_state (ui\viewgfx.cpp).
. Hook up focus next/focus prev on system/software selection menus (Tab and LShift-Tab, respectively by default). Allow joystick buttons to be used to change focus on system/software selection menus. Fixed bug that allowed focus to move to hidden panels. If panel is collapsed while focused, return focus to systems/software.
. UI show feedback when configuring an input to give the user more of an idea of what's going on
. When modifying an input mapping, only cycle default/none if UI_CANCEL is the first thing pressed. Note: If you hit UI_SELECT to modify an input then hit UI_CANCEL immediately, it will cycle default/none; however if you press any other input first and then hit UI_CANCEL, it will just back out the change.
. Support PORT_CONDITION for PORT_ADJUSTER. PORT_CONDITION can now enabled/disabled the display of PORT_ADJUSTER sliders in the UI.
. UI input mapping menu updates: When a switch-type input is selected, show feedback when it's pressed. If an invalid code is entered (e.g. only negatives) abandon the change rather than cycling default/none. If an invalid code is entered display a message until the user takes some other action.
. UI input menu: treat codes containing a postive and negative of the same thing as invalid (e.g. A S not A)
. UI updates: Re-wrote localisation loader: Sanitise input, check for buffer overruns, fixed endianness handling, keep data in a single allocated block, do a single hash lookup when fetching a string and print diagnostic output when things go wrong. Sort UI language menu so it's not in whatever random order the filesystem yields. Fixed most menu code to adjust L/R border for UI aspect ratio and pass container to render manager when getting UI aspect ratio. Converted a couple more things to use smart pointers.
. 3rdparty
. Sync BGFX, BX and BIMG with upstream. Fixed the hlsl fs_chroma.sc matrix transposition properly.
. INPUT
. Replaced output().set_value with output finders
. Display emulated analog input values on the anaolg controls menu screen
. Removed up to one frame of input latency. Makes MAME virtually lagless on VRR monitors. Use empty parentheses and clean interface member calls. Added new option -lowlatency (-lolat) to make this feature optional.
. Removed internal autofire functionality as there's a plugin for that now
. Recognized GUIDs for joysticks, allows stable input ID mapping (input\input_sdl.cpp).
. Updated emu\input.cpp: constexpr crusade on input_code and input_seq and some very slight optimisation to input_seq. seq_poll* is a frontend function and had no business being in the core, so it's a utility class now. seq_poll* now exposes a bit more detail, enabling improved interaction on the UI inputs menu. Global state is reduced a little, but the poll_* functions are still members of the input manager with global state.
. Better than 50% reduction in compile time, and better locality for static data. Better encapsulation, const correctness and noexcept usage (emu\ioport.cpp).
. LUA engine: The Lua engine has been updated in a way that maintains source compatibility with existing Lua scripts. This is less than ideal, but it minimises impact. Ideally someone (possibly me) will be able to expose the input sequence poller helper properly. I tested the changes with the cheat and autofire plugins and I was able to assign sequences. However I found two issues: It's seems impossible to assign a more complex sequence than a single key/button in the autofire plugin (i.e. no AND or NOT conditions, I confirmed this is pre-existing, not a regression), and in both the cheat and autofire plugins I found it a bit unwieldy trying to enter a complex sequence without live feedback of the sequence as it's built (this was also applicable to MAME's own input mapping menu until I added the live display yesterday).
. Moved some stuff to an anonymous namespace (emu\emumem.cpp), and fully specialise templates that are no longer member classes.
. Changed emu_fatalerror to use util::string_format semantics
. Eliminated nmi_line_pulse usage in espial.cpp, galaga.cpp, mainevt.cpp, superwng.cpp and zodiack.cpp
. Modernized VBLANK interrupts for mainevt.cpp, superwng.cpp and zodiack.cpp
. Fixed invalid std::vector<> lookup in util\aviio.cpp. This fixes a case where: m_soundbuf_samples == processedsamples, processedsamples > 0 and processedsamples * stream->channels() == m_soundbuf.size(). In this scenario, the std::memmove() would do nothing (moving zero bytes), but the operator[] on the second parameter to std::memmove() overflows the array. This can be benign in optimized builds (because the third parameter to std::memmove() is 0), but on debugging builds this can cause an assert.
. Assert aborts on failure - abort is not an exception. Conditional noexcept is an antipattern, get rid of it (emu\device.cpp, diexec.cpp, emucore.h, machine.h and schedule.cpp)
. Updated emu\schedule.cpp
. Don't create pipe unless requested (osd\modules\file\winptty.cpp)
. PLUGINS
. Disconnect if timed out (plugins\discord\init.lua). Only time out input sequence entry if nothing is entered (plugins\autofire and plugins\cheat).
. Some simplifications and bugfixes (plugins\cheatfind\init.lua). Show pressed buttons when setting hotkeys (plugins\cheat\init.lua). Permit input sequences (plugins\autofire).
. Fixed renamed set in hiscore.dat
. Fixed ROM region width in many drivers. Note: Many of these ROMs are really accessed as bytes or 16-bit words rather than at the native 32-bit or 64-bit widths, thanks to unemulated dynamic bus sizing and/or bridge controllers.
. Fixed a buffer overrun in wavwrite (buffer half requried size). Slightly reduced dependencies and overhead in wavwrite.
. Print the name of non-fundamental save_items when fatalerroring, for easier debugging (emu\save.h)
. Get rid of global_alloc/global_free (sound\coreaudio_sound.cpp)
. Don't attempt to load a translation file if the language setting is empty (mame\language.cpp)
- MAC OS X
. Work around Retina issue on MacOS Catalina until SDL catches up (render\drawogl.cpp)
. SDL -video auto on MacOS now selects BGFX rather than OpenGL for future-proofing (sdl\video.cpp)
. Get rid of allocWithZone as it's ignored on 64-bit ABI. Missed a couple of Mac debugger things (debugger\osx\disassemblyview.mm and memoryview.mm).
- Compiling
. Fixed MSVC compile (netlist\plib\palloc.h)
. Fixed some incorrectly marked up stuff in build scripts
. Eliminated auto_alloc in bartop52.cpp + maxaflex.cpp (video\antic.cpp), cischeat.cpp, irobot.cpp, konamim2.cpp (video\3dom2_te.cpp), wheelfir.cpp and audio\dcs.cpp
. Workaround to fix cross compilation to x86 from a x64 host (makefile)
- Debugger
. Get rid of some more simple_list in core debugger code
. Made new disassembly windows in Qt debugger default to current CPU
. Make debugger view startup more efficient - it's still not going to be practical with 200k save items, but it's better than before.




"Theory is when you know everthing but nothing works. Practice is when everything works but no one knows why.
In our lab, theory and practice are combined: nothing works and no one knows why."





agard
MAME Fan
Reged: 08/04/13
Posts: 331
Send PM


Re: MAMEinfo 0.216 :) new [Re: MASH]
#384411 - 11/27/19 02:12 PM


Thanks for the update great work.



VasiliyFamiliya
MAME Fan
Reged: 08/18/17
Posts: 92
Send PM


Re: MAMEinfo 0.216 :) new [Re: MASH]
#384500 - 12/01/19 11:26 AM


How can I use newly appeared sound logging functions in games using K007232, C352 and MultiPCM sound chips?



MASH
MASH
Reged: 09/26/03
Posts: 1775
Loc: Germany
Send PM


Re: MAMEinfo 0.216 :) new [Re: VasiliyFamiliya]
#384502 - 12/01/19 02:03 PM


> How can I use newly appeared sound logging functions in games using K007232, C352 and
> MultiPCM sound chips?

These are optional functions and can only used if you changed the source.
For the K007232 sound changed line 30 in src/devices/sound/k007232.cpp:

#define K007232_LOG_PCM (0)
to
#define K007232_LOG_PCM (1)

...and at the command prompt: mame -log



alcoatjez
Drunk
Reged: 09/06/05
Posts: 65
Loc: Holland
Send PM


Re: MAMEinfo 0.216 :) new [Re: MASH]
#384504 - 12/01/19 04:51 PM


Thank you for your great work!



All your beers are belong to me



MASH
MASH
Reged: 09/26/03
Posts: 1775
Loc: Germany
Send PM


MAMEinfo 0.217GIT (18th Dec) new [Re: MASH]
#384707 - 12/18/19 01:04 PM


MAMEINFO.DAT

* Updated to MAME 0.217GIT - http://git.redump.net/mame/log/

* Added Source/Listinfo changes

* Newest Bugs (18th Dec)

* Added/Fixed 'Recommended Games'

* Fixed Mameinfo.dat infos




Download at: http://mameinfo.mameworld.info/

MAME Testers at: https://mametesters.org/view_all_set.php?sort=last_updated&dir=DESC&type=2

Ashura-X's Nightly MAME builds: http://ashura.mameworld.info/nightlybuilds/builds.html



0.217GIT

- New games: Cosmo Gang (US)
- New Working games: Star Wars Arcade and Wing War
- New Non-Working games: 21 (Sigma), Buttobi Striker, Chameleon RX-1, Fantasy Story, Golden Winner, Kattobase Power Pro Kun, Pub Time Darts, Super Mario Fushigi no Korokoro Party (center), Super Mario Fushigi no Korokoro Party (satellite), Sweet Land and 'unknown VRender0+ bowling game'
- New clones: Arlington Horse Racing (v1.40-D), Blood Bros. (Modular System), Gondomania (World), Magic Bubble (Adult version, YS1302 PCB, set 2), Megatouch 5 (9255-60-50 R0G, Bi-Lingual GER/ENG version), Poitto! (revision C), Raiden (Modular System), Star Horse Progress Returns (live and voice), Star Horse Progress Returns (main screen left), Star Horse Progress Returns (main screen right), Star Horse Progress Returns (sound), Tetris (bartop, prototype) and Tron (5/12)
- New drivers: bloodbro_ms.cpp, cgang.cpp, chameleonrx1.cpp, pubtimed.cpp, raiden_ms.cpp, sigma21.cpp, sweetland.cpp, v0bowl.cpp and zpinball.cpp
- New devices: arm_7500fe_soc, arm_iomd, arm_vidc20, ms32spr, pic16c620, pic16c620a, pic16c621, pic16c621a, pic16c622, pic16c622a and pwm_display
- CPU
. Intel I386: Show status of some cpu flags in the state debugger view
. Motorola MC6802 and NSC8105: Internalized internal RAM
. Motorola MC68000: Fixed issues with Domain/OS and its installer crashing (m68000\m68kmmu.h)
. Motorola MC68HC11: Fixed disassembly and execution of BRCLR/BRSET (IND, Y)
. Texas Instruments TMS9995: Make address visible on address bus during on-chip operations
- SOUND
. Philips SAA1099: Modernized struct member save registration. Use narrower types for members. Clean up code slightly.
. SN76496: Use an emu_timer to control the READY line
. Use fill_n and resize to zero memory instead of memset (emu\disound.cpp, sound.cpp and speaker.cpp)
- DEVICE
. 3dfx Voodoo Graphics: Some cleanup and fixes. Hopefully enough to stop it from crashing when device memory isn't pre-cleared.
. Discrete Netlist
. Moved nl_examples folder to src\lib\netlist\examples
. Changed visibility to private for some members. Interesting observation to note: Since MAME 0.208 bench 30 results for pongf increased from 450% to 580%.
. Flash ROM: SST 49LF020 Flash does not support certain commands in certain states
. Namco C355 (Sprites): Fixed priority when pri 0 sprite isn't drawed first
. NB1414M4 Mahjong Custom: Fixed text attribute reference when erasing of blinking. Fixed kozure_score_msg when score is 0, the tens place is blank. Fixed insert_coin_msg and credit_msg if the in-game flag is on, "INSERT COIN" etc. is not displayed. Get the in-game flag bit 0200 from sent at command. Removed duplicate bit 0200 operations to make code easier to read. Draw the score when the game over display bit 0e00 is set. The flashing bit 0e00 is no longer applied to game over. Improved notes. Added stub for frame synchronization.
. Sega DIMM Board: Added a SH-4 and a PIC16C621A, both disabled. They are disabled, so they shouldn't slow the sytem, but they appear in the list at start and you can look at their rom disassembly (for the SH-4 set the address to 0).
- aristmk5.cpp, ertictac.cpp and ssfindo.cpp
. Initialized some stuff (machine\acorn_vidc.cpp)
. Rewrote ARM IOMD/VIDC20 chips into own devices, merged implementations from ssfindo.cpp & (MESS) riscpc.cpp.
. Added preliminary sound for Pang Pang Car
- armedf.cpp and galivan.cpp
. Adjusted DAC gain compared with PCB movies
. Major video config cleanups. Converted to screen.set_raw() parameters.
- batman.cpp, cybstorm.cpp, offtwall.cpp, relief.cpp, shuuz.cpp and thunderj.cpp: Fixed fulltag[0] == ':' assert in debug builds
- bnstars.cpp, ms32.cpp and tetrisp2.cpp: Device-fied sprite hardware (video\ms32_sprite.cpp). Fixed zooming algorithm. Use shorter/correct type values. Verify clock related to XTAL. Fixed sprite delaying.
- calchase.cpp and voyager.cpp: Added NVRAM device
- calchase.cpp, igs_fear.cpp, mquake.cpp, upscope.cpp and voyager.cpp: Fixed region width/endianness
- chihiro.cpp
. Removed some problems (machine\xbox_usb.cpp). Supported IO port 61 (machine\xbox_pci.cpp). Set interrupt pin configuration byte (machine\xbox_pci.cpp).
. Replaced Ghost Squad security data with real PIC16 key firmware, dumped from original but non-protected device. Note: Firmware is same as the one used in NAOMI DIMM PIC16 keys, which means - old rumors about Chihiro uses a bit different keys/firmwares - is not correct.
. Found gpio pins mode registers (machine\xbox_pci.cpp)
- cliffhgr.cpp
. Minor cleanups
. Marked clone Cliff Hanger (set 3) as not working (ID 07523). Seems to fail the third startup check, bypassable by doing bpset 0x3f5 and at the third occurance do PC = 0x3f.
- cps3.cpp: Tweak frame rate based on more precise measurements, early boards docs.
- crgolf.cpp: Fixed coinage dipswitch
- dkong.cpp: Removed diag.bin rom (NO_DUMP), it did not ship with the boards.
- fcrash.cpp and segas16a.cpp: Fixed assert Expression: dest.cliprect().contains(cliprect) in debug builds
- galivan.cpp
. Added hide text layer support and fixed text color attributes. This fixes missing black screen between areas (black hole warp) in dangar (ID 06946), some text colors in dangar and galivan (ID 07493) and corrupt title logo in dangar.
. Fixed dusts in lower left (video\galivan.cpp). This is for hide custom chip communication.
. Added irq acknowledge signal
. Fixed display bug when insert 10 or more credits in Ninja Emaki
- galpani3.cpp, jchan.cpp and suprnova.cpp: Correct algorithm for high precision shrink sprite. Use 10.6 fixed point for position value. Added notes (video\sknsspr.cpp).
- jaguar.cpp: Memory-related refactoring. Set width and endianness for regions, including cartridges. Make init code safer and more efficient. De-duplicate some memory maps. Separated state class for jaguarcd. Keep the driver from regressing any further than it already has while cleaning up the code and adjusting region usage to comply with the soon-to-be-committed "truth in endianness" requirement. It's possible that some regions should really be 16 bits instead of 32 or vice versa, and/or that DSP endianness may be incorrect.
- kickgoal.cpp: Added PCB layout of PRO-3/B board used by Action Hollywood and Kick Goal
- metro.cpp: Updated to use standard ROM loading macros
- midxunit.cpp: Added sound board ASCII layout
- model1.cpp
. Added internal TGP programs to Sega NetMerc, Star Wars Arcade, Virtua Fighter and Wing War, drop the HLE.
. Fixed Star Wars Arcade and Wing War (Games now playable). Removed MACHINE_IMPERFECT_GRAPHICS flag in Virtua Fighter.
. Slightly hacky background color fix
- model2.cpp: Added DIP switches to all Model 2 board per research. Updated dipswitch label and changed to 'unknown' instead of 'unused'. Use actual silkscreen label for dipswitches and restrict this set to CRX boards.
- namcofl.cpp: Use address_map_bank_device for ROM/RAM swapping. Use raw parameter for screen. Fixed sprite delaying and namings. Added MACHINE_IMPERFECT_GRAPHICS to 'Final Lap R' related to sprite disappearing issue.
- namconb1.cpp: Fixed Player 3 inputs
- namcos2.cpp: Reduced duplicates related to CPU Board components and Configuration duplication
- neogeo.cpp: Fixed stretch view not hiding edges when MAME is fullscreen (layout\irrmaze.lay and neogeo.lay)
- play_3.cpp: Moved games on "Z-Pinball" hardware to new driver (zpinball.cpp)
- segas16a.cpp and segas16b.cpp: Added save state. Partially fix reset behavior. Move dfjail related handlers/variables into dfjail_state, related to sound hardware differs.
- shangha3.cpp: Don't map 8-bit ROM directly into 16-bit space
- snk6502.cpp
. Increased CPU clock speed for fantasyu, nibbler, pballoon and vanguard to match available schematics. Fixes snake warping in Nibbler's animation runs too fast, causing it to finish before the triple sweep does. On real hardware, it syncs precisely with the sound effect (ID 05387). Fixes also Nibbler slows down periodically in 2-player mode (ID 07196). Insert wait states when reading from upper memory.
. Fixed Nibbler 2player sound problem (ID 07501). Added conf switch for the debug controls.
- suprnova.cpp: Random cleanup
- tasman.cpp: Read graphics ROMs through device. This is a flawed solution: The graphics ROM self-test fails both before and after this change. The mapping isn't properly understood yet and seems to involve some weird interleaving and/or address line swapping.
- tecmosys.cpp: Use gfxdecode for sprite gfxs. Cleanup sprite drawing routine (and Screen cliprect related). Use shorter/correct type values. Reduced unnecessary lines/arguments. Added notes.
- terracre.cpp: Added hide text layer support used in Coffee break of horekid (after clearing round 2) (ID 07494)
- triforce.cpp: Mark mkartagp, mkartag2 and mkartag2a flash dumps as bad, as all of them have the end of the data missing, and one is completely blank. Fixed the mapping/interleave of the mkartagp roms, and added some notes about how the flash block remapping lookup rom works, and the way data and metadata is stored in the flash roms.
- tumbleb.cpp
. Added base clock speeds on actual OSCs. Clocks based on OSCs actually on the PCB. OSCs determined by info within the driver & pictures of of PCBs. OSCs listed as comment in "&config" for easy reference [Brian Troha].
. Decapped Choky! Choky! I87C52 MCU
- Card Line: Removed post_load workaround for outputs
- Daytona USA: Dumped drive board ROM epr-16488
- Desert Patrol [TTL]: Added netlist
- F-1 Super Battle: Fixed flags (ID 07502)
- Final Fight: Added imperfect graphics flag to clones fcrash, ffightbl and ffightbla
- Kung-Fu Roushi: Probably mono sound
- Magic Reels: Tentatively identify the CPU rom
- Marble Madness: Removed ADC inadvertently added during MCFG removal
- Miss Bamby: Added missing PROM
- Operation Tiger: Added PLDs
- Poker Ladies: Make clone Poker Ladies (Censored bootleg, not encrypted) boot. Note: Needs inputs, sound and GFX fixes.
- Rotary Fighter: Different fix for coincounter at boot
- Sky Fox
. Improved background based on PCB. The previous background implementation was completely wrong. Found stars position stored in memory and used them to rewrite the background drawing code. Reference PCB video: https://www.youtube.com/watch?v=oyE1CfcVrDc and https://www.youtube.com/watch?v=5QhTNrNH-CU. Splitted background VRAM and work RAM from addresses map. Adjust sprite position. Removed background flip.
. Fixes some group of stars placed horizontally should scroll with a 3-4 layer parallax effect (ID 00232)
. Background pattern adjustment compared to PCB strictly
- Speed Attack: Fixed tilemap wrong bit assignment. By this bonus rate are displayed correctly.
- Super Dead Heat: Changed dipswitch service mode definition
- Super Speed Race Junior: Enable 'Difficulty' of DIPSW even if operation type is 2-4.
- TH Strikes Back: Fixed game running half speed
- Victorious Nine: Updated DIPs for Victorious Nine, taken from manual.
- Vs. Janshi Brandnew Stars: Fixed clock related to on-board XTALs
- Win Cherry: Make show RAM initialization screen
- Fixed rom names in cps1bl_5205.cpp, dec8.cpp, itech32.cpp, karnov.cpp, meritm.cpp and vp101.cpp
- Dipswitch fixes in crgolf.cpp, flstory.cpp, meritm.cpp, mitchell.cpp, model2.cpp and spdheat.cpp
- Description changes of 1000 Miglia: Great 1000 Miles Rally (Taiwan 94/07/18), Cane (prototype), Magic Bubble (Adult version, YS1302 PCB, set 1), Magic Number (Italian gambling game, Ver 1.5), New Quiz (Modular System bootleg), Nibbler (rev 6, Pioneer Balloon conversion), Nibbler (rev 8, Olympia), Nibbler (rev 9, set 1), Nibbler (rev 9, set 2), Orbite (prototype), Poitto! (revision D), Poker Ladies (Censored bootleg, encrypted), Poker Ladies (Censored bootleg, not encrypted), Puzzle Bobble (Italian gambling game), 'unknown H8 Italian gambling game', 'unknown TMS9980 poker game' and Wacky Gator (US)
- Renamed (gondo) to (gondou), (magicbubb) to (magicbubc) and (masmario) to (masmario2)
- MAME
. VIDEO RENDERING SYSTEM
. Clean up render_screen_list code, replacing simple_list with std::list.
. DEVICE
. Added wrapper for using STRUCT_MEMBER with an indeterminate length array (emu\diexec.cpp). Examples in YM2612 family and MultiPCM. Also used STRUCT_MEMBER to reduce clutter in diexec save state registration.
. UI
. Added -lowlatency option to UI (ui\submenu.cpp)
. Find software lists attached to devices that aren't in any system by default (e.g. spectrum_mgt_flop) (mame\media_ident.cpp)
. Allow slot options with -listsoftware so stuff like spectrum_mgt_flop can be discovered (emu\emuopts.cpp and mame\clifront.cpp)
. PLUGINS
. Permit entry of cheat names (plugins\cheatfind\init.lua).
. Loading fixes (plugins\data\data_command.lua, data_marp.lua and load_dat.lua)
. Various fixes (plugins\data\data_hiscore.lua and load_dat.lua)
. Removed an unnecessary separator is displayed at the top of the cheat menu (ui\cheatopt.cpp) (ID 07510).
. hiscore.dat update. Fixed old parsing errors (plugins\hiscore\hiscore.dat).
. Start experimenting with auto-template driver form, this file can be considered deprecated and its contents to be moved on a specific Python tool folder (etc\template_driver.cpp)
. Get some stuff out of the global namespace (emu\softlist_dev.cpp)
. Allow saving members of structures in n-dimensional arrays, even if the members themselves are n-dimensional arrays - see qsoundhle.cpp for an example of loops disappearing. This can greatly reduce the number of save state registrations in some cases.
. Try the new save state possibilities (cpu\dspp\dspp.cpp, cpu\i386\i386.cpp and cpu\i8089\i8089_channel.cpp). Reduced the number of save registrations (video\snes_ppu.cpp).
. Modernized struct member save registration (machine\i8257.cpp, machine\am9517a.cpp, machine\scc68070.cpp, sound\ay8910.cpp, sound\es5503.cpp and sound\saa1099.cpp)
. Added save/restore output values in save states. Save states should not be break when changing output. Also get rid of a few dozen output().set_value(...) calls in favour of output finders. This has the detrimental effect that outputs used in layouts will get the default value from the last element in the last view that uses them _after_ devices are started. If drivers/devices set initial output values on start rather than reset this could cause a problem.
. Enforce that width and endianness of directly-mapped ROM regions should match those of the address space (emu\addrmap.cpp). All of the once-numerous validation failures that this change induced have been fixed in preceding commits. Unmerged drivers may need to be modified to comply with this.
. LISTXML: Output software lists for devices (mame\infoxml.cpp). This will at least let a front-end work out that a slot card allows the use of an additional software list (e.g. spectrum -exp plusd enables spectrum_mgt_flop.xml).
. MiniMAWS: Load and index some software list data (no way to display it yet). Also fix up some software lists with duplicate part features. Added rudimentary listing of software lists to web UI and work around a python issue on loading; also fix up more software list issues. Fill in software list pages and load software list ROM information. Added software list support to web-based romident. Identify software list dumps in CLI as well. Refactored digest code and identify fixed bit patterns (scripts\minimaws).
. Initialized some stuff in audio\tx1.h, cpu\i960\i960.cpp, cpu\sh\sh2.cpp, drivers\segas32.cpp, machine\acorn_vidc.cpp, machine\6821pia.cpp, machine\vrender0.h, sound\mea8000.h, sound\ym2151.cpp, sound\ym2413.cpp, sound\ymz770.cpp and video\ygv608.cpp
. Updated MAME documentation: Added FAQ question about autofire with walkthrough of setup process. Added VSCode .gitignore for RST compilation temporary folder (docs/source/_build). Added a caveat about autofire+normal fire mapping. Added -lowlatency to the docs.
- SDLMAME: Ignore joystick buttons beyond maximum supported number (input\input_sdl.cpp). Note: The code to map excess buttons to switches doesn't actually do anything useful while INPUT_MAX_BUTTONS and MAX_BUTTONS happen to be defined to the same number.
- Compiling
. Added BGFX artwork path for Emscripten build (scripts\src\main.lua)
. Get rid of deprecated universal newlines open flag in Python scripts (io module is present as of Python 2.6) (scripts\build\verinfo.py, cpu\m6502\m6502make.py, m6809\m6809make.py, mcs96\mcs96make.py and tms57002\tmsmake.py)
. Removed some cases of visual studio warnings 4805 4389 4065 (i386\cpuidmsrs.hxx and video\xbox_nv2a.cpp)
- Debugger
. Pre-fill things allocated with operator new with 0xcd in debug builds (value can be changed by setting global g_mame_new_prefill_byte with a debugger) - this is gonna hurt performance, but it will help catch issues exposed when we remove pre-clearing before constructing devices.
. Use std::forward_list instead of custom linked structure and eliminate last use of auto_alloc (debug\debugcon.cpp)
. Added cpulist command to debugger (debug\debugcmd.cpp)




"Theory is when you know everthing but nothing works. Practice is when everything works but no one knows why.
In our lab, theory and practice are combined: nothing works and no one knows why."




Pages: 1

MAMEWorld >> News
View all threads Index   Threaded Mode Threaded  

Extra information Permissions
Moderator:  John IV, Robbbert, Tafoid 
1 registered and 136 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 1031