(Updated November 20, 2024) Overview The process of tokenizing a BASIC program converts the text to a sequence of compressed codes mixed with ASCII (PETSCII) characters. The idea is to have the “compiling” of the code completed and work within an intermediate representation that: Reduces the space occupied by the program. Speeds interpretation of the … Read More “C64 BASIC Tokenizing” »
Category: C64
(Updated November 20, 2024) Table of contents Overview BASIC History BASIC Statement Structure BASIC Language BASIC Constructs Afterward VICE Overview The BASIC (Beginner’s All-purpose Symbolic Instruction Code) language was created by John Kemeny and Thomas Kurtz at Dartmouth in 1964. It was a simple, unstructured language that was reasonably easy to learn. BASIC was prevalent … Read More “C64 BASIC (in about an hour)” »
(Updated July 22, 2024) Overview The methods of programming CPUs/computers have had a vast history. This document is intended to provide a historical introduction to the complexity of how systems were programmed. The details contained here concern the 6502 and 6510 processors. The 6510 was used in the Commodore 64. This was chosen for its … Read More “Machine Code – Assembly Language” »
(Updated April 21, 2024) Table of contents Overview Emulation Operation Test Drive VICE Overview The Commodore 64 was notably the best-selling computer in history. It was inexpensive, easy to use, and had a following larger than any other platform from that period. Using the MOS-6510 (a descendant of the VIC-20’s MOS-6502), anyone familiar with the … Read More “Commodore 64” »
(Updated April 21, 2024) BASIC kaleid.bas 10 print chr$(147) 20 ca=1024:cp=54272:r=25:co=40 30 poke 53280,0:poke 53281,0 40 forw=3to50:fori=1to12:forj=0to12:k=i+j 50 c=j+j+j/(i+3)+i*w/12 60 k1=ca+i+(co*k):i1=ca+k+(co*i):c1=cp+k1:c2=cp+i1 70 k2=ca+(co-i)+(co*(r-k)):i2=ca+(co-k)+(co*(r-i)):c3=cp+k2:c4=cp+i2 80 k3=ca+(co-i)+(co*k):c5=cp+k3:i3=ca+k+(co*(r-i)):c6=cp+i3 90 k4=ca+(co-k)+(co*i):c7=cp+k4:i4=ca+i+(co*(r-k)):c8=cp+i4 100 poke k1,81:poke c1,c:poke i1,81:poke c2,c 110 poke k2,81:poke c3,c:poke i2,81:poke c4,c 120 poke k3,81:poke c5,c:poke i3,81:poke c6,c 130 poke k4,81:poke c7,c:poke i4,81:poke c8,c 140 nextj,i,w 150 goto … Read More “Commodore 64 Code Examples” »