¡Hola a todos!, hay problemas con la web que espero poder arreglar lo antes posible, ¡mil perdones!

Ver índice de webs/blogs

Vintage is the new old : Now it is your chance to learn NES Programming with 6502 Assembly [source]


Pikuma has released a new course to teach you 6502 Assembly to be used on the Nintendo Entertainment System through a 22-hour-long video. At the end of the course, you’ll have a working knowledge of 6502 assembly language, a comprehensive understanding of the NES hardware, and a toy homebrew game project that we’ll code together from scratch. We’ll start with small examples and proceed to glue everything together in a final project that demonstrates how a simple NES game works.

The course is presented by Gustavo Pezzi is a university lecturer in London, UK. He teaches fundamentals of computer science and mathematics; his academic path includes institutions such as Pittsburg State University, City University of London, and the University of Oxford.

I’ve been taking another course available at Pikuma, targeting the Atari 2600, and it is excellent. I am 30% done, and so far, I like very much the way the instructor presents the information, the code examples and also the visual aid tools (animations, etc). If the NES course follows the same pattern, I am confident it will also be great.

Contents

  •  Motivations & Learning Outcomes
  •  How to Take This Course

  •  The NES in the History of Game Consoles
  •  The Early Years of Nintendo

  •  NES Hardware (Console)
  •  NES Hardware (Cartridge)
  •  Opening the NES Cabinet
  •  Quiz: NES Hardware

  •  Binary Numbers
  •  Hexadecimal Numbers
  •  Quiz: Binary & Hexadecimal

  •  6502 Pinout
  •  6502 Registers
  •  6502 Status Flags
  •  Quiz: 6502 CPU

  •  The Assembler Flow
  •  Popular 6502 Instructions
  •  The CA65 Assembler
  •  Installing CA65 on Windows
  •  Installing CA65 on macOS
  •  Installing CA65 on Linux
  •  Quiz: Assembler

  •  iNES Header
  •  Our First Assembly Code
  •  Assembler & Linker
  •  The FCEUX Emulator
  •  Exercise: Our First Assembly Bug
  •  Addressing Modes
  •  Instruction Set
  •  Exercise: 6502 Warmup Exercises
  •  CPU Memory Map
  •  Clearing RAM Addresses

  •  NES Graphics & the PPU
  •  NTSC, PAL, & VBlank
  •  PPU Memory Map
  •  Color Palette
  •  NES Initialization Code
  •  Include Files
  •  PPU Address Latch
  •  Unnamed Labels & Subroutines
  •  Quiz: Picture Frame & VBlank

  •  CHR-ROM Tiles
  •  Loading Nametable Tiles
  •  Loading Attributes
  •  Dynamic CA65 Macros
  •  RAM Variables
  •  Pointers
  •  Loading Full Nametables
  •  Quiz: Pattern Tables & Nametables
  •  Displaying Text

  •  NES Sprites
  •  Hello Mario
  •  OAM Decay
  •  Hiding Sprites
  •  Sprite Flickering
  •  Exercise: Hello Goomba

  •  NES Controller Architecture
  •  Joypad Input Routine
  •  Checking Button Presses
  •  Moving Sprites using the Joypad
  •  Quiz: Controller Input

  •  Integer & Fractional Position
  •  Velocity & Acceleration
  •  Signed Velocity
  •  Animation Frames
  •  Quiz: Subpixel Movement

  •  Generating Random Values
  •  Bitshift Operations
  •  Random Enemy Position
  •  Exercise: Random Values

  •  Nametable Mirroring
  •  Horizontal & Vertical Scrolling
  •  Swapping Nametables
  •  Loading Background Dynamically
  •  Dynamic Scrolling
  •  Drawing Column of Tiles Off-Screen
  •  Loading Attributes Off-Screen
  •  Quiz: Background Scrolling

  •  Scroll Split Screen
  •  Different Split Screen Techniques
  •  Sprite-0 Hit
  •  Separating Game Logic & NMI
  •  Saving Registers in the Stack
  •  Buffering
  •  Quiz: Split Screen

  •  Array of Actors
  •  Adding & Removing Actors
  •  A Routine to Add Actors
  •  Looping Array of Actors
  •  Rendering Actors
  •  Updating Actor Position
  •  One Missile Per Button Press
  •  Removing Actors
  •  Relative vs. Absolute Jumps
  •  Spawning Submarines
  •  Spawning Airplanes
  •  Quiz: Managing Game Objects

  •  Random Numbers & LFSR
  •  8-bit LFSR Example
  •  Random Airplane Position
  •  Random Submarine Position
  •  Quiz: Random Numbers

  •  Sprite Collision Check
  •  Missile-Airplane Collision
  •  Point Inside Bounding Box

  •  Simulating BCD Increment
  •  A Routine to Increment Score
  •  Buffering Background Changes
  •  Incrementing Score on Enemy Hit

  •  CHR Bank Switching
  •  Game State Enumeration
  •  Adding a Title Screen
  •  Displaying Menu Items
  •  Quiz: CHR Bank Switching

  •  Encoding & Compression
  •  LRE Compression
  •  Block Encoding
  •  Quiz: Data Encoding & Compression

  •  APU
  •  NES Audio
  •  FamiStudio
  •  Quiz: NES Audio & the APU

The course costs US$49.99, which gives you lifetime access to it so you can take all the time you want and come back when needed.

Link: Pikuma.com