002
20.12.2025, 13:31 Uhr
ThomasR
|
Vergleich BasiCode MSX und BIC
2019, bei der Beschäftigung mit der Emulation von MSX-Computern, stach mir die Ähnlichkeit zum BIC A5105 ins Auge (siehe 000). Für beide Computer gab es einen Bascoder für Version 3, beide Bascoder erweiterte ich zur Version 3C.
Für den BIC sind zum Erreichen der Farbtauglichkeit nur diese paar Zeilen hinzuzufügen / zu überschreiben:
| Quellcode: | 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. https://www.generation-msx.nl/company/cuc/1364/. 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), das Umfärben von bereits gezeichneten 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 hier https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=20758 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 3 BASICODE-3(1987)(NOS)(NL).zip 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 Vorgehensweise gibt es in der Version 3C Program language/Basiccode/Basicode 3C (update) [CUC FM-04].zip nun ebenfalls. -- Tot wie ein Dodo? viele Informationen zu BasiCode auf basicode.de
Cu via komputilo povas Esperanto? Jes, BasiCode! Dieser Beitrag wurde am 20.12.2025 um 13:39 Uhr von ThomasR editiert. |