While at the vintage computer festival, I had an Apple 1, an Apple II with integer BASIC and an Apple IIplus with Applesoft all up and running.
At one point late in the afternoon on Sunday, I decided to have a simple performance contest between these machines. This is the program.
10 FOR I = 0 TO 10000
20 NEXT I
30 PRINT “DONE”
Two machines were matched against each other and the program started at the same time on both machines. The first to finish was the winner.
After several heats, here are the results.
1st place – Apple 1 – by a little
2nd place- Apple II
3rd place – Apple II plus – way behind
At first, I was confused by the Apple 1 beating the Apple II, as the Apple II should run about 5% faster than an Apple 1. This is do to the more efficient method for refreshing memory on the Apple II. The Apple 1 stops processor clocks while refreshing, while the Apple II uses unused portions of the 6502 bus cycles to refresh memory (and read video display data). Integer BASIC on the Apple II is a direct development of Apple 1 Basic, so I was thinking that the performance would depend on the processor, not the Integer BASIC implementation, which were basically the same.
After a while I realized that Apple 1 BASIC might be a little simpler than Apple II BASIC and thus faster. I ran a second test. In this test, I booted the A2plus that I had there at the show into Apple 1 mode, with the Brain Board/WOZANIUM and ran the test against the original Apple 1. Both machines were now running virtually the same version of BASIC. In this case, the Apple II beat the Apple 1 by the expected amount. Thus, Apple 1 BASIC running on an Apple II, is the fastest version of Apple BASIC.
However, keep in mind that if print statements are added to the loop, the Apple II will beat the Apple 1 by a substantial amount.