#zenzx — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #zenzx, aggregated by home.social.
-
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!
-
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 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.
-
I found another bug in ZenZX's 128k mode with snapshot saving. Wonderful Dizzy loads, runs, plays great. Then I save a snapshot. Snapshot is saved correctly. Reset. Then load that snapshot, the snapshot loads and resumes execution exactly where it left, no crashes, everything works except for keyboard input. Which seems to be something possibly related to interrupt handling, it's possible that I am somehow leaving interrupts disabled after resuming the snapshot. Time to debug some more.
-
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 -
Wonderful Dizzy on ZenZX, requires 128k mode.
The Oliver Twins 2020
https://zxart.ee/eng/software/games/adventure/kvesty-golovolomki/wonderful-dizzy/dizzy-viii---wonderful-dizzy-2020-v15/#ZXSpectrum #Speccy #Spectrum #retrogaming #retrocomputing #zenzx
-
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.
-
Maybe the visuals won't improve .tap support by much. But... why not?
-
Further experiments on the virtual keyboard front.
No idea where this is going really, very experimental.
#zenzx #emulator #golang #foss #ZXSpectrum #Spectrum #Speccy #retrocomputing
-
Further experiments on the virtual keyboard front (2/2)
(and possibly using the often unused border space for some useful things, a bit like FUSE does with some indicators)
#zenzx #ZXSpectrum #Spectrum #speccy #retrocomputing
·
-
Further experiments on the virtual keyboard front. (1/2)
-
So... I've had this under wraps for months, whilst I've been adding features and ironing out bugs...
I've already been showing:
zen80: zexall-tested z80 emulator
https://github.com/ha1tch/zen80zenZX: ZX Spectrum emulator (WIP)
https://oldbytes.space/@haitchfive/115159221509967137
The next logical piece is:
- zenas: Z80 assembler (WIP)
zenas is a new Z80 assembler (work in progress) following a simpler design than my earlier attempt. This is designed to work together with zen80 and zenZX, to hot test and benchmark the code the assembler emits
I'm already seeing some promising results. I think it's a cool feature if your assembler can actually run the code it emits (using zen80) with the potential to verify your object code actually works, and every single cycle is accounted for. I can imagine in the future we can expect to have things like register colouring and other neat features.
If we consider the zenXX tools together with the tape handling tools, and with the floppy image tools, we're approaching the status of lovely toolset that could one day be quite useful.
#zen80 #zenzx #zenas #asm #z80 #golang #foss #assembler #retrocomputing
-
ZenZX tape loading
PageUp: Zoom In
(Increments zoom factor)PageDown: Zoom Out
(decrements zoom factor)Alt+B / Option+B: toggles visibility of the Spectrum "border"
(2/3)
#ZXSpectrum #Spectrum #Speccy #retrocomputing
#retrogaming #zen80 #zenzx
#emulator #golang #foss -
ZenZX
ZenZX is a ZX Spectrum Emulator based on the zen80 Z80 emulator, writen in Go
I'm Improving tape loading support, and demonstrating how screen control keyboard shortcuts still work during tape load. Probably not something that will blow your mind, but I kind of like it. (1/3)
#ZXSpectrum #Spectrum #Speccy #retrocomputing #retrogaming #zen80 #zenzx #emulator #golang #foss
-
ZenZX Preview Release
I thought I'd give people something better than promises to toy around with. Here's a very early, very rough, very green preview release of ZenZX.
ZenZX is a ZX Spectrum emulator written in Go with a focus on ergonomics and modular, understandable code. It's partly based on my other emulation project called zen80, a highly compliant instruction-stepped Z80 emulator.
https://drive.google.com/file/d/1MJR6JMhL1TcIXEfZUkAh4u8eA5yFQgxh/view?usp=drive_link
See the README included in the .zip file and please let me know if you like anything about it, or if you hate anything about it. At this time, and because countless bugs are yet to be corrected, and I'm aware of hundreds of them, I'm not lacking insights of the type "It has a bug". The kind of useful feedback I'd like to get is more about ergonomics and whether you would use a different key mapping, keyboard shortcuts, colours, etc. Any user-facing ideas you would like to see one day, that would be useful.
The source code for the Z80 part is already available at:
https://github.com/ha1tch/zen80You know where to find me 😃
#ZenZX #emulator #golang #foss #ZXSpectrum #Speccy #Spectrum #retrocomputing
-
This is the built-in UDG designer tool that comes with the TK90X rom, running on ZenZX.
On this machine, it's invoked entering the command: UDG 2
#TK90X #ZXSpectrum #Speccy
#Spectrum #ZenZX #retrocomputing #TK90 -
This is ZenZX emulating the Brazillian speccy model TK90X, using one of the custom TK90X roms by Rodolfo Guerra (with various system ROM translations available for European and Spanish regional languages)
See Guerra's website for rom galore:
https://sites.google.com/view/rodolfoguerra#TK90X #ZXSpectrum #Speccy #Spectrum #ZenZX #retrocomputing #TK90
-
I'm almost succeeding when pasting text into the Spectrum 48k BASIC editor, which has a well-known API. It's buggy but it almost works already on 48k.
It's a little bit harder with the full screen 128k editor, which is less well documented. But I'm already making progress there as well, I'm able to detect exactly when we are in full screen editor mode, and able to identify lines of text, and where to place them.
It's just a matter of time, a little bit more tinkering and reverse-engineering required.
#ZXSpectrum #Spectrum #Speccy #retrocomputing #emulator #zenzx #foss #golang
-
Essentially it comes down to the fact that in 1982, when the Spectrum first emerged, desktop GUI systems with normalised semantics were still not widely standardised, and were still for the most part an advanced business kind of thing of the future.
(in a Venn diagram, Spectrum and expensive never intersected).In the smaller computer world, it would take a few years more for GEM, Workbench, Mac OS to become well-established. It would take another entire decade for Microsoft to deliver Windows 3.1 in 1992, arguably their first serious hit with the mass appeal of the next couple of orders of magnitude deployed.
#ZXSpectrum #Spectrum #Speccy #retrocomputing #emulator #zenzx #golang #foss
-
Good morning, I thought I'd fool around with some ergonomics. I kept wondering why is it so hard to interact with virtual Spectrums in modern ways, and I thought I'd give the system clipboard a try, at least copying and pasting basic text, from and to a live speccy.
It's not easy and it's still extremely buggy, but also not impossible, as you can see from these early results.
#ZXSpectrum #Spectrum #Speccy #retrocomputing #emulator #zenzx #golang #foss
-
ZenZX beeper audio
Not much to show, and it's not high quality audio but it's pitch perfect and speed perfect, which is hard to get right the first time!
It may look simple but the differences between the original physical beeper (controlled by a Z80!) and a modern audio synthesis system are so vast it's hard to believe this is even possible.
#ZenZX #Zen80 #z80 #Spectrum #Speccy #ZXSpectrum #emulation #golang #foss #retrocomputing #retrogaming
-
We've got stripes! All of them now!
I actually replicate the pattern until the border is filled vertically.
Tape loading still doesn't work well for 128k games, which in turn prevents me from hearing much music, which prevents me from improving AY-3-8912 audio playback. I will probably resort to transcribing some music to PLAY commands myself, and trying the old synthesis commands. I can work the fine detail of tape loading at a later time.#ZXSpectrum #Spectrum #Speccy #zenzx #zen80 #emulator #golang #foss #retrocomputing #retrogaming
-
Please suggest 128k games which aren't too strongly protected (so I can load from .tap) and have good music. If you have a link to download, all the better.
This will help me appreciate better what needs to be improved with AY chip audio generation.Thank you!
#retrocomputing #ZXSpectrum #Spectrum #speccy #zenzx #zen80 #emulator #golang #foss
-
We've got LOAD stripes! Not all of them stripes but at least we've got some! hahaha
#zenzx #zen80 #z80 #ZXSpectrum #Speccy #Spectrum #emulator #retrocomputing #retrogaming #golang #foss
-
Today is one of the less successful days of persistent debugging and little fruit.
#retrocomputing #zenzx #zen80 #z80 #Spectrum #ZXSpectrum #Speccy #golang #foss #emulator
-
Ahhhhh glorious!
God save Jon Ritman! (and Bernie Drummond, wherever he is)
#zenzx #zen80 #ZXSpectrum #Speccy #Spectrum #retrogaming #emulator #golang #foss #retrocomputing
-
This reminds me I've made no effort whatsoever to plug the beeper or the Yamaha chip.
#zenzx #zen80 #ZXSpectrum #Speccy #Spectrum #retrogaming
#emulator #golang #foss #retrocomputing -
Nanananananana Batman
The .tap I have for this one didn't work in fast mode, but it did work in "accurate" mode. I'm going to try to devise a middle ground mode that might work relatively fast and with reasonable accuracy. This is ongoing work. Anyway, not a big deal because you can always load the .tap file slowly and then save a snapshot. Snapshots always work.
#zenzx #zen80 #ZXSpectrum #Speccy #Spectrum #retrogaming #emulator #golang #foss #retrocomputing
-
$ ./zenzx -tape jetsetwilly.tap
#zenzx #zen80 #ZXSpectrum #Speccy #Spectrum #retrogaming #emulator #golang #foss
-
Bruce Lee RX running on a ZenZX emulator prototype, loaded from .sna file. Flawlessly.
#ZXSpectrum #Spectrum #speccy #retrogaming #retrocomputing #foss #golang #z80 #zenzx #zen80
-
Integer out of Spain.
#ZXSpectrum #Spectrum #Speccy #zen80 #zenzx #emulator #foss #golang #retrocomputing
-
ZX Spectrum: emulated
To be honest, I thought it was going to be a lot harder, and it would take a lot of debugging to get this done.
But ultimately, I only had to grab parts of the older Spectrum emulator I had started last year, remove the old spaghetti Z80 that didn't work well, and plug the new well-tested zen80.
I would call this a very successful weekend 🙂
#ZXSpectrum #Spectrum #Speccy #Z80 #emulator #golang #foss #zen80 #zenzx #retrogaming #retrocomputing