I was reading that r4300i rev 0.3 pdf to make the tlb emulation... when I was doing that funtion that compares vpn to translate virt-phis address, I got two questions that are poorly explained there:
when comparing the vpn's, how can I compare a 19-bit number (vpn2 on tlb) with a number that may have 7-19bits (depending of the pagemask). I mean, if the page mask is 1111 1111 1111b the vpn2 on virtual address has 7 bits... how will I compare, using the highest 7bits of the vpn on the tlb entry or the lowest 7 bits?
when I get the physical address properly translated, am I supposed to use it with that memory map provided by the n64 opcodes 1.1 doc? I mean, the adresses there are virtual or physical?
whats the maximum of computer memory used to emulate the n64 memory map?
the last question is:
do I HAVE to emulate tlb, since the full memory map of n64 is known?
when comparing the vpn's, how can I compare a 19-bit number (vpn2 on tlb) with a number that may have 7-19bits (depending of the pagemask). I mean, if the page mask is 1111 1111 1111b the vpn2 on virtual address has 7 bits... how will I compare, using the highest 7bits of the vpn on the tlb entry or the lowest 7 bits?
when I get the physical address properly translated, am I supposed to use it with that memory map provided by the n64 opcodes 1.1 doc? I mean, the adresses there are virtual or physical?
whats the maximum of computer memory used to emulate the n64 memory map?
the last question is:
do I HAVE to emulate tlb, since the full memory map of n64 is known?
Last edited: