Hackaday · Creativiteit & ontwerp
Retrocomputing Verbeterd met een BASIC Preprocessor
Een project heeft als doel het programmeren van oude computers leuker te maken door een preprocessor voor MBASIC te ontwikkelen, die moderne functies toevoegt en zelfvertaling op de doelmachine mogelijk maakt.

De Hackaday Retrocomputing Challenge inspireerde een project om het programmeren op een oude CP/M-machine met MBASIC nieuw leven in te blazen. Ruwe MBASIC bleek omslachtig, wat de behoefte aan een BASIC-preprocessor deed herleven.
De preprocessor, geprototypeerd in awk en Python, converteert moderne constructies en labels naar standaard MBASIC. Vroege versies hadden moeite met parsen, wat leidde tot een herontwerp met behulp van commentaar voor labels en een tweepassysteem.
De preprocessor evolueerde om moderne controlestructuren zoals IF/THEN/ENDIF en WHILE/WEND, plus voorwaardelijke compilatie en bronopname, op te nemen.
Het project heeft drie versies: awk, Python en MBASIC. Een LLM hielp met documentatie en tests om consistentie tussen de versies te waarborgen.
De MBASIC-vertaler, hoewel ingewikkeld, draait op de CP/M-machine. Het gebruikt een compatibele syntaxis, wat zelfvertaling mogelijk maakt.
Een voorbeeldprogramma demonstreert het aansturen van een LED-display. Een ander, HILO.BAL, toont compile-time constanten en control loops. De vertaler zelf bestaat uit ongeveer 1300 regels preprocessorcode.
De preprocessor vermindert programmeerfrictie, waardoor ontwikkeling plezierig wordt. Cruciaal is dat de vertaler op de doelmachine kan verblijven en werken voor een authentieke ervaring.
AI-samenvatting op basis van de bron.
Hackaday