Simple example showing how to set up access from outside:
First some addresses (*):
/ip address
add address=192.168.0.1/24 interface=test1
add address=192.168.0.1/24 interface=test2
Routes in two different routing tables:
/ip route
add dst-address=192.168.0.0/24 gateway=test1 routing-mark=net1
add dst-address=192.168.0.0/24 gateway=test2 routing-mark=net2
Mangle rules (packets to virtual 192.168.91.x will get "net1" routing mark, and packets to virtual 192.168.92.x will get "net2" routing mark):
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address=192.168.91.0/24 new-routing-mark=net1
add action=mark-routing chain=prerouting dst-address=192.168.92.0/24 new-routing-mark=net2
Map virtual networks to real ones:
/ip firewall nat
add action=netmap chain=dstnat dst-address=192.168.91.0/24 to-addresses=192.168.0.0/24
add action=netmap chain=dstnat dst-address=192.168.92.0/24 to-addresses=192.168.0.0/24
Small fix for when this router is not default gateway for both networks:
/ip firewall nat
add action=masquerade chain=srcnat out-interface=test1
add action=masquerade chain=srcnat out-interface=test2
(*) Same address and network on two interfaces like this is of course wrong. For this example, it could be maybe a little less wrong with /32 netmask.
This example also shows only the basic idea, the RB won't work as default gateway for both subnets. It could, but it would require additional connection marking. But since I don't know how exactly is everything connected, I won't bother with that now.