This page (revision-47) was last changed on 03-Feb-2023 15:21 by Roland B. Wassenberg 

This page was created on 23-Apr-2014 11:57 by Roland B. Wassenberg

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
47 03-Feb-2023 15:21 14 KB Roland B. Wassenberg to previous
46 02-Sep-2017 23:26 14 KB Roland B. Wassenberg to previous | to last
45 02-Sep-2017 22:35 13 KB Roland B. Wassenberg to previous | to last
43 02-Sep-2017 22:34 13 KB Roland B. Wassenberg to previous | to last Synapse SynCalc ==> SynCalc
44 02-Sep-2017 22:34 13 KB Roland B. Wassenberg to previous | to last Synapse SynCalc ==> SynCalc
42 11-May-2017 15:23 13 KB Roland B. Wassenberg to previous | to last
41 11-May-2017 15:18 13 KB Roland B. Wassenberg to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 116 added 49 lines
!!Findings from Mike Silva:
Zero page\\
\\
$95 Current Spreadsheet Row (all rows and columns are zero-based)\\
$96 Current Spreadsheet Column\\
\\
$99 Current Screen Y\\
$9A Current Screen X\\
\\
$9F Current Cell Data Pointer (points to data of current cell)\\
\\
$A7 Last Spreadsheet Row\\
$A8 Last Spreadsheet Column\\
\\
$CA Last Added Cell Data Pointer (a stack pointer to next free memory to add new cell data) More below #1\\
\\
Non-zero page\\
\\
$1901 Array of column widths\\
\\
$19DB Last direction of cursor movement (1=left, 2=right, 3=up, 4=down)\\
\\
$1A00 Screen memory\\
\\
$2BF3 Array of 3-byte cell structures. Each structure consists of a 2-byte cell data address, followed by one additional byte (more below #2). Array order is A1, B1, C1,...n1, A2, B2, C2,...n2,...Am, Bm, Cm,...nm where n is last sheet column, m is last sheet row.\\
\\
#1 Cell data is form B1, B2, B3, cell data (variable number of cell data bytes).\\
B1: D7-D6 = number format code\\
D5 = comma flag\\
D4 = dollar flag\\
D3 = percent flag\\
D2 = ??? haven't figured this one out\\
D1-D0 = sign code\\
B2: D7-D6 = justify code\\
D5-D4 = ??? haven't figured this one out\\
D3 = protect value flag\\
D2-D0 = margin value 0-7\\
B3: D7 = protect entry flag\\
D6-D0 = length of cell data that follows\\
\\
Cell data is either text or ATARI numeric. In formula cells the value of the formula is first, followed by the actual formula.\\
\\
#2 Additional cell info byte\\
D7-D6 = cell type (01 = text, 10 = numeric, 00 = empty cell?)\\
D5-D2 = precision value\\
D1-D0 = ???\\
\\
The cell data stack grows downward from $7FFF on a 48k machine. By testing other hardware it will be possible to see where the stack begins in different memory circumstances, and also perhaps to ID some other addressing bits in the cell pointer array, bits that are just zero in the base 48k version.\\