My #Z80 machine is getting some new input devices.
Watch this space!
My #Z80 machine is getting some new input devices.
Watch this space!
Starting a fresh new profile, let's introduce me.
I'm Nicolas from north of France, I like old computers, I have a collection of #amiga, #C64, #amstrad, #atari. I also like #computerhistory and started to code emulators, I made a #teletype, #altair and #Intel8080 emulator, and also a #Z80 then a #trs80 emulator coded in #rust. Currently experimenting with #Zig, and #riscv64 assembly.
A comprehensive guide to Z80 Assembly that covers not only the instruction set but also programming techniques such as working with data, representing data structure and lookup tables, and more.
After much testing and code comparison, the new Feb 2025 Release of #Vezza - my #z80 high speed #zmachine is ready! Took way longer than expected to synchronize across all of the code bases, particularly making sure that all optimizations made it across all platforms - TRS-80 model 1, TRS-80 model 3, TRS-80 model 4, the CP/M versions (~18 platforms), the embedded versions (Spectrum tape, TEC-1G), and slowly pushing into the Agon Light version (which has even more updates still in progress). Lots of individual tweaks, and some major rethinks and rewrites have come together to accelerate game play.
The hardest part of rewriting in this update involved rewriting the dictionary search code. I ended up going back to the original jzip interpreter, written in C for Unix waaay back when. Jzip provided much of the logic that went into ZXZVM, which provided the base for #M4ZVM #M3ZVM and #Vezza. Going back to Jzip made sense as Jzip has an even longer history; and is highly tested and stable and still maintained. This research gave me the confidence that the streamlining and changes I was making to such a fundamental part of the game would work, making all inputted dictionary searching more efficient.
To work around how CP/M stores executable files I spent a lot of time re-organising the memory map to make the executable smaller. This involved rearranging where the initialization code was stored inside the increasingly complex layout. Support across multiple versions means I needed to break up variable sized code and strings to sit inside variable sized gaps, while still compiling all the CP/M versions from the same interconnected set of source files. It needed quite a few manual checks to ensure that it all worked.
What this all means is that your favourite #infocom #punyinform and other text adventures will all play on your favourite z80 #retrocomputing platforms even faster than before!
More details in the devlog and downloads can be found at:
#TRS80 versions https://sijnstra.itch.io/m4zvm
#CPM #CPM80 versions https://sijnstra.itch.io/vezza
Aquarius: a computer so powerful, it heated up and warped its case!
Climbing out of the CPM/Zork rabbit hole for now...
I have fixed and reformatted the Z80 Z-Code Interpreter source, and successfully assembled it for RunCPM... And it works.
Going to play the game for a while, and then get back into my Kim-1 rabbit hole.
Anyway, all my CPM/Zork efforts are here:
https://github.com/ilneill/MyInfocom
Enjoy!
Having a break from other "rabbit holes" to return to #CPM, and I'm away from my hardware, so it's emulation only.
Got #runCPM up my laptop and had to get #Zork running. Found the eblong Infocom archive and the #Z80 the Z Interpretator source (+ Zork Z3 file).
Fixed some issues and it assembled with #z80asm but when I ran it the text display was not right. I recognised escape code issues. Dug into the Z80 code and found the problem. Hours later I found the reason.
Wyse codes, not VT100/ANSI
First run of the Super CoPicoVision boards have arrived! Of course, there are 2 really bad bugs that affect Super Game Module games, but I have re-work procedures for those

#ColecoVision #z80 #retrogaming #retrocomputing
Random memory: Some 45-50 years ago, my dad sold and serviced #CPM machines, specifically #GeminiMicrocomputers from the #UK. His customers seemed to be primarily people connected to printing and the press. One guy represented a printing house, which I believe also doubled as a #Buddhist #monastery, and visited my dad's shop quite frequently.
The thing that triggered this memory, was that apart from #Buddhism and printing, my dad's customer - friend if I'm not mistaken - also did a bit of recreational programming. He was in fact the author of a Danish #Pacman clone called "Gufferen" which translates to something along the lines of "the muncher". At the time, it was a breath taking action game in 80x25 character resolution, and I'm absolutely gutted that I will probably never see it again.
Good times.
@arclight @reverseics @NanoRaptor and there are compatible successors like the #eZ80 that can do all the #Z80 stuff, but are merely in a smaller package and require less power...
Coming soon..
Pi Pico based, emulated Z80, CPM machine kit, running RomWBW, with support for the RomWBW front panel and SPO256AL2 Speech synth.
Runs RomWBW images from an SD CARD compatible with the RC2014 SD card module.
128K Ram, and all 512K ROM binaries, and disks from WBW.
Software is Open source
8MHz Z80 card for C64 - it works!
I'm not surprised that the design works, it's rather the fact that I was able to solder a 100 pin SMD element without cold joints nor shorts on the first try :)
Fork of the project: https://github.com/kneehighspy/Z80-Card_for_Commodore_C64 (original has been removed from github). Too bad the CPLD source code was never released.
Z80 Sans is an #OpenType font that disassembles #Z80 processor instructions through clever use of GSUB and GPOS tables.
Representing Hungary with the Videoton TVC 64k+ and Japan
with the Sharp X68000 Expert HD at the Vintage Computer Festival Berlin as part of the berlinCreators e.V. exhibit.