New (latest) Version of #CSpect: SpecNext Emulator for Windows, Linux and OSX by Mike Dailly

edited March 2022 in Emulators
New latest Version of #CSpect: SpecNext Emulator for Windows, Linux and OSX by Mike Dailly V2.15.2

As seen on Facebook yesterday:
Mike Dailly:

#CSpect V2.15.2

https://dailly.blogspot.com/2022/03/cspect-v2152.html

Updated so that the very latest NextZXOS now works by adding new Next Registers $B8-$BB, along with a few updates, changes and fixes.
Also please note, if you take over the "whole" machine to have a full RAM machine, you will now need to set registers $B8-$BB to be able to jump to address $0000, or the DivMMC may well page in.

DeZogPlugin added to main distro so it remains upto date.
Added stackless NMI support
Reset register $02 added
Added NextRegs $B8 to $BB for DivMMC direct paging control
Current ROM and DivMMC registers added to rewind history
F6 now cycles through turbo speed settings
F5 Now takes a screen shot (was on CTRL+F3)
Fixed a rendering glitch when estimates for the right HBlank timing are "missed" and the line isn't drawn.
-log_cpu removed. Rewind probably replaces the need for this.
Updated RST$08 read/write to return values in BC,HL and DE as described in NextZXOS
Layer 2 banks can now be in the full 2Mb (regs $12 and $13)
Parallax demo updated to work with new $B8-$BA registers

Will try and adapt HDFmaker https://worldofspectrum.org/forums/discussion/57125/hdfmaker-a-gui-to-click-together-next-and-esxdos-memorycard-images-and-content soon
Post edited by Luzie on
Thanked by 1dbolli

Comments

  • Starting OK with actual Next Master Distribution dated 2022-03-30 (Download from: https://gitlab.com/thesmog358/tbblue/-/tree/master) as recommended on: https://forum.tlienhard.com/phpBB3/viewtopic.php?t=4031

    file.php?id=13635
    Thanked by 1dbolli
  • As seen today in SpecNext Facebook-Group:
    Mike Dailly
    New version of #CSpect - V2.16.0

    https://dailly.blogspot.com/2022/04/cspect-2160.html

    Lots of fixes and a few new additions. Improved the new divMMC auto-paging for directly loaded NEX files. Added the -mouse option to try and help MAC users a little, and also fixed up the copper when large DMA blocks were running. A nice new feature is being able to visualise both copper and Raster IRQ splits using CTRL+ALT+S (via the copper plugin). Even for non-devs, this is a funky little tool to show just how complex things can get!

    Added directory functions to RST$08 plugin
    Fixed screen rendering time a little.
    on .NEX load, regs $B8-$BB are set to $82,$00,$00,$F0 - same as the OS.
    Added reg $0A = bit 2, to be able to disable DivMMC auto mapping
    Fixed crash when typing "BR :" in debugger
    Added a "-mouse" command line option. This will disable the "grabbing" of the mouse.
    When specifying an SD card image, you no longer have to specify -zxnext and -nextrom on the command line as well
    Fixed Copper when the DMA is running and blocking CPU, now counts DMA "TStates" instead of CPU ones
    .NEX files will automatically disable DivMMC PC address memory mapping
    Added -divmap command line, so you can force memory mapping of the DIVMMC "on" when directly loading a .NEX file
    Fixed a raster interrupt issue
    Added -copwait command line so you can easily visualise where the copper splits are
    Added -irqwait command line so you can easily visualise where the raster irq splits are
    You can now toggle the copper and irq visualiser with CTRL+ALT+S via the copper disassembler plugin
    You can now "set" command line globals via the Plugin interface
  • Just tried it for the 1st time, it's not very good...
    I wanna tell you a story 'bout a woman I know...
  • http://dailly.blogspot.com/2022/05/cspect-2163.html:
    Friday, May 20, 2022
    #CSpect 2.16.3

    SNASM V3.1.1

    Fixed bug where LD A,(IX-??) wasn't recognised

    #CSpect V2.16.3 changes

    Mainly some CTC timer fixes, and fixing the disassembler to display LD ?,(IX/IY-??).

    Fixed CTC timers, should now be correct
    CTC cascading timers added (I think)
    Fixed disassembler, "LD A,(IX-??)" should now be displayed correctly
    Interrupts are now disabled im start of IM2

    Download: #CSpect V2.16.3 Emulator: http://www.javalemmings.com/public/zxnext/CSpect2_16_3.zip

  • From SpecNext-FB-Group:
    Mike Dailly:
    https://dailly.blogspot.com/2022/05/cspect-2164.html

    Another day, another version....

    Will now finally tell the user to install OpenAL, and I've fixed some 4bit relative image stuff.

    Now correctly detects that OpenAL is not installed, and will message the user and disable audio
    Added "IR" register to disassembly window
    Fixed some 4bit relative sprite shape stuff
    F5 will now screen shot whatever is on screen. The Spectrum screen (pre-shader), or the debugger
    Window should now start centred on screen (or 0,0 if screen isn't big enough)
  • http://dailly.blogspot.com/2022/05/cspect-v2165.html
    Tuesday, May 24, 2022
    #CSpect V2.16.5

    #CSpect V2.16.4 changes

    Very quick version to allow people to load older SD card versions, and older version of the ROM.

    Now detects older Next ROM image files and will auto-disable the divMMC auto mapping so they still work

    Download: #CSpect V2.16.5 Emulator: http://www.javalemmings.com/public/zxnext/CSpect2_16_5.zip


  • http://dailly.blogspot.com/2022/10/cspect-2166.html?m=1
    Sunday, October 23, 2022
    #CSpect 2.16.6

    #CSpect V2.16.6 changes

    This version has been sitting on my machine for a while, so decided to fix a couple more things and chuck it out.

    Regs $6e and $6f set to newer defaults, reading should also be fixed.
    F_SEEK in esxDOS emulation now takes IXL (instead of L) for the offset type.
    Hires tile maps now scroll properly - and at the right speed
    640 L2 mode now clips in the lower screen properly.
    Command line will now try and detect what your doing, so passing in
    an SD card image will setup the proper options, same for NEX files etc.
    "CSPect.exe card.img" or "CSpect.exe game.nex" is now valid
    Plugin "CSpect.Debugger(eDebugCommand.Enter)" now triggers on the next instruction, not a frame later.
    NextRegister 2 - hard reset, should now work.
    F3 now does a full hard reset, so should be far more dependable.

    Download: #CSpect V2.16.6 Emulator: http://www.javalemmings.com/public/zxnext/CSpect2_16_6.zip
  • http://dailly.blogspot.com/2022/12/cspect-v2170.html
    Thursday, December 22, 2022
    #CSpect V2.17.0

    #CSpect V2.17.0 changes

    This version has been sitting on my machine for a while, so decided to fix a couple more things and chuck it out.

    Fixed auto-mapping when RAM paged in over the ROM
    IM1 now has IRQs disabled on triggering
    Added Timex Hires and Timex Hi colour, smooth scrolling
    Fixed Timex Hires border colour (I think)
    Added DMA ports $0B and $6B
    Contended memory no longer affects 7,14 and 28Mhz modes
    Fixed a bug where all NEXT register stores (for reading back) were being zero'd on direct load of a NEX/SNA/SNX file
    CTC timers should now always run at 28Mhz regardless of CPU speed.
    SD card detection no longer crashes when it can't read partitions from a NEX/SNA/SNX file...
    Fixed using F3 on older card images (2.06 and below)
    New NextRegister Viewer window, activated by pressing CTRL+ALT+R
    New Plugin command added "DissasembleMemory()" - see iPlugin.cs for details
    Instruction TStates added to debugger view
    New Profiler added, activated by pressing CTRL+ALT+P
    Fixed up some TStates for Next instruction in the debugger

    Download: #CSpect V2.17.0 Emulator : http://www.javalemmings.com/public/zxnext/CSpect2_17_0.zip
  • https://dailly.blogspot.com/2022/12/cspect-2171.html
    Mike Dailly:
    Minor update, fixing a profiler crash, and adding a new plugin to do file associations (windows only). This means once activated, you can now double click a .NEX or .SNX file and have it run no matter where the files are.

    Fixed a crash in the profiler
    Added a new extension to associate .NEX and .SNX files with the emulator using ALT+CTRL+SHIFT+A

    Download: #CSpect V2.17.1 Emulator: http://www.javalemmings.com/public/zxnext/CSpect2_17_1.zip
  • edited January 2023
    Youtube: "#CSpect V2.17.2 - Mode 6 blending and tile/sprite ordering": https://youtu.be/EVi1zR-oIEw
    #CSpect V2.17.2 - Mode 6 blending and tile/sprite ordering
    Mike Dailly
    02.01.2023
    Quick demo showing 3 of the new blending methods in mode 6 working - that being...

    (U|T) S (T|U) (B+L)

    Where B = ULA, Tile, Tile+ULA, None

    There are some really wacky tile/sprite ordering things going on here that's been a bugger to get going, but we're almost there.

    Youtube: "#CSpect V2.17.2 - Mode 6 blending completed": https://youtu.be/sMUFWPwa0Fw
    #CSpect V2.17.2 - Mode 6 blending completed
    Mike Dailly
    02.01.2023
    The last weirdness reproduced.... Bit of a ball ache, but I knew it would be.
    Not as slow as I thought it'd be - though it's far from fast! :)

    https://dailly.blogspot.com/2023/01/cspect-2180.html
    Monday, January 02, 2023
    #CSpect 2.18.0

    #CSpect V2.18.0 changes

    Major update as we now support Mode 6 and Mode 7, complete with the fancy blending they can do, and all the tile to sprite weirdness.

    Mode 6 and 7 added in all it's ULA/Tile ordering weirdness. "(U|T) S (T|U) L" ordering
    Mode 6 blending added (B+L)
    Mode 7 blending added (B+L-5)
    multiface is now paged out on RETN
    Fixed a couple of RETN's that were marked as RETI's
    Added the Mode 6 and 7 blend mode (and fiddling) test/demo + source

    Download: #CSpect V2.18.0 Emulator: http://www.javalemmings.com/public/zxnext/CSpect2_18_0.zip
    Post edited by Luzie on
  • Youtube "#CSpect V2.19.0.0 - sprite weirdness emulated": https://www.youtube.com/watch?v=55x8umv1hiA
    Mike Dailly

    Last weird bit of sprite/tile interactions added... If you watch the sprites, when tiles are being blended but "above" the tiles, they cut shapes from the sprites - IF there is a ULA pixel above it. When the ULA moves out the way, the sprites are no longer affected.

    Weird...

    Donwload: www.javalemmings.com/public/zxnext/CSpect2_19_0.zip
  • edited January 2023
    Luzie wrote: »
    Seems Download was removed in the meantime. So we have to wait for a newer version :-)
    Post edited by Luzie on
  • New version as seen on: https://www.speccy.cz/#newest/all

    From: http://dailly.blogspot.com/2023/01/cspect-21903.html
    Wednesday, January 18, 2023
    #CSpect 2.19.0.3

    #CSpect V2.19.0.3 changes

    Massive update, with virtually all rendering components touched to properly allow for blending modes. While there has been a concerted effort to beta test this, please report any rendering oddities that you see on the Spectrum Next discord channel.
    Also in this version, is a major update to audio/video syncing, producing far smoother and more playable results. The recommended command line for gamers will now be "-60 -vsync [game]". This should give full audio, and nice smooth gameplay.
    General timing has also been improved, so without audio running at 60hz and vsync in fullscreen, everything should "glide" nicely again - as it used to in the C++ version.

    Plugin authors be aware of a change to the Plugin system. Due to the new Audio/Visual syncing system, the emulator "could" now be running on a different thread, and as such, you can no longer do GUI/OS work from callbacks. ALL UI/OS work must now be managed via the new OSTick() callback. Like the Tick() callback, but this is always called from the OS thread, allowing you to open windows, and refresh/draw them. Please see updated plugins on my github for further example code.

    Hope you all enjoy this one, it's been some time in the making - thanks to all who helped beta test it.


    V2.19.0.3

    Fixed Timex Hires non-ULANext ink/paper orders
    Fixed Timex Hires ULANext ink/paper orders
    Added wildcard support in F_OPENDIR ($a3)
    Added better exception reporting to the LOG for loading plugins
    Fixed DeZog plugin building - DLL has been properly updated with new Plugin interface


    V2.19.0.2

    Fixed up keyboard cross threading issues
    Fixed up File open cross threading issue
    Added a new OSTick() call to plugins to allow UI/OS function calls - please note the changes in plugins to avoid crashes
    Fixed Timex hires with ULA Next ink/paper shift mode
    Added a "Standard Plugin Keys" section to the readme.txt file


    V2.19.0.1

    Fixed 2 profiler crashes, when clicking on the profile window in different states
    Fixed ULA last line drawing
    Fixed sprite in border bugs with new screen rendering
    Fixed L2 640x256 and 320x256 clipping
    Fixed Timex border colour issues
    New Audio/Video syncing system
    Fixed 320x256 window


    V2.19.0.0

    Fixed a crash in Mode 6 and 7 when the tile window was larger than the screen
    Fixed blending of tiles to border when in Mode 6 and 7
    Fixed border when in Mode 6 and 7 when ULA is being used in blending
    Fixed an esxDOS emulator issue, when a game requests too many bytes than is left in the file, and it fills the extra space with 0s resulting in game crashes
    Timing fixed. 50hz and 60hz were both running slowly/weirdly both with and without sound. Should now be correct.
    -60 and -VSYNC should now be perfectly smooth again
    -fps added to show FPS on title bar
    -freerun disable all timers and run as fast as we can (must use -sound as well)
    ULA Y scrcolling fixed to use Yscroll value MOD 192 (instead of anything over 192 being 0)
    ULA+TILE Stencil mode added. Stencil will use any ULA mode (normal, timex, lowres)
    Mode6/7 blending can now be used with stencil mode (where ever the hardware allowed it)

    Download: #CSpect V2.19.0.3 Emulator: http://www.javalemmings.com/public/zxnext/CSpect2_19_0_3.zip


    Thanked by 1Alessandro Grussu
  • btw.: RTC-PlugIn updated too for the latest #Cspect v2.19.x : https://github.com/Threetwosevensixseven/CSpectPlugins/wiki/RTCSys
  • Mike Dailly

    https://dailly.blogspot.com/2023/01/cspect-21910.html

    #CSpect V2.19.1.0 released.

    Minor update, fixing some issues with the large rendering change, and adding super useful debugger command macros.

    Rewrote command line processor
    Added debugger macros to the command line '+def[0-9]"g $8000". use ";" for multiple commands: '+def[0-9]"g $8000;m$4000". ALT+[0-9] to play macro.
    Fixed a crash when L2 left clip was > L2 right clip
    L2 no longer renders with top clip was > L2 bottom clip
    Fixed a bug in the ULA rendering where the border colour was being set to the fallback colour, and not the border colour (which matches global transparancy).
    Updated TileTest screen mode test app
    OpenTK upgraded to v3.3.3

    Download: http://www.javalemmings.com/public/zxnext/CSpect2_19_1_0.zip

    Thanked by 1Alessandro Grussu
  • From: https://dailly.blogspot.com/2023/03/cspect-21920.html
    Thursday, March 02, 2023
    #CSpect 2.19.2.0

    #CSpect V2.19.2.0 changes

    Minor update, fixing some issues with the large rendering change, and adding super useful debugger command macros.

    Added new debugger command "LOAD <filename>,<address>[,length]" where address can also be ""<bank>:<offset>""
    Copper writes fixed up, wasn't executing all CPU TStates, so going slower than it should have been.
    Updated screen drawing to be later in the line, to account for left border better.
    Added a little Time base correction when audio/video buffers overflow instead of just throwing the spare frames away.
    AY chips now respect the ABC,ACB and mono selection for each chip.
    Added 2 new iCSpect.GetGlobal() calls; ""eGlobal.low_rom"" and ""eGlobal.high_rom"" to return the ROM/RAM at the low/high position
    Added LoadFile() to iCSpect to load a file from SD card or relative file mmc path.

    Download: #CSpect V2.19.2.0 Emulator: http://www.javalemmings.com/public/zxnext/CSpect2_19_2_0.zip
  • https://dailly.blogspot.com/2023/03/cspect-v21921.html
    Sunday, March 05, 2023
    #CSpect V2.19.2.1

    #CSpect V2.19.2.1 changes

    Minor fix for the debugger screen, and a couple of quick additions.

    Fixed the debugger screen so it's no longer transparent
    .NEX file start delay added to loading of NEX files
    -nodelay added to skip a .NEX file start delay
    -rot90 Rotate the display 90 degrees
    -rot180 Rotate the display 180 degrees
    -rot270 Rotate the display 270 degrees
    Command line processing cleaned up a bit
    cspec_win.dat file format changed. Now includes a version [0], and screen rotation [1]

    Download: #CSpect V2.19.2.1 Emulator: http://www.javalemmings.com/public/zxnext/CSpect2_19_2_1.zip
    Thanked by 1Alessandro Grussu
  • From: https://dailly.blogspot.com/2023/05/cspect-v21930.html
    Sunday, May 14, 2023
    #CSpect V2.19.3.0

    #CSpect V2.19.3.0 changes

    Some debugger and Layer 2 fixes, and fixing the streaming API in the esxDOS emulation system.

    Extended the debugger's "Display" view to show the whole screen
    You will now be prompted to install OpenAL if it can't be found (on windows)
    Fixed Layer 2 pixels in the border area
    Fixed the esxDOS emulation streaming, allowing Pogie to run with audio from the command line again
    Added "INPORT <16bitport>" and "OUTPORT <16bitport>" breakpoints in the debugger, allowing a break on a read/write to a port
    Added a new "TONE" command to the debugger. This switches on a single tone to the audio buffer to test if there are system playback issues

    Download: #CSpect V2.19.3.0 Emulator : http://www.javalemmings.com/public/zxnext/CSpect2_19_3_0.zip
  • Von: https://dailly.blogspot.com/2023/06/cspect-v21943.html
    Friday, June 09, 2023
    #CSpect V2.19.4.3

    #CSpect V2.19.4.3 changes

    Fixing up some audio issues, and a crash.

    Reverted the ZIP file detection to fix SDCard access.
    Updated some demos to fix keyboard reading equates

    Download: #CSpect V2.19.4.3 Emulator: https://www.dropbox.com/s/6hcl37zyqqars4q/CSpect2_19_4_3.zip?dl=1
  • From: https://dailly.blogspot.com/2023/07/cspect-v21944.html
    Saturday, July 22, 2023
    #CSpect V2.19.4.4

    SNasm V3.2.1.0 changes

    Some updates and fixes to both CSpect and SNasm

    Equates can no longer start with a local label symbol
    Locals are no longer reset by Equates/Sets/Rb/Macro etc.
    Fixed LDDRX instruction byte codes
    Proper Version added to assembly EXE
    Change internal LEX processing and state saving/stacking

    #CSpect V2.19.4.4 changes

    Some updates and fixes to both CSpect and SNasm

    OUT ($ff),$40 will not disable ULA Vblanks, while OUT ($ff),$00 will now enable them (see NextReg $22)
    New debugger command "NEXTBRK" will stop in the debugger after a Next instruction has been executed

    Download: #CSpect V2.19.4.4 Emulator: https://www.dropbox.com/s/vbi5joh78zvwa90/CSpect2_19_4_4.zip?dl=1
  • edited December 2023
    From: https://spectrumcomputing.co.uk/forums/viewtopic.php?p=131324:
    #CSpect V2.19.5.0 Released

    https://dailly.blogspot.com/2023/12/cspect-v21950.html

    Lots of fixes to #CSpect this time.
    Fixed Layer 2, 320x256 right clipping
    Fixed a sprite clip bug that was causing a hard crash
    Optimised sprite rendering a little
    Adding better streaming support through esxDOS
    Adding in better config mode support
    Copper can now generate IRQs properly
    Fixed stackless NMIs
    Fixed some DIVMMC RAM/ROM stuff
    Fixed some DIVMMC address paging
    Fixed a debugger memory window crash
    First pass at a sprite viewer
    Fixed "EQUs" being used as debugger address symbols
    Added NextReg $B2 for extended MD Pad buttons
    Fixed DMA continuous mode when also in Prescaler mode - though, please don't do this! :D Note: This is a total fudge, it may break.
    Fixed DMA status register. DMA End flag, and 1 byte transferred flag now works.
    Post edited by Luzie on
Sign In or Register to comment.