An in-development NES game based on Skylanders. Created in 6502 asm, C, and custom assembly SkyASM for external communication.
The NES ROM uses an extended MMC3 mapper which houses an additional attached coprocessor - the SkyRetro Peripheral Interface Controller (or SPIC). This additional hardware acts as a bridge between the game and the supported peripherals. This is also under development, currently as a .lua simulator for the FCEUX NES emulator.
Note
The .lua simulator will not be able to interface with actual peripheral devices. For full functionality, a custom emulator that encapsulates both the NES and SPIC is in the works.
The ROM's iNES header declares it as using the regular MMC3 mapper, not a custom mapper. The result of this is that the ROM remains bootable on any MMC3 mapper-compatible emulator/flashcart. However, no SPIC-related functionality will be present.
Bitlanders specifically is designed to be playable with and without the extended MMC3 mapper.
- With the extended mapper:
- The game plays as intended, with added features made possible due to the SPIC.
- With the original MMC3 hardware:
- The game still remains playable, with core functionality intact. SPIC-added features are stripped.
This game is a work-in-progress. It has been tested and verified to function correctly on a PAL-Region NES using an Everdrive N8 Pro, and should work on other region consoles as well. Footage of the game can be found here.
Both a 6502 assembler/compiler/linker toolchain and python must be installed on the machine.
The included build.bat expects the cc65 toolchain, and to be at the relative path ..\..\cc65\, but feel free to modify the file path to suit your needs.
- cc65 can be found here
- Navigate to the bottom of the page and download the Windows Snapshot release
- Unpack the archive to the correct directory and make sure the
build.batreferences the cc65 binaries
As a batch file is used for automated building, it can only be used to build the ROM on Windows machines. The ROM should be buildable on other platforms with alternate build processes.
Warning
Due to recent mapper alterations, the current build of the game is extremely unstable. It is not suggested to run the current build. Please build this snapshot of the repository if you want a gameplay experience.
External 6502 asm and C libraries that have influenced SkyRetro Engine implementations originally provided and maintained by Doug Fraker (a.k.a nesdoug).
Implementations in these original libraries are also subject to be from other authors; all are mentioned inside the respective source files.
