Difference between revisions of "ZEsarUX:known bugs"

From SpecNext official Wiki
Jump to: navigation, search
(refresh with official 9.1 version)
(V10.0-RC 2021-09-11 refresh)
Line 1: Line 1:
 
You may want also to check the official [https://raw.githubusercontent.com/chernandezba/zesarux/master/src/FAQ ZEsarUX FAQ] to see if you have a known issue which has solution (ZX Next is "TBBlue" type of machine).
 
You may want also to check the official [https://raw.githubusercontent.com/chernandezba/zesarux/master/src/FAQ ZEsarUX FAQ] to see if you have a known issue which has solution (ZX Next is "TBBlue" type of machine).
  
Github "master" branch at 2020-11-26 23:00CEST (commit e8346c7601bd92, version 9.1 final):
+
Github "master" branch at 2021-09-11 19:00CEST (commit ad944b0702030d, version 10.0-RC):
* both 4B/5B sprite types are now implemented, but only partially with lot of bugs and incorrect on-screen results
+
* missing Nextreg $64 "video line offset" (core 3.1.5)
* 4bpp sprites are somewhat supported (wrong transparency, wrong relative sprites, etc.. but the most trivial cases somewhat resemble what is drawn on real Next)
+
* blending modes are not implemented
 +
* Layer 2 does not support "priority" bit in L2 colors
 +
* DMA: too many differences to list, but most crucial: slow "burst" functionality is missing, CONTINUE is not supported, legacy Z80 mode is not implemented, all transfers are "instant"
 +
* ULA scroll doesn't scroll per pixel on X-axis, but per 8px (char)
 +
* ULA scroll clipping on Y-axis is not working correctly
 +
* sprite rendering-priority (b6 in NextReg $15) is not implemented
 +
* relative sprites don't wrap correctly around 512x512 coordinate space in extreme cases (8x scale and some positions)
 
* sprites rendering is not one-scanline-buffer delayed and all changes in sprites affect current scanline
 
* sprites rendering is not one-scanline-buffer delayed and all changes in sprites affect current scanline
* Layer 2 displays shadow variant (NextReg $13) when the "shadow" mapping is enabled
 
* Layer 2 extra memory mapping controlled by {{PortNo|$123B}} works only in core2.x way.
 
* Layer 2 does not support "priority" bit in L2 colors
 
 
* NextRegs $09 reads wrong values
 
* NextRegs $09 reads wrong values
* missing Nextreg $64 "video line offset" (core 3.1.5)
 
 
* tilemode gfx/map address read (NextReg $6E + $6F) does return original value without top bits reset to zero
 
* tilemode gfx/map address read (NextReg $6E + $6F) does return original value without top bits reset to zero
* DMA: too many differences to list, but most crucial: slow "burst" functionality is missing, CONTINUE is not supported, legacy Z80 mode is not implemented, all transfers are "instant"
 
* blending modes are not implemented
 
* ULA scroll is not at new NextReg $26, $27 (but still shared with LoRes offset registers)
 
* ULA+tilemode does not support stencil mode
 
 
* audio has "clicks" and noise on many platforms, although YMMV
 
* audio has "clicks" and noise on many platforms, although YMMV
 +
* ULA+tilemode does not support stencil mode, and transparency fallback color is not used in some edge cases (disabled ULA + clipped tiles)
 
* tilemode doesn't wrap in memory the same way as HW (when gfx/map address is toward end of Bank 5)
 
* tilemode doesn't wrap in memory the same way as HW (when gfx/map address is toward end of Bank 5)
 
* direct loading of NEX file doesn't init the machine in the same way as NEXLOAD from NextZXOS (it's close, but few things are different)
 
* direct loading of NEX file doesn't init the machine in the same way as NEXLOAD from NextZXOS (it's close, but few things are different)
 
* 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)
 
* 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)
 
* when running without the full NextZXOS card image, the esxdos services are provided by the emulator itself, which does not implement all of them, and they don't always return the state described by the NextZXOS documentation
 
* when running without the full NextZXOS card image, the esxdos services are provided by the emulator itself, which does not implement all of them, and they don't always return the state described by the NextZXOS documentation
* missing all(?) features/changes of cores after version 3.1.5 (the emulator itself reports as core 3.1.9, but I haven't find any functionality related to the changes in real cores)
+
* missing all(?) features/changes of cores after version 3.1.5 (the emulator itself reports as core 3.1.11, but I haven't find any functionality related to the changes in real cores)
 +
* FIXED <del>ULA scroll is not at new NextReg $26, $27 (but still shared with LoRes offset registers)</del>
 +
* FIXED <del>both 4B/5B sprite types are now implemented, but only partially with lot of bugs and incorrect on-screen results</del>
 +
* FIXED <del>4bpp sprites are somewhat supported (wrong transparency, wrong relative sprites, etc.. but the most trivial cases somewhat resemble what is drawn on real Next)</del>
 +
* FIXED <del>Layer 2 displays shadow variant (NextReg $13) when the "shadow" mapping is enabled</del>
 +
* FIXED <del>Layer 2 extra memory mapping controlled by {{PortNo|$123B}} works only in core2.x way.</del>
  
 
Other Issues (not a bug):
 
Other Issues (not a bug):
 
* 28MHz mode requires quite powerful PC to emulate it smoothly, "lagging" emulator menu/etc is likely to happen in 28MHz mode and unfit for many development purposes.
 
* 28MHz mode requires quite powerful PC to emulate it smoothly, "lagging" emulator menu/etc is likely to happen in 28MHz mode and unfit for many development purposes.
 
* don't use "--enable-esxdos-handler" option together with running NextZXOS from full MMC card image - it will clash with the MMC functionality
 
* don't use "--enable-esxdos-handler" option together with running NextZXOS from full MMC card image - it will clash with the MMC functionality

Revision as of 18:07, 11 September 2021

You may want also to check the official ZEsarUX FAQ to see if you have a known issue which has solution (ZX Next is "TBBlue" type of machine).

Github "master" branch at 2021-09-11 19:00CEST (commit ad944b0702030d, version 10.0-RC):

  • missing Nextreg $64 "video line offset" (core 3.1.5)
  • blending modes are not implemented
  • Layer 2 does not support "priority" bit in L2 colors
  • DMA: too many differences to list, but most crucial: slow "burst" functionality is missing, CONTINUE is not supported, legacy Z80 mode is not implemented, all transfers are "instant"
  • ULA scroll doesn't scroll per pixel on X-axis, but per 8px (char)
  • ULA scroll clipping on Y-axis is not working correctly
  • sprite rendering-priority (b6 in NextReg $15) is not implemented
  • relative sprites don't wrap correctly around 512x512 coordinate space in extreme cases (8x scale and some positions)
  • sprites rendering is not one-scanline-buffer delayed and all changes in sprites affect current scanline
  • NextRegs $09 reads wrong values
  • tilemode gfx/map address read (NextReg $6E + $6F) does return original value without top bits reset to zero
  • audio has "clicks" and noise on many platforms, although YMMV
  • ULA+tilemode does not support stencil mode, and transparency fallback color is not used in some edge cases (disabled ULA + clipped tiles)
  • tilemode doesn't wrap in memory the same way as HW (when gfx/map address is toward end of Bank 5)
  • direct loading of NEX file doesn't init the machine in the same way as NEXLOAD from NextZXOS (it's close, but few things are different)
  • 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)
  • when running without the full NextZXOS card image, the esxdos services are provided by the emulator itself, which does not implement all of them, and they don't always return the state described by the NextZXOS documentation
  • missing all(?) features/changes of cores after version 3.1.5 (the emulator itself reports as core 3.1.11, but I haven't find any functionality related to the changes in real cores)
  • FIXED ULA scroll is not at new NextReg $26, $27 (but still shared with LoRes offset registers)
  • FIXED both 4B/5B sprite types are now implemented, but only partially with lot of bugs and incorrect on-screen results
  • FIXED 4bpp sprites are somewhat supported (wrong transparency, wrong relative sprites, etc.. but the most trivial cases somewhat resemble what is drawn on real Next)
  • FIXED Layer 2 displays shadow variant (NextReg $13) when the "shadow" mapping is enabled
  • FIXED Layer 2 extra memory mapping controlled by Layer 2 Access Port ($123B / 4667) works only in core2.x way.

Other Issues (not a bug):

  • 28MHz mode requires quite powerful PC to emulate it smoothly, "lagging" emulator menu/etc is likely to happen in 28MHz mode and unfit for many development purposes.
  • don't use "--enable-esxdos-handler" option together with running NextZXOS from full MMC card image - it will clash with the MMC functionality