{"id":14565,"date":"2007-10-05T08:41:12","date_gmt":"2007-10-05T08:41:12","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=14565"},"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=14565","title":{"rendered":"[Arcade] Mame v0.119u3"},"content":{"rendered":"<p>Nouvelle release de Mame.<\/p>\n<p><code><br \/>\nIMPORTANT NOTE FOR OSD PORTERS: This build requires a pair of new<br \/>\nprimitives in the OSD synchronization module, as well as some extended<br \/>\nfunctionality in the work item management. See below for details.<\/p>\n<p>MAMETesters Bugs Fixed<br \/>\n----------------------<br \/>\ncabal0119u2ora [David Haywood]<\/p>\n<p>Source Changes<br \/>\n--------------<br \/>\nFixed Cabal (joystick) submission from previous release.<br \/>\n[David Haywood]<br \/>\nMade a few improvements to dealem (well you can see the game now..)<br \/>\n[David Haywood]<\/p>\n<p>Fixed broken SCSP from last update. [R. Belmont]<\/p>\n<p>Changed parameters to read\/write handlers from \"address\" to an<br \/>\nunmodified \"original_address\" parameter (having the passed parameter<br \/>\nbeing unmodified makes it easier to determine the original value while<br \/>\ndebugging). [Nathan Woods]<\/p>\n<p>Fixed colors in dynduke. [David Haywood]<\/p>\n<p>Changed the following x86 instructions to read\/write an entire word<br \/>\nrather than two separate bytes: [Philip Bennett]<br \/>\n - mov_axdisp<br \/>\n - mov_dispax<br \/>\n - stosw (8086 only)<br \/>\n - rep stosw (8086 only)<br \/>\nAlso tweaked handling of x86 WAIT instruction.<\/p>\n<p>Several more opcode fixes for Risky Challenge. [robiza]<\/p>\n<p>Cleaned up the include file usage in the code: [Atari Ace]<br \/>\n - Removed dead prototypes<br \/>\n - Added missing self-#includes<br \/>\n - Added missing source comments in mame\/includes<br \/>\n - Migrated the few #include \"driver.h\" lines from driver header<br \/>\n    files to source files (which is the common idiom).<br \/>\n - Eliminated #include \"mame.h\", \"osdcore.h\" et cetera from driver<br \/>\n    files where #include \"driver.h\" would suffice.<br \/>\n - Removed unused srmp6.h and 9900stat.h<\/p>\n<p>Added the rom loading for the various 5*XX roms, which are dumped but<br \/>\nnot yet hooked up. [David Haywood]<\/p>\n<p>Fixed error messages output from option.c. [Christophe Jaillet]<\/p>\n<p>gstream driver update: [Pierpaolo Prazzoli]<br \/>\n - Changed to use a default nvram handler<br \/>\n - Checked the inputs<br \/>\n - Aligned the sprites<br \/>\n - Added some comments about oki banking<\/p>\n<p>Major Sega Model 2 rewrite: [Ernesto Corvi]<br \/>\n - Decoupled the geometry engine code from the hardware rasterizer.<br \/>\n    At this point, we could add emulation of the geometry DSPs for<br \/>\n    the 2B and 2C models, and hook them directly to the rasterizer.<br \/>\n    For the original and 2A models, an HLE geometry engine is provided<br \/>\n    (currently in use for all models).<br \/>\n - Full Geometry Engine simulation, including support for specular,<br \/>\n    multiple centers and dual polygon RAM.<br \/>\n - Support for all textured\/transparent\/checkered rendering modes.<br \/>\n - Improved texel\/luma modulation<br \/>\n - Improved viewport clipping<br \/>\n - Improved z clipping<br \/>\n - Extensive notes and documentation.<br \/>\n - Greatly improved near Z-Clipping, still not perfect though.<br \/>\n - Improved perspective-correct texturing for large textures.<br \/>\n - Improved Z-Sorting<\/p>\n<p>Changed Machine to machine in several places where feasible.<br \/>\n[Atari Ace]<\/p>\n<p>Added decryption of Jongkyo. [Nicola Salmoria]<\/p>\n<p>The OSD layer is now required to supply to additional synchronization<br \/>\nprimitives: osd_compare_exchange32() and osd_compare_exchange64().<br \/>\nThese primitives should implement an atomic compare and exchange of<br \/>\n32-bit and 64-bit values, respectively. Added implementations of these<br \/>\nfunctions to the Windows OSD layer. [Aaron Giles]<\/p>\n<p>Defined two new inline functions that are built on the new OSD<br \/>\nprimitives: osd_compare_exchange_ptr(), which performs an atomic<br \/>\ncompare\/exchange on a pointer of the appropriate size, and<br \/>\nosd_sync_add() which atomically adds a value to a location in memory.<br \/>\n[Aaron Giles]<\/p>\n<p>Changed implementation of OSD work queues that are created with the<br \/>\nWORK_QUEUE_FLAG_MULTI hint. Such queues now create n-1 threads, where<br \/>\nn in the number of logical processors in the system. This allows the<br \/>\nmain thread to continue accomplishing things while other threads<br \/>\nprocess the work. If the main thread subsequently calls<br \/>\nosd_work_queue_wait(), it will then dynamically \"jump in\" and help<br \/>\nthe other threads complete all the work items. [Aaron Giles]<\/p>\n<p>Added new work item flag WORK_ITEM_FLAG_SHARED. When specified on a<br \/>\nwork item that is queued to a work queue created with the<br \/>\nWORK_QUEUE_FLAG_MULTI hint, it means that all threads will be<br \/>\ndispatched to process the one work item, instead of the first thread<br \/>\nremoving it. These \"shared\" work items are only considered complete<br \/>\nwhen all processing threads have returned. [Aaron Giles]<\/p>\n<p>Added support for controlling multithreading behavior through an<br \/>\nenvironment variable OSDPROCESSORS. To override the default behavior,<br \/>\nset OSDPROCESSORS equal to the number of logical processors you wish<br \/>\nthe OSD layer to pretend you have. [Aaron Giles]<\/p>\n<p>Changed the 3dfx Voodoo emulation code to take advantage of the new<br \/>\nthreading mechanisms above. It now creates a work queue with the<br \/>\nWORK_QUEUE_FLAG_MULTI flag set, and uses shared work items to spread<br \/>\nrasterization work across multiple processors. Note that this support<br \/>\nshould be considered experimental; under some circumstances it is<br \/>\nknown to deadlock. If you encounter problems, set OSDPROCESSORS to 1<br \/>\nto effectively produce the previous behavior. [Aaron Giles]<\/p>\n<p>Added \"top 20\" dedicated rasterizers for all the Seattle games and<br \/>\nGauntlet Legends\/Dark Legacy. These improve rasterization performance<br \/>\nby another 10-20%. [Aaron Giles]<\/p>\n<p>Fixed several more bugs in the 64-bit MIPS recompiler. It is now<br \/>\ncapable of running the Seattle games and the 3D Gauntlets.<br \/>\n[Aaron Giles]<\/p>\n<p>New games added or promoted from NOT_WORKING status<br \/>\n---------------------------------------------------<br \/>\nSuper Hana Paradise [Luca Elia]<br \/>\nHanafuda Hana Gokou [Luca Elia]<br \/>\nMahjong Tian Jiang Shen Bing [Pierpaolo Prazzoli]<\/p>\n<p>New clones added<br \/>\n----------------<br \/>\nNekketsu Koukou Dodgeball Bu (Japan) [David Haywood, Team Japump!]<br \/>\nPuzzle Game Rong Rong (Japan) [Luca Elia]<br \/>\nLegend of Hero Tonma (Japan) [David Haywood]<br \/>\nLegend of Hero Tonma (bootleg, set 2) [David Haywood]<br \/>\nIQ-Block (V127M, V113FR) [Pierpaolo Prazzoli]<br \/>\nCabal (Alpha Trading) [David Haywood]<br \/>\nPuzzle & Action: Tant-R (Japan) (bootleg set 3) [David Haywood]<br \/>\nShinobi (Datsu bootleg) [David Haywood]<br \/>\nShinobi (Star bootleg, System 16A) [David Haywood]<br \/>\nCrack Down (World, FD1094 317-0058-04c) [Arzeno Fabrice, Chris Hardy]<br \/>\nSuper Pang (World 900914, bootleg) [David Haywood]<br \/>\nPang (bootleg, set 2) [David Haywood]<br \/>\nTehkan World Cup (set 2, bootleg?) [David Haywood]<br \/>\nDJ Boy (set 2) [David Haywood]<br \/>\nHunchback (set 2) [David Haywood]<br \/>\nDouble Dragon (bootleg with M6803) [David Haywood]<br \/>\nCannon Ball (Pacman Hardware) [David Haywood]<\/p>\n<p>New games marked as GAME_NOT_WORKING<br \/>\n------------------------------------<br \/>\nJongkyo [David Haywood, Nicola Salmoria]<br \/>\nVs. Janshi Brandnew Stars [David Haywood]<br \/>\n[\/CODE]<br \/>\n<\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/mamedev.org\/release.html\" 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=14565\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Nouvelle release de Mame. IMPORTANT NOTE FOR OSD PORTERS: This build requires a pair of new primitives in the OSD synchronization module, as well as some extended functionality in the work item management. See below for details. MAMETesters Bugs Fixed &#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_feature_clip_id":0,"_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-14565","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\/14565","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=14565"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/14565\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14565"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14565"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}