Welcome, Guest. Please login or register.


Author Topic: ep128emu 2.0.7 (Read 110813 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: ep128emu 2.0.7
« Reply #105 on: 2010.January.09. 19:11:06 »
Csak nem látom, hol lehet elindítani a CPC -t.
 :(

A -cpc paraméterrel, a Spectrum módot pedig a -zx-el. Tehát a lehetséges módok:
  ep128emu -ep128        Enterprise (ez az alapértelmezés :))
  ep128emu -zx           ZX Spectrum
  ep128emu -cpc          CPC 464


Egyébként éppen most töltöttem fel a CVS-re néhány CPC frissítést, például a snapshot és demo támogatást, illetve különböző debug funkciókat és kisebb javításokat. Érdemes ezt az újabb verziót lefordítani.

Néhány megjegyzés a CPC emulációval kapcsolatban:

A memória konfigurációban a rendszer ROM a 10H szegmensre kerül, a bővítők (BASIC, stb.) pedig a 00H-07H szegmensre. A debuggerben viszont ilyen a szegmensek kiosztása:
    00-7F: RAM
    80:    rendszer ROM
    C0-FF: bővítő ROM-ok


I/O töréspontokat a cím felső 8 bitjére lehet beállítani, mert az alsó 8 bitet a CPC nem használja; tehát pl. az f4-f7w a 8255 PPI regiszterek írását figyeli.

Debug I/O olvasáskor azoknál az I/O portoknál, amelyeknél íráskor az írt érték bitjei választanak funkciót, ezeket a biteket a cím alsó byte-jában lehet megadni. Ezen kívül a 0000H-007FH I/O területen sok regiszter közvetlenül is olvasható:
    00-1F: CRTC regiszterek
    20-2F: paletta
    30-3F: keretszín (16x)
    40-4F: AY regiszterek
    50-5F: 8255 PPI regiszterek:
             50, 58: A port állapota
             51, 59: B port állapota
             52, 5A: C port állapota
             53, 57, 5B, 5F: vezérlőregiszter
             54, 5C: A port regiszterbe írt érték
             55, 5D: B port regiszterbe írt érték
             56, 5E: C port regiszterbe írt érték
    60-6F: billentyűzet mátrix állapota
    70:    az aktuálisan választott CRTC regiszter
    71:    CRTC jelzőbitek:
             b0: a kijelzés aktív (nem keret)
             b1: vízszintes szinkron
             b2: függőleges szinkron
             b3: interlace módban páratlan félkép
             b4: a kurzor látható (lenne ha a CPC támogatná :)) ebben a ciklusban
    72:    video cím alsó byte (mindig páros)
    73:    video cím felső byte
    74:    video mód (0-3)
    75:    az aktuálisan választott szín (b0-b3, illetve keret ha b4=1)
    76:    megszakítás számláló (0-51)
    77:    az aktuálisan választott AY regiszter
    78:    RAM konfiguráció (b0-b6), RAM engedélyezés (b6-b7)
    79:    bővítő ROM (0: BASIC)


A debug I/O írás ugyanúgy működik, mint az emulált (Z80) kódnál.
« Last Edit: 2010.January.09. 19:17:46 by IstvanV »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: ep128emu 2.0.7
« Reply #106 on: 2010.January.09. 23:30:47 »
Nekiállok végre itthon a gentoo -n teszt fordításnak. de most elõbb megy az emerge scons portaudio libsndfile dotconf. Meg még biztos egy pár függély. ;-)

Meg is van, már, de jajj! Az FLTK hibáz valahol.

Ezzel kezdi a hibaüzeneteket:

g++ -o ep128emu -L. gui/gui.o gui/gui_fl.o gui/disk_cfg_fl.o gui/disp_cfg_fl.o gui/kbd_cfg_fl.o gui/snd_cfg_fl.o gui/vm_cfg_fl.o gui/debug_fl.o gui/about_fl.o gui/debugger.o gui/monitor.o gui/main.o -L/usr/lib64/fltk-1.1 -lep128 -lzx128 -lcpc464 -lep128emu -lfltk_images -lfltk_gl -lGLU -lGL -lfltk -ldl -lm -lXext -lX11 -ldotconf -llua -lSDL -lportaudio -lsndfile -lpthread -lrt
gui/gui.o: In function `Ep128EmuGUI::errorMessage(char const*)':
/home/attila/bin/ep128emu2/gui/gui.cpp:360: undefined reference to `Fl::lock()'
/home/attila/bin/ep128emu2/gui/gui.cpp:362: undefined reference to `Fl::unlock()


Majd így végzi:

collect2: ld returned 1 exit status
scons: *** [ep128emu] Error 1
scons: building terminated because of errors.

Pedig ez gentoo64 2.6.32 kernel, minden friss és ropogós rajta.
 :(

Lehet, hogy még kell még valami header gyûjtemény?
« Last Edit: 2010.January.09. 23:58:47 by Attus »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: ep128emu 2.0.7
« Reply #107 on: 2010.January.10. 00:01:32 »
/home/attila/bin/ep128emu2/gui/gui.cpp:360: undefined reference to `Fl::lock()'
/home/attila/bin/ep128emu2/gui/gui.cpp:362: undefined reference to `Fl::unlock()

Az FLTK valószínűleg --enable-threads nélkül volt fordítva.

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: ep128emu 2.0.7
« Reply #108 on: 2010.January.10. 00:11:41 »
No akkor itt egy reprodukálhatósági gond máris van. Gentoo alatt ugyanis csak ez a lehetséges fltk installáció:

attusamd attila # emerge -pv fltk
[ebuild  NS   ] x11-libs/fltk-2.0_pre6786 [1.1.9] USE="cairo jpeg opengl png xft zlib -debug -doc -xinerama" 2,469 kB
Vagyis nem fordítható be a rendszerbe a --enable-threads opcióval, mert nincs ilyen USE flag.
 :(
Egyébként csak a Fl::lock()' és a Fl::unlock()' gondjait sorolja hosszan, mást nem.
Esetleg nem lehetne valami mást kitalálni?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: ep128emu 2.0.7
« Reply #109 on: 2010.January.10. 00:20:52 »
Vagyis nem fordítható be a rendszerbe a --enable-threads opcióval, mert nincs ilyen USE flag.

Azt nem lehet megadni, hogy a "./configure"-t milyen paraméterekkel futtassa ?

Quote
Egyébként csak a Fl::lock()' és a Fl::unlock()' gondjait sorolja hosszan, mást nem.
Esetleg nem lehetne valami mást kitalálni?

Saját statikus FLTK-t fordítani az emulátorhoz, és bemásolni az ep128emu2 könyvtárba ? :)

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: ep128emu 2.0.7
« Reply #110 on: 2010.January.10. 11:04:23 »
Azt nem lehet megadni, hogy a "./configure"-t milyen paraméterekkel futtassa ?
Még nem vagyok nagyon otthonos a gentoo lelkivilágában, de valamit kiderítettem.
A /usr/portage/x11-libs/fltk/fltk-2.0_pre6786-r1.ebuild szkript idevágó részlete ez:

rc_configure() {
   append-flags -fno-strict-aliasing

   CPPFLAGS="${CPPFLAGS} -DFLTK_DOCDIR=\"/usr/share/doc/${PF}\"" \
   econf --enable-shared --enable-threads \
      $(use_enable debug) \
      $(use_enable xft) \
      $(use_enable opengl gl) \
      $(use_enable cairo) \
      $(use_enable jpeg) \
      $(use_enable png) \
      $(use_enable xinerama) \
      $(use_enable zlib)
}

Vagyis más lehet a gond.
Frissítettem az fltk -t, hátha a fenn lévõ nem így lett fordítva.
Nem jött be.
 :(
Átbootolok arch -ra.

« Last Edit: 2010.January.10. 11:20:02 by Attus »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: ep128emu 2.0.7
« Reply #111 on: 2010.January.10. 12:27:56 »
Arch64. Nyers, csiszolatlan állapot, mert a gentoo van most elõtérben nálam.

Felizzadtam elõbb a nem hivatalos AUR repóból a legutolsó ep128emu -t.  :)

Az AUR build szkripje szépen létrehozta az ep128emu.pkg.tar.bz2 bináris csomagot. Ezt feltelepítve be akarta húzni a függõségként még hiányolt libgl csomagot, de nem tette, mert ez ütközött volna a fenn lévõ nvidia videókártyám hivatalos meghajtó binárisaival. Ennek ellenére feltelepült és elindult szépen, a rom telepítõ segéd szkript után. Tehát még sincs szükség a nevezett libgl -re, valószínûleg az nvidia-gl cuccai szépen helyettesítik.
Vagyis az ARCH csomagkészítõ szkriptje sem tökéletes. :mrgreen:

CVS
Átmásoltam a gentoo partíción lévõ kísérleti bedöglött ep128emu2 cvs tükör könyvtárát ide, és próbáltam folytatni. Itt is bedöglött a fordítás, még jóval elõbbi stádiumban, mint a gentoo alatt.
Nem adtam fel!  :smt027
Újra leszedtem most szûzi állapotba a cvs-bõl.
És jelentem, most itt szépen lefordult, elindult, már csak a CPC rom hiányzik.
 :)
Visszabootolva (ocsmány szó) a gentto -ra ott is szûziesítettem, de ott a helyzet változatlan.
 :(

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: ep128emu 2.0.7
« Reply #112 on: 2010.January.10. 12:48:21 »
És jelentem, most itt szépen lefordult, elindult, már csak a CPC rom hiányzik.

A CPC ROM-ot a 00H (offszet=16384) és 10H (offszet=0) szegmensre kell betölteni. Természetesen ezt majd a makecfg által létrehozott konfigurációk automatikusan elvégzik :)

[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: ep128emu 2.0.7
« Reply #113 on: 2010.January.10. 13:05:08 »
Na végre. Arch 64 alatt megy.  :)
[ Guests cannot view attachments ]
Csak a billentyûzet nem.
 :(
És a cpc és zx romok helye hol legyen? Mert látom, hogy van konfigurációs text állományok cpc és zx számára is.
Én egyszerûen létrehoztam hasracsapva egy ~/.ep128emu/cpcroms könyvtárat és oda tettem, onnan aktualizáltam cpcemut.
Mindjárt kipróbálom a zx emut is.

A zx romokat, most a roms könyvtárba nyomtam.
A zx rész is megy! A billentyû is! A txt konfig is!
 :)
Most nem csatolok Screenshot -ot.
« Last Edit: 2010.January.10. 13:17:19 by Attus »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: ep128emu 2.0.7
« Reply #114 on: 2010.January.10. 13:15:39 »
Na végre. Arch 64 alatt megy.  :)

Csak a billentyûzet nem.

Próbálj billentyűzet konfigurációt (EP_Keyboard_HU.cfg vagy EP_Keyboard_US.cfg) betölteni.

Quote
És a cpc és zx romok helye hol legyen?

A többi file között a ~/.ep128emu/roms/-ban. Ezzel működnek a makecfg által létrehozott konfigurációk is (bár a CPC-hez még nem állítják be a ROM-ot, de ezt még ma javítom).
« Last Edit: 2010.January.10. 13:18:42 by IstvanV »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: ep128emu 2.0.7
« Reply #115 on: 2010.January.10. 14:50:45 »
Próbálj billentyûzet konfigurációt (EP_Keyboard_HU.cfg vagy EP_Keyboard_US.cfg) betölteni.

Hiába.   :ds_icon_frown:
Nem tudok túljutni a kék bemutatkozó képernyõn.
 :ds_icon_frown:
ZX szépen megy, csak egy kicsit elmaszatolt a képe.

Tudom, hogy maximalista a kérés, fõleg, most a fejlesztésed gondjai közepett.
Nem lehetne mégis értelmes módon kiküszöbölni a gentoo fordítási gondját?
Hisz az --enable-threads fordítási opcióval van installállva itt is az fltk.
 :shock:
« Last Edit: 2010.January.10. 14:56:02 by Attus »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: ep128emu 2.0.7
« Reply #116 on: 2010.January.10. 15:38:57 »
Hiába.   :ds_icon_frown:
Nem tudok túljutni a kék bemutatkozó képernyõn.

Akkor valószínűleg a "Machine configuration"-ben van valami elrontva. Ellenőrizd, hogy ezek be vannak állítva:
  - video clock frequency: 1000000
 - RAM size: 64 vagy 128
 - ROM szegmens 0: ha 64K, akkor cpc464.rom, egyébként cpc6128.rom, az "offset" 16384 legyen
 - ROM szegmens 10H: a file név ugyanaz, de az offszet 0 legyen
 - a többi ROM szegmensen ne legyen semmi

Quote
ZX szépen megy, csak egy kicsit elmaszatolt a képe.

Ezen a video beállításoknál lehet változtatni.

Quote
Tudom, hogy maximalista a kérés, fõleg, most a fejlesztésed gondjai közepett.
Nem lehetne mégis értelmes módon kiküszöbölni a gentoo fordítási gondját?
Hisz az --enable-threads fordítási opcióval van installállva itt is az fltk.

A hibaüzenet szerint nem :)

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: ep128emu 2.0.7
« Reply #117 on: 2010.January.10. 17:24:03 »
Akkor valószínûleg a "Machine configuration"-ben van valami elrontva. Ellenõrizd, hogy ezek be vannak állítva:
  - video clock frequency: 1000000
 - RAM size: 64 vagy 128
 - ROM szegmens 0: ha 64K, akkor cpc464.rom, egyébként cpc6128.rom, az "offset" 16384 legyen
 - ROM szegmens 10H: a file név ugyanaz, de az offszet 0 legyen
 - a többi ROM szegmensen ne legyen semmi
A 0 ROM szegmens üres volt. A 10 ROM szegmens jó volt.
Beraktam a 0 -ra is. Nem mûködött.  :(
Visszanézve be volt rakódva a 0 Szegmensre 0 offsettel, és az 1-esre is a 16384 offsettel is.  :shock:
Kiszedtem az 1-est, átírtam a 0 szegmensens offsetét kézzel, mad apply.
 :)
Jó!!!
Már csak program kellene bele, de nem tudom, hol lehetne beletenni a ZORRO.DSK fájlomat.
 :oops:

A hibaüzenet szerint nem :)
Kár.
Akkor marad gentoo -nak a leendõ bináris?

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: ep128emu 2.0.7
« Reply #118 on: 2010.January.10. 19:28:08 »
Hogy kell beállitani? :oops:
[ Guests cannot view attachments ]

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: ep128emu 2.0.7
« Reply #119 on: 2010.January.10. 19:54:16 »
Hogy kell beállitani? :oops:
Lefordítottad a cvs forrásból te is a cpc -s verziót?
 :shock:
Mert én azzal próbálkozom.