Welcome, Guest. Please login or register.


Author Topic: iEP128emu (Read 61243 times)

Offline varrogy

  • User
  • *
  • Posts: 76
Re: iEP128emu
« Reply #15 on: 2012.January.18. 23:17:36 »
Itt egy nagyon kezdetleges példa program, ami betölti a "qs_ep128.dat" snapshot file-t az aktuális könyvtárból, és 10 másodpercig futtatja az emulációt. Hang és video van (Linux alatt legalábbis, más rendszeren nem teszteltem), billentyűzet kezelés nincs, nem használja a VMThread-et, és a megvalósításon sokat lehetne javítani, de talán használható minimális SDL alapú működő példának.

(Attachment Link)


Jol mukodik, koszonom a kodot, egyelore csak simulatorban tudtam kiprobalni hang is van, kep egyelore nincs mert nem sikerult teljesen portolni még a gldisp.cpp-t opengl ES-re (desktopon ahogy irtad ott megy a kep MAC-en is, de ott van sima opengl)
illetve Azon gondolkodtam, hogy mekkora melo lenne sima SDL (bitmap, Az sdl-t sajnos nem ismerem ennyire :( ) displayre ratenni a renderinget?



Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: iEP128emu
« Reply #16 on: 2012.January.19. 01:02:22 »
illetve Azon gondolkodtam, hogy mekkora melo lenne sima SDL (bitmap, Az sdl-t sajnos nem ismerem ennyire :( ) displayre ratenni a renderinget?

Az FLTK software driver alapján valószínűleg nem túl nehéz megoldani. A plus4emu forráskódjában is van egy C példa program ami a hardver emulációt DLL-ként használja, és a video, hang, és billentyűzet kezelése SDL alapú.

Offline varrogy

  • User
  • *
  • Posts: 76
Re: iEP128emu
« Reply #17 on: 2012.January.19. 14:13:00 »
Az FLTK software driver alapján valószínűleg nem túl nehéz megoldani. A plus4emu forráskódjában is van egy C példa program ami a hardver emulációt DLL-ként használja, és a video, hang, és billentyűzet kezelése SDL alapú.


Az emu library a byte order kulonbsegre mennyire erzekeny?
(korabban irtad, hogy elvileg a Z80 libraryban vannak ezek lekezelve)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: iEP128emu
« Reply #18 on: 2012.January.19. 14:55:50 »
Az emu library a byte order kulonbsegre mennyire erzekeny?
(korabban irtad, hogy elvileg a Z80 libraryban vannak ezek lekezelve)

Ha jól emlékszem, csak a Z80 kódban van ilyen probléma, amit eredetileg nem én írtam. Ezt a részt kell kiegészíteni vagy módosítani a z80.hpp file-ban:
Code: C++
  1. #ifndef CPC_LSB_FIRST
  2. #  if defined(__i386__) || defined(__x86_64__) || defined(WIN32)
  3. #    define CPC_LSB_FIRST 1
  4. #  endif
  5. #endif

Offline varrogy

  • User
  • *
  • Posts: 76
Re: iEP128emu
« Reply #19 on: 2012.January.19. 23:20:54 »
Ha jól emlékszem, csak a Z80 kódban van ilyen probléma, amit eredetileg nem én írtam. Ezt a részt kell kiegészíteni vagy módosítani a z80.hpp file-ban:
Code: C++
  1. #ifndef CPC_LSB_FIRST
  2. #  if defined(__i386__) || defined(__x86_64__) || defined(WIN32)
  3. #    define CPC_LSB_FIRST 1
  4. #  endif
  5. #endif


Aha köszi megvan, megy iOS-en is de a sebesség sajnos nagyon lassú :(
iPhone 3G-n kvázi "NULL" displayyel is (kikommentezem a opengl renderinget) akadozik a hanglejátszás.
iPad-on kicsit jobb a helyzet, de igazából még az is nagyon lassú. viszont ott jóval nagyobb a felbontás (1024x768) :(
iOS Simulátorban megy jól (de az i7-es) ;)
Valószínűleg az SDL megeszi az erőforrást :(


Offline varrogy

  • User
  • *
  • Posts: 76
Re: iEP128emu
« Reply #20 on: 2012.January.20. 09:29:24 »
Valószínűleg az SDL megeszi az erőforrást :(

Letöltöttem spectrum, meg c64 emu-t iphonera,
azok mennek jól a régi 3G-s iPhoneon is.
Nemtudom, hogy azok sdl-t használnak-e vagy valami más megjelenítöt és hanglejátszót.
Esetleg az ep128emu-n az idözítéseket, precizitását lehet paraméterezni?
Esetleg más ötlet a sebesség kérdésre?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: iEP128emu
« Reply #21 on: 2012.January.20. 09:34:31 »
Én csak ámulva nézem mikrõl csevegtek itt, ez nekem teljesen kínai  :oops: :oops: :oops: de remélem lesz belõle valami, egy jobb fajta Android telefonon billentyû is akad bõven!  :ds_icon_cheesygrin:

(Egy ici-pici apróság: ezzel a javítással nem tudna fordítani valaki egy hagyományos Windowsos EXE-t?)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: iEP128emu
« Reply #22 on: 2012.January.20. 11:25:06 »
(Egy ici-pici apróság: ezzel a javítással nem tudna fordítani valaki egy hagyományos Windowsos EXE-t?)

Van még egy javítandó hiba: CPC emulációnál a teljes képernyős mód állítgatása után eltűnnek a floppy LED-ek. Ez szintén egy soros módosítással javítható.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: iEP128emu
« Reply #23 on: 2012.January.20. 11:30:11 »
Esetleg az ep128emu-n az idözítéseket, precizitását lehet paraméterezni?
Esetleg más ötlet a sebesség kérdésre?

Érdemes lenne megnézni hang nélkül, hogy ha csak a hardver emuláció fut, akkor milyen sebesség érhető el. Az időzítéseken nem sokat lehet változtatni, esetleg EP-nél ki lehet kapcsolni a memória időzítés emulációját és a Z80 órajelet csökkenteni, de ez rontja a kompatibilitást, és nem sokat gyorsít. A hang konverziót viszont érdemes alacsony minőségűre állítani, bár ha jól látom, a vm.cpp-ben ez az alapértelmezés.

Offline varrogy

  • User
  • *
  • Posts: 76
Re: iEP128emu
« Reply #24 on: 2012.January.20. 12:43:06 »
Érdemes lenne megnézni hang nélkül, hogy ha csak a hardver emuláció fut, akkor milyen sebesség érhető el. Az időzítéseken nem sokat lehet változtatni, esetleg EP-nél ki lehet kapcsolni a memória időzítés emulációját és a Z80 órajelet csökkenteni, de ez rontja a kompatibilitást, és nem sokat gyorsít. A hang konverziót viszont érdemes alacsony minőségűre állítani, bár ha jól látom, a vm.cpp-ben ez az alapértelmezés.

Ok, ránézek aztán írok majd,
ha jól értem akkor a hang driver lassítja valós sebességre az emulációt.
Ha csinálok egy NULL drivert akkor elméletileg az elérhető maximum sebességgel fog futni az emuláció?

OFF:
Processzorok

iPhone, iPhone 3G   
620 MHz (412 MHz-re lassítva) armv6

iPhone 3GS   
833 MHz (600 MHz-re lassítva) armv7

iPhone 4, iPhone 4S
1 GHz (800 MHz-re lassítva) armv7

iPad1
1 GHz armv7

iPad2
1 GHz (dual core) armv7

Offline varrogy

  • User
  • *
  • Posts: 76
Re: iEP128emu
« Reply #25 on: 2012.January.20. 13:01:42 »

(Egy ici-pici apróság: ezzel a javítással nem tudna fordítani valaki egy hagyományos Windowsos EXE-t?)


Sajnos nincs windowsom :(

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: iEP128emu
« Reply #26 on: 2012.January.20. 13:08:13 »
Ha csinálok egy NULL drivert akkor elméletileg az elérhető maximum sebességgel fog futni az emuláció?

Igen, de a meglevő driverrel is egyszerűen letiltható a hang az Ep128Emu::VirtualMachine::setEnableAudioOutput(bool) függvény használatával. Ez még a konverziót is kikapcsolja, ami további gyorsulást eredményez.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: iEP128emu
« Reply #27 on: 2012.January.20. 13:10:38 »
Sajnos nincs windowsom :(

Esetleg készíthetek egy 2.0.9.2 verziót, ha van még más javítandó probléma (csak ezért a két kisebb hibáért talán nem érdemes kiadni).

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: iEP128emu
« Reply #28 on: 2012.January.20. 13:12:37 »
iPhone 4, iPhone 4S
1 GHz (800 MHz-re lassítva) armv7

iPad1
1 GHz armv7

iPad2
1 GHz (dual core) armv7

Ezek ugyan nem tűnnek rossznak, de nem tudom, milyen órajelű x86 (pl. Pentium III) processzornak felelnek meg :oops:

Offline Ep128

  • EP addict
  • *
  • Posts: 1858
  • Country: hu
    • Honlapom
Re: iEP128emu
« Reply #29 on: 2012.January.20. 17:33:01 »
(... én meg itt már tûkön ülök szép csöndben, mert ugyan hozzászólni egy mukkot sem tudok, de évek óta iPhone -om van és álmodozom az "ottani" EMU -ról... :-) Még hang nélkül is eszelõs poén volna! (Persze hanggal pláne... :-) )