NESBuilder

Working on something cool? Show the the world!
Post Reply
User avatar
SpiderDave
Posts: 8
Joined: Sat Feb 15, 2020 4:56 am
Contact:

NESBuilder

Post by SpiderDave »

I made a thing. It's still pretty early, but it's going well.

Image
Image

This is going to be something like NESmaker, but even more emphasis on "no coding required" and making it easy to use, while still retaining power and flexibility. I'd like someone with no coding skills to make a working NES game in 5 minutes.

It's made with python using pyinstaller to make it a single exe, pyQt5 for the gui, lupa to add Lua. It has a plugin system using .lua files, and those plugins can also load Python stuff (see example plugins).

Simplest example of a project:
* Create a new project
* Click on the "CHR" tab, click "Load Image"
* Load "chr.png"
* Click the "Screen Tool" tab.
* Click the tiles on the right and draw them on the Screen on the left.
* From the "Project" menu, select "Build and Test"

You now have a NES "game" that displays what you just made.

Download

User avatar
SpiderDave
Posts: 8
Joined: Sat Feb 15, 2020 4:56 am
Contact:

Re: NESBuilder

Post by SpiderDave »

I'm just gonna post some progress now and then.

Importing tiles from a .nes rom:
Image

Symbols/constants:
Image

User avatar
Gnawtor
Posts: 22
Joined: Fri Feb 14, 2020 2:51 pm

Re: NESBuilder

Post by Gnawtor »

Fucking hot!

User avatar
SpiderDave
Posts: 8
Joined: Sat Feb 15, 2020 4:56 am
Contact:

Re: NESBuilder

Post by SpiderDave »

There is now a "Rom Hack" project type. It will prompt for a project name, then a .nes file to load. The CHR will be extracted, and when building, a default codebase with xkas will be generated, and you can use that to patch the rom.

Image

User avatar
SpiderDave
Posts: 8
Joined: Sat Feb 15, 2020 4:56 am
Contact:

Re: NESBuilder

Post by SpiderDave »

I made a 6502 assembler, and now it's integrated into NESBuilder.
https://github.com/SpiderDave/SpiderDaveAsm

Here's how to make a simple rom hack:
* Install NESBuilder
* From the File menu or launcher tab, select "New Project"
* Choose "Rom Hack"
* Choose a name for the project and click "Ok".
* Select a .nes file to use as base for the hack. Let's use "Super Mario Bros. (World).nes".
* From the "Project" menu, select "Build". Now the project folder will contain .asm files you can modify.
* Select the "Symbols" tab.
* Add two symbols: "NumberofLives" with a value "$906a" and "StartingLives" with a value "$08".
It should look like this:
Image
* Now is a good time to save. From the file menu, select "Save Project".
* From the "Project" menu, select "Open Project Folder". From here, find the "main.asm" file inside the "code" folder.
* Edit the file, and add this code:

Code: Select all

bank 0
org {NumberofLives}
    db {StartingLives}
* Save the file, and from NESBuilder "Project" menu, select "Buld and Test". Your project should start in your associated emulator, and you will start with 9 lives instead of 3.

Post Reply