Zitat von ExMariox555x: Cutoff
Also, ich seh da keinen. Gibt auch keinen Grund, fanatisch nach "Cutoffs" zu jagen. Wenn die Welt schön und plausibel aussieht, geht sie durch.
Overworld ist okay, das Level vielleicht zu... hektisch für ein erstes.
Ich hab noch gar nicht angefangen.
Sorry!
Eins: Das Extra-Bit gesetzt?
Zwei: Welches Tutorial? Dass du eine Datei namens "hack.bat" erstellen musst, hat dir nur dieses eine Tutorial gesagt, man kann also nicht wissen, was du genau falsch gemacht hast. Stimmt denn der Name deiner ROM mit dem Namen überein, der in hack.bat steht?
Das Lied... na ja, könnte schöner klingen. Die Instrumente sagen mir nicht zu.
Den HDMA-Effekt hab ich erst gar nicht bemerkt, aber das heißt auch, dass er nicht schlecht aussieht. :p
Hab ich mir auch schon öfter überleggt. Mein Schluss: Tendenz zu ja.
Hm, also bei mir klappt's.
Zitat von Reggiamoto: EDIT: Ich glaub, im Quellcode hat man sich einfach vertippt
Was zur Hölle hat das "/" da zu suchen? xD
Vielleicht bin ich auch einfach zu blöd
Nee, das gehört da schon hin... darf es zumindest. Das ist XHTML, in dem jeder Tag, der nicht aus öffnendem und schließendem Teil besteht, mit dem Schrägstrich wieder geschlossen wird. Oder so, keine Ahnung.
Natürlich.
Jep, ich hatte unrecht.
Klar, wenn du den Haken bei "Super GFX Bypass" setzt, musst du jede Tileset-Einstellung von Hand vornehmen. Auch die bei Sprites.
Zitat von Robju: HDMA ist ganz gut, aber der Übergang ist zu grob.
Ja, ich hätte den auch gerne glatter... Mehr Farbtöne scheinen aber nicht drin zu sein.
Zitat von Robju: Aber das ist im Vordergrund so... leer D:
Die einzige Dekoration, die ich noch hinzufügen kann, sind Grasbüschel - mal sehen, wie viel voller das damit aussieht. Überall Bodenteile in den Boden zu pflanzen hab ich nicht vor.
Nicht unbedingt. Es mag nicht der allerbeste Stil sein, aber syntaktisch grundfalsch ist es nicht (wie zum Beispiel "auf dem Eltern PC ihren meinen" es wäre), und die Botschaft kam auf jeden Fall rüber.
Zitat von RPG Hacker: falsch, es wird nur heutzutage akzeptiert
Ist "akzeptiert" bei Sprache nicht die Definition von "richtig"?
Zitat von RPG Hacker: und eher wird Sprache an die Sprechenden angepasst, als umgekehrt
So soll's ja auch sein?
Alles klar, damit ist die Sache für mich auch erledigt.
Dein Fehler besteht aus drei Schritten.
1. Der Timer-RAM beginnt nicht bei $0731, sondern bei $0F31.
2. Du vergleichst mit einem Wert über #$FF, ohne im 16-Bit-Modus zu sein.
3. So funktioniert der Timer-RAM nicht mal. Er besteht aus drei Adressen, und jede davon enthält nur eine
Dezimalstelle des Timer-Wertes. Wenn du also auf Werte über 300 überprüfen willst, musst du überprüfen, ob die erste Stelle größer gleich 3 ist.
Zitat von kooooopa:
Muss ich aber nicht irgendwie sagen, dass ich die 3.Stelle (die hunderter vergleichen will?) oder reicht es weil dass ja quasi schon die hunderter sind und wenn ich die Zehner will vergleich ich mit 0F32?
So ist es - ja, der Code sollte jetzt gehen.
Ich würde übrigens der 3 in CMP #$3 eine Null voranstellen, aber auch so sollte der Assembler damit umgehen können.
Das hier könnte helfen:
Zitat01EB1 $00:9CB1 1 byte Level number Intro level number. Change to [00] and you will skip the intro screen (level C5). You'll warp to the OW immediately.
Und wenn nicht, dann aber
das hier.
Hm, hast du's schon mal mit
Blockreator probiert?
Klar, und ich würde jedem, der Blöcke braucht, empfehlen, sich ein ASM-Tutorial anzugucken. Aber so lange man noch überhaupt keins kann und dringend einen Block braucht, tut Blockreator meistens seinen Zweck.
Ich mag die Kappe von Denise.
Zitat von Marcus_1987: also der Blockcreator bringt mir schon mal garnichts... das Proggi stürzt dauernd ab
Bekommst du irgendeine Fehlermeldung?
Zitat von Marcus_1987: dieser soll, wenn mario auf ihm drauf steht nach X sekunden hinunterfallen.
Das geht nur mit Blöcken leider nicht - zum Runterfallen müssten sie Sprites sein, und da ihr COde auch nur ausgeführt wird, wenn man sie berührt, ist das Timen auch schwierig. Guck mal in Sprite Tool nach dem "Donut Block" oder so ähnlich.
Zitat von Marcus_1987: eine einfache Münze, die den Wert von 2 bzw. 5 Münzen hat
(habe zwar so einen block gefünden, der FUNKTIONIERT aber leider nicht)
Wo hast du ihn gefunden, und was funktioniert an ihm nicht?
Zitat von Marcus_1987: dieser soll zerspringen (mit sound) wenn Marios Feuerkugel diesen trifft
wenn jemand diese blöcke programmiert, wäre es schön, wenn er jede zeile kommentieren würde
Das geht. Ich weiß nicht, ob das Kommentieren wirklich was bringt (erst recht nicht, wenn jede Zeile einzeln kommentiert werden soll), aber bitte schön:
Codedb $42
JMP MarioBelow : JMP MarioAbove : JMP MarioSide
JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireball
JMP TopCorner : JMP HeadInside : JMP BodyInside
MarioBelow:
MarioAbove:
MarioSide:
TopCorner:
HeadInside:
BodyInside:
SpriteV:
SpriteH:
MarioCape:
RTL ; return - Code beenden (für alle Labels da oben)
MarioFireball:
LDA #$07 ; Wert 07 in A laden
STA $1DFC ; In RAm-Adresse $1DFC speichern (Soundeffekt-RAM-Adresse: Soundeffekt 07 = "Block shattering")
LDA #$02 ; Wert 02 in A laden
STA $9C ; In RAM-Adresse $9C speichern
JSL $00BEB0 ; Zu Routine $00BEB0 springen, die kann mit dem Wert in $9C was anfangen (und lässt den Block verschwinden)
PHB ; Wert des Data-Bank-Registers "pushen" (sichern)
LDA #$02 ; Wert 02 in A laden
PHA ; Auch diesen Wert auf den Stack pushen
PLB ; gleich wieder vom Stack runterholen, und zwar ins Data-Bank-Register (nur so kann man das Data-Bank-Register ändern)
LDA #$00 ; Wert 00 in A laden (01 wäre eine regenbogenfarbige Explosion)
JSL $028663 ; Zu Routine $028663 springen, die kann mit dem Wert in A was anfangen (und erzeugt die Explosion)
PLB ; Den ursprünglichen Wert des Data-Bank-Registers zurückholen
RTL ; Ende der Routine.