Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
first attempt on trying to make an msx1 .rom from zxbasic
#4
Hey, didn't know this one! This would be really helpful.
Also I've finally arrived to a conclusion (while trying to port the compiler to the 2.x branch).
  • It's not easy (or even impossible) to port some Sinclair BASIC instruction to other machines (ej. INK, PAPER, BEEP)
  • Users on other platforms will want ZX Basic to be more closer to their platform original BASIC (e.g. Locomotive BASIC on Amstrad, or MSX BASIC for MSX, etc).
ZX BASIC is modularized (to some extent). It's divided in 4 main layers: The preprocessor, the frontend (BASIC parser), the middle-end, and the backend (ASM). Any of these 4 layers can be changed without affecting the others.

Instead of trying to heavily refactor the frontend (as I'm currently doing), it's better to start a new one (derived from ZX BASIC) which parses a MSX BASIC dialect, another for Locomotive BASIC (Amstrad), etc. These (python) modules could be loaded on the fly, when the user issues something like zxb --arch=msx or the like. Otherwise, it would be more likely ZX Basic will be forked in 3 (or more) separated proyects (ZX, MSX, Amstrad).
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)