Beiträge von kooooopa

geschrieben am 03.08.2012 7:43:41 in gulpti richtig einfügen
( Link )
Geh in LunarMagic und klick auf den Stern, mach dir ein Foto.
Füge die Palette des Customsprites ein und klick dann auf den Stern, mach dir ein Foto.

Zeige beide Bilder hier
geschrieben am 03.08.2012 23:14:40 in ASM-Projekte-Thread
( Link )
Wirklich sehr nett, muss man sich nicht so kurz fassen.

Nur eine Frage, im OW Editor da wo man die Message eingibt, stimmt da das Vorschaufenster?
geschrieben am 04.08.2012 18:52:39 in gulpti richtig einfügen
( Link )
Oder du versuchst es zuerst einmal auf gut Glück!
Mache eine Sicherheitskopie und kopiere nur die Farben der letzten 2 Reihen aus der Gulpitpalette in deinen normale Levelpalette.
Wie gesagt, ist aber nur ein Tipp!
Ansonsten mach es wie Chris gesagt hat.
geschrieben am 04.08.2012 18:54:28 in ASM-Projekte-Thread
( Link )
Ah danke, hätte man sich mal wieder denken können.

Ich hab doch nie von mir gesprochen, oder?
geschrieben am 04.08.2012 19:39:45 in gulpti richtig einfügen
( Link )
Bitte, bitte, war aber wie gesagt nur ein Glückstreffer
geschrieben am 04.08.2012 21:39:05 in Terra Mario (Archivieren bitte)
( Link )
Ich werd mir den Hack auf jeden Fall noch anschauen
und ich hoffe dass du bald wieder zurück kommst
geschrieben am 05.08.2012 18:25:24 in ASM Fragen
( Link )
Ich mache das ganze mal lieber hier anstatt im Chat, da mir noch ein paar mehr Fragen eingefallen sind

Also vorweg, da ich mich mal wieder mit ASM beschäftigen wollte, RPG-Hackers Tut aber schon gelesen (ich hoffe auch verstanden) habe, habe ich mich an das Tut. vom Talkhaus gesetzt. Hab es mir jetzt ins Deutsche übersetzt, aber bei meinem Englisch die hälfte der Erklärungen nicht verstanden und ansonsten auch noch 2, 3 Fragen mehr entdeckt, die das Tut. leider nicht beantwortet.

1. Vor dem Blockcode für BTSD steht immer
Code
 JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireBall

soweit klar. Wenn man das ganze kürzer haben will nur das (Hauptsache oben stehen 7 Sachen)
Code
JMP MarioCode : JMP Return : JMP Return : JMP Return : JMP Return : JMP Return : JMP Return

Das wäre dann aber nur bei Marioberührungen und egal von wo möglich, oder?
Kann ein Block auch aktiviert werden, wenn Mario in ihm drinsteht und sonst nicht?

2.Es gibt nicht nur den Akkumulator (schreibt man den so?) A, sondern auch noch die Register X und Y.
Damit kann man Tabellen wie diese anlegen (Beispiel aus dem Tut.)
Code
SOUNDTABLE dcb $13,$14,$15,$16

LDX $19
LDA SOUNDTABLE,x
STA $1DF9
RTS

Wieso geht das aber nicht mit ganz vielen Wenn-Dann-Befehlen und dann mit LDA und nicht LDX? Wieso nicht auch LDY? Für was brauche ich die Register X und Y also genau wenn ich A nicht benutzen kann? Wann kann ich A nicht benutzen?

3.Wenn ich überprüfen will ob der Spiele eine bestimmte Taste drückt brauche ich "Binarybefehle". Wenn ich dann aber z.B.
Code
 01000001
00000001

So etwas habe, was mach ich dann damit? Wo packe ich es hin und wo finde ich auf der RAM Map die binären Adressen von Kontrollertasten, oder Stelle ich mir das falsch vor?

4.Was ist eigentlich noch PHA, PHX, PHY, PLA, PLX, PLY und was ist noch TAX, TAY, TXY, TYX, TYA, TXA?

Ich hoffe meine Fragen sind nicht nur Müll und bedanke mich schon mal dafür, dass ihr das hier überhaupt gelesen habt
geschrieben am 05.08.2012 19:09:02 in ASM Fragen
( Link )
Von wissen erschlagen sein

Ok, danke für das mit den Blöcken, das ist glaube ich das einzige was ich relativ gut verstehe XD

Zitat
Was?

Beispiel aus dem Tut:
Say we wanted a block that when hit, would make a sound effect depending on Mario's powerup. Just for example, i'm going to use the shell sound effects that get higher as the shell hits more enemies.
Code
SOUNDTABLE dcb $13,$14,$15,$16

LDX $19
LDA SOUNDTABLE,x
STA $1DF9
RTS

Geht das nicht auch in dem wir das Powerup laden, schauen ob MArio einen Pilz hat, wenn ja zu Code Pilz springen und den Soundeffekt abspielen, wenn nein schauen ob Mario eine Blume hat, wenn ja....
Dann bräuchte ich doch garkeine Tabelle.

Wenn LDY auch geht, gibt es dann einen Unterschied zwischen LDX und LDY?


Zu dem mit den Binarys hier der Tut Teil:
Today, we are going to learn Binary commands. Now, say we wanted to check if a certain button is pressed. Now, with your current knowledge, you would probably do something like:
Code
LDA $15
CMP #$01
BEQ MYCODE
RTS

MYCODE
(blah)
RTS

Now, this would not work, as this checks if ONLY down is pressed, so if they were holding any other buttons, our code would not work. Instead, we do it a different way. In binary, there are 8 figures, which can be either 1 or 0. SMW uses these as bits, which are either set or not (1 or 0 respectively). The binary > SMW Bits goes like this:
Code
Bit number: 7 6 5 4 3 2 1 0
Binarycode: 1 0 0 0 1 0 1 0

So from this random piece of binary, bits 7, 3 and 1 are set. The rest are not.

Now, instead of using CMP to check if that is set, we use AND. AND works like this.
Code
LDA $15
AND #$01
BNE MYCODE
RTS

MYCODE
(blah)
RTS

Now, say the controller was pressing Y and Down. This would make A amount to 41 (I believe, but the Ram map is unavailable, making this rather difficult). This would set bits 6 and 0. Then, we AND #$01, which is a value that has bit 0 set. AND then works like this:
Code
01000001
00000001
So we get:
00000001


Was bringt mir das nun? Wo pack ich das hin?


Zitat
In der Beschreibung steht's:
CODE: ALLES AUSWÄHLEN
$7E:0015 1 byte I/O Controller data 1. Format: byetUDLR.
b = A or B; y = X or Y; e = select; t = Start; U = up; D = down; L = left, R = right.

Die Buchstabenfolge byetUDLR stellt ein Byte dar (acht Bits). Jeder Buchstabe entspricht einem Button und damit einem Bit. Würde START gedrückt und sonst nichts, wäre der Wert in $15 00010000. Der Buchstabe t steht in der Beschreibung für den START-Knopf, und der steht in dem Byte an der vierten Stelle von Links, also ist das Bit an der viersten Stelle von links gesetzt.
Die Buchstabenvergabe ist übrigens völlig egal, das dient nur der Verdeutlichung.


Sorry, kein Wort verstanden, nur das man es irgendwie aus diesem Code rauslesen kann

Ok, warum man TAX, etc. brauchen könnte leuchtet mir ein, aber wieso brauche ich PHA, etc. gibt es da irgendeine praktische Anwendung?
geschrieben am 05.08.2012 20:08:40 in ASM Fragen
( Link )
Ok verstanden, ein richtig fettes [size=1000]DANKE![/size]für dich.
geschrieben am 05.08.2012 21:01:53 in Screenshots/Videos Thread - Zeige dein Zeug h(i)er!
( Link )
Nett, was klassisches.
Find die Art, wie du die Deko einsetzt (Anzahl) richtig gut.
An der Ecke fast ganz Links (die darunter) ist unten am Wasser ein Cuttoff
geschrieben am 06.08.2012 7:49:07 in ASM Fragen
( Link )
Macht es den einen Unterschied, ob vor der Tabelle ein dcb steht, oder ein dbb?
geschrieben am 06.08.2012 13:38:52 in Allgemeine Hex- und ASM-Fragen
( Link )
Also, gleich wieder ich^^

Wollte das gelernte jetzt mal anwenden und einen Block schreiben, wenn Mario in ihm drin ist und der Spieler nach rechts drückt nach links läuft und wenn der Spieler nach links drückt Mario nach rechts läuft.
Hat aber nicht so geklappt. BTSD liefert nur seitenweise Fehlermeldungen.

Hier mal mein Code:
Code
db $42
JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteVert : JMP SpriteHorz : JMP MarioCape : JMP MarioFireball : JMP TopCorner : JMP HeadInside : JMP BodyInside

JMP MarioBelow:
JMP MarioAbove:
JMP MarioSide:
JMP SpriteVert:
JMP SpriteHorz:
JMP MarioCape:
JMP MarioFireball:
JMP TopCorner:
JMP HeadInside:
RTL

JMP BodyInside:
LDA $15 ; Welche Knöpfe werden gedrückt
CMP #%00000001 ; Vergleiche mit Rechts
BEQ RECHTS ; Ist es Rechts dann zu Rechts, ansonsten
CMP #%00000010 ; Vergleich mit Links
BEQ LINKS ; Ist es Links, dann zu Links
RTL ; Weder Links noch Rechts, dann zurück

Rechts:
LDA $76 ; Bewegungssteuerung laden
STA #$00 ; Links speichern
RTL

Links:
LDA $76 ; Bewegungssteuerung laden
STA #$01 ; Rechts speichern
RTL


Ich hoffe jemand kann mir da helfen
geschrieben am 06.08.2012 14:44:42 in Allgemeine Hex- und ASM-Fragen
( Link )
Ok, danke gleich mal ausprobieren.
Und ein extra Danke für das Haus Beispiel.
geschrieben am 06.08.2012 18:40:22 in Allgemeine SMW Hacking Fragen
( Link )
Arrrrg!

Entweder ich bin mal wieder zu schlecht oder mein BTSD spinnt.

Es fängt schon damit an das wenn ich die ROM mit BTSD öffne meine alten eingefügten Blöcke nicht mehr da sind.
Dachte ich tipp sie halt noch mal neu ein. Beim Schritt, bei dem man den Blöcken dann die Map16 "Zahl" zuweist, kommt aber immer. Error! Xkxa hat einen Fehler in der Assembly von blocks/(andersrum)Blockname.asm gefunden. Da dürfen keine Fehler drin sein und nichts passiert.
Die Fehlermeldung ist natürlich auf Englisch
Dann hab ich die Blöcke alle direkt zu BTSD geschoben, aber das gleiche
Selbst als ich die Blocks und die BRK Datei gelöscht habe und eine neue erstellen lassen, das gleiche.

Stehe grad echt ziemlich auf dem Schlauch.
geschrieben am 06.08.2012 20:00:29 in SUPER CUBE WORLD I -world0.92-
( Link )
Schöne BG Palette.
Die 4 blauen Kreuze/Sterne sind mir aber etwas zu grell.

Zur OW.
Gefällt mir gut, vorallem die Palette.
geschrieben am 07.08.2012 9:02:39 in Allgemeine SMW Hacking Fragen
( Link )
Ja, genau daran lags, neues Blooktool neue ROM und schwubs, gehts.
Jetzt muss ich halt immer wieder 10 Blöcke einfügen
geschrieben am 07.08.2012 9:10:06 in Allgemeine Hex- und ASM-Fragen
( Link )
Nach dem ich endlich wieder mit Blooktool klar kam hab ich also mal den Block eingefügt.
Sobald man ihn berührt gibt es mehrere Möglichkeiten, wie das Spiel einen rausschmeißt.
- Es schluckt den Hintergrund und legt alles lahm.
- Es schluckt alles und legt alles lahm.
- Es verpixelt alles und liefert ein "Farbfeuerwerk" und legt alles lahm

Ich benutze jetzt diesen Code:
Code
db $42
JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteVert : JMP SpriteHorz : JMP MarioCape : JMP MarioFireball : JMP TopCorner : JMP HeadInside : JMP BodyInside

MarioBelow:
MarioAbove:
MarioSide:
SpriteVert:
SpriteHorz:
MarioCape:
MarioFireball:
TopCorner:
HeadInside:
RTL

BodyInside:
LDA $15 ; Welche Knöpfe werden gedrückt
AND #%00000001 ; Vergleiche mit Rechts
BEQ RECHTS ; Ist es Rechts dann zu Rechts, ansonsten
AND #%00000010 ; Vergleich mit Links
BEQ LINKS ; Ist es Links, dann zu Links
RTL ; Weder Links noch Rechts, dann zurück

RECHTS:
STZ $76 ; 0 Laden und speichern
RTL

LINKS:
LDA #$01 ; Rechts laden
STA $76 ; Bewegungssteuerung speichern
RTL


Theoretisch sollte der Code jetzt doch eigentlich richtig sein, oder?
Und irgendeine Idee, wieso der Code praktisch nicht funktioniert?
geschrieben am 07.08.2012 12:57:20 in Allgemeine Hex- und ASM-Fragen
zuletzt bearbeitet von kooooopa am 07.08.2012 13:10:09.
( Link )
Nur mit dem zweiten LDA hat es nichts gebracht.

Was sind Längen Indikatoren?
Einfach dieses .b?
geschrieben am 07.08.2012 13:10:47 in Allgemeine Hex- und ASM-Fragen
( Link )
Habe den einen Teil jetzt mal so geändert wie du es oben beschrieben hast.
Der Block lässt sich nun ohne Probleme einfügen und das Spiel stürzt beim Berühren auch nicht mehr ab.
Jetzt gibt es nur ein anderes Problem. Der Block macht rein garnichts. Er erfüllt nicht seine Funktion. Es ist, als wäre er nicht da.
geschrieben am 08.08.2012 9:10:43 in RISE
( Link )
Sieht doch alles wieder sehr schön aus.
Auch die Idee mit dem Giftzeugs.