Урок 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