Perfide...
Die Rücksprungadresse der ersten Variante endet mit $2a, was bei $b11f zur Erkennung von FRMEVL benutzt wird (wozu auch noch das High-Byte vergleichen, das wäre ja Verschwendung).
You are about to leave Forum64 to get redirected to the following address:
Please note, that the target website is not operated by us. We are not responsible for it's content nor does our privacy policy apply there.
Perfide...
Die Rücksprungadresse der ersten Variante endet mit $2a, was bei $b11f zur Erkennung von FRMEVL benutzt wird (wozu auch noch das High-Byte vergleichen, das wäre ja Verschwendung).
NHeusler Sehr aufschlussreich, danke für die weiteren Hinweise! Anscheinend ist der erste Eintrag in der Jobtabelle für Pokal und Bombe (je nur eins sichtbar, ab Label ZWEI) und der Rest für alles andere (OTHERS). Schön gelöst!
Edit: Gerade gesehen: meine bahnbrechende Erkenntnis steht auch ganz am Ende der Anleitung.
Super, vielen Dank!
Eine genauere Betrachtung muss noch etwas warten, aber ich kann schon mal feststellen, dass meine damalige Qualität der Label-Benennung Stand der Technik war. HEIWEI, HASE! NIXAUS, LOSLAUF! Grüße an Alfi/Alfred, der so verewigt wurde.
Ich finde historische Quelltexte super interessant, auch wenn sie nicht kommentiert sind. Das ist immer noch einfacher zu durchblicken als disassemblierter Code. Deshalb vielen Dank für den Tabula-Rasa-Quellcode! Und dein Name war gefühlt in der 64'er allgegenwärtig und mir definitiv seit damals im Gedächtnis geblieben.
Über den Quellcode von Oil Challenge und R.A.M.S. würde ich mich sehr freuen (auch andere, aber die beiden ganz besonders).
Grüße aus München nach München!
Mein Wichtel hat sich richtig ins Zeug gelegt! Highlights sind das Sidekick64 mit Display und der Micro-Maxi-Prommer von Rex samt Anleitung und Software auf Diskette. Vielen lieben Dank, unbekannter Wichtel!
Die Spannung steigt!
... und es ist noch so lange bis zum 24. ! ! !
Waaas, 24.?! Mein Gegenangebot ist der 17., mehr ist echt nicht drin, sonst gehe ich zum Z80-Wichteln!
Das Wichtelpaket ist heute auch bei mir angekommen. Die Spannung steigt!
Mein Paket ist jetzt auch unterwegs.
255, so wie es aussieht (die untersten 8 Bit/modulo 256). Das passt sowohl bei 2000%256=208 als auch bei 300%256=44.
Nun ja, auf dem PICO-8 bleibt dir mW keine Wahl. Der wird mittels LUA in der integrierten IDE programmiert und dann muss man auch (so weit ich weiß) den eingebauten Font verwenden – der halt nicht sehr augenfeundlich ist.
Man kann bei PICO-8 durchaus mit einer externen IDE arbeiten, wenn man möchte (dann sind alle anderen Daten auch als Text in der Datei kodiert), man muss nur etwas aufpassen, nicht versehentlich in PICO-8 etwas zu überschreiben.
Wie kann man das runterladen? Ich noch nie Downloads auf Github gemacht und finde den Download Button nicht.
Rechts oben über der Dateiliste ist ein grüner Button "Code". Darauf klicken und im folgenden Popup unten "Download ZIP".
Ich bin sehr gespannt auf die Fortsetzung!
Ich hoffe, dass du damit die Fortsetzung der Bilder meinst...
und nicht Monkey Island 2
Hey, kein Druck! Nachdem du am Wochenende Teil 1 fertiggestellt hast, kannst du dir durchaus ein paar Wochen Urlaub nehmen, bevor du Teil 2 anfängst (bis Weihnachten solltest du aber mit Teil 1-3 fertig werden, sonst muss ich mir andere Geschenke überlegen).
Ich bin sehr gespannt auf die Fortsetzung!
Cool wäre so ein Werkzeugkasten:
- eine erweiterbare Code Sammlung von BASIC Befehle
- ein UI mit dem man BEFEHL, TOKEN und Code Segment verbinden kann
- ein BASIC Interpreter Generator
Man könnte sich so einfach eine individuelle BASIC Erweiterung zusammen klicken.
Gab es in der 64er nicht am Ende so etwas in der Art? Ich kann mich leider nicht mehr an den Namen erinnern, damit finde ich auch die Ausgaben nicht mehr.
Eine UI wird es wohl nicht gegeben haben, IIRC.
Ja, Hypra-Basic in Ausgabe 4/86 (und einzelne Befehle in den folgenden Ausgaben). Definitiv ohne UI, aber ansonsten ganz nett.
Display MoreGeht auch mit 0 print"hello":go to
Das finde ich merkwürdig. Wie ist das zu erklären?
Ich dachte erst, "to" wird als Variable mit dem Wert 0 ausgewertet.
Aber das erklärt ja nicht, warum go alleine überhaupt funktioniert.
weil das "Space" zwischen "go" und "to" nicht "gelesen" wird. Das "go to" ist für den Interpreter identisch zu "goto".
Also liest der Interpreter die Zeile genauso wie
0 print"hello":goto
Das stimmt so nicht, GO ist ein eigenes Token nur für diesen Zweck (TO ist bekannter durch seine Freundschaft zu FOR). Keine Ahnung, we auf diese seltsame Idee gekommen ist...
Das größte Highlight aus meiner Sicht ist, dass man sehr gut Assembler-Code mitten im Listing einfügen kann, mit leichtem Zugriff auf Variablen. Das ermöglicht es, erstmal in BASIC zu schreiben und dann bei Bedarf Teile zu übersetzen. Im Vergleich zu einem reinen BASIC-Compiler gibt es noch viele Kommandos, die man sonst aus BASIC-Erweiterungen kennt, und Prozeduren sind auch ganz nett. Der Autor ist auch recht fix im Support-Forum (muss er auch sein, da die Community zu klein ist, um sich selbst zu tragen).
Labels werden teilweise unterstützt (aber Tags genannt), allerdings sind in den meisten Fällen keine Vorwärtsreferenzen möglich, was das Ganze doch ziemlich einschränkt. Was noch erschwerend hinzukommt, ist, dass das Renumber keine Zeilenreferenzen anpasst, was das Kommando für mich ziemlich nutzlos macht, da man eben nicht komplett ohne Zeilennummern auskommt. Dennis hat angedeutet, dass sich das in einer möglichen V2 kommen könnte, aber ob und wann die kommt, ist unklar.
Zweiter großer Schwachpunkt für mich ist das Fehlen von Operatorpräzedenzen, also dass zum Beispiel 1+2*3 als 9 ausgewertet wird.
Insgesamt finde ich es schon ganz gut, aber durchwachsen, und durch die Entscheidung, keine rein elektronische Version anzubieten, wird die Verbreitung nicht gerade gefördert.
Hier findest du einen Wordle-Klon, der in Vision BASIC geschrieben wurde (Quellcodes in Nadeldruckeroptik in den PDFs): https://github.com/milesdyck/logos64
Es gab einen Bugfix zu einem Problem, das ich gemeldet hatte (Link funktioniert nur für angemeldete Käufer). Das mit der Benachrichtigung hat irgendwie nicht richtig funktioniert.
Ich bin mit Vision BASIC ganz zufrieden (auch wenn ein digitales Handbuch mir lieber gewesen wäre). Das größte Manko meiner Meining nach ist, dass man nicht komplett auf Zeilennummern verzichten kann. Es gibt zwar Tags (unegfähr Labels), aber die kann man nicht immer bei Vorwärtsreferenzen verwenden. Kombiniert mit einem Renumber, das referenzierte Zeilennummern nicht anpasst, ist das schon ziemlich einschränkend.
Display MoreHier mal mein
Fehlerteufelchen für "Weihnachtsmann außer Rand und Band"
ab Seite 48.
Hier muss die Variable "GO" umbenannt werden in "OG", siehe die Beiträge vorher.
Ich hab das mit C64Studio gemacht, das hatte nichts gegen "GO" als Variablennamen und das einwandfrei in ein lauffähiges PRG gewandelt, der Bug ist aber mittlerweile bekannt.In Zeile 2130 sind Zeichen, die Schwierigkeiten bereiten beim Eintippen. Hier ist nun die Alternative mit CHR$.
Die Checksums:
160: CF39
960: 2AD6
1160: 831F
2130: C168
Danke Kosmas für's Reporten, ich hoffe da kommt nicht noch was .
Aber Bugreports sind ja als Feedback besser als gar keines
Als Alternative kann man das Listing auch eintippen wie abgedruckt, nur dass man statt "go" "g<shift-space>o" eingeben muss, das wird dann richtig tokenisiert und ergibt die korrekte Checksumme. Zugegeben, das ist wenig intuitiv.
Heute bin auch ich beglückt worden!
Vielen Dank an ZeHa und alle Listing-Autoren!