{"id":8444,"date":"2004-10-25T07:42:50","date_gmt":"2004-10-25T07:42:50","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=8444"},"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=8444","title":{"rendered":"[Arcade] Mame v0.88"},"content":{"rendered":"<p>Et voil\u00e0 la nouvelle version de Mame attendu depuis quelques jours. Voici les news:<\/p>\n<h5><span style=\"text-decoration: underline;\">General Improvements<\/span><\/p>\n<p>Emulation of Sega FD1094 encrypted 68k CPUs, this will allow for<br \/>\nsignificant progress in the emulation of the remaining encrypted Sega games.<br \/>\nNote that we require working CPUs to extract encryption data from in order<br \/>\nto emulate the encrypted titles, see http:\/\/cgfm2.emuviews.com\/ for more details. As a result of this code several of the encrypted games will now boot (astorm, ddcrew, wb3a, wb3b, tetris, ddux, sonicbom etc.)<br \/>\n[Charles MacDonald &#8211; extracting data from CPUs,<br \/>\nNicola Salmoria &#8211; decryption code]<\/p>\n<p>Misc fixes from Mame32Plus<br \/>\nay.diff: add save state support for AY8910 and friends<br \/>\ncrbaloon.diff: add music support<br \/>\ndarius.diff: adjust FM\/ADPCM balance<br \/>\nf3.diff: fix landmakr sound loading<br \/>\nharddriv.diff: fix undersized array causing memory trashing<br \/>\nmario.diff: added save state support<br \/>\nqsound.diff: added save state support<br \/>\nrenegade.diff: fixed missing break; in MCU simulation<br \/>\ns16.diff: adjust FM\/ADPCM balance<br \/>\nscsp.diff: fixed undersized array causing stack trashing<br \/>\nssv.diff: fixed hypreac2 sound loading<br \/>\ni960 and model 2 update [R.Belmont, ElSemi]<br \/>\ni960:<br \/>\n&#8211; Fixed bug in movl (ElSemi)<\/p>\n<p>model2:<br \/>\n&#8211; Removed hotd and lastbrnx hacks, the i960 fix<br \/>\nobsoletes them<br \/>\n&#8211; Added port 0 switching, player 2 start works in<br \/>\nseveral games now (ElSemi)<br \/>\n&#8211; Added working timer support, including timer IRQs<br \/>\n&#8211; Updated game status listing<\/p>\n<p>Fixed some c99 related compiler issues [Jeff Mitchell, Lawrence Gold]<br \/>\nupdate to ppmast93 driver, still not playable [David Haywood]<br \/>\nDiscrete sound changes [Derrick Renaud]<\/p>\n<p><span style=\"text-decoration: underline;\">Discrete Sound Changes<\/span><\/p>\n<p>* Continued cleanup of code to make it more readable<\/p>\n<p><span style=\"text-decoration: underline;\">New Discrete Modules Added<\/span><\/p>\n<p>* DISCRETE_NOTE &#8211; counter circuit used to create tones\/music.<br \/>\n* DISCRETE_INTEGRATE &#8211; various op amp integration (ramp) circuits.<br \/>\n* DISCRETE_OP_AMP_TRIG_VCA &#8211; Did not know what to call this. \ud83d\ude42<br \/>\nBasically it is a programable voltage controlled amp. But uses only an on\/off  trigger.<br \/>\nIt has resistors to select the rise\/fall times. Also it is not a true VCA.<br \/>\nIt actually adjusts amplitude by clipping more\/less off the bottom of the<br \/>\ninput signal. But it is a common circuit.<\/p>\n<p><span style=\"text-decoration: underline;\">Game Driver Changes<\/span><\/p>\n<p>* polaris &#8211; complete sound rewrite to use new component value code.<br \/>\nHooked up watchdog timer.<\/p>\n<p>New watchdog functionality [Derrick Renaud]<\/p>\n<p><span style=\"text-decoration: underline;\">Game Driver Changes<\/span><\/p>\n<p>* dominos, sprint1, sprint2, dragrace, canyon, nitedrvr &#8211; added<br \/>\nwatchdog  and set to proper time using new MDRV_WATCHDOG_VBLANK_INIT function.<br \/>\n* firetrk, montecar, superbug, pacman, polaris &#8211; changed watchdog to proper<br \/>\ntime using new MDRV_WATCHDOG_VBLANK_INIT function.<br \/>\n* galpania, galpanib &#8211; changed to MDRV_WATCHDOG_VBLANK_INIT because these<br \/>\ngames need watchdog init at game start.<\/p>\n<p><span style=\"text-decoration: underline;\">Core Changes<\/span><\/p>\n<p>Changed watchdog to allow it to start at machine run start. If not used, the<br \/>\nprevious watchdog functionality is retained. Only define 1 of the 2 watchdogs<br \/>\nper game. If both are defined then MDRV_WATCHDOG_VBLANK_INIT will be used<br \/>\nonly.<\/p>\n<p>* MDRV_WATCHDOG_VBLANK_INIT(watch_count)- Initializes the watchdog in<br \/>\nMACHINE_DRIVER_. watch_count is the # of vertical blanking intervals<br \/>\nbefore a forced reset. If the time is unkown then you can use these defaults:<br \/>\nDEFAULT_60HZ_3S_VBLANK_WATCHDOG or DEFAULT_30HZ_3S_VBLANK_WATCHDOG<\/p>\n<p>* MDRV_WATCHDOG_TIME_INIT(time)- Initializes the watchdog in<br \/>\nMACHINE_DRIVER_. time is the time in seconds before a forced reset.<\/p>\n<p>New function to enable\/disable the watchdog in game.<br \/>\nwatchdog_enable(0 or 1) &#8211; used to 0=disable or !0=enable.<\/p>\n<p>Made a macro that calculates the pulse time of a 74LS122 or LS123.<br \/>\nTIME_OF_74LS123(r,c)<br \/>\nr is in Ohms. c is in Farads.<br \/>\nc must be greater then 1000pF to use this function<\/p>\n<p>Added runtime option to disable validity checks [Derrick Renaud]<\/p>\n<p>Added run time option:<br \/>\n-[no]skip_validitychecks<br \/>\nForces MAME to skip doing the code validity checks. The default is<br \/>\nOFF (-noskip_validitychecks).<br \/>\nThis new option will default to doing the test and force you to confirm you do not want to use it. This way users can test their submissions easily and then speed things up when confirmed ok.<\/p>\n<p>NOTE: DO NOT disable the checks when submitting code<\/p>\n<p>Fixed voodoo code broken by cleanup in u3 [Aaron Giles]<br \/>\nFixed qdrmfgp broken by cleanup in u3 [Olivier Galibert]<br \/>\nFixed cut and paste error in chdman [Ren\u00e9 Single]<br \/>\nFixed mayday inputs [Stefan Jokisch]<br \/>\nFixed Puzzle Club dips [Brian Troha]<br \/>\nInput Port System Update [Aaron Giles]<br \/>\nPORT_INCLUDE() works the same as before.<\/p>\n<p>PORT_MODIFY(\u00ab\u00a0tag\u00a0\u00bb) allows you to modify any given input port by specifying its tag.<\/p>\n<p>Any PORT_BIT() entries that you put after a PORT_MODIFY will nuke any<br \/>\nmatching entries in the previous definition, allowing you to overwrite<br \/>\nthem with new stuff.<\/p>\n<p>I also added a few new functions:<\/p>\n<p>readinputportbytag_safe() takes a tag and a default value. If the tag is not found, the default value is returned.<\/p>\n<p>port_tag_to_handler8()<br \/>\nport_tag_to_handler16()<br \/>\nport_tag_to_handler32() &#8212; these 3 new functions take a tag string, find the<br \/>\ninput port, and return the appropriate handler. They can be used in AM_READ,<br \/>\nso instead of:<\/p>\n<p>AM_RANGE(0x00, 0x00) AM_READ(input_port_1_r)<\/p>\n<p>You can use AM_RANGE(0x00, 0x00) AM_READ(port_tag_to_handler8(\u00ab\u00a0MyPortName\u00a0\u00bb))<\/p>\n<p>I&rsquo;ve modified exidy.c to use these features as a testbed. Let me know if you see any problems.<\/p>\n<p>Memory system changes \/ fixes [Aaron Giles]<br \/>\n* added explicit casting to the memory handler width when computing<br \/>\nthe shifted data\/mask values for read\/write handlers &#8212; this should in<br \/>\ntheory fix R. Belmont&rsquo;s 64-bit issues<\/p>\n<p>* added memory_install_read\/write8\/16\/32\/64_matchmask_handler<br \/>\nfunctions to allow dynamic installation of match\/mask (AM_SPACE-style) memory<br \/>\nranges &#8211;this should satisfy Frank P&rsquo;s request for the astrocade driver<\/p>\n<p>* changed masking behavior for match\/mask pairs so that an AM_SPACE<br \/>\nwith an AM_MASK does not expand the explicitly-specified mask value &#8212; this<br \/>\nshould fix dwidel&rsquo;s problem getting Pac-Man accurate<\/p>\n<p>* changed dynamic bank assignment to always assign a bank if you have<br \/>\nexplicitly specified a mask value via AM_MASK &#8212; this should allow<br \/>\nmirroring via AM_MASK if you want to, though AM_MIRROR is still preferred<\/p>\n<p>Fixed OKI banking in Fixeight bootleg [Quench]<\/p>\n<p>More changes [Derrick Renaud]<\/p>\n<p><span style=\"text-decoration: underline;\">Game Driver Changes<\/span><\/p>\n<p>* firetrk, montecar &#8211; added proper CPU clock frequency change when<br \/>\ngoing in\/out of service mode.<\/p>\n<p><span style=\"text-decoration: underline;\">Core Changes<\/span><\/p>\n<p>Fixed some last remaining issues with the new watchdog. The watchdog<br \/>\nwould not remain disabled after a watchdog_enable(0) in some conditions.<\/p>\n<p>Added a new function to change CPU clock speed in game. The current<br \/>\nscaling factor will still apply. eg. If you force the CPU to change clock to  1MHz<br \/>\nwhile the scaling is at 50%, the effective CPU speed will be 500kHz.<br \/>\nThen reading the clock speed will give 1MHz, because clock scaling is transparent to the driver.<\/p>\n<p>\/* Returns the current CPU&rsquo;s actual unscaled running clock speed *\/<br \/>\nint cpunum_get_clock(int cpunum);<\/p>\n<p>\/* Sets the current CPU&rsquo;s clock speed and then adjusts for scaling *\/<br \/>\nvoid cpunum_set_clock(int cpunum, int clock);<\/p>\n<p>Fixed some problems in Steel Force [Pierpaolo Prazzoli]<\/p>\n<p><span style=\"text-decoration: underline;\">New Games supported or promoted from GAME_NOT_WORKING status:<\/span><\/p>\n<p>&#8211; F1 Grand Prix Star II [Brian Troha]<br \/>\nroms redumped<\/p>\n<p>&#8211; Sonic Boom [Charles MacDonald, Nicola Salmoria]<\/p>\n<p>&#8211; Mighty Warriors [Pierpaolo Prazzoli]<br \/>\nsome sprite problems<\/p>\n<p>&#8211; Twins [David Haywood]<br \/>\nmissing eeprom<\/p>\n<p>&#8211; Greyhound Selection [Pierpaolo Prazzoli]<\/p>\n<p>&#8211; BMC Bowling [Tomasz Slanina]<br \/>\nmissing music, some wrong gfx<\/p>\n<p>&#8211; Field Combat [Tomasz Slanina]<br \/>\nbad sprite colours<\/p>\n<p>&#8211; Gallop Racer 3 [smf]<br \/>\nsound problems<\/p>\n<p>&#8211; Tank 8 [Stefan Jokisch]<\/p>\n<p><span style=\"text-decoration: underline;\">New Clones supported or promoted from GAME_NOT_WORKING status:<\/span><\/p>\n<p>&#8211; Tetris (Sega) (2 encrypted sets) [Charles MacDonald, Nicola Salmoria]<\/p>\n<p>&#8211; Wonderboy 3 (2 encrypted sets) [Charles MacDonald, Nicola Salmoria]<\/p>\n<p>&#8211; Greyhound trivia (alt questions) [Pierpaolo Prazzoli]<\/p>\n<p>&#8211; Astro Blaster (version 2a) [Mash]<\/p>\n<p><span style=\"text-decoration: underline;\">New Non-Working games \/ clones supported<\/span><\/p>\n<p>&#8211; D.D. Crew [Charles MacDonald, Nicola Salmoria]<br \/>\nsome issues with system18 emulation<\/p>\n<p>&#8211; Dynamite Dux (original) [Charles MacDonald, Nicola Salmoria]<br \/>\nsome issues with system16 emulation<\/p>\n<p>&#8211; BC Story (set 2) [David Haywood]<br \/>\nmore protection issues?<\/p>\n<p>&#8211; Super GX [Mash]<br \/>\nbad rom<\/p>\n<p>&#8211; Skelagon [Mash]<br \/>\nbad rom<\/p>\n<p>&#8211; Virtua Formula<br \/>\nsame issues as VR <\/h5>\n<p><p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=622\" title=\"Download MAME(Arcade) [Debug]\">T\u00e9l\u00e9charger MAME(Arcade) [Debug] v0.161 (19.7 Mo)<\/a><\/p><br \/>\n<p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=625\" title=\"Download MAMEUI32\">T\u00e9l\u00e9charger MAMEUI32 v0.287 (60.2 Mo)<\/a><\/p><\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/www.mame.net\" 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\/87-mame-officiel\/\" class=\"en_savoir_plus\">En savoir plus&#8230;<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=8444\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Et voil\u00e0 la nouvelle version de Mame attendu depuis quelques jours. Voici les news: General Improvements Emulation of Sega FD1094 encrypted 68k CPUs, this will allow for significant progress in the emulation of the remaining encrypted Sega games. Note that &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_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}},"categories":[],"tags":[],"class_list":["post-8444","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\/8444","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=8444"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/8444\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}