Welcome, Guest. Please login or register.


Author Topic: Xep128 (Read 164685 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #225 on: 2016.March.18. 19:05:02 »
Így van.
Mészáros féle EPROM/SRAM kártyán 32K volt alapból, de többet is bele lehet tenni. Ha jól emlékszem az EPDOS 2 az 16K-t használt belőle saját magának.

Na jo, amator modon probalkoztam :) Oszinten, szerintem itt elegge konstans a felhasznalas, nem eri meg filenevezni stb, meg nekem is sokat kene dolgozni hozza :oops:

Igy, minden maradt a regi, kiveve egy fontos tenyt. Akkor mukodik csak, ha a szegmens megadasos modszerrel probalja az ember, pl config file-ban:

ram = @=30,=40-41,90-A0

Vagy ugye ugyanez parancs sorban:

-ram @=30,=40-41,90-A0

Vagy extrem modon (ez nem biztos, hogy menni fog, mivel run-time atdefinialas, stb), :XEP -en at:

:XEP RAM !@=30,=40-41,90-A0

Szoval lathato, hogy ahol SRAM szegmens kell ott egy = jel van a szegmens elott (vagy akar tartomanyra is lehet ...). Amelyiknel nincs (pl 90-A0) az sima RAM. Persze a :XEP RAM parancs parameter nelkul hasznos, megnezni, hogy az lett-e az eredmeny amit gondoltunk :)

Elvileg a policy lenyege (a csunya megoldasom ...) az, hogy fix file neveket hasznal. A prefereces directory-ban tarolodnak ilyen alakban: sram-90.seg Itt a 90 a szegmens szam, minden file egy szegmens. Indulaskor megprobalja betolteni az aktualis szegmensszam alapjan, kilepeskor meg lementeni. Persze tobb ilyen file kepzodhet, ha tobb SRAM szegmens van, vagy akar egy tartomany .. Extrem esetben meg arra is jo trukknek, hogy pl a nullas lapot megjelolni SRAM-nak, igy utana meg lehet vizsgalni mi votl rajta, mer lementi :-P

Az fontos, hogy bar sok hibakezeles nincs jelenleg, de valoszinu nem fog menni, ha mar letezo akarmilyen definiciot (legyen az RAM, ROM, VRAM ...) akarja az ember feluldefinialni, ugyanazon a specifikacion belul, nyilvan, azaz logikusan a @=30,30 es hasonlok nem igazan mennek, vagy ha ROM kerult oda, vagy ha a tartomanyba beleesik valami, akkor erdekes lesz ...

Azert nem biztos, hogy jol mukodik ez igy se, max igy erzesre ... A szokott helyen ... Amin filozok meg, hogy lehet, az internal XEP ROM-mal fog utkozni, mert azt (sem) lehet feluldefinialni, azt viszont magatol valasztja ... Jelenleg a legmagasabb szegmensszamu ROM utan pakolja amugy (meg a RAM/SRAM definiciok beallitasa elott! a ROM-okkal kezdi utana jon a RAM/SRAM, illetve a VRAM van valojaban legelol, azt meg a ROM sem tudja - ertheto modon - feluldefinialni ...).

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #226 on: 2016.March.18. 19:21:18 »
Tenyleg, ha jol elol van SRAM, nem fogja megtalalni az EXOS es kikialtani nullas lapnak? Mert akkor aztan az EPDOS hogy hasznalja fel sajat maganak? Vagy "levedi" o ezt az "EXOS elol" az indulas alatt/elott?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #227 on: 2016.March.18. 19:54:39 »
Tenyleg, ha jol elol van SRAM, nem fogja megtalalni az EXOS es kikialtani nullas lapnak? Mert akkor aztan az EPDOS hogy hasznalja fel sajat maganak? Vagy "levedi" o ezt az "EXOS elol" az indulas alatt/elott?
Ilyenkor az EPDOS RAM tesztje fut, és az kihagyja magának.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #228 on: 2016.March.18. 22:52:11 »
Ilyenkor az EPDOS RAM tesztje fut, és az kihagyja magának.

Hmmm, ez kisse fura megoldas nekem :) Nem lenne celszerubb, ha mondjuk amikor EXOS hivja az EXOS_ROM-okat (tudomisen, 8-as funkciokod vagy mi ...), akkor trukkozik kicsit es atirogat ezt/azt, hogy ne az legyen a nullas lap? Vagy ez igy nagyon gaz lenne? :)

Amugy szolj, ha ez az SRAM support muxik. Vagy ha nem :) Vagy ha egyeb kihivast jelenti otleteid vannak :-P

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #229 on: 2016.March.19. 17:07:15 »
Legujabb hulyesegem :) A "covox", 8 bit D/A :) Gondolom mindenki tudja mi volt az meg PC-n :) Na, ilyet EP-re is lehetne a printer portra. Ugyan nem teszteltem, hogy muxik-e, de most beleirtam. Elvileg hiper-szuper auto-detect ... Ha valami probalja irni a printer portot allandoan, de sokaig nem kuld strobe-ot, akkor atkapcsol covox modban, es letiltja a Dave audio-t (lehetne mixelni is persze, csak az nehezebb ...). Ha aztan jon strobe (pl nyomtatas), a covox mod automatice letiltasra kerul, es Dave hang visszajon. Illetve, ha Dave regisztereket 0xA0-0xAF irja barmi, akkor is letiltodik a covox mod, ha aktiv lett volna. Igy talan eleg bolondbiztos, hogy "ne ragadjon be" meg printeles kozben (ami Xep128-nal egy file-ba megy ugye) ne adjon hangot csunyan :D Viszont nem teszteltem meg. Nyilvan ha amugy Xep128-ban a hang nincs engedelyezve, akkor tok mind1, mert se covox se Dave nem fog "megszolalni" :)

Amugy, tenyleg, jut eszembe, ilyen primitiv Covox izet lehetne epiteni EP-re, nem probalt senki meg? Csak par ellenallas kb :D

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #230 on: 2016.March.19. 19:32:33 »
Hamár ilyen, akkor a DTM lejátszó által kezelt 4x8 bites kártyát (EXTERNAL D/A 4*8 bit on F0-F3) kéne berakni.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Xep128
« Reply #231 on: 2016.March.19. 20:23:05 »
Hamár ilyen, akkor a DTM lejátszó által kezelt 4x8 bites kártyát (EXTERNAL D/A 4*8 bit on F0-F3) kéne berakni.

Ezt támogatja az ep128emu is, az F0 és F1 port a bal csatorna, az F2 és F3 pedig a jobb.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Xep128
« Reply #232 on: 2016.March.19. 20:32:41 »
Ezt támogatja az ep128emu is, az F0 és F1 port a bal csatorna, az F2 és F3 pedig a jobb.
:smt038

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: Xep128
« Reply #233 on: 2016.March.19. 20:39:28 »
Ezt támogatja az ep128emu is, az F0 és F1 port a bal csatorna, az F2 és F3 pedig a jobb.

hehe ez király, max z80 sebességgel zajt ad ki ha randomot tolok rá
na persze ezt az igazi hang portokkal is lehet :)
Vigyázat! Szektás vagyok! :)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #234 on: 2016.March.19. 20:55:30 »
Ezt támogatja az ep128emu is, az F0 és F1 port a bal csatorna, az F2 és F3 pedig a jobb.

Most mar a Xep128 is :-) Mar kb olyan szinten, amennyire hang van benne amugy is jelenleg: benan :D

De DTM elindult vele, es hangot is adott azert valamit, external dac-ot valasztva, szoval szodaval elmegy elso korben ... Mondjuk a lustasagom nagy ur, mixet, zero offset eltolast akarmit lusta vagyok nekiallni :) Ezert jelenleg Dave, "Covox", meg external dac szolhat csak, es kapcsolgat kozottuk, ha erzekeli hogy epp melyiket hasznaljak. Mondjuk normal esetben elvileg ez annyira nem nagy gond, de azert nem is szep megoldas :)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #235 on: 2016.March.21. 22:02:20 »
Van ujabb win32 build. Az angol (most mar Xep128 ...) forumban "elvagyunk ..." a mouse emulacioval, ugy tunik EGI/mouse driver mar kisse ertelmesebben megy vele pl, ilyen vegyes dolgok mellett mint amirol mar volt szo, hogy DTM 4csatis DAC meg stb (de az audio resze persze meg mindig gaz ...).

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #236 on: 2016.March.24. 08:49:53 »
"Tegnap" (hat ma ...) ejjel/hajnalban beroffentettem a Raspberry PI-met (model 1 B+). SDL 2.0.4-et forditva ... majd Xep128. A meglepetes az, hogy anelkul, hogy hozzanyultam volna barmihez a forrasban lefordult rajta es el is indult, es mukodni latszik ... SDL rulZ :) A CPU terheles 80% kornyeken van audio miegymas nelkul is viszont ... Attol feleg, hogy majd normalisabb hang emulacioval, meg normalis Nick emulacioval mar nem menne real-time-ban :( Bar ujabb Rapsberry PI-kkel, esetleg optimalizalassal stb talan nem lenne lehetetlen, igazabol azt se tudom, mennyire hasznalja ki rendesen a GPU-t az SDL, eleve csak full screen-ben tamogatott X nelkul sima konzolrol inditva. Hangot amugy se tudnek tesztelni, csak egy HDMI kabel van a monitorig most eppen, TV-n mondjuk meglesem majd, hogy atvisz hangot-e es hogy nez ki szep nagyban :-P

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Xep128
« Reply #237 on: 2016.March.24. 11:31:14 »
Attol feleg, hogy majd normalisabb hang emulacioval, meg normalis Nick emulacioval mar nem menne real-time-ban :(

A NICK emuláció már most is "normális", azaz slot felbontással fut és nincs lényeges hiányzó funkció, ami a CPU fogyasztását jelentősen növelné. Teljes hang emuláció az eredményezhetne lassulást, bár ebben az esetben lehetne például fordításnál vagy futás közben konfigurálhatóan kis CPU igényű mód.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #238 on: 2016.March.24. 12:29:03 »
A NICK emuláció már most is "normális", azaz slot felbontással fut és nincs lényeges hiányzó funkció, ami a CPU fogyasztását jelentősen növelné. Teljes hang emuláció az eredményezhetne lassulást, bár ebben az esetben lehetne például fordításnál vagy futás közben konfigurálhatóan kis CPU igényű mód.

https://www.youtube.com/watch?v=n-qYMUGZaAs

A hang "tuti", kirpobaltam szepen szaggat :) Spec SDL indit kulon thread-et szerintem a re-sampling-ra, ami eleve sokat zabalhat, az meg, hogy kulon thread OS szinten is "megterhelobb". Vegulis, megcsinalhatnam magam is, ha nativ sampling rate-et kerem, es en megoldom, meg stb. Bocs, eleg bena egy video, konyvekkel kitamasztva stb, lehet ki kene vagnom inkabb :D

Bar akkor eppen nem neztem a CPU fogyasztast mert TV-rol volt kotve, amugy be ssh-ztam ra, es ugy neztem kozben, csak a TV-nel nincs net :) Ami a jovoben CPU fogyasztast okozhat esetleg, az a VRAM timing korrektte tetele, de lehet, ez nem jelentos :) Kozben jatszottam gcc opciokkal, igy ~80 helyet 70%-ra is sikerult leszoritani a CPU kihasznaltsagot (es csak gcc 4.6 volt fenn a raspin, lehet 5-osok meg jobban is tudnanak optimalizalni - na meg celszeru lenne inkabb cross compiling mert ez igy nem keves ideig tart lefordidani rajta ... meg ugy is hogy NFS-en volt a devel FS-em, mert SD kartyara irva/olvasva meg lasabb hemmm), az Enterprise logo alatt neztem osszehasonlitast :) Erdekes, hogy csak a 16 bytes-os alignment fuggvenyekre es loop-okra okozza egyedul ezt a valtozast. Nem tudom mi okozza, talan a cache szervezese. Meg arra gondoltam, hogy esetleg majd Nick emulacio tipikusan olyan a slot rendering funkciok, ahol meg lehet probalni akar asm betetekben is megirni optimalizalt verziot (bar ARM assembly-t csak erintolegesen ismerem ...). Mondjuk nem tudom, erne-e annyit. Lehet kell majd vmi profiling info is, hogy hol tolti a legtobb idot az emulator, mennyit, stb.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Xep128
« Reply #239 on: 2016.March.28. 21:19:48 »
Hagyva kicsit a Raspberry PI-t, megint szorakoztam Xep128 fejlesztessel ... Most a "normal" helyre kiteve, ha valakit meg erdekel :-D A mostani munkam fo lenyege, az angol forumbol mar ismeros windows/console problema, es ahhoz kapcsolhato. Szoval. Normal modban inditva az emut, egy pillanatra villan egy ablak, az nem lenyeg. Mar a futas alatt (default kbd mapping eseten ...) a keypad minusz gombjaval elo lehet csalni a console-t (bezarni nem biztos, hogy jo otlet egerrel, lehet bezarja az egesz xep128.exe futasat ...).

A lenyeg nem is ez, hanem hogy mar valamennyire hasznalhato benne egy monitor program, legalabbis reszben. memory dump es disassembly mar van benne. Fontos, hogy ami szinten melo volt, hogy a :XEP parancsok es a console-ban adhatoak ugyanazok, ergo elvileg mindket helyen kerheto, csak a szintaxis eleje mas ugye, pl disasm-ra:

:XEP DISASM C000:D

Ez a default combined.rom eseten pont a XEP internal ROM-ot fogja latni. A DISASM parancsnak amugy van roviditett verzioja is, ez egyszeruen a "D" betu, tehat pl :XEP D C000:D

A console-on ez ugyanaz, csak a :XEP hianyzik persze az elejerol. A DISASM/D amugy argumentum nelkul is adhato, akkor folytatja ahol tartott. Nagyon hasonloan mukodik a memoria dump, csak a parancs neve MEMDUMP (roviditese: M). Szoval pl konzolon meg egyszerubb, mivel a :XEP sem kell es van rovid D/M parancsok, eleg lehet egy betu + enter.

Fontos, hogy ez a cim megadas hogy XXXX:YY nyilvan az YY az a szegmens. XXXX lehet >= 0x4000 is, azaz mondjuk C000. Ez akkor ugy van ertelmezve, hogy az YY szegmensen belul az XXXX (also 14 bitje) csak pl a CPU szempontjabol C000-nak latszik, ez disasm-kor nem feltetlen mindegy pl nem relativ cimzesnel ... Ezert is van az, hogy pl BFFF:01 utan a listazas C000:02 -re ugrik viszont mar, mert a kezdeti megadas utan a szegmens hatar atlepesenel ezt feltetelezi. Azt sajnos igen nehez kezelni, hogy a CPU viszont lehet a kov Z80 lapon nem azt a szegmenst tartja pont :) Szoval kicsit bena, de amugy nem lehet normalisan megoldani, ha alkalmasnak kell lennie a disasm-nak arra is, hogy eppen be sem lapozott szegmenseket nezzuk, mert akkor a Dave aktualis B0...B3 figyelembevetele baromira nem segitene :) De amugy is ez csak ilyen mini debug tool, nem arra valo, hogy ezzel disasm-olja az ember a vilagot :-P

A disassembler (ami amugy a z80ex sajatja, bar kicsit belekozmetikaztam ...) cuccba irtam egy kis EXOS hack-et, hogy normalisan mutassa az EXOS hivasokat.

Fontos lehet meg a REGS parancs (roviden: R), meglepo modon listazza a Z80 regisztereket ... Ez foleg :XEP -nel erdekes, latszik is, hogy epp egy ED-trap-ban van, ami ugye az emulatort megkeri, hogy csinaljon vmit, mert XEP EXOS parancs erkezett (a z80ex "sub-opcode" modban is mukodik, azaz ED prefix utan _visszater_ az opcode emulacio fuggveny, es ujra hivasaval folytatja persze, minden oke (ez igaz DD/FD/CB izebizeri is amugy). A console-rol kiadott R parancsnal ez nincs, mert az nem a XEP ROM-on at jon, hanem az emulacio fo agan, ezert kicsit mas latszik, hogy eppen akkor hol jar.

Ezek mellett meg par kisebb dolog, pl a XEP belso ROM inditaskor az EXOS orajat az emut futtato gep oraja alapjan beallitja, szoval ha ZozoTools nincs, akkor is van legalabb vmi, meg ha utana nem is marad szinkronban feltetlen :-P (nem, 1Hz-es interrupt-ra akaszkodni es sajat ZT-t irni azert nem szeretnek ...).

:XEP alol disasm/memdump persze text 80 alatt elvezheto csak igazan ...

A console window ha nagyon zavaro, a CLOSE paranccsal bezarhato. Elvileg :D Es persze a HELP parancs mindig segit.

Szerintetek van ennek ertelme?  :D
« Last Edit: 2016.March.28. 21:29:23 by lgb »