CSpect:known bugs
From SpecNext official Wiki
CSpect V2.12.30
- sprites: the collision bit is not implemented (intentionally for emulator performance reasons)
- modifications to NextRegs done in copper propagate to rendering usually only once per scanline, usually retroactively for full scanline when triggered in h-blank area (palette changes, X/Y offsets, etc) (mostly intentionally for emulator performance reasons)
- modifications to NextRegs done by CPU propagate to rendering usually only once per scanline, usually on following scanline (mostly intentionally for emulator performance reasons)
- some NextRegs read as zero until they are written into first (quick-boot mode without full NextZXOS image) (for example regs $03, $12, $13, $14, $42, $4A, $4B, $4C)
- $6E and $6F are supposed to be fixed in V2.12.30, but the SNA test still reads them as zeroes, maybe the snapshot loader clears them or the fix does not work
- NextRegs $09, $34, $41, $8E reads wrong values (the more "esoteric" ones like expansion bus related are not part of this test/list)
- NextRegs $6E and $6F don't read the top two bits as zeroes, but return the written value
- NextReg $02 does not implement soft-reset (and probably also no hard-reset)
- DMA: Zilog mode is not implemented (port 0x0B), reading DMA registers is not supported
- Layer2 port $123B - the new feature "bank offset" when writing with bit4=1 is not working correctly
- Layer2 palette in 320x256 seems completely wrong (256x192 and 640x256 seems ok)
- (advertised as fixed in V2.12.30, but not?) Layer2 palette offset (nextreg $70) is ignored (test in 320 and 640 modes, didn't test in 256x192)
- layers clipping - it is often +-1px off showing/hiding one extra pixel
- blending modes: there's sometimes wrong half-pixel at end of paper area
- blending modes: the core 3.1.5 now blends Layer2+ULA in different way [(details)](https://github.com/MrKWatkins/ZXSpectrumNextTests/issues/8), CSpect renders it in the core2.0 - 3.0 way
- sprites: mostly work except the "big sprites" having wrong compound transformations
- sprites rendering is not one-scanline-buffer delayed and all changes in sprites affect current scanline
- border color and Enhanced ULA on/off states sometimes produce incorrect color of border
- when running without the full NextZXOS card image, the esxdos services are provided by the emulator itself, the implementation is very limited and crude (most of the returned values are incorrect/etc, but loading files works)
not verified in V2.12.30 (but known bugs of older versions, may be still present):
- screen saver of NextZXOS will "crash" the emulated machine (not emulator itself)
- blending modes: the new core3.1.3 blending (with extra Tiles|ULA front-slice) is not supported
- sprites rendering is unlimited (real HW drops further sprites after exhausting allocated pixel throughput for current line) (reported by David B.)
- direct loading of NEX file doesn't init the machine in the same way as NEXLOAD from NextZXOS (memory stays filled with FF, etc)
- direct loading of NEX files does not support all combinations of loading-screen type and palette on/off (but V2.12.9 does load more files than V2.12.5) (the unofficial V1.3 NEX file is partially supported)
- sprites: the default clipping is wrong (set clip window explicitly any way) - this one was maybe silently fixed without changelog note, but I'm not sure (not interesting enough to run precise test)
Platform Specific
- Mac: Mouse does not work / behaves erratically