Westward Ho! is a clone of the Oregon Trail game for NES. We aim to implement a mixture of features/design from the Apple II and Macintosh (Deluxe) versions. The intention is to have the game ready for distribution and demonstration at VCF PNW 2021 in early 2021.
Westward Ho! is programmed in NES 6502 assembly. It is compiled using asm6f. Though we are testing the game with the Mesen emulator, we plan to produce a physical cartridge.
- Windows 10
- Python 3.8.x (tested using Python 3.8.1)
- GNU Make for Windows 3.8.1
- asm6f v1.6 (freem modifications v02)
- Install GNU Make for Windows and add the
bin
directory to your path. - Download
asm6f_64.exe
from the latestasm6f
package and put that in your path as well. - Clone the repository:
git clone https://github.com/samcan/westward-ho-nes.git
- Switch into the
westward-ho-nes
directory. - Run
make
. - This will RLE-compress the background files and compile
src\westward.nes
. This can be run in Mesen.
Tested in a live CD environment of Pop!OS 20.04 and in an install of Ubuntu 20.04.
- Python 3.8.x (tested using Python 3.8.2)
- GNU Make 4.2.1
- asm6f v1.6 (freem modifications v02)
- Install
python3
,git
, andmake
on your machine if not already installed. If you haven't already compiledasm6f
, you'll also needgcc
installed. In Ubuntu, you can install by runningsudo apt install python3 git make gcc
. - Download the latest
asm6f
package and unzip. A Linux makefile doesn't exist yet, but you can simply compile by running:gcc -Wall asm6f.c -o asm6f
. Put the compiled binaryasm6f
somewhere in your path. - Clone the repository:
git clone https://github.com/samcan/westward-ho-nes.git
- Switch into the
westward-ho-nes
directory. - Run
make
. - This will RLE-compress the background files and compile
src\westward.nes
. This can be run in Mesen.
- If
make
can't findasm6f
, you can specify its location on the command line using the variableASM_LINUX
. Similarly, you can specify the Python command usingPYTHON_LINUX
.
- Run
make clean
to clean the directory of all generated files, includingwestward.nes
.
We are using the following emulation settings in Mesen v0.9.9. These are changed in Options > Emulation, on the Advanced tab:
- Enable OAM RAM decay
- Randomize power-on state for mappers
- Randomize power-on/reset CPU/PPU alignment
- Enable PPU $2006 scroll glitch emulation
- Enable PPU $2000/$2005/$2006 first-write scroll glitch emulation
- Default power on state for RAM: Random Values