Calypsi is a series of C compiler and assembly language cross compiler tool chains. The current tool chains are aimed towards the retro and hobby communities. Future products will be for typical targets used in embedded programming.
Latest release is 5.5 available here for the following targets:
- MOS 6502
- WDC 65816
- Motorola 68000
- HP Nut (assembler and debugger only)
Supported host platforms are:
- Arch Linux, 64-bit x86
- Debian based Linux (built on Ubuntu 20.04), 64-bit x86
- macOS x86
- Windows 64-bit, built on Windows 10
-
ISO C 99 compiler. This is a freestanding implementation with many features you will typically find in a hosted compiler.
-
Fully re-entrant code model.
-
Support for all integer types up to 64 bits
long long
. -
Floating point supported (32 and 64 bits IEEE-754).
-
Full support for
struct
,union
,typedef
and what you expect to find in C. -
Support for (stack allocated) variable sized arrays.
-
Optimizing compiler that can output source level debugging information.
-
Source code debugger included.
-
Support for ELF/DWARF, hex output as well as various target specific output formats.
The tools are closed source. You can use them free of charge for hobby purposes, which means you are not allowed to make your living based on using the tools, either directly or indirectly.
Having a small side or hobby based income from using the Calypsi tools is permitted.
An exception to the above is given to the HP-41 Nut target which is provided with a BSD license to its binary distribution. Permission is given to use the HP-41 Nut tools for commercial use, free of charge.
If you cannot find a suitable project below to post questions or report issues in, feel free to do it in this project.
If you feel need to reach me directly you can do so by sending e-mail to hth313@gmail.com.
Donations to help me work on this code base is very much appreciated. If you feel that you want to help you can do so by using Paypal to hth313@gmail.com. This is by no means mandatory, you are free to use the tools regardless, as mentioned above.
The 6502 target supports the MOS6502, WDC65C02 and 45GS02 processors.
-
F256 Jr. board support
-
Commodore board support for Commodore 64, MEGA65 and Commander X16.
-
Hello World for Commodore 64 is a simple Hello World project which uses the board support as a submodule
The 65816 target supports the WDC65816 processor.
-
Foenix C256 board support for the C256U and FMX new retro computers. You can find more information about these computers at https://c256foenix.com
-
Hello World for C256U is a simple Hello World project which uses the Foenix C256 board support as a submodule
-
Foenix F256 board support for the F256 and F256K retro computers. You can find more information about these computers at https://c256foenix.com
The 68000 target supports the Motorola 68000 processor.
-
Amiga runtime support. This project is included with the product, but you can study the source code here and contribute to it.
-
Hello World for the Amiga is a simple Hello World project for the Amiga.
-
Foenix A2560U/K board support for the A2560 new retro computers. This project is included with the product, but you can study the source code here and contribute to it. You can find more information about these computers at https://c256foenix.com
-
Hello World for A2560U is a simple Hello World project.
The Nut target supports the HP-41 Nut and NEWT processors.
-
OS4 is an extension module for the HP-41C operating system which greatly expands its capabilities
-
Ladybug is an HP-16C inspired module which makes use of the OS4 module to bring a HP-16C style calculator into the HP-41C
-
Boost41 provides user functions that is based on the features provided by the OS4 module