avatar_Prodatron

"Excel" for the CPC - SYMCALC spreadsheet application

Started by Prodatron, 19:23, 25 May 24

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

zhulien

i can envisage an A-Rexx (Amstrad Rexx) port one day in Symbos.

VincentGR

Quote from: zhulien on 07:52, 05 June 24i can envisage an A-Rexx (Amstrad Rexx) port one day in Symbos.
AmsRexx or SymRexx would be better cause Arexx is for the Amiga  ;D

Prodatron

Here is a speed comparison between SymCalc and Multiplan:



In this comparison they all do exactly the same recalculation: Around 110-130 cells are all connected to each other with the formula x^1.5 and dependant as a chain from one origin cell. When changing the origin cell, all other will be recalculated automatically.

Results:

#4: Amstrad CPC, 8bit, 4MHz (CP/M, Multiplan): 49.7 seconds
#3: Spectrum +3, 8bit, 4MHz (CP/M, Multiplan): 43.6 seconds
#2: IBM XT comp., 16bit 4,8MHz (MS-DOS, Multiplan): 7.7 seconds
#1: Amstrad CPC, 8bit, 4MHz (SymbOS, SymCalc): 6.7 seconds

The comparison may not be 100% correct. In SymCalc a total of 109 cells are recalculated (11*10-1), while in Multiplan it seem to be up to 132 (19*7-1), but some (around 21) show an overflow, so maybe at the end it is about the same.
Anyway the differences between the same 8bit machine is crazy, and SymCalc still beats the 16bit XT PC (however running at only 4,xMHz it seems to be quite fast for an 8088).

You will also recognize the differences in updating the sheet during the recalculation. While Multiplan seems to go through every single cell, SymCalc is doing the whole recalculation in the background and then refreshes the whole part of the screen with the changes in one step. This is done, when the amount of updated cells exceeds a limit of about 10, otherwise it would do it one by one as well.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Maniac

Simply astounding! I keep telling my team at work that innovation comes from limiting factors and restrictions. This is the very definition of this!

McArti0

@Prodatron 

Is it possible to enable CPM virtual with Multiplan and SymCalc with an expansion of 256kB or 512kB RAM?

How much memory does SymCalc take with one Sheet?
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

HAL6128

Do you know why there are timing differences between the CPC and the Spectrum? Aren't they technically similar?

Impressive result to SymCalc by the way.
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

andycadley

Quote from: HAL6128 on 22:27, 11 June 24Do you know why there are timing differences between the CPC and the Spectrum? Aren't they technically similar?

Impressive result to SymCalc by the way.
The spectrum display is faster to write to. And, if you can keep everything in uncontended RAM, it runs faster than the CPC too (where all RAM has some degree of contention).

Prodatron

Quote from: McArti0 on 21:48, 11 June 24@Prodatron

Is it possible to enable CPM virtual with Multiplan and SymCalc with an expansion of 256kB or 512kB RAM?

How much memory does SymCalc take with one Sheet?
Multiplan in SymbOS under CP\/M would require around 128K (64K TPA + CP\/M + SymShell).
SymCalc is currently using around 60K for 1024 cells. As some things are still missing, I expect the final size for one single sheet with up to 2000 cells at around 100K. I am planning to add multi-sheet support (up to 4) in one document, then of course it will take more, if they are all full of data.
So if you want to run both spreadsheet applications at the same time in SymbOS you probably need a 6128 with a 256K ram expansion or more.
Maybe it's a fun idea, and I should try this :)

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

McArti0

And have You thought about swapfile in SymbOS?  When changing RAM banks, you could check the flag to see if the memory is occupied and then save and load another bank.  xls 256x65536 cells
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

Prodatron

Quote from: McArti0 on 12:06, 12 June 24And have You thought about swapfile in SymbOS?  When changing RAM banks, you could check the flag to see if the memory is occupied and then save and load another bank.  xls 256x65536 cells
That will probably be hard to implement. Let's think about it...

- all processes in one 64K bank would have to be in sleep mode, so that the bank can be swapped to disc; to optimize this, an application should first tell the system, if it is usually sleeping, when the user is not using it; so the system could try to bundle such apps in the same banks
- you can't swap a single process/application to disc, as it is relocated once after loading, and can't be relocated again when it was already running
- a far-address in SymbOS is 20bit, 4bit are used for the 64K bank number. If you would swap one 64K bank to disc, fill it with other stuff, then another bank gets free, and you load the old 64K bank from disc there again, all far-addresses to this bank would be wrong; so the kernel would have to work with physical and virtual bank numbers and translate them, when handling far-addresses
- applications can use a secondary ram bank for storing data or executing code; the system has to know, that they are connected; this might be a show-stopper

It looks interesting from an engineering aspect, but no idea if it will be possible and requires a lot of additional work. Today RAM isn't an issue, most of the time you can get a ram expansion somewhere, so I don't think that makes sense.


Quote from: McArti0 on 12:06, 12 June 24xls 256x65536 cells
Today even 16384 x 1048576 cells (17 billion in total)  :o I am afraid, that this is too much for an 8bit machine :D

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

zhulien

maybe you can make a physical release of the latest symbos with symcalc and a printed manual? add me to the list.

m_dr_m

@Prodatron  I wish I were as excellent and productive as you. What is your secret? Legit question! I want to improve myself.

Powered by SMFPacks Menu Editor Mod