Guyver(X.B.M.), ты разделяешь строки по 0х00, а они не разделяются по нулю, они вообще вроде как никаким кодом не разделяются, как до текста могут быть любые коды, так и после текста могут быть любые коды
В блоках с текстом, если внимательно посмотреть, есть пара байт, отвечающих за окончание строки (0500h). Игре ведь надо как-то понимать, когда закончить работу с текущим блоком и начать оную со следующим. Да и как вставлять без кода окончания строки? Это же строка на строку залезать будет. Кроме того, текст надо вставлять с системными кодами, иначе придётся втискиваться в отведённое для текста место и не байтом больше (такое себе решение). Поэтому следует по максимуму выяснить какие системные коды (какой они длины) за что отвечают и сделать их в форме тегов. Например перед текстом идёт 3 байта, отвечающие за вид портрета персонажа текущей реплики. Их можно пометить в духе
{IMG_ХХ}, иксы - это порядковый номер портрета. Таким образом теги будут визуально отделяться от текста реплики и будет чётко видно что за чем идёт.