Hacker News new | ask | show | jobs
by taviso 57 days ago
Hey, another 1-2-3 nerd :)

I don't have any nostalgia it, I just appreciate how thoughtfully it was designed for data-input efficiency. I actually ported the official UNIX version of 1-2-3 to Linux a few years ago, I still use it regularly. It uses some tricks to get the original UNIX binaries working on Linux: https://github.com/taviso/123elf

I had been thinking about how to add UTF-8 support, it only supports LMBCS (Lotus Multi-Byte Character Set) by default. It's actually worse than that, it stores everything internally as LMBCS but in a lot of cases can only display ASCII, so it transliterates a lot of characters (e.g. é -> e).

It's also possible to run the real DOS version in dosemu - in terminal mode it's basically indistinguishable from an ncurses application, although dosemu is just cleverly sampling the framebuffer and translating it on-the-fly.

I wrote a display driver to make that work a little better: https://github.com/taviso/lotusdrv

1 comments

I love your pages, they are really great, especially the one about reverse engineering the display driver to discover that 1-2-3 actually supports better display resolutions.

I've been running the DOS version in DosBox-X for Mac at the moment to ground l123 in the reality of what using 1-2-3 was like. I'm using Release 3.4a, which was the last version that didn't go full GUI (R4 for DOS was kind of a Windows-light version). I'm trying to balance fidelity to the original with something that might be useful to actually do some productive work in, especially when one might not need or want the full GUI/overhead of Excel or (shudder) Google Sheets.