-
Notifications
You must be signed in to change notification settings - Fork 0
/
notes.txt
136 lines (110 loc) · 2.47 KB
/
notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Mega Man X2 Français
======================
= Textes dans la ROM =
======================
0x13d800 = Table de pointers vers le texte
0x13d87a = $27D87A (Texte d'introduction)
0x13da67 = $27DA67 (Got Weapon Text)
0x30df0 = $068DF0 (Capcom Copyright, Main Menu, This game cannot be played on PAL, options menu)
0x31567 = $06:9567 (Ending screen)
Y'a plein de places avant pour déplacer la table de pointeurs et le data mais faut modifier le code qui lit le texte du jeu
$82 = End of Data
mmmx2_text_extractor mmx2_original.sfc 0x13d800 59
15C300 - 15D2FF
00e6d6 lda $27d800,x [27d800] A:0100 X:0000 Y:0007 S:01ff D:0000 DB:06 nvmXdIZc V: 57 H:173 F:35
=================
= Text Commands =
=================
$80-$8F = text commands
$80 = $00:e7fe
$81 = $00:e81b
$82 = $00:e843
$83 = $00:e851
$84 = $00:e862
$85 = $00:e868
$86 = $00:e8bc
$87 = $00:e949
$88 = $00:e96b
$89 = $00:e973 (Read the next two bytes)
$8A = $00:e992
$8B = $00:e99b
$8C = $00:e9a7
$c0 = another set of commands
================
= Text Routine =
================
00e6e3 bne $e6ec
00e6e5 stz $bd
00e6e7 stz $bf
00e6e9 stz $1f4c
00e6ec sep #$20
00e6ee stz $1f50
00e6f1 stz $1f51
00e6f4 inc $6f
00e6f6 ldy #$00
00e6f8 lda $1f47
00e6fb sta $1f4a
00e6fe jsr $e9ad
00e701 bit #$80
00e703 beq $e708
00e705 jmp $e7c6
00e7c6 bit #$40
00e7c8 bne $e7eb
00e7ca and #$0f
00e7cc asl a
00e7cd tax
00e7ce jmp ($e7d1,x)
; ===============
; = Command $80 =
; ===============
00e7fe rep #$21
00e800 lda $6a
00e802 adc #$0020
00e805 and #$07ff
00e808 ora #$0800
00e80b sta $6a
00e80d stz $6c
00e80f tya
00e810 adc $68
00e812 sta $68
00e814 sep #$20
00e816 ldy #$00
00e818 jmp $e6fe
; ===============
; = Command $89 =
; ===============
00e973 jsr $e9ad
00e976 sta $6a
00e978 jsr $e9ad
00e97b sta $6b
00e97d rep #$20
00e97f lda $bf
00e981 and #$f8
00e984 asl a
00e985 asl a
00e986 clc
00e987 adc $6a
00e989 sta $6
00e98b stz $6c
00e98d sep #$20
00e98f jmp $e6fe
; Read single byte of the text
00e9ad pea $0627
00e9b0 plb
00e9b1 lda ($68),y
00e9b3 iny
00e9b4 plb
00e9b5 rts
=======================
= Title screen format =
=======================
Start of tilemap update block:
09 20 8A 0B
<Payload length> <High byte of the tile byte> <Address in tilemap (16-bit)>
If X = 10 and Y = 20, then the address in tilemap is found with
((Y&0x1F)<<5) + (X&0xF) + (0) + ((X&0x20)<<5) + 0x800
Terminator of whole tilemap update block is 00
tilemap update is pointed!
tilemap update pointer table start at $068C6F and end at $068D1B (temp)
86 entries (temp)
117 entries