I thought I've introduced my K80 SBC here or at RC2014-Z80 forum, but I can't find it, so I'm reintroducing it as a new topic.
https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:k80
I ran the assembly mandelbrot benchmark, AKA, shark jumping, ( https://groups.google.com/forum/#!topic/rc2014-z80/9B1NfijuUBM ). It ran in 1 minute and 26 seconds, which is odd, because the 36MHz Z180 ran 1 minute 40 seconds. We may need to revisit the assembly mandelbrot benchmark again.
I agree with your calculation, but since I don't have interrupt service in current version of K80 CPM, I'll see all that time whereas your interrupt driver will probably hide half of the time. I'm expecting 10-15 seconds better time from YAZ180.
Bill
Do you have a value for original benchmark with 36.8Mhz clock?
I agree with your calculation, but since I don't have interrupt service in current version of K80 CPM, I'll see all that time whereas your interrupt driver will probably hide half of the time. I'm expecting 10-15 seconds better time from YAZ180.
Attached is the source code that I assembled using zmac.
With 7.37MHz CPU oscillator and my version of CPM (no interrupt), it took 4:44 to run.
1:26 with 33MHz CPU clock.
My only optimisation was unrolling the multiply.
I now have a faster table multiply to try, when I'm in the mood to play with sharks. Perhaps over the weekend, I can play with this, and a floating point version too.
Bill Shen wrote:Attached is the source code that I assembled using zmac.Good to have a standardised version to work from from now on.With 7.37MHz CPU oscillator and my version of CPM (no interrupt), it took 4:44 to run.On my RC2014 using the SIO it took 4'58" to run. Slightly longer. I think we discussed elsewhere that using interrupt driver code is only useful up to a certain point.
I'll have a further play over the weekend to see what can be done with the multiply routines. I'm not trying to optimise by (for example) only sending a colour code when it changes, as this would completely change the program timings.
I thought I've introduced my K80 SBC here or at RC2014-Z80 forum, but I can't find it, so I'm reintroducing it as a new topic.
https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:k80
K80 is a basic Z80/ROM/RAM computer but with KIO for I/O. It is unremarkable except for the KIO which is an integrated PIO/SIO/CTC peripheral designed to run to 16MHz. I designed the memory interface to get as much access time as I can, and I separate the CPU clock from I/O clock so I can change the CPU clock at will.