extension).
Improved stack walking on crash in Windows. Now using StackWalk64 to
do the stack walk, resulting in cleaner logs. Also will try to use
system function to look up symbol and source/line information if
present. End results:
- 32-bit gcc: parses symbol info from map file as before (this would
work better if we could coax gcc into outputting static functions in
the map)
- 64-bit gcc: has runtime issue that causes the exception handler to
not be invoked. Will work with mingw folks on it.
- 32/64-bit MSVC: nice stack dumps with symbol and source/line info,
if the PDB file is present. If not, falls back to the MAP file.
- TARGETOS=freebsd may now be given on make invocation
- modular approach, separate sections for opengl, x11, debugger
- most target specific settings parametrized.
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