Welcome, Guest. Please login or register.


Author Topic: EP128emu (Read 399068 times)

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #480 on: 2016.August.01. 08:40:19 »
És működik az ep128emu csomagom az fltk-1.3.2 -vel.
:)

http://ubk.hu/forum/showthread.php?tid=8&pid=3212#pid3212
« Last Edit: 2016.August.01. 09:11:42 by Attus »

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #481 on: 2016.August.01. 09:07:07 »
Persze még előtte lehet, hogy átállok a github forrására, hisz jobb, ha a forrásba már be vannak emelve a legújabb foltok és nem helyben kell barkácsolni.
Csak ki tudja, hogy melyik a stabilabban megmaradó forrás? A forráskovács, vagy a github?

Hat, hacsak IstvanV nem akar SF-en barkacsolni, az gondolom marad olyan, mint eddig. Github-on meg kene nezni, hogy most minden benne van-e kb, amit eddig szeretett volna a "nep". Aztan elnevezni Istvan utmutatasi :) alapjan 2.0.10-nek. Onnantol kezdve lehet ra csinalni pl egy release tag-et, es azt lekerni, mint "stable" verzio, ha esetleg ahhoz kepest lenne valtozas benne, akkor is az marad az, mint "stable".
« Last Edit: 2016.August.01. 09:15:47 by lgb »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #482 on: 2016.August.01. 09:35:21 »
Egyelőre forkoltalak (rettenetes szókreálmány), hogy meglegyen legalább újabb példányban.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14731
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #483 on: 2016.August.01. 10:03:25 »
Esetleg 2.0.10 ? 2.1-hez kellene valamilyen új feature is. :)
Új feature mehet 2.2-be :-)
2.1 az olyan szépen rímelne a gyári EXOS és BASIC verziókra :ds_icon_cheesygrin:

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #484 on: 2016.August.01. 10:14:00 »
Sorolom is rögtön, a szembeszökő hiányokról az észrevételeimet.

Semmi linux installálási rész nincs most még a forrástömegben. Ez bizony hiányosság egy új release előtt és szerintem pótolandó.
Jó, hogy a scons -al fordít, ezt értem, hisz windózra is könnyű vele.

Én a sima configure/make párosokhoz vagyok szokva (meg újabban a cmake és qmake cuccokhoz), csak 6 csomagunk van, ami scons -t használ a fordításhoz az eddig mindegy 4500 UHU csomagból.

Én is "kézzel-lábbal" vagyok kénytelen installálni az ep128emu cuccait a fordítás után, nem a make install -al. Az installáló szkript most ilyen: Az (UB_INSTALLDIR a chroot installálási célmappája)

Code: [Select]
#!/bin/sh -eux

celdir="$UB_INSTALLDIR"/usr/share/ep128/
install -d -m 0775 "$celdir"/roms  "$celdir"/disk "$celdir"/config
mv ep128emu_roms.bin roms/
cp ep128emu  tapeedit "$UB_INSTALLDIR"/usr/bin
cp -r roms  config disk "$celdir"
cp makecfg "$celdir"/makecfg.bin
usrbin="$UB_INSTALLDIR"/usr/bin/makecfg
bashstr='#!/bin/bash
if test ! -d ~/.ep128emu/roms
then
mkdir -p ~/.ep128emu/roms
cp /usr/share/ep128/roms/ep128emu_roms.bin ~/.ep128emu/roms
fi
/usr/share/ep128/makecfg.bin'
# bash indító
for sorok in "$bashstr"
 do
 echo "$sorok" >"$usrbin"
 done
chmod +x "$usrbin"

Továbbá a programindító desktop fájlokat is magam készítettem az egyes funkciókhóz, melyeket a csomaghoz a fordítás után és az összerámolás előtt külön csatolok, hogy a menüből akár a cpc, akár a spectrum rész is indítható legyen.
https://github.com/uhulinux/ub-3/tree/master/ep128emu/addons/usr/share/applications.
Ha ezek is benne lennének a forrásban, akkor onnan lehetne lekapni őket és belerámolni a csomagba. És nem csak UHU csomagba, hanem akár UBUNTU deb csomagba is!
Ezek valamennyien hiányoznak, és szerintem bármely linux disztrónál hasznosíthatók lehetnének.


A rettenes windózos ico fájlokat is átkonvertáltam a linuxban szokott png formátumra és szintén utólag csapom bele a csomagba őket, hogy ikonosak legyen a menüpontjaim bármely DE alatt.
https://github.com/uhulinux/ub-3/tree/master/ep128emu/addons/usr/share/pixmaps

Ezt persze installálásnál is megtehetném az imagemagick convert parancsát használva, de nem lenne egyszerűbb, ha ezek is elérhetők lennének a forrásból?

Az már a non plus ultra ketegória lenne, ha ezeket a forrásba majd belekerülő linuxos installáló tenné meg helyettem, melynek a DESTDIR változóval megadhatnák egy tetszőleges célterületet.

Egyelőre nnyi.

Ja, a d718984 committal leszedett githubos forrás is szépen lefordul nálam.
« Last Edit: 2016.August.01. 10:37:39 by Attus »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #485 on: 2016.August.01. 10:50:47 »
LGB!
Kaptál egy PR-t!
;-)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #486 on: 2016.August.01. 11:08:59 »
LGB!
Kaptál egy PR-t!
;-)

Nocsak, egy pull request-re gondolsz? PR alapjan legalabbis feltetelezem, hogy ennek a roviditese. Olyat sem kaptam meg soha :D

UPDATE: comment-altam a pull request-et. Ugysem hasznaltam meg ilyen funkciot github-on, eddig legalabbis :-P
« Last Edit: 2016.August.01. 11:20:24 by lgb »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #487 on: 2016.August.01. 14:54:57 »
Csináltam egy issues -t is, hogy legyen min elmélkedni!
https://github.com/lgblgblgb/ep128emu/issues/3
:razz:

Továbbá valaha csináltam a lemezkezeléshez egy kis segítséget linux alá magyar nyelven, melyet a csomagjainkoz csatoltam.
Talán ezt is be lehetne emelni az ep128emu github forrásába, hogy veszendőbe ne menjen, vagy másutt is használható legyen.
De gőzöm sincs, hogy hol lehetne a célszerű helye a forrástömegben.
https://raw.githubusercontent.com/uhulinux/ub-3/master/ep128emu/addons/usr/share/doc/Packages/ep128emu/lemezek.hlp
« Last Edit: 2016.August.01. 15:13:10 by Attus »

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #488 on: 2016.August.01. 17:50:32 »
Hat. Oszinten, ertem en, hogy jo az SConstruct. Meg latom, hogy python, meg stb, en eleg sokat Python-oztam. De valahogy megis ugy erzem, hogy egy tisztan Makefile-os dologra gyorsabb lenn lecserelni :D Mert hat lusta vagyok megtanulni megint egy uj dolgot :) Aztan szoba kerult meg a Cmake, hat meg egy uj dolog ... Jelenleg is beleganyoltam ugye egy Makefile-t ami csak "hivja" az scons-t kb. Kerdes, hogy abba keruljon-e bele install akarmi, vagy inkabb legyen tisztan nullarol sima Makefile. *Szamomra* ez utobi azert celravezetobb, mert lehetne normalis cross compile win-re, mindenfele wine es egyeb trukk nelkul. Bar ez scons-al is lehetne persze, sot abba lehetne akar install is, mint mondtam, ebben nincs tapasztalatom. Ettol persze, ha valaki megcsinalja, legyen, vegulis nem az en project-em, nem akarom en "kisajatitani" vagy barmi, mielott barki rosszra gondolna :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #489 on: 2016.August.01. 17:56:49 »
Az install funkció megvalósítható az SConstruct-ban is, erre egy egyszerű példa (a file végén):

Code: [Select]
if not win32CrossCompile:
    instDir = os.environ["HOME"] + "/bin"
    ep128emuEnvironment.Install(instDir, [ep128emu, makecfg, tapeedit])
    ep128emuEnvironment.Alias("install", instDir)

Fordítás és telepítés:
Code: [Select]
scons -j 4 installUninstall (az scons -c működik az "install"-on is):
Code: [Select]
scons -c install
Természetesen az instDir-t megfelelően módosítani kell, itt ~/bin. Esetleg még a LINKFLAGS kiegészíthető lenne -s opcióval (strip) buildRelease=1 esetén.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #490 on: 2016.August.01. 18:03:45 »
*Szamomra* ez utobi azert celravezetobb, mert lehetne normalis cross compile win-re, mindenfele wine es egyeb trukk nelkul.

Ahhoz elvileg csak ezt kellene módosítani (53. sor), és még egy pár helyen egyéb parancsokat ahol a "wine" előfordul (fluid - ez lehet a natív Linuxos verzió, és windres):

Code: [Select]
    ep128emuLibEnvironment['AR'] = 'wine C:/MinGW/bin/ar.exe'
    ep128emuLibEnvironment['CC'] = 'wine C:/MinGW/bin/gcc.exe'
    ep128emuLibEnvironment['CPP'] = 'wine C:/MinGW/bin/cpp.exe'
    ep128emuLibEnvironment['CXX'] = 'wine C:/MinGW/bin/g++.exe'
    ep128emuLibEnvironment['LINK'] = 'wine C:/MinGW/bin/g++.exe'
    ep128emuLibEnvironment['RANLIB'] = 'wine C:/MinGW/bin/ranlib.exe'

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #491 on: 2016.August.01. 18:35:49 »
Ahhoz elvileg csak ezt kellene módosítani (53. sor), és még egy pár helyen egyéb parancsokat ahol a "wine" előfordul (fluid - ez lehet a natív Linuxos verzió, és windres):

Igen, ez tiszta, csak az elmelet es a gyakorlat elmeletben ugyanaz, de gyakorlatban nem, attol felek mar elore :D

Amugy az se total tiszta pl, hogy lehet normalisan atadni parametereket az SConstruct-nak. Amit en kitalaltam azt lathatod, pl ezt:

Code: [Select]
win32CrossCompile = ARGUMENTS.get('win32', 0)
Ez azert kellett, hogy scons paranccsorral lehesen valtoztatni, hogy most mire build-elunk. Persze lehet, hogy van erre szebb megoldas is :) A masik dolog ami jo lenne, de nem tudom hogy megy SConstruct-tal:

architektura fuggo object file-ok. Magyaran pl zx128vm.cpp mellett ne egy szem zx128vm.o legyen, hanem kulon win32-re, linux-ra stb (ha tobb is van). Ez azert jo, mert nem kell allandoan ujrabuild-elni mindent, ha az ember csinal egy kis vacak modositast, es tesztelne az osszes architekturara. Xep128-ban igy van, hogy arch fuggo object file-ok vannak, igy barmikor ossze-vissza lehet valtogatni es nem kell mindent ujrabuildelni. Igaz, ott magamtol oldottam meg Makefile-bol (de ez igaz a dependency-re is). Gondolom, ez alapvetoen SConstruct-ban kb meg egyszerubb is lehetne, mivel Makefile-ban ehhez azert trukkozni kell idonkent, a dependency filter awk dolgomrol nem is szolva :-P

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #492 on: 2016.August.01. 18:38:10 »
Az install funkció megvalósítható az SConstruct-ban is, erre egy egyszerű példa (a file végén):

Code: [Select]
if not win32CrossCompile:
    instDir = os.environ["HOME"] + "/bin"
    ep128emuEnvironment.Install(instDir, [ep128emu, makecfg, tapeedit])
    ep128emuEnvironment.Alias("install", instDir)

Fordítás és telepítés:
Code: [Select]
scons -j 4 installUninstall (az scons -c működik az "install"-on is):
Code: [Select]
scons -c install
Természetesen az instDir-t megfelelően módosítani kell, itt ~/bin. Esetleg még a LINKFLAGS kiegészíthető lenne -s opcióval (strip) buildRelease=1 esetén.

Jó is a scons is installálásra, azt tudom, hisz van egy pár project, mely ezt használja.
Csak nem tudom, hogy nem lehetne e majd egyszerű környezeti változóval definiálni a cél installálási területet anélkül, hogy belerondítanék egy folttal a leendő scons install részbe?
Azt is fel kellne sorolni valahol, hogy milyen fájlokat és hova telepítsen az insDirbe, ahhoz relatívan persze.
De mint említém, én a scons -hoz tök vagyok, és szerencsémre eddig csak ritkán fordult elő, hohg python szkriptet kelljen módosítanom, hisz ahhoz sem értek.
Szerintem egyszerűbb lenne, ha István ezt megejtené a linuxosok kedvéért.

A bombono-dvd csomagunkban ennyi az egész install szkriptünk:
scons DESTDIR=${UB_INSTALLDIR}  install

A dangeerdeep csomagunkban:
scons installbindir=$UB_INSTALLDIR/usr/bin datadir='/usr/share/games/dangerdeep' install

Amit még egy csomó kézzel-lábbal elkövetett cp követ

A gpsd csomagunkban van még:

export DESTDIR="$UB_INSTALLDIR"
scons install

Más csomagunkban nincs scons installálás.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #493 on: 2016.August.01. 19:30:35 »
Igen, ez tiszta, csak az elmelet es a gyakorlat elmeletben ugyanaz, de gyakorlatban nem, attol felek mar elore

A legegyszerűbb lenne kipróbálni, ha nem működik, akkor egyelőre marad a Wine. :)

Quote
architektura fuggo object file-ok. Magyaran pl zx128vm.cpp mellett ne egy szem zx128vm.o legyen, hanem kulon win32-re, linux-ra stb (ha tobb is van). Ez azert jo, mert nem kell allandoan ujrabuild-elni mindent, ha az ember csinal egy kis vacak modositast, es tesztelne az osszes architekturara.

Erre biztosan van megoldás (pl. VariantDir()), bár ezt még nem próbáltam. Nem túl elegáns, de talán még ez is működhet:
Code: [Select]
ep128emuLibEnvironment["OBJSUFFIX"] = "_linux64.o"Így például az src/dave.cpp-ből src/dave_linux64.o lesz.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #494 on: 2016.August.01. 19:36:36 »
A legegyszerűbb lenne kipróbálni, ha nem működik, akkor egyelőre marad a Wine. :)

Erre biztosan van megoldás (pl. VariantDir()), bár ezt még nem próbáltam. Nem túl elegáns, de talán még ez is működhet:
Code: [Select]
ep128emuLibEnvironment["OBJSUFFIX"] = "_linux64.o"Így például az src/dave.cpp-ből src/dave_linux64.o lesz.

Oke, de ettol fuggetlenul az scons nem fogja elolrol kezdeni? Mert ugye mas az egesz kornyezet. Na jo, majd kiprobalom :D