Recently came across The National Museum of Computing's video on the Grand Digital Computer Race and thought I should give it a go on a C=64 Commodore 64. I am using the VICE Emulator for the German PAL version of the C64, cc65's assembler as65 and linker.
cl65 -o bigint_fib -t c64 -C crypto/c64-asm.cfg bigint_fib.s
[ Ссылка ]
It's so much easier today to do this than back then. I needed 568 lines of Assembly code for this, but my BCD routine does include multiplication, which I didn't need for this test. So, the code isn't that big. Binary has 967 bytes, source 7530.
It would be very much higher if I didn't need to output all those damn numbers and lose all the processing power due to scrolling the screen down. But I didn't know the exact circumstances of the competition, so I have here the conservative approach. And I didn't do any, really any optimization.
The non-scrolling version runs up to 519 though. If run with a SuperCPU (65816) it will get up to 2404 numbers. Higher than a PC with Windows 95…
Computer Museum's video is here: [ Ссылка ]
TIM's Entry here: [ Ссылка ]
This is the number of results calculated by the other machines:
3: WITCH
4: I Phone with Siri
7: Facit Calculator
16: PDP-8
38: Apple II
70: BBC Micro
243 (519 w/o scrolling): Commodore 64, BCD mode Assembly solution
1477: Windows 95 on a PC
2404: Commodore 64 with SuperCPU w/o scrolling
6843: BBC Micro:Bit
unfair additions:
16772: Pi1b (LuaJIT 2.0.3)
29620 : Pi3 (LuaJIT 2.0.3)
37835: Xiaomi Redmi Note 4, Snapdragon 625 8953 octacore@2GHz
65250: AMD FX-6300 Hexcore @ 3.5-4.0 GHz (slightly overclocked) (LuaJIT 2.1..0-beta3)
![](https://s2.save4k.ru/pic/z2WW4NirAcU/maxresdefault.jpg)