bitumove: 128 bit blit
modeoperation: skips calculation if same as last pixel (this speeds up this function 3x in wolf3d for example)
writehandler: inlining of the first invocation
I narrowed it down to an issue with rasterop, I think having
to do with vga.latch.d, but I'm still scratching my head.
Attached is graphicsopt4.diff, which skips everything but
rasterop. Also added an optimization for the modes wd was
interested in and others; old way would calc bank address on
every read/write; the optimization pulls that(a multiply)
out, now done in vga_gfx.cpp, where it's modified less
often(on a bank switch, other twiggling).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: YES
user_id=1008467
Some other changes I was working on got into the patch so
updating. There is a bug to work out with modeoperation and
the game tornado.
Logged In: YES
user_id=1008467
Needed to include vga.latch.d in the dirty check. Which begets graphicsopt3.diff.
Logged In: YES
user_id=1008467
I narrowed it down to an issue with rasterop, I think having
to do with vga.latch.d, but I'm still scratching my head.
Attached is graphicsopt4.diff, which skips everything but
rasterop. Also added an optimization for the modes wd was
interested in and others; old way would calc bank address on
every read/write; the optimization pulls that(a multiply)
out, now done in vga_gfx.cpp, where it's modified less
often(on a bank switch, other twiggling).