Урок 1.
00:09:42
Motivations & Learning Outcomes
Урок 2.
00:02:59
How to Take this Course
Урок 3.
00:09:55
Placing the NES in History
Урок 4.
00:27:03
NES Hardware (Console)
Урок 5.
00:03:50
Opening the NES Cabinet
Урок 6.
00:09:40
NES Hardware (Cartridge)
Урок 7.
00:19:22
Binary Numbers
Урок 8.
00:12:45
Hexadecimal Numbers
Урок 9.
00:13:25
6502 CPU Pinout
Урок 10.
00:10:10
6502 CPU Registers
Урок 11.
00:23:26
6502 CPU Status Flags
Урок 12.
00:12:06
The Assembler Flow
Урок 13.
00:17:54
Popular 6502 Instructions
Урок 14.
00:02:47
CA65 Assembler
Урок 15.
00:01:52
Installing CA65 on macOS
Урок 16.
00:01:57
Installing CA65 on Linux
Урок 17.
00:09:08
Installing CA65 on Windows
Урок 18.
00:16:40
iNES Header
Урок 19.
00:14:42
Our First Assembly Code
Урок 20.
00:06:01
Assembler & Linker
Урок 21.
00:07:51
FCEUX Emulator
Урок 22.
00:07:50
Our First Assembly Bug
Урок 23.
00:06:45
Addressing Modes
Урок 24.
00:08:22
6502 Warmup Exercises
Урок 25.
00:15:23
6502 Warmup Exercises (Solution)
Урок 26.
00:03:25
Makefiles
Урок 27.
00:12:36
CPU Memory Map
Урок 28.
00:12:27
Clearing RAM Addresses
Урок 29.
00:17:09
NES Graphics & the PPU
Урок 30.
00:09:39
Picture Frame & VBlank
Урок 31.
00:20:28
PPU Memory Map
Урок 32.
00:07:51
Background Color
Урок 33.
00:17:30
NES Initialization Code
Урок 34.
00:06:40
Include Files
Урок 35.
00:02:32
Resetting PPU Address Latch
Урок 36.
00:11:49
Sending Multiple Bytes to the PPU
Урок 37.
00:06:47
Unnamed Labels & Subroutines
Урок 38.
00:12:20
Editing CHR Tiles
Урок 39.
00:12:58
Loading Nametable Tiles
Урок 40.
00:09:13
Nametable Attributes
Урок 41.
00:10:45
Loading Attribute Bytes
Урок 42.
00:08:27
Creating Dynamic Macros
Урок 43.
00:07:18
Declaring Variables
Урок 44.
00:04:05
Measuring Game Seconds
Урок 45.
00:08:49
Pointers
Урок 46.
00:14:23
Loading a Full Nametable
Урок 47.
00:07:35
Full Nametable Code
Урок 48.
00:05:04
Exercise: Displaying Text
Урок 49.
00:08:12
Displaying Text
Урок 50.
00:05:35
Other Tile Editor Apps
Урок 51.
00:15:20
NES Sprites
Урок 52.
00:11:20
Hello Mario
Урок 53.
00:02:14
OAM Decay
Урок 54.
00:05:04
Hiding Sprites Off-Screen
Урок 55.
00:03:25
Sprite Flickering
Урок 56.
00:02:25
Include Nametable Files
Урок 57.
00:01:22
Exercise: Hello Goomba
Урок 58.
00:04:02
Hello Goomba
Урок 59.
00:11:07
Bitwise Instructions
Урок 60.
00:13:48
Controller Architecture
Урок 61.
00:10:36
Controller Input Routine
Урок 62.
00:04:43
Implementing Controller Input
Урок 63.
00:13:57
Checking Button Presses
Урок 64.
00:03:57
Moving Sprites with Button Presses
Урок 65.
00:05:54
Button Constants
Урок 66.
00:25:24
Integer & Fractional Position
Урок 67.
00:17:09
Velocity & Acceleration
Урок 68.
00:06:56
Signed Velocity
Урок 69.
00:11:11
Intercalating Animation Frames
Урок 70.
00:02:27
Multiple of Powers of Two
Урок 71.
00:13:29
Mirroring & Scrolling
Урок 72.
00:16:36
Horizontal Background Scrolling
Урок 73.
00:14:40
Swapping Nametables
Урок 74.
00:11:50
Bitshifting Operations
Урок 75.
00:05:11
Load Background Dynamically
Урок 76.
00:23:07
A Method for Dynamic Scrolling
Урок 77.
00:16:13
Starting the AtlГўntico Code
Урок 78.
00:21:58
Drawing Column of Tiles Off-Screen
Урок 79.
00:11:37
Loading Initial Nametable Tiles
Урок 80.
00:26:46
Loading Attributes Off-Screen
Урок 81.
00:07:14
Scroll Split Screen
Урок 82.
00:11:56
Sprite-0 Hit Implementation
Урок 83.
00:12:15
Separating Game Logic & NMI
Урок 84.
00:07:14
Running Game Logic Once Per Frame
Урок 85.
00:03:30
Saving Registers in the Stack
Урок 86.
00:04:47
Counting Game Loop Passes
Урок 87.
00:02:31
Macro to Push & Pull Registers
Урок 88.
00:08:22
A Discussion on Buffering
Урок 89.
00:13:34
Array of Actors
Урок 90.
00:09:15
Adding & Removing Actors
Урок 91.
00:17:54
A Routine to Add Actors
Урок 92.
00:13:23
Coding the Routine to Add Actors
Урок 93.
00:06:29
Template to Loop Actors Array
Урок 94.
00:33:36
Rendering Actors
Урок 95.
00:12:28
Updating Actor Position
Урок 96.
00:06:18
Limiting One Missile Per Button Press
Урок 97.
00:16:52
Deleting Actors
Урок 98.
00:05:26
Relative vs. Absolute Jumps
Урок 99.
00:15:45
Spawning Submarines
Урок 100.
00:06:07
Spawning Airplanes
Урок 101.
00:24:34
Random Numbers using LFSR
Урок 102.
00:09:21
8-Bit LFSR Example
Урок 103.
00:12:54
Random Airplane Position
Урок 104.
00:05:09
Adjusting Airplane Position
Урок 105.
00:18:22
Sprite Collision Check
Урок 106.
00:24:44
Missile-Airplane Collision
Урок 107.
00:13:26
Check Point Inside Bounding Box
Урок 108.
00:17:48
BCD Representation
Урок 109.
00:10:29
Routine to Increment Score
Урок 110.
00:29:49
Buffering Background Tiles
Урок 111.
00:02:34
Increment Score on Airplane Hit
Урок 112.
00:10:44
Background Collision Check
Урок 113.
00:21:38
CHR Bank Switching
Урок 114.
00:06:10
Game States
Урок 115.
00:10:13
Title Screen State
Урок 116.
00:18:21
Title Screen Nametable
Урок 117.
00:10:18
Title Screen Menu Items
Урок 118.
00:07:23
Drawing Menu Item Arrow
Урок 119.
00:03:58
Exercise: Menu Item Palette Selection
Урок 120.
00:05:15
Menu Item Palette Selection
Урок 121.
00:10:13
RLE Compression
Урок 122.
00:14:56
A Python Script to Encode RLE
Урок 123.
00:10:06
A Routine to Decode RLE Data
Урок 124.
00:07:07
Title Screen RLE Decoding
Урок 125.
00:14:32
APU
Урок 126.
00:39:48
Introduction to FamiStudio
Урок 127.
00:19:57
Square Channel Ports
Урок 128.
00:13:13
Triangle, Noise, and DMC Ports
Урок 129.
00:17:21
Musical Notes & Period
Урок 130.
00:16:03
Using a Sound Engine
Урок 131.
00:18:27
FamiStudio Sound Engine
Урок 132.
00:03:50
Some Notes on Chords & Voicing
Урок 133.
00:14:07
Playing FamiStudio Music Code
Урок 134.
00:04:55
Playing Missile Sound Effect
Урок 135.
00:07:02
Playing Explosion Sound Effect
Урок 136.
00:06:53
Fixing Button Press/Release Bug
Урок 137.
00:03:48
Fixing VRAM Buffering Address
Урок 138.
00:21:10
Clipping Tiles Left & Right
Урок 139.
00:29:32
Calculating Tile Screen (-1,0,+1)
Урок 140.
00:11:54
Removing Actors Off Screen
Урок 141.
00:06:42
Fixing Explosion SFX Bug
Урок 142.
00:04:53
Developing NES Games with C
Урок 143.
00:32:03
C NESLib Examples
Урок 144.
00:19:25
Conclusion & Next Steps