-------------------------------------- ATARI ASSEMBLER COURSE -------------------------------------- ------------------------- SESSION 1 OUTLINE ------------------------ 1.1 Why Assembly Language? 1.2 Atari System Architecture 1.3 6502 CPU Description 1.3.1 Registers - A,X,Y 1.3.2 Processor Status Flags - P 1.3.3 Program Counter - PC 1.3.4 Stack Pointer - S 1.4 Review of Binary and Hex Math 1.5 6502 Instruction Set - Op-Codes -------------------------------------- SESSION 2 OUTLINE È 2.1 Accumulator and Arithmetic 2.1.1 LDA,X,Y/STA,X,Y - "Peek & Poke" 2.1.2 Register Transfers 2.1.3 ADC/SBC - Add & Subtract 2.1.4 Increment and Decrement 2.1.5 AND/ORA/EOR-Logic Functions 2.2 Assembly Language Format 2.2.1 Labels and Symbols 2.2.2 Op-Code and Operand 2.2.3 Assembler Directives 2.2.4 Comments 2.3 Atari Assembler/Editor Commands 2.3.1 NUM/REN-Number & Renumber 2.3.2 LIST/ENTER-Source Program 2.3.3 ASM - Assemble Command 2.3.4 SAVE/LOAD - Machine Code ------------- SESSION 3 OUTLINE ------------- 3.1 Comparing and Testing 3.1.1 Review of Logical Functions 3.1.2 CMP - Compare 3.1.3 BIT - Bit Test 3.1.4 Testing Index Registers 3.2 Branching Instructions 3.2.1 BEQ/BNE -If Equal or Not-Equal 3.2.2 BCC/BCS -If Greater or Less-Than 3.2.3 BPL/BMI -If Positive or Negative 3.3 Control and Structure of programming in Assembler ------------- SESSION 4 OUTLINE ------------- 4.1 The Stack 4.1.1 JSR/RTS - "Gosub/Return" 4.1.2 PLA/PHA - Pull/Push Stack 4.1.3 TSX/TXS - Stack Pointer 4.1.4 The BASIC "USR" Command 4.2 Indexed Addressing 4.2.1 Data Structures -Strings & Arrays 4.2.2 Initializing Data 4.2.3 Moving Data 4.2.4 Modifying Data 4.3 Some Assembler "Directives" -------------------------------------- ------------- SESSION 5 OUTLINE ------------- 5.1 Zero-Page Addressing 5.2 Indirect Addressing 5.2.1 JMP - "Goto" Indirect 5.2.2 Indirect-Indexed - Post-indexed Addressing 5.2.3 Indexed-indirect - Pre-indexed Addressing 5.3 The DEBUG Mode 5.3.1 "D" -Display Memory Contents 5.3.2 "C" -Change Memory Contents 5.3.3 "L" -List Memory (Disassemble) 5.3.4 "G,S & T" -Go, Step, and Trace -------------------------------------- ------------- SESSION 6 OUTLINE ------------- 6.1 Shift and Rotate Instructions 6.2 Interrupt Programming 6.3 Non-Maskable Interrupts 6.4 Maskable Interrupts 6.5 More Assembler Directives -------------------------------------- ------------- SESSION 7 OUTLINE ------------- 7.1 Atari Memory Map 7.2 Memory Usage and Allocation -------------------------------------- ------------- SESSION 8 OUTLINE ------------- INTRODUCTION TO ADVANCED TECHNIQUES PART I: ATARI CUSTOM HARDWARE: 8.1 ANTIC 8.1.1 The Display-List 8.1.2 Display-List Interrupts 8.1.3 Scrolling 8.1.4 Redefined Character Set 8.2 CTIA/GTIA 8.2.1 Color 8.2.2 Player/Missile Graphics 8.3 POKEY 8.3.1 Sound 8.3.2 Serial I/O 8.3.3 Keyboard, Paddles, etc. 8.4 PIA - Peripheral Interface Adapter 8.4.1 Joysticks 8.4.2 Misc. Interfacing -------------------------------------- ------------- SESSION 9 OUTLINE ------------- INTRODUCTION TO ADVANCED TECHNIQUES PART II: ATARI OPERATING SYSTEM 9.1 Monitor -Power-up and Initialization 9.2 O/S RAM and ROM Vectors 9.3 I/O Sub-System and Resident Handlers 9.4 Interrupt Processing & Software Timers 9.5 Floating Point Package -------------------------------------- ------------- SESSION 10 OUTLINE ------------- DISK OPERATING SYSTEM 10.1 Resident Disk Handler 10.2 File Management System (FMS) 10.3 AUTORUN.SYS - Binary Load