Page 1 of 8

ZX81X2.ROM - and the big bang

Posted: Sun Sep 23, 2018 10:37 am
by zsolt
Dear ZX-Fans,

The first steps of this project (inspired by this topic)
were made about two years ago and the results were published as a continuation of "SG81" (C..G2).

During this "journey" it was managed to speed up: the printing; the number printing; the floating point arithmetics
and parts of the built-in calculator - and several minor bugs have been fixed. And now "we have arrived". (a la Coelho ;) )

The latest improvements:
  • the renewed comparison operations from now have two entry points: one for "=,<,>", and an other for "<>,>=,<=";
  • the improved 'INT' function and the renewed 'NEXT-LOOP' routine are calling directly the new and
    quick numeric comparison instead of subtraction
  • the system variable 'CDFLAG' from now includes two new status bits:

    - bit 5 signs the noncollapsed (expanded) display file, its status is checked by the renewed screen manipulating routines
    - bit 4 is the plot48 flag - if it is set, then the plot origin will be moved to the left bottom corner and the Y coordinate can be 0..47 :!:
  • the ending part of the new 'CLEAR PRINTER BUFFER' routine is used by the new 'CLS' and 'SCROLL' routines
  • the new 'CLS' routine is much faster than the original and sets the new status bit of the 'CDFLAG' (bit 5) depending on the available memory (dramatically reduces also the time required for booting)
  • the 'SCROLL', the 'LOCATE ADDRESS' and the 'PLOT AND UNPLOT' routines were enhanced to work in two ways depending on
    bit 5 of 'CDFLAG':

    (1) as before (bit 5 = 0): eg. the 'SCROLL' damages the display file
    (2) or quick (bit 5 = 1): making use of the direct writing possibility of the linear display file
  • the old 'Handle string AND number' routine was completely removed its function is provided by the 'Handle number AND number' routine
  • the 'Absolute magnitude' and the 'Handle PEEK' functions have been moved
  • the patched routines: 'PRINT A CHARACTER', 'RUBOUT', 'ED-EDGE', 'RND'
    the 'POINTERS' routine is again in its original (unpatched) format

These changes above made the Zeddy's BASIC more agile.
These changes above made the Zeddy's BASIC more agile.

What to find in the ZIP:
  • zx81x2.rom - the new ROM image file;
    zx81x2m.rom - for ZXmore (wo. 3T-patch);
  • zx81x2.asm - the assemby listing of the renewed ROM;
  • tests folder - demo and test programs for zx81x2.rom

Finally let's see the BIG BANG (without the original soundtrack :( )

Enjoy,
Zsolt

:!:
EDIT: click here for the latest variant
:!:
(semi latest release downloaded 565 times)

Re: ZX81X2.ROM - and the big bang

Posted: Sun Sep 23, 2018 11:41 am
by Andy Rea
Fabulous stuff indeed... cant believe you made that massive increase in speed :ugeek:

regards Andy

Re: ZX81X2.ROM - and the big bang

Posted: Sun Sep 23, 2018 12:58 pm
by Moggy
Superb work Zsolt, time to fire up the EPROM burner! :ugeek:

Re: ZX81X2.ROM - and the big bang

Posted: Sun Sep 23, 2018 1:06 pm
by olofsen
Congratulations!!! :)

Re: ZX81X2.ROM - and the big bang

Posted: Sun Sep 23, 2018 2:04 pm
by Andy Rea
Moggy wrote: Sun Sep 23, 2018 12:58 pm Superb work Zsolt, time to fire up the EPROM burner! :ugeek:
I was wondering just the same... I have 2 zxpand and a zxpand+ was thinking i could cobble my olde zxpand with the zxpand patches and the improved rom. must see if Charlie has the source available for the 6.7 ( err maybe 6.6) rom available.

regards andy

Re: ZX81X2.ROM - and the big bang

Posted: Sun Sep 23, 2018 2:41 pm
by McKlaud
My jaw hits the floor! :o :o :o

Congratulation Zsoft, you did amazing job.

Re: ZX81X2.ROM - and the big bang

Posted: Sun Sep 23, 2018 6:11 pm
by nollkolltroll
Really amazing work!

Re: ZX81X2.ROM - and the big bang

Posted: Sun Sep 23, 2018 10:58 pm
by Moggy
Well just had to fire up the burner and see what all the fuss was about. :lol:

Having burned suitable EPROM courtesy of my Spectrum EPROM programmer I plugged in the EPROM and tried a few tests of my own.

First I tried a random chaotic fraction generator of my own device which, rather than use the zeddy inbuilt RND facility, relies in part on the logistic equation to achieve the desired end.

In short work out a fraction print at screen bottom, scroll up one rinse and repeat. As you may imagine this is rather slow but allows you to see if the numbers are chaotic with no obvious patterns.
Tried the new ROM version aaaannndd...

HELLS BELLS!! It goes like you know what off a shiny shovel, God this things fast. :lol:

I then tried my patent Lotto predictor based on the above which usually takes a year off to work things out then slowly print a nice display of numbers inside a grid. The new ROM version? light speed in comparison.

Long story short the maths functions are really improved speed wise and a couple of nice touches are a scroll that doesn't take all day to clear the screen when stopped and a cursor that appears nearly instantly on power up.


All in all a most splendid and more importantly useful addition to our favourite little wedge. :D

Excellent work Zsolt. :ugeek:

Re: ZX81X2.ROM - and the big bang

Posted: Mon Sep 24, 2018 9:01 am
by nollkolltroll
Since the use of this requires a new EPROM anyway, burning a dual rom with a switch is a really good way to go. Speed from the new rom for most things, and a fallback to original rom if/whenever things mess up. Just fantastic!

Re: ZX81X2.ROM - and the big bang

Posted: Mon Sep 24, 2018 11:23 am
by siggi
Great :mrgreen:

Now I need to add my own patches (LOAD/SAVE/LPRINT/POKE) to the asm file to run it on my (slightly modified ;) ) Zeddies ..

Thanks for that big bang
Siggi