{"id":15252,"date":"2008-03-06T12:33:54","date_gmt":"2008-03-06T12:33:54","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=15252"},"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=15252","title":{"rendered":"[Arcade] Mame v0.123u4"},"content":{"rendered":"<p>Nouvelle version. Aucun nouveaux jeux, que des corrections ce coup-ci.<\/p>\n<p><code>MAMETesters Bugs Fixed<br \/>\n----------------------<br \/>\n00817 [RansAckeR]<\/p>\n<p>Source Changes<br \/>\n--------------<br \/>\nMC6845 updates: [Zsolt Vasvari]<br \/>\n* now signalling both 0->1 and 1->0 transitions of synching pins<br \/>\n* added mc6845_assert_light_pen_input; uses a timer for latching<br \/>\nthe light pen address<br \/>\n* added reset device function<br \/>\n* implemented VSYNC height computation difference between the<br \/>\nMotorola and the Rockwell devices<br \/>\n* since the Commodore 40xx computers program an HSYNC width that<br \/>\nextends past the end of the scanline, I am clamping it in lack<br \/>\nof anything better to do<br \/>\n* added support for the Commodore 6545-1 device type<br \/>\n* added support for the status register<br \/>\n* better variable names<br \/>\n* more asserts<\/p>\n<p>Updated the \"Input (This Game)\" menu to support conditional inputs.<br \/>\n[stephh]<\/p>\n<p>Converted Amiga based games to partial updating and proper scanline<br \/>\nbased timers. [Zsolt Vasvari]<\/p>\n<p>Beginning of the clean-up of Space Guerilla - fixed rotation, some<br \/>\nother stuff. [Zsolt Vasvari]<\/p>\n<p>Removed use of tmpbitmap from some drivers. [Zsolt Vasvari]<\/p>\n<p>Replaced mame_bitmap with direct use of bitmap_t. Removed mame_bitmap<br \/>\ntypedef. [Zsolt Vasvari]<\/p>\n<p>Fixed taitoic regression that caused crashes in several games.<br \/>\n[Zsolt Vasvari]<\/p>\n<p>Changed the way VBLANK_INTs are handled:<br \/>\n- Defined a new MDRV_CPU_VBLANK_INT_HACK() (in deprecat.h) which is<br \/>\na copy of the current MDRV_CPU_VBLANK_INT()<br \/>\n- Found all the places where VBLANK_INT is used with something other<br \/>\nthan 1 interrupt per frame and changed it to the new macro<br \/>\n- Removed the \"# per frame\" parameter from MDRV_SCREEN_VBLANK_INT()<br \/>\nand added a screen tag in its place; updated all callers<br \/>\nappropriately.<br \/>\n- Added some validation of the interrupt setup to validate.c<\/p>\n<p>Fixed SH4 refresh ticks value of 0, makes awbios not blow up the<br \/>\ntimer system. [R. Belmont]<\/p>\n<p>Updated dkong driver to use two discrete structs which were previously<br \/>\nnot being used: [couriersud]<br \/>\n* dkong walk using a jump struct<br \/>\n* radarscp using a dkong 555 struct<\/p>\n<p>MACHINE_DRIVER_EXTERN now requires a semicolon. Removed a number of<br \/>\nextra semicolons. [couriersud]<\/p>\n<p>In memory.c: removed some code never to be executed: [couriersud]<br \/>\n* removed \"return 0\" from READ* macros since it is unreachable<br \/>\n* removed comparisons of type FPTR < 0 and FPTR >= 0<\/p>\n<p>Identified code not used and marked with \"#ifdef UNUSED_FUNCTION\".<br \/>\n[couriersud]<\/p>\n<p>Naomi: Use defines instead of magic numbers for IRQ sources, add<br \/>\nVBL-out. [R. Belmont]<\/p>\n<p>Improved (not perfect) ACIA slot monitoring. [kingshriek]<\/p>\n<p>Changed parent\/clone relationship to separate SSI Poker sets from<br \/>\nJackpot Joker Poker. [Roberto Fresca]<\/p>\n<p>Removed a couple of unused items from the cpuexec_data structure.<br \/>\nAdded validity check that screenless drivers cannot have a VBLANK<br \/>\ninterrupt. [Zsolt Vasvari]<\/p>\n<p>Added macros to define device functions. Updated existing devices<br \/>\nto use the macros. [Aaron Giles]<\/p>\n<p>Added the concept of device classes. Devices specify their class<br \/>\nin their get_info function. Classes can be used to walk through<br \/>\ndevices at a more general level than their type. Functions have<br \/>\nbeen added to iterate through devices by class just as you can<br \/>\nby type. [Aaron Giles]<\/p>\n<p>Removed some unused fields from device_config. [Aaron Giles]<\/p>\n<p>Moved all video timing logic from cpuexec.c to video.c. Added a<br \/>\nvideo_screen_register_vbl_cb() function for registering VBLANK<br \/>\ncallbanks. Changed inptport.c and debugcpu.c to make use the VBLANK<br \/>\ncallbacks. Added video_screen_get_time_until_vblank_start(). I did<br \/>\nsome fairly extensive testing, but this is a very signficant internal<br \/>\nchange, so some things may have broke. [Zsolt Vasvari]<\/p>\n<p>Removed use of cpu_scalebyfcount() from CVS driver. [Zsolt Vasvari]<\/p>\n<p>Changed a number of global functions to being static. [couriersud]<\/p>\n<p>Rewrote some potentially compiler specific code: [couriersud]<br \/>\n* added ATTR_FORCE_INLINE to osdcomm.h<br \/>\n* added ATTR_NONNULL<br \/>\n* moved U64 S64 fram mamecore.h to osdcomm.h<br \/>\n* define SETJMP_GNUC_PROTECT() in osdcomm.h for use in ppc602, ppc603<\/p>\n<p>Removed cpu_getcurrentframe() and replaced it with<br \/>\nvideo_screen_get_frame_number(int scrnum). Updated all callers.<br \/>\n[Zsolt Vasvari]<\/p>\n<p>Moved watchdog processing logic into its own module. [Zsolt Vasvari]<\/p>\n<p>Replaced sprite multiplexing hack in tp84.c with<br \/>\nvideo_screen_update_now() on sprite RAM write. General driver<br \/>\nclean-up. [Zsolt Vasvari]<\/p>\n<p>Gyruss: Tilemap conversion, sprite multiplexing done properly, driver<br \/>\nclean-up. [Zsolt Vasvari]<\/p>\n<p>Changed z80dma to new device interface, updated mario.c and dkong.c<br \/>\nto use new interface. Illustrates how to keep existing memory<br \/>\nread\/write handlers. This is slower than caching the device interface,<br \/>\nbut does not have an impact on devices accessed at a low frequency<br \/>\nlike in this case. [couriersud]<\/p>\n<p>Added video_screen_get_time_until_vblank_end() and<br \/>\nvideo_screen_get_time_until_update(). [Aaron Giles]<\/p>\n<p>Fixed CCPU and QB3 to no longer rely on cpu_scalebyfcount(). Fixed<br \/>\nbusted timing in the CCPU core. Changed watchdog to count internally<br \/>\nrather than using external watchdog support. Altered CCPU to accept<br \/>\ninterrupt signals from the driver. Updated clocks in the cinemat<br \/>\ndriver to be derived from the clock crystal. [Aaron Giles]<\/p>\n<p>Normalized function pointer typedefs: they are now all<br \/>\nsuffixed with _func. Did this throughout the core and<br \/>\ndrivers I was familiar with. [Aaron Giles]<\/p>\n<p>Added PORT_CHANGED macro which calls a callback if the given port<br \/>\nchanges. Usage is very similar to PORT_CUSTOM. See the Astro Invader<br \/>\ndriver for an example. [Zsolt Vasvari]<\/p>\n<p>Removed input_port_set_changed_callback and converted all users to<br \/>\nPORT_CHANGED. The only difference between the old callback and the<br \/>\nones supplied by PORT_CHANGED is that values passed by PORT_CHANGED<br \/>\nare normalized to start at bit 0, just like PORT_CUSTOM.<br \/>\n[Zsolt Vasvari]<\/p>\n<p>Added running_machine* to the CUSTOM_INPUT callback - updated drivers<br \/>\nto use it. [Zsolt Vasvari]<\/p>\n<p>Updated brkthru.c, btime.c, exerion.c, fcombat.c, astrof.c,<br \/>\ncheekyms.c, cinemat.c to use PORT_CHANGED. Combined memory maps where<br \/>\napplicable. Converted cheekyms.c to use tilemaps. [Zsolt Vasvari]<\/p>\n<p>Merged memory maps for drivers X->Z. [Andrew Gardner]<\/p>\n<p>Exidy440: modernized input port handling with CUSTOM_INPUT and<br \/>\nINPUT_CHANGED. Cleaned-up special case handling. Created better<br \/>\nseparation between driver and video code. [Zsolt Vasvari]<\/p>\n<p>Verified clocks and oki pin7 for Peek-a-boo. [Mike Ellery]<\/p>\n<p>Untangled the Fire Truck driver. Many uses of PORT_CUSTOM and<br \/>\nPORT_CHANGED, including another good use case for the gear shift<br \/>\nlogic. [Zsolt Vasvari]<\/p>\n<p>Updated ladybug.c, lasso.c, m10.c, madalien.c, maxaflex.c to use<br \/>\nPORT_CHANGED for coinage. [Zsolt Vasvari]<\/p>\n<p>Added running_machine * parameter to the front of all read\/write<br \/>\nhandlers. Updated all call-through handlers appropriately. Renamed<br \/>\nread8_handler to read8_machine_func, replicating this pattern<br \/>\nthroughout. [Aaron Giles]<\/p>\n<p>Defined new set of memory handler functions which are similar but<br \/>\nwhich pass a const device_config * in place of the running_machine *.<br \/>\nThese are called read8_device_func, etc. Added macros<br \/>\nREAD8_DEVICE_HANDLER() for specifying functions of this type.<br \/>\n[Aaron Giles]<\/p>\n<p>Added running_machine * to the device_config, live while the device<br \/>\nis live, and NULL otherwise, just like the token. [Aaron Giles]<\/p>\n<p>Meadows driver updates: [Zsolt Vasvari]<br \/>\n- Merged memory maps<br \/>\n- Uses PORT_CHANGED for coins<br \/>\n- Renamed 'Inferno (S2650) to 'Inferno (Meadows)'<br \/>\n- Renamed 'Bowling 3D' to '3-D Bowling'<br \/>\n- Added NO_DUMP entries for Gypsy Juggler's ball graphics and added GAME_IMPERFECT_GRAPHICS flag<\/p>\n<p>Fixed sprite colors in Exerion. [Zsolt Vasvari]<\/p>\n<p>Added new macros AM_DEVREAD, AM_DEVWRITE, and AM_DEVREADWRITE,<br \/>\nwhich specify device read\/write handlers in address maps, along<br \/>\nwith the type\/tag of the device they reference. [Aaron Giles]<\/p>\n<p>Converted MC6845 read\/write handlers to READ\/WRITE8_DEVICE_HANDLERs.<br \/>\nUpdated all MC6845-using drivers to use the new macros and call<br \/>\nthe updated functions. Removed the many little helper functions<br \/>\nthat used to do this work. [Aaron Giles]<\/p>\n<p>Added validity checks to ensure that the devices referenced<br \/>\nactually exist. [Aaron Giles]<\/p>\n<p>Fixed display of screen information so that it shows live information,<br \/>\nnot just the original configurations. [SailorSat]<\/p>\n<p>Improved DIP switch definitions, added DIP locations, and simplified<br \/>\ninput ports in atarisy2.c, atetris.c, avalnche.c, bagman.c,<br \/>\nbalsente.c, lasso.c, seta.c. [RasnAckeR]<\/p>\n<p>Added DIPs and locations to onetwo.c. [Sonikos]<\/p>\n<p>Corrected some glitches and fixed bank reading in Deal'Em.<br \/>\n[James Wallace]<\/p>\n<p>Changed\/verified clocks on the following pcbs: 1943, Arkanoid, Action<br \/>\nHolliwood GalsPanic, Ben Bero Beh, 1000 Miglia, Pit and Run,<br \/>\nPrehistoric Isle, Rastan, Hotmind, Hardtimes, Stagger1 and<br \/>\nTiger Road. [Corrado Tomaselli]<\/p>\n<p>Changed\/verified Oki pin 7 on the following pcbs: 1000 miglia,<br \/>\nGalspanic, Action Holliwood, Hotmind, HardTimes, World Rally,<br \/>\nStagger1. [Corrado Tomaselli]<\/p>\n<p>Added the new display types to the listxml DTD. [Oliver Stoneberg]<\/p>\n<p>Internal address map constructor changes: [couriersud]<br \/>\n* pass running_machine parameter to construct_map_##_name<br \/>\n* change \"Machine->\" to \"machine->\" in AM_BASE_MEMBER, AM_SIZE_MEMBER<br \/>\n* pass Machine in construct_address_map<\/p>\n<p>Mysterious Stones gets the \"full treatment\". [Zsolt Vasvari]<\/p>\n<p>Fix 8085 RST75 not working with PULSE_LINE. According to datasheet,<br \/>\nRST7.5 is latched on rising edge, while the other maskable interrupts<br \/>\nare sampled. [Nicola Salmoria]<\/p>\n<p>Removed AM_SPACE and matchmask support. Updated relevant drivers<br \/>\nto use AM_MIRROR() and AM_MASK() to achieve the same thing.<br \/>\n[Aaron Giles]<br \/>\n[\/CODE]<br \/>\n<\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/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=15252\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Nouvelle version. Aucun nouveaux jeux, que des corrections ce coup-ci. MAMETesters Bugs Fixed &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 00817 [RansAckeR] Source Changes &#8212;&#8212;&#8212;&#8212;&#8211; MC6845 updates: [Zsolt Vasvari] * now signalling both 0->1 and 1->0 transitions of synching pins * added mc6845_assert_light_pen_input; uses a timer &#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-15252","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\/15252","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=15252"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/15252\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}