let us say:
sep #$20
lda $7Fd5
cmp #$20
beq lorom_slow
cmp #$30
beq lorom_fast
cmp #$32
beq 12mbit_rom
bne check_hirom
check_hirom:
lda $ffd5
cmp #$21
beq hirom_slow
cmp #$31
beq hirom_fast
cmp #$35
beq exhirom_fast
cmp #$25
beq exhirom_slow
If the randomly Lorom match bytes Hirom?
Then it will be a error. Or make a check on the size of the ROM, sram size, type, and more?