lingo.lol is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for linguists, philologists, and other lovers of languages.

Server stats:

72
active users

#cpm

1 post1 participant0 posts today

Has anyone given thought to a modern keyboard, and modern character set needs, with CP/M? I think the situation might be close to hopeless; the documentation states explicitly "strip off the 8th bit" eg. 0x7f, so 1968 ASCII it is, but having app subvert the BIOS is common.

Just thought I'd ask before I set the task aside. I'm using a USB keyboard and mapping scan codes straight up; I've done real keyboards with dead keys etc but not for a long time. And honestly don't relish coding it (though I could maybe do it not in the Z80).

But even 512 bytes for a keymap is pushing it. That's 1/128th of total RAM space.

My brand new #mfmemulator from decromancer.ca/mfm-emulator/ arrived from #Canada about a week ago. It doubles as an MFM harddisk reader as well as an emulator, and I just happened to have a 40 year old disk lying around.

#MFM was a weird standard, at least compared to SCSI and IDE. It's much closer to that of a floppy drive, than the hard disks we use today. That becomes apparent, when you realize that there are a lot of different standards for putting data on an MFM disks, and I'm just talking ones and zeroes here, not high level data like file systems. Basically, one model MFM controller probably won't read the data that another wrote on the same disk.

With that in mind, I was a little worried that the emulator wouldn't read my #CPM disk that was previously connected to an old Adaptec SCSI-to-MFM controller. To my surprise it worked like a charm, and I'm now looking at #pascal source code my dad wrote in the mid #80s. I'd call that a success! 🙂

The Decromancer · MFM EmulatorRead or emulate old MFM drives for your vintage computer

Wow, I didn't realise that LibreOffice turns 40 this year with it's latest release.

It started out as closed source Star Writer for CP/M in 1985 with DOS 3.2support in 1986.

Then became Star Office in 1994 for Windows 3.1

It became open source as Open office in 2001 and the LibreOffice fork in 2010.

en.wikipedia.org/wiki/StarOffi

en.wikipedia.org/wiki/OpenOffi

en.wikipedia.org/wiki/LibreOff

en.wikipedia.orgStarOffice - Wikipedia
#cpm#msdos#dos

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 sijnstra.itch.io/m4zvm
#CPM #CPM80 versions sijnstra.itch.io/vezza

As promised: a complete deep clean of the late #70s #GeminiMicrocomputers parallel #keyboard by #Rotec. Everything disassembled, cleaned, lubed, rubber liners treated with silicone and brand new rubber feet installed. All keys are working, but some don't sit as well in their sockets as they used, so I expect the keys to stay in place if I hit someone with it! :D Also some electrical issues with scanning of the key matrix being incredibly slow - but it lives!! 🙂

And yeah, the "DISASSEMBLE FROM PCB SIDE" sticker was added by me. Taking this apart the wrong way will end in disaster. Learned that the hard way.

No spiders were hurt in this cleaning, although they had clearly taken up residency at some point.

Continued thread

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:

github.com/ilneill/MyInfocom

Enjoy!

#CPM
#RunCPM
#Z80
#Zork
#Infocom

GitHubGitHub - ilneill/MyInfocom: All my Infocom discoveries and learning... CPM, Zork and beyond!All my Infocom discoveries and learning... CPM, Zork and beyond! - ilneill/MyInfocom

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 😉

For those of you who are interested in my latest project, #dxbbs you may like to know that I've done some code cleanup, renamed existing variables and introduced new ones, especially for the message base files. this is in preparation of handling multiple message bases.

I've also implemented "message flagging/unflagging" in combination with the msg_purge routine. The latter takes some time to process all messages since it actually creates a re-indexd copy of all files for the selected message base.

So I thought it would make sense to "flag" messages for deletion, effectively excluding these from being listed or read and then have the option to physically delete them and re-arrange the message file during a maintenance window, where there is enough planned downtime for such an action.

Let me note that the code is by no means an example for proper #forth programming. I'm not there yet, but in case you are interested, here's the link:

gitlab.com/ufud-org/rc2014-dxf

#z80
#bbs
#rc2014
#cpm
#dxforth
#retrocoding

GitLabbbs · main · lodger-c64 / rc2014-dxforth · GitLabGitLab.com

Just acquired a beautiful Northstar Advantage. The keyboard mostly works, but I'll still do a foam-and-foil replacement on it. The 15Mb hard drive is full of software, and it came with 4 boxes of disks, manuals, and a dot-matrix printer (not shown). This will keep me busy for the winter, and will make an excellent companion to my Northstar Horizons :) #retrocomputing #northstar #8bit #cpm #retro

📰 CP/M forty years on -- what it was, and why it still matters
— Kevin Boone

「 microcomputers were expected to remain single-user, single-processing machines. The complexity of an operating system like Unix would have been completely inappropriate. CP/M was effective because it did very little, using meagre resources; but the little it did was exactly what was needed, to make programming productive 」

kevinboone.me/cpm40.html

kevinboone.meKevin Boone: CP/M forty years on -- what it was, and why it still matters%%DESC%%

T3X/0 now has a WordStar-compatible editor for CP/M that can compile T3X programs and locate errors.

It runs fine on my Agon Light 2 and makes T3X programming on CP/M much more fun, because you do not have to leave the editor for compiling. The Agon is fast so that you barely notice how the compiler overlay is loaded.

Homepage: t3x.org/t3x/0/
Download: t3x.org/t3x/0/t3x0cpm.zip

#CPM, #compilers, #WordStar, #retrocomputing, #T3X

There is now an experimental CP/M port of the VEE editor for T3X/0. The editor can compile T3X programs and locate errors. VI-compatible, not WordStar. Sorry!

Not sure how useful this is, because loading the compiler as an overlay is not too fast. There is also a strange bug when running VEE on my Agon Light. It does work on my NC100 and on my RC2014 machines, though.

Homepage: t3x.org/t3x/0
CP/M binaries: t3x.org/t3x/0/t3x0cpm.zip

#CPM, #compilers, #T3X, #IDE