Module 0394: Cygwin-based riverSpider

Tak Auyeung

2024-08-28

The work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Email Tak Auyeung to leave feedback, suggestions, etc.

You can download the source Markdown document.

1 What is riverSpider?

riverSpider is a tool that allows effective debugging using the TTP tool chain. It consists of a BASH (Borne-again shell) script that makes use of several typical Unix/Linux tools.

Because riverSpider started as a Linux tool to help the instructor improve programming efficiency, it was never designed to work on Windows. As more students who use Windows exclusively want to benefit from this tool, the instructor looked into ways to get riverSpider to work on Windows. There is already a solution using PowerShell, but that still has dependency on the installation of PowerShell 7, and the script is significantly different from the BASH version.

Note that riverSpider includes logisim310.jar. As such, riverSpider is also useful for projects that do not involve the use of TTP and the assembler.

2 What is Cygwin?

Cygwin consists of a DLL (dynamically linked library) that provides an emulation layer so that programs designed for a Unix/Linux environment can cross compile and run on Windows. Cygwin also includes a typical set of command line tools that exist in Unix/Linux systems.

Typically, Cygwin requires an installation that is not designed to be “portable.” This means the installation requires administrative permission, and it is not easy to transport the installation from one computer to another. A portable Cygwin installation, however, allows the installation (a folder) to be put on a thumbdrive or any portable medium, and have the tool to run on most Windows computers.

The main advantage of using Cygwin is that Unix/Linux commands will work in Windows without installing a Linux VM.

3 Getting the Cygwin-based riverSpider to work