Skip to content

Programming by Design

If you're not prepared to be wrong, you'll never come up with anything original. – Sir Ken Robinson

  • About
  • Java-PbD
  • C-PbD
  • ASM-PbD
  • Algorithms
  • Other

Author: William Jojo

Commodore 64

Posted on September 13, 2023April 21, 2024 By William Jojo
C64

(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” »

The Hex Dump

Posted on September 10, 2023January 20, 2025 By William Jojo
Algorithms

(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” »

Commodore 64 Code Examples

Posted on September 8, 2023April 21, 2024 By William Jojo
C64

(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” »

Group Project 1 (of 2)

Posted on July 11, 2023February 3, 2025 By William Jojo
CISS-111-Project

CISS-111 Group Project 1 (Updated December 8, 2024) Write a disassembler for the Commodore 64 (C64) program in the 6502/6510 assembly language. Learning outcomes Working with a translation table. Working with existing data to build a new representation. Working with data type manipulations. Working with switch expressions. Working with unsigned byte data. Working with unique … Read More “Group Project 1 (of 2)” »

CISS-111 Project 8

Posted on May 1, 2023 By William Jojo
CISS-111-Project

CISS-111 Project 8 Write a Java program to demonstrate using an N-ary tree to replicate a filesystem structure. Learning outcomes Working with N-ary trees. Working with existing code to build a new representation. Working with Nodes and how to arrange them based on certain criteria. Working with databases. Working with exceptions. Confirmation program produces desired … Read More “CISS-111 Project 8” »

IntelliJ JDBC Configuration

Posted on April 30, 2023March 27, 2025 By William Jojo
Other

Updated March 27, 2025 Overview This documentation applies to some projects, notably Projects 5 and 8. It is also a basic setup for generic JDBC connectivity to a MySQL database. Setup You must download the MySQL JDBC jar file from https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.2.0.zip and then extract the contents of the zip file. You only need the mysql-connector-j-9.2.0.jar … Read More “IntelliJ JDBC Configuration” »

Introduction

Posted on March 25, 2023January 19, 2025 By William Jojo
AsmBook

(Updated August 3, 2024) This textbook follows a few basic teaching paradigms, which are as follows: Constructivism – the premise that learning occurs through the physical building (construction) of solutions. Therefore, this is a project-based approach. Throughout this textbook, there are two primary subplots. During what would be considered the first half of the semester … Read More “Introduction” »

Acknowledgements

Posted on March 25, 2023January 19, 2025 By William Jojo
AsmBook

January 2025 When I first began teaching, I knew nothing about how people learn, save one person – myself. The way I learned was nearly never the same as how others learned. So, after a couple of decades of honing my craft, I decided it was high time I invested in myself. My masters work … Read More “Acknowledgements” »

CISS-111 Project 5

Posted on March 15, 2023March 27, 2025 By William Jojo
CISS-111-Project

CISS-111 Project 5 Write a Java program to demonstrate the use of linked lists further. Learning outcomes Working with Linked Lists. Reworking existing code to use a different data type. Working with Nodes and how to arrange them based on certain criteria. Working with databases. Working with exceptions. Confirmation program produces desired results. Setup Set … Read More “CISS-111 Project 5” »

Write Your Own OS! (UEFI/GPT)

Posted on March 13, 2023April 1, 2023 By William Jojo
Ciss-150

UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! (Updated April 1,2023) Overview Compared to the BIOS version of Write Your Own OS, this tutorial is a bit more involved. So, we will start with installing anything we need right away. sudo apt update && sudo apt install build-essential qemu-system-x86 mtools git This includes the OVMF … Read More “Write Your Own OS! (UEFI/GPT)” »

Posts pagination

Previous 1 … 3 4 5 … 18 Next

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Copyright © 2018 – 2025 Programming by Design.