- Compiler - cc65 (not necessary if you download the release version)
- Emulator - FCEUX
After cloning the repo we type ./make.bat
on Windows or make
on Linux/macOS. Then, we open main.nes file.
If you downloaded the release version, there is no need to use make. Just open the file in FCEUX.
- Start (enter by default) - begin the game (works only in the title screen)
- Arrows - movement of selection arrow on the board
- A (F key by default) - place X or O
Win counter only works up to ten wins - after that it breaks. I wanted to fix it at first but implementing sprite update based on decimal value sounds crazy hard and I'm really tired of assembly.
Another thing is that after detecting a winning position, the board is cleared almost immediately. There should be some pause, maybe animation and information about who won. But I belive the counter is enough in this case.
Materials I used for learning while making this project:
- 6502 instruction set
- Nes Dev Wiki
- Zero Pages video series by Michael Chiaramonte
- FCEUX Debugger documentation
- A lot of googling and finding answers on Nes Dev Forum
For anyone interested in editing graphical files, excellent choices are:
This software is made for Windows, but can be opened on MacOS and Linux using Wine.
If you want to use my code or create a similar project - whether it is for university or for hobby, feel free to contact me. I'm no expert on this, but I know the learning curve of assembly is really steep, so I can definitely help get you started.
Project made as a part of the "Computer Architecture 2" course organized by Wroclaw University of Science and Technology.