[#144]
Re: 68060 aliexpress ponad 4tyś szt mają - co sądzicie?
@michal_zukowski,
post #143
Normalny emulator FPU to nie ma szans, nawet najlepszy, jesli FPU jest uzywane w petli. Za duzo czasu CPU zuzywa obsluga przerwania linii F (bodaj to jest paredziesiat cykli 68060) oraz rozpoznanie jaka instrukcja je wywoluje. Rozpoznawanie instrukcji FPU mozna by pominac jakby bylo bardzo duzo pamieci, tu chodzi o setki megabajtow, zalezy jak szybkie mialo by to byc, im szybsze tym wiecej pamieci potrzeba, choc moglaby to byc pamiec od adresu 2GB wzwyz, czyli ta ujemna, nieobslugiwana przez Amiga OS na razie. Ale nie ma na razie takich kart turbo, ktore by taka pamiec obslugiwaly. A na WinUAE to taka emulacja nie jest potrzebna. Chyba, ze do testow emulatora.
Jedyne sensowne wyjscie jak dla mnie to zrobic emulator w stylu OxyPatchera. O ile zrozumialem dobrze zasade jego dzialania to przy pierwszym wywolaniu instrukcji FPU, jest wywolywane normalnie przerwanie linii F, instrukcja jest rozpoznawana i obslugiwana, a kod programu jest modyfikowany/patchowany na jsr adres albo jmp adres do procedury obslugujacej konkretna instrukcje FPU. Tak, ze przy nastepnym wywolaniu tej samej instrukcji FPU w programie, dziala ona bardzo szybko. W zasadzie to jak by byla inline w kodzie, jedynie jmp i rts spowalniaja minimalnie.