(Updated February 18, 2025) Table of Contents Starting Out With Old Tech The MOS 6502 References Starting Out With Old Tech The tech we’re talking about here is the MOS 6502. Why choose an old CPU such as this? It’s a good place to begin since the CPU is so primitive that we can easily … Read More “Chapter 6502-0 – Where to Begin?” »
Author: William Jojo
(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 26, 2024) Overview When building a simple text game, we want the process to be smooth and elegant. There should be few places to trip up the user or make the play awkward. In this write-up, we look at how we can craft the building blocks of a valuable and user-friendly game. User … Read More “Building a Guessing Game” »
(Updated November 19, 2024) Overview We often have data in a form that is not immediately useful. If we need to do mathematical calculations and all we have is a string, we must first take another step. Here, we explore some of the finer details of how this can be done by examining the algorithm … Read More “Converting Strings” »
Overview Sometimes, we have data in one form that needs to be put into another as code or storage in a database. Many editors, like Sublime Text, have Find/Replace tools for complex data transformations. IntelliJ has a similar facility within its editor (Edit/Find/Replace). This brief tutorial explains some regexes (regular expressions) used to achieve quick … Read More “Data Transformation with Regex” »
(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” »
CISS-111 Group Project 2 Write a BASIC tokenizer for the Commodore 64 (C64). Read Crafting Interpreters, Chapter 4 sections 4.4 and later for a basic understanding of what you are building. Take as much code as you think you need from that model. You don’t need it all, nor do you need it necessarily as … Read More “Group Project 2 (of 2)” »
(Updated July 14, 2024) String name; int len; name = “Bill”; len = name.length(); System.out.println(name.charAt(0)); System.out.println(name.charAt(1)); System.out.println(name.charAt(2)); System.out.println(name.charAt(3)); System.out.println(“The length of the string is ” + len); String name; int len; name = “Bill”; len = name.length(); System.out.println(name.charAt(0)); System.out.println(name.charAt(1)); System.out.println(name.charAt(2)); System.out.println(name.charAt(3)); System.out.println(“The length of the string is ” + len); String name; int len; name … Read More “Comparative Languages” »
(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 December 18, 2024) Overview Hex dumps have been around for a very long time. Looking at binary is mind-numbing, and looking at decimal numbers is less than ideal. Using hexadecimal to show values is much easier on the eyes. With some experience, you can see the binary tucked inside, as each hex digit represents … Read More “The Hex Dump” »