Для определённости разработчики ПЗУ и ОЗУ дали ногам шин адреса и данных названия A0, A1... D0, D1...
В большинстве случаев этой условной нумерацией можно принебречь и подключать ОЗУ и ПЗУ к процессору способом наиболее удобным с точки зрения разводки печатной платы.
Тем не менее в большинстве случаев память к процессору подключают соблюдая эту условную нумерацию.
Когда мне потребовалось в первый раз дизассемблировать содержимое ПЗУ с изменённым подключением к шине,
то я написал простенькую программку, которая легко справилась с расстановкой байт и бит в считанном файле.
Когда же пришлось столкнуться с подобным во второй раз, написал программу на общий случай.
Программа пользуется текстовым файлом, в котором описан способ перестановки.
По историческим причинам данная программа написана для малой модели памяти TC 1.01.
Максимальный размер ПЗУ, с которым программа может справиться - 64кБайта.
Пример содержимого файла перестановки ног:
file tmp.bin data 0 - 7 1 - 6 2 - 5 3 - 4 4 - 3 5 - 2 6 - 1 7 - 0 addr 0 - 1 1 - 2 2 - 6 3 - 7 4 - 12 5 - 5 6 - 4 7 - 3 8 - 14 9 - 13 10 - 8 11 - 9 12 - 11 13 - 10 14 - 0 15 - 15Чтобы не усложнять процедуру считывания файла, он имеет жёстко фиксированный формат.