Page 1 of 1

NESBuilder

Posted: Sun Sep 20, 2020 5:24 am
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

Re: NESBuilder

Posted: Thu Sep 24, 2020 11:17 pm
by SpiderDave
I'm just gonna post some progress now and then.

Importing tiles from a .nes rom:
Image

Symbols/constants:
Image

Re: NESBuilder

Posted: Fri Sep 25, 2020 1:14 pm
by Gnawtor
Fucking hot!

Re: NESBuilder

Posted: Sun Oct 11, 2020 9:50 am
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

Re: NESBuilder

Posted: Fri Oct 16, 2020 9:46 pm
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.