There's no need to keep that visible area wrong value now that the offsets are fixed.
If this change was made for the offsets bug, now can go away. If not, I don't see a valid reason to keep it,
since it's the cause of the bug.
Adjusted offsets in seta.c video hardware file. The mentioned bugs in commit title are fixed, probably others too. No time to test all games in normal and flip screen mode, also detect a 1 pixel bug is often really difficult with screen flipped. The vast majority of games have been tested with service mode test grid and are ok. Curiously these changes don't fix#04877 which seems to be another kind of issue: offsets values are right but the whole screen is shifted 8 pixels to the right.
This simple line change fixes the missing sound bug in KYROS and SSTINGRY (which was not reported in the bug). There's no more need to doubling audio CPU interrupts per frame after the conversion of the driver to the usage of scanline timers.
Sorry for opened and closed this request multiple times, I'm learning how to GIT works just now. Thanks.
rgbgen.h - Added andnot_reg, clamp_to_uint8, bilinear_filter_rgbaint, and += functions.
vooddefs.h - Converted rasterizer path to use rgbaint_t types. Switched to new reciplog function.
voodoo.c - Converted entire pixel pipe path to use rgbaint_t types.
allows the creation of macro libraries going forward. Any IC which can
be described by a truthtable and a package wrapper can now be entirely
described in netlist syntax. [Couriersud]
- Very preliminary Framebuffer DMA hook-up, mostly used for Top Landing to show Course Select on screen;
- Fixed analog inputs;
- Fixed color select for 3d;
- Fixed tilemap priority;
(I assume with this we can promote Top Landing as working)
Turbo (encrypted, program 1363-1365 rev B) [Andrew Welburn]
Turbo (encrypted, program 1363-1365) [Andrew Welburn]
based on this new information the existing 1363-1365 set is an 'A' revision even if it was missing from the labels in MAME.
- documented Dev.ROM board, PIO access register, ROM board internal layouts
- rewritten awboard to support unencrypted data access and Type-2 ROMBD banking
- added CaH4e3's patches for Extreme Hunting 2 (game now boots to title)
This reverts commit d14f86b2f0.
make -R verbose=1 -C build/projects/sdl/mame/gmake-linux config=release64
Compiling src/emu/video/voodoo.c...
g++ -MMD -MP -DPTR64=1 -DCRLF=2 -DLSB_FIRST -DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64 -DLUA_COMPAT_APIINTCASTS -I../../../../../src/osd -I../../../../../src/emu -I../../../../../src/mame -I../../../../../src/lib -I../../../../../src/lib/util -I../../../../../3rdparty -I../../../../generated/emu -I../../../../generated/emu/layout -I../../../../../src/emu/cpu/m68000 -I../../../../../3rdparty/expat/lib -I../../../../../3rdparty/zlib -I../../../../../3rdparty/lua/src -m64 --pipe -Wno-deprecated-declarations -O3 -fno-strict-aliasing -march=native -fPIC -Wno-unknown-pragmas -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-conversion -Wno-unused-result -Wno-narrowing -Wno-attributes -Wno-array-bounds -D__USE_MINGW_ANSI_STDIO=1 -m64 -DINLINE="static inline" -x c++ -std=gnu++98 -Woverloaded-virtual -o "../../../../linux_gcc/obj/x64/Release/src/emu/video/voodoo.o" -MF ../../../../linux_gcc/obj/x64/Release/src/emu/video/voodoo.d -c "../../../../../src/emu/video/voodoo.c"
In file included from ../../../../../src/emu/video/voodoo.c:151:0:
../../../../../src/emu/video/vooddefs.h: In function 'INT32 lfb_w(voodoo_state*, offs_t, UINT32, UINT32)':
../../../../../src/emu/video/vooddefs.h:3763:24: error: inlining failed in call to always_inline 'bool depthTest(UINT16, stats_block*, INT32, UINT32, INT32)': function body can be overwritten at link time
ATTR_FORCE_INLINE bool depthTest(UINT16 zaColorReg, stats_block *stats, INT32 destDepth, UINT32 fbzModeReg, INT32 biasdepth)
^
../../../../../src/emu/video/voodoo.c:3381:20: error: called from here
if (!depthTest((UINT16) v->reg[zaColor].u, stats, depth[x], v->reg[fbzMode].u, biasdepth))
^
In file included from ../../../../../src/emu/video/voodoo.c:151:0:
../../../../../src/emu/video/vooddefs.h:2405:24: error: inlining failed in call to always_inline 'bool chromaKeyTest(voodoo_state*, stats_block*, UINT32, rgb_union)': function body can be overwritten at link time
ATTR_FORCE_INLINE bool chromaKeyTest(voodoo_state *v, stats_block *stats, UINT32 fbzModeReg, rgb_union color)
^
../../../../../src/emu/video/voodoo.c:3385:24: error: called from here
if (!chromaKeyTest(v, stats, v->reg[fbzMode].u, color))
^
In file included from ../../../../../src/emu/video/voodoo.c:151:0:
../../../../../src/emu/video/vooddefs.h:2578:24: error: inlining failed in call to always_inline 'bool alphaTest(voodoo_state*, stats_block*, UINT32, UINT8)': function body can be overwritten at link time
ATTR_FORCE_INLINE bool alphaTest(voodoo_state *v, stats_block *stats, UINT32 alphaModeReg, UINT8 alpha)
^
../../../../../src/emu/video/voodoo.c:3391:20: error: called from here
if (!alphaTest(v, stats, v->reg[alphaMode].u, color.rgb.a))
^
In file included from ../../../../../src/emu/video/voodoo.c:151:0:
../../../../../src/emu/video/vooddefs.h:3118:24: error: inlining failed in call to always_inline 'void applyFogging(voodoo_state*, UINT32, UINT32, INT32, const UINT8*, INT32, rgb_union&, INT32, INT64, rgb_union)': function body can be overwritten at link time
ATTR_FORCE_INLINE void applyFogging(voodoo_state *v, UINT32 fogModeReg, UINT32 fbzCpReg, INT32 x, const UINT8 *dither4, INT32 fogDepth, rgb_union &color, INT32 iterz, INT64 iterw, rgb_union iterargb)
^
../../../../../src/emu/video/vooddefs.h:3856:96: error: called from here
applyFogging(VV, FOGMODE, FBZCOLORPATH, XX, DITHER4, fogdepth, color, ITERZ, ITERW, ITERAXXX); \
^
../../../../../src/emu/video/voodoo.c:3399:5: note: in expansion of macro 'PIXEL_PIPELINE_END'
PIXEL_PIPELINE_END(v, stats, dither, dither4, dither_lookup, x, dest, depth,
^
../../../../../src/emu/video/vooddefs.h:2807:24: error: inlining failed in call to always_inline 'void alphaBlend(UINT32, UINT32, INT32, const UINT8*, int, UINT16*, rgb_union, rgb_union&)': function body can be overwritten at link time
ATTR_FORCE_INLINE void alphaBlend(UINT32 FBZMODE, UINT32 ALPHAMODE, INT32 x, const UINT8 *dither, int dpix, UINT16 *depth, rgb_union preFog, rgb_union &color)
^
../../../../../src/emu/video/vooddefs.h:3858:77: error: called from here
alphaBlend(FBZMODE, ALPHAMODE, XX, DITHER, dest[XX], depth, preFog, color); \
^
../../../../../src/emu/video/voodoo.c:3399:5: note: in expansion of macro 'PIXEL_PIPELINE_END'
PIXEL_PIPELINE_END(v, stats, dither, dither4, dither_lookup, x, dest, depth,
^
../../../../../src/emu/video/vooddefs.h:3763:24: error: inlining failed in call to always_inline 'bool depthTest(UINT16, stats_block*, INT32, UINT32, INT32)': function body can be overwritten at link time
ATTR_FORCE_INLINE bool depthTest(UINT16 zaColorReg, stats_block *stats, INT32 destDepth, UINT32 fbzModeReg, INT32 biasdepth)
^
../../../../../src/emu/video/voodoo.c:3381:20: error: called from here
if (!depthTest((UINT16) v->reg[zaColor].u, stats, depth[x], v->reg[fbzMode].u, biasdepth))
^
In file included from ../../../../../src/emu/video/voodoo.c:151:0:
../../../../../src/emu/video/vooddefs.h:2405:24: error: inlining failed in call to always_inline 'bool chromaKeyTest(voodoo_state*, stats_block*, UINT32, rgb_union)': function body can be overwritten at link time
ATTR_FORCE_INLINE bool chromaKeyTest(voodoo_state *v, stats_block *stats, UINT32 fbzModeReg, rgb_union color)
^
../../../../../src/emu/video/voodoo.c:3385:24: error: called from here
if (!chromaKeyTest(v, stats, v->reg[fbzMode].u, color))
^
In file included from ../../../../../src/emu/video/voodoo.c:151:0:
../../../../../src/emu/video/vooddefs.h:2578:24: error: inlining failed in call to always_inline 'bool alphaTest(voodoo_state*, stats_block*, UINT32, UINT8)': function body can be overwritten at link time
ATTR_FORCE_INLINE bool alphaTest(voodoo_state *v, stats_block *stats, UINT32 alphaModeReg, UINT8 alpha)
^
../../../../../src/emu/video/voodoo.c:3391:20: error: called from here
if (!alphaTest(v, stats, v->reg[alphaMode].u, color.rgb.a))
^
In file included from ../../../../../src/emu/video/voodoo.c:151:0:
../../../../../src/emu/video/vooddefs.h:3118:24: error: inlining failed in call to always_inline 'void applyFogging(voodoo_state*, UINT32, UINT32, INT32, const UINT8*, INT32, rgb_union&, INT32, INT64, rgb_union)': function body can be overwritten at link time
ATTR_FORCE_INLINE void applyFogging(voodoo_state *v, UINT32 fogModeReg, UINT32 fbzCpReg, INT32 x, const UINT8 *dither4, INT32 fogDepth, rgb_union &color, INT32 iterz, INT64 iterw, rgb_union iterargb)
^
../../../../../src/emu/video/vooddefs.h:3856:96: error: called from here
applyFogging(VV, FOGMODE, FBZCOLORPATH, XX, DITHER4, fogdepth, color, ITERZ, ITERW, ITERAXXX); \
^
../../../../../src/emu/video/voodoo.c:3399:5: note: in expansion of macro 'PIXEL_PIPELINE_END'
PIXEL_PIPELINE_END(v, stats, dither, dither4, dither_lookup, x, dest, depth,
^
../../../../../src/emu/video/vooddefs.h:2807:24: error: inlining failed in call to always_inline 'void alphaBlend(UINT32, UINT32, INT32, const UINT8*, int, UINT16*, rgb_union, rgb_union&)': function body can be overwritten at link time
ATTR_FORCE_INLINE void alphaBlend(UINT32 FBZMODE, UINT32 ALPHAMODE, INT32 x, const UINT8 *dither, int dpix, UINT16 *depth, rgb_union preFog, rgb_union &color)
^
../../../../../src/emu/video/vooddefs.h:3858:77: error: called from here
alphaBlend(FBZMODE, ALPHAMODE, XX, DITHER, dest[XX], depth, preFog, color); \
^
../../../../../src/emu/video/voodoo.c:3399:5: note: in expansion of macro 'PIXEL_PIPELINE_END'
PIXEL_PIPELINE_END(v, stats, dither, dither4, dither_lookup, x, dest, depth,
^
optional.make:7932: recipe for target '../../../../linux_gcc/obj/x64/Release/src/emu/video/voodoo.o' failed
make[2]: *** [../../../../linux_gcc/obj/x64/Release/src/emu/video/voodoo.o] Error 1
Makefile:76: recipe for target 'optional' failed
make[1]: *** [optional] Error 2
makefile:908: recipe for target 'linux_x64' failed
make: *** [linux_x64] Error 2