Friday, December 06, 2019

#CSpect V2.11.9

EDIT: Updated to V2.11.10 - Couple of new command line options for the next dev team

This update is really just to release fixes the Next team have had for a while. With all the changes to NextOS, and the hardware changes, I figured I should release this even though 60Hz mode isn't working right. So most things should work fine, but 60hz mode certainly has issues....

SNasm V2.0.19 changes
  • You can now reference a local label. i.e. LD HL,LABEL@LOCAL

#CSpect V2.11.10 changes
  • added -major and -minor to let you set the CORE version number
  • added -emu to force the setting of the emulation bit in nextreg 0
  • added debugger command "nextreg ," so you can set a next register from the debugger

#CSpect V2.11.9 changes
  • Updated audio to be 16bit so DAC isn't squished to oblivion. (should just sound better in general)

#CSpect V2.11.8 changes
  • Fixed "all RAM mode". 2 configurations weren't working right.
  • Core version number updated to 3.0
  • -60 now does proper 60hz, including reduced lines and proper 60hz audio *not working fully yet*
  • -com2=??? added. You can now have a second UART that can be used to send to a real Pi
  • port 0x153b (bit 6) added to switch UARTs from Wifi to Pi
  • Reg $7f now defaults to $FF on power up
  • When no UART2, now returns $FF
  • .ROM files (for OS loading) now come from the same path as the IMG file, rather than program folder
  • Mono "textmode" added
  • CP/M mode now works
  • Proper 60Hz Layer2 and Sprites now working
  • Coms with the Pi (and it not being there), no longer crashes CSpect.
  • null comport now returns 0, as per hardware.
  • Tilemap clip window right edge fix - I think.
  • 1 Bit Tilemaps should now work when tiles are pre-defined in bank 10/11


Saturday, September 14, 2019

#CSpect V2.11.1

This update is to add in (most) of the new hardware/registers that the latest Spectrum Next firmware has added - along with the new OS which uses some of it. There are some amazing advancements in this firmware. 14Mhz CPU speed all the time, 28Mhz copper and 14Mhz DMA, along with things like smooth scrolling the ULA screen. Brilliant update from the Next team.

#CSpect V2.11.1 changes
  • Fixed extra pixel in wrapping scroll of ULA
  • Fixed label on/off
  • Fixed lowres vertex clip "smear"


#CSpect V2.11.0 changes
  • Fixed -tv command line, and made it actually switch off all shader usage
  • if bit 6 in attrib 3 is not set, #CSpect now properly ignores attribute 4
  • Copper now runs at 28Mhz
  • The CPU no longers slows down over the screen
  • ULA can now scroll in 1/2 pixels
  • ULA Shadow screen now works with Layer 2
  • Reg 0x69 added (Layer 2 enable, ULA shadow mirror, and port bits 0-5 goto port 0xFF)
  • Copper Reg 0x63 added
  • DMA is now always 14Mhz...
  • 4 bit lowres mode added (reg 0x6A)
  • Added $123b Read mode
  • Added $123b 48K mapping mode
  • Reg 7 is now R/W, and bits 4/5 now set correctly
  • Window regsiters are now R/W


Friday, August 23, 2019

#CSpect V2.10.1

#CSpect now uses a shader to render, and I have added a TV shader which you can adjust using page up/down and home/end. This gives a nice retro look to games.


#CSpect V2.10.1 changes
  • Fixed a crash in relative sprites where the X coordinate could go negative
  • Added +3 "all ram" mode. (ZX81 games now work on the Next SD card)
  • ay8912.dll no longer obfuscated. Didn't realise this was still getting obfuscated. This means you can now compile the DLL yourself using the supplied source.
  • Fixed the fake UART and Wifi - was ignoring a basic AT command.
  • Added a couple of new AT commands to the UART. AT+CIPSTA? will now return your IP address.
  • AT+CIPDNS_CUR? will return googles DNS server - coz why not.
  • AT+GMR will return n00160901 - which is an older version of the wifi chip I believe - any other preference?
  • Fixed the default MMC path (when you don't specify one) on the Mac/Linux. Now uses .Net Path.PathSeparator...
  • Any unknown UART command is now sent to the LOG file
  • CTRL+F1 now enables/disables the TV shader (-tv on the command line to disable)
  • PageUp+PageDown now makes the TV lines less/more visible
  • Home+End now adjusts the TV shader "blur"
  • Fixed a shader crash on OSX (Probably Linux as well)


Monday, July 15, 2019

#CSpect V2.9.2

Minor update and fixes. I have also added the parallax scrolling demo I've written as a little demo...



#CSpect V2.9.2 changes
  • Added sprite clipping in over border mode (1 = enabled) (bit 5 of reg $15)
  • Composite/Unified mode visibility flag fixed
  • Parallax scrolling demo (and .BAT file to run it) added to CSpect distro.


Sunday, July 14, 2019

#CSpect V2.9.1

Improvements to the CPU timing, and finally added the sprite composite and Unified modes to let you attach sprites together. This is "largely" untested, so I expect fixes to this over time....

#CSpect V2.9.1 changes
  • Fixed a sprite window clipping bug
  • Fixed the esxDOS streaming API emulation

#CSpect V2.9.0 changes
  • Improved the timing of the CPU so it should be much closer to the NEXT
  • 48k timing - along with memory contention should also be much closer to the real thing
  • Fixed the sprite over border clip window - no longer resets the user clip window
  • Sprite "composite" mode added
  • Sprite "Unified" mode added
  • Fixed a screen render issue, where the screen was being stretched 1 pixel too much



Saturday, June 29, 2019

#CSpect V2.8.3

Minor update to fix some issues to 2.8.2


#CSpect V2.8.3 changes
  • Fixed Left control in BASIC key mode.
  • Fixed a bug where setting port $7ffd or port $1ffd would change the +3 ROM offset - even if next roms weren't enabled.
  • .NEX files are now started in 14Mhz mode - same as the real machine
  • Added IFF 1/2 to the debug display
  • Fixed -fullscreen, just wasn't doing anything....
  • Fixed -r when you exit in "fullscreen" mode (ALT+ENTER). Now exits fullscreen before quiting




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 http://www.zxspectrumnext.online/cspect/index.html




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 http://www.zxspectrumnext.online/cspect/index.html




Monday, May 27, 2019

#CSpect V2.8.0

EDIT: You can now download pre-created SD Card images http://www.zxspectrumnext.online/cspect/index.html

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 https://www.specnext.com/category/downloads/
  • 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 ( https://sourceforge.net/projects/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: http://uto.speccy.org/downloads/hdfmonkey_windows.zip

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.