Also PEEKW ist schon mal abgehakt.
Ja, da haben sie ja auch wieder irgendwie Recht mit...
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von sparhawk am
Also PEEKW ist schon mal abgehakt.
Ja, da haben sie ja auch wieder irgendwie Recht mit...
Also PEEKW ist schon mal abgehakt.
Ja, da haben sie ja auch wieder irgendwie Recht mit...
Das Zitat ist nicht von mir, das ist bei Github gepostet worden.
Aber stimmt schon, bei PEEK oder eben PEEKW muss so oder so die Klammer hin.
Bleibt jetzt noch POKEB und POKEW. Vielleicht sollte man einfach stattdessen POKE BH und POKE WC nehmen?
Das Zitat ist nicht von mir, das ist bei Github gepostet worden.
Aber stimmt schon, bei PEEK oder eben PEEKW muss so oder so die Klammer hin.
Ja, klar....aber das ist nur ein weiteres Zeichen, wie verwirrend diese Entscheidung ist...🤪
Man könnte jetzt argumentieren, dass das eigentlich einen Syntaxfehler produzieren müsste...PEEK W(1000) ist ok, PEEK V(1000) ist ein Fehler...hmm...aber soweit würde nicht einmal ich gehen...
Step 5
Damit hatte ich auch mal kurze Zeit was zu tun.
Das muss aber schon mindestens so 750 Jahre her sein.
Ja, das ist so Ende der 90er von der neuen Simatic S7 mit der verbesserten Programmiersprache Step 7 abgelöst worden.
Das ich mich mal (kurze Zeit 1985/86) mit 6502 Assembler beschäftigt hab, hat mir bei Step 5/7 sehr geholfen.
Dann bin ich zum Atari ST gewechselt, und mein E-Technik Studium hat dann auch Zeit gekostet.
Ja, ist lange her.
Sorry, bin nur Laie, lese aber mit Interesse viel im Forum und hab mal eine Frage.
Sowie ich das im Forum im Laufe vieler Monate(Jahre?) immer wieder rausgelesen habe waren PEEK+POKE immer etwas(?) verpönt. Falls das keine Insider-Gags gewesen sein sollten frag ich mich wieso hier jetzt wieder so viel mit PEEK+POKE gemacht wird. Ist das ein Basic-Ding, oder hat man die Befehle als Hommage an den C64 im Mega drin gelassen damit sich die Leute gleich wieder heimisch fühlen?
Die Frage ist nicht ironisch oder als Angriff zu verstehen, bin nur neugierig.
Verpönt insofern, als es um BASIC V2 des C64 keinerlei Befehle für die Programmierung von Sound und hochauflösender Grafik gibt. Hier musste immer mit POKE und PEEK gearbeitet werden.
Im BASIC 65 (oder auch BASIC 3.5 oder 7.0) ist das nicht mehr in diesem Umfang der Fall. Einige Dinge kann man aber noch immer nur so erledigen.
Sowie ich das im Forum im Laufe vieler Monate(Jahre?) immer wieder rausgelesen habe waren PEEK+POKE immer etwas(?) verpönt. Falls das keine Insider-Gags gewesen sein sollten frag ich mich wieso hier jetzt wieder so viel mit PEEK+POKE gemacht wird. Ist das ein Basic-Ding, oder hat man die Befehle als Hommage an den C64 im Mega drin gelassen damit sich die Leute gleich wieder heimisch fühlen?
Drachen programmiert zur Zeit mit anderen an einem Boulder Dash für den MEGA65 in BASIC. Hierfür werden die Zeichen in den Textbildschirm des 40 Zeichenmodus geschrieben und auch daraus wieder Werte ausgelesen. Das ging bis vor Kurzen nicht ohne POKE und PEEK. Und dabei ist er auf das Problem mit dem POKE B gestossen, ganz unabsichtlich.
Für Vieles andere wird im BASIC 65 kein POKE oder PEEK mehr benötigt, das Allermeiste geht mittlerweile ohne. Trotzdem sind es Viele noch vom C64 so gewohnt und greifen zum POKE, auch weil man zum Beispiel die neuen Befehle noch nicht so kennt oder verinnerlicht hat. Zum Beispiel habe ich erst vor Kurzen ein POKE 53280,2 gelesen, um die Rahmenfarbe des MEGA65 auf rot zu setzen. Ist wohl wirklich noch so die Gewohnheit, der "Kenner von Welt" macht das natürlich elegant mit BORDER 2.
Aber ich bin da guter Hoffnung, dass beim MEGA65 im Laufe der Zeit, wenn sich die Leute erstmal daran gewöhnt haben, immer weniger POKE und PEEK zu sehen sein werden.
Manche Basic Befehle sind länger einzutippen, als der POKE Befehl. Wahrscheinlich wird der deshalb auch gerne benutzt. Auch wenn man mehr Schreibarbeit ohne POKE hat, der Speicherplatz Bedarf ansich ist bei den neuen Befehlen wie FOREGROUND dadurch nicht größer.
Manche Basic Befehle sind länger einzutippen, als der POKE Befehl. Wahrscheinlich wird der deshalb auch gerne benutzt. Auch wenn man mehr Schreibarbeit ohne POKE hat, der Speicherplatz Bedarf ansich ist bei den neuen Befehlen wie FOREGROUND dadurch nicht größer.
Und dann stellt sich für mich noch die Frage, warum sich einige(?) der neuen Befehle von denen unterscheiden, die bei BASIC 3.5/7.0 schon an Bord waren. Warum FOREGROUND und BORDER statt COLOR? Kompatibilität ist Trumpf.
Just my 2 cents...
evtl auch deft?
XOR ist auch so eine Quelle für subtile Fehler. Es gibt schon einen Grund, wieso das beim BASIC V7 des C128 eine Funktion ist und kein Operator. Das Mega-Basic macht das so:
Verknüpft AX oder mit 10...
Verknüpft A exklusiv-oder mit 10
...könnte beides sein, der Mega entscheidet sich für A exklusiv-oder mit 10 anstatt für AX oder mit 10. Nur so als Tipp...ich bin da tatsächlich bei der Umsetzung eines C64-Programms drüber gestolpert.
Ja, der BASIC-Parser ist wenigstens konsistent. Könnten die nächsten Zeichen ein vollständiges BASIC-Token sein, dann hat das beim Parsen Vorrang. Da hat man dann ggf. diese Überraschungen:
10W=5
20X=WORT
30PRINTX
ergibt 5 (W OR T)
Während ich gestern zur Ablenkung so in meiner Lieblingslektüre schmökere, die ich zu Weihnachten bekommen habe, ...
(Link)
... traf ich beim Lesen auf einen Comicstrip vom 4.6.2000, in dem Charles M. Schulz schon damals die Idee hatte, wie man Programmierer (und andere Schaffende) zu Höchstleistungen antreiben kann:
Statt erst mühsam das Werk nach dessen Entstehung zu kritisieren, wird es Dank "instant critic" (Sofortkritik) sicherlich maximal effektiv!
XOR ist auch so eine Quelle für subtile Fehler. Es gibt schon einen Grund, wieso das beim BASIC V7 des C128 eine Funktion ist und kein Operator.
Im original BASIC 10 des C65 ist das auch noch eine Funktion:
Alles anzeigenXOR -- Exclusive-Or function
XOR (number,number)
The XOR function returns a numeric value equal to the logical XOR of
two numeric expressions, operating on the binary value of the unsigned
16-bit integers in the range (0 to 65535). Numbers outside this range
result in an 'ILLEGAL QUANTITY' error.
X = XOR(4,12) Result is X= 8
X = XOR(2,12) Result is X=14
Das wurde dann für das BASIC 65 geändert.
Alles anzeigenJa, der BASIC-Parser ist wenigstens konsistent. Könnten die nächsten Zeichen ein vollständiges BASIC-Token sein, dann hat das beim Parsen Vorrang. Da hat man dann ggf. diese Überraschungen:
10W=5
20X=WORT
30PRINTX
ergibt 5 (W OR T)
Jau! Auch lustig: Wenn man nur OR oder AND eintippt, bekommt man einen Syntax Error...wie erwartet. Tippt man XOR ohne alles ein, bekommt man einen Unimplemented Command Error
Einen schnelleren Service wird man woanders schwer finden!
Das neue ROM 920356 hat sich dem POKE B/W-Problem angenommen und bietet jetzt wieder ein "reines" POKE, also POKE B und POKE W sind wegfallen.
Dazugekommen ist ein WPOKE als eigenes Token $FE $1D, das ab sofort die Funktion von POKE W übernimmt: Ein Wort an die Adresse und Adresse+1 zu schreiben.
Klappt gut und ist wie gesagt, wieder mal ein extrem schneller Service!
Klasse!
Gibts eigentlich eine Möglichkeit, dass man oben und unten einen größeren Textbereich hat? Ich hab 720 x 576 eingestellt und finde, dass die Balken oben und unten schon unnötig dick sind.
Ich hab 720 x 576 eingestellt und finde, dass die Balken oben und unten schon unnötig dick sind.
Kleineren Monitor kaufen
Bei manchen VGA Monitoren kann man am Video Timing drehen und damit Skalierung und Positionierung verändern. Wenn Du HDMI nutzt weiss ich leider auch nicht weiter.
Dann hier gleichmal das BASIC-Dialekt-File mit dem nigelnagelneuen WPOKE! (Neustart of C64Studio required, batteries not included)