Hallo klaly
1. welcher IO-Bereich sollte an den Lötjumpern gesetzt werden: K2/K3/K4 ?
nimm einfach K2.
2. Was ist EhBasic eigentlich ?
Enhanced Basic wurde von Lee Davison entwickelt, der leider bereits 2013 im Alter von 49 Jahren verstorben ist. Sein Basic wurde seit dem nur wenig weiterentwickelt. Ich habe mich für sein Basic entschieden, da es gut (auch im Source Code) dokumentiert ist. Die EhBasic Dokumentation hatte ich jetzt in meiner letzten ZIP leider nicht dazugepackt, was ich jetzt aber hiermit nachhole.
HansOtten hat auf seiner Seite auch einiges dazu gesammelt. http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/
Ich habe übrigens gleich den Patch für Groß-/Kleinschrift mit eingepflegt. Zu beachten ist hier, dass Variablen somit case sensitive sind. M und m sind also verschiedene Variablen.
Ich habe mir auch erlaubt, die bestehende Version 2.22 auf 2.23 zu erhöhen, um einen Unterschied zu den im Inernet erhältlichen anderen Versionen zu verdeutlichen. Ich hoffe Lee verzeiht mir das.
3. Gibt es dort auch PEEK und POKE ?
Ja gibt es. Und ebenfalls DEEP und DOKE für 16 Bit Werte.
4. Mit welchem Befehl komme ich zum Monitor zurück ?
Du kannst entweder die ST(op) Taste auf dem Junior drücken, oder im Basic CALL $E003 eingeben, was den Kaltstartvektor des Monitors aufruft. Um dann ohne Datenverluste wieder zurück zum Basic zu kommen springst du zu Adresse $0000 in dem du 0G am Prompt eingibst. Wenn du Basic aber komplett neu starten und initialisieren möchtest gibst du B000G ein.
Übrigens ist leider ein Nachteil von EhBasic, dass die Befehls Token ab dem Wert $80 beginnen und somit nur 128 Befehle möglich sind. Ich habe jetzt bereits einige Befehle für eine zukünftig geplante Grafikkarte reserviert und eingefügt, damit sich bei den Token später nichts mehr verschiebt, sonst sind gespeicherte Programme nicht mehr startbar, da diese nicht im Klartext sondern tokenized gesichert werden. Man muss da leider für die Befehle, Funktionen und Operatoren eine bestimmte Reihenfolge einhalten, sonst könnte man einfach nach dem letzten Befehl einen weiteren dranhängen.
Wie auch immer, jetzt sind leider nur noch eine Hand voll freier Token übrig, so dass eine weitere Befehlsvergrößerung fast unmöglich wird.
Ein weiterer Nachteil ist, dass EhBasic leider manchmal Murks macht, wenn eine Zeile mit den Pfeiltasten editiert wird. Ausserdem war (ist) von mir geplant, noch einen MOD(ulo) Operator einzufügen, was sich leider als höchst kompliziert herausgestellt hat, da man, wegen verschiedener Ergebnistypen nicht so einfach im Assembler Code verschiedene Befehle (+ / * Int() ) aneinander reihen kann. Ich werde mich da aber noch irgendwie durchbeißen.