Vergleich von BasiCode auf MSX
und Bildungscomputer A5105

 

2019, bei der Beschäftigung mit der Emulation von MSX-Computern, stach mir die Ähnlichkeit zum BIC A5105 ins Auge. Für beide Computer gab es einen Bascoder für Version 3, beide Bascoder erweiterte ich zur Version 3C.

Für den Bascoder des BIC sind zum Erreichen der Farbtauglichkeit nur diese paar Zeilen hinzuzufügen / zu überschreiben:

11  DEFINTA-Z:DIMCC(3):M=VAL("&H"+HEX$(PEEK(&HFBB6)+256*PEEK(&HFBB7))):
      IFPEEK(&HFEFD)=201THENCLEAR200,M-455:POKE&HFEFD,0:GOTO11
24  O=USR(OQ):CC(0)=7:CC(1)=0
100  SCREEN0:CC(2)=CC(0):CC(3)=CC(1):GOSUB152:WINDOW0,24,0,39:CLS:RETURN
110  LOCATEVEAND255ANDVE>-1,HOAND255ANDHO>-1:GOSUB152:RETURN
150  GOSUB152:PRINT" ";:O$=" "+SR$+" ":FORO=1TOLEN(O$):PRINTCHR$(128+ASC(MID$(O$,O)));:NEXT:PRINT" ";
151  COLORASC(MID$("01452367",CC(2)+1,1))-48,ASC(MID$("01452367",CC(3)+1,1))-48:RETURN
152  COLORASC(MID$("01452367",CC(0)+1,1))-48,ASC(MID$("01452367",CC(1)+1,1))-48:RETURN
204  CN=0:IFIN>96ANDIN<127THENCN=32:IN=IN-32:RETURNELSERETURN
222  CN=0:IFIN>96ANDIN<127THENIN=IN-32:CN=32:RETURNELSERETURN
600  SCREENOS:GOSUB656:CLS:RETURN
620  GOSUB655:PSET(OH,OV),-O*(CN=0)-O9*(CN=1):GOTO631
630  GOSUB655:LINE(OK,OL)-(OH,OV),-O*(CN=0)-O9*(CN=1)
650  GOSUB655:COLOR-O*(CN=0)-O9*(CN=1):O=1:OV=OV-8:IFOV<=0THENOV=0
651  IFO>LEN(SR$)THENRETURN
655  OH=HO*OX+OW:OV=199-VE*OY
656  O=ASC(MID$("01452367",CC(0)+1,1))-48:O9=ASC(MID$("01452367",CC(1)+1,1))-48:COLORO,O9:RETURN

Dieser Tage erfuhr ich, dass ich mir für den MSX die Mühe nicht hätte machen brauchen, es gab schon einen Farbbascoder des damals sehr aktiven C.U.C. Doch schaffte der Bascoder erst dieses Jahr die Veröffentlichung im Internet.

Was zeigt der Vergleich der beiden Farbversionen (und damit auch der Hardware)?

Im Grafikmodus sind beide fast ebenbürtig, doch tritt im Gegensatz zum BIC bei den MSX-Computern der attribute clash auf (siehe links unten im Bild auf der vorigen Seite), das Umfärben von bereits vorhandenen Pixeln, wenn im nahen Umfeld ein Pixel in einer anderen Farbe gesetzt wird, sozusagen “der letzte gewinnt“. Die Größe der Zeichenfläche ist auch unterschiedlich: 320 x 200 Pixel beim A5105 und 256 x 192 bei MSX.

Doch im Textmodus zeigen sich Unterschiede.

GOSUB 150, die hervorgehobene Anzeige zum Beispiel von Überschriften, ist auf dem BIC mit neuer Hinter- und Vordergrundfarbe in jeder denkbaren Kombination möglich. Auf den MSX1 und -2-Modellen ist es jedoch so, dass bei einem Wechsel der gesamte Hintergrund die neue Farbe annimmt, ebenso sind nicht zum gleichen Zeitpunkt unterschiedliche Schriftfarben möglich. Im BIC steckt eben ein modernerer Grafikchip.

Entsprechend verhält es sich mit GOSUB 110, der Positionierung des Textcursors. Es ist kein Bestandteil der BasiCode-Festlegungen, aber auf einigen Computern können gleichzeitig mit der Cursorposition Vorder- und Hintergrundfarbe geändert werden – wir haben es im Robotrontechnik-Forum schon einmal diskutiert und inzwischen ist diese Zusatzfunktion auch in die Bascoder für sowohl den KC 85/3 als auch /4 eingearbeitet. Auf den MSX-Computern besteht die Möglichkeit nicht, auch hier können, weil Textmodus) zum gleichen Zeitpunkt nur zwei Farben verwendet werden.

In der Version 35 des MSX-Bascoders wurden beim Zusammenfügen von Bascoder und Programm sämtliche Bascoder-Unterroutinen übernommen. Auf dem BIC funktioniert es jedoch wie mit den Programmbibliotheken in Turbo Pascal oder den DLLs unter Windows: es werden nur die Routinen übernommen, die tatsächlich vom Programm angefordert werden. Diese clevere (weil RAM sparende) Vorgehensweise gibt es in der Version 3C nun ebenfalls.

Thomas Rademacher . Dezember 2025