aby moc cokolwiek emulowac trzeba zagwarantowac temu czemus odpowiednie wirtualne srodowisko, czyli zagwarantowac banki pamieci, przerwania sprzetu oraz mozliwosc wykonywania kodu maszynowego konkretnego mikroprocesora.
implementacja pamieci jest wmiare prosta wystarczy kilka stert pamieci procesu, ekran lcd o konkretnej rozdzielczosci tez latwo wyemulowac w dx3d lub nawet w winapi / opengl, matryca bajtowa, kazdy element na konkretny pixel ekranu lcd.
warto znac dxplay i dxsound aby zagwarantowac dzwiek jak i lacznosc kontrolerow.
jesli zagwarantuje sie srodowisko to wczytujesz plik rom ktory jest binarnym programem, wykonujesz opcody kodu maszynowego w emulatorze procesora i tak gra sie juz sama kreci.
tutaj masz mala broszure jak sie kreci taka konsola:
http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf
trudne to jest zajecie, warto miec tytul inzynierski w elektronice bo sama informatyka moze nie starczyc. zobacz w te zrodla sa bardzo obrazowe:
http://sourceforge.net/projects/cingb/files/