A few days ago I received a ROM from adtbm for testing and review. In this ROM the MEGA team, first of all Bit Shifter , has optimized the BASIC 10 in the C65 ROM in parts, fixed some bugs and adapted it for a better use of the extended MEGA65 capabilities with BASIC 10.
This resulting - I call it - "MEGA65 ROM" (because it doesn't work with the C65 emulator xc65 from LGB-Z anymore) is still in development and I'm glad that I was allowed to take a look at the current state 920116 already.
I deliberately did not want to know in advance what has been changed, so that I do not program the small benchmark test unconsciously "optimized" for a particular result.
I promised adtbm that I would try to test as objectively as possible and independent of the team's wishes. At this point again a big thanks to adtbm for the new Porsche in my garage!
To test the effects of the BASIC 10 optimizations made so far, I wrote a few short and unspectacular benchmark programs in BASIC 10 that test some typical "sticking points".
The tests all ran on my Nexys board. On the one hand with the extended ROM 920116 and on the other hand as comparison with the latest C65-ROM 911210 from Commodore.
I also ran the benchmarks at 3.5 Mhz (POKE 0,64) and 40 MHz (POKE 0,65) respectively.
I concentrated on the basics. So no graphics commands (except for one test that uses LOADIFF to read from disk image and display one IFF image per loop pass) or sound commands were included in the tests.
These are the test programs. Nothing special, one or two for-next loops that run through one or two lines of test code a few times. At the beginning and at the end the timer TI$ is output and then I noted the difference in seconds in each case.
The program "BENCH07" (loading a IFF image with LOADIFF) doesn't work with the new ROM 920116 at the Nexys board. It crashes trying to load the IFF:
So I have no time result for this test for the new ROM.
I summarize the results like this:
With the new ROM 920116, all benchmarks are processed faster than with the 911210 ROM.
The runtime was - depending on the test - from about 10% up to 47% faster.
Just to put that in very clear terms: The faster processing is exclusively caused by the revised ROM. The exact same hardware was used for the test runs. Only the ROM file was changed.
I can only say: Hats off to this great performance! If this continues with the optimizations, the 40 MHz mode will soon become obsolete.
At least for the moment the modification of the ROM for the MEGA65 will be a good solution for using the extensions of the MEGA65 (compared to the C65) also with BASIC 10.
That in the medium to long term a generally better BASIC for the MEGA65 would be helpful and good (e.g. discussed here), remains a topic for itself.
But at the moment and in the short term, this MEGA65 ROM will be the best BASIC 10 you can get for "no money".
I will certainly keep an eye on the further development of the ROM and I am glad to be allowed to - perhaps - make a small contribution with the benchmark tests. If desired and I can accommodate it in time, I'm also happy to help again with advice and superfluous comments.
Even if my personal focus - besides a BASIC 10 alternative - will still be the original C65 ROMs from Commodore (simply for historical reasons), I find the work on this modified ROM very gratifying and for the work with and on the MEGA65 a real progress.
Even more so when it is implemented as well as has been done so far by Bit Shifter . My greatest respect for doing it!
Keep it up, then you can also deliver a very great and more complete ROM with the MEGA65!
I have attached a zipped D81 disk image containing the benchmark programs and the IFF picture for BENCH07.