Hi Snoopy, great that you are going forward with this mammoth project.
I have a question out of interest (keep in mind that I know nothing about BBC Basic or the Mega 65):
As far as I understand there are BBC Basic implementations for many systems. Now you say that you can't be compatible with BBC Basic (but will try to be compatible as much as you can). Is there something fundamentally different between the Mega65 and other computers that have BBC Basic implementations, that make BBC Basic implementations possible on those but not on the Mega65? Or would you consider most of those implementations as not real BBC Basics, just "compatible as much as possible", similar to your project?
Is there even a specification of BBC Basic? Or would you only accept a Basic that runs any program that was written for Acorn computers as BBC Basic?
Hello Freudentaumel, I probably expressed myself a little unhappily. I try to formulate it a little differently:
BBC BASIC was actually programmed to be very portable back around 1980 by Please login to see this link.. Basically the BBC BASIC 2 runs on almost every 6502, if you provide a few - clearly defined - OS routines for input and output. But on a system with a maximum of 64 KB RAM!
For the C64 there is for example such a Please login to see this link., which also runs in the C64 mode of the MEGA65:
Please login to see this attachment.
There are also many other implementations of the BBC BASIC (also on Z80 processors etc.), which I would call >99% BBC BASIC compatible. To my knowledge there is no "official" and generally valid language specification of the BBC BASIC.
What I meant in my post and what is important to me, is to make an implementation as close as possible to the program code of the original BBC BASIC. I would like to write not a BASIC, which behaves "only" in such a way like the BBC BASIC (which is already compatible), but a BASIC, which uses - so far possible - also the original program routines, thus actually "is" like the BBC BASIC 2.
But with the restriction that I want to use the extensions of the MEGA65 (at least theoretically). And that means that I want to "teach" the BBC BASIC to run on a computer which has a lot more as 64 KB RAM and also has a lot more to offer than the BBC computer on which it originally ran.
And especially I find the memory handling of the C65/MEGA65 anything but "easy to maintain". This has also annoyed and frustrated me so much that I have already thought about a voluntary root canal treatment without anesthesia at the dentist - just for relaxing! ![]()
The entire concept of the C65/MEGA65 harmonizes relatively well with the BASIC 10 (or with the more advanced BASIC 65 in the case of MEGA65). After all, it was especially written for this machine. But unfortunately not so much with a "6502 - BBC BASIC" (out of the box). For this, the hardware is then nevertheless too different to the BBC computers.
And this is where my ambition starts, to achieve a good compromise between "maximum original code" and "reasonably well adapted to the MEGA65".
And if all fails, I know where my dentist is ... ![]()