Can someone who speaks the super secret language and has a happy little decoder ring tell me honestly HOW to build the software?
I mean I need a JED file to load the gal.. I know that much ... But where are the instructions?
I think the basic mechanics of getting the source (using git or download) is not the problem here, nor is loading up the design files in kicad and plotting gerbers (although this repo has gerbers). The build is a bit complicated. Just to give it a try, I cloned the repo, and the clone of the repo and submodules was as described, but downloading a .ZIP for each submodule would work as well.
I can see why this would be tough without any instructions, and not too bad with good instructions.
Most hobbyists will have some awareness of Make. This project uses Cmake, so you'd have to know to install cmake on your machine and make sure it's in your path. For Linux or Mac it's easy (apt install cmake / port install cmake). For windows it's there's an MSI you can download form cmake.org, but you'd have to know where to find it, and for any platform you'd need to know that you need it in the first place.
I did what anyone familiar with cmake would normally do for a cmake build: I created a 'build' directory, switched to it, and tried 'cmake ..' However, that crashed because an environment variable was not set to point to the PICO toolkit. I had to clone that (the github link was in the error message), and inspecting the CMakeLists.txt file, I realized that cmake looks at the build directory name to determine what features are enabled in a build. Luckily there is a build.sh script that creates directories for all the configurations, but it won't do so if there's already a 'build' directory, so I had to delete the 'build' directory first, then run the script, which then crashed because the ARM compiler could not be found. After figuring out what compiler I needed, and discovering the macports name for the package, I had to download and install the arm compiler (port install arm-none-eabi-gcc). Macports elected to compile the entire compiler toolchain, which took a while on my 2009 Mac Pro, and afterwards, I deleted the 'build' tree once more and ran the 'build.sh' script, and it build everything.
It would also be very easy for the developer to set up a github-actions build and generate all the binaries automatically to make them available for download so people don't need to go through all those steps unless they are modifying the code.
The instructions for the firmware build would be:
0) If you are running Windows or MacOS, you might want to consider adding a package system. This is not strictly necessary, but will make things much, much easier.
1) You probably want git, and you will need a shell like sh or bash:
- Linux:
- Mac: Both are natively installed, but you probably want the latest git:
- Windows:
- Download Git for Windows from https://gitforwindows.org/
- Also, to get Make and other utilities, Download the Git for Windows SDK from the bottom of the page at https://gitforwindows.org/
- OR, you can use chocolatey to install git. I believe this installs bash, but not sure if make & friends get installed, so you may still need to download the SDK as above.
2) Download or clone the firmware repository from github
git clone git@github.com:V2RetroComputing/analog.git
3) Download the pico sdk from
https://github.com/raspberrypi/pico-sdk, or clone it:
git clone git@github.com:raspberrypi/pico-sdk.git
4) Download and install the ARM GCC compiler:
- Windows:
- Mac:
sudo port install arm-none-eabi-gcc
- Linux
5) set the environment variable
PICO_SDK_PATH
to point to the downloade/cloned pico sdk, and run the build script:
- PICO_SCK_PATH="$HOME/my_path_to_pico_sdk" bash build.sh