The original Commodore TED (C16, C116, Plus/4) source code has recently appeared on zimmers.net. It is also available in my Commodore Source Code git repository.
The original source could be built with two different assemblers:
- Commodore’s own assembler, which ran on PET machines. The master binaries of the C64 ROMs were created by this tool. The source is included in the original archive referenced above.
- “Boston Systems Office (BSO) relocating cross assembler” (“CR6502/11”), which ran on VAX/VMS machines. The master binaries of the TED ROMs were created with it, and it was the only supported assembler for the C128 ROMs.
I have converted the source to build with cc65:
The purpose of this is to allow creating updates and derivatives of the TED KERNAL. For this, the components have been put into sections that start at fixed addresses, so that replacing components (like “tape” or “monitor”) will keep the overall layout intact and won’t break symbol addresses.