Beiträge von WYE

geschrieben am 12.11.2010 22:07:06 in Ideenrunde (ERSTEN POST LESEN, SONST STERBT IHR!)
( Link )
Wie gesagt, das find ich gut.
geschrieben am 13.11.2010 12:43:23 in VWF-Dialoge v1.0
( Link )
Hm, joa, gar nicht schlecht. Hätte ich nicht ganz viel besser hingekriegt.

...Scherz, das ist einfach perfekt und viel zu gut, als das ich's hätte machen können. Das Ding hat mir schon zwei Orgasmen gegeben, und ich hab's noch nicht mal runtergeladen.
geschrieben am 13.11.2010 15:18:28 in VWF-Dialoge v1.0
( Link )
Zitat von RPG Hacker:
Zitat von Shog:
nun zum PatchLiesmich: Wirst du es auch auf Deutsch evtl. übersetzen?


Habe ich vor, ja. Die Frage ist nur, wann.


Wenn du nicht die Zeit findest, wär's mir eine Ehre.
geschrieben am 13.11.2010 18:09:55 in VWF-Dialoge v1.0
( Link )
Hm, ich hab den Patch mal bei meinem Hack benutzt, und der friert nach dem Title-Screen (auf dem auch keine Musik mehr spielt) entweder ein oder fängt wieder beim Presents-Logo an. Kurz gesagt: Irgendwas ist da nicht kompatibel. Ich porte mal und versuche herauszufinden, was.
geschrieben am 13.11.2010 20:02:32 in VWF-Dialoge v1.0
( Link )
1.82, 2MB. Ich gehe gerade jeden Patch einzeln durch; es könnte aber auch an Addmusic liegen. Probier du's vielleicht auch mal aus.
geschrieben am 13.11.2010 20:43:52 in VWF-Dialoge v1.0
( Link )
Ich darf doppelposten.

Ich glaube, ich habe die Ursache gerade gefunden, und selbst wenn's noch andere Sachen gitb, die das Problem verursacht haben, das hier ist auf jeden Fall eine davon. Ich rede von einem halb-selbstgemachten Patch, der die IRQ-Routine hackt und sowohl die Anzahl der Status-Bar-Scanlines für jedes Level verändern kann als auch die Status-Bar immer in den Main-Screen befördert. So weit kapiert? (Ich bin schlecht im erklären...) Der Code ist jedenfalls hier:

Code
; von KilloZapit
; Verhindert, dass bei Layer-3-Hintergründen,
; die hinter Layer 2 erscheinen, die Statusleiste
; auch in den Hintergrund tritt

header
lorom

org $008292
JML PreStatusBar : NOP : NOP
org $0083AD
JML PostStatusBar : NOP


!LevelNum = $010B
!blockaddress = $288000
org !blockaddress ; address to put code
; -------------------------------------------
db "STAR" ; Write RATS tag
dw Endcodeblock-Startcodeblock
dw Endcodeblock-Startcodeblock^$FFFF
; -------------------------------------------
Startcodeblock: ; code starts here
; -------------------------------------------

; Set Status Bar Scroll/Screen/Ect
PreStatusBar:
; old


;LDY.b #$24 ; Scanline-Anzahl


REP #$10 ; \ Da sich der Patch mit
LDX !LevelNum ; | Ersanios Scanline-Hack
LDA.l IRQTable,x; | überschneidet, wird der hier
SEP #$10 ; | mit eingefügt, d.h. das originale
TAY ; | LDY #$24 durch seinen Code zum Ändern
LDA $4211 ; / auf Level-Basis ersetzt

STY $4209
STZ $420A
STZ $11
LDA.b #$A1
STA $4200
STZ $2111
STZ $2111




; new

STZ $2112
STZ $2112
; Force status bar in main screen
LDA $0D9D
ORA.b #$04
STA $212c
; set level's Sub Screen
LDA $0D9E
STA $212d
; return to NMI
JML $8082B0

PostStatusBar:
; Set level's CGADSUB
LDA $40
STA $2131
; restore level's normal Main Screen
LDA $0D9D
STA $212c
; return to IRQ handler
JML $8083B2



IRQTable: db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 00-07
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 08-0F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 10-17
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 18-1F
db $24,$24,$24,$24,$24,$00,$00,$00 ;Levels 20-27
db $00,$00,$00,$00,$00,$00,$00,$00 ;Levels 28-2F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 30-37
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 38-3F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 40-47
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 48-4F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 50-57
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 58-5F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 60-67
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 68-6F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 70-77
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 78-7F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 80-87
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 88-8F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 90-97
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 98-9F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels A0-A7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels A8-AF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels B0-B7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels B8-BF
db $24,$24,$24,$24,$24,$00,$24,$24 ;Levels C0-C7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels C8-CF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels D0-D7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels D8-DF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels E0-E7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels E8-EF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels F0-F7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels F8-FF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 100-107
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 108-10F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 110-117
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 118-11F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 120-127
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 128-12F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 130-137
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 138-13F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 140-147
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 148-14F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 150-157
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 158-15F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 160-167
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 168-16F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 170-177
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 178-17F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 180-187
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 188-18F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 190-197
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 198-19F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1A0-1A7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1A8-1AF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1B0-1B7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1B8-1BF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1C0-1C7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1C8-1CF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1D0-1D7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1D8-1DF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1E0-1E7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1E8-1EF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1F0-1F7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1F8-1FF


; -------------------------------------------
Endcodeblock: ; code ends here
; -------------------------------------------


Das Problem ist zwar nicht ganz dasselbe wie das am Anfang beschriebene (jetzt funktionert zwar alles, aber die VWF-Dialoge werden nicht richtig eingeblendet), aber ein Problem ist es auf jeden Fall. Wäre echt sehr nett, wenn du rausfinden könntest, warum es nicht geht und möglicherweise eine Lösung finden könntest.

So sieht's übrigens aus:
Spoiler anzeigen
geschrieben am 13.11.2010 21:09:14 in VWF-Dialoge v1.0
( Link )
Zitat von RPG Hacker:
Ich mache mal einen Doppelpost, um dich auf die Edits im letzten Post aufmerksam zu machen. Habe aber auch eine Frage: Diese $00en in IRQTable sollen die Status Bar doch unsichtbar machen, oder? Funktioniert das in allen Emulatoren?

So ist es. Und in bsnes funktioniert's.

Zitat von RPG Hacker:
Also was genau macht der Patch nochmal? Ja, jetzt bräuchte ich tatsächlich eine detailierte Erklärung, damit ich gucken kann, ob ich den Hijack irgendwie umlegen und sonstige Konflikte zwischen den zwei Patches verhindern kann.

Sein Hauptanliegen ist, die Status-Bar in den Main-Screen zu schieben und den Rest von Layer 3 nicht. Nützlich bei Layer-3-Hintergründen, die hinter Layer 2 sind - ohne den Patch würde auch die Status-Bar hinter layer 1 und 2 verschwinden.
Daneben hab ich auch noch den "Statusbar Scanline Hack" von Ersanio eingebaut. der bewirkt, dass die Status-Bar nicht immer 24 Scanlines beansprucht, sondern man es in jedem Level einzeln festlegen kann (durch die Tabelle am Ende). Gut für Cutscenes, bei denen sie stören würde.

Ich hoffe, das war detailliert genug... Ich glaube, besser kann ich's nicht.

Zitat von RPG Hacker:
Möglicherweise reicht es schon, das JML $8082B0 in KilloZapits Patch in JML $808297 umzuändern (und KilloZapits Patch auf jeden Fall immer vor meinem anzuwenden). Zwar dürften sich die zwei Patches dann durchaus noch überschneiden, aber beim Hijack in KilloZapits Patch werden am Ende ja nur NOPs geschrieben, die nur einen Byte lang sind und sowieso nichts tun, daher also von meinem Patch ohne Negativeffekt überschrieben werden können. Problem: Ich weiß nicht, ob KilloZapits Patch dann noch das tut, was er soll. Es sieht ja fast so aus, als wollte er mit diesem JML einen Teil von Code überspringen. Evtl. kehrt mein Patch aber dann viel zu früh zurück, sodass dieser Effekt nicht funktioniert, wie erwünscht. Verstehst du, was ich meine?

Zumindest tut's was. Die VWF-Dialoge werden richtig angezeigt, nur nachdem sie verschwinden, wird einen Frame lang der ganze Bildschirm mit verglitchten Teilen gefüllt. Und ob der Patch noch irgendeinen Effekt hat (also ob er die Status-Bar noch in den Main-Screen befördert), hab ich noch nicht ausprobiert. (Der Scanline-Tile funktioniert noch).
geschrieben am 13.11.2010 21:26:27 in VWF-Dialoge v1.0
( Link )
Schön, wenn sich alles erklären lässt. So wird's sein.

Gut, dann kann ich mich in der Zeit ja mal nach einer Alternative umsehen (der Thread, in dem KilloZapit den Patch gepostet hat, enthielt auch noch eine alternative Methode von edit1547; ich suche mal den Thread), während du versuchen kannst, eine Lösung zu finden.

Das nenne ich Arbeitsteilung.

EDIT: Okay, die Alternative wäre, das Main-Screen-Zeugs mit HDMA zu machen. Das hieße dann, dass ich in einem Level mit Layer-3-Hintergrund einen HDMA-Channel weniger zur Verfügung hätte. Das könnte/müsste ich dann auch noch verschmerzen, wenn du keine Lösung findest.
geschrieben am 13.11.2010 21:41:36 in VWF-Dialoge v1.0
( Link )
Diese ganzen Edits...

Zitat von RPG Hacker:
EDIT:
Gibt es vielleicht irgendeine RAM-Addresse, die in Levels mit Layer 3 im Hintergrund besondere Merkmale aufweist? Die könnte ich dann hierfür verwenden.

Ich glaube, ich könnte ein einfaches LDA #$01 : STA !FreeRAM in den Stripe-Image-Upload-Patch einbauen. !FreeRAM wäre dann 01, wenn das Level einen Layer-3-BG hat.
geschrieben am 13.11.2010 21:50:58 in VWF-Dialoge v1.0
( Link )
Zitat von RPG Hacker:
@Post gerade eben: Also FALLS du $7E0D9D und $7E0D9E benutzt sollte es wirklich kein Problem sein das zu fixen. Benutzt du die denn?


Ja, das tu ich.

Code
	;so benutze ich's
LDA.b #%00010001; \
STA.w $0D9D ; | Layer 3 in den Subscreen,
LDA.b #%00000110; | alles andere in den Mainscreen
STA.w $0D9E ; /
geschrieben am 13.11.2010 22:25:18 in VWF-Dialoge v1.0
( Link )
Hm, nein, klappt nicht.

Es ist spät... Ich werd's morgen nochmal in aller Ruhe probieren.
geschrieben am 14.11.2010 11:51:48 in VWF-Dialoge v1.0
( Link )
Um das IRQ-Zeug kümmere ich mich später... es scheint tatsächlich hauptsächlich an Addmusic zu liegen, zumindest an Romis. Wenn ich mir die ASM-Dateien so anschaue, auch kein Wunder, denn es wimmelt von Hijacks im $008xxx-Bereich.

MUSIC.asm:

Code
lorom 
header
!MainCodeLocation = $1E8000 ;Point it to some free space
!FreeRAM = $7007FF
!MAIN_CODE_SIZE = END_OF_FILE-AddressTable
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
org $00807C
JSL SPCUpload1
NOP #$2
org $00808D
JSL SPCUpload2
org $008096
JSL SPCUpload2
org $0080B4
JSL SPCUpload2
JSL SPCUpload2
TAX
JSL SPCUpload3
NOP #$3
org $008F65
JSL Bonus
NOP
org $009702
NOP #$3

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

org $00973B
NOP #$5
JSL CustomMusicMain
NOP #$2
org $00A1C7
JSL ClearRAM
org $00A64A
LDA $0DDA
AND #$7F
JSL HackingRoutine
NOP
org $05855F
BRA $02
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
org !MainCodeLocation
db "STAR"
dw !MAIN_CODE_SIZE-$01
dw !MAIN_CODE_SIZE-$01^$FFFF

db $03 ;code version, for removing or modifying this main code in the future.

AddressTable: dl $000000,$000000,$000000,$000000 ; 20-23, 24-27, 28-2B, 2C-2F
dl $000000,$000000,$000000,$000000 ; 30-33, 34-37, 38-3B, 3C-3F
dl $000000,$000000,$000000,$000000 ; 40-43, 44-47, 48-4B, 4C-4F
dl $000000,$000000,$000000,$000000 ; 50-53, 54-57, 58-5B, 5C-5F

dl $000000,$000000,$000000,$000000 ; 60-63, 64-67, 68-6B, 6C-6F
dl $000000,$000000,$000000,$000000 ; 70-73, 74-77, 78-7B, 7C-7F
dl $000000,$000000,$000000,$000000 ; 80-83, 84-87, 88-8B, 8C-8F
dl $000000,$000000,$000000,$000000 ; 90-93, 94-97, 98-9B, 9C-9F


CustomMusicMain: STZ $0DAE
STZ $0DAF

LDA $0100
CMP #$11
BNE Return

LDA $0DDA
CMP !FreeRAM
CLC
BEQ ActualNumber
STA !FreeRAM
CMP #$20
BCC UploadLevel
CustomMusic: REP #$30
AND #$00FF
LSR A
LSR A
STA $00
ASL A
ADC $00
TAX
LDA AddressTable-$18,x
PHA
LDA AddressTable-$18+$01,x
STA $04

LDA #$8000
STA $00
SEP #$30
LDA #$00

PHK
PER $0006
PEA $804C
JML $80811A

REP #$20
PLA
STA $00
SEP #$20
LDX #$1D
.wait DEX
BNE .wait
LDA $05

PHK
PER $0006
PEA $804C
JML $80811A


SEC
ActualNumber: LDA $0DDA
BIT #$E0
BEQ Clear1DFB
AND #$03
INC A
ORA #$20
STA $0DDA
BCS StoreTo1DFB
Clear1DFB: LDA #$00
StoreTo1DFB: STA $1DFB
Return: RTL

UploadLevel: PHK
PER $0006
PEA $804C
JML $008148
LDA $0DDA
BRA StoreTo1DFB

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HackingRoutine: AND #$3F
STA $0DDA
LDA #$FF
STA !FreeRAM
RTL

ClearRAM: LDA #$FF
STA !FreeRAM
JML $848241

Bonus: LDA #$FF
STA !FreeRAM
STA $1425
RTL

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SPCUpload1: LDA $00
AND #$7FFF
TAY
LDA #$8000
STA $00
LDA #$BBAA
RTL



SPCUpload2: LDA [$00],y
INY
BPL .R
LDY #$0000
INC $02
.R XBA
RTL

SPCUpload3: JSL SPCUpload2
JSL SPCUpload2
STA $2142
XBA
STA $2143
RTL


END_OF_FILE:


MORE.asm:

Code
lorom
header

;patch this to your ROM ONLY IF you don't use -se option of AddMusic.
;Because, AddMusic inserts MORE.bin (if it is in the same directory as AddMusic) automatically
;when you use -se option.


!MainCodeLocation = $258000 ;Point it to some free space!
!MAIN_CODE_SIZE = END_OF_FILE-CodeStart
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
org $008055
JML UploadData
NOP
NOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

org !MainCodeLocation
db "STAR"
dw !MAIN_CODE_SIZE-$01
dw !MAIN_CODE_SIZE-$01^$FFFF

CodeStart:
UploadData: STZ $0100
STZ $0109
REP #$10
LDX #$0000
Wait: DEX
BNE Wait
SEP #$30
LDA.b #CodeStart
STA $00
LDA.b #CodeStart/$0100
STA $01
LDA.b #CodeStart/$010000
STA $02
PEA $805A
JML $80811D

incbin MORE.bin
db $00,$00,$00,$05
END_OF_FILE:


ich hoffe, es läuft nicht auf ein "Addmusic oder VWF-Patch"-Szenario heraus.
geschrieben am 14.11.2010 12:11:10 in VWF-Dialoge v1.0
( Link )
Jetzt crasht's schon ohne Addmusic gleich nach dem Patchen.

Könnte aber auch an mir liegen. Ich werd nochmal alles in aller Ruhe porten.
geschrieben am 14.11.2010 12:14:55 in VWF-Dialoge v1.0
( Link )
Okay, ich hab's nochmal mit der letzten nicht geporteten ROM probiert, und es GEHT! Zwar taucht in Leveln mit Layer-3-BG immer noch der "Screen einen Frame lang verglitcht"-Bug auf, aber in solchen Leveln benutz ich ihn ja eh nicht. (EDIT: Auch in Leveln ohne Layer-3-BG disablet er jetzt HDMA. Mal sehen, woran das liegt.)

Allerdings ist der Status-Bar-IRQ-Patch noch nicht wieder drauf. ich probier's mal aus.
geschrieben am 14.11.2010 12:22:12 in VWF-Dialoge v1.0
( Link )
Nee, der Status-IRQ-Patch bringt alles durcheinander. So sieht's momentan aus:

Code
; von KilloZapit
; Verhindert, dass bei Layer-3-Hintergründen,
; die hinter Layer 2 erscheinen, die Statusleiste
; auch in den Hintergrund tritt

header
lorom

org $008292
JML PreStatusBar : NOP : NOP
org $0083AD
JML PostStatusBar : NOP


!LevelNum = $010B
!blockaddress = $258000
org !blockaddress ; address to put code
; -------------------------------------------
db "STAR" ; Write RATS tag
dw Endcodeblock-Startcodeblock
dw Endcodeblock-Startcodeblock^$FFFF
; -------------------------------------------
Startcodeblock: ; code starts here
; -------------------------------------------

; Set Status Bar Scroll/Screen/Ect
PreStatusBar:
; old


;LDY.b #$24 ; Scanline-Anzahl


REP #$10 ; \ Da sich der Patch mit
LDX !LevelNum ; | Ersanios Scanline-Hack
LDA.l IRQTable,x; | überschneidet, wird der hier
SEP #$10 ; | mit eingefügt, d.h. das originale
TAY ; | LDY #$24 durch seinen Code zum Ändern
LDA $4211 ; / auf Level-Basis ersetzt

STY $4209
STZ $420A
STZ $11
LDA.b #$A1
STA $4200
STZ $2111
STZ $2111




; new

STZ $2112
STZ $2112
; Force status bar in main screen


LDA $0D9D
ORA $0D9E
AND #$04
BNE +
JML $808297

+


LDA $0D9D
ORA.b #$04
STA $212c
; set level's Sub Screen
LDA $0D9E
STA $212d
; return to NMI
JML $8082B0

PostStatusBar:
; Set level's CGADSUB
LDA $40
STA $2131
; restore level's normal Main Screen
LDA $0D9D
ORA $0D9E
AND #$04
BNE +
JML $8083B2

+


LDA $0D9D
STA $212c
; return to IRQ handler
JML $8083B2



IRQTable: db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 00-07
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 08-0F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 10-17
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 18-1F
db $24,$24,$24,$24,$24,$00,$00,$00 ;Levels 20-27
db $00,$00,$00,$00,$00,$00,$00,$00 ;Levels 28-2F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 30-37
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 38-3F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 40-47
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 48-4F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 50-57
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 58-5F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 60-67
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 68-6F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 70-77
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 78-7F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 80-87
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 88-8F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 90-97
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 98-9F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels A0-A7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels A8-AF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels B0-B7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels B8-BF
db $24,$24,$24,$24,$24,$00,$24,$24 ;Levels C0-C7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels C8-CF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels D0-D7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels D8-DF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels E0-E7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels E8-EF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels F0-F7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels F8-FF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 100-107
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 108-10F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 110-117
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 118-11F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 120-127
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 128-12F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 130-137
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 138-13F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 140-147
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 148-14F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 150-157
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 158-15F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 160-167
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 168-16F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 170-177
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 178-17F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 180-187
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 188-18F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 190-197
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 198-19F
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1A0-1A7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1A8-1AF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1B0-1B7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1B8-1BF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1C0-1C7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1C8-1CF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1D0-1D7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1D8-1DF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1E0-1E7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1E8-1EF
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1F0-1F7
db $24,$24,$24,$24,$24,$24,$24,$24 ;Levels 1F8-1FF


; -------------------------------------------
Endcodeblock: ; code ends here
; -------------------------------------------
geschrieben am 14.11.2010 12:25:42 in VWF-Dialoge v1.0
( Link )
Fuck, das "GEHT" nehm ich zurück. Manchmal crasht's wie aus dem nichts, wenn ich z.B. ?-Blöcke berühre.

Ich glaube, ich porte wirklich nochmal. Mann, ich fühl mich wie ein N00b.
geschrieben am 14.11.2010 15:46:12 in VWF-Dialoge v1.0
( Link )
Okay, ich hab jetzt alles auf eine neue ROM übertragen, ausgenommen von KilloZapits Status-Bar-IRQ-Patch. Es crasht zwar nichts mehr, aber folgende Probleme bestehen noch:

  • Natürlich fehlt noch der Effekt von KilloZapits Patch, d. h. die Status-Bar verschwindet in Leveln, in denen Layer 3 in den Subscreen verschoben wurde, hinter Layer 1.

  • In Leveln ohne HDMA und Layer-3-BG klappt alles bestens.

  • Wenn ich HDMA-Code nur in levelinit.asm ausführe, wird der Farbverlauf verändert, wenn eine Nachricht angezeigt wird. Führe ich den HDMA-Code auch in levelcode.asm (und damit jeden Frame) aus, scheint alles zu gehen. Das ist zwar seltsam, da dein Patch doch nichts mit HDMA macht, aber zum Glück leicht zu lösen.

  • In Leveln mit Layer-3-Hintergrund werden nach dem Anzeigen der Nachricht einen Frame lang die verglitchten Nullen auf dem ganzen Bildschirm angezeigt, danach erscheint der Layer-3-BG-wieder, aber jetzt nicht mehr hinter Layer 2. Ist aber auch verständlich, und ich darf dann halt keine VWF-Nachrichten in Leveln mit Layer-3-Hintergründen anzeigen lassen. Mal sehen, ob ich das schaffe.


Ansonsten, wie gesagt, geht's anscheinend. Jetzt müssen wir nur noch einen Weg finden, KilloZapits IRQ-Patch zu installieren, ohne dass der wieder alles durcheinander bringt.
geschrieben am 14.11.2010 17:11:19 in Allgemeine SMW Hacking Fragen
( Link )
Zitat von Shog:
Wow ich frag noch O.o

Kan man die "schwarzen Palleten" bei den Spritepalleten nutzen, oder verglitchen die während man spielt (Sprich im Palleteneditor gaanz unten rechts)


Keine Ahnung, was Palleten sind.

Spoiler anzeigen
Ja, den schwarzen Teil der Paletten müsstest du problemlos benutzen können.
geschrieben am 14.11.2010 17:58:25 in VWF-Dialoge v1.0
( Link )
Zitat von RPG Hacker:
Also im Prinzip muss aus dieser Liste jetzt nur der erste Punkt gefixt werden, sehe ich das richtig?

im Prinzip ja, auch wenn mir die HDMA-Sache komisch vorkommt. Macht dein Patch denn was mit HDMA? (Apropos, in bsnes ist beim Verschwinden der Nachricht der Farbverlauf einen Frame lang verglitcht.)

Oh, und der IRQ-Patch crasht das Spiel schon beim Title-Screen. Immer noch derselbe Code wie vor ein paar Posts. Ja, ich hab zuerst den installiert, dann deinen VWF-Patch.

Okay, das lag am FreeSpace. Er crasht jetzt nicht mehr, aber die Nachrichten werden schon wieder nicht mehr richtig angezeigt.
geschrieben am 14.11.2010 18:17:53 in VWF-Dialoge v1.0
( Link )
Zitat von RPG Hacker:
Welchen Farbverlauf meinst du? Den HDMA-Farbverlauf?

Jau. Komisch zwar, aber das ist im Moment das geringste Problem.

Oh, und:

Zitat
Okay, das lag am FreeSpace. Er crasht jetzt nicht mehr, aber die Nachrichten werden schon wieder nicht mehr richtig angezeigt.

EDIT: Auch in Leveln ohne Layer-3-BG.