Welcome, Guest. Please login or register.


Author Topic: EP128emu (Read 400108 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14734
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #315 on: 2013.May.01. 16:07:20 »
Quote from: lgb
Engem az is erdekelne, hogy mi a helyzet a FAT16-el. Zozo mintha azt mondta volna, hogy valoszinu megoldhato lenne az is EP-n tobb-kevesebb munkaval.
Előbb végére kéne érni az EXDOS visszafejtésnek :oops: de már sejtem, hogyan lehetne megoldani...

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: EP128emu
« Reply #316 on: 2013.May.01. 16:46:33 »
Quote from: Zozosoft
Előbb végére kéne érni az EXDOS visszafejtésnek :oops: de már sejtem, hogyan lehetne megoldani...

Tenyleg, lehet en emlekszem/tudom rosszul, de olvasgatva az EXDOS-rol en azt latom, hogy elvileg elegge modularis; ugye nem csak az alacsony szintu rutinokat lehetne helyettesiteni (pl IDE a WD helyett ...) hanem magat a filerendszer kezeleset is. Es itt nem csak FAT12->16-ra gondolok hanem pl vmi tok mas filerendszerre ... Bar kicsit elvesztem igy a DISKIO/FISH/egyeb dolgok kozott, ami most igy remlik, bar regen neztem mar :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14734
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #317 on: 2013.May.02. 22:55:25 »
Kicsit régészkedtem a régi emulátor verziók között:
2.0.5.1 esetén még nem volt probléma a bad sectoros lemezekkel, jó szektorokat beolvassa, hibás esetén az EP is megkapja a hibát.
Viszont ebben a verzióban meg ha hosszabb ideig vár a lemezre, akkor eltűnik az EP kép. Ha jól sejtem ezért is jött a pufferes dolog a 2.0.6-ban.

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #318 on: 2013.May.03. 11:13:50 »
Quote from: IstvanV
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.
Nekiugrom újra és megcsinálom a forrásból az UHU 2.2 ubk verzióhoz, http://uhu.ubk.hu/pkg/2.2/ újra a telepítő csomagját.
UHU 2.2 alatt minden jóval frisebb már, mint 2 éve, akkor még a kész binárisból csináltam, de sokkal elegánsabb, és nehezebb :twisted:, nem statikus libekkel megcsinálni, a kész bináris is jóval rövidebb lesz.
Ha valahol komolyabban elakadok, akkor jelzem majd.

Offline szalai56

  • EP user
  • *
  • Posts: 291
Re: EP128emu
« Reply #319 on: 2013.May.03. 13:56:35 »
Nekiugrom újra és megcsinálom a forrásból az UHU 2.2 ubk verzióhoz, http://uhu.ubk.hu/pkg/2.2/ újra a telepítő csomagját.
UHU 2.2 alatt minden jóval frisebb már, mint 2 éve, akkor még a kész binárisból csináltam, de sokkal elegánsabb, és nehezebb :twisted:, nem statikus libekkel megcsinálni, a kész bináris is jóval rövidebb lesz.
Ha valahol komolyabban elakadok, akkor jelzem majd.
Bocs az off-ért: mi van az UHU-val?

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #320 on: 2013.May.03. 15:18:17 »
[offtopic]
Él és virul a gépemen, sokunk gépén az ubk frissített változata.
A gnome_3.4 is üzemel jóvoltomból, ami ki is nyírta a gnome2 -őt, helyette most ott a mate felület Rezső barátom jóvoltából, és a legújabb kde meg Bandi jóvoltából. Mi tartjuk életben és frissen.
A dev ágon meg ki szerették volna hozna májusra a gnome-3.8 alapú új kiadást, de valami miatt nem megy még mindig a gdm, és a gnome3.
Remélem pár hónap és meglesz az új hivatalos kiadás, ha sikerül megoldani a aproblémát.
Most mate felületen írok, kernel-3.8.4,  gcc_4.7.2-2, firefox_20.0.1-2 [/offtopic]
« Last Edit: 2013.May.03. 15:21:28 by Attus »

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: EP128emu
« Reply #321 on: 2013.May.03. 17:18:10 »
Quote
Kicsit régészkedtem a régi emulátor verziók között:
2.0.5.1 esetén még nem volt probléma a bad sectoros lemezekkel, jó szektorokat beolvassa, hibás esetén az EP is megkapja a hibát.
Viszont ebben a verzióban meg ha hosszabb ideig vár a lemezre, akkor eltűnik az EP kép. Ha jól sejtem ezért is jött a pufferes dolog a 2.0.6-ban.
Most ha jól értem, csak megerősítetted, amit már eddig is mondtatok: volt ez jó is, csak lassú, és mikor bekerült a cylinder cache, elszúrt pár (mostanra általatok beazonosított) dolgot.
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14734
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #322 on: 2013.May.03. 18:22:27 »
Lacika kérésére aktuális EXE

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #323 on: 2013.May.06. 20:36:02 »
Végül sikerült megcsinálnom az ep128emu_2.0.9 UHU csomagját, de gond van.
Az fltk-1.1.10 -et meg kellett csinálnom. Ennek ellenére nem találta a jpeg, png, zlib fejeket, hiába adtam meg neki az illető fejéc csomagokat a fordításhoz.
Rájöttem, hogy az fltk-t ezekkel az opciókkal kellett lefordítanom:
 
   ub_configure \
    --enable-threads \
    --enable-xinerama \
    --enable-xft \
    --enable-xdbe \
    --enable-largefile \
    --enable-localjpeg \
    --enable-localpng \
    --enable-localzlib

Először a gentoo dead ( mivel már rég túlhaladott) ebuildjei szerint akartam csinálni, ott --disable-localjpeg cuccok voltak, azzal az fltk csomaggal nem volt jó, mert nem találta a libjpeg cuccot még mindig az ep128emu scons -a.
Továbbá át kellett neveznem az fltk cuccost fltk1 -re, hogy ne ütközzön a rendszerem lévő fltk2 és efltk2 csomagok fájljaival, az új fltk1 csomagban a flud.desktop fájlt átnevezni fluid1.desktoppá, továbbá a fluid.1 -et is átneveztem fluid1.1 -é, így már telepíthetővé vált a fluid1 csomag.

Most az a gondom, hogy a feltelepített ep128emu aszongya, hogy nincs hang eszköze.
Pedig a fordításhoz megkapta a portaudio-dev ás libsndfile-dev csomagokat.

Az egykori, a binárisból készített ep128emu csomag hangos, annak mérete 2.1 Mb, ezé, a forrásból készülté meg mindössze 1 Mb.

Pulseaudio rendszerem van itt a gnome3 alatt.
Csatolom a csomagkészítési logot. Én nem látok benne a hangra vonatkozóan semmit.

Nincs valami tipped István?

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #324 on: 2013.May.07. 14:17:46 »
Nekem van.:)
A parancs: padsp ep128emu
És van hang!
Egyébként, ha hozzáveszem, hogy az fltk1 csomag mérete, amit az ep128emuhoz a telepítő felránt 700 Kb, akkor 400 Kb a spórolás, ami csak az EP valós világában számottevő méret.
Egy teljes 360 -as floppy több szektorra formázva!
:ds_icon_cheesygrin:

Ujjgyakorlatlatnak jó volt ez a fordítási móka, most még csinálok egy kis csiszolást, hogy egértologatós júzerkámnak is hangos legyen az ep128emu, ha az indító ikonra, vagy menüponra kattint.
Oszt így lesz egy frissebb verziójú ep128emu telepítő csomagjuk az UHU -soknak.
« Last Edit: 2013.May.07. 14:21:33 by Attus »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EP128emu
« Reply #325 on: 2013.May.07. 19:57:36 »
Elkészült, letölthető innen: ftp://ubk.hu/pkg/2.2/

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14734
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #326 on: 2013.July.10. 15:19:46 »
Spektrum emulátor részben hogyan lehetne átdefiniálni a billentyűzetet, ha több billentyűt szeretnék? :-)
Adott egy orosz Spektrum, amire több gombot raktak az átlagnál, oly módon, hogy az ULA port olvasásánál eredetileg nem használt 5-ös és 7-es bitre is raktak 8+3 gombot.
[ Guests cannot view attachments ]
Köztük van a ciril-re kapcsolás gombja is :-)

Ezeket hogyan lehetne beüzemelni a zx128emu-ban?

A zx128vm.cpp-ben a keyboardConvTable-t kéne piszkálni? :-)
Vagy az emu-ból mentett konfig fájl is tartalmaz egy csomó keyboard sort, ezekkel is lehetne?

Itt a gép ROM-ja, debuggerben 5c37h címre kell 39h-t vagy 3ch-t írnia karakterkészlet váltáshoz.
:-)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #327 on: 2013.July.11. 09:45:22 »
A keyboardConvTable[] az EP-s billentyűket konvertálja Spectrumra. Egy EP billentyűhöz két Spectrum billentyű rendelhető, azaz lehetőség van az EP billentyűket Spectrumos billentyű kombinációra konvertálni. A konverziót a ZX128VM::convertKeyboardState() függvény végzi. Ha a billentyűzet mátrixnak ötnél több oszlopa van, akkor szükség lehet az ula.cpp módosítására is, hogy az eddig nem használt bitek ne legyenek fix értékűek.

A konfigurációs file-okban csak EP billentyűzet lehet, a Spectrum és CPC emulátorok ezt konvertálják egy táblázat alapján.
« Last Edit: 2013.July.11. 10:15:55 by IstvanV »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14734
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #328 on: 2013.July.11. 10:01:58 »
Quote from: IstvanV
A konverziót a ZX128VM::convertKeyboardState() függvény végzi.
És ennek a táblázatnak mi a felépítése?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EP128emu
« Reply #329 on: 2013.July.11. 10:15:34 »
keyboardConvTable[EP_billentyű * 2] = ZX_billentyű_1
keyboardConvTable[EP_billentyű * 2 + 1] = ZX_billentyű_2

Az "EP_billentyű" egy 0 és 127 közötti érték, amelynek az értelmezése azonos a konfigurációs file-okkal (sor[0..9] * 8 + oszlop[0..7], EXT1: 112-116, EXT2: 120-124), és a táblázatnál a megjegyzésekben is látható.

A "ZX_billentyű" 0 és 63 között Spectrum billentyű kód (sor[0..7] * 8 + oszlop[0..4]), 64 és 68 között joystick (Kempston), és a 69 vagy nagyobb érték nem használt billentyű. Az oszlopok számának a növeléséhez az ula.cpp-ben az ULA::setKeyboardState() függvényt kell módósítani, ebben a "| 0xE0"  művelet állítja 1-re az eredetileg nem használt biteket; ez a művelet megtalálható a snapshot/demo betöltésnél is (ULA::loadState()).
« Last Edit: 2013.July.11. 10:22:36 by IstvanV »