Giter VIP home page Giter VIP logo

mega65-tools's Introduction

MEGA65 Tools

Tools and Utilities for the MEGA65 Retro Computers, such as:

  • m65: swiss army knife of tools for automated actions to perform on mega65 hardware
  • mega65_ftp: an ftp tool to more easily put and get files to/from your sd-card
  • BETA etherload: communicates with the MEGA65 via Ethernet, requires development core.
  • bit2core: convertes bitstreams into core files (.cor)
  • bit2mcs: converts bitstreams (or core files) into the Vivado MCS format
  • romdiff: romdiff can create RDF ROM patches and apply them

Download

Stable builds are available for download on Filehost

Building under Linux

To build on e.g. Debian Linux, install the following packages:

sudo apt-get install build-essential pkg-config git gh wget python3 cc65 sshpass unzip imagemagick p7zip-full libgtest-dev libgmock-dev libreadline-dev libtinfo5 libcairo2-dev

After cloning the repository, enter its directory and call

make all

to build native Linux binaries.

If you want to cross-build the tools for Windows, you'll also need:

sudo apt-get update
sudo install -y gcc-mingw-w64 mingw-w64-common libz-mingw-w64-dev cmake python3-pip
pip install conan

Execute the Windows cross-build by calling (if you do this often, you can set WIN_CROSS_BUILD to 1 in your environment)

make WIN_CROSS_BUILD=1 allwin

For developers that want to commit code to the repo, it's suggested you also install clang-format version 11.

sudo apt-get install clang-format-11
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-11 10
sudo update-alternatives --config clang-format

If your official Ubuntu apt repositories only contain older versions, you can download a statically-linked version of v11 from either:

Then do:

sudo update-alternatives --install /usr/bin/clang-format clang-format /path/to/downloaded/clang-format-11_linux-amd64 20

You can then apply the enforced style by typing:

make format

Building under Windows

You will need to prepare a mingw64 environment for windows.

Two possible means of getting mingw64 are:

Option 1: Install WSL:

Option 2: Installing msys2:

Option 3: Install Git for Windows:

Installing pre-requisites (for options 2 and 3)

After doing so, you can then install the build pre-requisites in mingw64 by typing:

pacman -S make mingw-w64-x86_64-toolchain mingw-w64-x86_64-libusb

If you chose the msys2 option and don't have Git, then do:

pacman -S git

You should then be able to build with make.

If you want to build specific tools, you can run targets like:

  • make bin/mega65_ftp.exe
  • make bin/m65.exe

For developers that want to commit code to the repo, it's suggested you also install clang, in order to run clang-format (it presently provides clang-format v11).

pacman -S clang

If you prefer to use a statically-linked binary instead, you can download it from either:

You can then apply the enforced style by typing:

make format

Known compiler error for mingw64

If you get this error compiling:

src/tools/fpgajtag/util.c:43:10: fatal error: libusb.h: No such file or directory

Then tweak this "fpgajtag/util.c" as follows:

  • FROM: #include <libusb.h>
  • TO: #include <libusb-1.0/libusb.h>

I'll try sort out that error at some later stage...

Building under macOS

To build for macOS, install the following packages using Homebrew:

brew install conan

To build all of the tools currently available for macOS:

make allmac

You can also make these individually:

make bin/m65.osx
make bin/mega65_ftp.osx
make bin/romdiff.osx
make bin/m65dbg.osx
make bin/etherload.osx

Other tools within the suite may or may not compile with their equivalent Linux targets.

For developers that want to commit code to the repo, it's suggested that you install clang-format-11. On a Mac, you can use Homebrew to install it:

brew install clang-format

With clang-format installed, you can apply the enforced style to the source files with the format make target:

make format

Unit Tests

Some initial effort is underway to start providing unit tests for our tooling, starting with mega65_ftp and bit2core.

It presently makes use of gtest release 1.10.0.

To install gtest on linux run the following:

sudo apt install cmake
git clone https://github.com/google/googletest.git -b release-1.10.0
cd googletest
mkdir build
cd build
cmake ..
make
sudo make install

Unit tests are housed in the 'gtest/' folder.

The unit test executables are housed in the 'gtest/bin' folder.

To generate the tests and run them:

Linux:

make test

Windows

make test.exe

mega65-tools's People

Contributors

gardners avatar lydon42 avatar gurcei avatar ki-bo avatar steph72 avatar frehwagen avatar dansanderson avatar lgblgblgb avatar rhys762 avatar lak132 avatar johnwayner avatar bubbob42 avatar nils-eilers avatar jimnicholls avatar dillof avatar jakroth avatar ralphegas avatar jesperrula avatar geehaf avatar jedso avatar sausagejohnson avatar sy2002 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.