This can be seen on:
* s1945ii level 7 intro, level 8 boss. (Hold PL1 Button 1 which hitting F2 for stage select).
* s1945iii level 7 intro, level 7 main, level 8 intro, level 8 boss (Enter "8-1-6-5-0" as code in test mode for stage select).
Note that this is slow. Suggestions for speeding it up are welcome.
Rendering each tilemap to an ARGB bitmap, including applying the per-pen or fixed alpha.
Extracting an entire scanline from the bitmap, transforming it and then blending the ARGB scanline.
Obvious optimisations for transparency and fixed alpha in place.
Alternative is to just try and draw with drawgfx directly and fiddle with cliprects, but zooming makes that impossible to get nice without fudging the scaling/positioning slightly and unlikely to be faster.
Hack for daraku is still there, working to get rid of it. Aside from above and MT03663 games are now believed to be pixel-perfect.
a region to a generic type pointer and have it automatically convert.
Also added a bytes() method which is safe if the region is NULL
(useful for saying machine->region("foo")->bytes() and not crashing
if foo doesn't exist).
Changed the region field in the device_config to be a region_info *,
and removed the regionbytes field. Updated all users of these fields
to use the new casting operators and bytes() methods instead.
Added subdevice and subregion methods to the device_config class, so
you can easily query for devices and regions that are device-specific.
The device prefix ("devicename:") is automatically prepended.
- eflags mask added
- Initial values for the EAX and EDX registers fixed
- cpuid values improved
- feature flags improved
- initial value for the cr0 register improved
- changed 486 to not support the cpuid instruction by default
- take a trap on invalid instructions instead of throwing a fatalerror
- emulated the undefined flag behavior for the DIV/IDIV instructions on Intel CPUs
1. If OSD is not defined, we look for the built-in Windows
environment variable 'OS' and if it is set to 'Windows_NT',
we assume OSD=windows; otherwise we assume OSD=sdl.
2. If TARGETOS is not defined, we look for the same variable
and set TARGETOS=win32 if it is set to 'Windows_NT'.
3. Windows SDL builds have an 'sdl' prefix on the executable
so they can live side-by-side.
The upshot of this is that on Windows systems:
make -> standard Windows build producing mame.exe
make OSD=sdl -> SDL Windows builds producing sdlmame.exe
On non-Windows systems:
make -> SDL build by default (don't need to say OSD=sdl)