Most vagy en nem ertem, vagy te - de inkabb en nem
Mindenesetre nekem ez igy sehogy sem all ossze. Pont az a baj (nem csak Xep128-nal, pl Xemu-ban a C65 meg az M65 emulatorommal is) hogy barmi disk emunal nagyon durvan elszall a CPU hasznalat. Az oka az, hogy bar az emulalt CPU szempontjabol eltelt annyi orajelciklus amit igenybe vesz a kerdeses muvelet elkuldese a hw fele (ami ha opcode szintjen nezzuk, akkor maga az opcode vegrehajtasi ideje, ha viszont "sub opcode szinten" akkor kvazi nulla, mert ha a kerdeses opcode pl memoriat irna akkor is ugyanannyi lenne), ugyanakkor jelentos overhead van ehhez kepest, mivel van egy-ket libc/syscall is kozben. Viszont ugye az emulator idozitese azt szamolja, hogy hany emulalt orajelciklus telt el. Ha most mondjuk egy viszonylag szuk ciklusban csinalgat ilyeneket, akkor akar minden X.-edik opcode-nal is a PC jelentos hatranyban van az EP-hez kepest, mert ugye ott a szokasos hw emulaciohoz kepest meg ott az is, hogy file I/O-t is kell csinalnia. Na, a lenyeg az, hogy Xep128-ba es Xemu-ban tobb kulonbozo emulatoromban is ez komoly gond. Pl M65 emulator ezert nem is mukodik, mert az I/O total lefogja (3.5Mhz emulalt 65CE02 eseten ugy 30-40% SD-vel valo bizeralas, 10% ha nem, marmint a CPU hasznalat a futtato Linux-on - ha szendekosan lentebb viszem az emulalt CPU orajelet akkor kvazi alig lesz kulonbseg, mert tobb iro marad mindenre). Ha kikapcsolom akkor jo
Ott valoszinu megis tobbszalas lesz, vagy valami emulalt busy-val lesz megoldva, hogy ne flood-olja ugymond az emulatort (igaz, az M65 gyorsabb mint az EP, szoval ez azert nem teljesen ugyanaz a tema).
Xep128/EP eseten amugy a dolog nem annyira veszes, de pl pont ep128emu kapcsan, amikor csinaltam a ganyolast, ott nagyon lefogta, amig fread()-et hasznaltam, toredekere esett a cpu fogyasztas, ahogy attertem a read()re ... Ha jol remlik windows verzio alatt (IGAZ, a windows verziot wine-al tudtam csak kiprobalni). Azert erdemes lenne megnezni, hogy valtozik az emulator CPU fogyasztasa intenziv image emulalt I/O eseten, ep128emu-t (a fenti halvany emleken kivul) nem neztem, Xep128 es Xemu eseten is eleg jelentos elteres van/volt.
A debug printf
az nem emlekszem hol/mikor volt, es mikor nem
de alapbol mintha nem lenne engedelyezve, de lehet, hogy tevedek (ha ugy felejtettem a DEBUG_SDEXT-et akkor tenyleg volt, de amikor neztem en, akkor persze kikapcsoltam, mert az tenyleg zavaro, foleg, ha kozben ugye szegeny gep CPU ideje arra megy el, hogy a kismillio printf output-jat a terminal ablakba szeeeeep fontokkal lerenderelje ...).