Friday, June 14, 2019

#CSpect 2.8.2

Minor update to fix some issues to 2.8.1

#CSpect V2.8.1 changes
  • Right shift now works the same as left shift in BASIC key mode
  • Left ALT now releases the mouse, Left and Right Control are now both SymbShift
  • In BASIC key mode if you also disable escape (-esc), escape will bring up the menu allowing you to quit BASIC/re-number etc.
  • Fixed a SD card write, now flushes each sector as it writes so that card is always in a complete state

Reminder that you can now download pre-created SD cards, along with blank ones (which you can now attach to the second card port via

Thursday, June 13, 2019

#CSpect 2.8.1

This version has a special ZXBASIC keyboard mode, mapping your PC keyboard to the Next. This should make writing programs in BASIC much simpler - and more enjoyable. You can either enable this via the command line "-basickeys" or by pressing F10 to toggle that mode. This mode will press multiple keys so it's important to remember when playing a game that the control keys won't just map 5,6,7 and 8 but also SHIFT, so you may need to toggle back and forth.

#CSpect V2.8.1 changes
  • Fixed a crash in SD Card writing.
  • Added -sd2= for attaching a second SD card
  • Added a special ZXBASIC keyboard mode, meaning it'll auto map keys to the spectrum version. (" will map to SYM+P for example)
  • Added PageUp, PageDown, Home & End to ZXBASIC keyboard mode.
  • F10 will toggle between game and ZXBASIC keyboard mode
  • Fixed a bug when setting the sprite index via NextReg and top bit was set, the shap wasn't being offset by $80
  • Added OpenAL install check for windows, if not found sound is disabled. use -sound to bypass check/error dialog

Reminder that you can now download pre-created SD cards, along with blank ones (which you can now attach to the second card port via

Monday, May 27, 2019

#CSpect V2.8.0

EDIT: You can now download pre-created SD Card images

This version has the new ZX Spectrum ROM support, along with the SD Card image emulator. This allows you run the full ZX Spectrum Next ROM and all it's OS features. This allows you to write BASIC programs, DOT commands or just browse the SD card using the built in menus.
There are also a couple of bug fixes, and a couple of new SNasm commands added.

SNasm V2.0.17
  • Fixed “PUSH $1234” opcode (push order wrong)
  • Added “Bank” and “BankOffset” commands to get the physical address of a label.

#CSpect V2.8.0 changes
  • Fixed -esc command line, hadn't been ported from 1.x version
  • Swapped Right Shift for SYMSHIFT to Right Control. Both shifts map to CAPS SHIFT. "," still works as SYMSHIFT
  • Fixed PUSH XXXX opcode in debugger. Was displaying low/high. Now fixed to display high/low.
  • Added "-log_cpu" for tracing the CPU instruction stream
  • Added back in Label "switch" to debugger
  • Missing "LDWS" opcode added to disassembler
  • Fixed bug in ULA off mode where the border was still being drawn
  • Fixed bug in 512 tile mode, where it was always above the ULA screen
  • Added +3 ROM emulation (without RAM only mode)
  • Added divMMC ROM/RAM hardware support via port $E3
  • Added divMMC SD card support via ports $E7 and $EB
  • SD Card SPI commands supported:CMD0,CMD1,CMD8,CMD9,CMD12,CMD13,CMD16,CMD17,CMD24,CMD55,CMD58,ACMD41

SDCARD setup

  • Download the latest SD card from
  • Copy onto an SD card (preferably between 2GB and 16GB as it's your Next HD for all your work - I use a 16GB image)
  • Copy the files "enNextZX.rom" and "enNxtmmc.rom" from this SD Card into the root of the CSpect folder
  • Download Win32DiskImager ( )
  • make an image of the SD card
  • start CSpect with the command line...

    "CSpect.exe -w3 -zxnext -nextrom -mmc=[sd_card_path]\sdcard.img"

I'd also recommend downloading HDFMonkey, which lets you copy files to/from the SD image.
This tool can be used while CSpect is running, meaning you can just reset and remount the image
if you put new files on it - just like the real machine.
This tool also lets you rescue files saved onto the image by CSpect - like a BASIC program
you may have written, or a hiscore file from a game etc.
I found a copy of this tool here:

At some point, I'll allow mapping of the cursor keys to what BASIC would like to save using SHIFT all the time...

Sunday, April 28, 2019

#CSpect V2.7.0

This version has a fix to Timex High res colours - and border, and also has the first test of the built in UART/Wifi adaptor emulator. It's still missing lots of stuff, but for now WILL let you play with NXtel without any hardware for your next or pc. It has been included in the archive along with a batch file to get you going. Be warned, it's very much an initial test!
Hardware UART is still supported via the -com command-line (see readme)

#CSpect V2.7.0 changes

  • Fixed Timex Hires mode when using ULANext
  • Fixed Timex Hires border colour
  • Removed debug text output
  • Initial WiFi/UART support added.
  • NXtel.nex added to archive - see weblink above for the latest versions.

Saturday, April 27, 2019

#CSpect V2.6.3

This version has a rewrite of the rendering to finally fix the transparency issues and allow the 8bit compare with the GlobalTransparency value.

#CSpect V2.6.3 changes

  • Fixed sprite crash when using default sprite transparency value - my bad
  • Fixed fallback colour in screen area

Friday, April 26, 2019

#CSpect V2.6.2

This version has a rewrite of the rendering to finally fix the transparency issues and allow the 8bit compare with the GlobalTransparency value.

#CSpect V2.6.2 changes

  • Rendering rewrite to properly fix transparency.
  • Fixed new sprite rendering
  • Fixed Lighten and Darkening modes
  • Fixed darkening mode - removed debug code
  • Fixed sprites being offset by a 1/2 pixel to the left

Monday, April 15, 2019

#CSpect 2.5.0

Some more dev requested changes, and a fix to ULA transparency.

CSpect V2.5.0 changes

  • Fixed PUSH $1234 to have the right order.
  • Fixed LDWS so that flags are set based on the INC D
  • Fixed BSLA so that it takes bits 4..0 not just bits 3..0
  • Fixed a global colour transparancy issue

SNasm 2.0.16 uppdate
  • Fixed “PUSH $1234” opcode (push order wrong)

Sunday, April 14, 2019

#CSpect V2.4.6

Some dev requested changes, including UART support, and some colour 9-bit transparency fixes.

CSpect V2.4.6 changes

  • Copper will now trap uninitialised memory when trying to execute a program, and enter the debugger.
  • Gamepads will now only use the "first" mapped analogue controller. Sorry. Dpad should work fine.
  • Fixed a bug where creating a new file, then trying to open it would fail.
  • Inital UART spport added via standard windows serial COM ports. Must use "-com" to setup
  • Fixed the Real Time Clock (RTC) APi... was returing in the wrong order.
  • Added "fine" seconds control to RTC API. "H" now holds full seconds.
  • Fixed "HALT" instruction so that it waits for the next IRQ or Reset, and doesn't carry on at VBlank.
  • 9 bit colours (and so 3 bit blues), now use the same colour mapping as Red and Green. 8 Bit colour is as before.
  • HL now gets set properly after an F_READ (address of next byte)
  • 9 bit Layer 2 colour now compares to Global transparency 8 bits correctly.
  • Palette reading added - untested
  • Fixed a transparency issue with ULA colours

Sunday, March 31, 2019

#CSpect 2.3.3

Quick update to fix 512 tiles and ULA ordering. Hardware has changed from what I had, and some in the dev team wanted the update. While I was at it... I've added a couple of other dev requests.

CSpect V2.3.3 changes

  • Fixed 512 tile mode. ULA Disabled bit has moved to Reg 0x68, bit 7
  • Border can now be transparent and will use the fallback colour
  • NEX format file expanded. Default 16k RAM bank at $C000 now set
  • NEX format file can now set the file handle on request
  • Added more window scaling options (-w1 to -w10 now available)
  • Updated 512 tile mode to use NextReg $6B (bits 0 and 1) properly
  • core version now set to 28 (2.0.28)
  • Layer 2 demo code cleaned up a bit - old macros removed

Saturday, March 30, 2019

#CSpect 2.3.2

This version increases the window size to a full 256 high - as some games can now use full overscan, has some fixes to the tilemap engine, 2 player joysticks along with Megadrive buttons, and FSTAT file system additions

CSpect V2.3.2 changes

  • F_FSTAT($A1) and F_STAT($AC) now implemented again
  • -fullscreen added to start in fullscreen mode
  • Fixed loading of NEX files that have pre-set tiles
  • Sprite over border clipping fixed
  • Sprite over border *2 on coords fixed
  • Fixed a rasterline reading issue when read at the bottom of the screen.
  • Screen size changed to 320x256 to allow for full tilemap+sprites display (640x512 actual)
  • Fixed Tiles under ULA screen when in border area (now also under border). Same as H/W
  • Added 2 player Joysticks (first pass)
  • Added MegaDrive joysticks (first pass)