I've taken a look at Blitz! the compiler for the C64. It's actually a mix of Basic and Machine Language. It's 100% possible to port this to the PET. It would involve changing the Basic pointer to $0401 and checking zero page registers in the ML code, etc. The disk routines might work on a dual Commodore drive as they rely upon PRINT# to send to the data stream.
Would anyone use it though ?
I'll attach the files as Basic and ML for anyone interested in looking at the C64 version. The code however subtracts from the top of basic pointer to create the ML routine variables, which is odd and amazing at the same time. Amazing because they'd have to know where exactly in memory the code would be before compiling Blitz into P-Code and odd because why not just specify the actual memory address to call it from.
Would anyone use it though ?
I'll attach the files as Basic and ML for anyone interested in looking at the C64 version. The code however subtracts from the top of basic pointer to create the ML routine variables, which is odd and amazing at the same time. Amazing because they'd have to know where exactly in memory the code would be before compiling Blitz into P-Code and odd because why not just specify the actual memory address to call it from.