Skip to content
Linux port of the anago command-line dumper for the kazzo board
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
kazzo
scripts
.gitignore
CMakeLists.txt
COPYING
anago.1
anago.1_src
anago.c
anago_en.txt
anago_ja.txt
build_config.h.in
config.h
crc32.c
crc32.h
crctable.h
file.c
file.h
flash_device.c
flash_device.h
header.c
header.h
memory_manage.c
memory_manage.h
porting.txt
progress.c
progress.h
reader_dummy.c
reader_dummy.h
reader_kazzo.c
reader_kazzo.h
reader_master.h
readme.md
script_common.c
script_common.h
script_dump.c
script_dump.h
script_flash.c
script_flash.h
squirrel_wrap.c
squirrel_wrap.h
type.h
usb_device.c
usb_device.h

readme.md

This project is a Linux port of the anago NES/Famicom flashing and dumping utility (from the Unagi project) which is used with the kazzo board. This specifically ports version 0.6.0 which was generally more reliable and had a larger script complement than version 0.6.2. That said, I'm sure some investigation could convert missing scripts, and potentially the 0.6.2 version may be more compatible to begin with, but what can you do. I doubt anyone besides myself will use this anyways.

Here is a brief summary of the differences between this codebase and the upstream original:

  1. Per comments in the upstream porting.txt document, all Windows references were removed and usually replaced with unistd.h. Sleeps were replaced with usleep accordingly.
  2. Static makefile was replaced with a cmake configuration, which simplifies dependency resolution.
  3. Squirrel library upgraded to version 3 per since this is what's already in the Debian repos
  4. Code specific to the unagi GUI removed and code consolidated to a single main folder structure.
  5. Rather than relying on the full kazzo source tree, I simply included the two required H files in this tree. This simplifies the build further.
  6. Script files are not read from the current directory, but rather from $prefixdir/share/anago, or from ~/.config/anago. This allows the anago tool to be run from anywhere and thus behaves more like a standard Unix application.

I did start changes by commiting the unmodified upstream code, so you can also browse the change history for more details.

Build & Install

Dependencies

This project only requires the following:

And to regenerate the manual page:

On a Debian/Ubuntu-based distro, these can be installed using the following command:

# apt install libsquirrel-dev libusb-dev cmake

Build

The build sequence is actually quite simple. For a basic build, start with a terminal in the anago source folder and execute the following:

$ mkdir build
$ cd build
$ cmake ..
$ make

To regenerate the manual page, if you have txt2man installed, use the following:

$ make manual

Install

After the above is run, simply execute the following, as root, in the build folder. This will install to /usr/local by default. Refer to cmake documentation for setting the prefix directory, if alternate destinations are needed.

# make install

Packaging

The packaging process is slightly different than the above, as the prefix directory needs to be explicitly redirected so the tool is aware of the package destination. Execute the following from the build directory to create packages:

$ cmake -D CMAKE_INSTALL_PREFIX=/usr ..
$ make package

For packaging formats other than .deb, edit the CMakeLists and add the package format to the CPACK_GENERATOR line.

Usage

Refer to include manual page or original readme files for details.

You can’t perform that action at this time.