top | item 47160220

Show HN: Unix for the Commodore 64? Open Source

15 points| ascarola | 4 days ago |github.com

A Unix-inspired shell and RAM filesystem for the Commodore 64 (6502 assembly)

8 comments

order

sargstuff|3 days ago

Project time/resource constraints not withstanding, wonder how this compares to other c-64 os alternatives.[0]

?? future options ?? : Unix bootable from a cassette tape drive? :-)

?? c-64 unix server with ports to hook up one or more c-64's via CaTer (Cartridge Terminal) -- perhaps best done via tcp-ip 'ports'.

?? fuse[1] for c-64 to be able to 'read' other floppies / c-64 unix swap space over tcp-ip.??

?? "modern" 5.25" for c-64 via c-64 variant of greaseweazle[2] ??

-----

[0] "The Many Operating Systems of the Commodore 64" : https://lunduke.substack.com/p/the-many-operating-systems-of...

[1] c64-fuse (perhaps over c-64 tcp-ip) : https://en.wikipedia.org/wiki/Filesystem_in_Userspace

[2] greaseweazle : https://github.com/keirf/greaseweazle

rasz|4 days ago

Quite bold to put mit license and claim copyright/authorship on Claude generated code.

ascarola|3 days ago

Fair point on transparency. I've updated the README to credit Claude Code for the assembly. I directed the architecture, feature set, and all version decisions - Claude wrote the code under that direction. Seven releases over about 6 weeks, commit history and changelogs document the progression. Happy to discuss the design decisions if you're curious.

the_biot|4 days ago

How do you know? The excessive comments?

reaperducer|4 days ago

Around 1987 I mostly completed a Unix-like OS for the C-64 called MATRIX. I was probably around six weeks away from burning it to a PROM when I got a new girlfriend and completely lost interest in the project.

I don't remember too much about it, other than:

- Because Commodore drives had ludicrously long file names for the era, paths like /etc/dev/joy1 didn't need any weirdness.

- Password encryption? What's that?

- What we would call "metadata" today was stored in USR files.

- Directory listing was agonizingly slow. I remember commandeering tracks 16 and 17 for my own hair-brained directory structure in an effort to speed things up.

ascarola|3 days ago

This is a great story, and you're further along than I ever got in 1987! I had a C64 back then, too, and was fascinated by it, but never attempted anything this ambitious. Girlfriends, too, got the best of me! Fast forward nearly 40 years, and I finally built my Unix-inspired shell for it, just with a very different kind of assistant helping with the assembly. :)

The directory speed problem is real. I sidestepped it entirely by keeping the filesystem RAM-resident (max 8 entries, heap at $6000), which makes LS instant but obviously volatile. Your track 16/17 commandeering approach is incredible and fascinating. MATRIX sounds amazing, and you should dig it up and finish it now! :)