Hell yeah!!yeah, give us more challenge !
Old Regen pages
Moderator: AamirM
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
I can't really explain it... you access data beyond the ROM size and get the data form the ROM... that applies to ROMs that are smaller than 4MBytes. So you have 2MByte ROM, it accesses data after the 2MBytes, and it gets the data form the ROM at location : address - 2MB... I don't know if it makes any sense...
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
yes, it makes sense
so this mean that rom access should be handled like this (pseudo C code for byte access, for example):
return cart_rom[address & (rom_size-1)]
that's interesting: is it default behavior or does it need that cartridge hardware support this ? I always thought that unmapped address would return undefined data on bus
btw, how work address decoding from the cart side, does it depend on the eeproms size ? the number of eeproms ?
so this mean that rom access should be handled like this (pseudo C code for byte access, for example):
return cart_rom[address & (rom_size-1)]
that's interesting: is it default behavior or does it need that cartridge hardware support this ? I always thought that unmapped address would return undefined data on bus
btw, how work address decoding from the cart side, does it depend on the eeproms size ? the number of eeproms ?
Last edited by Eke on Fri Mar 14, 2008 6:06 pm, edited 1 time in total.
Could you write a similar program like your "emulator detector" to test this?TmEE co.(TM) wrote:I can't really explain it... you access data beyond the ROM size and get the data form the ROM... that applies to ROMs that are smaller than 4MBytes. So you have 2MByte ROM, it accesses data after the 2MBytes, and it gets the data form the ROM at location : address - 2MB... I don't know if it makes any sense...
For example, if you have CS of ROM to be active for range #0000..FFFF, but ROM has only 12 lines (A0..A11, 4096 bytes), it will be mapped in whole range, but because A12..A15 will be not connected and thus ignored, it will be 'mirrored' (repeated 16 times). It happens because of simplified decoding logic, so it not needs additional hardware (it needs additional hardware if you want to prevent mirroring).Eke wrote:that's interesting: is it default behavior or does it need that cartridge hardware support this ? I always thought that unmapped address would return undefined data on bus
It usually emulated by logical operations which mask some bits of address.
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
AND the addresses with ROM size
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
when the program accesses cart-area beyond ROM size, then just AND the address used with ROM size.
Also, you can identify emulators by running benchmarks... I made a small private proggy that tells you which emulator its running on... at least what emus I have (need to test Regen ). That you can't fool, unless your emu is PERFECT. Even Fusion fails.
Also, you can identify emulators by running benchmarks... I made a small private proggy that tells you which emulator its running on... at least what emus I have (need to test Regen ). That you can't fool, unless your emu is PERFECT. Even Fusion fails.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
68K... but I can try Z80 and YM2612 timers and busy bit... no emulator emulates them perfectly.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Sure.
Tomorrow I'll probably make another emu detector... which no emulator passes
BTW, AamirM, I noticed that your emu's screen is few pixels bigger and it causes lots of slowdown on my PC. The 320x240 screen is 320x247... can you fix it ?
Also, the YM2612 PCM/DAC is not very good too, only Fusion emulates it almost perfectly (it has one flaw).
A proggy to test PCM and a real HW recording : http://www.sega-16.com/forum/showthread.php?t=4091
Tomorrow I'll probably make another emu detector... which no emulator passes
BTW, AamirM, I noticed that your emu's screen is few pixels bigger and it causes lots of slowdown on my PC. The 320x240 screen is 320x247... can you fix it ?
Also, the YM2612 PCM/DAC is not very good too, only Fusion emulates it almost perfectly (it has one flaw).
A proggy to test PCM and a real HW recording : http://www.sega-16.com/forum/showthread.php?t=4091
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen