NES development tool made with Python and Lua

Overview

NES Builder

NES development and romhacking tool made with Python and Lua

Current Stage: Alpha

_

Features

  • Open source
  • "Build" project, which exports various items and assembles project.asm if it exists.
  • Palette editor
  • Import CHR banks from .chr, .png, .png (nesmaker).
  • Export CHR banks to .png with chosen palette.
  • Metatile creator
  • plugin system (Lua/Python)
  • Integrated custom 6502 assembler (sdasm)

Installing

Download the latest release. The NESBuilder_Setup.exe installer will allow you to download and install the latest compoents:

  • NESBuilder Executable
  • NESBuilder Source
  • Installer Source
  • Start Menu Shortcuts

Building / Running From Source

Requirements:

  • Windows
  • Python 3

Python packages: You can use "install dependencies.bat" to install these. Make sure you run "as administrator".

  • lupa
  • pyinstaller
  • pillow
  • numpy
  • PyQt5
  • QScintilla

Installation Issues

Issue: In Windows 10, when installing Python 3 from the Windows store, importing PyQt5.QtWidgets causes an error: "ImportError: DLL load failed: The specified module could not be found." Solution: None yet :(

Issue: When pip attempts to install lupa, there are many errors, and one of them near the bottom says "error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/" Solution: using cholatey: choco install visualcpp-build-tools --version=14.0.25420.1 Installing this appeared to hang, but it actually required pressing enter. It's possible the latest version might work instead, and other installations untested.

Issue: Unable to get NESBuilder working form source. Workaround: If you can run the binary NESBuilder.exe you can pass a parameter to run the latest version of the script. "NESBuilder.exe main.lua" The binary won't be updated as often, and this may not work or cause errors, but it's possible you can still try out features without waiting for a new binary.

Plugins

Plugins are Lua scripts, but can also import Python scripts.

See sample plugins for more information.

You might also like...
Gba-free-fonts - Free font resources for GBA game development
Gba-free-fonts - Free font resources for GBA game development

gba-free-fonts Free font resources for GBA game development This repo contains m

A Python utility belt containing simple tools, a stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress, and more made easy!
A Python utility belt containing simple tools, a stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress, and more made easy!

Ubelt is a small library of robust, tested, documented, and simple functions that extend the Python standard library. It has a flat API that all behav

A Python script made for the Python Discord Pixels event.

Python Discord Pixels A Python script made for the Python Discord Pixels event. Usage Create an image.png RGBA image with your pattern. Transparent pi

this is a basic python project that I made using python

this is a basic python project that I made using python. This project is only for practice because my python skills are still newbie.

Analisador de strings feito em Python // String parser made in Python

Este Γ© um analisador feito em Python, neste programa, estou estudando funΓ§Γ΅es e a sua junΓ§Γ£o com "if's" e dados colocados pelo usuΓ‘rio. Neste cΓ³digo,

python based clash stars made by grade 7 and 5
python based clash stars made by grade 7 and 5

clash_stars python based clash stars made by grade 7 and 5 How to play: PLAYER ONE (LEFT PLAYER) Move: W,A,S,D Shoot: SHIFT PLAYER TWO (RIGHT PLAYER)

A lightweight and unlocked launcher for Lunar Client made in Python.

LCLPy LCL's Python Port of Lunar Client Lite. Releases: https://github.com/Aetopia/LCLPy/releases Build Install PyInstaller. pip install PyInstaller

These are After Effects and Python files that were made in the process of creating the video for the contest.

spirograph These are After Effects and Python files that were made in the process of creating the video for the contest. In the python file you can qu

Releases(v2021.4.8-alpha)
  • v2021.4.8-alpha(Apr 8, 2021)

  • current(Aug 15, 2020)

    *** This version does not run without administrator privileges. Please use latest release instead.

    NESBuilder_Setup.exe will download the latest installer and run it, so you can keep using this to update. Note: Due to the nature of how this works, both the installer and program itself will likely trigger antivirus warnings.

    Source code(tar.gz)
    Source code(zip)
    NESBuilder_Setup.exe(47.50 KB)
  • v2020.8.14-alpha(Aug 14, 2020)

    EDIT: This release no longer works and has been removed. Please use latest release instead.

    A very early release but usable for certain small tasks, and I want to show off how it's coming along. This is a web installer and will grab the newest version, though it (currently) will not work if I add or remove some files.

    Source code(tar.gz)
    Source code(zip)
Blender 2.80+ Timelapse Capture Tool Addon

SimpleTimelapser Blender 2.80+ Timelapse Capture Tool Addon Developed for Blender 3.0.0, tested working on 2.80.0 It's no ZBrush undo history but it's

4 Jan 19, 2022
Larvamatch - Find your larva or punk match.

LarvaMatch Find your larva or punk match. UI TBD API (not started) The API will allow you to specify a punk by token id to find a larva match, and vic

1 Jan 02, 2022
An advanced NFT Generator

NFT Generator An advanced NFT Generator Free software: GNU General Public License v3 Documentation: https://nft-generator.readthedocs.io. Features TOD

NFT Generator 5 Apr 21, 2022
Exploiting Linksys WRT54G using a vulnerability I found.

Exploiting Linksys WRT54G Exploit # Install the requirements. pip install -r requirements.txt ROUTER_HOST=192.169.1.1 ROUTER_USERNAME=admin ROUTER_P

Elon Gliksberg 31 May 29, 2022
The learning agent learns firstly approaching to the football and then kicking the football to the target position

Football Court This project utilized Pytorch and Tensorflow so that the learning agent learns firstly approaching to the football and then kicking the

1 Nov 19, 2021
SuperMario - Python programming class ending assignment SuperMario, using pygame

SuperMario - Python programming class ending assignment SuperMario, using pygame

mars 2 Jan 04, 2022
GWAS summary statistics files QC tool

SSrehab dependencies: python 3.8+ a GNU/Linux with bash v4 or 5. python packages in requirements.txt bcftools (only for prepare_dbSNPs) gz-sort (only

21 Nov 02, 2022
A Github Action for sending messages to a Matrix Room.

matrix-commit A Github Action for sending messages to a Matrix Room. Screenshot: Example Usage: # .github/workflows/matrix-commit.yml on: push:

3 Sep 11, 2022
Minecraft Multi-Server Pinger Discord Embed

Minecraft Network Pinger Minecraft Multi-Server Pinger Discord Embed What does this bot do? It sends an embed and uses mcsrvstat API and checks if the

YungHub 2 Jan 05, 2022
Originally used during Marketplace.tf's open period, this program was used to get the profit of items bought with keys and sold for dollars.

Originally used during Marketplace.tf's open period, this program was used to get the profit of items bought with keys and sold for dollars. Practically useless for me now, but can be used as an exam

BoggoTV 1 Dec 11, 2021
Hack CMU Go Local Project

GoLocal A submission for the annual HackCMU Hackathon. We built a website which connects shopper with local businesses. The goal is to drive consumers

2 Oct 02, 2021
Install Firefox from Mozilla.org easily, complete with .desktop file creation.

firefox-installer Install Firefox from Mozilla.org easily, complete with .desktop file creation. Dependencies Python 3 Python LXML Debian/Ubuntu: sudo

rany 7 Nov 04, 2022
Binary++ is an esoteric programming language based on* binary

Binary++ is an esoteric programming language based on* binary. * It's meant to be based on binary, but you can write Binary++ code using different mea

Supercolbat 3 Feb 18, 2022
A python package to adjust the bias of probabilistic forecasts/hindcasts using "Mean and Variance Adjustment" method.

Documentation A python package to adjust the bias of probabilistic forecasts/hindcasts using "Mean and Variance Adjustment" method. Read documentation

1 Feb 02, 2022
Shopping-card - Shopping Card Project With Python

Shopping Card Project this application was built to handle problems with saving

moein98 1 May 06, 2022
Streamlit apps done following data professor's course on YouTube

streamlit-twelve-apps Streamlit apps done following data professor's course on YouTube EspaΓ±ol Curso de apps de data science hecho por Data Professor

Federico Bravin 1 Jan 10, 2022
Adam with minor modifications which give significant improvement

BAdam Modification of Adam [1] optimizer with increased stability and better performance. Tricks used: Decoupled weight decay as in AdamW [2]. Such de

19 May 11, 2022
БСрвис слуТит прокси ΠΌΠ΅ΠΆΠ΄Ρƒ cСрвисом рСгистрации ошибок ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ систСмой сбора ошибок Sentry

Sentry Reg Service БСрвис слуТит прокси ΠΌΠ΅ΠΆΠ΄Ρƒ CСрвисом рСгистрации ошибок ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ систСмой сбора ошибок Sentry. Как Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Sentry onpremise. Π‘

Ingvar Vilkman 13 May 24, 2022
An attempt at furthering Factorio Calculator to work in more general contexts.

factorio-optimizer Lets do Factorio Calculator but make it optimize. Why not use Factorio Calculator? Becuase factorio calculator is not general. The

Jonathan Woollett-Light 1 Jun 03, 2022
An application for automation of the mining function in the game Alienworlds.IO

alienautomation A Python script made to automate the tidious job of mining on AlienWorlds This script: Automatically opens the browser Automatically l

anonieXdev 42 Dec 03, 2022