The Commodore 64 was ported from the Vic 20 version. To do this the Vic 20 version was
disassembled, all internal address references were resolved, all the external address
references were changed where needed, the startup message was edited to reflect the
changed status and the autostart incantation was changed to the Commodore 64 form. The
whole thing was then relocated to the Commodore 64 cart space and reassembled.
The whole process took a couple of iterations. Not all the internal addresses were
resolved on the first try and a couple of calls to the Vic kernal were not to known
routine entry points so the equivalent points had to be found in the Commodore 64
kernal. Once this was done a few trivial test programs that use the Waterloo Structured
BASIC commands were tested and performed as expected.
Just over half the 8K cart space is used, a little more than the Vic 20 version which
just fitted into 4K. Most of the extra bytes are taken up by the longer sign on message.
The image can be downloaded here.