8-Bit Show And Tell | Fastest C64 10 PRINT (one-line) With New Benchmark BASIC? @8_Bit | Uploaded September 2023 | Updated October 2024, 1 hour ago.
What's the fastest one-line 10 PRINT (maze) program we can write in Commodore 64 BASIC? To make experimental benchmarking easier, I created a small utility called Benchmark BASIC (download link below) that soft-patches the C64 BASIC and KERNAL ROMs to automatically report the run time of programs like 10 PRINT once the screen is full. Thanks to Alex Johnson for his speedy two-line version of 10 PRINT that helped inspire this video.
P.S. The thumbnail is from a joke contained *IN* this video - this actual frame appears just 11 seconds in. And hilariously, Youtube automatically suggested it as the thumbnail!
To support 8-Bit Show And Tell:
Become a patron: patreon.com/8BitShowAndTell
One-time donation: paypal.me/8BitShowAndTell
2nd channel: youtube.com/channel/UCAgWzEh5c8391eJnELDy9OA
Download the Benchmark BASIC .d64:
8bitshowandtell.com/downloads/bbasic.d64
To use: mount/attach the .d64 image
LOAD"BENCHMARK BASIC",8,1
SYS 49152 to start
STOP+RESTORE keys to disable
To load the source code (requires REU):
LOAD"TMP+REU",8,1
SYS 32768
to view disk directory: [back arrow] *
to load: [back arrow] L
file name: bb33 (or whatever latest filename is on disk)
cursor keys to navigate source file
[back arrow] 3
press S to start
The REU is required to assemble to RAM at $C000 (where Benchmark BASIC lives) because Turbo Macro Pro also uses that memory range. But if you don't have access to an REU, a workaround is to assemble to disk with [back arrow] 5, and then give a filename. Once assembly is complete, you can reset the computer, load the object code with ,8,1 and SYS 49152 to start it.
Video "Optimizing With Integers in Commodore 64 BASIC?": youtu.be/wo14rDnGUbY
Index:
0:00 Intro: 10 PRINT
1:36 Alex's fast 2-line 10 PRINT
5:15 TI$ benchmarking "the old way": reals vs. integers
9:09 Shortcomings of TI$ benchmarking
10:48 Introducing Benchmark BASIC
12:56 Optimizing classic 10 PRINT with BBASIC
17:11 Optimizing Alex's version
21:40 Making a faster one-line 10 PRINT
26:34 Unrolling it for extra speed
29:04 Addendum: Even more speed!
30:50 Future improvements?
33:00 Thanks!
What's the fastest one-line 10 PRINT (maze) program we can write in Commodore 64 BASIC? To make experimental benchmarking easier, I created a small utility called Benchmark BASIC (download link below) that soft-patches the C64 BASIC and KERNAL ROMs to automatically report the run time of programs like 10 PRINT once the screen is full. Thanks to Alex Johnson for his speedy two-line version of 10 PRINT that helped inspire this video.
P.S. The thumbnail is from a joke contained *IN* this video - this actual frame appears just 11 seconds in. And hilariously, Youtube automatically suggested it as the thumbnail!
To support 8-Bit Show And Tell:
Become a patron: patreon.com/8BitShowAndTell
One-time donation: paypal.me/8BitShowAndTell
2nd channel: youtube.com/channel/UCAgWzEh5c8391eJnELDy9OA
Download the Benchmark BASIC .d64:
8bitshowandtell.com/downloads/bbasic.d64
To use: mount/attach the .d64 image
LOAD"BENCHMARK BASIC",8,1
SYS 49152 to start
STOP+RESTORE keys to disable
To load the source code (requires REU):
LOAD"TMP+REU",8,1
SYS 32768
to view disk directory: [back arrow] *
to load: [back arrow] L
file name: bb33 (or whatever latest filename is on disk)
cursor keys to navigate source file
[back arrow] 3
press S to start
The REU is required to assemble to RAM at $C000 (where Benchmark BASIC lives) because Turbo Macro Pro also uses that memory range. But if you don't have access to an REU, a workaround is to assemble to disk with [back arrow] 5, and then give a filename. Once assembly is complete, you can reset the computer, load the object code with ,8,1 and SYS 49152 to start it.
Video "Optimizing With Integers in Commodore 64 BASIC?": youtu.be/wo14rDnGUbY
Index:
0:00 Intro: 10 PRINT
1:36 Alex's fast 2-line 10 PRINT
5:15 TI$ benchmarking "the old way": reals vs. integers
9:09 Shortcomings of TI$ benchmarking
10:48 Introducing Benchmark BASIC
12:56 Optimizing classic 10 PRINT with BBASIC
17:11 Optimizing Alex's version
21:40 Making a faster one-line 10 PRINT
26:34 Unrolling it for extra speed
29:04 Addendum: Even more speed!
30:50 Future improvements?
33:00 Thanks!