Difference between revisions of "CSpect:known bugs"

From SpecNext official Wiki
Jump to: navigation, search
(some refresh of bugs info based on the discord session with Mike)
(V2.12.22 refresh)
Line 1: Line 1:
CSpect V2.12.20
+
CSpect V2.12.22
 
* sprites: the collision bit is not implemented (intentionally for emulator performance reasons)
 
* 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 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)
* copper write-index is not readable (NextReg $61, $62) (to be fixed in V2.12.21+)
+
* some NextRegs read as zero until they are written into first (quick-boot mode without full NextZXOS image) (for example regs $03, $08, $12, $13, $14, $42, $4B, $4C)
* some NextRegs are not readable until they are written into first (quick-boot mode without full NextZXOS image)
+
* NextRegs $1C, $34, $41 reads wrong values (this is not complete list, there may be more)
* <del>trying to read some of them can crash the emulator</del> - tracked down to be nextreg $FF write in V2.12.20, which is not an issue for real Next SW and will get fixed in next CSpect version
+
* NextRegs $6E and $6F don't read the top two bits as zeroes, but return the written value
 
* DMA: Zilog mode is not implemented (port 0x0B), reading DMA registers is not supported, burst mode has incorrect speed
 
* DMA: Zilog mode is not implemented (port 0x0B), reading DMA registers is not supported, burst mode has incorrect speed
 
* Layer2 mode 640x256x4bpp is not implemented
 
* Layer2 mode 640x256x4bpp is not implemented
Line 13: Line 13:
 
* sprites rendering is unlimited (real HW drops further sprites after exhausting allocated pixel throughput for current line) (reported by David B.)
 
* sprites rendering is unlimited (real HW drops further sprites after exhausting allocated pixel throughput for current line) (reported by David B.)
 
* border color and Enhanced ULA on/off states sometimes produce incorrect results, sometimes the bottom area of border has different color
 
* border color and Enhanced ULA on/off states sometimes produce incorrect results, sometimes the bottom area of border has different color
* blue color going through certain parts of rendering pipeline will get a notch brighter (seems to be opposite, notch darker, the transparency fallback color in $4A register seems to be not extended to 9b properly but using always 0 for ninth bit, although needs more thorough investigation)
 
 
* 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 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, V1.3 is only partially supported (but V2.12.9 does load more files than V2.12.5)
 
* direct loading of NEX files does not support all combinations of loading-screen type and palette on/off, V1.3 is only partially supported (but V2.12.9 does load more files than V2.12.5)

Revision as of 19:21, 20 April 2020

CSpect V2.12.22

  • 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)
  • some NextRegs read as zero until they are written into first (quick-boot mode without full NextZXOS image) (for example regs $03, $08, $12, $13, $14, $42, $4B, $4C)
  • NextRegs $1C, $34, $41 reads wrong values (this is not complete list, there may be more)
  • NextRegs $6E and $6F don't read the top two bits as zeroes, but return the written value
  • DMA: Zilog mode is not implemented (port 0x0B), reading DMA registers is not supported, burst mode has incorrect speed
  • Layer2 mode 640x256x4bpp is not implemented
  • 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
  • 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
  • sprites rendering is unlimited (real HW drops further sprites after exhausting allocated pixel throughput for current line) (reported by David B.)
  • border color and Enhanced ULA on/off states sometimes produce incorrect results, sometimes the bottom area of border has different color
  • 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, V1.3 is only partially supported (but V2.12.9 does load more files than V2.12.5)
  • 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.17 (but known bugs of V2.12.5):

  • screen saver of NextZXOS will "crash" the emulated machine (not emulator itself)
  • blending modes: the new core3.1.3 blending (with extra ULA slice) is not supported
  • sprites: the default clipping is wrong (rather set clip window explicitly)