Continuous Delivery for SC126

I wanted an efficient way to build and deploy programs for the SC126 so I have set up a Continuous Delivery pipeline for my SC126 system. Retro-computing the modern way, I guess.

The pipeline is based on a docker image containing a compiled version of SDCC using debian. I have built and pushed the image to docker hub for others to use:

docker pull mobra66/sdcc:<version>
docker pull mobra66/sdcc:4.0.0
  • Using Gitea locally, and Github for source code management
  • Using Jenkins, the pipeline:
    • Checks out source code from git repository
    • Builds C and Assembler using the SDCC docker image
    • Pushes the Intel HEX files to my Raspberry Pi frontend
    • Resets SC126 into the Small Computer Monitor ROM
    • Uploads the Intel HEX files to SC126

The pipeline implements fully automated build and deployment of binaries (Intel HEX) to the SC126. The pipeline runs on a very old PC with Ubuntu Server 20.04, and all tools are dockerized using docker-compose for the complete pipeline.

The time from commit/push in the source code editor until the program is running in the SC126 is less than one minute!