En fait les changements sont apparus avant (144u6) pour etre finalisés en 0.145
144u6
-----
Major bitmap-related changes throughout the system: [Aaron Giles]
There are almost certainly some regressions lurking. Let me know if
something seems busted.
Bitmaps are now strongly typed based on format. bitmap_t still exists
as an abstract base class, but it is almost never used. Instead,
format-specific bitmap classes are provided:
bitmap_ind8 == 8bpp indexed bitmap_ind16 == 16bpp indexed bitmap_ind32
== 32bpp indexed bitmap_ind64 == 64bpp indexed bitmap_rgb32 == 32bpp
RGB bitmap_argb32 == 32bpp ARGB bitmap_yuy16 == 16bpp YUY
For each format, a generic pix() method is provided which references
pixels of the correct type. The old pix8/pix16/pix32/ pix64 methods
still exist in the short term, but the only one available is the one
that matches the bitmap's pixel size. Note also that the old RGB15
format bitmaps are no longer supported at all.
Converted model1, megadriv, and stv drivers away from the RGB15 format
bitmaps.
New auto_bitmap__alloc() macros are provided for allocating the
appropriate type of bitmap.
Screen update functions now must specify the correct bitmap type as
their input parameters. For static update functions the SCREEN_UPDATE
macro is now replaced with SCREEN_UPDATE_RGB32 and SCREEN_UPDATE_IND16
macros. All existing drivers have been updated to use the correct
macros.
Screen update functions are now required for all screens; there is no
longer any default behavior of copying a "default" bitmap to the
screen (in fact the default bitmap has been deprecated). Use one of
the following to specify your screen_update callback:
MCFG_SCREEN_UPDATE_STATIC(name) - static functions
MCFG_SCREEN_UPDATE_DRIVER(class, func) - driver members
MCFG_SCREEN_UPDATE_DEVICE(tag, class, func) - device members
Because the target bitmap format can now be deduced from the screen
update function itself, the MCFG_SCREEN_FORMAT macro is no longer
necessary, and has been removed. If you specify a screen update
callback that takes a bitmap_ind16, then the screen will be configured
to use a 16bpp indexed bitmap, and if you specify a callback that
takes a bitmap_rgb32, then a 32bpp RGB bitmap will be provided.
Extended the bitmap classes to support wrapping a subregion of another
bitmap, and cleaner allocation/resetting. The preferred use of bitmaps
now is to define them directly in drivers/devices and use allocate()
or wrap() to set them up, rather than allocating them via
auto_bitmap_*_alloc().
Death to SCREEN_EOF, which was ambiguously called either at the start
or end of VBLANK depending on the video flag
VIDEO_UPDATE_AFTER_VBLANK. Replaced with SCREEN_VBLANK callbacks which
are called both at the start and end of VBLANK, so you can operate
either way, and be explicit about it. Updated all callers. Also
updated screen_device to use device timers and some other minor
cleanups.
Bref, j'ai pas tout compris mais ya eu un gros nettoyage au niveau timings d'affichage