Allgemeine Hex- und ASM-Fragen

geschrieben am 03.03.2013 8:12:23
( Link )
*fast alle guten :p
Zitat von Robju am 22.11.2013:
ICH BRING EUCH ALLE UM!!
Zitat von Dominik am 07.08.2013:
Fick dich Rob, ich wusste dass das kommt!

anzeigen
MFG: Wieso binn ich als Ideot genannt?Das ist net nett.
Robbinn, ideot, Satzstellung, Grammatik.
MFGSchonn gut, schon gut, das mit "binn" und "Idoet" ist ein Typo.
RobDas e und i sind 4 tasten voneinander entfernt.
MFGschnelle Finger?
Rob Nein.
MFG *facepalm*
Rob Wenn man Idiot schreibt kommt man nichtmal in die Nähe eines "e" s
MFG Doch, warum hat man denn sonst zwei Finger?
Rob Das hat mir der ANzahl der Finger nichts zu tun.
MFG Ich meine Hände.
Bro ich hab 3 stück
Rob Hat auch kit der Anzahl der Händer nichts zu tun
MFG Und es hat mit der Anzahl der Hände zu tun.
Rob Nein.
MFG Ich schreibe doch mit beiden.
Rob YOU ARE AN IDIOT, AH HAHAHAHAHA HAAAAHAAA HAHAHAHAAAAA!

DIE KONFI
DIE andere KONFI
JJJAAAAAAAH
geschrieben am 09.03.2013 14:00:25
( Link )
Das könnte etwas schwierig werden, aber vielleicht kann mir einer helfen:

Wie krieg ich ein Geschoss, z. B. Birdos Ei oder Bullet Bill, dazu, leicht zurückzuprallen und den Bildschirm herunterzufallen, wenn es eine Wand berührt?
Das heißt, das Geschoss muss zwar auf seitliche Wände reagieren können, aber nicht auf den Boden (es soll ja ganz runterfallen).

Mir ist klar, dass ich als Bedingung
Code
                    LDA $1588,x             ; \ if sprite is in contact with an object...
AND #$03 ; |
BEQ NO_CONTACT ; |

eingeben muss, aber dann?

Ich habe es schon mit
Code
LDA #$02
STA $14C8

probiert, aber dann fällt der Sprite in die ursprüngliche Richtung runter, nicht zurück.
Ich denke mal, der Code muss nicht nur während der Berührung, sondern auch danach ausgeführt werden.
geschrieben am 09.03.2013 14:07:35
( Link )
im prinzip brauch das Projectile dafür zu begin die ganznormale interact with objects routine und überprüfst ob du eine Wand berührst wenn nein gehts ganznormal im nächsten frame weiter wenn du aber eine wand berührst disablest du die interact with objects flag und passt die x/y speed werte an
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 09.03.2013 14:49:07
( Link )
Gut, das habe ich gemacht. Das Problem ist aber, dass der Code wohl nur funktioniert, solange das Projektil die Wand berührt, also für den Bruchteil einer Sekunde. Danach fliegt das Projektil (ein kleines Stückchen tiefer) wieder geradlinig zurück...
Was muss ich tun, damit der Code auch noch ausgeführt wird, nachdem die Berührung stattfand?

Muss ich irgendwie dafür sorgen, dass bei Wandberührung der Spritestatus geändert wird? wenn ja, wie?
geschrieben am 09.03.2013 15:02:07
( Link )
wenn du die Wand berührst einfach in irgendeine sprite table speicher das du schon mal ne wand berührt hast.
und dann als erstes im sprite dieses sprite table abfragen
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 09.03.2013 15:22:59
( Link )
Kannst du mir das von dir Gesagte bitte in ASM ausdrücken? Mit Sprite-Tables fehlt mir leider noch die Erfahrung. Danke .
geschrieben am 09.03.2013 15:30:13
( Link )
Irgendwie sowas:
Code
LDA $C2,x
BNE TouchedWall
JSL UpdatePosition
LDA $1588,x
AND #$43
BEQ NotTouchingWall
INC $C2,x
TouchedWall:
STZ $B6,x
LDA #$XX
STA $AA,x
RTS
NotTouchingWall:
STZ $AA,x
LDA #$XX
STA $B6,x
RTS
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 09.03.2013 16:07:32
( Link )
Danke für deine Hilfe, ich hab den Dreh endlich raus!
geschrieben am 23.03.2013 12:32:41
( Link )
Hi Leute
Ich möchte wissen wie ich es schaffe das beim Level Fadein (GameMode #$13) schon die Sprite GFX angezeigt werden
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 23.03.2013 12:52:19
( Link )
Ich würde mal in all.log den Code von Game Mode 14 durchsuchen und allen relevanten Code (sollten alles JSRs/JSLs sein) auch in Game Mode 13 packen.
geschrieben am 06.04.2013 16:18:51
( Link )
Hey ich hätte mal ne frage zum schreiben im CGRAM
was muss ich dabei beachten?
mein problem ist das in ZSNES oder BSNES im performance mode alles funktionirt
aber im accuracy mode flackern die farben rum wenn ich sie verä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 06.04.2013 18:56:26
( Link )
Du musst die Palette während V-Blank ändern, glaube ich, H-Blank reicht dafür wahrscheinlich nicht aus. Kann auch sein, dass du das während NMI machen musst, ich bin mir aber nicht zu 100% sicher.
Tutorials: ExAnimation | YouTube: W4mp3 | Twitter: https://twitter.com/SMWW4mp3
geschrieben am 06.04.2013 19:30:11
( Link )
gut dann die frage wann wird Block/Sprite/Levelasm code ausgeführt? ^^
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 06.04.2013 21:09:29
( Link )
Zitat von W4mp3:
H-Blank reicht dafür wahrscheinlich nicht aus.


Doch, ich glaube schon. Ich glaube man kann zum Beispiel HDMA verwenden, um Farbwerte pro Scanline zu verändern. Ich weiß irgendwer hat das mal gemacht. Wobei es allerdings auch sein könnte, dass das nur gut funktioniert hat, weil das eben einer der inakkuraten Emulatoren war.
-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 06.04.2013 21:31:53
( Link )
Jetzt kriege ich ein bisschen Angst, weil ich die HDMA-CGRAM-Methode tatsächlich verwende und gar nicht weiß, ob das bsnes, das ich zum Testen benutze, im Accuracy-Modus ist. Hoffentlich ist das nicht ein Bug, den ich immer übersehen hab. *schluck*

EDIT: Nein, alles gut, CGRAM-Writes während H-Blanks gehen. (töhö, ich fühl mich so schlau, wenn ich so was sage.) Und hey, higan ist eigentlich ganz schön benutzerfreundlich! Kann man sich dran gewöhnen.
geschrieben am 06.04.2013 21:55:19
( Link )
Zitat von WYE:
Und hey, higan ist eigentlich ganz schön benutzerfreundlich! Kann man sich dran gewöhnen.


lol, higan = benutzerfreundlich? Habe ich was verpasst?

IM Übrigen WYE, wieso bist du dir so sicher, dass es in BSNES klappt sobald du den Acc. Mode anschmeißt? Ich meine weißt du auch ganz genau, wie es aussieht wenn HDMA verglitcht? Mich wundert das nämlich, dass klingt so als ob du einfach den Acc. Mode angeschmissen hättest, guckst ob das Spiel nicht eingefroren ist und fertig.

Wie genau hast du das Bugtesting denn angestellt
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...
geschrieben am 06.04.2013 21:58:57
( Link )
Ähm, es ist HDMA, das Farben auf Layer 1 verändert. Ob das klappt oder nicht, sieht man doch?

Und was die Benutzerfreundlichkeit angeht, es hat fast alles, was ich brauche. Vollbild, Farbeinstellungen und dasselbe Bildformat wie ZSNES, nur ein Button, der gleichzeitig Vollbild und Emulator-Pausierung umschaltet, fehlt mir persönlich. Wäre ich nicht so sehr an die Oberfläche von ZSNES gewohnt, würde ich wahrscheinlich sofort umsteigen.
geschrieben am 07.04.2013 11:19:51
( Link )
welcher code wir denn standartmäßig schon während VBlank ausgeführt?
(Sprites/Blocks/LevelASM/etc.)
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 07.04.2013 11:53:27
( Link )
Den Code hier hab ich von Alcaro - er führt ein(en?) "Force Blank" aus, darin solten eigentlich alle Transfers funktionieren. Zu dem Preis allerdings, dass der Bildschirm währenddessen mindestens einen Frame lang schwarz bleibt.

Code
;sync to vblank so no half frames show up
STZ $10
- LDA $10
BEQ -
STZ $10

;turn off screen, disable NMI so it won't mess up anything
STZ $4200
LDA #$80
STA $2100

;insert dma code here

;turn on NMI - we don't turn on screen again, NMI will do that for us
LDA #$81
STA $4200
geschrieben am 07.04.2013 14:15:01
( Link )
LevelInit aus LevelASM/UberASM wird ebenfalls im Force Blank ausgeführt. Da kannst du also auch so ziemlich machen, was du willst.
-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.