{"id":15279,"date":"2008-03-13T19:11:05","date_gmt":"2008-03-13T19:11:05","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=15279"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=15279","title":{"rendered":"[Arcade] Mame v0.123u5"},"content":{"rendered":"<p>Nouvelle version de Mame.<\/p>\n<p><code>MAMETesters Bugs Fixed<br \/>\n----------------------<br \/>\n01216 [Tomasz Slanina]<br \/>\n00898 [couriersud]<br \/>\n01436 [Aaron Giles]<br \/>\n01480 [robiza]<br \/>\n01482 [Zsolt Vasvari]<br \/>\n01429 [RansAckeR]<br \/>\n00593 [RansAckeR]<br \/>\n01478 [RansAckeR]<\/p>\n<p>Source Changes<br \/>\n--------------<br \/>\nFixed flickering in Electric Yo-Yo. Changed qix driver to use the<br \/>\nMC6845's VSYNC notification for interrupts. [Zsolt Vasvari]<\/p>\n<p>Removed machine from the parameters of some of the device_get_info<br \/>\nand device_set_info calls because that information is stored<br \/>\nwith the device now. [Aaron Giles]<\/p>\n<p>Changed device interfaces to pass the device_config * rather<br \/>\nthan tokens and individual bits to the device callbacks. Updated<br \/>\nall existing devices accordingly. [Aaron Giles]<\/p>\n<p>A number of changes to remove references to screens by index and<br \/>\nmake the video system based strictly upon the screen devices:<br \/>\n[Zsolt Vasvari]<\/p>\n<p>* changed vblank_state_changed_func to now have a device_config<br \/>\nargument<br \/>\n* removed runnning_machine as the first parameter of a VBLANK<br \/>\ncallback<br \/>\n* removed video_data from running_machine<br \/>\n* private state screen information now hangs off the public one,<br \/>\ninstead of the other way around<br \/>\n* combined video_global and video_private into a single structure<br \/>\n* moved populating screen_state from mame.c to video.c<br \/>\n* removed defstate; the default screen parameters live in<br \/>\nscreen_config directly<br \/>\n* moved 'refresh' from public to internal video state and renamed<br \/>\nit to 'frame_period'<br \/>\n* changed all drivers that previously accessed 'refresh' to use<br \/>\nvideo_screen_get_frame_period()<br \/>\n* changed VIDEO_UPDATE signature to pass the screen device<br \/>\n* added const device_config *primary_screen to running_machine<br \/>\n* changed first argument of video_screen_* functions to take a<br \/>\ndevice_config; all callers that used 0 for the screen number now<br \/>\nuse machine->primary_screen<br \/>\n* changed game info screen and overlay UI to display the screen tag<br \/>\ninstead of screen number<br \/>\n* added video_screen_get_visible_area()<br \/>\n* changed render.c to use screen devices<br \/>\n* removed direct driver access to machine->screen[] array<br \/>\n* added video_screen_auto_bitmap_alloc(screen)<br \/>\n* the Dynax\/Don Den Lover games now do their updating in VIDEO_UPDATE<br \/>\ninstead of VIDEO_EOF. Seems to have fixed the palette problems<br \/>\n* hooked up swapped videoram in Karnov properly -- same idea as<br \/>\nBurger Time<br \/>\n* removed the public screen_state object -- all access is via<br \/>\nfunctions<br \/>\n* removed screen[] object from running_machine<br \/>\n* removed MAX_SCREENS constant -- there is no longer a hardcoded<br \/>\nupper bound<\/p>\n<p>Changed the MC6845 to take and pass device_config's only. The<br \/>\nfollowing shook out from this that are applicable to other devices<br \/>\nas well: [Zsolt Vasvari]<br \/>\n- running_machine is no longer taken, passed or stored<br \/>\n- mc6845_t is now private<br \/>\n- since passing device_config's is not device type safe, I added a<br \/>\nget_safe_token() to mc6845.c to check the device passed in for<br \/>\nthe valid type.<\/p>\n<p>Removed video_data from running_machine. Private state screen<br \/>\ninformation now hangs off the public one, instead of the other way<br \/>\naround. Combined video_global and video_private into a single<br \/>\nstructure. [Zsolt Vasvari]<\/p>\n<p>Fixed the crash in Galaga caused by the slightly altered video timing.<br \/>\n[Zsolt Vasvari]<\/p>\n<p>Converted address maps to tokens. Changed the address_map structure<br \/>\nto house global map-wide information and hung a list of entries off<br \/>\nof it corresponding to each address range. Introduced new functions<br \/>\naddress_map_alloc() and address_map_free() to build\/destroy these<br \/>\nstructures. Updated all code as necessary. [Aaron Giles]<\/p>\n<p>Fixed several instances of porttagtohandler*() in the address maps.<br \/>\nDrivers should use AM_READ_PORT() macros instead. [Aaron Giles]<\/p>\n<p>ADDRESS_MAP_EXTERN() now is required to specify the number of<br \/>\ndatabits, just like ADDRESS_MAP_START. [Aaron Giles]<\/p>\n<p>Removed ADDRESS_MAP_FLAGS() grossness. There are now three new macros<br \/>\nwhich replace its former usage. ADDRESS_MAP_GLOBAL_MASK(mask)<br \/>\nspecifies a global address-space-wide mask on all addresses. Useful<br \/>\nfor cases where one or more address lines simply are not used at<br \/>\nall. And ADDRESS_MAP_UNMAP_LOW\/HIGH specifies the behavior of<br \/>\nunmapped reads (do they come back as 0 or ~0). [Aaron Giles]<\/p>\n<p>Changed internal memory mapping behavior to keep only a single<br \/>\naddress map and store the byte-adjusted values next in the address<br \/>\nmap entries rather than maintaining two separate maps. Many other<br \/>\nsmall internal changes\/cleanups. [Aaron Giles]<\/p>\n<p>Changed MC6845 to take a screen tag instead of a screen number.<br \/>\n[Zsolt Vasvari]<\/p>\n<p>Voodoo now takes a device_config for the screen. [Zsolt Vasvari]<\/p>\n<p>Changed TMS34010 to take a screen tag instead of screen number.<br \/>\n[Zsolt Vasvari]<\/p>\n<p>Replaced the following macros (SMH == static memory handler)<\/p>\n<p>MRA*_BANK*\/MRA*_BANK* -> SMH_BANK*<br \/>\nMRA*_RAM\/MRA*_ROM -> SMH_RAM<br \/>\nMRA*_ROM\/MWA*_ROM -> SMH_ROM<br \/>\nMRA*_NOP\/MWA*_NOP -> SMH_NOP<br \/>\nMRA*_UNMAP\/MWA*_UNMAP -> SMH_UNMAP<\/p>\n<p>This removes the silly need for a bunch of redundant constants<br \/>\nwith faux type definitions that didn't buy anything. [Aaron Giles]<\/p>\n<p>Moved some memory system constants into memory.c. [Aaron Giles]<\/p>\n<p>Converted atarigen and tms34061 to be handle based. [Zsolt Vasvari]<\/p>\n<p>Changed how the PowerPC MMU is enabled at compile time, to cut down<br \/>\non the amount of unused functions in MAME. [Nathan Woods]<\/p>\n<p>Some additional memory system cleanups: [Aaron Giles]<br \/>\n* Made address versus byte offsets explicit throughout.<br \/>\n* Removed some unused parameters.<br \/>\n* Consolidated initialization process.<br \/>\n* Removed maximum memory block count.<br \/>\n* Centralized bank management.<br \/>\n* Added masked handlers and change_pc to the accessors.<br \/>\n* Added memory_get_accessors() to return a pointer to the accessors<br \/>\nfor a given address space\/databus width\/endian configuration.<\/p>\n<p>Adds some new 6845 varieties: MC6845-1, H46505, HD6845 and SY6545-1.<br \/>\n[Zsolt Vasvari]<\/p>\n<p>Moved crosshair code from video.c into its own module. Simplified<br \/>\ncrosshair logic and made it screen device based. [Zsolt Vasvari]<\/p>\n<p>Saturate MultiPCM on clip and fix envelope discontinuity. [ElSemi]<\/p>\n<p>Fixed loading mixer settings when the driver default value is<br \/>\ncalculated. [Nicola Salmoria]<\/p>\n<p>Removed cpu_scalebyfcount(). Changed input ports to register a frame<br \/>\ncallback, which is called immediately after throttling and updating.<br \/>\nThis is the proper \"sync point\" between emulated time and real time.<br \/>\nMoved all analog and digital port processing into a central place<br \/>\nhere. Added tracking of time since the previous frame update and use<br \/>\nthat as an estimate for the time of the current frame. This is used<br \/>\nto scale analog ports without the use of cpu_scalebyfcount(). This<br \/>\nis not perfect in the case where frame rates are dynamic (vector<br \/>\ngames), but works well for other cases. [Aaron Giles]<\/p>\n<p>Fixed VBLANK end time computation and video_screen_get_vblank() --<br \/>\nthey weren't taking into account games that use<br \/>\nMDRV_SCREEN_VBLANK_TIME. [Zsolt Vasvari]<\/p>\n<p>Fixed 68000 prefetching operation. Previous behavior was incorrect.<br \/>\n[Aaron Giles]<\/p>\n<p>Changed slapstic management to always install an opbase handler to<br \/>\nmore aggressively catch code executing in the slapstic region.<br \/>\nUpdated all drivers to separate the slapstic region of ROM into a<br \/>\ndifferent ROM section from the fixed ROM. [Aaron Giles]<\/p>\n<p>superqix.c changes: [Mike Haaland]<br \/>\n- Changed vblank interrupts to 3 to fix screen drawing issues.<br \/>\n- Used memory_configure_bank() to configure memory.<br \/>\n- Added save states.<\/p>\n<p>Added some clock frequency changes which were documented in u4 but<br \/>\nwhich did not apply due to operator error. [Corrado Tomaselli]<\/p>\n<p>Added layout to crop corners in Electric Yo-Yo. [Mr. Do!]<\/p>\n<p>Added support for Sega Virtua Processor, to run Genesis\/MegaDrive<br \/>\nversion of Virtua Racing, intended to be used by MESS. It consists<br \/>\nof a CPU core SSP1601, and updates in megadriv.c: [notaz]<br \/>\n* SSP1601 replaces SSP1610, as it has been confirmed that SVP<br \/>\nactually contains SSP1601. The current SSP1610 is only a<br \/>\nplaceholder (nearly completely unimplemented) anyway.<br \/>\n* Changed megadriv.c add a new driver for Genesis\/MegaDrive+SVP<br \/>\ncombination, also add SVP memory controller logic and memory map.<\/p>\n<p>Phase 2 of the Deal 'Em input changes (these work well with the<br \/>\ndefault cabinet type, I need to do some conditional input work<br \/>\nto fix them fully), and also a conversion to the resnet code.<br \/>\nUnfortunately, this still doesn't fix the apparently needed<br \/>\ntransparency. [James Wallace]<\/p>\n<p>Simplified inputs, improved DIP switches, and added DIP locations<br \/>\nto punchout.c, bankp.c, and baraduke.c. [RansAckeR]<\/p>\n<p>In asuka.c, created MACHINE_START( asuka ) to configure cpu2 banks<br \/>\nwith memory_configure_bank(). All drivers support save states, with<br \/>\nthe exception of cadash and clones, the background does not load<br \/>\nproperly. [Mike Haaland]<\/p>\n<p>Fixed M68000 build logic to only include it if enabled. [Fabio Priuli]<\/p>\n<p>New games added or promoted from NOT_WORKING status<br \/>\n---------------------------------------------------<br \/>\nAmuse (Version 50.08 IBA) [Pierpaolo Prazzoli]<br \/>\nJoker Poker (Version 16.03B) [Pierpaolo Prazzoli]<br \/>\nSuper Bowl (Version 16.03B) [Pierpaolo Prazzoli]<br \/>\nPit Boss II [Mariusz Wojcieszek]<br \/>\nSuper Pit Boss [Mariusz Wojcieszek]<br \/>\nPit Boss Megastar [Mariusz Wojcieszek]<br \/>\nMegatouch IV [Mariusz Wojcieszek]<br \/>\nMegatouch IV Tournament Edition [Mariusz Wojcieszek]<br \/>\nMegatouch 6 [Mariusz Wojcieszek]<\/p>\n<p>New clones added<br \/>\n----------------<br \/>\nRaiden Fighters (Austria) [Corrado Tomaselli]<br \/>\n[\/CODE]<br \/>\n<\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/www.mamedev.org\/\" class=\"site_officiel\" target=\"_blank\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a href=\"https:\/\/www.emu-france.com\/emulateurs\/6-arcades\/88-mame-wip\/\" class=\"en_savoir_plus\">En savoir plus...<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=15279\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Nouvelle version de Mame. MAMETesters Bugs Fixed &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 01216 [Tomasz Slanina] 00898 [couriersud] 01436 [Aaron Giles] 01480 [robiza] 01482 [Zsolt Vasvari] 01429 [RansAckeR] 00593 [RansAckeR] 01478 [RansAckeR] Source Changes &#8212;&#8212;&#8212;&#8212;&#8211; Fixed flickering in Electric Yo-Yo. Changed qix driver to use &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[],"tags":[],"class_list":["post-15279","post","type-post","status-publish","format-standard","hentry","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/sKi2R-","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/15279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15279"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/15279\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}