I'd like to show you an idea that originated in a WhatsApp group.
Supposing we can create a text editor - with the purpose of being a code generator for MSX - that will get MSX BASIC code as parameters, these instructions can be translated straight into other languages such as ASM, C and Pascal.
If - as an example to illustrate it - we want to draw a line, this editor could take the following parameters:
- machine (MSX 1, MSX 2, MSX 2+, MSX Turbo-R)
- screen (0, 1, 2...)
- from X1/Y1 to X2/Y2
- color C
... this code generator will take these parameters and automatically generate ASM code to draw this line, and this code can be either invoked from BASIC or as an ASM text file; other languages can be added as well. For example, a CLS instruction runs faster when it's translated into ASM and runs straight into memory. There are many possibilities, such as generate sprites, create functions, and so on.
For each line in this editor/generator we can have a drop-down list with all MSX BASIC instructions.
As people are already used to develop for MSX BASIC, this code generator will generate code for languages that are faster to run, circumventing speed limits imposed by MSX BASIC and its slow interpretation of the code. In case this idea raises interest from other communities of developers, code can be generated for other 8-bit machines such as Commodore, VIC, Apple, Amiga and so on, but at this moment our focus is on MSX.
Team is already organizing steps that will be followed, such as Github account, language to develop the interface (possibly Python or Ruby, but other languages can be discussed), first instructions that can be converted as they are simple and have no parameters such as CLS. Anyone who wants to join and contribute is welcome, so please have your say.
Regards, Franklin