Need for speed - the ROM-patches

Anything Sinclair ZX Basic related; history, development, tips - differences between BASIC on the ZX80 and ZX81
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: Need for speed - the ROM-patches

Post by Andy Rea »

Andy Rea wrote:CLCKFREQ.P new record (for me anyway)

frames taken: 194
speed 960.3%
freq 7.68Mhz

this is 20Mhz turbo mode, Wilf's Why wait circuit (coded in the CPLD), and the SG81_b rom as posted by Zsolt.

now then.... how do i get to 1000%...

Regards Andy
does this count.... even thought CLCKFREQ would report a normal speed ZX81... this sucker runs 10X faster than normal including video generation... which is then fed to a VGA-submodule...

https://www.youtube.com/watch?v=Y9ZIVzMZvJE

Andy
what's that Smell.... smells like fresh flux and solder fumes...
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: Need for speed - the ROM-patches

Post by sirmorris »

Meh, doesn't count IMHO.

Although ... In Mahlerts I asked many people to define what a zeddy was. I think the general answer was - if you can run any piece of ZX81 software on there unaltered then it's a zeddy. I suppose this FPGA implementation technically passes that test.

For me though - it has to have (at least) 4 chips. End of.

C
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: Need for speed - the ROM-patches

Post by PokeMon »

sirmorris wrote: For me though - it has to have (at least) 4 chips. End of.

C
For me, it has to be slow to be a real Zeddy. :mrgreen:

In fact any hardware modification is allowed for me except increasing the clock frequency.
So 3.25 MHz for Z80 is a must, every hardware mod making it faster is good, any software mod is good same (SG81 rom).
User avatar
zsolt
Posts: 214
Joined: Wed Apr 20, 2011 11:43 am
Location: Fót, Hungary

Re: Need for speed - the ROM-patches

Post by zsolt »

Hello again,

Since the "Towers of Hanoi" i dealt with a lot of BASIC programming - again - but...

Because of this topic I returned to the machine code, and the first results are in the attachment.
the "loc-addr" routine was rewritten
the "loc-addr" routine was rewritten
sg81_c.png (17.63 KiB) Viewed 7599 times
Enjoy,
Zsolt
Attachments
SG81_c.zip
(95.17 KiB) Downloaded 346 times
ZX81 (8K), ENTERPRISE 128, [ZX SPECTRUM (48K,+,+128K,+2,+2A), TS1000, TS1500, TS2068, Cambridge Z88, PRIMO A64 (red)]
nollkolltroll
Posts: 325
Joined: Sat Sep 27, 2014 8:02 pm
Location: Stockholm, Sweden

Re: Need for speed - the ROM-patches

Post by nollkolltroll »

Wow! So it is now possible to get 25,5% more speed from our Zeddies just by replacing the original ROM.
This without modding any hardware, breathtaking!
/Adam
User avatar
zsolt
Posts: 214
Joined: Wed Apr 20, 2011 11:43 am
Location: Fót, Hungary

Re: Need for speed - the ROM-patches

Post by zsolt »

Hi,

Do you remember this BASIC trick: nnnn POKE 16418,0 (where the 'nnnn' is a BASIC line number) ?
Using this trick, you can write on entire screen - the zeddy accepts the PRINT AT 23,xx

But :!: What about PLOT and SCROLL :?:
The PLOT origin (0,0) does not change - see on the picture below - the SCROLL destroys the system.
I made some little changes in the ROM routines to solve the (or just my) problem
I made some little changes in the ROM routines to solve the (or just my) problem
SG81_D-test.png (28.69 KiB) Viewed 7496 times
You can find in the attachment:

SG81_d.rom - the patched ROM
SG81_d.asm, newSCROLL.asm, newPLOT.asm, newPOINTERS.asm, new_e-to-fp.asm - the source codes
bottomlines.p, print_at23.p, plot48.p, scroll24.p, neg-pr-pl.p - the examples

The latest source code (new_e-to-fp.asm) is a little step to solve the zeddy's "printing a floating point number" problem -
see this topic.

Regards,
Zsolt

EDIT: the latest version is here - the plot-mod was removed because of the backward compatibility.
Last edited by zsolt on Tue May 09, 2017 11:27 pm, edited 1 time in total.
ZX81 (8K), ENTERPRISE 128, [ZX SPECTRUM (48K,+,+128K,+2,+2A), TS1000, TS1500, TS2068, Cambridge Z88, PRIMO A64 (red)]
User avatar
siggi
Posts: 988
Joined: Thu May 08, 2008 9:30 am
Location: Wetterau, Germany
Contact:

Re: Need for speed - the ROM-patches

Post by siggi »

Does that also mean, that e. g.
POKE 16418,10
sets the origin for PLOT 10 lines up?

And does SCROLL then only scrolls up the first 14 lines and does not touch the lower 10 lines?
If yes, that could be used to scroll parts of the screen, maybe useful in games, when POKE 16418 is set to several values depending of the state of the game ...

Siggi
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware
http://zx81.ddns.net/ZxTeaM
User avatar
zsolt
Posts: 214
Joined: Wed Apr 20, 2011 11:43 am
Location: Fót, Hungary

Re: Need for speed - the ROM-patches

Post by zsolt »

siggi wrote:Does that also mean, that e. g.
POKE 16418,10
sets the origin for PLOT 10 lines up?
And does SCROLL then only scrolls up the first 14 lines and does not touch the lower 10 lines?
:D Exactly :D
poketest.p
try this example
(435 Bytes) Downloaded 365 times
(btw. the latter effect was available with the original rom also)
Regards,
Zsolt
ZX81 (8K), ENTERPRISE 128, [ZX SPECTRUM (48K,+,+128K,+2,+2A), TS1000, TS1500, TS2068, Cambridge Z88, PRIMO A64 (red)]
User avatar
siggi
Posts: 988
Joined: Thu May 08, 2008 9:30 am
Location: Wetterau, Germany
Contact:

Re: Need for speed - the ROM-patches

Post by siggi »

I loaded SG81 into my ZXNU and ran the POKETEST. Works fine :)
AFAIK the final POKE 16418,2 is not necessary. I never used that in my programs, after I had used the full screen. It seems to be set to default at the end of the program.

Siggi
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware
http://zx81.ddns.net/ZxTeaM
User avatar
siggi
Posts: 988
Joined: Thu May 08, 2008 9:30 am
Location: Wetterau, Germany
Contact:

Re: Need for speed - the ROM-patches

Post by siggi »

Andy Rea wrote:CLCKFREQ.P new record (for me anyway)

frames taken: 194
speed 960.3%
freq 7.68Mhz

this is 20Mhz turbo mode, Wilf's Why wait circuit (coded in the CPLD), and the SG81_b rom as posted by Zsolt.

now then.... how do i get to 1000%...

Regards Andy
Did you already try the latest SG81 Rom?

Siggi
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware
http://zx81.ddns.net/ZxTeaM
Post Reply