Od jakiegoś czasu zgłębiam wiedzę odnośnie działania i tworzenia emulatorów konsol do gier. Dostępnych informacji na ten temat jest całkiem sporo, ale oczywiście większość z nich jest pod kątem C/C++.
Interesuje mnie kwestia pisania takich emulatorów w Javie. Wiem, że to zupełnie możliwe, ale osobiście nie widziałem nigdy emulatora w tym języku, który byłby pod konsole mocniejsze niż PS1 (widziałem jeden pod N64 z 2009, ale to był jeden jedyny, a emulacja N64 ogółem jest naprawdę trudna i do dziś mocno wadliwa, więc tamten to był najprawdopodobniej proof of concept). Były też jakieś próby z PS2 i coś tam im się udawało, ale nie był to tak naprawdę funkcjonalny emulator. Oczywiście wiem, że takie rzeczy jak Dolphiny i inne Cemu to naprawdę skomplikowane projekty, więc przyczyn niepowodzeń może być bardzo wiele - techniczne to tylko jedna z kategorii.
Problem z emulatorami opartymi o Javę jest taki, że większość z nich jest potwornie stara lub/i praca nad nimi została przerwana w trakcie. Większość z nich ma stosunkowo niskie accuracy, o bugach już nie wspominając. Dokumentacji i ogólem informacji na ich temat jest bardzo mało.
Czy ktoś z Was ma wiedzę na temat pisania tego typu oprogramowania w Javie lub w innych językach? Czy używając najnowszych JVM można się jakkolwiek zbliżać wydajnością do dobrze napisanych emulatorów w C/C++? Jeśli nie, to jakiego kalibru różnicy byście się spodziewali? Czy oprócz tego są jakieś inne poważne konsekwencje wyboru tego typu niestandardowego języka w takim projekcie?
Interesuje mnie praktycznie wszystko na ten temat, więc każda informacja będzie mile widziana.