Enterprise Forever

:HUN => Hardver => Illesztések => Topic started by: Czo on 2023.April.30. 16:26:06

Title: Fileok atvitele a sorosporton
Post by: Czo on 2023.April.30. 16:26:06
Leltaroztam az elektronikai cuccok vegtelen vodreben, es kezembekerult par MAX232, majd rogton eszembe is jutott, hogy ezzel ra tudnek drotozni a gep soros portjara egy ESP8266-ot, amin keresztul a BBS-eknel hasznalt ZMODEM atvitellel, 9.6 kbps sebesseggel tudnek FTP-rol vagy SMB/CIFS megosztasrol floppyra filet masolni. Valaki kiserletezett mar ilyesmi dologgal? Ahogy nezem, XMODEM-nel eleg szep mennyisegben szuksegesek a soros porti controll vonalak, viszont atolvasva a ZMODEM speckot, ugy latom, hogy ott eleg lehet a sima Rx/Tx.
Title: Re: Fileok atvitele a sorosporton
Post by: ergoGnomik on 2023.April.30. 16:35:08
Az ESP8266-ot több helyen is emlegetik a fórumban. Lehet érdemes lenne neked is rákeresni és olvasgatni mire használták és meddig jutottak vele a fórumtársak.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.April.30. 16:44:21
Az ESP8266-ra rakerestem, de a feljott talalatokat atolvasva, nem lattam olyat, ahol tenylegesen el is keszultek a dolgok, igy masik iranybol kozelitek, hatha jelentkezik az, aki csendben kiserletezett :) Ha nem, akkor en ugyis nekikezdek a kiserletezesnek.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.04. 23:13:20
Furcsa anomaliaba futottam bele a soros port hasznalata kozben. Osszedrotoztam a gepet tobb eszkozommel (USB-s RS232 adapter, illetve a mikrovezerlo uartja), de a fogadas nem akar mukodni. Minden eszkozon a 9600 baud, 8 bit, 1 stopbit, nincs paritas kombinaciot hasznalom. Amikor az Enterprise vegzi az adast, az jol mukodik, a megfelelo byteok megerkeznek hibatlanul, viszont amikor az Enterprisenak kellene fogardnia akkor az osszes eszkozomrol ugyonaz az anomalia latszodik. Egyetlen karaktert probalok folyamatosan 1 masodperces idozitessel atkuldeni, ez pedig a 'b', azaz 0x62, azaz 98, azaz b01100010, de ami megerkezik, az 0xc2, azaz 194, azaz b11000010. Ha nem 'b'-t hanem 'abc'-t probalok, akkor rendre 193 194 es 195-os byteok erkeznek. A csatolt basic programmal tesztelem a dolgokat. A statuszvonalak megfeleloen kezelve vannak, tehat csak akkor kuldom at a byteot, amikor a status out ezt megfeleloen engedelyezi.

Otlet?
Title: Re: Fileok atvitele a sorosporton
Post by: ergoGnomik on 2023.May.05. 08:06:40
Ilyenkor kínjában sokfélét kipróbálhat az ember. Megnézni lassabb vagy gyorsabb átvitellel (4800, 2400, 14400? 19200?), hogy mi történik? Egyesével végig próbálni a biteket (pl.: 80h, 40h, 20h, 10h, 08h, 04h, 02h, 01h, 7Fh, BFh, DFh, EFh, F7h, FBh, FDh, FEh). Visszahurkolni az EP kimenetét és megnézni mit vesz. Végső elkeseredésben szkópot tenni a TX/RX vonalakra és figyelni a jelalakot.
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.05. 08:24:39
Alacsonyabb bauddal nem próbáltad?
Amúgy én nagyon gyűlölöm a soros átvitelt, bacakodni a sok bittel össze-vissza, fúj! :twisted: 
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.05. 08:25:40
Ja, én is megnézném, hogy mi érkezik, ha 0c1h, 0c2h,0c3h-t küldesz. Nekem az a tippem, hogy vagy a küldő fél, vagy az EXOS végez egy átalakítást az adaton, mert érdekes módon a 7. bit kivételével az összes stimmel, lehetne írni egy kis gépi kódú programot ami teszteli EP oldalra mi érkezett.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.05. 08:34:00
Volt itthon egy ultraolcso aliexpresses stm32 alapu szkop kit, azt osszeraktam, azzal szemre, megfelelonek tunik, plussz az eszkozoket osszekotottem egymassal, de ugy rendben van a kommunikacio. Tehat az ESP oda-vissza tokeletes a PL2303-val es az FTDI-vel is, illetve az FTDI es a PL2303 is teljesen okes egymas kozott. Ezen eszkozok hibajat igy kizarnam. De gondoltam arra, hogy a nem megfelelo soros port lehet a gond (sok cuccal talalkoztam, ami utalja az USB-s adaptwreket), igy eloturtam egy P1-es laptopot es egy P3-as ATX konfiguraciot. A hiba ezekkel is "ugyonaz", venni tudnak az EP-tol, de adni az EP iranyaba ugyonugy hibasan (a hiba is konstans az eszkozok kozott)

Megneztem kevesebb baudon is, 300-nal, ha a kommunikacios parameterek egyeznek, akkor ugyonez a hiba jelentkezik, konstans modon.

Probaltam atkuldeni 0, 10, 20, 30, 40, 50 es 60-as decimalis erteku byteokat (gondolvan, ha osszerakom a "hibatablazatot", nekem az is jo :D), itt 0, 18, 40, 62, 80 es 98 erkezett meg. Nehezito korulmeny, hogy a 0, 1, 2 es a 3 viszont rendben megerkezett.

Szerk: illetve, meg az jutott eszembe, hogy lehet, hogy meg kene nezni basicen kivul, pl z88dk-val. A Z80 asm ismeretlen szamomra, utoljara Turbo Pascal assembly betetkent VESA grafikat meg GUS-t es SB-t piszkaltam 25-28 eve kb.

Szerk2: ha 'abc't, azaz 97, 98, 99 azaz 0x61, 0x62, 0x63 kuldok, akkor 0xc1, 0xc2 es 0xc3 a befuto, azaz 193, 194, 195.

Ma este majd meg kutakodok tovabb.
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.05. 09:03:06
Probaltam atkuldeni 0, 10, 20, 30, 40, 50 es 60-as decimalis erteku byteokat (gondolvan, ha osszerakom a "hibatablazatot", nekem az is jo :D), itt 0, 18, 40, 62, 80 es 98 erkezett meg. Nehezito korulmeny, hogy a 0, 1, 2 es a 3 viszont rendben megerkezett.
Érdekes, mert ez alapján általában az aktív bitek megvannak, csak némelyik elcsúszik eggyel fel, és ha esetleg az aktív bitek se stimmelnek, akkor pont duplázás történt, tök olyan, mintha a ready jel jönne néha későn, néha időben.
Nem lehet, hogy a PC-ről már így jön ki a jel?

Code: [Select]
00, 10, 20, 30, 40, 50
00h,0ah,14h,1eh,28h,32h

 00, 18, 40, 62, 80, 98
00h,12h,28h,3eh,50h,62h
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.05. 09:23:21
Azt is ellenoriztem, hogy a "status out", tehat az A3 vonal rendben eljut a kuldo oldalra, illetve figyelek is arra, hogy csak a megfelelo helyzetet latva vegezzek kuldest. Azt is latom, hogy a Basic GET parancsnal lesz csak megfelelo allapotu az A3, illetve itt gondoltam arra is, hogy mi van, ha tul hamar vegez adast a kuldo, tehat direkt beleirtam, hogy a karaktert azutan kuldje el, miutan mar legalabb 2-3 masodpercig engedelyezo allapotban van az A3.

Lehet nincs mese, meg kell nezni, az EXOS csatorna block olvasassal, csak hirtelen tegnap, nem talaltam annak a Basic megfelelojet, ugyhogy tenyleg kenytelen leszek megnezni ezt a Z88DK-t :D. Bar azt irja a Basic Referencia Kezikonyv, hogy lehet EXOS-t hivni Basicbol is, szoval, talan nincs veszve a dolog.

A "vegeredmenyt", tehat a szoftvert egyebkent C-ben, Z88DK-val tervezem majd megcsinalni. Ebbe akarok rakni valami helyi es tavoli filetallozast illetve, oda-vissza masolgatast, ha pedig belefer, akkor elni a ZMODEM adta RLE vagy LZW tomorites lehetosegevel (igy ugye elkepzelheto, hogy novelheto a "lathato" atviteli sebesseg), illetve, ha a mikrovezerlobe belefer, akkor abba meg tennek RAR es ZIP tamogatast, hogy az ilyen archivumok konyvtarnak latszodjanak es kozvetlenul kibonthatoak legyenek letoltes kozben ;).

Szerk: Ja igen, az eszkozok egymas kozott jok. Tehat tok mind1, hogy FTDI vagy a P1-es laptop van osszekotve, oda-vissza helyes a komunikacio, 300, 9600 es 115.2 kbps eseten is. Az sem zavarja az eszkozket, ha az USB-s eszkozt atadom egy virtualis gepnek es ott fut a szoftver. Az USB-s cuccokat a Macbookomrol Pythonban irt koddal, a pySerial libet hasznalva probaltam, a P1-es es P3-as gepen Windows 98 van, ott Delphiben rantottam ossze egy kuldeni/fogadni tudo szoftvert, a mikrovezerlon C++ kod vegzi a dolgokat. Szoval, szerintenm a kuldesi oldal rendben van :(.
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.05. 10:08:17
Ezt (http://enterprise.iko.hu/technical/Enterprise-AppNote-29.pdf) nézted már?
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.05. 10:44:48
Ezt (http://enterprise.iko.hu/technical/Enterprise-AppNote-29.pdf) nézted már?

O nem, de ebben nem latok igy hirtelen, semmi relevansat. Arra rajottem, hogy az automata handshake nem megy, ezert handshake "nelkul", tehat kezivezerelten irtam meg a kodot. Kerestem 1-1 kifele/befele hasznalhato statusvonalat, amit tudok minden nyelvbol kapcsolgatni/olvasni, azzal oldottam meg a kommunikacio idevago reszet. Aszem az EXOS leiras irja, hogy az EP kuldeskor nezi a status-in -t, fogadaskor pedig allitja a status-out vonalat., szoval a tulajdonkeppen, mind a ketto oldalon ra kell pillantani adas elott, hogy felkeszult-e a masik fel az adatok fogadasara.

Azt latom, hogy a doksi beallitja 9600-ra a baudot, viszont 8,N,2 modon marad igy a sorosport. DOS-ban is ez lehet a default? Az USB-s vezerlokkel probaltam 8,N,2 -t, de ugyonaz erkezett meg az EP-re, mintha 8,N,1 -et hasznalnek (tehat az elobbiekben leirt bithiba, lehet, hogy ez sem megy jol az USB-s cuccnak?), de a 8,N,2-t nem probaltam sem P1/P3, sem a mikrovezerlo iranyabol.

Az Enterprise soros vonalanak a jelszintje egyebkent tokeletes a MAX232 IC-hez (ezzel van illesztve a mikrovezerlo), illetve megfelel az FTDI es PL2303-as USB adaptereknek is, tehat ott nem kell semmit sem, sehova felhuzni. Az is feltunt, hogy se a P1-es Notebook se a P3-as PC nem latja az EP-bol kijovo 1-et (~6-7V) 1-nek, ezert eloszor egy 10k, majd 4.7k vegul 2k ellenalassal huztam fel a P3-as PC-bol kinyert 12V-ra (a P1-es notebookhoz igy eloszor kozos GND-re hoztam a P3-as PC-vel, hogy a PC-bol kinyert 12V megfelelo legyen), igy helyrejott a kommunikacio, de ez csak az Enterprise -> PC iranyt erinti, ami ugye helyesen mukodik. A kommunikacioban resztvevo felek kozos vonalanak mindegyik esetben az A1-es 5V offszetes referencia labat hasznaltam. A mikrovezerlo es a MAX232 tapellatasahoz egy kulso, 5V-s dugasztapot hasznalok.

Szoval, nem ertem. Tenyleg abban bizom, hogy a Basices GET zavar be, es ha blokk olvasnek a csatornarol, lehet, hogy jo lenne. Ugyis itt a hetvege, az idok vegtelen tengerevel :D

Az elozon kivul pedig, amit meg fogok meg nezni:
- P1/P3 felol a doksiban leirt bekotes mellett a doksiban leirt commandokkal a file atvitel a PC iranyabol (remelem a 9tus RS232 dugon is megvan minden, ami itt a 25-nel irva van)
- P1/P3 es a mikrovezerlo felol a 8,N,2 atvitel
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.05. 11:14:52
Szerintem a GET nem zavarhat be, az már az EXOS soros átvitel által összerakott Byte-ot kapja meg.
Az oké, hogy a karakterküldéssel vársz, de a karakter küldésekor, az elküldött bitek közötti státuszváltással lehet a bibber szerintem.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.05. 11:28:57
Marmint, arra gondolsz, hogy a "status-out" vonal valtozna egy adatbyte bitjei kozott? Ilyet nem lattam mikozben az occso szkoppal (ilyen jatek szkopom van (https://jyetech.com/wave2-2-channel-portable-oscilloscope/), $30 korul volt vagy 2 eve, a 200kHz-be a 9600 baudos serial pedig boven belefer) nezegettem es a doksi sem ir errol semmit. Az szepen latszik, hogy a "status-out" 1 lesz amikor kiadom a GET-et, majd kb azonnal 0, ahogy a stopbit megerkezett (kb ekkor jelenik meg a print is a kijelzon). Kozben pedig vegig, stabilan 1. Ez a vonal szerintem nem mozog.

Arra gondoltam meg, hogy baj lehet az idozitessel, mert nincs ugye orajel vonal, a baudbol tudja az ado es a vevo, 1-1 bit hosszat, ha pedig csokkented az atviteli ratat, akkor nonie kell a tolerancianak, de 300 baudon is ugyonaz a "bibi" jelentkezik. Plusz, ez egy faek egyszeru vonal, a kapcsolasi rajz alapjan "semmi" varazslat nincs, siman TTL-re van alakitva, majd be van kotve egy 74LS373-ba. Tehat, az EXOS lesz az, aki "szoftveresen" osszerakja a byteokat. Ezert gondoltam itt meg arra, hogy gepi koddal, vagy C-vel lehetne eleg gyorsan olvasni az ehhez tartozo 0xb6 i/o portot, majd megnezni, hogy igy mi erkezik. A gep nem turbositott, tehat abbol adodoan se lehet olyan baj, hogy "elcsuszik az ido". Exos 2.4 van benne, lehet futok majd egy kort a gyari Exos 2.1-vel is.
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.05. 12:07:13
Exos 2.4 van benne
Esetleg próbáld ki SET 191,4-el.
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.05. 12:12:12
Bocs, azt hittem, hogy a STATUS IN arra való, hogy jelezze, hogy adat érkezett, de nem használja egyáltalán az EXOS, igen beállítja a DATA OUT-ot, gondolom jelezve, hogy adatra vár, majd addig vár, míg b6 port 4. bitje (DATA IN) 0 nem lesz, ha ez megtörtént, akkor fix sebességgel elkezdi feldolgozni a biteket, ha megvan mind a 8 bit, akkor addig vár, míg a b6 port 4. bitje nem vált 1-be, ha ez megtörtént, akkor eltárolja a bájtot a memóriába, és kezdi elölről az egészet.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.05. 12:13:00
Esetleg próbáld ki SET 191,4-el.

Meg merhetem kerdezni, hogy ez mit csinal? :)
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.05. 12:13:37
Esetleg próbáld ki SET 191,4-el.
Tuti ez lesz a probléma.
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.05. 12:17:54
Meg merhetem kerdezni, hogy ez mit csinal? :)
Várakozás minden memória beállításnál, így pont olyan sebességgel fog futni, mint ahogy az EXOS 2.1-en. EXOS 2.4 letiltja a várakozásokat, így gyorsul a gép.
Ki is próbálhatod, lefuttatsz egy basic programot OUT 191,4 után, majd ugyanazt OUT 191,12 után.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.05. 12:24:37
Most csak az emulator van keznel, ott 140 az erteke ennek a boot utan. De akkor jol sejtem, hogy ezen valtozo, b3-as bitje lesz az, amit 1-re allitva letiltodik a waitstate, 0-ra allitva pedig engedelyezodik? Ha ez a hiba, akkor celszeru lesz transfer elott ezt tekergetni, majd a transfer vegeztevel visszallitani.

Tippre, turbos gepnel is baj lehet a gyorsabb CPU miatt. Bar, ha gyarilag terveztek 6Mhz-t, az meg talan mehet.
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.05. 13:02:36
Boot közben állítja 140-re, de utána már 12, igen a bit3 beállítva tiltja a várakozásokat, nullázva engedélyezi, és bit2 alapján mennek majd a várakozások.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.05. 13:04:37
Boot közben állítja 140-re, de utána már 12, igen a bit3 beállítva tiltja a várakozásokat, nullázva engedélyezi, és bit2 alapján mennek majd a várakozások.

Szuper, koszi. Este megnezem es jelentkezem :)
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.05. 13:06:37
Meg merhetem kerdezni, hogy ez mit csinal? :)
Engedélyezi a memória várakozást, ami EXOS 2.1 default.

6MHz-nál elvileg a 191,6-tal lehet próbálkozni. Mondjuk nem tudom hogyan számolgatja az időzítéseket a SERIAL: (Na ezért is utálom ez a soros vonalat :twisted: ), Mindenesetre a 6MHz-es Modell 911-be hardveres soros portot szántak Z80 SIO-val. Talán ők se voltak megelégedve az eredeti megoldás működőképességével... :oops:
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.05. 13:07:31
Úgy látom, hogy turbósításra nem állítódnak a várakozási értékek, így elméletben gyorsabb adatátvitelt is eszközölhetsz.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.05. 19:08:27
Alakul a dolog. Tehat SET 191,4 utan az elso byte megerkezett jol, a tobbi nem, majd tudva, hogy mi kerul a kabelre, feltunt, hogy a 2. byte "helyes", ha feltetelezem, hogy a masodik byte startbitje az az 1. byte 2.! stopbitje, majd igy csusztatava mindent, ki is jon a megerkezett byte. Ezert, azonnal atallitottam a kuldot 8N2-re, es BUMM, megerkezett minden byte. Szoval, most ugy nez ki, hogy hiaba allitgatom a "SET SERIAL FORMAT" erteket 0 es 8 kozott, csak akkor mukodik a kommunikacio, ha 2 stop bitet hasznalok. Boot utan a default egyebkent 9600 baud, es 8N2.

Ez alapvetoen, "csak" azert para, mert igy a 9600 baud az 872 byteot jelent, mig 1 stop bit eseten 960 byteot.

Lenne ertelme megnezni EXOS 2.1 eseten is a dolgokat? Vagy mi lehet meg az, ami itt bekavar? Kinek van meg tovabbi tippje?

Szerk: Az ugye mind1, hogy eloszor adom ki a SET SERIAL BAUD-ot, majd azutan a SET SERIAL FORMAT-ot? Illetve, mind a kettot a csatorna megnyitasa elott.
Title: Re: Fileok atvitele a sorosporton
Post by: gflorez on 2023.May.06. 01:16:03
Talán a holland EnterFace magazin (http://enterprise.iko.hu/magazines/ENTERface_198706-07.pdf) Midi cikke(18-21. oldal) adhat egy támpontot, hogyan lehet nagyobb soros sebességet elérni a Machine Code-on, de ezúttal az EXOS-on kívül.

Valamikor régebben készítettem egy fordítást angolra és spanyolra.  A szöveget közvetlenül magyarra is lefordíthatod.
Perhaps the Midi article in the Dutch EnterFace magazine (http://enterprise.iko.hu/magazines/ENTERface_198706-07.pdf) (pages 18-21) can give you a clue on how to achieve higher line speeds in Machine Code, but this time outside of EXOS.

Some time ago I did a translation into English and Spanish.  You can also translate the text directly into Hungarian.
Title: Re: Fileok atvitele a sorosporton
Post by: geco on 2023.May.07. 08:47:58
Lehet én értelmeztem félre az EXOS Serial működését, de ptt úgy tűnt, hogy 8 bit beolvasása után stop bitre várt, ha ez megjött, kiírta az adatot, és mihelyt alacsonyra váltott, várta a következő adatot.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.07. 08:54:39
Yepp, igy mukodik maga a sorosport. Viszont "megbeszeles kerdese", hogy hol, mibol, hany bit legyen, ezt tudod konfiguralni a 'SET SERIAL FORMAT' segitsegevel. Itt irja a dokumentacio (http://www.ep128.hu/Ep_Konyv/Exos.htm#189), hogy a stop bitek szama allithato (alapbol 2), viszont hiaba jarok el a dokumentacionak megfeleloen (8-as ertek az egesz bytera), akkor is ketto stop bitet var az EXOS. A kuldo oldal, a szkop alapjan helyesen, tehat a konfiguracionak megfeleloen tovabbitja a jelet. A masik valtozo, amiben a baud allithato, az rendben mukodik.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.07. 09:05:27
Egyebkent, egesz jol ossze lehet rakni ezt a hardvert. Pl. nem kell se kazettan, se floppyn, se ROM-on terjeszteni a hozza valo szoftvert, mert boot utan, egy
Code: [Select]
SET 191,4
LOAD "SERIAL:"
Kiadasa utan, maris betoltodhet a masoloprogram (probaltam, mukodik). Itt lehet annyi cheatet elhelyezni, hogy lehet a programban opcio sajat maga floppyra mentesere, igy legkozelebb nem kell semmi idot sem varni.

Zozo: Ha lesz egyszer ujabb EXOS, abba vissza lehetne csempeszni a varakozast a sorosporti muveletek eseten?
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.07. 12:22:10
Valaki probalgatta mar ezt a feluletet erdemben? Marmint a soros portot :) Ugye a 9600/8,N,2 eseten a maximalis atviteli sebesseg, az 0.87 kByte/s (9600 atvitt bitbol, minden bytehoz kell 1 startbit, es 2 stop bit, tehat 9600/11, az atviheto byteok szama).

A doksi alapjan, amit Zozo linkelt (https://enterpriseforever.com/illesztesek/fileok-atvitele-a-sorosporton/msg88886/#msg88886), a csatorna nyitas, majd a copyval ehhez kepest, csiga sebesseggel, mindossze 0.14 kByte/s sebesseggel sikerult a floppyra masolni a cyrus chess 'com' allomanyat. Ha pedig a load "serial:"-val toltom be, akkor 0.57kByte/s volt elerheto.
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.07. 17:42:59
Mert a COPY karakter írás/olvasást használ, a LOAD meg blokk olvasást.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.13. 16:16:07
Le a kalappal az IS fejlesztoi elott. Igencsak meglepodtem a block read mukodesen, mert eddig ahhoz voltam szokva, hogy fizikai block eszkozrol meg csak-csak kap az ember annyi byteot, amennyit ker, de sorosportnal leginkabb a 2-32 byte kozotti adat jon ki egyszerre. No, itt nem :) Siman kerek a 4k-t a serial portrol az EXOS 06h hivasaval es bumm, annyit is kapok. Azt mar latom, hogy ugy lesz celszeru megvalositani, ha a soros iranybol 1k/2k szeletekben olvasok (igy lehet majd kirakni erdemben progressbart pl), mig floppyra ossze kell varni tobb szeletet es azt egyben kitolni. A file a notebookomon futo FTP szerverrol jon :)

Fel is raktam egy mini, techdemo videot jutubra (https://www.youtube.com/watch?v=jPQC9vKeuXM) :)

z88dk-val keszult, sdcc -t compilernek hasznalva es tartalmaz nehany assembly betetet is. Ezen kivul, bele kellett nyulnom a gyari crt0-ba is. Eddig soha nem irtam Basicen kivul semit ide, ugyhogy ez lett az elso C + ASM programom.
Title: Re: Fileok atvitele a sorosporton
Post by: Dr.OG on 2023.May.13. 18:30:13
Le a kalappal!
Számomra meglepően gyorsnak tűnik az adatátvitel, kb. összehasonlítható a sebessége a Commodore IEC porttal...
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.13. 18:36:53
Koszi. 0.57-0.58 kByte/s, azaz kb 4800 bps, amit igy hirtelenjeben el tudtam erni (ez ugyonaz a sebesseg, mint a load "serial:" parancs). Egyelore megirom magamnak a koritest igy (helyi, tavoli file tallozo, wifi listazo, csatlakozas kezelo, ftp/windows megosztas kezelo), aztan megnezem majd a korabban linkelt doksit, azzal tudok-e valahogy gyorsitani, vagy egyaltalan kezdeni vele valamit. Illetve, mivel mind a ketto hardvert en kontrollalom, igy ki lehetne hasznalni azt, hogy "2" Rx es Tx vonal van (a sima rx/tx illetve a status ki/be labak). De ez meg a jovo zeneje. Egyelore ennek is orulok :)
Title: Re: Fileok atvitele a sorosporton
Post by: Dr.OG on 2023.May.13. 18:45:36
Apropó: az EP printer/párhuzamos portja fogadni is tud adatot, vagy csak küldeni? Lehet, hogy az még gyorsabb volna...
Title: Re: Fileok atvitele a sorosporton
Post by: Dr.OG on 2023.May.13. 18:50:45
Koszi. 0.57-0.58 kByte/s, azaz kb 4800 bps, amit igy hirtelenjeben el tudtam erni (ez ugyonaz a sebesseg, mint a load "serial:" parancs). ...
Jól saccoltam, Wiki szerint:
Quote
In standard operation (LOAD, unmodified KERNAL-routines) the serial bus is capable to transmit 400 byte/second using a 1541 and approx. 650 bytes/second using an SD2IEC.
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.13. 19:21:37
Apropó: az EP printer/párhuzamos portja fogadni is tud adatot, vagy csak küldeni? Lehet, hogy az még gyorsabb volna...
Csak küldeni.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.15. 11:50:23
Azon gondolkodom, hogy kell-e cheksumoznom az atvitelt. Raktam bele egy lookup tablas CRC16-ot, amit jelenleg a 4k-s segmensekben tolok a cuccra, de ezt tulzasnak erzem (bar at kell majd irni C-bol assemblyre, az gyorsit valamit). Eleve, a TCP-n csak nagyon minimalis "cheksum" van, ehhez az FTP pl. nem is ad hozza semmit. Szoval nem tudom. Lehet, hogy inkabb a 8N2 atvitelhez adjak hozza pl. paritasbitet (amit, igy az EXOS szamolna, ha ez a resze mukodik, mert a 8N1 sem megy neki)? Bar itt meg kell meg nezni, hogy mi tortenik, ha paritasbit hiba van. Mert az elveszett byteot/szegmenst ujra kell kerni a kuldotol.

Szoval, valszeg a CRC16 repul, helyette egyszerubb lenne a TCP-nel alkalmazott cheksum 8 bites verzioja. A TCP/UDP cheksum az 16 bites szavakra szabdalja a packetbol a forras/cel ip cimet, nehany mezot meg a headerbol, illetve az adatbyteokat, majd ezeket sumolja (nem torodik a tulcsordulassal), majd az osszeadas vegen keletkezett 16 bites szamnak kepzi a komplemenset, es ez lesz a cheksum. Az ellenorzes is ugyonilyen egyszeru, a 16 bites wordoket egyszeruen ossze kell adni, majd a vegen hozzaadva a cheksumot, minden bitnek 1-nek kell lennie. Mivel az egesz cucc, max 2 centire van az EP soros portjatol, igy arra nem szamitok, hogy zavar keletkezik, igy lehet, hogy az egesz ellenorzes folosleges? Illetve, mivel nem zavarra, hanem pl bit elcsuszasra szamitok, lehet, hogy eleg lenne, az elso es az utolso 16/32/64 byteot cheksumolni csak?

A jelenlegi "probalkozasaim" egyebkent azt mutatjak, hogy minden egyes byte tokeletes allapotban beerkezik a gepre. De nyilvan, 1 meres nem meres, 1 minta pedig nem minta.

Minden egyes extra "ellenorzes" ugye az atviteli sebesseget rontja, mert amig a Z80 cheksumot szamol, nem tud fogadni a sorosporton. Itt gondolkodtam olyanban is, hogy eloszor fel kene irni diszkre az egesz filet, majd ha a felhasznalo bekapcsolta az ellenorzest, akkor lehetne ellenorizni az allomanyt (ugyonugy 2k/4k-s darabokban, a hibas darabot pedig itt, ezen a ponton lehetne korigalni es ujrakerni, ha van ra lehetoseg).
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.17. 15:44:42
Úgy tűnik jók kis bugot fogtál az EXOS-ban :oops:

Mondtad, hogy néztél scopot... tudnál ábrát vagy leírást betenni, hogyan néz ki az átvitel 8N1 meg 8N2 módban?
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.19. 21:29:19
Úgy tűnik jók kis bugot fogtál az EXOS-ban :oops:

Mondtad, hogy néztél scopot... tudnál ábrát vagy leírást betenni, hogyan néz ki az átvitel 8N1 meg 8N2 módban?

Hogy is mondjam, minden "jol" nez ki. A veteli oldalon van a hiba. A hetvefgen szerintem lesz idom foglalkozni vele, igy tudok majd egy slow motion felvetelt kesziteni a jatekscop kijelzojerol.

Tippre valami olyan lehet a problema, hogy nincd "megirva" a branching a bit erteketol fuggoen. Gondolkodtam rajtam, hogy disassemblelni kene az EXOS kodjat (nem tudom, van valami tomorites a romon?) es akkor meg lehetne keresni azt a rutint, ami olvasgatja a B6h portot.

Viszont, ujabb "problemaba" utkoztem. Az 1-es csatorna megnyitas funkcioval meg tudom nyitni a sorosportot, ez tok jol mukodik, viszont nem tudom, hogy honann tudom, hogy olvashatok-e belole. A 9-es csatornaolvasasi allapot hivassal le tudom ugyan kerezni de ez latszolag nincs implementalva. Ha magat a csatornat nem nyitom meg, akkor rendre 01h kerul a 'C'-be, ha viszont nyitva van a 'SERIAL:', akkor mindig 00h kerul bele (az 'A'-ba is 00h van, tehat a hivas "ertelmes"). Erre ugye boldogan hivok is egy 5-os karakter olvasasa hivast, amire konstans blokkolodik a kod. Ha ekkor kuldok be valami byteot, akkor minden megy tovabb. Itt (http://www.ep128.hu/Ep_Konyv/Exos.htm#190) viszont, az szerpel, hogy ha nem jon startbit, akkor egy nem definialt idotullepes utan a kodnak vissza kene ternie az alkalmazoi programhoz. Viszont ez sem tortenik meg.
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.19. 21:46:52
Hogy is mondjam, minden "jol" nez ki. A veteli oldalon van a hiba.
Igen, a vételi oldal javításához szeretném látni, hogyan is néz ki a dolog, mit hogyan kéne lekezelni.

Quote

 A hetvefgen szerintem lesz idom foglalkozni vele, igy tudok majd egy slow motion felvetelt kesziteni a jatekscop kijelzojerol.
Köszi! Ha nem túl extra kérés, akkor parítás bites variációk is lehetnének?
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.22. 01:43:23
Igen, a vételi oldal javításához szeretném látni, hogyan is néz ki a dolog, mit hogyan kéne lekezelni.
Köszi! Ha nem túl extra kérés, akkor parítás bites variációk is lehetnének?

Ah, keptelen vagyok ertekelheto videokat loni a szkoprol. Egszeruen, ehhez ez nem a jo eszkoz. Ami latszik, az ez egyebkent:
Code: [Select]
______-_----__-__--_---__-__-__---__-______
Ez a jel megy a kabelen, ami a bal oldalan van, az erkezik meg eloszor. A soros kommunikacio nyugalmi allapota, a -12V, tehat az "1"-es bitnek megfelelo allapot. A start bit, az egy olyan atmenet, ami a -12-rol +12-re ugrast jelent, ez lathato, balrol a 7. karakterpozicioban, majd ezutan jon a 8 adatbit, +12V jelzi a 0-t, -12V az 1-et, tehat a "start bit",az tulajdonkeppen, egy "0". A stop bit pedig az "1"-nek megfelelo allapot, es azt a minimalis nyugalmi idot jelenti, ami utan kovetkezhet a kovetkezo startbit.

Tehat, ha a fenti mintat felirom, akkor ezt kapom:
Code: [Select]
______-_----__-__--_---__-__-__---__-______
xxxxxxS10000110TTS01000110TTS11000110Txxxxx

Ahol:
- 'x' a nyugalmi allapot
- 'S' a 'start bit', tehat a nyugalmi allapotbol az elso felugro jel
- '1'/'0' egyertelmu
- 'T' pedig a stop bit, tehat kb a nyugalmi allapot

Az atvitel LSB, tehat az elso byte, ami beerkezik balrol nezve, az 01100001, azaz 97, majd jon a 98 es a 99. Ez lenne az 'abc'. Ez volt a helyzet 2 stopbit eseten.

No, ha kiveszek 1 stopbitet, akkor az alabbi jelsalak van
Code: [Select]
______-_----__-_--_---__-_-__---__-______
xxxxxxS10000110TS01000110TS11000110Txxxxx
00110111
Ebben az esetben, hiaba allitom at, az EXOS ezt elrontja. Kozben nezegettem ezt a mintat, tobbfajta sebessegnel, de alapvetoen ugy latom, hogy nem a kezelese/nem kezelese a hiba, hanem nem "er oda idoben". Mutatom, hogy mit lattam:

Code: [Select]
______-_----__-_--_---__-_-__---__-______
xxxxxxS10000110TS01000110TS11000110Txxxxx
      ..........XS||||||||TS???????????

Az elso startbit, majd a 8 adatbit vegul az elso stopbit rendben van (itt nincs is meg mindek elromlania), majd az eredeti startbit 'S' elromlik (ezt a hibat jelzem 'X'-vel), az ezutan erkezo 0 lesz startbitnek ertelmezve ('S' betu), majd megerkezik a 8 adatbit ('|'). Ami ezutan tortenik a bitekkel, azt nem teljesen ertem.

Az megvan, hogy 97 erkezik meg elsonek, a masodik minden probalkozasnal 177, azaz 1011 0001, azaz a kabelen 1000 1101. A harmadik byte tobabbi kavar es elcsuszas aldozata lesz, mert, nem teljesen ertem, hogy miert tortenik es pontosan mi tortenik.

Amit at akarnek kuldeni:
97, 98,99 azaz 0x61, 0x62 es 0x63, de vegul, 97, 177 es 236 lesz belole, azaz 0x62, 0xB1, 0xEC.

Ja, ilyen 300 baud kornyeken, meg jol mukodik, tehat tuti, hogy a kod "jo", csak valszeg van valami, ami miatt lassu. Illetve, miel a stopbit megfelel a nyugalmi allapotnak, ezert egy 8N2-vel adott jelet, a 8N1-re allitott gep kepes dekodolni, hiszen minden idozites egyezik, csak 8N2 eseteben, nagyobb a szunet, a byte utolso bitje, es a kovetkezo byte startbitje kozott.
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.22. 10:04:48
Köszi, kezdem érteni...
Tisztázzuk még a vezetékeket. EP oldalon értelmesen vannak elnevezve Data In/Out, Status In/Out, míg ezeken a soros vackokon mindenféle értelmetlen betűkombináció van :evil:

EP Data In, az a RxD vagy manapság csak RX, amit a túloldalon a TxD (TX)-hez kell kötni.
EP Data Out az a TxD (TX) amit a túl oldalon az RxD (RX)-hez kell kötni.
EP Status In a CTS, ami túloldalon DCD, DTR, DSR-re van kötve... ??? Miért nem RTS-re?
EP Status Out a RTS, ami a túloldalon CTS-re van kötve.

Az EXOS leírásból (http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/serial/Ch3.html#3.1) az jön ki nekem, hogy alapból mind a Data mind a Status vezetékek alapból alacsonyban vannak.
A fogadó fél kezdeményez, Status Out (RTS) magasba húzásával, amire várja, hogy a Data In-je is magasba menjen, azaz Start bit.

Ami még nem tiszta, hogy itt a leírásban az alacsony/magas alatt a vezeték állapotára gondol, vagy a Dave bitek állapotáról. A te leírásod alapján a vezetékről beszél, vagyis amikor a B6h/B7h port bitjeit nézzük, akkor pont invertálva kell értelmezni. Jól gondolom?
Amikor olvasod a B6-ról a biteket, ott a valódi bitek érkeznek meg?
Title: Re: Fileok atvitele a sorosporton
Post by: ergoGnomik on 2023.May.22. 10:47:35
EP Status In a CTS, ami túloldalon DCD, DTR, DSR-re van kötve... ??? Miért nem RTS-re?
Azért, mert – ismereteim szerint – a soros kommunikáció alapvetően távolsági adatátvitelre lett kitalálva, oda meg szükség van valami további eszközre (annak idején leggyakrabban modem), ami tényleg elviszi messzire az adatot. Ezért a soros kábel egyik felén van Data Terminal Equipment, a másikon meg Data Communication (vagy Carrier?) Equipment. Nyilván a kettőt logikailag nem ugyan úgy kell madzagolni, mert a távközlő berendezés máshogyan viselkedik mint egy (felhasználói) terminál. Az EP-nek valamelyiket el kell játszania ahhoz, hogy működhessen a PC-vel a kommunikáció. Tippem szerint DCE-t, ezért a furcsának ható bekötés.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.22. 10:49:19
Köszi, kezdem érteni...
Tisztázzuk még a vezetékeket. EP oldalon értelmesen vannak elnevezve Data In/Out, Status In/Out, míg ezeken a soros vackokon mindenféle értelmetlen betűkombináció van :evil:

EP Data In, az a RxD vagy manapság csak RX, amit a túloldalon a TxD (TX)-hez kell kötni.
EP Data Out az a TxD (TX) amit a túl oldalon az RxD (RX)-hez kell kötni.
EP Status In a CTS, ami túloldalon DCD, DTR, DSR-re van kötve... ??? Miért nem RTS-re?
EP Status Out a RTS, ami a túloldalon CTS-re van kötve.

Az EXOS leírásból (http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/serial/Ch3.html#3.1) az jön ki nekem, hogy alapból mind a Data mind a Status vezetékek alapból alacsonyban vannak.
A fogadó fél kezdeményez, Status Out (RTS) magasba húzásával, amire várja, hogy a Data In-je is magasba menjen, azaz Start bit.

Ami még nem tiszta, hogy itt a leírásban az alacsony/magas alatt a vezeték állapotára gondol, vagy a Dave bitek állapotáról. A te leírásod alapján a vezetékről beszél, vagyis amikor a B6h/B7h port bitjeit nézzük, akkor pont invertálva kell értelmezni. Jól gondolom?
Amikor olvasod a B6-ról a biteket, ott a valódi bitek érkeznek meg?

Igen, a sorosporti vonal invertalt. A B6h/B7h portokat egyetlen egyszer probaltam olvasni (de azt is csak Basicben), amikor kerestem, hogy melyik USB-s soros atalakitomon mukodnek az Rx/Tx vonalakon tuli status vonalak (4 adapterbol osszesen egyetlen egy darabbal!). De ott nem emlekszem, hogy 0 vagy 1 volt, de ha fogadnom kene, azt mondanam, hogy invertalt, mert a mikrovezerlovel ugy hasznalom). Megnezem neked este, mert ez az info "latszik" a szkopon. A tobbi infohoz tobb lassitottfelveteles videot, videobol screenshotokat, a screenshotoknal meg screenrulert alkalmazva nyertem ki a dolgokat, majd mindezek "feldolgozasa" utan, eszembejutott, hogy bakker, meg kene nezni, hogy mit ir a specko. Szerencsere a screenruleres meregetes es a specko "egybevag" :D.

Alapvetoen a megvalositott flow control faek egyszeru (semmi koze, a tobbvezetekes, PC-n megszokott RTS/CTS/stb megoldashoz, azert kell ilyen hulyen osszekotni, ha PC-zik az ember). Az EP nekem ossze van kotve egy MAX232 -vel, az EP iranybol jovo "Data Out" es "Status Out" van bekotve az R1IN, R2IN vonalra, az EP fele meno, az EP-n "Data In" es "Status in" szovegekkel ellatott vonal pedig be van kotve a T1OUT es T2OUT labaira a MAX-nak, a mikrovezerlonel a mikrovezerlo ado-vevo laba van bekotve az R1OUT (ez megy arra a labra, amin a mikrovezerlo vesz) illetve T1IN (ez ugye oda, ahol ad a mikrovezerlo) vonalakra, majd a kimarado R2OUT es T2IN pedig 1-1 szabadon valasztott GPIO-ra, amit szoftverbol vezerlek (most attol tekintsunk el, hogy a mikrovezerlo 3V3-as logikaval megy, a MAX232 pedig 5V-vel, igy a MAX-tol a mikrovezerlo labai koze be kellett raknom egy egyszeru ellenalasos feszultsegosztot, visszairanyba viszont egyenesen kothettem, mert a MAX-nal 2V felett mar megvan a magas szint). Itt a mikrovezerlonel invertalnom kell a labakat, tehat a 0 lesz a magas, es 1 lesz az alacsony ertek. A tenyleges flow control pedig abbol all, hogy az EXOS byte irasa csatornara, illetve blokk irasa csatornara kodja nem kezd el addig dolgozni, amig nincs magasra (tipp, este megnezem) huzva a "Status In" vezetek. Amikor pedig adatot kuldok az EP-be arra kell figyelnem, hogy a "Status Out" vonalat az EP magasra (tipp, megnezem este) huzza, amikor elkezdem a kommunikaciot.

A betukombinaciok tenyleg ertelmetlenek, ossze vissza cimkezik, igy mindig meg kell nezni, ha valamit osszekotok, hogy ott az Rx az, ahol az eszkoz vesz, vagy az Rx az, ahova a forrasgep vevo labat kell kotnom (agyrem). Az "eredeti" PC-s megvalositast "nem epitettem meg". Marmint, ott is csak azt neztem, hogy ha az EP "Status Out" vonalat bkotom pl az RS232 RD (ring detect) vonalara, akkor azt latja-e a PC.

Nekem is eszembejutott, hogy mivan, ha az EXOS 9-es hivasa (csatornaolvasasi allapot) a "Status In" vonaltol fuggoen mondja azt, hogy olvashatsz. Mert ha "Status In" alacsony, akkor elvileg a tuloldal "ad", ha pedig a "status in" magas, akkor te adhatsz a tuloldalnak, de ilyen logikat nem fedeztem fel. De siman lehet, hogy a 9-es hivas nincs a serialnal megvalositva.

Te disassemblelted az EXOS-t? :) vagy sikerult megszerezni a forrast?

A "Status Out" vonal egyebkent csak kimenet, nincs ertelme PC iranybol rangatni. Az eredeti kezfogasos kommunikacional, mind a ketto felnel tobb statusz vonal van, igy mind a ketto fel tud adast kezdemenyezni a megfelelo lab meghuzasaval, majd el tudja kezdeni az adast, amikor megjott a tuloldalrol az engedelyezo jel egy masik statuszlabon. Ennek a tobblabas kezfogasnak van az egyszerusitett implementacioja megcsinalva a gepen.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.22. 11:41:05
Azt sajnalom egyebkent, hogy nincs tap lab a porton, mert akkor ossze lehetne rakni ugy a cuccot, hogy ne legyen szukseg kulso tapegysegre (gondolkodtam azon, hogy a 0V-A1 kozotti kozel 5V-t hasznalom, de nem tudom, milyen ellenalason at van oda kikotve a gep VCC1 vonala, de ha ez egy 0.6W-s ellenalas, akkor az nekem keves lesz, mert a mikrovezerlo van csak 0.7W-0.8W korul es ebben az esetben kell valami charge pump is, meg tranzisztor/mosfet, stb).

Ezek utan gondolkodok azon, hogy az A1-es referencia lab helyett, at kene allni B1-re. Igy repulne a MAX232, de legalabb a cuccban a GND kozos szintre kerulne a gepben levo GND-vel. Igy a gep 9V tapdugojat meg lehetne csapolni es onnan venni a tapfeszt (gyartani egy aljzatos toldo dugot, amibol kijonne a kabel, ami ellatja a sorosportra dugott eszkozt villannyal). Ez a 9V egyebkent jo is lenne a logikai magas szinthez a soros vonalhoz, amit tranzisztorral vagy mosfettel tudnek kapcsolni a 3V3-as mikrovezerlorol, a visszairanyu jelhez pdeig, ugyonugy lehetne tranzisztor/mosfet, vagy maradhatna az ellenlasosztos megoldas. Viszont, igy megsporolhato az elegge draga MAX232/MAX3232.

Szerk: Lenne majd, ehhez a temahoz kapcsolodo (marmint, nem a soros atvitelhez, hanem a projekthez) programozassal kapcsolatos kerdesem. Ahhoz majd gondolom, nyissak egy masik szalat valahol. Pl. igy elsore, az EXDOS az elso floppys muveletnel megker, hogy nyomjak Entert. Van valami valtozo/regiszter/memoriaterulet/fustjel, amibol tudhatom elore, hogy az EXDOS kodja igy fog tenni? Vagy ossze kene hackelnem, hogy a sajat szoftverem feluleten meg tudjon jelenni, amit az EXDOS ki akar irni?
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.22. 21:48:24
No, megneztem a b6h portot, invertalt. Tehat, az 5. bit '0' esete jelzi azt, hogy a tuloldal fogadasra kesz, 1 pedig azt, hogy nem. Az "idle" data-in (ez a 4. bit) pedig 1-es erteku, mert a specifikacio szerint, a startbitre varunk, ami a logikai 0.

Visszafele iranyban, tehat a status out vonalat nezve, is ez a helyzet, tehat - feszultset eseten a tuloldal NEM adhat, pozitiv feszultseg eseten pedig adhat. Azt is latom, ha a "seriak:" nincs megnyitva, akkor itt mindig + feszultseg van, ha pedig basicbol meg van nyitva inputra es fut is a read, akkor marad a + feszultseg, de ha nincs akticv olvasas, akkor rogton atmegy negativba. Exos channel opennel pedig azt nezem, hogy folyamatosan magas, ha pedig megy az exos block read, attol fuggoen, hogy mennyire birja a gep a tempot, annak megfeleloen rangatja a vonalat.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.29. 08:11:44
Hoho, az angol EXOS leirasban benne van, hogy a 9-es (read status) hivas mindig azt adja vissza, hogy lehet olvasni a csatornarol. Ez az info ugy tunik, hogy kimaradt a magyar forditasbol.

Igy viszont, furcsa modon, tenyleg konnyen futhat az ember "vegtelenbe". Mert se timeout, se semmi nincs.
Title: Re: Fileok atvitele a sorosporton
Post by: Zozosoft on 2023.May.29. 13:46:11
Egyre gyűlnek az Exos 2.5 teendők :-)
Title: Re: Fileok atvitele a sorosporton
Post by: Lacika on 2023.May.29. 19:24:15
Egyre gyűlnek az Exos 2.5 teendők :-)

Miért, van "hivatalos, kiadott" 2.4? :oops:
Title: Re: Fileok atvitele a sorosporton
Post by: kvaczko on 2023.May.30. 09:27:44
Miért, van "hivatalos, kiadott" 2.4? :oops:

Windowsból se volt 9-es... 😀
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.30. 09:49:39
Egyebkent, valami megszakitassal ki tudnam ugrasztani az EXOS csatorna olvasasi kodbol? Mivel a 'STOP' gomb mukodik, ezert a megszakitasok nincsenek tiltva, tehat, lehet, hogy "csak" elo kell banyaszni a PC erteket a stackbol, az USR_P3/P2/P1/P0 -ba menti az EXOS, hogy mi volt belapozva, mielott meghivtak, tehat ezeket vissza kell lapozni, majd vissza kell ugrani a PC+megfelelo offsetre es mehet is tovabb a kod, ahol majd valahogy ki kell talalni, hogy azert ment tovabb mert elvitte a megszakitas, vagy azert, mert visszatert az EXOS hivas. Lehet, hogy az 1 Hz-s timerrel teszek majd egy probat. Vegulis, 1-2 masodperc timeout is jobb, mint varni a vegtelenbe es tovabb.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.30. 21:54:30
Kozbe, rajottem, hogy "hulye" vagyok. Nagyon nagy hack lenne ez a megszakitasos dolog, de kozbe rajottem, hogy nem is kell! Marmint, mivel, az en kontrollom alatt van mind az ado, mind a vevo eszkoz, a mikrovezerlo csinalhatja azt, hogy "ures frame" csomagokat kuldozget az IDLE idoben 100ms-enkent, igy ha veletlen beleolvasok a csatornaba az EXOS csatornaolvasas koddal, akkor nem fog vegtelenbe futnia a tortenet, mert valami info jonni fog, amire EP oldalon tudok erdemben reagalni.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.May.31. 09:58:05
Az INT2 boot utan engedelyezve van, vagy tiltva? Ha megnezem az emulatorban a debugot, ott ugy latom, mintha tiltva lenne.  Azert kerdezem, mert a Status-In vonal van bekotve a Dave INT2 bemenetere. Ha ezt masodpercenkent sokszor elkezdem rangatni (mert ugye az eszkoz varja a commandokat az EP-tol, ugyonakkor kuldozgeti a "NOP"-okat, hogy az EP ne akadjon vegtelen olvasasba), akkor ezzel lassitanam a gepet mert szerencsetlen folyamatosan a megszakitast dolgozna fel.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.07. 08:48:41
Ma mar nem letezhet HW WS2812 szeru LED-ek nelkul :) Ugyhogy ilyesmi visszajelzesek lesznek, amikor le/fel toltoget az EP WiFi-n.

https://www.youtube.com/watch?v=biK1BlLZ7pw
Title: Re: Fileok atvitele a sorosporton
Post by: kvaczko on 2023.June.07. 11:14:33
Ma mar nem letezhet HW WS2812 szeru LED-ek nelkul :) Ugyhogy ilyesmi visszajelzesek lesznek, amikor le/fel toltoget az EP WiFi-n.

https://www.youtube.com/watch?v=biK1BlLZ7pw

Ez egy nagyon fontos ficsör. 😀 A miniTURBO-ra is került egy WS2812 annakidején. 😀
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.07. 11:16:13
Ez egy nagyon fontos ficsör. 😀 A miniTURBO-ra is került egy WS2812 annakidején. 😀

Nyilvan, miutan ezt a szep zold nyilat megcsinaltam, eszembejutott, hogy nyil helyett, akar progressbart is rajzolhatnek korbe... :D
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.11. 23:07:45
Egyre jobb, mar le tudtam tolteni egy hasznos filet, es a vegen meg is tudtam nezni :))

https://www.youtube.com/watch?v=KBEyr9ZNvsU
Title: Re: Fileok atvitele a sorosporton
Post by: Dr.OG on 2023.June.12. 04:40:21
Pure magic ...
Title: Re: Fileok atvitele a sorosporton
Post by: kvaczko on 2023.June.12. 07:40:14
Egyre jobb, mar le tudtam tolteni egy hasznos filet, es a vegen meg is tudtam nezni :))

https://www.youtube.com/watch?v=KBEyr9ZNvsU

Ügyesen megerőszakoltad azt a soros portot, végre valami haszna is van a létezésének. 😀
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.12. 10:50:20
Egyebkent, tuti ki lehetne itt alakitani valami sokkal, de sokkal robusztusabb atvitelt. Nyilvan, az "eredeti" soros atvitelnek meg kell maradnia, hogy az eszkoz floppyra masolt szoftver nelkul, siman betolheto legyen a SERIAL:-rol, de ezutan at lehetne valtani valami sokkal jobb dologra. Mert ugye 2 input es 2 output GPIO van az EP-n, az input GPIO-bol raadasul az egyik (status) be van huzva a Davebe is es igy kivalthat megszakitast, amire lehetne dolgozni.

De egyelore meg csak otletelek, hogy mit lehetne erdemben kitalalni rendes atvitelre.

Elotte azert, van meg ezzel feladat boven, de ez mar egy "demozhato" PoC arrol, hogy megy a SERIAL:-rol betoltes, wifi konfiguralas, wifi status kezeles, mar megcsinaltam, hogy OTA updatelheto az ESP firmware es az ESP-n tarolt "program.com" is, meg epkezlab modon, mukodik a http:// es https:// letoltes is.
Title: Re: Fileok atvitele a sorosporton
Post by: gflorez on 2023.June.12. 12:44:40
Amazing!
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.12. 15:42:20
U need some summary?

I made some interesting experiment with the serial port, and made a small PoC device with an ESP32 to achieve some very basic networking capability. The goal is a small, external device (because my expansion bus is occupied by the EXDOS) which add SMB/CIFS and FTP and some HTTP transfer capability (both download and upload). Maybe ZIP/RAR on the fly decompressing too (dunno yet).

The speed is slow, only 0.5kByte/s (,~5500 baud) on a 9600 bps 8N2 link.
Title: Re: Fileok atvitele a sorosporton
Post by: gflorez on 2023.June.12. 16:56:23
Köszönöm, figyelemmel kísértem a kísérleteiteket, a kommentjeiteket lefordítva.

Régebben én is egy olcsó ESP8286-os wifi chipet akartam összekötni, de az EP és a PC eltérő protokolljai miatt rossz eredménnyel(először Putty-val próbálkoztam PC-n). Az ideális a fél duplex lett volna, de az adatirányok váltogatására korlátozódtam. Ok, és nekem sincs ismeretem a soros protokollokról.

Küldtem neked egy privát üzenetet.

-------------------------

Thanks, I have been following your experiments, translating your commentaries.

In the past I also wanted to interface a cheap ESP8286 wifi chip, but with bad results due to the different protocols of the EP and the PC(first I tried with Putty on a PC). The ideal would have been half duplex, but I was limited to alternate the directions of the data. Ok, and I also don't have the knowledge on serial protocols.

I have sent you a private message.

Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.18. 18:50:35
Kozbe rajottem, hogy ha az ep128emu-ban, a dave.cpp readPort/writePort-jaba beleturok, hogy billegtesse a gepemen kivalasztott serialport 2-2 statusbitjet, akkor ki tudom kerulni az UART-ot, azaz levodott "serialport" emulacio. Enelkul ugye, az UART bufferei es a tobbi dolog miatt, nem ferek hozza a sorosport pinjeihez, igy a sorosport ep128emuban torteno szoftverfes implementacioja nem latna ki a gepbol. Ez megint csak az FT232-es cuccokkal megy, de azokkal legalabb megy :) Igy pedig, nem kell tobbet floppyval rohangalni a gephez, lehet mindent csinalni az emulatorban.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.20. 08:47:20
Tul korai volt az orom. Mivel el volt fogyva a tomor rezdrotom, amit tudok hasznalni a breadboardhoz, igy csak 1-1 lab mukodeset neztem meg. De most, hogy feltankoltam, mar sokkal arnyaltabb a kep. Tehat, az teny, hogy az Mac USB-be dugott FT232-nek ioctl segitsegevel tudom olvasni es irni az allapotlabait, ez a resz pipa. Az is pipa, hogy a dave.cpp-n keresztul is megy ez. Viszont nyilvan, van valamilyen idozitesi problemam, mert total garbage ami megerkezik a tuloldalon. Mondjuk ugy, hogy ugyonazt a 4 byteot kuldozgetve, 2400 baudon (tehat, nem is 9600-on, mert ott hasonlosag sincs) az Ep128emubol, kb 100-bol 1x erkezik meg a tuloldalra helyesen. Tehat, valami mast kellene kitalalnom, arra, hogy tudjak az emulatorban fejleszteni.

Mondjuk, hirtelen azt sem tudom, hogy elmeletben, lehet-e, vagy tudni kell-e olyan sebesseggel piszkalni az allapotvonalakat, mint amilyen gyorsan az adatvonalat rangatja az uart.

Ki kene probalni valami gepen, amin van meg fizikai, tehat nem USB-s soros port es annak az allapotvonalait hasznalni.

Pedig, tokre megorultem, hogy lehet dolgozni fullban az emulatorban :))
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.20. 17:56:02
#TIL! Ti tudtadok, hogy az FT232-es USB soros donglek atkapcsolhatoak generikus 8bites, GPIO modba? Mind a 8 lab lehet tetszolegesen input vagy output, elegge nagy orajellel is. Ehhez ad a gyarto letolheto libraryt (https://ftdichip.com/drivers/d2xx-drivers/), es tulajdonkeppen egy par soros C koddal (FT_Open/FT_SetBitMode/FT_SetBaudRate/FT_Read/FT_Write) atkapcsolhato az eszkoz ilyen modba.
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.20. 20:49:06
Az orom viszont, tul korai volt. Ugyan ez a megoldas sokkal jobban nez ki a jatekscopeon, mint az ioctl-vel kapcsolgatott flags (itt latszolag megvannak a bitek pl.), megsem jonnek ki ertelmes adatok az emulatorbol. Aszem, fel kell adni ezt a dolgot :D.
Title: Re: Fileok atvitele a sorosporton
Post by: balagesz on 2023.June.20. 21:29:16
Csak időnként beleolvasok itt egy-egy témába, lehet hogy nem vagyok teljesen tisztában azzal, hogy mi is itt a cél pontosan? :) Jól értem, hogy az eredeti gép soros portjával küzdesz, és azt próbálod megoldani, hogy emulátor alól legyen egy olyan hardvered, ami a külvilág számára ugyanaz, mint az EP soros portja? Szép feladat! :)

Az első ötlet, hogy egy soros port "egyéb" vezetékeit használod bit-banging módszerrel, az működőképes lehet. Feltéve, hogy az adott soros port az egy natív, a gép rendes buszára kapcsolódó periféria. USB-s verzióval kár is próbálkozni, az USB "by design" nem alkalmas real-time dolgokra. Amit "ma tanultál", az első látásra jónak tűnhetett, de ugyanezért nem jó: pl. ha egy GPIO lábat bemenetre kapcsolsz, annak a változását nem akkor fogod megkapni amikor történt, hanem majd "valamikor" a host OS USB drivere egy csomagban "ráborítja" a lekérdező szoftverre az eltelt idő alatti változásokat. Kifele dettó ugyanez.

Az USB "reklámozott" sebessége ugye csalóka, ezek az eszközök úgy működnek, hogy a host OS időnként lekérdezi az adott USB eszközt, hogy mi van vele. Ez a gyakorisági idő a csatlakoztatáskor derül ki, maga az eszköz mondja meg, hogy milyen időközönként szeretné a host érdeklődését. Ez az idő viszont (ha jók az emlékeim) nem lehet akármi: 125, 250, 500 illetve 1000 lehet másodpercenként. (Legalábbis a 2.0-s USB-ig mintha ezek lettek volna a szabványban.) Azaz: a legjobb esetben is másodpercenként 1000 alkalommal lesz "aktuális" GPIO állapotod, ami még egy soros port szoftveres emulálásához is karcsú. (Ilyen 250 BAUD még talán mehet, de a stabilitásáról én nem vagyok meggyőződve. :) )

(Az USB ugye nem a fentiek miatt "gyors", hanem azért tud az lenni, mert az 1000 üzenetváltásban rengeteg adat is mozoghat, de ez a fenti feladatban nem segítség.)
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.20. 22:08:28
Miutan az ioctl-es megoldas nem ment, rogton eszembejutott, hogy USB-s cucc helyett, meg kene nezni valodi soros vagy esetleg parhuzamos porton. Viszont ilyenbol, valodi portom egyedul a P3-as es P4-es regi gepeimen van, szoval ez emiatt ki is esett.

Egyebkent, az FTDI pont erre a problemar csinalta meg a bitbanging tamogatast az USB-s illesztojebe (https://ftdichip.com/wp-content/uploads/2020/08/AN_373-Bit-Bang-Modes-for-the-FT-X-Series.pdf). Az FTDI doksija szerint egyebkent, kb 1 megabaud bitbangelheto ki a cuccbol biztonsagosan, az elmeleti maximum baudratenek pedig 3 megabaudot irnak. Ez egyebkent, latszolag, teljesen jol is mukodik. Marmint, van egy jatek scopeom, ami merni, rogziteni nem tud, de azt a kijelzon ossze tudtam hasonlitani, hogy a bitbangelt FTDI-n nagyon hasonlo a jel, az EP valodi vonalaihoz kepest, mig ha ioctl segitsegevel piszkalom, ugyonezt az FTDI-t, akkor tobb bytenyi ido a minimalis, amivel kapcsolgatni tudom a status vonalakat. Szoval, a bitbangelt FTDI mukodo megoldasnak tunik. Most kellene ergy rendes szkop, hogy meg tudjam nezni, hol csuszik el az idozites. Egyebkent, siman a dave.cpp readPort/writePort metodusaiba raktam bele az FTDI irasokat, de lovesem sincs, hogy pl. idozites szempontjabol, ez-e a jo hely erre a celra, vagy, hogy az emulator ezen resze, mennyire "valosaghu".
Title: Re: Fileok atvitele a sorosporton
Post by: balagesz on 2023.June.20. 22:44:57
Egyebkent, az FTDI pont erre a problemar csinalta meg a bitbanging tamogatast az USB-s illesztojebe (https://ftdichip.com/wp-content/uploads/2020/08/AN_373-Bit-Bang-Modes-for-the-FT-X-Series.pdf).

Most ismét belenéztem ebbe a doksiba; de nem ír benne nagyon mást, mint amit sejtettem.

Az FTDI doksija szerint egyebkent, kb 1 megabaud bitbangelheto ki a cuccbol biztonsagosan, az elmeleti maximum baudratenek pedig 3 megabaudot irnak.

Igen, ez lehet. Viszont ez úgy megy, hogy "beletolod" azt az adathalmazt, ami alapján billegtetni kell a lábakat, majd az eszköz a saját baud-rate generátorának a segítségével időzítve kitolja a lábaira. És hogy mindezt mikor? "Valamikor". Amikor a host OS USB alrendszere úgy gondolja, hogy lejárt az az idő, amennyi két lekérdezés között el kell hogy teljen, akkor kitolja neki az egész csomagot. Emiatt itt minimum lesz egy "lekérdezésnyi idejű" jitter a csip kimenetein. (Ami ugye 1mSec is lehet.) Ha ez az adott szituációban nem zavaró, akkor nyilván minden oké, nem szóltam semmit. :)
Title: Re: Fileok atvitele a sorosporton
Post by: Czo on 2023.June.20. 23:39:45
Az a baj, ez egy tobb tenyezos problema. Az egyik az USB busz, ott annyit tudtam segiteni, hogy azon a buszon/controlleren senki es semmi mas nem volt az FTDI-n kivul (tenyleg nem). De legalabb ekkora, ha nem nagyobb problema a multitask oprendszer is, tehat az idozites mar ott is elcsuszhat. Realtime

Az FTDI miatt, egyebkent annyira nem aggodom, az elvart bitbangelesi sebesseg, jelentosen kisebb, mint amire az FTDI a doksi szerint kepes (ugye 9.6 kbps vs 1 Mbps), tehat, elvileg nem kellene, olyannak elofordulnia, hogy az elozoleg kiirt allapot, meg nem "kerult ki a kabelre", de mar ki kellene irnom a kovetkezot (de ez ugye, megint csak elvileg).

Persze, lehetne meg probalkozni egyet realtime schedulinggal, de ehhez az emulatorba jobban bele kellene nyulni, mint amennyire hajlando vagyok.