mastodon.ie is one of the many independent Mastodon servers you can use to participate in the fediverse.
Irish Mastodon - run from Ireland, we welcome all who respect the community rules and members.

Administered by:

Server stats:

1.8K
active users

#cpm

3 posts3 participants0 posts today

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

Here's a weird thing I found, while restoring my old #CPM computers from #GeminiMicrocomputers: while there were models available with Winchester drives (that's harddisks for you young folks), the setup was a little weird. This was the time of the #MFM and RLL harddrives, used by other systems such as the IBM 5150. Easily recognizable by having two flat ribbon cables instead of just one for each drive. RLL was a little more tightly packed with capacity, but basically the same concept - required slightly different controllers though.

Anyway, back to the Gemini. It featured a #SASI interface, which is sort of an early version of #SCSI. Did you connect a drive directly to it? Noooo. You connected a #Xebec SCSI/MFM controller. Did that require a lot of weird SCSI commands for telling the Xebec what disk was attached? Of course. Compared to how it's done today, very backwards.

Which meant I had zero luck with my new #zuluscsi device. zuluscsi.com/

I've got a plan B though.

ZuluSCSI - A hardware SCSI HDD & CD-ROM emulatorZuluSCSI - A hardware SCSI HDD & CD-ROM emulatorZuluSCSI™ is a SCSI computer storage emulation platform, which speaks both SCSI-1 and SCSI-2. It uses file-based SCSI HDD & CD-ROM images, similar to RaSCSI and BlueSCSI. It represents a fusion of firmware and concepts from both SCSI2SD V6 and BlueSCSI. Hard drive and CD-ROM drive images are stored on...

OK I'm back to old habits -- having re-discovered old habits weren't completely stupid.

Leor Zolman's BDS C compiler it is. It's got a lot of language cheats and shortcomings, but it's all scaled appropriately for small machines.

It's binary output is HALF the size of Aztec C's, which is fairly compliant (to a very old standard). I need code, not compliance.

#cpm #retrocomputing

WordStar has many shortcomings, I could not remember how minimal it is, but it is rock solid and that matters.

I'd like to find a copy of PMATE for CP/M (plenty around for DOS)

Leor seems like a great guy.

bdsoft.com/resources/bdsc.html

www.bdsoft.comBDS C: An 8080/Z80 C CompilerBDS C: an 8080/Z80 C compiler written by Leor Zolman and now in the Public Domain - available for download here

So the VGA code I'm using supports (claims to) VT100, ok great, sounds perfect (for a CP/M console).

Problem is, not much in the cp/m world knows about the vt100, even the vt52 is obscure. Id somehow forgot this (in the intervening 40 years...)

DEC terminals were exotic! And very expensive! No hobbiest or small business had such a chunk of hardware.

So now I get to pick the easiest, commonist terminal to emulate. Something easier than DEC! But better than adm3...

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

Some small wins that have pleased me...

1. Finally found a lightweight Linux that really does work on my very old hardware. I am liking Linux! Going to use it on all my boxes.
2. On Bodhi, GCC just worked and I have successfully compiled . My first Linux build from a GitHub repo!
3. In , in RunCPM, on Bodhi, I have successfully got working! That is what I wanted all along 🤣

Along the way I discovered the Humongous CPM archive. Bookmarked!

cpmarchives.classiccmp.org/

cpmarchives.classiccmp.orgThe *HUMONGOUS* CP/M Software ArchivesThe Internet's largest, most comprehensive collection of software for Digital Research's CP/M family of operating systems.

It's done! I figured "if you're gonna build a old school vertical #gotek enclosure, why not do it with some style?". I'm aiming for that early 80s style, and I'm quite happy with the result, although the OLED sticks out a bit. It is terribly practical for navigating disk images though. What do you think?

Video of the unit booting CP/M in thread.

Model available here: thingiverse.com/thing:6939095

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.