INKEY$ does not always work
error when using more than 3 ORs
in CalcValue: vorrech konnte nicht -1 werden, hinterließ dann das -. Im Test noch das #32 hinzugefügt.
error when using more than 3 ORs
STRING compars in brackets results in variant error
Hinweis: Im original-BASIC bricht das auch mit einem Fehler ab. Man müsste ?1+(a$="Q") ?("Q"="Q")+1 ?("Q"="Q")+i schreiben. Das klappt auch hier. Aber die Logik lässt die Beispiele vom 03.09.2026 auch funktionieren, sollten irgendwann gerichtet werden. Aktuell aber nicht wichtig.
|GUI (keyboard)
SQ() command needed
SQ() command needed
verschachtelte Funktion STR$ und INSTR(
.ForceVarType auskommentiert. Später checken, ob es so bleiben kann oder nicht, Fehler werden trotzdem angezeigt, vielleicht kann man die Funktion später ganz weglassen
STRING compars in brackets results in variant error
Hinweis: Im original-BASIC bricht das auch mit einem Fehler ab. Man müsste ?1+(a$="Q") ?("Q"="Q")+1 ?("Q"="Q")+i schreiben. Das klappt auch hier. Aber die Logik lässt die Beispiele vom 03.09.2026 auch funktionieren, sollten irgendwann gerichtet werden. Aktuell aber nicht wichtig.
PRINT NOT 7-1
inserted NOT in the list of operators, search from backwords.
INPUT in graphics mode
fixed: Editor instead of the old Edit and ?Redo from start in case of error is implemented now, too.
und ein ?(NOT 7)-1 gibt einen Syntax error
PRINT NOT 7-1
When adding a lot of numbers, the interpreter crashes
Das Problem bestand, wenn mehr als drei Zahlen verrechnet wurden und in der Mitte mindestes eine Kommazahl existierte. Es wurde nur der ganzzahlige Teil ersetzt. In Zeile 4459 so geändert: gl:=leftstr(gl,i3)+string(ergebnis)+fromstr(gl,nachrechpos+nachrechlaenge); und weiter oben nachrechpos und nachrechlaenge gesetzt.
|TAPE format
(hinweis: syncchar muss immer 0 sein, könnte man auch weglassen)
in 256 #Byte.Blöcken, (der letzte muss mit nullen aufgefüllt werden) abspeichern, dann eine Prüfsumme über die gesamten 256 Bytes (auch beim Header) erstellen. Hier der Code dazu, falls es mal jemand anders braucht: function CpcCrc(const Data: array of Byte;syncchar:byte): word; var i,bi:integer; Checksum:word; // entspricht (B8D3) little-endian CurrentByte:byte; BitValue:byte; // 0 oder 1 A:byte; // das "letzte geschriebene Bit" als $00 oder $FF H,L:byte; // für lesbare Darstellung procedure UpdateChecksum;...
LOAD does not change command names in upcase
Es wird nun nicht umgewandelt, aber die Programme können auch mit Kleinbuchstaben ausgeführt werden.
führende Leerzeichen werden bereits im Puffer entfernt
algebra issues
problems with last lines in graphic mode
LOAD does not change command names in upcase
das oben hat ein Leerzeichen vor einem Vorzeichen am Anfang dann richtig behandelt, aber Probleme gibt es noch bei folgenden Beispielen: ?1+a$="Q" ?"Q"="Q"+1 und schlimmer: ?"Q"="Q"+i Wenn die Stringvergleiche in Klammern gesetzt werden wie beim Original-CPC geht es, sollte aber gefixt werden.
STRING compars in brackets results in variant error
n function IsOperatorOrKeywordBefore(const HSt: string; PosBefore: Integer): Boolean; Zeilen hinzugefügt: if p<1 then begin result:=true; // links vom String, also führendes Vorzeichen exit; end;
STRING compars in brackets results in variant error
n function IsOperatorOrKeywordBefore(const HSt: string; PosBefore: Integer): Boolean; Zeilen hinzugefügt: if p<1 then begin result:=true; // links vom String, also führendes Vorzeichen exit; end;
STRING compars in brackets results in variant error
Cannot resize graphic window
INPUT in graphics mode
|GUI (keyboard)
|TAPE format
verschachtelte Funktion STR$ und INSTR(
INSTR issue
Fehler behoben: in der strng.pas Unit hat die instr Funktion eine andere Reihenfolge der Parameter als in BASIC (warum auch immer).
INSTR issue
algebra issues
STEP float value
changed all real types to double, so additions is easily possible and the bug was removed.
führende Leerzeichen werden bereits im Puffer entfernt
When adding a lot of numbers, the interpreter crashes
STEP float value