Skip to content
View RyanCountryman's full-sized avatar
  • Portland, Oregon
  • 01:31 (UTC -07:00)

Highlights

  • Pro

Block or report RyanCountryman

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
RyanCountryman/README.md

Hey, I'm Ryan!

Software Development Projects

๐ŸŽฎ Capstone: NES Emulation

For our senior capstone project, our 4-person team was tasked with designing and developing a functional emulator for the Nintendo Entertainment System (NES). This ongoing project blends deep technical research with practical software engineering, following Agile methodology with regular sprint planning, reviews, and retrospectives.

In the early phases, we conducted extensive research into the NES architecture, focusing on the 6502-based CPU, memory mapping, and the system's graphical and audio subsystems โ€” the PPU (Picture Processing Unit) and APU (Audio Processing Unit). We studied official documentation, community-written hardware wikis, and ROM test suites to form a strong technical foundation.

Progress so far:

  • โœ… Full implementation of all NES CPU instructions and addressing modes
  • ๐Ÿ”ง Debugging tools for CPU behavior verification using standard test ROMs
  • ๐Ÿ–ผ๏ธ Pattern Table visualization from CHR-ROM, enabling early graphics verification
  • ๐Ÿงฑ All major components of the PPU implemented (pattern tables, name tables, attribute tables, sprite evaluation)

Pattern Table Dump

Upcoming features:

  • Complete visual rendering
  • Begin APU implementation for sound emulation
  • Support for homebrew and public domain NES titles

๐Ÿ’ Mood-Ring MicroService

A lightweight Flask-based microservice that returns random songs based on mood criteria. Supports both GET and POST requests with text or JSON input, responding in structured JSON.

๐Ÿ“„ View API Documentation


๐ŸŒฑ GermSquad

A plant lifecycle management platform that helps growers track plants from seedling to full production.

Track:

  • Seedlings: date planted, soil temp, water frequency, days to germinate
  • Growth: start date, sunlight hours, water/fertilizer frequency, type used, growing location
  • Production: start/end dates, yield, fertilizer details, and growing location
  • Fertilizer records using NPK system

๐ŸŒฟ Explore GermSquad


Pinned Loading

  1. CS361---Sprint-2--MoodRing-MicroService CS361---Sprint-2--MoodRing-MicroService Public

    Microservice with utility to select random song from JSON DB matching criteria

    Python

  2. GermSquad GermSquad Public

    CS340

    JavaScript

  3. RLMS--RealLifeMoneySkills RLMS--RealLifeMoneySkills Public

    Python