Hallo,
ich mache zurzeit einen kleinen Hack mit ExGFX Custom Music etc. Das 1. Level habe ich bereits fertig, es hat auch alles geklappt. Dann habe ich das 2. gemacht hat auch alles geklappt, Custom Music lief, Grafiken waren nicht verbugt usw. Danch wollte ich es testen aber dann musste ich feststellen das die Rom nicht startet. Als ich das 1. Level testen wollte hat aber alles funktioniert also die Rom lief. Weiß jemand wie ich es hinkriege das die Rom startet wenn ich ein 2. Level erstelle oder woran das liegt?
Zitat von RPG Hacker: Irgendwelche Patches verwendet? Irgendetwas (z.B. Custom Blocks, Sprites oder Music) eingefügt? Irgendein Programm außer Lunar Magic verwendet?
Also ich habe nur den N-SPC Patch MORE.asm für die Custom Music benutzt. Custom Sprites, Blocks hab ich nicht verwendet nur Custom Music. Ich habe nur Lunar Magic benutzt.
Zitat von RPG Hacker: Freier Speicherplatz in der ROM. Muss man bei jedem Patch individuell angeben, damit keine wichtigen Daten überschrieben werden. Um Freespace zu finden am besten smkdans Freespace Logger verwenden.
Ich hab meine ROM da rein getan und habe dann eine Textdatei erhalten. War's das schon oder muss ich noch etwas machen?
Zitat von RPG Hacker: Du musst dir eine Zeile aussuchen, bei der ganz rechts eine möglichst große Nummer (das ist die Anzahl an freien Bytes) steht. Optimalerweise 0x8000. In dieser Zeile holst du dir dann den mittleren Wert (LoROM-Offset), kopierst den (ohne das "0x"), setzt ein $ davor und fügst es in der ASM-Datei an der Stelle, wo nach "Freespace" gefragt wird, ein. Free Space Logger könnte z.B. ausspucken
Du öffnest also die ASM-Datei und suchst nach
oder so ähnlich und trägst dann ein
Beachte aber, dass das nicht immer 1 : 1 so aussehen muss. Lies immer die Kommentare, die in der ASM-Datei stehen. Z.B. kommt auch des öfteren mal sowas hier vor:
Codeorg $178000 ; Put Freespace address here
Dann müsstest du stattdessen HIER die Freespace-Address eintragen. Beachte aber, dass nicht jedes org automatisch eine Freespace-Addresse benötigt. Eben deshalb ist es besonders wichtig, dass du die Kommentare liest.
Das hat leider nicht funktioniert aber danach hab ich es mal mit Lunar Expand versucht und dann hat's funktioniert. Aber trotzdem danke für die Antworten.
Hallo,
ich möchte mich nun in den Forgeschritenen Bereich wagen. Das erste was ich machen wollte waren HDMA Effekte, also hab ich mal im Internet nach Tutorials gesucht. Dann bin ich auf einen Thread des alten Forums gestoßen, dort wurde erklärt wie man HDMA mit ASM einfügt. Also hab ich das dann auch gemacht. Ich habe mir den Patch Ersanios LevelASM+INIT runtergeladen und den Code für die Farbverläufe in der Datei levelinitcode.asm unter das Level eingesetzt wo die HDMA Effekte sein sollen (105).Danach hab ich mir einen HDMA Effekt ausgesucht und den Code unter den Code den ich davor eingesetzt habe eingesetzt. Dann hab ich die Datei level.asm mit Xkas V06 mit einer bat Datei gepatcht als ich dann auf die bat Datei gegangen bin stand da immer das die levelinit redcolour, level init greenculour und levelinit bluecolour nicht gefunden worden sind. Als ich dann meine ROM gestartet habe waren in Level 105 im Hintergrund nur verbugte blinkende Regenbogenfarben. Wie kann ich das Problem beheben?
Zitat von WYE: Poste bitte mal den genauen Code, den du versuchst einzufügen.
Und entferne den Beispielcode aus Level 105 in levelcode.asm. Das ist die Ursache für die sich mit der X-Position verändernden Farben. (Edit: Ups, wurde schon erwähnt. Na ja.)
Hier ist der Code den ich als erstes einfüge:
REP #$20
LDA #$3200
STA $4330
LDA #.RedColour
STA $4332
PHK
PLY
STY $4334
LDA #$3200
STA $4340
LDA #.GreenColour
STA $4342
PHK
PLY
STY $4344
LDA #$3200
STA $4350
LDA #.BlueColour
STA $4352
PHK
PLY
STY $4354
SEP #$20
LDA #$38
TSB $0D9F
RTS
Hier der zweite:
.RedColour:
db $06,$20
db $06,$21
db $06,$22
db $06,$23
db $06,$24
db $06,$25
db $06,$26
db $06,$27
db $06,$28
db $06,$29
db $06,$2a
db $06,$2b
db $06,$2c
db $06,$2d
db $06,$2e
db $06,$2f
db $06,$30
db $06,$31
db $06,$32
db $06,$33
db $06,$34
db $06,$35
db $06,$36
db $06,$37
db $06,$38
db $06,$39
db $06,$3a
db $06,$3b
db $06,$3c
db $06,$3d
db $00
.GreenColour:
db $06,$4e
db $06,$4f
db $06,$50
db $06,$51
db $06,$52
db $06,$53
db $06,$54
db $06,$55
db $06,$56
db $06,$57
db $06,$58
db $06,$59
db $06,$5a
db $06,$5b
db $06,$5c
db $06,$5d
db $06,$5e
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $06,$5f
db $00
.BlueColour:
db $06,$9d
db $06,$9e
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $06,$9f
db $00
Zitat von Danforce:
Was funktioniert da den nicht?
Ich hab jetzt den Beispielcode gelöscht, trotzdem hab ich immer noch diese verbugten Regenbogenfarben. Muss ich vielleicht wenn ich den Beispielcode in levelcode.asm lösche das RTS dalassen? Meine Vermutung ist das ich beim patchen einen Fehler gemacht da ich fürs patchen immer xkas GUI benutzt habe, da das hier damit aber nicht geklappt habe bin ich zu xkas V06 umgestigen.
Zitat von WYE: Wo fügst du denn welchen Code ein?
Ich ersetze in levelinitcode.asm unter levelinit 105 das RTS durch den HDMA Code und füge direkt unter dem RTS was am Ende des HDMA Codes steht den Code mit den Farben ein.
Hier ein Level aus meinem Hack an dem ich zurzeit arbeite.
Viel Spaß.
Zitat von SMW MARIO: @ Pucksam: Ich finde dein Level auch klasse ich hab auchmal so eins gemacht aber das ist mir nicht so gut gelungen wie deins. Noch ne Frage zum BG: hast du den BG eingefügt? oder hast du denn selbst zusammen gesetzt? Bei LM1.82 hatte ich Probleme beim Einfügen...
Für den Hack benutze ich LM 1.65 womit ich den BG einfach einfügen kann.
@ SMW MARIO: Für deine erste OW sieht sie gut aus.
Was haltet ihr von meinem Level:
Wie mach ich es, dass es in einem Level donnert und blitzt?
Hier mal ein Level von mir.
Hab hier mal ein Castle gemacht.