All Projects → sebastiandine → openNES-Snake

sebastiandine / openNES-Snake

Licence: Zlib license
Simple rebuilt of the classic Snake game for the NES in C using the cc65 cross compiler.

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
Batchfile
5799 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to openNES-Snake

Fearless-NES
A NES emulator written in Rust
Stars: ✭ 112 (+522.22%)
Mutual labels:  nintendo, nes, 6502
Nes
A Javascript NES Emulator
Stars: ✭ 168 (+833.33%)
Mutual labels:  nintendo, nes, 6502
Citro2d
Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU
Stars: ✭ 88 (+388.89%)
Mutual labels:  homebrew, nintendo
Sys Clk Editor
Editor for your sys-clk configuration!
Stars: ✭ 89 (+394.44%)
Mutual labels:  homebrew, nintendo
Citro3d
Homebrew PICA200 GPU wrapper library for Nintendo 3DS
Stars: ✭ 143 (+694.44%)
Mutual labels:  homebrew, nintendo
Libnx
Library for Switch Homebrew
Stars: ✭ 908 (+4944.44%)
Mutual labels:  homebrew, nintendo
Picasso
Homebrew PICA200 shader assembler
Stars: ✭ 41 (+127.78%)
Mutual labels:  homebrew, nintendo
Novathesquirrel
an open source NES platformer game
Stars: ✭ 115 (+538.89%)
Mutual labels:  homebrew, nes
Edizon
💡 A homebrew save management, editing tool and memory trainer for Horizon (Nintendo Switch)
Stars: ✭ 706 (+3822.22%)
Mutual labels:  homebrew, nintendo
Lost Nds Tv
The Lost Nintendo DS Television Output, brought back to life
Stars: ✭ 221 (+1127.78%)
Mutual labels:  homebrew, nintendo
Kosmos
All-in-One CFW Package for the Nintendo Switch - previously SDFilesSwitch
Stars: ✭ 2,157 (+11883.33%)
Mutual labels:  homebrew, nintendo
Nesicide
Integrated Development Environment for the 8-bit Nintendo Entertainment System
Stars: ✭ 244 (+1255.56%)
Mutual labels:  homebrew, 6502
switch-cmake
CMake toolchain for Nintendo Switch homebrew development
Stars: ✭ 38 (+111.11%)
Mutual labels:  homebrew, nintendo
Vba M Nx
WIP full featured port of VBA-M for Nintendo Switch
Stars: ✭ 11 (-38.89%)
Mutual labels:  homebrew, nintendo
Capturesight
Applet and Overlay to view Pokemon, Raid seeds, Future shiny frames/IVs, and more!
Stars: ✭ 81 (+350%)
Mutual labels:  homebrew, nintendo
Hydrosphere
Ocean beyond the Horizon
Stars: ✭ 17 (-5.56%)
Mutual labels:  homebrew, nintendo
Vba Next Switch
Libretro VBA-Next port for Switch. **Don't use this, see readme!**
Stars: ✭ 110 (+511.11%)
Mutual labels:  homebrew, nintendo
Jksv
Data Tool For Switch
Stars: ✭ 388 (+2055.56%)
Mutual labels:  homebrew, nintendo
Nx Shell
A multi-purpose file manager for the Nintendo Switch.
Stars: ✭ 639 (+3450%)
Mutual labels:  homebrew, nintendo
Goldleaf
🍂 Multipurpose homebrew tool for Nintendo Switch
Stars: ✭ 2,026 (+11155.56%)
Mutual labels:  homebrew, nintendo

openNES Snake

Rebuilding classic games for the NES as Open Source

IMG1 IMG2 IMG3

Project Description

This project is the first entry in what I hope will be a long line of projects aimed at recreating classic video games
for the Nintendo Entertainment System on an open source basis.
The purpose of these projects is to get more enthusiastic people interested in programming for the NES by providing code examples and providing a starting point for developing new games from scratch.

This particular project aims to recreate the classic game Snake, also known as Nibbles. As it is the first of its kind in this series of projects, it is reduced to the core mechanics of the original game, in order to avoid information overload for future beginners but also because of the lack of knowledge of the main author at that time 😜.

The project was programmed entirely in C, using Shiru's NESLib and the cc65 cross compiler (for more references see the Toolkit section).

License

This project is licensed under the zlib license. See also the attached README file.

Toolkit

  • cc65 cross compiler v.2.5 - A freeware C compiler for 6502 based systems

  • Shiru's NESLib - An programming library on top of cc65 for more comfortable NES development. See also the more up to date fork here.

  • Tile Molester v.0.16 - A tileset editor, for designing tiles/sprites

  • NES Screen Tool v.2.04 - A tool that allows to create and edit NES nametables, attributes, palettes, patterns (tiles), and metasprites

  • FamiTracker v.0.4.2 - Famous tracker for producing music for the NES/Famicom-systems

  • Doxygen v.1.8.12 - Code documentation tool for C/C++ projects

  • FCEUX v.2.2.3 - Famous NES emulator in the homebrew scene with many debugging utilities.

  • NesDev Forum - You will always find friendly, skilled and helpful people in this community, who are willing to help with problems you are facing during your project.

  • Nerdy Nights Tutorials - Even if it is based on introducing you to assembly, this is the classic lecture for understanding the NES architecture for many years.

How To Build Locally

To build a .NES rom from the project's sources, execute the build script at build/build.sh from the build directory or the script build/build.bat if you are working on Windows. Note that these scripts depend on the cc65 cross compiler, so you need ensure that this is available on your system.

Development Container

This project provides VS Code Development Container configuration at .devcontainer/. Via this configuration, you automatically have a complete development environment for developing NES games.

Notes for Contributors

Feel free to fork this project and extend it. If you find bugs, please submit them as issues so we can discuss together how you can fix them. All your contributions need to include explaining Doxygen comments in order to share your knowledge with future contributors and maintaining the project's code documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].