Re: Day of the Tentacle (SNES Port)
Verfasst: 14. Juni 2013, 20:42
Heute nachmittag habe ich mal ein bisschen mich hiermit beschäftigen können.
Die Änderungen in dieser Version in aller Kürze:
Apropos:
@duoGS Ich habe "A Mad Christmas" auf dem SNES getestet, bei mir funktionierte es nicht...
Zum Sprite:
Der Fehler war recht einfach und ich hatte es schon vermutet, dass es soetwas war (für Kenner: Ich musste #$80 statt #$00 in $2115 speichern). Folglich konnte ich das recht schnell beheben.
Zum Bildschirmrand:
Das hat mich sehr lange beschäftigt gehalten. Das lag zum Teil daran, dass ich in Zeitlupe arbeitete, weil ich mich mehr auf meine nebenbei laufenden Youtube-Videos konzentrierte.
Hauptsächlich aber, dass ich immer noch nicht mit CMP und BCS/BCC zurecht komme.
Ganz einfache Sache, eigentlich.
Wenn ich eine Zahl im Akkumulator habe, und sie mit einer Zahl mit dem CMP-Befehl vergleiche, wird eine Flagge gehisst, wenn die Zahl im Akkumulator größer oder gleich ist. Andernfalls wird die Flagge eingeholt.
Der BCC-Befehl springt dann an eine Stelle des Codes, wenn besagte Flagge eingeholt ist, andernfalls fährt das Programm beim nächsten Befehl fort. Bei BCS sind die Vorbedingungen für Weitermachen und Springen einfach nur vertauscht.
Ich habe drei, vier Mal genau durchdacht, ob ich die BCS- und BCC-Befehle (es sind insgesamt zwei Stück) richtig herum gesetzt habe, und bin immer zum Schluss gekommen, dass sie richtig sind, und es hat immer falsch funktioniert.
Da es mich genervt habe, habe ich dann doof herumprobiert und einfach die vorhandenen Befehle gegen ihre Gegenteile getauscht. Und dann hat alles auf Anhieb geklappt. Grand Master of Coding at Work.
Das nächste Problem ist:
Der Mauszeiger wird beim linken Rand nicht bei null stoppen dürfen, sondern erst bei minus acht, da der "entscheidende Pixel" -die "Mausspitze", wenn man so will- nicht links oben ist (der Punkt, auf den die Koordinaten angewandt werden), sondern die Mitte des Sprites. Ich will den Original-Mauszeiger behalten, aber das möglich zu machen wird viel Kopfarbeit erfordern. Mehr als wesentlich größer wirkende Dinge. Teufel im Detail und so.
Und so verabschiede ich mich mit einem überaus nerdigen Video, und einem nerdigem Zitat aus selbigem.
Good Tea, Nice House.
Die Änderungen in dieser Version in aller Kürze:
- Der Sprite ist korrekt
- Der Mauszeiger kann nicht mehr aus dem rechten Bildschirm raus
Apropos:
@duoGS Ich habe "A Mad Christmas" auf dem SNES getestet, bei mir funktionierte es nicht...
Zum Sprite:
Der Fehler war recht einfach und ich hatte es schon vermutet, dass es soetwas war (für Kenner: Ich musste #$80 statt #$00 in $2115 speichern). Folglich konnte ich das recht schnell beheben.
Zum Bildschirmrand:
Das hat mich sehr lange beschäftigt gehalten. Das lag zum Teil daran, dass ich in Zeitlupe arbeitete, weil ich mich mehr auf meine nebenbei laufenden Youtube-Videos konzentrierte.
Hauptsächlich aber, dass ich immer noch nicht mit CMP und BCS/BCC zurecht komme.
Ganz einfache Sache, eigentlich.
Wenn ich eine Zahl im Akkumulator habe, und sie mit einer Zahl mit dem CMP-Befehl vergleiche, wird eine Flagge gehisst, wenn die Zahl im Akkumulator größer oder gleich ist. Andernfalls wird die Flagge eingeholt.
Der BCC-Befehl springt dann an eine Stelle des Codes, wenn besagte Flagge eingeholt ist, andernfalls fährt das Programm beim nächsten Befehl fort. Bei BCS sind die Vorbedingungen für Weitermachen und Springen einfach nur vertauscht.
Ich habe drei, vier Mal genau durchdacht, ob ich die BCS- und BCC-Befehle (es sind insgesamt zwei Stück) richtig herum gesetzt habe, und bin immer zum Schluss gekommen, dass sie richtig sind, und es hat immer falsch funktioniert.
Da es mich genervt habe, habe ich dann doof herumprobiert und einfach die vorhandenen Befehle gegen ihre Gegenteile getauscht. Und dann hat alles auf Anhieb geklappt. Grand Master of Coding at Work.
Das nächste Problem ist:
Der Mauszeiger wird beim linken Rand nicht bei null stoppen dürfen, sondern erst bei minus acht, da der "entscheidende Pixel" -die "Mausspitze", wenn man so will- nicht links oben ist (der Punkt, auf den die Koordinaten angewandt werden), sondern die Mitte des Sprites. Ich will den Original-Mauszeiger behalten, aber das möglich zu machen wird viel Kopfarbeit erfordern. Mehr als wesentlich größer wirkende Dinge. Teufel im Detail und so.
Und so verabschiede ich mich mit einem überaus nerdigen Video, und einem nerdigem Zitat aus selbigem.
Good Tea, Nice House.