{"id":11553,"date":"2006-02-23T10:36:19","date_gmt":"2006-02-23T10:36:19","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=11553"},"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=11553","title":{"rendered":"[Arcade] MAME v0.104u3"},"content":{"rendered":"<p>Nouvelle version interm\u00e9diaire de MAME pour le plus grand bonheur de tous.<\/p>\n<p><em><\/p>\n<h5>0.104u3<br \/>\n&#8212;&#8212;-<\/p>\n<p><span style=\"color: #FF0000;\">IMPORTANT CHANGE FOR OSD DEVELOPERS: osd_exit is no longer called<br \/>\ndirectly. Rather, your osd_init function should register the osd_exit<br \/>\ncallback (if necessary) using add_exit_callback. Also, several global<br \/>\nvariables have been moved into the Machine structure:<\/p>\n<p>   mame_debug -> Machine->debug_mode<br \/>\n   playback   -> Machine->playback_file<br \/>\n   record     -> Machine->record_file<\/span><\/p>\n<p>MAMETesters Bugs Fixed<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\ntwinhawk0104u1gra [Alex Jackson]<br \/>\ntwinhawk0104u1gre [Alex Jackson]<br \/>\ngtmr0100u1gre [Luigi30]<br \/>\narmchmp20104u2gra [Luigi30]<br \/>\nboothill0104gra [Luigi30]<br \/>\nyiear0103u1gra [Luigi30]<\/p>\n<p>Source Changes<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nCleanups to the taito_x driver: [Alex Jackson]<br \/>\n &#8211; Converted input ports to an INCLUDE\/MODIFY tree.<br \/>\n &#8211; Fixed Lives DSW in twinhawk and twinhwku<br \/>\n &#8211; Removed Cabinet DSW from twinhawk and twinhwku; they are 2psim<br \/>\n    and do not support cocktail cabinets (the DSW does nothing).<br \/>\n &#8211; Fixed Coinage DSW in suprmanj<br \/>\n &#8211; removed MDRV_MACHINE_INIT(cchip1) from games that don&rsquo;t have a<br \/>\n    c-chip (all of them except superman)<\/p>\n<p>Fixed chdman to write the correct number of logical bytes when<br \/>\nextracting something that is not an even number of hunks large.<br \/>\n[Chris Hardy]<\/p>\n<p>Some Raiden 2 documentation and input port updates (still not<br \/>\nplayable). [Olivier Galibert]<\/p>\n<p>Created new osd_tool file which is used by utility tools to do<br \/>\nfile access in an OS independent manner. [Nathan Woods]<\/p>\n<p>Fixed typo in Hyperstone core that led to false positive warning<br \/>\npopups. [Pierpaolo Prazzoli]<\/p>\n<p>Added support for IDT-specific MIPS MUL instruction in the MIPS3<br \/>\ncore, recompiler, and disassembler. [R. Belmont, Aaron Giles]<\/p>\n<p>Replaced -high_priority with -priority, you can now specify from<br \/>\n-15 to 1. The default is -15 as this makes Dell laptop keyboards<br \/>\nwork. It still won&rsquo;t raise the priority if running with the debugger,<br \/>\nbut it will lower it. Fixed a subtle bug at the same time as<br \/>\n-high_priority was only working when you used rdtsc. [smf]<\/p>\n<p>Added an optional xml_parse_options parameter to xml_file_read()<br \/>\nand xml_string_read(), to provide options for preserving whitespace,<br \/>\nerror reporting, and parser setup. [Nathan Woods]<\/p>\n<p>Added save states to 2 simple drivers &#8211; bombjack.c and blktiger.c.<br \/>\n[Adam Bousley]<\/p>\n<p>Improved graphics ROM loading order in fredmem. [Luigi30]<\/p>\n<p>New option -mngwrite, which records an MNG movie of the game from<br \/>\nthe get-go and allows you to specify a target filename. [Buddabing]<\/p>\n<p>Refactored\/renamed\/removed\/added several core files: [Aaron Giles]<br \/>\n &#8211; renamed driver.c to mamedriv.c<br \/>\n &#8211; created a new driver.c containing functions defined in driver.h<br \/>\n &#8211; split common.c into video.c and machine\/generic.c<br \/>\n &#8211; moved a number of mame.c functions to video.c<\/p>\n<p>New file debugger.h contains abstracted debugging interfaces for<br \/>\nboth debuggers. Added new call mame_debug_break() and a new macro<br \/>\nDEBUGGER_BREAK to make it easier to hard-code breakpoints into code.<br \/>\nRemoved all old code that directly whacked debug_key_pressed or<br \/>\ncalled debug_halt_on_next_instruction and replaced them with calls<br \/>\nto DEBUGGER_BREAK. [Aaron Giles]<\/p>\n<p>Added #include \u00ab\u00a0state.h\u00a0\u00bb to driver.h. This means most driver files<br \/>\nno longer need to explicitly include it. Went through and removed it<br \/>\nfrom most drivers. [Aaron Giles]<\/p>\n<p>Reorganized the core initialization\/exit sequencing to be \u00ab\u00a0flatter\u00a0\u00bb<br \/>\nand more straightforward to understand. System cleanup is now no<br \/>\nlonger explicitly called by the code in mame.c. Rather, each init<br \/>\nfunction is free to register an exit handler, which will be called<br \/>\nin reverse order of registration upon a system exit. [Aaron Giles]<\/p>\n<p>Removed default registrations from config_init() into the init<br \/>\nfunctions of the associated modules. Now each system that has config<br \/>\ndata can register its own callbacks to process it. [Aaron Giles]<\/p>\n<p>Renamed MACHINE_INIT to MACHINE_RESET to normalize the naming of the<br \/>\ncallbacks defined in the MACHINE_DRIVER structure. Added several new<br \/>\ncallbacks. The complete list is now:<\/p>\n<p>   DRIVER_INIT &#8212; per-game init called once at startup<br \/>\n   MACHINE_START\/SOUND_START\/VIDEO_START &#8212; called once at startup<br \/>\n   MACHINE_RESET\/SOUND_RESET\/VIDEO_RESET &#8212; called each reset<\/p>\n<p>Save state registrations should be performed in DRIVER_INIT or<br \/>\n(preferably) in the _START callbacks; they should be avoided in the<br \/>\n_RESET callbacks if possible. [Aaron Giles]<\/p>\n<p>Removed VIDEO_DUAL_MONITOR flag. [Aaron Giles]<\/p>\n<p>Added a number of new properties to the debug views to allow for more<br \/>\nflexibility in the way the views are displayed. Also added an option<br \/>\nto the disassembly window to display encrypted opcode data on the<br \/>\nright. [Aaron Giles]<\/p>\n<p>Save state changes: [Aaron Giles]<br \/>\n &#8211; Audited the use of save state registrations throughout the code,<br \/>\n    switching most cases over to using the state_save_register_global<br \/>\n    or state_save_register_item macros to simplify the code.<br \/>\n &#8211; Deprecated the save_state_register_ calls since nearly all<br \/>\n    cases can be automatically handled by the macros. For odd cases,<br \/>\n    there is now a save_state_register_memory call which is generic.<br \/>\n &#8211; Simplified the save state logic, allowing for unlimited instances<br \/>\n    and reducing the complexity of the code. This breaks existing save<br \/>\n    states. Sorry, I&rsquo;ll try not to do it again.<\/p>\n<p>Fixed save state support in Missile Command. [Aaron Giles]<\/p>\n<p>Added oversampling support to the CEM3394 emulator. [Aaron Giles]<\/p>\n<p>Added save state support to the CEM3394 and NES APU sound chips.<br \/>\n[Aaron Giles]<\/p>\n<p>Added save state support to the jedi, balsente and dkong drivers.<br \/>\n[Aaron Giles]<\/p>\n<p>New games added or promoted from NOT_WORKING status<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nChoko [Guru, Charles MacDonald]<\/p>\n<p>New clones added<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nAgress (English bootleg) [Pierpaolo Prazzoli]<br \/>\nTokio \/ Scramble Formation [Nicola Salmoria, Arzeno Fabrice]<br \/>\nBomb Kick [Pierpaolo Prazzoli]<\/h5>\n<p><\/em><\/p>\n<p><strong>NB<\/strong>: A noter, un changement int\u00e9ressant dans le drivers Cps2:<\/p>\n<p>La ligne:<br \/>\n<strong>\/\/  ROM_LOAD16_WORD_SWAP( \u00ab\u00a0tkojx.03\u00a0\u00bb, 0x000000, 0x80000, NO_DUMP )<\/strong><\/p>\n<p>Remplac\u00e9 par:<br \/>\n<strong>ROM_LOAD16_WORD_SWAP( \u00ab\u00a0choko-opcodes.bin\u00a0\u00bb, 0x000000, 0x400000, CRC(d5348dd4) SHA1() )<\/strong><\/p>\n<p>Ce qui fait passer le jeu Choko de status:<br \/>\n<strong>GAME_NOT_WORKING<\/strong> \u00e0<strong> GAME_IMPERFECT_GRAPHICS<\/strong><\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2006\/02-fevrier\/23\/choko.png\" border=\"0\"><\/p>\n<p style=\"text-align: center;\"><em>Choko se lance (il ne manque apparemment que les dumps des roms graphiques de type Simm)<\/em><\/p>\n<p>On remarque donc qu&rsquo;il n&rsquo;y a pas d&rsquo;Xor&rsquo;s utilis\u00e9s pour lancer ce jeu (m\u00eame si ici une autre m\u00e9thode est utilis\u00e9) !<br \/>\nCe jeu est-il un cas particulier ou est-ce bien un premier test vers la non utilisation des Xor&rsquo;s dans l&rsquo;\u00e9mulation des jeux CPS2 (rappeler vous des dernieres news de Nicola Salmoria)&#8230;<br \/>\nEn tout cas une chose est certaine lorsque l&rsquo;on regarde vite fait dans le code source, on constate qu&rsquo;il y a l&rsquo;apparition d&rsquo;une fonction dans le driver CPS2:<\/p>\n<p><strong>DRIVER_INIT( cps2_noxor )<\/strong><br \/>\nqui laisse sous entendre bien des choses (du moins dans un futur plus au moins proche) <img decoding=\"async\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/smiley\/icon_wink.gif\" border=\"0\"><\/p>\n<p>A suivre&#8230;<\/p>\n\n<p class=\"p_site_officiel\"><a href=\"http:\/\/www.mamedev.com\/\" class=\"site_officiel\" target=\"_blank\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a href=\"https:\/\/www.emu-france.com\/emulateurs\/10-ordinateurs\/241-epson-qc-10-qx-10\/\" 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=11553\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Nouvelle version interm\u00e9diaire de MAME pour le plus grand bonheur de tous. 0.104u3 &#8212;&#8212;- IMPORTANT CHANGE FOR OSD DEVELOPERS: osd_exit is no longer called directly. Rather, your osd_init function should register the osd_exit callback (if necessary) using add_exit_callback. Also, several &#8230;<\/p>\n","protected":false},"author":33,"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-11553","post","type-post","status-publish","format-standard","hentry","uentry","postonpage-1","odd","post-author-Acdctabs"],"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\/11553","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\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11553"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/11553\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}