1231
Ромхакинг и программирование / Re: Вопрос для программистов разбирающихся в эмуляции
« : 25 Сентябрь 2009, 01:00:40 »
Почему они так делают - спрашивай у авторов. В случае НЕС можно было бы предположить, что это сделано для облегчения банкования... не знаю, но раз для Z80 такое написано, то непонятно.
Примеры:
address = 0x2345
0x2345 >> 12 = 0x0002 (старшие 4 бита)
0x2345 & 0x0FFF = 0x0345 (младшие 12 бит)
Это стандартные приёмы в двоичной арифметике.
return memory_mapped[address>>12][address&0x0FFF];
превращается в
return memory_mapped[0x0002][0x0345];
или для удобства
return memory_mapped[2][345];
Примеры:
address = 0x2345
0x2345 >> 12 = 0x0002 (старшие 4 бита)
0x2345 & 0x0FFF = 0x0345 (младшие 12 бит)
Это стандартные приёмы в двоичной арифметике.
return memory_mapped[address>>12][address&0x0FFF];
превращается в
return memory_mapped[0x0002][0x0345];
или для удобства
return memory_mapped[2][345];


, могли бы и покачественней сделать, цветов побольше и музыку получше.


. У меня была старая китайская МД2, потом появились симбовские МД2 и денди, потом появились МД1. Везде разъём и полярность совпадали, и я думал, что это "стандарт" (включая дендик), так и должно быть, т.е. у МД2 разъём 2.1-.
не знаю такого