Thursday, December 29, 2022

#CSpect 2.17.1

#CSpect V2.17.1 changes

Minor update, fixing a profiler crash, and adding a new plugin to do file associations.
  • Fixed a crash in the profiler
  • Added a new extension to associate .NEX and .SNX files with the emulator using ALT+CTRL+SHIFT+A

If you want to support my work...
Become a Patreon at:
Or buy me a Ko-fi:
Main Website:

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

If you want to support my work...
Become a Patreon at:
Or buy me a Ko-fi:
Main Website:

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.

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

Monday, May 23, 2022

#CSpect 2.16.4

#CSpect V2.16.4 changes

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 centered on screen (or 0,0 if screen isn't big enough)

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

Sunday, April 24, 2022

#CSpect 2.16.2

#CSpect V2.16.2 changes

Minor update for SNASM V3.1.1 - I didn't realise it was so out of date.
  • Fixed bug where it didn’t report undefined symbols
  • Added SNA export back in (48k and 128k)
  • Fixed a bug with Macro usage in the first ASM file
  • Fixed 6502 assembling – and PRG export
  • Added “SET” back in for 6502 (can also use DEF)
  • Put in an error when defining a label called “Filesize”
  • Added 45GS02 CPU core for mega65 (opt 45gs02)
  • Added “ADCQ”, “ANDQ”, “ASLQ”.
  • Added CLD after all 32Bit instructions as “work around” for HW bug
  • Fixed “INC A” and “DEC A” instructions
  • Fixed a crash trying to read a file from a non-existant directory

#CSpect V2.16.0 changes

Lots of fixes and a few new additions. Improved the new divMMC autopaging 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

Tuesday, March 29, 2022

#CSpect V2.15.2

#CSpect V2.15.2 changes

Updated so that the very latest OS 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 haved 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