With Zen80 guaranteed to run on Linux, the next logical step was to try out ZenZX and play some ZX Spectrum stuff. After a little fiddling with GL and Alsa libraries, it compiled right away and ran. Quite smoothly to my surprise!

#zen80 #zenzx #ZXSpectrum #spectrum #speccy #retrocomputing

zen80 emulating the Z80 on Linux accurately, passing zexall as part of the test suite. ZenZX is next.

#zen80 #linux #foss #golang #z80

Debugging my macros. The good thing is that after you have some well designed macros, most of the simple text user interface things behave almost like BASIC, or terminal printing in Pascal.

Also a good chance to dog food myself using the barely improved editor, and trying to make the zenas assembler work and assemble my non-trivial Z80-based text editor. Dog food is good food!
The only problem I found today was a regression in the vim-like command to jump to a line number. One other thing I noticed is that horizontal scroll doesn't work reliably when you have very long lines that extend beyond the right margin.

That being said, It's a little miracle I have never seen it crash, not a single time, during actual development work.
The best of news is that there are not many news on that front!

#bim #tbim #zenas #z80 #zen80 #zenzx #retrocomputing #ZXSpectrum #speccy #Spectrum

tbim, bim, zenas, zen80

Yes, of course all of these things can be done mixing and matching disparate tools in some other ways, but as a matter of access and code legibility you will be able to directly examine every single bit of the toolset and toolchain.

Every single bit traceable, nowhere left for bits to hide. That's something you can't do unless you're a highly sophisticated specialist today.

#bim #tbim #zenas #zen80 #zenzx #retrocomputing #golang #foss

zenas, zen80, bim and assorted tools

Things starting to fall into place like Tetris bricks!

I still can't glue the ZenZX emulator to the text mode editor, but when I decouple the text mode renderer from the editor logic (sometime next year), I should be able to render the editor and other tools using Deluxe UI in a GL-accelerated window, and I should be able to embed ZenZX in a bim pane.

But essentially everything you see in this screenshot, from tiling manager, to editor, to assembler, to emulator, is one single coherent and consistent codebase (with the sole exception of the Spectrum ROM!)

Lots of work ahead in 2026!

Longer term project beyond 2026 will be to get the language ual off the ground and port all these things to ual.

#bim #tbim #zenzx #zen80 #zenas #foss #golang #retrocomputing #z80

bim and tbim

  • bim is the barely improved editor
  • tbim is a tiling manager

The tile manager tbim almost works, and bim works save for a few missing functions. The basic Go interfaces for plugging in new viewers are in place, in code. That means that creating new viewers that run inside a pane is substantially easier, and it requires none of the unix tooling glue you typically have to patch together when using tmux with an assortment of other tools.

The only pane viewers available right now are Text View (with scrollbars! by popular demand!) and Terminal View.
What comes next is bim integration so that any pane can become a bim editor without launching external processes. This greatly helps resource management in constrained environments (like rpi, routers, phones, etc)

For the time being, the screenshot shows the tbim tile manager displaying Text View panes, and one pane running a Terminal view with tileless bim running in a separate process on top of it. When tbim and bim are fully integrated, tbim and bim will become one single application and it won't need to launch an external process with a pty to run an external bim, it will all be done internally.

And the retrocomputing bit? Ah, yes, it can run a zen80-based Z80 for scripting 🙂

Any questions?

#bim #tbim #foss #golang #retrocomputing #zen80 #z80

bim editor

I've just barely improved the barely improved editor to support Z80 assembler syntax. The automatic detector of assembly dialect doesn't always work right though, that's a task pending in the backlog.

Up next: running zen80 inside the editor.

#z80 #golang #foss #retrocomputing #bim #zen80 #zenzx

So Wonderful Dizzy (a game for the ZX Spectrum 128k models) is running quite well in 128k mode on ZenZX. One caveat is that thae fast tape loading feature didn't work this time, more debugging is needed. I'm also going to have to compare the quality of music playback taking other emulators as parameters of reference. All in all, a more successful test than I anticipated.

#ZXSpectrum #Speccy #Spectrum #spectrum128 #Spectrum128k #ZXSpectrum128 #ZXSpectrum128k
#zenzx #emulator #golang #foss #zen80 #z80 #retrocomputing #retrogaming

The emulator ZenZX has been up past one hour running a modern Speccy game continuously without memory leaks or crashes.

Go, BubbleBack, go!

#ZenZX #zen80 #z80 #Spectrum #Speccy #ZXSpectrum #emulator #retrogaming #retrocomputing

I may have taken certain artistic liberties.

#zenzx #zen80 #ZXSpectrum #Spectrum #Speccy #retrocomputing