Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Lotus 1-2-3 R4D Display Driver for DOSEMU

NotificationsYou must be signed in to change notification settings

taviso/lotusdrv

Repository files navigation

This is a work-in-progress display driver for Lotus 1-2-3 R4D to enable supportfor arbitrary text resolutions inDOSEMU2.

That means you can run 123 in a maximized xterm, and see more columns thanyou could possibly need!

screenshot

Note: This driver is intended for DOSEMU2 interm mode, i.e. running in a terminal.

This driver basically works, but I haven't fully implemented all the API, so if youdo something unusual it might trap.

If you are excited to help hacking on this, or writing modern add-ins for1-2-3, I'd love to hear about it!

Future ideas:

  • A FILE driver that adds native support for XLS, or ODT?
  • libcaca support so that text mode graphs work? working on it!
  • More modern @functions?
  • Javascript/Python/lua bindings?

Graphs

I have an incomplete ascii-art graphics implementation. That means drawingsimple graphs will work even in a terminal! Don't expect high resolutiongraphics, but simple line, bar, and even pie charts really do work!

Here is a screenshot of a sine wave line graph, it will improve in future.

sinewave

I have some development notes availablehere.

Building

If you just want a binary to try, check out the Releases section.

Note that this code isn't really ready for non-developer use yet, but you'rewelcome to try it out and tell me about any visual glitches or crashes!

123 FAQ

Q. Which display driver should I be using for terminal mode?

A. Select the CGA driver during install, then install this driver :-)

Q. If I use the /Worksheet/Status command, 123 does not see all the EMS/XMS memory I have configured in DOSEMU?

A. Try addingSET 123MEMSIZE=134217728 (that's 128M, use an appropriate number for your configuration) tofdppauto.bat.

There is also123SWAPPATH,123VIRTSIZE and123SWAPSIZE if you want to tweak it.

Q. If I try to use 123 in two xterms simultaneously, I get an error like "The stand-alone license is not currently available".

A. Add something like this to yourfdppauto.bat

REM CLEAN UP LICENSE FOR 1-2-3DEL C:\123R4D\LICENSE.000>NULCOPYNUL C:\123R4D\LICENSE.000>NUL

Q. What DOSEMU settings do you use for 123?

A. Here is mydosemurc

Q. How can I send 123 worksheets to someone else?

A. LibreOffice can open and convert WK3 files, if necessary. Most formulas and features will be preserved.

Q. Can I fetch external data into 123, like stock prices with a macro?

A. I use a macro like this to fetch stock prices (simplified):

{SYSTEM "UNIX stocks.sh GOOGL > %TEMP%\STOCKS.TXT"}{OPEN "C:\TMP\STOCKS.TXT", "r"}{READLN C1}{CLOSE}

TheUNIX command is aDOSEMU feature, it runs a command on the host. The123 online help explains how to loop over ranges, etc.

I have an example sheet that demonstrates how to do this availablehere, you can use it as atemplate.

It automatically populates a table of stock prices when you pressAlt-R. UseCtrl-PgUp andCtrl-PgDn to switch sheets and browse around.

You will need a script in your$PATH calledstocks.sh like this, and don'tforget to add the full path to your$_unix_exec in.dosemurc.

#!/bin/bashdeclare api="https://query1.finance.yahoo.com/v7/finance/quote"declare filter=".quoteResponse.result[].regularMarketPrice"curl -s"${api}?symbols=${1:-^GSPC}"| jq -r"${filter}"| cat

Q. What do I need to know to get started?

A. If you don't have a manual, there's one available onlinehere.

If you've used any spreadsheet before, you should be able to get startedquickly. Functions use@ instead of=, but the common functions like@SUM,@AVG,@INDEX, and even@HLOOKUP all work as you would expect.

KeyDescription
/Open the 123 menu.
F1Open online help.
F2Edit an existing cell contents, just type to overwrite cell.
F3Show names, press F3 while editing to see a list of functions or ranges.
F4Enter point mode - it's like visual mode in Vim - to select ranges.
F5Goto Address.
Ctrl PgUp/PgDnMove between open tabs/sheets (use /Worksheet/Insert/Sheet to add a tab).
F9Recalculate, if you press it while entering a formula, the text will be replaced with it's value.

If you want to be able to save your documents to your home directory, you canadd something likeLREDIR D: \\linux\fs\home\foo\Documents to yourfdppauto.bat.

Q. Why does selecting text with the mouse not work?

DOSEMU emulates a mouse (even in terminal mode!) so when you try to select textDOSEMU is reporting mouse events to DOS.

How to stop that happening depends on your terminal.

InXTerm you can Shift-RightClick and disable "Allow Mouse Ops", change theallowMouseOps resource to make it permanent.

In most terminals you can hold downShift while selecting.

Q. How do I undo my last action?

The default keybinding isAlt-F4, but that can be hard to enter on modern systems.

If you can't pressAlt-F4 easily, there are two options.

  1. DOSEMU has support for simulating modifier keys, you cantype: Ctrl-6 Shift-A F4 Ctrl-6 Shift-A.
  2. That's a lot of keys though, another workaround is to addSCANCODE to your%PATH%, and then binda macro to something like{SYSTEM "SCANCODE M 2,W 1,0 \"READY\",ALT-F4"}.

You can then bind a macro toAlt-Z by naming a range\z.


[8]ページ先頭

©2009-2025 Movatter.jp