From 0956970b6a763a6192329cffe0b3e1ebc33bff08 Mon Sep 17 00:00:00 2001 From: akatsuki105 Date: Sat, 11 May 2024 16:47:11 +0900 Subject: [PATCH] aloha --- .gitignore | 1 + README.md | 33 +++++++++++++++++++++++ patch.s | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 patch.s diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..096ab7c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +memo.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a29fc8a --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# 悪魔城ドラキュラ 蒼月の十字架 No Required Touch Screen + +このパッチは、北米版向けの [Castlevania: Dawn of Sorrow No Required Touch Screen (v1.1)](https://www.romhacking.net/hacks/3408/) を日本語ROM(md5: `b3868d4c5aef98b73f084bbaeeae39db`)用に移植したものです。 + +## ダウンロード + +[こちら](https://github.com/akatsuki105/Sogetsu-No-Touch/releases)からパッチファイル`patch.ips`をダウンロードしてください。 + +パッチを当てた後のROMファイルの md5 は `fcc04bfea33d922e36f2b0f39c81c072` です。 + +## パッチの内容 + +Offset は .nds ファイルの先頭からのバイト数です。 + +``` +IPS: + Records: + Record: { Offset: 0x00049E94, Data: 00 00 A0 E1 } + Record: { Offset: 0x00049EA8, Data: 06 } + Record: { Offset: 0x000C433C, Data: 00 40 2D E9 00 00 A0 E3 BC 3D 05 EB 00 40 BD E8 01 00 50 E3 04 00 00 0A 40 00 9F E5 00 00 D0 E5 01 00 50 E3 00 00 00 AA 53 4B 05 EA 0E 00 A0 E1 0C 10 A0 E1 04 20 A0 E1 D5 53 04 EB 01 00 56 E3 1C D0 8D 02 71 40 BD 08 1E FF 2F 01 01 60 A0 E3 1C 00 9D E5 9C 4A FD EB 0A 00 80 E2 1E 4B 05 EA 0E 74 0F 02 } + Record: { Offset: 0x0011ED8C, Data: 00 } + Record: { Offset: 0x0013FC70, Data: AB } + Record: { Offset: 0x0013FF74, Data: 71 } + Record: { Offset: 0x0013FF8C, Data: 71 } + Record: { Offset: 0x0013FFA8, Data: 71 } + Record: { Offset: 0x0013FFC4, Data: 71 } + Record: { Offset: 0x0013FFF4, Data: 08 30 83 E2 } + Record: { Offset: 0x00140054, Data: A0 B4 FA EA 1C D0 8D E2 71 } + Record: { Offset: 0x00140DC4, Data: 01 00 A0 E3 } + + RLEs: + なし +``` diff --git a/patch.s b/patch.s new file mode 100644 index 0000000..3d73d94 --- /dev/null +++ b/patch.s @@ -0,0 +1,77 @@ +@ 参考として残しておく これをアセンブルしたわけではない + +@ 02045e78 +.org 0x02045e94, 0xFF + mov r0, r0 @ .byte 0x00, 0x00, 0xA0, 0xE1 + +@ 02045e8c +.org 0x02045ea8, 0xFF + .byte 0x06 + +@ 020c0291 +.org 0x20c033c, 0xFF @ 1減らしてアラインメント + stmdb sp!, {lr} @ .byte 0x00, 0x40, 0x2D, 0xE9 @ (020c0290 は 0x00なので) + mov r0, #0 @ .byte 0x00, 0x00, 0xA0, 0xE3 + bl 0x0220fa3c @ .byte 0xBC, 0x3D, 0x05, 0xEB @ USA: bl 0x220f81c + ldm sp!, {lr} @ .byte 0x00, 0x40, 0xBD, 0xE8 + cmp r0, #1 @ .byte 0x01, 0x00, 0x50, 0xE3 + beq 0x20c0368 @ .byte 0x04, 0x00, 0x00, 0x0A + ldr r0, [pc, #0x40] @ .byte 0x40, 0x00, 0x9F, 0xE5 + ldrb r0, [r0] @ .byte 0x00, 0x00, 0xD0, 0xE5 + cmp r0, #1 @ .byte 0x01, 0x00, 0x50, 0xE3 + bge 0x020c0368 @ .byte 0x00, 0x00, 0x00, 0xAA + b 0x022130b8 @ .byte 0x53, 0x4B, 0x05, 0xEA @ USA: b 0x2212e98 + mov r0, lr @ .byte 0x0E, 0x00, 0xA0, 0xE1 + mov r1, ip @ .byte 0x0C, 0x10, 0xA0, 0xE1 + mov r2, r4 @ .byte 0x04, 0x20, 0xA0, 0xE1 + bl 0x21d52d0 @ .byte 0xD5, 0x53, 0x04, 0xEB @ USA: bl 0x21d5210 + cmp r6, #1 @ .byte 0x01, 0x00, 0x56, 0xE3 + addeq sp, sp, #0x1c @ .byte 0x1C, 0xD0, 0x8D, 0x02 + popeq {r0, r4, r5, r6, lr} @ .byte 0x71, 0x40, 0xBD, 0x08 + bxeq lr @ .byte 0x1E, 0xFF, 0x2F, 0x01 + mov r6, #1 @ .byte 0x01, 0x60, 0xA0, 0xE3 + ldr r0, [sp, #0x1c] @ .byte 0x1C, 0x00, 0x9D, 0xE5 + bl 0x02012e08 @ .byte 0x9C, 0x4A, 0xFD, 0xEB @ USA: bl 0x0x2012db0 + add r0, r0, #0xa @ .byte 0x0A, 0x00, 0x80, 0xE2 + b 0x2213018 @ .byte 0x1E, 0x4B, 0x05, 0xEA @ USA: b 0x2212df8 + andeq r7, pc, 0xe000000 @ .byte 0x0E, 0x74, 0x0F, 0x02 + +@@@@@@@@@@@@@ 以降は Overlay 0 @@@@@@@@@@@@@ + +@ 0x21f1bf8 +.org 0x021f1dec, 0xFF + .byte 0x00 + +@ 0x2212ab0 +.org 0x02212cd0, 0xFF + .byte 0xAB + +@ 0x2212db4 +.org 0x02212fd4, 0xFF + .byte 0x71 + +@ 0x2212dcc +.org 0x2212fec, 0xFF + .byte 0x71 + +@ 0x2212de8 +.org 0x2213008, 0xFF + .byte 0x71 + +@ 0x2212e04 +.org 0x2213024, 0xFF + .byte 0x71 + +@ 0x2212e34 +.org 0x2213054, 0xFF + add r3, r3, #0x8 @ .byte 0x08, 0x30, 0x83, 0xE2 + +@ 0x2212e94 +.org 0x22130b4, 0xFF + b 0x20c033c @ .byte 0xA0, 0xB4, 0xFA, 0xEA + add sp, sp, #0x1c @ .byte 0x1C, 0xD0, 0x8D, 0xE2 + .byte 0x71 + +@ 0x2213c04 +.org 0x2213e24, 0xFF + mov r0, #1 @ .byte 0x01, 0x00, 0xA0, 0xE3