Welcome, Guest. Please login or register.


Author Topic: EP128emu (Read 400625 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #120 on: 2013.April.07. 16:03:40 »
Hamarosan készítek egy rövid leírást, hogyan kell Windowson lefordítani az emulátort (az installer .exe készítését is). Linuxon egyszerűbb, mert a disztribúciókban általában megtalálható minden, amire a fordításhoz szükség van.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #121 on: 2013.April.07. 17:46:11 »
A fordításhoz szükséges csomagok Windowson:
1. MinGW + FLTK + libsndfile + portaudio + SDL + lua + dotconf + OpenGL (ezt célszerű a C:\ könyvtárban kicsomagolni, hogy a gcc például C:\MinGW\bin\gcc.exe legyen). A libsndfile, portaudio, SDL, lua, és dotconf meglehetősen régi ebben a csomagban, de működik, és a 2.0.9.1 installerbe is ezek kerültek :) A MinGW és FLTK azonban újabb, és az új C++ fordító egyben kis mértékű gyorsulást is eredményez a korábban kiadott verzióhoz képest
2. Python 2.7.4 (az SCons futtatásához)
3. SCons 2.3.0
4. NSIS 2.46 (opcionális, csak installer készítéséhez)

Szerk.: a GitHub verzióhoz újabb fordító csomagok találhatók itt.

A PATH környezeti változóhoz ezeket a könyvtárakat kell hozzáadni (természetesen az útvonalakat módosítva, ha szükséges):

C:\MinGW\bin
C:\Python27
C:\Python27\Scripts
C:\Program Files\NSIS    (opcionális)

Ezek után következhet a fordítás :) Az SConstruct file-ban a win32CrossCompile változót 1-re kell állítani, és a "wine " összes előfordulását törölni (tehát például "wine C:/MinGW/bin/gcc.exe" helyett csak "C:/MinGW/bin/gcc.exe" legyen, feltéve, hogy a MinGW a fent ajánlott könyvtárba került). Az emulátor 2.0.9.1 verziójának kiadása óta megtalált néhány kisebb hiba is javítható, ezek valahol megtalálhatók a fórumon a régi hozzászólások között. Lehet kísérletezni az optimalizálási paraméterekkel is, a "Pentium III" csomagba például ezek kerültek (a változásokat kiemeltem):

compilerFlags = ''
if buildRelease:
    if linux32CrossCompile or win32CrossCompile:
        compilerFlags = ' -march=pentium2 -mtune=pentium3 '
if enableDebug and not buildRelease:
    compilerFlags = ' -Wno-long-long -Wshadow -Winline -g -O2 ' + compilerFlags
    compilerFlags = ' -Wall -W -ansi -pedantic ' + compilerFlags
else:
    compilerFlags = ' -Wall -O3 -ftracer ' + compilerFlags
    compilerFlags = compilerFlags + ' -fno-inline-functions -frename-registers '
    compilerFlags = compilerFlags + ' -fweb -fomit-frame-pointer -ffast-math '


Debug verzióhoz azonban célszerű "enableDebug = 1" és "buildRelease = 0" beállításokat használni, illetve törölni az "-ansi" fordító paramétert, ami az új GCC verzióval hibát okoz. De a MinGW csomagomban található GDB nem működik :oops:, a használatához további DLL file-okat kell letölteni (libiconv, libintl, és libexpat - elég csak a legtöbbet letöltött csomag mindegyiknél :)).

A fordítás egyszerű scons paranccsal történik; elvileg használható a -j N paraméter a párhuzamos fordításra, ahol N a párhuzamosan futtatandó fordító parancsok száma. Ez gyorsabb több magos processzorokon, de a megbízható működéséhez telepíteni kell a pywin32 Python bővítést is. Az scons -c parancs törli a fordítás során létrejött file-okat, de a következők csak manuálisan törölhetők: .sconf_temp, .sconsign.dblite, és config.log.
Ha nincs hiba a fordítás során, akkor már futtatható az ep128emu.exe, de a strip *.exe paranccsal még törölhető a debug információ a programokból, ha nincs rá szükség (így valamivel kisebbek lesznek a file-ok).

Installer készítéséhez az installer könyvtárban az alábbi parancs használható:
makensis ep128emu.nsi
természetesen ha a makensis.exe elérési útvonala nem került a PATH környezeti változóba, akkor azt is meg kell adni.
« Last Edit: 2016.September.09. 22:37:06 by IstvanV »

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: EP128emu
« Reply #122 on: 2013.April.07. 17:53:52 »
Kulsag, esetleg azt is leirhatnad, hogy linux- on hogyan modosul mindez ?

Gondolom egyszerubb is, meg lehetne csak a kulonbsegeket leirni.

Itt lenne egy helyen akkor mindketto, meg mostmar felraktam egy ubuntut, sztm semmikepp sem art ha ide van irva ...
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14738
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #123 on: 2013.April.07. 18:00:07 »
Quote from: IstvanV
Az emulátor 2.0.9.1 verziójának kiadása óta megtalált néhány kisebb hiba is javítható, ezek valahol megtalálhatók a fórumon a régi hozzászólások között.
Nálam ezek a fájlok lettek módosítva.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: EP128emu
« Reply #124 on: 2013.April.07. 18:03:20 »
Tenyleg, ezek hogyhogy nincsenek visszarakva a kodbazisba ?

Kene valami kontribucios rendszer, amit idonkent istvan jovahagyna, berakna a kodbazisba... nem ?

Vagy hogy fog bekerulni a final cuccba mondjuk az, amit zozo most felrakott ?
Z80 System

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #125 on: 2013.April.07. 18:04:19 »
Quote from: Z80System
Kulsag, esetleg azt is leirhatnad, hogy linux- on hogyan modosul mindez ?
Ott egyszerűen telepíteni kell a disztribúció csomagjai közül az emulátor függőségeit (SCons, Python - az SCons-hoz, libsndfile, portaudio, FLTK, OpenGL, Lua, SDL, és dotconf). Az FLTK esetében figyelni kell arra, hogy --enable-threads paraméterrel legyen fordítva, ez csak az újabb (1.3.x) verzióknál alapértelmezett. Amit a disztribúció nem tartalmaz (vagy nem használható), azt le kell fordítani, és vagy telepíteni, vagy - statikus (.a) libraryt fordítva - az emulátor forrás könyvtárába másolni.
A fordítás Linuxon is scons paranccsal történik, azonban szükség lehet az SConstruct módosítására fordítási hibák esetén, a különböző GCC verziók, Linux disztribúciók, stb. inkompatibilitása miatt. Ha ilyen hiba fordul elő, azt célszerű jelezni a fórumon.
« Last Edit: 2013.April.07. 18:08:20 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #126 on: 2013.April.07. 18:10:37 »
Quote from: Z80System
Kene valami kontribucios rendszer, amit idonkent istvan jovahagyna, berakna a kodbazisba... nem ?
Ha valaki fejleszteni szeretné az emulátort, annak engedélyezni lehetne a SorceForge-on SVN hozzáférést, de akár letölthető file-ok kiadását is.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: EP128emu
« Reply #127 on: 2013.April.07. 18:16:56 »
Hat az svn hasznalat nyilvan kenyelmes meg jo lenne, de az jo, ha mindenki elkezdi kommittalgatni a "nagy nehezen" osszerakott dolgaidat ?

Csak ugy kene, hogy te nyomd ra a kommittot, nem ? Meg ha csak a trunk- ot kommittalgatjak masok, akkor is ossze tudjuk egymasnak ugy kavarni, hogy aztan mar senki nem ert semmit a vegere ... nem ?

Persze meg lehet probalni ... ha nem lesznek "tomegek", vagy direkt trollok, lehet mukodhet ...
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: EP128emu
« Reply #128 on: 2013.April.07. 18:27:03 »
Meg hat valahol ficsorok szintjen is ...

En pld. most szeretnek egy plussz menupontot a felbontas menube, a meglevo harmom menupont melle (1X, 2X, 3X -os pixelmeret) szeretnek egy 4X -es opciot is ... mert 1900X1200- ra kifer, es zavarni meg gondolom senkit nem zavar, legfeljebb majd nem valsztja ... Ezek a fix egesz szammal tobbszorozo felbontasok meg kellenek ahhoz, hogy minden pixel sor es oszlop ugyanakkora es negyzet legyen.

Szal egy ilyen ficsorrel gondolom nincs gaz, de egy masik mar siman lehet, hogy csak egyeni igeny, es masokat zavar, osszekever, idegesit ...

Vagy nem passzol a koncepcioba ...

Vagy akarmi ...

Ha azt barki csak ugy berakja, akkor a kovetkezo build- ban benne lesz ... mindenki megkapja ...
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14738
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #129 on: 2013.April.07. 18:47:04 »
Erre a floppys problémára nincs valakinek ötlete?
Nem biztos, de lehet, hogy azért nem megy az írás, mert valami "manifest" nevű dolog is kéne az EXE-hez az újabb Windowsok alatt?

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: EP128emu
« Reply #130 on: 2013.April.07. 18:53:45 »
Image- ekbe sem, vagy csak fizikai lemeznel van ?
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14738
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #131 on: 2013.April.07. 18:59:22 »
Quote from: Z80System
Image- ekbe sem, vagy csak fizikai lemeznel van ?
Csak a fizikainál, de gyakorlatilag az is fájlként van kezelve, \\.\A: speciális névvel. Valahol írta is István, hogy mi is ez a trükk :oops:

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14738
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #132 on: 2013.April.07. 19:05:07 »
És mint írtam, nem csak az ep128emu-nak nem sikerül a lemezre írás Windows 7 alatt, pl a Winimage, vagy az azzal készült önkicsomagoló lemezképek se működtek, csak abból már kiadtak új verziót, ami már Win 7 kompatibilis.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: EP128emu
« Reply #133 on: 2013.April.07. 19:33:50 »
Nincs valami jellemzo hiabauzenet ? Nem ir ki semmit ? Elszall ? Siman csak nem mukodik ? Mit csinal ? Nincs floppy a gepembe ...
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14738
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #134 on: 2013.April.07. 19:45:36 »
Quote from: Z80System
Nincs valami jellemzo hiabauzenet ? Nem ir ki semmit ? Elszall ? Siman csak nem mukodik ? Mit csinal ? Nincs floppy a gepembe ...
Semmi hibaüzenet nincs, egyszerűen csak nem ír rá a lemezre. Amíg az EXDOS puffere emlékszik, addig észre se veszed, csak mondjuk egy reset után már nincs ott a kimentett fájl.
Egyébként image fájlból meghajtót csináló programmal előállított A/B meghajtón is ugyanez a helyzet.