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

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


Anonymous said...

Awesome, given me the urge to get back into development after a bit of a break.

I can see that you can save banks of memory, but if possible to ask for a feature, could we have a system snapshot key, e.g. total save state and ability to reload. I think for testing some of my code, being able to wind back beyond the current step backwards limits would be really nice, e.g. snapshot a bit of code, run it to see if it works, and if it doesn't load the snapshot so I can step through it again (or even do it the following day).

secmast said...

I've got a warning from my antivirus software that Gen:Variant.Lazy.141472 is in the file.

Intrepidis said...

@secmast - Yeah, I've always get some false virus warnings with CSpect. I just add CSpect's folder to my antivirus' whitelist/ignore list.

@Mike - In the "ReadMe.txt" you've put "-nodelay = Do now wait for NEX file delay"... but I think you meant "... = Do not wait...", right?

Unknown said...

Why always when I start CSPect, even older version, without doing ANYTHING, my CPU goes to at least 50%. What will happen when I start playing something, will my CPU die?

Intrepidis said...

@Unknown - It's because CSpect is always emulating all parts of the ZX Spectrum system (Z80 CPU, ULA graphics, memory, etc) and it does that constantly regardless of what software is running. So when you start playing something, CSpect wouldn't even know... it just keeps doing the same thing. So it should probably always stay at 50% for you, no matter what the Spectrum is actually doing.

Unknown said...

Thank you very, very much. I just saw that CPU is always at about 50% with or without doing anything in CSpect. With this explanation, everything makes sense.

ZXSpectrum+ said...

I too have the warning that Gen:Variant.Lazy.141472 is in the file. I have pause my security software and allows it to download to a folder where exception is allowed. After i extracted the files to the destination folder, my security software quarantined the file "snasm.exe" where this virus is detected. Perhaps the author can look into this? I am going to use sjasmplus assembler anyway (the specnext site mentioned that snasm can't compile to nex file anyway and recommended sjasmplus assembler).

Intrepidis said...

To Mike Dailly - I think you can submit your exe to McAfee, etc, and they will add it to their heuristics.