15 hours ago, rje said:
Well sure. I can try. I'm a high-level programmer that knows C. I can at least write a big fat binary and then think about how to optimize it. Please wish me luck, because I'm going to need it.
Oh, don't worry about that. I've written a few to varying stages of completion, i.e. running programs. I never really finished most of them off because I didn't see the point, it's just writing tokenisation/detokenisation code. The last one was designed to be modular so you could add and drop whole chunks of it (no floats ? no strings ? etc.) pretty much at will.
It's probably easier than working with the Microsoft/Commodore code. It's engineered better for a start, well engineered at all, and bits are where they're supposed to be.
The other problem with them is, whilst I don't doubt your ability to do it, you won't make it fast enough and resemble BASIC. I've got two interpreted languages which are about the same speed (about 5x faster than X16/MS Basic) one of which is a sort of FORTH you can edit on the fly like BASIC, and the other one resembles the old HP9xxx calculator language, HPL which sacrifices everything for speed. I have looked into tricks like DAI Basic, semi compiled stuff, storing references in the tokenised code (so if you access a variable you don't have to use lists/hash tables etc, same for procedure calls) and it just can't be speeded up that much. 16/32 bit integer maths, fp maths eats up CPU cycles. I did get a workable 8 bit only language going once but that was for a machine with only 2k RAM
:) There's a very good example in the archive, a chap wrote a very nice BASIC version of a Boulderdash-type game, and he's stretched it about as far as it could go.