Month: August 2017

Nodes of Yesod: iOS – surprise update

At the prompting of a couple of readers of this blog, I’ve been reviewing the changes necessary to allow Nodes of Yesod for iOS to run on iOS 11. The good news is that it is now running (in the simulator at least). There are several issues I’ll need to fix, but it’s looking like I may be able to release an update for iOS 11. I’ll update here as and when I make more progress.

Screenshot from simulator below.

Simulator Screenshot

Posted by Steve Wetherill in iOS, Retro, 2 comments

Nodes of Yesod: ZX Spectrum Next – developer blog episode 2

As promised in the previous episode, in this (brief) update I'll delve into the tool selection process and talk a little about the setup I'm using for Spectrum Next development. First of all, I unashamedly admit that I am a Mac user. Nothing against Windows, or other OS choices, it's just something that I have gravitated to over the years, via iPhone development in the first instance, but also through working in the SF Bay Area tech bubble for the past several years. While there are a lot of great Mac development tools available, it seems that most (not all!) Spectrum development tools are for other operating systems, Windows primarily. I'm not a big fan of running virtualization software such as Parallels, Fusion or Virtual Box as these (in my experience) tend to be resource hogs (though I do use Virtual Box now and then, and it does have the attractive property of being free - that is to say Open Source Software). For the most part these days, in order to run a particular piece of Windows software on Mac, I've been using CrossOver, which is basically a bundled version of Wine for Mac and Linux (note that while Wine itself is open source, CrossOver is not). From the Wine site

Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, macOS, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.

In my experience, CrossOver works pretty well for most development tools, including the paint package ProMotion, and the Windows based Spectrum/Z80 assembler/emulator/debugger Zeus.

I really like Zeus, and the fact that it is a self-contained IDE for Spectrum development; however, even though Zeus has implemented a few of the extended hardware functions of the Spectrum Next (as of this writing, version 3.66 supports the Next hardware sprites), it is not the most up to date Next development environment. In a way, this makes sense, because many of the Next features are still "settling" in terms of final specs. Still, as I am committed to completing an updated version of Nodes of Yesod for the Next launch, I need something a little more current.

So, if not Zeus, what else? Well in terms of emulators there is ZEsarUX (which I can never pronounce, or remember how to spell - sorry Cesar!) which has some Next support and which'll run native on Mac. What I need though is an assembler, and the best one I have found so far is in the CSpect package, which as of this writing is at version 0.5. CSpect is a Windows based emulator/debugger that comes with an assembler, SNasm, which is tailored to the Next, and which is truly on the bleeding edge for feature parity with (and in some cases ahead of!) the Next. Importantly for me, this combination runs quite nicely in CrossOver on the Mac.

That's it for this update. In the next update I'll talk more about setting CSpect up to run with CrossOver and the Sublime Text editor on the Mac, along with the z80asm Sublime plugin.

Posted by Steve Wetherill in Retro, Sinclair, Spectrum, Z80, ZX Spectrum Next, 6 comments