El asMSX para las ROMs utiliza 8 KB como intervalo mínimo. Por lo tanto, si una ROM tiene más de 16384 bytes, pasará a tener automáticamente 24 KB. Es un tamaño un poco absurdo, lo sé, pero ahí está.
El problema es que necesitas, como bien dices, encontrar la segunda página. Si utilizas asMSX v.0.12e o superior, tienes una macro que lo hace sola, SEARCH. Por ejemplo:
.bios
.page 2
.rom
.start INIT
INIT:
.search
; Y aquí el resto de tu programaRespecto al tamaño, puedes forzar el tamaño que a ti te convenga más con la directiva SIZE.
Por ejemplo
.size 32asMSX es tu amigo (a veces)