Summary of Matt's Videos, as I run through them
Requirements:
CC65 (https://cc65.github.io/)
the X16 emulator of course (https://www.commanderx16.com/forum/files/)
an editor such as Video Studio Code (https://code.visualstudio.com/)
IF YOU'RE NEW TO THE 6502 OR ASSEMBLY LANGUAGE, START HERE
Lesson One (27m): Foundations. What assembly language is, the 6502 architecture (and related processors), registers, memory addresses and how instructions work. The anatomy of an assembly language program at 14:00. lda, inc, sta, and rts. cl65 invocation at 18:00. Examining the .list and .PRG at 20:00. X16 debugger at 23:00.
Lesson Two (32m): Addressing modes. X16 Memory Map intro. Addressing modes 4:00. Examples 11:30. Jump table 22:00. Build script 26:00, execute & debug.
IF YOU'RE A NOVICE, START HERE
Lesson Three (24m): Flow control. C versus assembly 1:00. Status register and compares 5:45. Loops (C versus assembly) 12:00. Functions (C versus assembly) 13:30. X16 KERNAL 16:00. Example program 16:45.
Lesson Four (22m): Unsigned math and logic. Add- and Subtract-with-carry 3:00. 16-bit arithmetic 5:45. Inc and Dec 8:00. Mul and div overview 9:20. Shift and rotate 11:00. Bitwise ops 13:20. Logicals 14:50. Example 16:00.
IF YOU DID SOME ASSEMBLY ON SOMETHING ELSE, START HERE
Lesson Five (21m): The Program Stack. JSR and RTS 6:28. RTI 7:10. Push and Pull 7:45. Stack transfers 8:50. Examples of playing with the stack; also .asciiz 11:30.
Lesson Six (22m): New bit test and branch opcodes in the 65C02. The old BIT 3:00. TRB and TSB 5:45. BBRn, BBSn, RMBn, SMBn 7:00. Example 12:00.
Lesson Seven (19m): The rest of the 65C02's instruction set. Basically Lesson Six, part Deux. Also, ERRATA for previous sessions starting at 10:00. Example 12:00.
IF YOU'RE NEW TO COMMODORE, BUT NOT 65C02, START HERE
Lesson Eight (36m): The KERNAL. ROM banks 3:00. Jump table example: CHROUT 4:00. Hacking the jump table 6:00. CHRIN 9:25. GETIN 10:40. Keyboard buffer 11:30. SCREEN 12:50. PLOT 14:00. File load (SETLFS, SETNAM, LOAD) 15:10. Saving a memory block to file (SAVE) 20:45. Example involving screen mode, keyboard input, and load/save to file 20:50
IF YOU'RE NEW TO THE COMMANDER X16, BUT NOT THE KERNAL OR 65C02, START AT LESSON NINE.