{"id":20494,"date":"2012-01-16T11:36:13","date_gmt":"2012-01-16T11:36:13","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=20494"},"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=20494","title":{"rendered":"[Arcade] Mame v0.144u6"},"content":{"rendered":"<p>..<\/p>\n<p><code><br \/>\n0.144u6<br \/>\n-------<\/p>\n<p>MAMETesters Bugs Fixed<br \/>\n----------------------<br \/>\n- 03685: [Sound] reaktor: No sound (hap)<br \/>\n- 03568: [Crash\/Freeze] lockload, gunhard: Access Violation after OK (hap)<br \/>\n- 04189: [Gameplay] fireshrk: Inputs aren't read consistently (hap)<br \/>\n- 04601: [Speed] vimana: game suffers major slowdowns (hap)<br \/>\n- 04602: [Documentation] pb_l5 and clones: The correct description is<br \/>\n         \"PIN-BOT...\" and the exact year of production is 1986.<br \/>\n- 04600: [Documentation] pfevr_l2, pfevr_p3: The correct descriptions<br \/>\n         are \"Pennant Fever (L-2)\" and \"Pennant Fever (P-3)\".<br \/>\n- 04599: [Documentation] pz_f4 and clones: The correct description is<br \/>\n         \"The Party Zone...\".<br \/>\n- 02234: [DIP\/Input] chboxing: Unable to navigate Test Mode menu (hap)<\/p>\n<p>Source Changes<br \/>\n--------------<br \/>\nsoftlist: Fix entry count tracking issue [O. Galibert]<\/p>\n<p>vamphalf.c: Added correct speedup for Toy Land Adventure. Demoted Mr.<br \/>\nKicker to not working again. There is a serious bug with the nvram<br \/>\nhandling (possibly due to a core bug) which causes the game to break<br \/>\nentirely if you get a high score and it rewrites nvram. [Dave Haywood]<\/p>\n<p>i386: Made a start at Virtual 8086 Mode.  Not fully working yet,<br \/>\nthough. Fixed an issue where two address or operand size prefixes<br \/>\nwould cancel each other out. [Barry Rodewald]<\/p>\n<p>Optimized PGM video rendering for a speedup in some video heavy cases<br \/>\n[David Haywood]<\/p>\n<p>Reinstated the old KOV protection simulation given that the ARM still<br \/>\nhasn't been dumped [David Haywood]<\/p>\n<p>arm7: some code reorganization, used a jump table for a small speedup<br \/>\n[David Haywood]<\/p>\n<p>i386: Fixed high bits in eflags register from being changed by POPF,<br \/>\nand VM and IF flags from changing depending on privilege level. Fixed<br \/>\nexception error codes in protected mode. Further work on virtual 8086<br \/>\nmode.  EMM386 will now load, but will still die a few seconds later.<br \/>\n[Barry Rodewald]<\/p>\n<p>Enabling load of multi part softlist items on all available device<br \/>\n[Fabio Priuli]<\/p>\n<p>ARM7: Gave ARM mode its own file & cleaned up formatting\/indenting<br \/>\n[David Haywood]<br \/>\n:<br \/>\ni386: Bit more progress towards getting 386 enhanced mode Windows<br \/>\nrunning. [Carl]<\/p>\n<p>beaminv.c: added color overlay [MASH]<\/p>\n<p>Added support for 2 drives on IDE controller [Miodrag Milanovic]<\/p>\n<p>Major bitmap-related changes throughout the system: [Aaron Giles]<br \/>\nThere are almost certainly some regressions lurking. Let me know if<br \/>\nsomething seems busted.<br \/>\nBitmaps are now strongly typed based on format. bitmap_t still exists<br \/>\nas an abstract base class, but it is almost never used. Instead,<br \/>\nformat-specific bitmap classes are provided:<br \/>\nbitmap_ind8 == 8bpp indexed bitmap_ind16 == 16bpp indexed bitmap_ind32<br \/>\n== 32bpp indexed bitmap_ind64 == 64bpp indexed bitmap_rgb32 == 32bpp<br \/>\nRGB bitmap_argb32 == 32bpp ARGB bitmap_yuy16 == 16bpp YUY<br \/>\nFor each format, a generic pix() method is provided which references<br \/>\npixels of the correct type. The old pix8\/pix16\/pix32\/ pix64 methods<br \/>\nstill exist in the short term, but the only one available is the one<br \/>\nthat matches the bitmap's pixel size. Note also that the old RGB15<br \/>\nformat bitmaps are no longer supported at all.<br \/>\nConverted model1, megadriv, and stv drivers away from the RGB15 format<br \/>\nbitmaps.<br \/>\nNew auto_bitmap_<type>_alloc() macros are provided for allocating the<br \/>\nappropriate type of bitmap.<br \/>\nScreen update functions now must specify the correct bitmap type as<br \/>\ntheir input parameters. For static update functions the SCREEN_UPDATE<br \/>\nmacro is now replaced with SCREEN_UPDATE_RGB32 and SCREEN_UPDATE_IND16<br \/>\nmacros. All existing drivers have been updated to use the correct<br \/>\nmacros.<br \/>\nScreen update functions are now required for all screens; there is no<br \/>\nlonger any default behavior of copying a \"default\" bitmap to the<br \/>\nscreen (in fact the default bitmap has been deprecated). Use one of<br \/>\nthe following to specify your screen_update callback:<br \/>\nMCFG_SCREEN_UPDATE_STATIC(name) - static functions<br \/>\nMCFG_SCREEN_UPDATE_DRIVER(class, func) - driver members<br \/>\nMCFG_SCREEN_UPDATE_DEVICE(tag, class, func) - device members<br \/>\nBecause the target bitmap format can now be deduced from the screen<br \/>\nupdate function itself, the MCFG_SCREEN_FORMAT macro is no longer<br \/>\nnecessary, and has been removed. If you specify a screen update<br \/>\ncallback that takes a bitmap_ind16, then the screen will be configured<br \/>\nto use a 16bpp indexed bitmap, and if you specify a callback that<br \/>\ntakes a bitmap_rgb32, then a 32bpp RGB bitmap will be provided.<br \/>\nExtended the bitmap classes to support wrapping a subregion of another<br \/>\nbitmap, and cleaner allocation\/resetting. The preferred use of bitmaps<br \/>\nnow is to define them directly in drivers\/devices and use allocate()<br \/>\nor wrap() to set them up, rather than allocating them via<br \/>\nauto_bitmap_*_alloc().<br \/>\nSeveral common devices needed overhauls or changes as a result of the<br \/>\nabove changes:<br \/>\n * Reorganized the laserdisc base driver and all the laserdisc drivers<br \/>\n    as modern C++ devices, cleaning the code up considerably. Merged<br \/>\n    ldsound device into the laserdsc device since modern devices are<br \/>\n    flexible enough to handle it.<br \/>\n * Reorganized the v9938 device as a modern C++ device. Removed<br \/>\n    v9938mod.c in favor of template functions in v9938.c directly.<br \/>\n * Added independent ind16 and rgb32 callbacks for TMS340x0 devices.<br \/>\n * All video devices are now hard-coded to either ind16 or rgb32<br \/>\n    bitmaps. The most notable is the mc6845 which is rgb32, and<br \/>\n    required changes to a number of consumers.<br \/>\n * Added screen_update methods to most video devices so they can be<br \/>\n    directly called via MCFG_SCREEN_UPDATE_DEVICE instead of creating<br \/>\n    tons of stub functions.<br \/>\nAdded new template device_delegate which wraps a regular delegate and<br \/>\nincludes a string pointer to a device tag, which can be simply<br \/>\nresolved later. Converted the screen_update delegates to to be based<br \/>\non this. Changed the mechanism by which screen formats are auto-<br \/>\ndeduced. Converted SCREEN_EOF to use these delegates as well, so now<br \/>\nthere is MCFG_SCREEN_EOF_STATIC\/ DRIVER\/DEVICE just like<br \/>\nMCFG_SCREEN_UPDATE.<\/p>\n<p>Death to SCREEN_EOF, which was ambiguously called either at the start<br \/>\nor end of VBLANK depending on the video flag<br \/>\nVIDEO_UPDATE_AFTER_VBLANK. Replaced with SCREEN_VBLANK callbacks which<br \/>\nare called both at the start and end of VBLANK, so you can operate<br \/>\neither way, and be explicit about it. Updated all callers. Also<br \/>\nupdated screen_device to use device timers and some other minor<br \/>\ncleanups.<\/p>\n<p>Beginning to implement page faults [Carl]<\/p>\n<p>Created new testcpu driver that shows how to develop an empty test<br \/>\ndriver that (ab)uses the core to single step a CPU executing arbitrary<br \/>\ninstructions and capturing before\/after state and tracking memory.<br \/>\nCurrently this driver is always compiled, but is not referenced in<br \/>\nmame.lst. [Aaron Giles]<\/p>\n<p>Cleanup of bitmap classes now that formats and bpp are dictated<br \/>\nstrictly by the type. Also added code to more aggressively align the<br \/>\nbitmap base and rowbytes, and create a resize method which attempts to<br \/>\nre-use existing memory rather than always reallocating. [Aaron Giles]<\/p>\n<p>i386: Added I\/O permissions. [Carl]<\/p>\n<p>Added new method screen_device::register_screen_bitmap which allocates<br \/>\na given bitmap to match the screen size and resizes it as appropriate<br \/>\nwhen the screen size changes. Updated all the obvious spots in the<br \/>\ncode where this could be leveraged. [Aaron Giles]<br \/>\nMove allocate\/resize methods in the bitmap classes down into bitmap_t<br \/>\nbecause they no longer have any dependency on the bitmap format or<br \/>\ntype.<br \/>\nEnsured that the bitmap's palette remains set across a resize call (it<br \/>\nis lost doing an allocate).<\/p>\n<p>[N64] Various changes: [MooglyGuy, Happy]<br \/>\n * Converted AI \/ VI \/ MI \/ RI \/ SI \/ PI into a modernized device<br \/>\n * PI DMA now takes place after an appropriate delay to simulate<br \/>\n    transfer time<br \/>\n- SP DMA no longer rejects transfers of 0 bytes (should transfer one<br \/>\n8-byte word)<\/p>\n<p>x87: fix for single-precision operations [Peter Farrie]<\/p>\n<p>Capcom ZN-1 update [Team CPS-1]:<br \/>\n * Redumped and fixed MASK ROMs in ts2, ts2j to match real pcb<br \/>\n    (Smitdogg, The Dumping Union)<br \/>\n * Minor fixes<\/p>\n<p>New games added or promoted from NOT_WORKING status<br \/>\n---------------------------------------------------<br \/>\nToy Land Adventure [f205v, The Dumping Union]<\/p>\n<p>New clones added<br \/>\n----------------<br \/>\nGals Panic S - Extra Edition (Europe) [Hartenberger, arcadiabay.de]<br \/>\nWestern Gun Part II [Andrew Welburn]<\/p>\n<p>New games marked as GAME_NOT_WORKING<br \/>\n------------------------------------<br \/>\nShin Nihon Pro Wrestling Toukon Retsuden 4 Arcade Edition<br \/>\n  [f205v, The Dumping Union]<br \/>\nTouch de Uno! 2 [f205v, The Dumping Union]<br \/>\n[\/CODE]<br \/>\n<\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/mamedev.org\/updates.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=20494\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>.. 0.144u6 &#8212;&#8212;- MAMETesters Bugs Fixed &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8211; 03685: [Sound] reaktor: No sound (hap) &#8211; 03568: [Crash\/Freeze] lockload, gunhard: Access Violation after OK (hap) &#8211; 04189: [Gameplay] fireshrk: Inputs aren&rsquo;t read consistently (hap) &#8211; 04601: [Speed] vimana: game suffers major &#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-20494","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\/20494","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=20494"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/20494\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}