We take our deepest look yet at the TI and TI$ "variables" on the Commodore 64 and 128: how they look like variables but are called functions and how they're not really either, how the clock is implemented, how TI works on both the Commodore 64 and 128,, some bugs and quirks in the implementation, dispelling myths about whether a jiffy is a different length on PAL vs. NTSC, and potential patches to fix the admittedly minor bugs. One byte changed in each of the KERNAL and BASIC ROMs!
To support 8Bit Show And Tell:
Become a patron: / 8bitshowandtell
Onetime donation: https://paypal.me/8BitShowAndTell
2nd channel: / @8bitshowandtell247
Links:
C64 BASIC integers: • Optimizing With Integers in Commodore...
WAITing for BASIC: • WAITing for BASIC on the Commodore 64
Pagetable.com disassembly: https://www.pagetable.com/c64ref/c64d...
Toolkit BASIC 64: https://archive.org/details/COMPUTEs_...
Index:
0:00 Another TIME
0:58 Not really variables, not keywords they're sort of functions!
5:13 TI is derived from the KERNAL jiffy clock
7:17 A Leap Jiffy
11:17 60 jiffies per second even on PAL machines!
15:08 PAL Commodore 128: Raster driven jiffies!
23:04 Can't assign TI
25:03 Retrieving TI
26:40 Retrieving TI$
30:33 Assigning TI$, bug exploration
33:42 TI$ assignment algorithm in BASIC
40:06 Patching assignment bug
44:50 Thanks!