X16Cell - a spreadsheet
Posted: Tue May 02, 2023 4:14 am
This is ... a thing. I really just wanted to challenge myself with the restrictions of the X16. So, I made a spreadsheet program.
Limitations and caveats:
You are probably better off finding a copy of VisiCalc and reverse-engineering it to run on the slightly different hardware.
So you don't also have to go to GitHub:
Commands:
3 + @sum(A0; 2; 3; A2:B4)
5 + 2 * 3 - 7 / (3 + -5)
The supported functions are sum, count, average, min, max, trunc, round, and abs.
UPDATE 27 Oct 2023:
I reworked and removed the 14KB table. This has allowed me to:
* Increase the number of columns to 26.
* Add commands to insert and remove rows and columns.
I have also:
* Improved the performance when you aren't scrolling the screen.
* Improved the performance of file load.
* Moved to 80x30 text mode.
Not fixed:
* File load/save on real hardware.
Try It Now!
#R45
Limitations and caveats:
- The numerics are a little sloppy, but should be fine for a household budget.
- It is PAINFULLY slow.
You are probably better off finding a copy of VisiCalc and reverse-engineering it to run on the slightly different hardware.
So you don't also have to go to GitHub:
Commands:
- WASD and Cursor keys - Navigate the sheet
- z or Home - Go to cell A0
- [ - Decrease the size of the current column
- ] - Increase the size of the current column
- ' or " - Insert a label in this cell, overwriting previous contents
- = or + - Insert a formula in this cell, overwriting previous contents
- ! - Recalculate sheet
- xx - Delete the current cell's contents
- xr - Delete the current row's contents
- xc - Delete the current column's contents
- uu - Remove the current cell and shift cells right
- uo - Remove the current cells and shift cells up
- ur - Remove the current row
- uc - Remove the current column
- ii - Insert a cell and shift cells right
- ir - Insert a row
- ic - Insert a column
- oo - Insert a cell and shift cells down
- or - Insert a row below the current row
- oc - Insert a column to the right of the current column
- e - Edit the current cell (if it has contents)
- q - Quit: you must follow a q with a y to really quit.
- , - Toggle comma as the output decimal separator
- j - Toggle row/column-major recalculation
- k - Toggle left-to-right or right-to-left recalculation
- l - Toggle top-to-bottom or bottom-to-top recalculation
- n - Save file (use contents of current cell as file name)
- m - "Load" file (use contents of current cell as file name)
- ENTER - Exit edit mode
3 + @sum(A0; 2; 3; A2:B4)
5 + 2 * 3 - 7 / (3 + -5)
The supported functions are sum, count, average, min, max, trunc, round, and abs.
UPDATE 27 Oct 2023:
I reworked and removed the 14KB table. This has allowed me to:
* Increase the number of columns to 26.
* Add commands to insert and remove rows and columns.
I have also:
* Improved the performance when you aren't scrolling the screen.
* Improved the performance of file load.
* Moved to 80x30 text mode.
Not fixed:
* File load/save on real hardware.
Try It Now!
#R45