Page 2 of 2

Re: A mathematical demo

Posted: Mon Jan 14, 2019 9:24 pm
by robcfg
Here are the results for 3000 digits:

6809 2838.62
6809 Fast 1413.94
6309 750.82
6309 Fast 374.12

The 6309 is a beast indeed!

Glad to help if you need any more tests.

Re: A mathematical demo

Posted: Tue Jan 15, 2019 9:11 am
by litwr
Thanks a lot! :) The benchmark results are updated - http://litwr2.atspace.eu/pi/pi-spigot-benchmark.html
XRoar is surprisingly accurate even with 6309. A lot of thanks to its developer too.
It is interesting that your hardware could work at the double speed without problems. Does your iron actually use DRAM or maybe your system is an upgraded one which uses SRAM? People had a discussion about 5 years ago - viewtopic.php?f=8&t=338&p=10573&hilit=refreshing#p10573 - and they were rather unsuccessfull trying to run their Dragons at the double speed...

Re: A mathematical demo

Posted: Tue Jan 15, 2019 11:20 am
by sixxie
I'm surprised myself! Not about the timing - Darren A documented all that and he's generally pretty reliable - but that XRoar's DIV instructions work as they should.

I basically never had a test case for them :)

Do you use both DIVD and DIVQ, or only one of them? Do you exercise them well, e.g. making use of the condition code flags?

I wonder if I can remove the big "UNVERIFIED" flag now...

Re: A mathematical demo

Posted: Tue Jan 15, 2019 11:41 am
by robcfg
You can see a scan of my 64's board here.

The only thing I changed since I got it in 1993 is the processor, which I upgraded to a 6309.

Also, during fast mode operation, I could only see garbage on the screen and saw the result once the program finished.

Re: A mathematical demo

Posted: Wed Jan 16, 2019 1:40 pm
by litwr
sixxie wrote:I'm surprised myself! Not about the timing - Darren A documented all that and he's generally pretty reliable - but that XRoar's DIV instructions work as they should.

I basically never had a test case for them :)

Do you use both DIVD and DIVQ, or only one of them? Do you exercise them well, e.g. making use of the condition code flags?
All the sources are attached at the end of the benchmark results table. You can also look at https://github.com/litwr2/rosetta-pi-sp ... n-6309.asm. I used only DIVQ without flags checking. The dividends are various 32-numbers, the divisors are 16-bit odd numbers and 10000. It is not a thorough test but IMHO it gives the impression that wrong DIVQ can't pass it.

@robcfg Could you check the results? If DIVQ is wrong then it just gives wrong digits. IMHO checking the last digits will be enough. For 100 digits they are 7067, for 500 - 9491, for 1000 - 0198, for 3000 - 49423196, for 3176 (it is the maximum for my 6309 program) - 07104863.

Re: A mathematical demo

Posted: Wed Jan 16, 2019 1:52 pm
by robcfg
It’s a blessing I kept the pictures I took from the screen with the different results :mrgreen:

They all match on all four configurations.

Re: A mathematical demo

Posted: Thu Jan 17, 2019 10:13 am
by litwr
robcfg wrote:It’s a blessing I kept the pictures I took from the screen with the different results :mrgreen:

They all match on all four configurations.
So it proves that DIVQ is rather correct. IMHO It is worth to publish one of the pictures.

Re: A mathematical demo

Posted: Thu Jan 17, 2019 8:16 pm
by robcfg
I made a mosaic of all the pictures.

They are not great, but you can read the numbers well :mrgreen: