Как реализовывать .org стало ясно, но вот вместе с .bank происходят странные вещи. Вот например, в типичном примере игры на NES есть строчки:
и далее начинается резервирование данных.
Проблемы тут сразу две:
Во-первых, данные, следующие ниже, имеют совершенно иные адреса в коде, $0210, например.
Во-вторых, вот этот $E000 - очень странный адрес. В доках к транслятору сказано:
Но! 8кб заканчивается на $2000, т.е .bank 2 должен быть в адресах $4000-$6000, а если счётчик начинается с нуля, то $E000 всё равно больше 8кб.
В одном туториале нашёл такое:
Но даже в случае, если каждый банк имеет размер 32кб, а адресация, вероятно, идёт с нуля, всё равно не сходится: $E000 ведь больше, чем 32кб. А если счётчик идёт не с нуля, то нулевой банк должен заканчиваться на $8000, а вот первый уже выходит за границы памяти - $10000.
Кажется, я упускаю что-то очень простое, но при этом очень важное