В MD версии похоже фиксированная камера по горизонтали. Видимо в SMS разработчикам показался экран маленьким.
Попробуйте такое исправление.
Впервые использовал эмулятор Emulicious, нормальный отладчик.
Изменения в роме такие:
$2CD9: 29 29 29 29 -> 00 00 00 00. Каждый байт умножал на 2. Если убрать, то не будет "плавного" возврата.
$2D05: 80 06 -> 80 07. Смещение камеры относительно героя. Читать как Little-Endian, биты сдвинуты на 4 влево. Т. е. 00 00 -> 00 - герой слева рядом со стеной, поставил 80 07 -> 78 - так ближе к центру, если считать ширину экрана 248.
$2D0C: 00 02 -> 00 00. Длина промежутка между которым персонаж двигается, не изменяя камеру. Т. е. чем выше значение, тем ближе нужно подойди к краю экрана, чтобы камера начала двигаться. Значение имеет тип как $2D05 и связано с ним, нужно изменять вместе, чтобы края сдвигающие экран были симметричны.
--------
Добавил Fire & Ice по аналогии, адреса соответствуют так:
$4CBF: 29 29 29 29
$4CEB: 80 06
$4CF2: 00 02
--------
Обновил ромы, сделал установку нулей в регистр HL, чтобы убрать смещение камеры совсем, если упереться в стену это было заметно. Перед $2CD9 и $4CBF адрес для чтения в HL, заменил на адрес с нулями (на $2CD9 и $4CBF где уже есть нули).