Welcome, Guest. Please login or register.


Author Topic: Xep128 (Read 164798 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #45 on: 2015.June.05. 13:01:21 »
Btw Zozo! Partyn mondtad, hogy az EPDOS izebize meg ozaboza (magyarul mar nem emlexem a magyarazatra :oops: ), de hogy javitott EPDOS-szal jo lesz. Mert most Xep128 alol nezve csak villan 10 masodpercenkent hogy nincs eleg memoria, de semmit nem csinal mast. EPDOS 1.7/Z (2009) Hsoft latszik a kepernyon. Szoval, akkor ebbol van vmi hibajavitott, amit inkabb berakhatnak ebben a combined.rom-os file-ba, amit az emu hasznal? Illetve, otlet, mit lehetne meg esetleg, stb?
Itt mi is a kérdés? :oops:
Amúgy Epdos 1.7-ből 2012-es a legfrissebb. De van 1.9 (nagyon béta :oops: ) is, SD-hez/vinyóhoz az kell.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #46 on: 2015.June.05. 14:09:05 »
Majd igyekszem megnézni mi történik ilyenkor.

Na, a szokott helyen uj windows build (nem irom tobbszor le: tesztelni nem tudom, hogy muxik-e ...). Van benne nemi Z180 "emulacio". Jelenleg ez annyi, hogy ismerti a MULT BC / DE / HL / SP-t, illetve az FD es DD prefixalt utasitasok (CB-sekre nem!) eseten Z180 modban azt hajtja vegre, amit vegrehajtana ha nem is lenne ott a DD/FD prefix, ha IXH/IXL/IYH/IYL lenne a dologban amugy. Arra tippeltem, hogy Z180 talan ezt csinalja, amugy nem tudom.

Ajanlott tesztelesi modszer: emulator elindit, majd a kovetkezo parancsot kiadod:

:XEP z180

Igy atvalt Z180 modba (menet kozben, valodi gepen ez persze igy nem menne, emulatornak ez nem gond).

Aztan:

LOAD"SYM"

szepen elhasal, gondolom hasznalna vmi IXH/IXL/IYH/IYL dolgot.

Visszavaltani Z80 modba (vagy az egesz emut ujrainditani, mert Z80-al indul):

:XEP z80

Ezek utan a SymbOS toltese sikerul.

Advanced megoldas, ami nem tudom Windows-ban megy-e, de talan ... Inditsd az emulatort DOS ablakbol, de a kimenetet iranyitsd at egy file-ba mert allat sok mindent kopkod ki. Ekkor csak az stderr-re meno "par" uzenet latszik, sokkal jobb. Igy latod a Z180 kezdetu sorokat a DOS ablakban, hogy hol mi tortent. Ami erdekes: valts Z180 modba, majd kerj egy hideginditast (break/pause gomb a pc billencsen, de a shift-el egyutt nyomva). A fenti DOS ablakos modszerrel (ha muxik windows-on ...) latszik, hogy Z180 inkompatibilitas dolgokba belefut a rendszer, habar lehet, ez vmelyik ROM miatt van amit hasznalok. Meg igy Z180 modban inditva latszik, hogy EXOS 2.4 tenyleg Z180-nak ismeri fel a procit.

Amugy, szerintem nem csak a nem CB-s de FD/FF prefixalt nemdokumentalt opcode-oknal kene kideriteni, hogy mit csinal a Z180 akkor, hanem pl CB opcode-ok kozul is nagyon sok hianyzik, pl ezeket osszevetve:

http://mdfs.net/Docs/Comp/Z180/OpList
http://www.z80.info/z80oplist.txt

Illetve, ED-s utasitasoknal (de ugye itt nincs amugy FD/DD prefix ...) is vannak (es itt uj Z180 op-ok is vannak raadasul), bar Z80-on az ED-s nem dokementalt opcode-ok szerintem sok mindenre nem jok, mivel csak meglevo dolgokat duplikalnak, ami mas dokumentalt opcode ugyanugy "tud".
« Last Edit: 2015.June.05. 14:14:11 by lgb »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #47 on: 2015.June.05. 14:27:05 »
Az SD ROM az már 0.3-as? Abban irtottam ki az undocumentedeket, hogy lehessen végre programot is betölteni a Z180-on :-)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #48 on: 2015.June.05. 14:34:49 »
Az SD ROM az már 0.3-as? Abban irtottam ki az undocumentedeket, hogy lehessen végre programot is betölteni a Z180-on :-)

Hat ize, nem tudom hanyas :D Le lehet azt vhogy kerdezni? Amugy ez is vicces story. Elkezdtem osszerakni az emut, akkor "valahogy" csinaltam azt a combined.rom -ot ami cimfolyamatosan egymas moge masolt ROM-ok, amit egyben tolt be a Xep128. Epp tegnap futottam bele, hogy egyik ROM-ot meg kene neznem, hat rajottem, hogy fog sincs, pontosan milyen ROM-okat masoltam ossze :D Szoval tobb oraba telt, mire osszehasonlitgattam, hogy mi a fene lehet amibol ez nekem osszeallt :) Azota az emulator build-nel mar file-okbol rakom mindig ossze (illetve hat a Makefile alapjan a gep ...), igy nem kovetem el ezt a hibat.

Gyanus, hogy igazad van, ui Xep128 ilyeneket irogat Z180 modban:

Z180: Invalid Z180 opcode (Z80 undocumented)!! at PC=CA42h [07h:0A42h]

A 7-es szegmens pedig ha minden igaz, vhol az SDext kornyeken lesz ... Szoval, akkor most mi a legujabb SD ROM, illetve amiben nincs mar undoc opcode? Akkor kicserelem :)

Az EPDOS-os kerdesed (hogy nem erted a keredesemet hehe) pedig az lett volna, hogy ami most van Xep128-ban az nem hasznalhato, mert allandoan azt irja csak, hogy nincs eleg memoria. Itt is az lett volna a kerdesem, hogy van-e ujabb, amivel menni fog (na itt nem Z180 modbol van a baj, Z80-al se megy). Mondjuk, en a combined.rom-ba beletettem EPDOS-t kulon is, az felesleges? Nem is neztem, mi van az SD card cart kornyeken ... :) Lehet annak flash-eben is van?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #49 on: 2015.June.05. 14:40:54 »
Hat ize, nem tudom hanyas :D Le lehet azt vhogy kerdezni?
:HELP hasznos tud lenni :-)

Quote
Amugy ez is vicces story. Elkezdtem osszerakni az emut, akkor "valahogy" csinaltam azt a combined.rom -ot ami cimfolyamatosan egymas moge masolt ROM-ok, amit egyben tolt be a Xep128.
Ilyet egyébként lehet sajátot is csinálni?

Amúgy fontos dolog: a Spectrum EMU ROM-nak xxxxxx00B,xxxxxx01B szegmenseken kell lenni, mivel a szegmensszámok fel vannak használva a "DAVE átvariálja az A14/15 értékét" dolognak a helyrehozásához.

Quote
A 7-es szegmens pedig ha minden igaz, vhol az SDext kornyeken lesz ... Szoval, akkor most mi a legujabb SD ROM, illetve amiben nincs mar undoc opcode? Akkor kicserelem :)
Raktam fel egy topickal arrébb :-)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #50 on: 2015.June.05. 15:12:45 »
:HELP hasznos tud lenni :-)

Ja, azt hittem nagyobb magia, mivel azt te is lathattad ha mar probaltad az xep128-t :) Amugy :HELP szerint 0.1-es az SDEXT. Ha errol beszeltunk :) EPDOS-ra 1.7-et ir. Altalaban is igaz ram, hogy mindig a legegyszerubb dologra nem gondolok pont!

Quote
Ilyet egyébként lehet sajátot is csinálni?

combined.rom-t? Tok egyszeru, egymashoz vannak masolva (appendelve) a ROM image-ek. Magyaran, azt egy az egyben betolti az EP fizikai/linearis cimtartomany elejetol kezdve (azaz az EXOS-al kezdodik nyilvan), es ami a file-ban az offset, ott lesz EP memoriatartomanyban is minden. Annyi, hogy pl SD cuccoknal trukkos, mert a flash image merete 0xE000 szokott lenni. Szoval oda kell meg 8192 byte "toltelek", hogy ha utana masolsz valamit, akkor megfelelo cimre keruljon az mar (felteve, ha akarsz oda masolni valamit meg utana ...). Illetve, most mar van egy sajat ROM-om is "XEP" neven, az tud kommunikalni az emulatorral, es lehet vele emulatorbol csinalni dolgokat, ami jelenleg igazabol kimerul a z80/z180 valtasban, mas ertelmes dologra nem jo meg. Ennek forraskodja is ott van a github-on, bar most vettem eszre, hogy vmit elrontottam, mert :HELP akarmi eseten is a XEP ROM help-je jon be :D Biztos kihagytam az osszehasonlitast, hogy nekem szol-e a HELP "request" :D

Amugy github nezheted a forrast, itt a Makefile-ban a ROM_PACK_LIST = sornal van, hogy miket masol egymas utan szepen:

https://github.com/lgblgblgb/xep128/blob/master/rom/Makefile

Itt meg a XEP ROM forrasa:

https://github.com/lgblgblgb/xep128/blob/master/rom/xep_exos.asm

Kerdeses, hogy ennek van-e ertelme, igy EP-bol vezerelni az emulatort :) Mert ha ugyis lesz majd masik ablak (UI-t utalok irni, szoval feldobna meg egy ablakot aminek also soraba lehet pl parancsokat gepelni, a felso reszen meg az emulator uzenetei, illetve a parancsokra adott valasz lesz, kb mint egy chat alkalmazhos hasonlo modon), akkor ott lehet egyszerubb, illetve egy program futasa kozben nehez is esetleg EXOS parancsokat gepelni. Bar erdekes feeling, hogy EXOS paranccsal lehet pl CPU-t valtani :)

Quote
Amúgy fontos dolog: a Spectrum EMU ROM-nak xxxxxx00B,xxxxxx01B szegmenseken kell lenni, mivel a szegmensszámok fel vannak használva a "DAVE átvariálja az A14/15 értékét" dolognak a helyrehozásához.

Hmmm! Akkor lehet ezert csunya fekete alapon kek a ZX spectrum emulacio, ha Xep128-bol nyomok ez :ZX -et? :) Koszi, ennek (is) utana nezek.

Masik otletem: en a forumon egy hozzaszolasod alapjan probaltam kitalalni, hogy megy ez a ZX spectrum emu card. Ott a 0x42-es port volt talan igy fejbol, ahol irtad, hogy a data bus allapota az NMI kivaltasanal, es oda van irva, hogy "mixed". Vagy vmi hasonlo. Ez mit jelent?

Quote
Raktam fel egy topickal arrébb :-)

Koszi, akkor megvizslatom! Amugy az SD cartridge-re szant flash tartalomban van BASIC? Gongolom igen, mert nem mindenkinek van EXOS 2.4-e, vagy hasonlo :) Ha viszont igen, akkor felesleges bele BASIC.

Nu, elvileg mar az van fenn a szokott helyen a zip-ben, amiben most akkor 0.3-as SDEXT ROM van.
« Last Edit: 2015.June.05. 16:31:45 by lgb »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #51 on: 2015.June.05. 21:15:32 »
A mellékelt folttal tudtam lefordítani UHU alá. A wget, a git nem működik a chrootban,ezért a buildinfo hiányos. A chrootba lépés és fordítás előtt történik itt a letöltögetés éa az unzip is a rom könyvtárba.
A build logot is csatolom, a jövöbe tekintőn.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #52 on: 2015.June.05. 21:26:00 »
A mellékelt folttal tudtam lefordítani UHU alá. A wget, a git nem működik a chrootban,ezért a buildinfo hiányos. A chrootba lépés és fordítás előtt történik itt a letöltögetés éa az unzip is a rom könyvtárba.
A build logot is csatolom, a jövöbe tekintőn.

Szerintem, ha meg chroot-on kivul ezt mondod:

Code: [Select]
make combined.rom
make sdcard.img

Akkor meglesz ami kell, es igy Makefile patch nelkul is jo lesz, ha ezek utan ereszted ra a build-et. De mivel UHU build system-et nem ismerem, csak tippelek :) Tok jo a screenshot, majdnem ugy nez ki, mintha egy ertelmes emulator lenne, csak sajnos en tudom, mennyi minden kene meg bele :) Lasd a TODO file-t epp most pakoltam bele.

Btw, akkor most rendesen lefordult belso z80ex-szel (amibe el is kezdtem beleirogatni, igy kulso mar nem is annyira focizik, mint lehetoseg ...), miota nem kulon Makefile van neki?

Amugy, erdekes, hogy irod, legalabb vkit erdekel, mert azert mar lassan kezdek felni tole, hogy mindenkinek elege van az "LGB irt meg egy emulatort mar megint, OMG" allapotbol :) Mondjuk Zozo csak orul, hogy csak az o keresere elkezdtem Z180-azni, mindent a (leendo?) userekert ;)

A git a buildinfo-ba meg amugy is fura otlet :) mert mi van ha valaki nem clone-ozta a repo-t, akarmi, hanem letoltotte a forrast, amiben nincs is git info pl? :)

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #53 on: 2015.June.06. 07:21:16 »
A wget kiirtása nélkül most még :| nem megy.

Minden normálisabb build rendszer úgy van felépítve, hogy ne kelljen fordítás közben töltögetni, az mindig a fordítások előtt történik. Szigorúan szét vannak választva a letöltési, fordítási, csomagösszerámolási,vagy telepítési szakaszok. A configure szkriptek és Makefilék is a normális forások esetében úgy vannak megírva, hogy ehhez az elvhez igazodnak.Van persze kivétel sok,egyik elrettentőnek ott a  go.
Csak azért írom ezeket, mert jó lenne, ha foltozás nélkül le lehetne majd fordítani a forrásodat.
Klassz, hogy már a belső z80ex szépen használható.
Kár, hogy én a C-hez nem értek ésmár valszeg nem is fogok túlzottan.

Off..
Az UHU  build rendszer nagyon tömören ilyen:

root felhasználó.
1. Minden forrás letöltése.
2. Chroot rendszer felépítése csak a fordításhoz szükséges csomagokból, a fordítási környezet beállítása, build felhasználó létrehozása.
A build felhasználó csak a chroot rendszeren belüli munkakönyvtáraihoz tud hozzáférni, nincs root joga, semmi olyat nem tud végezni, amihez az kellene,így az alprendszer védett. Letöltögetni sem tud fájlokat.
3. A források átmásolása a chroot rendszerbe.

build felhasználó
4. A build felhasználó átchrootol és logok írkálása közben ott lefordítja cuccot és felinstallálja a munkakönyvtáraiba, egy rakás utómunka, ellenőrzés után összerámolja dpkg csomaggá majd elhagyja a chroot -ot. Hiba esetén azonnal abbahagy mindent.

root felhasználó
5. A kész terméket a chroot munkakönyvtárakból kimásolja a rendes célhelyre és uhu csomaggá pofozza.

A git verziólekérdezéshelyett valami jobb kellene.

Átolvasom a TODO fájlt.
« Last Edit: 2015.June.06. 07:55:15 by Attus »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #54 on: 2015.June.06. 08:04:34 »
Az sem tetszik, hogy maga a xep128 bináris a futatási könyvtárában keresi a romokat és egyebeket. Túl windózos, "mindent egyrakásra valahova másolni" stílus.
Létezik nls is.
A futtatható binárisnak előbb-utóbb a /usr/bin alatt kell lennie, a ro adatoknak meg a /usr/share/xep128 alatt. Gondolom nem nagy gond ennek megvalósítása.
Windowsnál meg mindegy.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #55 on: 2015.June.06. 08:51:45 »
:) Na tessek :) Eloszor is megjegyeznem, hogy ugye windows-om soha nem volt se otthoni se munkahelyi gepemen, szal ne tessek am megvadolni itt semmivel :) :) Az egyeduli oka, hogy megprobaltam cross compiler-rel windows ala is forditani Linux alol az, hogy sok EP-snek nem lenne hasznos, ha Linux/UNIX/whatever only project lenne, ha ok Windows-oznak (viszont most probraltam eloszor barmit cross-compile-alni windows ala is, meglepo hogy ilyen siman sikerult ...). A masik: termeszetesen tisztaban vagyok vele, hogy illeni csinalni, ami a normalis make mechanizmust, letoltest, es a dir struktura hasznalatat is illeti. Jelen allapotban viszont en ugy voltam vele, hogy en se installalnam vmi "official" helyre mint az /usr/bin (vagy akar /usr/local/bin ha csak "kezzel" szorakozok es nem csomagbol). Most en is allandoan atirogatom es a forras konytaraban forditva onnan is inditom es _ennyi_ :) Meg ugye a cucc jelenlegi tudasanal ugy erzem nem a make/stb a legnagyobb problema, amit meg kell oldanom :)

Jut eszembe, ha zavar a cucc jelenlegi mukodese, akkor a $(PRG): kezdetu rule-nal a Makefile-ban vedd ki a vegerol a $(ROM) -ot es az $(SDIMG) -t, akkor siman make-nal nem fogja azokat letolteni, "kezzel" viszont tovabbra is lehet (make combined.rom es make sdcard.img).
« Last Edit: 2015.June.06. 09:22:25 by lgb »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #56 on: 2015.June.06. 11:15:07 »
Rendben!
Őszintén szólva örülök az egésznek és szurkolok. A végére úgyis rendben lesz, a működése legyen jó, az a lényeg.
Jó lenne tudni, István hogyan is csinálta meg a windózos cuccát ugyanabból a forrásból.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #57 on: 2015.June.07. 12:35:19 »
Amugy, ott a github-on az "issues" link, adj le bug report-ot nyugodtan, arra valo, nem haragszom meg :) Legalabb elmondhatom, hogy olyat is kaptam, a vegen meg olyan erzes lesz, mintha erdekes lenne masok szamara is amit csinalok :) A masik, van mar make install, ez ugye egyreszt a Makefile -ban a PREFIX alapjan felrakja a binarist a ket data file-t is. Az emulator jelenleg gagyi, annyi lett meg beleteve, hogy eloszor a current directory-bol probalja tolteni, ha ez nem megy, akkor a DATADIR -bol. Igy egy picivel normalisabb mar. Ami meg varhato: home-ban config directory-t is nez (~/.xep128/ ... esetleg a modernebb ~/config/xep128/ "standard") es ott is nezze. Vagy hasonlo. Windows-nal jelenleg meg semmi ilyesmi, ott tovabbra is csak path info alapjan akarja megnyitni. Na meg ott a TODO file, ebben persze igen elvadult otletek is vannak. Lehet javaslatot is tenni.

Ha egyszer normalisan kitalalom, hogy mux az SDL2 (van sok metodus erre, Surface, Texture, HW gyorsitas es nelkule, texture streaming, hw scaling, miegymas temak), akkor eleve gyorsabb is lehet, illetve lenne vegre full screen uzemmod is,  amit en szemely szerint preferalnek, de lehet, mas embernek mas lenne a prioritas ... Most a Z80 CMOS/NMOS emulacio, illetve a Z180 van teriteken, ha mar belekezdtem (azt zaroljelben irom, hogy valoszinu beleteszek egy nyulfarknyi primo emulatort is, mert az egyszeru gep, es egyszerubb rajta tesztelni kulonbozo emulator irasi elkepzeleseimet). A masik: a "command window", amit mar irtam, uj ablak megnyilik, mennek benne az uzenetek stb, also sorba meg lehet gepelni parancsokat az emulatornak, nekem ez mindig jobban behott mint GUI-s menuk, miegymas, aztan lehet orakig keresgelni, hogy hol is van az opcio. Hiaba no, CLI orientalt ember vagyok am :) Plusz ezt egyszerubb is megcsinalni, es platformfuggetlenebb, menne normalisan es egyszeruen win/linux alatt is ugyanugy SDL-bol csupan.

Mondjuk ez a z80ex erdekes (a Z80 emulator benne, amit nem en irtam, csak epp belepiszkitok mar egy ideje ...), elvileg olyat is tud, hogy T-state callback, azaz minden T state valtas utan meghiv egy fuggvenyt es - szinten elvileg - opcode-on belul pontosan akkor amikor Z80 is tenne. Ez - ismet csak elvileg - arra is jo lehet, hogy a Nick emulacioval kesobb olyan precizen ossze legyen hangolva, ami megkozeliti a valodi gepet, igy pl VRAM accessnel lehetne korrektebb a viselkedese (az jelenleg full speed-ben megy, ahogy JSep-nel is ez volt a gond ...).

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #58 on: 2015.June.07. 16:29:06 »
Látom, hogy debian csomaghoz való cuccokat is felvettél a TODO -ba.

"debian package building easily?"

Vagyis egy debian könyvtár benne a rules, satöbbi fájlokkal.

A wget használatát csomagkészítésnél, vagyis telepítő fájl (deb, rpm, pkg.tar.gz,) készítésnél szintén senki nem használja a fordítás során.
Jó lenne onnan száműzni végleg.
Mindig a sources részben szerepel minden kiindulási forrás, és egyéb adathalmaz szinte minden disztribúciónál, azok beszerzése a fordítási fázis előtt történik. Debiannal is így van, Arch -nál is, Fedora -nál is, és gondolom windóznál is így lehet egy setup.exe előállítása során. Még Gentoo ebuild is,mely helyben fordítja bele a gépre a futtatható cuccot egy külön munkakönyvtárba fordítgat a letöltögetések után, majd onnan telepíti a terméket.

Örülök,hogy kivetted az sdl2-net -et, azt sem értettem, hogy mi a francnak vetted bele eredetileg? Esetleg a leendő hálózati rész emulációhoz?

Baromi sokat gürizel a cuccal, azt látom. A teljes képernyő az nagyon fontos, a videó hardveres gyorsítás a mai gépeknél esetleg nem fontos.

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #59 on: 2015.June.07. 16:50:16 »
Jobb ötletem van.
Legyen külön rész a data, meg a rom! 257 Mb!
Mi a francnak mindig letöltögetni őket és újra összerámolni minden egyes fordításnál, meg telepítésnél?
Bele kell venni csupán runtime dependenciának őkelméket.