Welcome, Guest. Please login or register.


Author Topic: Xep128 (Read 193845 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #15 on: 2015.June.03. 14:55:21 »
0x3f9800 - 0x3f9aff (marmint ez linearis cim a 4Mbyte-os cimtartomanyban)
Ez ember nyelven hol van? :-)
Egyébként az FE szegmens attributum területére kell írásnál NMI.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #16 on: 2015.June.03. 15:04:28 »
Ez ember nyelven hol van? :-)
Egyébként az FE szegmens attributum területére kell írásnál NMI.

0xFE szegmens, 0x1800 - 0x1aff, ha minden igaz. Ha ide van iras (azert hasznaltam "linearis" cimet, mert a memoria iras fuggveny az emulatorban atszamolja eloszor linearis cimre, es aszerint dolgozgat), akkor eloallitok egy NMI-t, es a kapott "linearis" cim (hiszen ez jelenik meg elvegre az EP cim buszon, nem a Z80-as cim, mivel annak felso 2 bitjebe ugye beleszol a dave ...) also 16 bitjet rakom aztan a 0x40,0x41-es portokra, 0x40-re a felo byte, 0x41-re also byte (azaz pl az attrib memoria kezdetenek viszonylataban ez 0x9800 lesz, tehat 0x98-as ertek kerul a 0x40-es portra, es 0 a 0x41-re). Stb, ahogy irtam az elobb. Viszont nekem nem ugy tunik, hogy igy normalisan mukodik sajnos :( Vagy en ertek felre valamit ...

Amugy a ZX ROM ilyenkor mit csinal? Lekezeli a NMI-t, 0x40-0x43 portok alapjan kitalalja mit es hol akart, ha ez a fenti attrib mem iras, akkor visszaolvassa a kiirt byte-ot a cim segitsegevel (vagy megnezi a 0x42-es portot .... inkabb) azt konvertalja spectrum attrib byte-ra, aztan kiirja a "valodi" nick szamara elerheto attrib teruletre? Tenyleg trukkos ez az NMI-zes, bar ha valami intenziven gyalulja az attrib teruletet, az gondolom sokat lassit ... Igazabol egy bit kene a Nick-be: attribute modban ertelmezze spectrum attrib modban az attrib infot, vagy ne (std EP mode). Es akkor nem kenne semmit sehova konvertalni, meg NMI-zni. Max I/O eseten meg adott persze a feladat ... Na, majd az FPGA EP-nel :D

Btw, csinaltam windows build-et az Xep128-bol megint (szokas szerint azt tesztelni nem tudtam). Fontos, az uj combined.rom kell hozza, mert abban van ZX40.ROM is mar benne ...

http://xep128.lgb.hu/files/xep128-win32.zip

Ja, meg van benne printer "emulacio", bar annak csufolni kicsit bator: megnyitja/letrehozza a print.out nevu file-t, es mindent kiir bele, ami a printer portra megy (nyilvan azert a strobe signal megfelelo figyelesevel, ahogy illik), semmi egyeb.
« Last Edit: 2015.June.03. 16:59:09 by lgb »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #17 on: 2015.June.03. 15:18:47 »
[ Guests cannot view attachments ]

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #18 on: 2015.June.03. 21:10:45 »
Na, ezt megnézem!
UHU-3 Linux csomagot kreálok, mivel azt használok.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #19 on: 2015.June.03. 21:19:54 »
Na, ezt megnézem!
UHU-3 Linux csomagot kreálok, mivel azt használok.

Az sem rossz :) Azert vigyazz, mert iszonyat mennyisegu dolgot kidob stdout-ra es stderr-re is. Ha pl terminalbol futtatod, es nem iranyitod at a kimenetet pl /dev/null -ra :) akkor annyi kiiras van, hog attol lassu az egesz. Mondjuk mivel pre-alpha az egesz, neha hasznalom, nyilvan normalis allapotban majd nem fogja teleszemetelni az stdout-ot ...

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #20 on: 2015.June.03. 22:00:52 »
A Makefile nem tartalmaz install részt, csak helyben fordításra szolgál.

Nos megpatkoltam a Makefile-t, hogy ne a wgettel kapja le a cuccokat, mert chroot-ban fordítok, ahol csak a fordításhoz szükséges csomagok vannak feltelepítve, A chrootban a build rendszeremben nem megengedett a wget használata, mivel ott nincs is internet!
Code: [Select]
diff -Naur orig/Makefile mod/Makefile
--- orig/Makefile 2015-06-03 21:19:21.000000000 +0200
+++ mod/Makefile 2015-06-03 21:33:46.509474758 +0200
@@ -38,11 +38,11 @@
 
 $(SDIMG):
  @echo "**** Fetching SDcard image from $(SDURL) ..."
- wget -O $(SDIMG) $(SDURL) || { rm -f $(SDIMG) ; false; }
+# wget -O $(SDIMG) $(SDURL) || { rm -f $(SDIMG) ; false; }
 
 $(ROM):
  @echo "**** Fetching ROM image from $(ROMURL) ..."
- wget -O $(ROM) $(ROMURL) || { rm -f $(ROM) ; false; }
+# wget -O $(ROM) $(ROMURL) || { rm -f $(ROM) ; false; }
 
 $(Z80EX):
  $(MAKE) -C z80ex static

Tehát az UHU build rendszere a chroot felépülése előtt lekapja  a gitt legutolsó revizíóját, a wgetes fájlokat, majd átmásolja mind  a chroot fordítási helyére, a build felhasználó átchrootol oda és elvégezné a fordítást, a leendő telepítést, majd a végeredményt deb csomaggá pakolná és kimásolná a végeredményt, amit fel tudonék majd telepíteni kipróbálás céljából.

Most ott tartok, hogy a fordítás elekad.

Code: [Select]
compile...                                                                                                                                                                                                                                                                   
+ ub_compile
make -j2
Compiler: gcc -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I.
Linker:   gcc -L/usr/lib -Wl,-rpath,/usr/lib -pthread -lSDL2 -lSDL2_net  z80ex/lib/libz80ex.a z80ex/lib/libz80ex_dasm.a
make xep128
make[1]: Entering directory `/var/uhubuild/work/compile'
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. main.c -o main.o
main.c: In function 'main':
main.c:267:6: warning: unused variable 'last_optype' [-Wunused-variable]
  int last_optype = 0;
      ^
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. cpu.c -o cpu.o
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. nick.c -o nick.o
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. dave.c -o dave.o
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. input.c -o input.o
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. exdos-wd.c -o exdos-wd.o
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. sdext.c -o sdext.o
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. rtc.c -o rtc.o
sdext.c: In function '_block_read':
sdext.c:139:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
  int ret;
      ^
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. printer.c -o printer.o
gcc -c -Wall -O3 -ffast-math -pipe -I/usr/include/SDL2 -I/usr/include -D_REENTRANT  -Iz80ex/include -I. zxemu.c -o zxemu.o
make -C z80ex static
make[2]: Entering directory `/var/uhubuild/work/compile/z80ex'
gcc  -fno-common -ansi -pedantic -Wall -pipe -O3 -I. -I./include -DWORDS_LITTLE_ENDIAN -DZ80EX_VERSION_STR=1.1.21 -DZ80EX_API_REVISION=1 -DZ80EX_VERSION_MAJOR=1 -DZ80EX_VERSION_MINOR=21 -DZ80EX_RELEASE_TYPE=   -c -o z80ex.o z80ex.c
gcc  -fno-common -ansi -pedantic -Wall -pipe -O3 -I. -I./include -DWORDS_LITTLE_ENDIAN -DZ80EX_VERSION_STR=1.1.21 -DZ80EX_API_REVISION=1 -DZ80EX_VERSION_MAJOR=1 -DZ80EX_VERSION_MINOR=21 -DZ80EX_RELEASE_TYPE=   -c -o z80ex_dasm.o z80ex_dasm.c
ar rs ./lib/libz80ex.a z80ex.o
ar: ./lib/libz80ex.a: No such file or directory
make[2]: *** [static] Error 1
make[2]: Leaving directory `/var/uhubuild/work/compile/z80ex'
make[1]: *** [z80ex/lib/libz80ex.a] Error 2
make[1]: Leaving directory `/var/uhubuild/work/compile'
make: *** [all] Error 2
Error: HIBA a(z) compile fazisban.
ccache-compress...
logpack...
1 error.
Fájlrendszerek leválasztása: dev, proc, ccache, forrás OK
LogPack kimásolása /usr/src/UHUBUILD/misc-3/logpack alá... OK
****************
*** HIBA !!! ***
****************

A buildelés befejeződött.

A következő ub csomagok utolsó fordítása hiba miatt megszakadt: qt5 xep128
Hmmm. a qt5 ne zavarjon, az egy más történet, már idejétmúlt.

Tehát nem jön létre ez: ./lib/libz80ex.a: No such file or directory

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #21 on: 2015.June.03. 22:12:17 »
Most látom az80ex Makefiléből , hogy akár dinamikusra is megcsinálható külön libként, csomagként.
Sőt, hogy ez létezik debian csomagként is, Arch-linuxon is  és van forrása a Sourceforge -n.
UHU-3 -on nincs, de nemsokára lesz.
« Last Edit: 2015.June.03. 22:23:12 by Attus »

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #22 on: 2015.June.03. 22:36:12 »
Most látom az80ex Makefiléből , hogy akár dinamikusra is megcsinálható külön libként, csomagként.
Sőt, hogy ez létezik debian csomagként is, Arch-linuxon is  és van forrása a Sourceforge -n.
UHU-3 -on nincs, de nemsokára lesz.

Hat, ubuntu-ban van belole csomag, kulon lib marmint. Amiert nem azt hasznaltam, es inkabb belepakoltam:

* windows-on ez nehezkesebb lenne, es legyen egyseges
* mas distroban nincs esetleg Linuxon se ...
* optimalisabb statikusan linkelve (PIC code regiszterhasznalat stb)
* esetlegesen belenyulhatok a z80ex-be ha kell mondjuk vmiert ...

stb :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #23 on: 2015.June.03. 22:45:51 »
* esetlegesen belenyulhatok a z80ex-be ha kell mondjuk vmiert ...
Az mi? Maga a Z80 emuláció?

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #24 on: 2015.June.03. 22:49:18 »
Az mi? Maga a Z80 emuláció?

Az. Ja, itt van Povi.

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Xep128
« Reply #25 on: 2015.June.03. 23:02:09 »
Most már van z80ex-1.21 csomagom, esetleg ezt dinamikusan lehetne belinkelni.

Legfeljeb hülyére patkolom a Makefile -ket.
:)

A statikus lib készítés,mint beidéztem, nekem most nem működik.

Persze megértem, a windózon előnyösebb a statikus, sőt mindenütt. Jó apró a z80ex...

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #26 on: 2015.June.03. 23:10:39 »
Az.
Van belöle Z180 verzió is? Ha nincs, akkor csinálsz? :-)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #27 on: 2015.June.04. 00:43:21 »
Most már van z80ex-1.21 csomagom, esetleg ezt dinamikusan lehetne belinkelni.
Legfeljeb hülyére patkolom a Makefile -ket. :)

Lelkes vagy, bar nem tudom, a xep128 jelenlegi allapotaban sok mindenre nem jo, nem erdemes _szerintem_ csomagolni stb. Persze, ha akarod, nyilvan megteheted :)
Imho, nagy patkolas nem kell hozza, hogy dinamikus legyen, LIBS = -et atirod kb arra, hogy

Code: [Select]
-lz80ex -lz80ex_dasm
Es talan eleg is lesz. Ja meg $(Z80_EX)-et kivenni a dependency-bol a $(PRG) rule-nal.

Quote
A statikus lib készítés,mint beidéztem, nekem most nem működik.

Spec a z80ex Makefile-jat nem en irtam, az kb az eredeti. En csak a masik szornyusegert vagyok a felelos :) Az mondjuk erdekes, hogy az ar-nek mi a baja ...

Quote
Persze megértem, a windózon előnyösebb a statikus, sőt mindenütt. Jó apró a z80ex...

Az is vicces, windows-om ugyanis nincs, csak gondoltam nem sok embernek lesz hasznos, ha Linux-only, szoval megneztem, tudok-e vmit kezdeni egy cross-compiler-rel.

Egy kiegeszites: szerintem ez a hasznaljuk mas forrasbol szarmazo (pl deb csomag) libet z80ex-nel nemsokara nem fog mukodni, ui a "nep" (Zozo) Z180 emulaciot szeretne, ha nem is tokeleteset feltetlen elsore. Ehhez viszont mar a z80ex-be is bele kell irni, azaz kulon csomagolt z80ex-el akkor mar le sem fog fordulni feltetlen, ha ez kesz lesz (ha ...). Mivel Xep128-ra amugy is azt tuztem ki celul, hogy nem ep128emu-val kivan versenyezni, inkabb "extremebb" dolgokat emulalni, a Z180 siman belefer az "extrem" kategoriaba :) Nyilvan, atlag EP emulaciora, fejlesztesre stb, az ep128emu mindig is jobb lesz. A masik, hogy a z80ex-ben levo disassembler az vmi csapnivalo, mar elnezest (inkabb irnek egy hasznalhatobbat). Bar igaz, nem is hasznalom :) A kodban benne van, volt, hogy minden opcode-ra bekapcsoltam, irja ki mi az, es ezt loggolva neztem, mit szurok el az emulacioban :D
« Last Edit: 2015.June.04. 09:48:41 by lgb »

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #28 on: 2015.June.04. 00:46:24 »
Van belöle Z180 verzió is? Ha nincs, akkor csinálsz? :-)

Nem en irtam a z80ex-et sem :) Amugy talan a FUSE-hoz van koze (?), ahogy az JSspeccy-ben levo Z80 emunak is (amit aztan JSep-ben hasznaltam). FUSE eleg kozponti figura :) Egy Spectrum emulator, ha vki nem ismerne.

Mire lenne jo a Z180 emulacio amugy? Eleve sok utasitas vegrehajtasi idejet kene modositani, nehany dolgot "lebutitani" (nincs IXL/IXH stb), van amit hozzaadni (uj utasitas). Es marad meg sajna egy rakas extra feature, on-chip DMA miegymas, na ez biztos nem trivialis annyira. Miert lenne jo? :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14775
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #29 on: 2015.June.04. 07:54:49 »
Mire lenne jo a Z180 emulacio amugy?
Ha már van Z180-as EP, lehessen emulálni is :-)

Quote
Eleve sok utasitas vegrehajtasi idejet kene modositani, nehany dolgot "lebutitani" (nincs IXL/IXH stb), van amit hozzaadni (uj utasitas).
Pont erről van szó :-) És a legjobb lenne ha szólna az emulátor, ha "butításba" fut bele a program, így lehetne tesztelni mi kompatibilis.

Quote
Es marad meg sajna egy rakas extra feature, on-chip DMA miegymas, na ez biztos nem trivialis annyira.
Egyelőre ezek hanyagolhatóak.