YZB |
2006-10-18 09:04 |
EZ转的~
DC模拟器nullDC公开了最新开发进展,近期修正了mmu 和 exeption handling代码,一些WinCE例子能运行了,另外还同时发布了模拟古墓丽影的截图,各位看看吧,当然在图形模拟和速度方面还未能达到非常好的效果,期待此模拟器有新的进展. October 15th, 2006 Idąc za poddanym pomysłem założyłembloga. Blogi to nie bardzo "moja rzecz", ale lepsze to niż nic. No idarmowa strona przy okazji
W założeniu mam tu pisać o postępie prac nad projektem emulatorakonsoli Dreamcast. Nie miałem pomysłu na ładną nazwę, a katalog trzebabyło założyć, więc zostało "DCemu".
Uprzedzając kilka pytań: Nie, ani wersja skompilowana, ani tym bardziejkod źródłowy nie są publicznie dostępne. To pierwsze będzie jakemulator osiągnie stan w którym można przynajmniej spróbować odpalaćgry z obrazu/CD, to drugie pewnie nigdy nie opuści mojego PCta. Wymagania to Windows 2000 (bo takiego mam, na XP wydaje się takżedziałać) i procesor zgodny z Pentium 2. Oczywiście, cokolwiek poniżejAthlona XP to proszenie się o kłopoty Do tego DirectX 9c, sensowna karta graficzna (mam Radeona 9800XT). Niesą wymagane, póki co, shadery, ale jak karta nie umie _szybko_wykonywać operacji typu "render to target surface", albo ma problemy zdynamicznie generowanymi teksturami i konwersją między typami, tobędzie rwać. GeForce4MX 400 ma z tym problemy...
Stan emulacji na chwilę obecną:
ARM7 SPU: 5% (czytaj: praktycznie brak) SH4 CPU/rdzeń: 95% (działa, co nie znaczy że nie ma błędów) SH4 CPU/układy: 75% (na razie wystarcza, ale brak RTC, DMAC iTMU robią to co najważniejsze, SCI(F) mógłby mieć własne okno, MMU niema i raczej nie będzie, itd.) PVR2: 80% (2D: trudno to określić, bo nie wszystko działa zgodnie z oczekiwaniami) PVR2/TA: 50% (3D: TA jest emulowany i działa przez SQ i DMA,oraz zapis bezpośredni - sposób w jaki to zrobiłem nie jest idealny...może da się szybciej... no i chwilowo dopuszcza jedną teksturę tylko Maple: 80% (jako szyna danych, bo np. obsługi kart pamięci nie wtej chwili wcale, kwestia zrobienia "wtyczki" która będzie emulowałakonkretny typ urządzenia) ASIC: 80% (ponieważ jest praktycznie nierozerwalnie powiązany zPVR2, był pisany równolegle, DMA np. działa tylko do znanych urządzeń)
Rdzeń jest interpreterem, bo rekompilator nie ma obsługi FPU (tzn. ma,przez interpreter :) i poza tym wykazuje może 30% wzrost wydajności. Tojest z pewnością wina słabego rekompilatora, ale głównie tego żeinterpreter mi wyszedł bardzo udany. Niestety, oba nie radzą sobie zsamo-modyfikującym się kodem. To się da zrobić, ale to poważniespowolni emulację. Czekam z tym na jakąś motywację, np. jak się okażeże BIOS przez to dalej nie idzie, to dorobię.
Zakończyłem właśnie pewien etap prac nad obsługą kontrolerów gier(przez DirectInput) i póki co jestem z zadowolony z efektu. Oto obrazkiz tego co już można zobaczyć [attachment=43060] [attachment=43061] [attachment=43062] [attachment=43063] 可以看到有DEBUG了~ 嘿嘿~ |
|