Allgemeine Hex- und ASM-Fragen

geschrieben am 28.08.2011 13:39:43
( Link )
In meinem Hack verwende ich Layer-3-Hintergrundbilder wie in diesem Beispiel hier:

Damit der Hintergrund hinter Layer 2 ist und noch langsamer scrollt, verwende ich diesen Code hier:
Code
	REP #$20
LDA $1C
LSR A
LSR A
STA $24
LDA $1A ; Scroll four times as slow as Layer 1.
LSR A
LSR A
STA $22 ; Layer 3 X.
LDA #$1F1F
STA $212C
SEP #$20
RTS


Leider scrollt dieser BG vertikal immer mit Mario mit. Was muss in den Code eingefügt werden, damit der BG das gleiche vertikale Scrolling hat wie Layer 1?
geschrieben am 28.08.2011 14:10:25
( Link )
DIe Y-Positionen von Layer 1 und 3 angleichen also? Entferne mal die ersten beiden LSR As, das sollte gehen.
geschrieben am 28.08.2011 14:30:35
( Link )
Danke, es funktioniert!
geschrieben am 27.10.2011 17:04:47
( Link )
Hat Irgendjemad eine Idee wie man es schaffen kann ,dass der Screen auch scrollt wenn Mario grade auf einen Sprite spinjumpt?
würde gerne ein Sprite schreiben was dafürsorgt jedoch fällt mir keine möglichkeit ein wie...
also in etwa so ,als würde man 00:F878 zu 80 setzten.

ok habs schon ... einfach nur die ram adresse 72 zu 0 setzten ...
obwohl ich das eigentlich schon früher getestet habe ...
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 28.10.2011 21:40:39
( Link )
Hallo ich hätte mal eine Frage wegen der Screenexits...
ich schreibe grade einen Warpblock.
zum warpen beuze ich diesen code$
LDA #$06
STA $71
STZ $89
STZ $88
aber wie verändere ich jetzt den screenexit so ,dass mich der block zu einem anderen Level warpt?
ich weiß nur ,dass es mit dieser adresse zusammenhängt $19B8
aber was genau muss ich hier rein schreiben?
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 28.10.2011 21:45:43
( Link )
Das hängt von den jeweiligen Einstellungen des Screens in Lunar Magic ab. Wenn du die Einstellungen aber unbedingt im Block haben willst, solltest du dir mal den entsprechenden Teleport Block auf SMW Central ansehen. Das ist ein bisschen komplizierter.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 28.10.2011 21:51:45
( Link )
naja ich möchte es im block haben weil ich mehrere warp blöcke im screen habe die zu unterschuedlichen lvls führen sollen...
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 28.10.2011 21:54:36
( Link )
Schau dir hiervon den Code an.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 28.10.2011 22:28:12
( Link )
ok habs jetzt
danke Geburtstagskind
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 29.10.2011 12:26:45
( Link )
ok habe noch ne Frage :/
also ich benutze in einem Level einen block der die Music ändert:
LDA #$02
STA $1DFB

Funktionirte auch mehr oder weniger.
Aber jetzt möchte ich das selbe für Custom music/
von custommusic zu normaler music...
und dann hört man bei dem code von oben einfach nur stille...
was muss ich ändern damit es funktionirt?
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 29.10.2011 13:00:16
( Link )
Entweder du benutzt ein anderes Addmusic (von AddmusicM weiß ich, dass es das unterstützt) oder du guckst dir mal den Code der Jukebox Blocks auf SMW Central an. Ist ziemlich kompliziert, lässt sich also hier nicht so leicht erklären.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 29.10.2011 13:06:47
( Link )
ich benutze "Romi's" Addmusic v4.05.02
und mir meinen minimalen asm künsten wird es Jahre dauern bis ich verstanden hab was in dem block steht XD
ich hasse es in Fremden code irgendwas was ich kaum verstehe zu finden ...
naja aber ich versuche es mal
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 29.10.2011 13:23:35
( Link )
Naja, eine einfache Lösung wäre es, dich ganz einfach in ein anderes Level zu teleportieren. So könntest du jede Musik verwenden.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 29.10.2011 13:31:01
( Link )
dann würde ich mich alle 20-30 sekunden durch die gegend proten und ich würde nicht genau an der gleichen position bleiben etc.
ist nicht die schönste variante.
da wäre mir die andere Möglichkeit bei weitem lieber...
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 29.10.2011 14:17:33
( Link )
Wieso wechselst du denn so oft im selben Level die Musik?
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 29.10.2011 15:40:02
( Link )
naja es soll wie ein Tag/Nacht rhytmus sein ... wobei ich die screen brightness und die music ändern will
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 29.10.2011 16:28:22
( Link )
Jetzt muss ich hier doch tatsächlich mal selber eine Frage stellen...

Was ich möchte, ist eigentlich ganz einfach: ein einzelnes 16x16-Sprite-Teil auf dem Bildschirm anzeigen lassen (ohne extra einen ganzen Sprite drum herum bauen zu müssen). Der Code, den ich benutze, sieht so aus:

Code
	; nach einem freien OAM-Slot suchen

LDX #$00
.loop
CPX #$FC ; falls gar kein Platz mehr frei ist -
BEQ .return ; eine Endlosschleife wollen wir ja nicht
LDA $0201,x
CMP #$F0
BEQ .foundOne
INX #4
BRA .loop

; wenn einer gefunden ist, Sachen damit anstellen

.foundOne
LDA #$90
STA $0200,x

LDA #$30
STA $0201,x

LDA #$26
STA $0202,x

LDA #$30
STA $0203,x

TXA : LSR #2 : TAX
LDA #$02
STA $0420,x

.return
[...]


Auch das Problem ist schnell erklärt: nichts passiert. Die Werte werden gespeichert, der Code wird also ausgeführt, aber auf dem Bildschirm erscheint nichts.

Kennt sich zufällig jemand besser damit aus als ich? (Und falls das von Bedeutung ist, das Ganze passiert auf der Overworld.)
geschrieben am 29.10.2011 17:48:32
( Link )
Mit Sprite Programmierung habe ich mich nie beschäftigt. Verwendet die Overworld vielleicht andere RAM-Adressen? Hast du schonmal probiert, direkt irgendwelche OAM-Adressen ohne besondere Checks zu beschreiben? Wenn das nicht funktioniert, sollten es definitiv die falschen Adressen sein.

Ah... oder was auch sein kann: Die Adressen werden zwar beschrieben, werden aber noch vor der Anzeige des Spiels wieder vom normalen Spielcode überschrieben... Obwohl... Nein, das kann eigentlich nur passieren, wenn man die von mir vorgeschlagene Methode verwendet... Ich weiß auch nicht.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 29.10.2011 17:52:30
( Link )
Zitat von WYE:


Kennt sich zufällig jemand besser damit aus als ich? (Und falls das von Bedeutung ist, das Ganze passiert auf der Overworld.)



Wäre es in so einem Fall - sofern jetzt keiner hilft - nicht sinnvoll, in Carol's OWSprite's nachzuschauen?
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...
geschrieben am 29.10.2011 18:01:44
( Link )
Würg, der Fehler bestand anscheinend nur darin, dass ich den Loop am Anfang (mit #$00) begonnen hab statt am Ende. Die ersten paar Slots werden wohl immer wieder vom Spiel überschrieben.

Hurra.