Seite 7 von 9

Re: Day of the Tentacle (SNES Port)

Verfasst: 14. Juni 2013, 20:42
von lytron
Heute nachmittag habe ich mal ein bisschen mich hiermit beschäftigen können.

Die Änderungen in dieser Version in aller Kürze:
  • Der Sprite ist korrekt
  • Der Mauszeiger kann nicht mehr aus dem rechten Bildschirm raus
Das ist alles 100% ZSNES test aproved. Habe ich noch nicht auf echter Hardware getestet, aber wenn es in ZSNES funktioniert, was soll schief gehen?

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.
DotT - Right Boundary.rar
(9.57 KiB) 166-mal heruntergeladen
Und so verabschiede ich mich mit einem überaus nerdigen Video, und einem nerdigem Zitat aus selbigem.

Good Tea, Nice House.

Re: Day of the Tentacle (SNES Port)

Verfasst: 14. Juni 2013, 23:29
von duoGS
lytron hat geschrieben:Apropos:
@duoGS Ich habe "A Mad Christmas" auf dem SNES getestet, bei mir funktionierte es nicht... :(
Ja! Laut Autor funktioniert es bei den meisten Emulatoren ( einschließlich Zsnes) nicht. Auf der
echten SNES läuft es überhaupt nicht, spielbar ist es auf dem Emulator snes9x 1.53.

Code: Alles auswählen

Mouse enable instructions:
bsnes: In the system menu are two menu's called "Controller port 1" and "controller port 2". Go into port 2 and select "Mouse"
snes9x: usually you press "7" untill it says "Port 1 = joypad port 2 = mouse" (Or something along those lines). Basically push it until you can get past the intro
zsnes: This doesn't matter since, as I mentioned, this doesn't work in zsnes.

Re: Day of the Tentacle (SNES Port)

Verfasst: 14. Juni 2013, 23:31
von ChronoMoogle
Die Maus ist nicht gerade die beste ihrer Art und schwer zu integrieren. Nintendo, what were you thinking??

Re: Day of the Tentacle (SNES Port)

Verfasst: 15. Juni 2013, 07:05
von lytron
ChronoMoogle hat geschrieben:Die Maus ist nicht gerade die beste ihrer Art und schwer zu integrieren. Nintendo, what were you thinking??
Nintendo thought: Hauptsache irgendwas dabei. ;)

Falls ich irgendwann dochmal hiermit weiterkommen sein sollte, kann sich ikari_01 sicherlich einen goldenen Schnäuzer verdienen, wenn er eine Maus-Mod macht. ;)

Ich, für meinen Teil, habe keine Ahnung, ob mein Maus-Programm hakeliger ist als Jurassic Park, da meine Maus da auch hakelt (wenn auch, wie ich finde, einen Quant weniger). Außerdem habe ich Kindheitserinnerungen daran, dass wir versucht haben, das besser zu machen, indem wir die Kugel einer PC-Maus dort reingelegt haben. Ich weiß nicht, wie das ausging, ich glaube, wir hatten große Probleme, eine Kugel zu finden, die passte...

... anyways. Kann jemand den jüngeren Generationen mal erklären, was eine Kugel in einer PC-Maus macht? :ugly:

(Da fällt mir spontan wieder dieses T-Shirt ein. :ugly: )

Re: Day of the Tentacle (SNES Port)

Verfasst: 15. Juni 2013, 10:46
von Redscorpion
Echt jetzt?!

In einer Kugelmaus sind 2 mechanische bauteile für x und y achse. Wenn du die MAus bewegst reibt die Kugel an den Achsen und bewegt den Zeiger.
Sehr häufig muss man die Maus reinigen das sich an den mechanischen Teilen schmutz festsetzt. Vielleicht ist die Maus deshalb haklig?!

Gruß

red

Re: Day of the Tentacle (SNES Port)

Verfasst: 15. Juni 2013, 11:34
von lytron
Redscorpion hat geschrieben:Echt jetzt?!

In einer Kugelmaus sind 2 mechanische bauteile für x und y achse. Wenn du die MAus bewegst reibt die Kugel an den Achsen und bewegt den Zeiger.
Sehr häufig muss man die Maus reinigen das sich an den mechanischen Teilen schmutz festsetzt. Vielleicht ist die Maus deshalb haklig?!
Hatte ich schon vor Tagen getestet, die drei Rollen sind sauber.

Re: Day of the Tentacle (SNES Port)

Verfasst: 15. Juni 2013, 14:06
von ChronoMoogle
Wer Mario & Wario durchgespielt hat (so wie ich), weiss, wie unoptimal die Maus ist. Ganz besonders in Spielen, in denen man schnell reagieren muss.

Re: Day of the Tentacle (SNES Port)

Verfasst: 24. Juni 2013, 13:42
von lytron
Tralalalalalalala...

... kaputter Source Code just ahead.

Re: Day of the Tentacle (SNES Port)

Verfasst: 24. Juni 2013, 13:49
von ChronoMoogle
So quasi als Backup? :ugly:

Re: Day of the Tentacle (SNES Port)

Verfasst: 24. Juni 2013, 13:50
von lytron
ChronoMoogle hat geschrieben:So quasi als Backup? :ugly:
Nee, auf Anfrage. :kotz: :kotz: :kotz: :kotz: :kotz: :kotz: :ugly: :sabber: :kotz: :weixen: :starwars: :king: :kotz: :kotz: :kotz: :kotz: :kotz: :kotz:

Re: Day of the Tentacle (SNES Port)

Verfasst: 24. Juni 2013, 15:21
von lytron
Durch irgendeinen Zufall funktioniert die ROM jetzt auch auf PAL-Konsolen.
everlong.png
everlong.png (719 Bytes) 3984 mal betrachtet
Ich habe dieses Bild einfach nur so eingefügt. Einfach nur so. Und einfach nur so füge ich es noch dreimal ein.
everlong.png
everlong.png (719 Bytes) 3984 mal betrachtet
everlong.png
everlong.png (719 Bytes) 3984 mal betrachtet
everlong.png
everlong.png (719 Bytes) 3984 mal betrachtet
ROM:
DotT PAL.rar
ROM
(9.59 KiB) 161-mal heruntergeladen
Code:
SNESDott PAL.rar
Code
(19.51 KiB) 153-mal heruntergeladen

Re: Day of the Tentacle (SNES Port)

Verfasst: 24. Juni 2013, 18:00
von snoer
sehr cool :)
ich les hier jeden Tag mit, und da ich momentan zu faul bin meine Fähigkeiten auf ein Level zu pushen auf dem ich dann tatsächlich hilfreich wäre, begnüge ich mich (zumindest bezogen auf diese Facette meines Lebens) mit dem istZustand und versuche durch posts wie dieses deine Motivation zu erhalten und auszubauen ;)

Aber mal so.. machst du das alles primär noch zu Übungszwecken?
Reizt es dich nicht viel mehr ein eigenes Spiel zu machen?

..ah! ich muss jetzt hier aufhören zu fragen weil mir die idee zu einem post gekommen ist :)

Re: Day of the Tentacle (SNES Port)

Verfasst: 1. Juli 2013, 08:38
von lytron
snoer hat geschrieben:sehr cool :)
ich les hier jeden Tag mit, und da ich momentan zu faul bin meine Fähigkeiten auf ein Level zu pushen auf dem ich dann tatsächlich hilfreich wäre, begnüge ich mich (zumindest bezogen auf diese Facette meines Lebens) mit dem istZustand und versuche durch posts wie dieses deine Motivation zu erhalten und auszubauen ;)
Zusehens vergebliche Liebesmüh', mich motiviert zu halten. ;)
snoer hat geschrieben:Aber mal so.. machst du das alles primär noch zu Übungszwecken?
Nein.
snoer hat geschrieben:Reizt es dich nicht viel mehr ein eigenes Spiel zu machen?
Ja.
snoer hat geschrieben:..ah! ich muss jetzt hier aufhören zu fragen weil mir die idee zu einem post gekommen ist :)
Das ist BTW ein netter Thread, den du aufgemacht hast. :)

~~~

Ich versuche mich an diesem Projekt aus einer Art "Pflichtgefühl" heraus, auch wenn ich DotT für ein tolles Spiel halte, bin ich davon nicht so sehr besessen, dass ich es unbedingt umgesetzt haben will. Ich denke, meine Andeutungen, dieses Projekt irgendwie abzuschütteln, um mich anderen Projekten zuzuwenden (wie z. B. der Disassemble von Ihatovo Monogatari, der zur Zeit auch brach liegt), habe ich langsam deutlich genug gemacht.
Ich habe mich gerade nochmal eine halbe bis ganze Stunde an diesem Projekt versucht und fühle mich überfordert damit. Wie ich die Begrenzungen für den "Verfügungsraum" der Maus einbaue, weiß ich mittlerweile.
Theoretisch.
Praktisch ist es so, dass ich jedes Mal, wenn ich an einen Punkt komme, an dem ich eine Vergabelung einfügen muss, überlege, was richtig ist, dann das genaue Gegenteil eintrage und es dann ansatzweise funktionert. Und das motiviert mich kein bisschen, weil ich nur im Nebel herumstocher, und jeder weitere unbedarfte Schritt kann in eine Bärenfalle führen... oder auf eine Landmine, und das Programm, soweit wir es kennen, zerfetzen. Das regt nicht unbedingt an, sich damit näher zu befassen, wenn man plenty of better things to do hat (zum Beispiel Youtube-Videos gucken. Ich bin kein sonderlich destruktiver Mensch, denke ich, deshalb bereitet es mir keine Freude, jemandes Werk zu zerstören. Auch wenn es mir weniger Probleme bereitet, mein eigenes Werk als das jemand anderes zu vernichten, was wohl auch auf eine gewisse masochistische Veranlagung hindeutet...).

Wie dem auch sei:
Hier ist die ROM:
ROM.rar
(9.62 KiB) 158-mal heruntergeladen
Hier ist der Kot:
CODE.rar
(19.55 KiB) 156-mal heruntergeladen
Hier ist ein Kot-Extrakt mit dem Mousezeiger-Updater, falls sich ikari_01 das hier mal anschauen will:
http://pastebin.com/zUV46kJf

Welche Features hat die jetzige ROM?
  • Man kann die Maus bewegen
  • Der rechte Bildschirmrand ist begrenzt
  • Die Maus kann sich in den negativen X-Koordinatenbereich bewegen (vorher war es so, sobald die linke Kante des Mauszeigers den Rand berührte und man sie weiter nach links bewegte, dass sie nach rechts sprang; jetzt kann sie vollständig aus dem Bildschirm bewegt werden)
Was sind die Known Bugs?
Wenn man die Maus in den negativen X-Bereich gebracht hat, kann man sie nicht wieder in den positiven zurückbringen. Die Reglementierung, die die rechte Bildschirmbegrenzung im positiven X-Koordinatenbereich herstellt, "greift" auch im negativen Bereich. Eigentlich habe ich dafür gesorgt, dass das nicht so ist, aber es funktioniert nicht so, wie ich das will (wie oben beschrieben).



Wenn sich irgendwer mit Ahnung meinen Code anguckt, beachtet bitte die Jump-Mark-Namen nicht, die sagen z. T. das genaue Gegenteil von ihrem Nutzen aus. Außerdem musste ich einen Programmteil über den eigentlichen Anfang des MouseUpdates verschieben, da ansonsten nicht mehr richtig gebrancht wird, weil die Sprungmarken zu weit auseinanderliegen.

Re: Day of the Tentacle (SNES Port)

Verfasst: 1. Juli 2013, 14:53
von lytron
Und wieder ein dickes Dankeschön an ikari_01, der mit einem Blick treffsicher die Fehler ausgemacht hat, die ich konstant übersehen hätte!

Mausbegrenzungen funktionieren jetzt links und rechts, nach oben und unten müssten recht einfach sein: Für oben kann ich den Teil für links kopieren, die untere Begrenzung ist einfacher als die anderen drei Richtungen.
Der Source Code ist gerade im Maus-Handling-Teil immer noch sehr unaufgeräumt... aber ich bin versucht, den Rest noch reinzuschmieren und die Sache unverändert zu lassen, weil ich nie wieder dran muss.



Wäre nett, wenn wer testen könnte, ob es bei seinem Fernseher ebenfalls soweit aus dem Bild geht, oder ob das nur eine Eigenart meines Fernsehers ist.

Re: Day of the Tentacle (SNES Port)

Verfasst: 1. Juli 2013, 14:55
von ChronoMoogle
Gratz! :applaus:

Ich denke den Mausbios musst du eh noch veraendern fuers Feintuning, oder? Das es funktioniert ist ja schonmal wahnsinn, aber eine angenehme Maussensibilitaet fuer eine Adventure-Engine ist doch fast wieder ne Kunst fuer sich selbst ;)