Enterprise Forever

:HUN => Programozás => Topic started by: Z80System on 2009.November.09. 11:40:43

Title: Magnós frekvenciák
Post by: Z80System on 2009.November.09. 11:40:43

Na vegre ki tudtam probalni valodi gepen a cuccot, ismetelten hala az emulator magno nyekeregteto funkciojanak !

Es akkor teljes kongratula IstvanV -nek, a program hibatlanul lefutott valodi ep- n is.

Szal ugy tunik siman lehet emun fejleszteni, es csak ellenorzeskent, vegso szinek beallitasahoz hasznalni vas ep- t. Rules !

Mostmar csak azt kene megmondja valaki, hogyan kell az EP serialt PC- vel osszekotni, mer ez a magno, ez egy vezercsiga.


Title: Magnós frekvenciák
Post by: Lacika on 2009.November.09. 11:59:25
Mostmar csak azt kene megmondja valaki, hogyan kell az EP serialt PC- vel osszekotni, mer ez a magno, ez egy vezercsiga.

Mi Ep-sek szerencsés helyzetben vagyunk a Commodore-os és Spectrum-os rajongókhoz képest", hisz a 720K-s floppy lemezt bele lehet rakni a PC-be... Én sem "magnóztam"...
Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.09. 13:24:10
A magnós másoláson is lehet gyorsítani valamennyit a TPT (amit az emulátor ROM csomagja is tartalmaz) használatával. Nekem a SET 34,1 (nincs tömörítés) és SET 33,6 (3100 baud) még működik (az EP-n nincs TPT, csak az eredeti EXOS magnókezelő). Ha a másolandó adat jól tömöríthető, akkor azzal is lehetne gyorsítani.
Talán lehetne írni bővítőt kifejezetten a PC->EP másolásra, ami gyorsabb lenne, pl. még nagyobb frekvenciát, vagy egy bithez nem egy egész, hanem csak egy fél négyszögjelet használva.
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.09. 13:33:37

hat azt nemtom hogy ezzel vegulis mekkora sebessegnovelest lehetne elerni az audiokabeles atvitelben, de ugye a serial az egybol 9600 bauddal menne,
es mind a PC mind az EP oldalon beepitett szoftver tamogatasa van, tehat bovitok sem kellenek hozza.

Tehat semmi mas nem kene, csak hogy valami eszleny megmondja hogy hogyan kell a zsinorokat osszekotni, hogy mukodjon is a szabvany RS232 atvitel,
meghogy PC- n hogy konfoljuk a COM1- gyunket, es minden menne magatol, programozas nelkul.

Ha mar bovitos dologrol beszelunk, akkor nagyobbat kene ugrani, egy PIO- t vagy SIO- t tapasztani az EP jobb oldali csatijara, ami vagy soros vagy parhuzamos portra (es akkor pc oldalra nem kene program tovabbra sem) vagy akarhova (es akkor pc re is kulon progi kene) csatlakozna a PC- n es ahhoz irni bovitot EP- re. Es akkor igy lehetne akar floppy sebesseget elerni PC->EP atvitrlre.

De elsonek siman megtenne a sima ep beepitett 9600 baud, csak valakinek ra kene jonni hogy kell a drotokat osszekotni.


Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 01:27:02
Te mit gondolsz arrol IstvanV, hogy mennyi potencial lehet a PC->EP hangatvitelben ? Ismerve a hardvert, lehetsegesnek tartod, hogy el lehetne jutni vele mondjuk 10 ezer baudig ? Vagy 20 ezerig ?

En kerestem infot a magnos betoltesrol, de nem nagyon talaltam. Ha jol gondolom, az van csak ami az exos leirasban van, az meg nem tul sok.
Leirogat adatszerkezeteket, de hogy azok milyen formaban helyezkednek el a szalagon, azt mar nem.
Marha jo hogy leirja azt hogy mi hany bajt hosszu meg mit jelent egy byte a file- ban, de hat ide kellenenek ilyen negyszogjel abrak, "hogy egy egyes bit mitol tart tovabb mint a nullas", egyaltalan hogy neznek ki a jelek (nem egy negyszogjel, hanem a sorozatok, mert ott kulonbozo frekikkel kodolnak dolgokat, vagy mi), meg aztan beszel "automatikusan frekire beallitodo tolto elektronikarol", meg csak ugy megadja hogy #b6 hanyadik bitje mondjuk a "input data", vagy mi, es akkor mi van ?

Neked viszont valahonnan teljesen tisztaban kell legyel a tape jelekkel a magnoszalagon, hisz nem csak egy "hordozot" irtal, es aztan elvarod a felhasznalotol hogy mondjuk save- eljen el valamit ra az ep- bol ( es akkor igy nem kene tudni neked hogy konkretan mit is tesz ra az EP ), hanem a tape editorban PC oldalon tudsz file- okat importalni, es szalag- jelekke konvertalni.

Tehat valahonnan tisztaban vagy a reszletekkel. De honnan ?

Tulajdonkepp ha sztd te tudod, hogy mi az az elmeleti hatar, ahova el lehetne jutni sebessegben a tape- val, akkor egyenlore nem lenne nekem fontos a tobbi info, csak majd akkor ha ugy gondolod, hogy mondjuk 10 ezer baudig el lehetne jutni... meginkabb ha huszig ... :)

Szal ehhez a valaszhoz ( ha te nem tudod ) kene nekem az info, a szalagon levo jelsorozatokrol, meg a beolvasas hardver meneterol, limitjeirol, hogy valahogy ra birjak jonni, mi a tape betoltes felso elmeleti sebesseghatara.

Termeszetesen abszolute csak a hardver kerdesek erdekesek, sajat programmal az EP, es akar a PC oldalon is, tehat PC oldal is tetszoleges nem kell az EP128 legyen, vagy valami ismert tape formatumbol dolgozo program.

Tehat van egy kod a PC oldalon ami tesz valamit a hang kimenetre, es van egy kod az EP- ben, ami ebbol a leheto leggyorsabban beolvas az EP- be. A modszer nem kell hogy kompatibilis legyen az EP tape atvitelevel, ha a .tap file- okban mar ilyen raw jel informacio van, akkor  azokkal se, annal is inkabb mert a PC oldali szoftver "on the fly" kene a nyikorgast kepezze a winyon levo file- okbol, mondjuk config file- os alapon, tehat raw adat nem lenne a ".supertap" file- okban, csak eleresi utas hivatkozasok egy sima text file mondjuk, es abbol kene eloallitani a sipolast a hangkimenetre.

Ha megfelelo baudot el lehetne erni, akkor meg azt is erdemes lenne a dologba beletenni, hogy az EP programja tudjon visszasipolni a PC- nek ugyanilyen modon atvinni a file neveket a PC- hez, vagy azt mar lehetne a paralell porton is talan, ha a paralell port kompatibilis a PC- vel, nem ugy mint a serial, es akkor gyakorlatilag meglenne a megfeleloen gyors, fajlnev alapu atvitel ep es pc kozott.

Es akkor gyakorlatilag floppykent/winyokent mukodhetne a PC.

Naszo... :)

Elso kerdes, van- e tipped elmeleti maximum sebessegre ahogy az EP hardver tudna adatot fogadni a tape bemenetrol custom szoftverrel ?

Masodik hogy ha ez egy kielegitoen magas szam, akkor hogyan mukodik a jelenlegi tape atvitel, es szerinted milyenne kellene atalakitani a leheto legnagyobb raw sebesseg eleresehez (tomcsi nyilvan egy magasabb layer, az csak tovabb javitana a dolgot, amennyiben a kitomoritesi ido nem lenne tobb mint a raw atvitel ideje) ?


Title: Magnós frekvenciák
Post by: MrPrise on 2009.November.10. 02:41:21
Tehat valahonnan tisztaban vagy a reszletekkel. De honnan ?
Igaz, nem nekem lett címezve a kérdés, de mivel foglalkoztam én is a témával (lásd TAPir (http://enterpriseforever.com/emulatorok/tapir-t140.0.html)), így leírom a saját "verziómat" ;-)
Bevetettem SoundForge-ot, elemeztem az EPTE által generált wav-okat és az SF-ben próbáltam felismerni azokat a részeket amiket a leírás írt (sync, lead, zero és one).  Mivel ezekben semmi zaj nem volt így viszonylag könnyű dolgom volt. Először közvetlenül a wav-ból szedtem ki a bytesorozatokat és úgy raktam össze a programmal. Aztán később már a program tudta generálni ezeket, így elkezdem kísérletezni. Rájöttem, hogy nem is a bytesorozat, hanem a két érték váltakozásának a sebessége a lényeg és elkezdtem csökkenteni az adott biteket jelentő audiobytesorozatok hosszát is.
Tehát ha adott a bytesorozat (lásd TAP file-ok) akkor csak a benne lévő biteket kell kódolni a megfelelő frekvenciákra. Itt nem is a pontos frekvencia a lényeg, hanem a biteket kódoló frekvenciák aránya, mert így ismeri fel a HW.
Az én TAPir-omban 11/7-es arányt használok. Ez 44.100Hz-es, 8 bites, mono wav-nál az általam használt 0xd0 (magas) és 0x20 (alacsony) értékek számát jelentette, tehát egy 0 bitet 11 db 0xd0 után következő 11 db 0x20 jelentett a wav-ban, az 1-es bitet pedig 7 db 0xd0, aztán 7 db 0x20.
Még két másik frekvencia is kell, a bevezető (lead) és a szinkronjel (sync) frekvenciája. A fentiekhez hasonlóan a bevezetőnél 9, a szinkronnál 15 volt a "hossz", de itt jóval hosszabb ideig kerültek ezek a kimenetre. Pl a leader 5000x. Ez a hosszú sípolás ami minden block előtt van (a block az ami két PAUSE között van). A sync az jóval rövidebb.
Itt vannak a kikísérletezett értékeim:

LeaderSyncZeroOne
Normal sebesség915117
EPTE max speed71185
Turbo, ezt az emulátorom még beolvasta2338

István gondolom más utat követett vagy esetleg rögtön tudta, hogy az FSK (http://en.wikipedia.org/wiki/Frequency-shift_keying)-ról van szó. Erre én azután jöttem rá miután már túl voltam a fenti kísérletezésen ;-)
Mivel vannak olyan modemek ahol szintén ezt a kódolást használják, egy időben az is felmerült bennem, hogy esetleg modemek átprogramozásával lehetne egy hardveres TAPE: szimulátort is csinálni. Ehhez viszont nem értek, így ötlet szintján maradt a dolog ;-)
Ha érdekel a csipogásban található byte-ok felépítése is, arról is írhatok, bár az csak akkor kell ha PC-s file-okból akarsz TAP-ot gyártani. A többi kérdést meghagyom Istvánnak ;-)
Title: Magnós frekvenciák
Post by: geco on 2009.November.10. 09:09:56
Ez azt jelenti, hogy kb 10000 bauddal lehetett volna tölteni EP-n, ha minden tökéletes?
Nekem az rémlik, hogy a BAM-féle másolóprogramokkal lehetett turbósan menteni, 3200 baud esetén még turbó betöltő nélkül sikerült betölteni a programot, ha jól emlékszem, akkor 4000 baud volt a max, amit már csak a turbó vitt, ja és hiába emelkedett a betöltési sebesség majd duplájára, a 4k-s blokkok feldolgozási ideje (PAUSE) maradt ugyanaz :D ,viszont a szalagon megspórolt hely jelentős volt, igaz csak a 3200 baudos verziót használtam, kinek volt kedve állandóan betöltögetni a TURBOTAPE-et ? :D
Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.10. 09:12:05
Ha jól értem, akkor nemcsak a frekvencia növelésével lehet gyorsítani, hanem az ismétlõdések csökkentésével is?

Gondolom a végsõ határt az adhatja, hogy a magnó kezelõ program rutin milyen gyorsan tud futni, ill. hogy lehet egy fizikai határ is a frekvenciában ami már nem megy át. Kérdés melyiket érjük el elõbb...

Mindenesetre EP oldali fogadó programnak gondolom jó lehet a TPT át bütykölése, itt van forrással együtt (ha jól néztem, lehet, hogy a nagy HSoft csomagból ki volt maradva).
Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.10. 09:21:45
Nekem az rémlik, hogy a BAM-féle másolóprogramokkal lehetett turbósan menteni, 3200 baud esetén még turbó betöltõ nélkül sikerült betölteni a programot
Én ha jól emlékszem 2700-at használtam. A TPT leírásban 2950 szerepel, mint amit elbír a gyári betöltõ rutin.

Mindenesetre ezen a téren is igen szép munkát végeztek az Intelligent Softwares fiúk, elég tág paraméterek között mûködik a dolog. Más számítógépekhez képest szerintem sokkal megbízhatóbban! Pl Spectrumnál már ha volt egy kis minimális szalagsebesség eltérés két magnó között, már baj volt... C64-rõl jobb nem is beszélni...

Quote
ha jól emlékszem, akkor 4000 baud volt a max, amit már csak a turbó vitt
4800
Title: Magnós frekvenciák
Post by: geco on 2009.November.10. 09:26:32
Jól emlékszel ;) , és nem 3200 baud volt, amit még turbó nélkül tudtam betölteni, hanem 3000 :D , bár elképzelhető, hogy ment a 3200 is a BAM Turbócopyval mintha magasabb hangon mentett volna, csak ott nem írta ki mennyi az annyi.
Volt, hogy elcseréltem a C64-em egy hétre egy Spectrumra, mit szívtam a betöltéssel, volt olyan progi, amit csak 5-re sikerült, pedig volt érzékem a fül alapján történő magnófej állításhoz :D EP eltűrt simán egy nyolcad fordulatos eltérést is :D
C64-en meg ha nem volt fejbeállítóprogi a közelben, a fejbeállítás 5-10 perc rutinosabbaknak, életfogytiglan kezdőknek :D, ja és nekem soha nem sikerült kétkazettással úgy átmasolni c64-es programot, hogy vissza is töltse, ennyit az érzékenységről :D
Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 11:08:33
István gondolom más utat követett vagy esetleg rögtön tudta, hogy az FSK (http://en.wikipedia.org/wiki/Frequency-shift_keying)-ról van szó. Erre én azután jöttem rá miután már túl voltam a fenti kísérletezésen ;-)

Én a formátum visszafejtését elkerültem, mert az EXOS dokumentációjában részletes és pontos leírás van róla a 193. oldalnál :razz:
Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 11:23:45
Ha jól értem, akkor nemcsak a frekvencia növelésével lehet gyorsítani, hanem az ismétlõdések csökkentésével is?

Igen, tehát ha egy bitet nem két hanem csak egy állapotváltozás kódol. Ezzel a módszerrel én PC->Plus/4 másoláshoz írtam programot, ez megbízhatóan működött 1/6600 s hosszúságú '0' bit és 1/3300 s hosszúságú '1' bit mellett (azaz ha a két bit érték előfordulási valószínűsége azonos, akkor kb. 4400 baud). De lehet, hogy többet is el lehetett volna érni, nem teszteltem, hogy mi a felső határ. Talán valamilyen jobb kódolást is lehetne alkalmazni, hogy ne legyen annyival lassabb az egyik bit érték.
Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 11:27:33
Én ha jól emlékszem 2700-at használtam. A TPT leírásban 2950 szerepel, mint amit elbír a gyári betöltõ rutin.

Nekem PC-ről másolva még a 3100 is működött, de a 3180 már nem. Lehet azonban, hogy OUT 191,12 után már az is ment volna.
Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.10. 11:35:25
Nekem PC-rõl másolva még a 3100 is mûködött
Gondolom az is bejátszhat, hogy a töltõ rutint teljesítõképességének határánál már sokkal fontosabb a tökéletes jelalak, így PC-rõl küldve tovább lehet elmenni, mint valódi kazettáról.
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 11:42:05
Namost ha jol ertem, akkor a magnorol valo betoltesrol a szalagon tehat kulonbozo hosszusagu idokig kulonbozo frekiju (idealisan negyszog)jelek vannak, es valahol a jelsor elejen van egy hosszu sip, amin tolnak egy referencia frakvenciat es ehhez a frekihez "beall" a beolvaso kod, valahogy "megmeri" ezt a frekit a beolvaso kod, es a kovetkezo szakaszok frekvenciajat ( amiket szinten megmer ) ehhez a frekihez fogja hasonlitani, es meg vannak adva freki aranyok, amitol az a frekvenciaju szakasz most zero- t fog jelenteni vagy egyet, sot van meg egy "szinkron" szakasz is valamiert, tehat a bevezetovel egyutt 4 fele:

exos- bol:

Each chunk will be preceded by necessary information for synchronising the tape reading routine and establishing the speed, including a long leader tone.




                   Fast Speed        Slow Speed

    leader cycle   424µs (2358 Hz)   1000µs (1000 Hz)
    one bit        344µs (2907 Hz)    800µs (1250 Hz)
    zero bit       504µs (1984 Hz)   1200µs ( 883 Hz)
    sync bit       696µs (1437 Hz)   1600µs ( 625 Hz)


Korabbi hiedelmemhez kepest meg az is ujdonsag, hogy akkor tehat nincs elektronika, hardver ( rosszul emlekeztem ) ami a frekit meri, es neked mar az adat informaciot ( zero vagy egy ) adna, hanem magat a freki merest is a cpu kell vegezze. Ez azert jo mert nincs kozben egy elektronika amit reszint nem ismerunk, reszint limitacio lehetnenek, es azert rossz mert valszeg a z80 cpu nem lenne eleg semmire ( ill. max ketszerezesre vagy ilyesmire, az meg nem eleg ).

Eloszor par szo a baud- rol, ha valaki nem tudna ( vagy maskepp tudja, mer en is csak most olvastam ). Szal a baud az egy freki ertek, de nem a tenyleges jelatvitel frakijet adja meg, hanem egyfajta elmeleti/vivo freki, a tenyleges jelatvitel altalaban kisebb a megadott baudertekeknel. Ez azert van, mert az atvitel egyfajta "protokollt" kivan, tehat az atvitt jeleket nem lehet az igazi alapfrekin atvinni, hanem kulonbozo jelekkel meg kell spekelni, amik szinten az alapfrekin mennek. Tehat kepzeljunk el egy atvitelt, bajtokat akarunk atvinni, es van egy 10 ezer baudos atvitelunk, ami azt jelenti hogy az atviteli csatornan a jel 10 ezerszer kepes megvaltozni masodpercenkent. De mondjuk a vevo oldalon a detektalo modszer tulajdonsagai, vagy atvitel kozben az egyenaramu komponensek atvitelenek hianya mint pld. magnonal, vagy valami ilyen ok miatt kenytelenek vagyunk pld. egy digitalis egyet vagy nullat tobb ilyen alapfrekvencias jel egysegbol epiteni fel. Es mivel egy jelunk tobb alapfrekis jelbol all, ezert a tenyleges adatatvitelunk joval kisebb lesz az alap 10 ezer baudnal. Olyasmi ez mint a ramok frekvenciaja, nem csak az orajel szamit, hanem az is hogy hany ilyen egyseg kell egy jel/allapot leirasahoz.

Na szo ez a baud ertek a PC holdalon hangkartyanal maximum 44KHz lehetne, de ez is csak nyilvan akkor, ha az ep azt a 44 ezer baudot kepes lenne feldolgozni. Tehat elvileg egy pc hangkartyaval meg 44 KHz- es negyszogjelet le lehet generaltatni. Kerdes hogy az EP oldalon a detektalo kod, az mibol all, mert errol meg nem hallottunk semmit, ill. hogy az ep elektronikaja nem vagja- e le az inputot valahol frekiben, mert mondjuk mivel 3000 baudra keszitettek fel, ezert mondjuk 10 ezer baudnal tobbet nem is tud.

Tehat ha olyan egyszeru a dolog, mint ahogy az ember gondolna ( sose olyan ), akkor van valami port az ep- n, amirol olvasva van egy bit, ami mondjuk beall annak fuggvenyeben hogy a magnon a jelerosseg eppen egy szintnel magasabb vagyalacsabb. ennek a bitnek a valtakozasa vajon eleve mekkora frekit engedhet meg ?

A masik kerdes ami beugrik, hogy a szalagon eleve valtakozo jel van, tehat nincs neki egy szintje, amihez kepest a bit beallhatna .... tehat lehet hogy megis valami elektronika detektalja a frekiket a szalagrol, es mar adat infot kozol a CPU- val egy portrol olvasva ...

Vagy hogy van- ez ? Tehat akkor mar ketten egeszen biztosan ismerik nem csak a bajtsorozatokat amik a szalagon vannak, hanem a jelsorozatokat is.

De ismeri- e valaki az EP oldalrol a beolvasas technikajat ? ki meri le a frekiket, mi hardver es mi CPU ?





Ezt a magno detektalasi/beolvasasi folyamat dolgot azert volna jo tudni, hogy felmerheto legyen, hogy vajon ez a leggyorsabb legjobb modszer es kesz, vagy vannak- e benne olyan rahagyasok, amik mondjuk a magno miatt voltak, es elhagyasukkal lehet sokkal gyorsabb atvitelt elerni, vagy ha nem szeru rahagyasok, hanem lehet hogy egeszen el lehet terni magatol a freki kodolastol, azert mert nem a magnorol, hanem hangkartyarol jon a jel. Vagy ilyesmi.


Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 12:13:55
es azert rossz mert valszeg a z80 cpu nem lenne eleg semmire ( ill. max ketszerezesre vagy ilyesmire, az meg nem eleg).

Szerintem valószínűbb, hogy a korlátozó tényező elsősorban a magnó minősége, illetve az ahhoz tervezett analóg elektronika. 1/10000s az 400 Z80 ciklus, amit (vagy akár gyorsabbat is) jól optimalizált kóddal valószínűleg még fel lehet dolgozni, ha esetleg nem is tudna tetszőleges sebességre automatikusan beállni, vagy nem működne turbós gépen.

Quote
Na szo ez a baud ertek a PC holdalon hangkartyanal maximum 44KHz lehetne

Ez a hangkártyától függően több is lehet :) Kb. a 90-es évek második fele óta szinte minden hangkártya tud 48 kHz-et (illetve az olcsóbbak gyakran csak azt, és minden mást szoftveresen konvertálnak); az emulátorban is az alapértelmezés 48000 Hz, nem 44100. 96 kHz-et tudó kártyát is lehet már venni néhány ezer Ft-ért (nekem is van ilyen).

Quote
Tehat elvileg egy pc hangkartyaval meg 44 KHz- es negyszogjelet le lehet generaltatni.

Pontosabben legfeljebb 22050 Hz-et, de a gyakorlatban azt sem, és a maximumhoz közeledve egyre kevésbé hasonlít négyszögjelhez (ha jó a hangkártya, akkor 11025 Hz felett már csak szinusz lehetne, illetve négyszögjelnél már 7350 Hz felett is).

Quote
Kerdes hogy az EP oldalon a detektalo kod, az mibol all, mert errol meg nem hallottunk semmit

A bemenet a B6h I/O port 7. bitje. A kimenet egyszerűen az EP hangkimenete, amit a magnó felvesz :)

Quote
A masik kerdes ami beugrik, hogy a szalagon eleve valtakozo jel van, tehat nincs neki egy szintje, amihez kepest a bit beallhatna

Az analóg jelet egy egyszerű áramkör négyszögjellé konvertálja/torzítja. Ezt meg lehet nézni a kapcsolási rajzon.
Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.10. 12:43:32
Na megnéztem a TPT-t, ami átbütykölt ROM rutint tartalmaz :-)
Itt a sebességekhez tartozó konstansok táblázata:
Code: ZiLOG Z80 Assembler
  1. KTABLA:         DB 52,42,62,86          ;2400   0       HIGH
  2.                 DB 124,99,149,199       ;1000   1       SLOW
  3.                 DB 83,66,100,133        ;1500   2
  4.                 DB 62,50,74,100         ;2000   3
  5.                 DB 50,40,60,80          ;2500   4
  6.                 DB 42,34,50,68          ;2950   5
  7.                 DB 40,32,48,64          ;3100   6
  8.                 DB 39,31,47,64          ;3180   7

Az eredeti ROM rutinbeli az 1-es szegmensen:
[attachimg=1]
Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.10. 12:47:34
Vajon mi lesz ha csinálunk egy 10,8,12,16 variációt? Ez elvileg 12400 lenne...
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 20:52:21
Na hat a kovetkezot szedtem ossze.

Tehat a magno jele es a 0b6h port b7- je kozott van egy elektronika. Ezt megnezhetnem a kapcsolasi rajzon, de egy kapcsolasi rajz megertesehez vegkepp keves vagyok. Ugy kepzelem, hogy egy valami elerzekeny elektronika lehet, ami mondjuk egy lefuto el utan zerora allitja a 0b6h port b7- et, ha meg felfuto elet detektal a hangbemeneten, akkor egyesbe allitja. Valami ilyesmit kepzeltem.

Gondoltam kiprobalom. Csinaltam audacity- vel egy egy masodperces 1000 hz- es negyszogjelet.

Ezt a hangot eloszor folyamatosan lejetszva es egy vas EP bemenetere kapcsolva, ciklusban elkezdtem olvasni a bitunket es muveletet vegeztem a bejovo erteken 80h- val, es felfilleztem a tartalmaval 32 kb- ot. Az eredmeny pozitiv volt, a 32 kb. teletoltodott kb. ( nem neztem meg reszletesen ) 30 bajtos szakaszokkal, ahol vagy zero volt vagy 080h.

Na gondoltam akkor nezzuk meg mekkora a legnagyobb freki amit igy stabilan meg lehet merni.

Csinaltam egy kodot, ami ciklusban olvassa az input bitunket, es ha a bit valtozik, akkor novel egy szamlalot. Ha nagyon sokaig nem jon valtozas, akkor kilep.
Igy gondoltam lejatszom neki az egy masodperces 1 khz negyszoget es akkor 1000- et kell kapjak a szamlaloban vagy 2000- et, nem tom mi szamit egy ciklusnak.

Eloszor lefuttattam jel nelkul, tesztkent, es mar ez meglepo volt, mert ugy ter viszsa a kod jel nelkul, hogy par (5 vagy 20, vagy 76, vagy ilyesmi szamot, valtozot) valtozast detektal, mire lejar a hosszu ido, hogy ha addig nincs valtozas, akkor kilepjen.
Magyarul a bit nem stabil. Hanem jel nelkul is billeg.
Ha kihuzom a PC- t az EP-bol, es nem dugok ra semmit ( hangbemenetre ) akkor nem billeg.

Amikor az egy kilohercet szamoltattam megvele, akkor 1700 koruli szamot adott. Hat ez eleg sz**...


Itt a kod, valakinek valami tippje, hogy miert billeg jel nelkul, es hogy miert nem kapok 1000- et vagy 2000- et az 1KHz -s negyszogjel eseten ? :



JAVITOTTAM A HSZ- T. EZ MAR A JO KOD:





   org      2000h

   di

   in      a,(0b5h)
   and      0bfh
   out      (0b5h),a

   call Count

   ei

   ret

MemFill:

   ld      hl,4000h

L0:
   in      a,(0b6h)
   and      80h
   ld      (hl),a
   inc      hl

   ld      a,0b0h
   cp      h
   jr      nz,L0

   ret

Count:

   ld      hl,0
   ld      bc,8000h
   ld      de,100h

   ;exx
   ;ld      hl,0
   ;ld      de,0
   ;exx

L1:
   in      a,(0b6h)
   and      b
   cp      c
   jr      z,NoChange

   ld      c,a
   inc hl
   ;exx
   ;ex      de,hl
   ;ld      bc,1
   ;add      hl,bc
   ;ex      de,hl
   ;ld      bc,0
   ;adc      hl,bc
   ;exx
   ld      de,100h
   jr      SkipNoChange

NoChange:

   inc      de

SkipNoChange:

   xor      a
   or      d
   jr      nz,L1

   ret




A Count szubrutin visszatertekor a HL- ben adja meg hogy hanyszor valtozott meg az input bit.

Ha betesszuk a kommentes reszeket akkor meg a shadow regiszterek kozul HL,DE -ben.








Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 21:39:16
Igy gondoltam lejatszom neki az egy masodperces 1 khz negyszoget es akkor 1000- et kell kapjak a szamlaloban vagy 2000- et, nem tom mi szamit egy ciklusnak.

2000-nek kellene lennie, mert a kód a fel- és lefutó éleket is figyeli.

Quote
Eloszor lefuttattam jel nelkul, tesztkent, es mar ez meglepo volt, mert ugy ter viszsa a kod jel nelkul, hogy par (5 vagy 20, vagy 76, vagy ilyesmi szamot, valtozot) valtozast detektal, mire lejar a hosszu ido, hogy ha addig nincs valtozas, akkor kilepjen.

Talán a zajt érzékeli a bemeneten. De ha van tényleges bemeneti jel, akkor abba (remélheto"leg) nem kerülnek véletlenszeru"en hibák.

Quote
Amikor az egy kilohercet szamoltattam megvele, akkor 1700 koruli szamot adott. Hat ez eleg sz**...

Lehet, hogy nem volt megfelelo" a jel szintje ? Vagy nem pont 1 másodperc volt a hosszúság ? Természetesen azzal is számolni kell, hogy amikor még (vagy már) nincs 1 kHz-es jel, akkor a zajt is hozzáadja a mért értékhez.
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 21:54:26
2000 az ok lett volna, de ez 1700 koruli ( 1693, 1734, stb. ) ertekeket szamol. Ha 2000, 2001, vagy 1999 lenne azt elfogadnam mast nem tok.

A jel nel nelkuli mukodoest (zajt) ismerve elfogadnek akar 1900- 2100 -ig is ertekeket. De 1700 az keves.

Milyen zaj lenne ? Akkor a hangkatyim zajos ?



Jelerosseg. Eleg gyenge a hangkatyim kimenete, nem mozditja at maxi hangeron sem a standard toltestkijelzot a pirosba egyszer sem, de azert a standard toltes teljesen zolden is mukodik.



1 mp. Ha t az audacity -nek azt mondtam, hogy generealj egy 1.00 masodperces 1000 Hz -es mintat. Es azt jatszom le teljes egeszben. Hat en most nem szamolom megbenne az ezer valtast ... :)


Legeloszor a zajt kene kiutni a dologbol ... Nincs kedve valakinek kiprobalni a dolgot... hogy ez az en hangkartyam miatt van, vagy az EP bemenete ilyen zajos, mert ugy tunik ez a zaj nem problema az eredeti toltesnel, tehat akar az EP resze is lehet... bar azert ezer 2000 helyett 1700 -at szamolni az durva.... igy nem tom hogy merhetnekbarmit is ... ha ez tenyleg a zaj miatt van ...




Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 22:00:02
Mondjuk szemmel nezve a jelet nem tul szep, eleg trapezos .... nem tud valaki adni nekem egy 1 masodperc 1khz tomoritetlen sample- t. tehat tomoritetlen wav, nem mp3.

Title: Magnós frekvenciák
Post by: szipucsu on 2009.November.10. 22:13:43
Mondjuk szemmel nezve a jelet nem tul szep, eleg trapezos .... nem tud valaki adni nekem egy 1 masodperc 1khz tomoritetlen sample- t. tehat tomoritetlen wav, nem mp3.
Nem tudom, ilyenre gondoltál-e... mondjuk szinuszhullám lehet, nem négyszögjel.

UI: Túl kell vezérelni (pl. Cool Edittel), akkor négyszögjel lesz belõle, bár lehet, az kicsit "hentes" megoldás.
Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 22:15:14
Mondjuk szemmel nezve a jelet nem tul szep, eleg trapezos .... nem tud valaki adni nekem egy 1 masodperc 1khz tomoritetlen sample- t. tehat tomoritetlen wav, nem mp3.

Próbáld ezt futtatni emulátoron:
  [attachurl=#]
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 22:26:51
eszem all meg ...

az 1khz.com -on 1707 -et szamolt.

namost az elotte kapott wav az egy 3 mp- es szinuszjel. azon 5103 -mat szamolt.

namost mennyi 1700 * 3 ? :)

= 5100 ! :)

Na most ez mi ? :)


Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.10. 22:32:09
Eleg gyenge a hangkatyim kimenete, nem mozditja at maxi hangeron sem a standard toltestkijelzot a pirosba egyszer sem, de azert a standard toltes teljesen zolden is mukodik.
TAPE LEVEL-t is felnyomtad az emulált gépen mentéshez?
Nekem azzal együtt simán piros lesz!
Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 22:33:56
eszem all meg ...

az 1khz.com -on 1707 -et szamolt.

namost az elotte kapott wav az egy 3 mp- es szinuszjel. azon 5103 -mat szamolt.

namost mennyi 1700 * 3 ? :)

= 5100 ! :)

Emulátoron mit ír ki a WAV-ot magnó image file-nak használva ? Ha ott is csak 85%-ot, akkor talán a programban lehet valamilyen hiba.
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 22:37:46
Hat a piros tape level az az emurol valo betolteshez kene, de reszint zolden is megy ugye a betoltes mint kiderult altalad, masreszt pedig feltoltam maxira, es ugyis zold volt.

De ugye mostmar nem rendes magnoval toltok, hanem azt a sajat teszt beolvasot futtatgatom, ott mar ugye nincs tape level kocka... :)


Es most kiprobaltam egy 500Hz -es negyszogjelet is, hatha az 1700 az a felso limit, es ezert nem megy el ketezerig. Nos az 500Hz- nel 1 masodperc alatt, 831- et szamolt. Es nem ezret.

1700/2000 = .850
831/1000= .831


hö ?  :)




Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 22:52:07

Az a baj hogy nem indul el a lejatszas. Ha basicban kikapcsolom a remote- t, akkor mikor atlepek asmonba akkor ujra visszaall a remote toggle.

Vagy kene trukk asmonbol remote allitasra, vagy az asm kodbol kene valami trukk az eleresre, vagy pedig meg kene tanits ilyen gyors com gyartasra, amivel basicbol el tok inditani ilyen progit.

Inkabb az elso ketto kozul lenne jobb valamelyik...
Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.10. 22:56:24
Most kipróbáltam egy olyat, hogy az emus EP-t turbózom, így kb 5.168 Mhz a határ amit az alap 4 Mhz-es gép betölt. (emu beállítások: 5168000 CPU frq, 646000 Sound frq)
Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 23:02:49
Most kipróbáltam egy olyat, hogy az emus EP-t turbózom, így kb 5.168 Mhz a határ amit az alap 4 Mhz-es gép betölt. (emu beállítások: 5168000 CPU frq, 646000 Sound frq)

Ez megfelel a TPT-nél tapasztalt 3100 bit/s körüli határnak.
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 23:16:13
Na asszem megvan, meg csak a harom masodperces szinuszt mertem, de azt sokszor egymas utan, es precizen mindig ugyanaz a helyes ertek jon ki... :)

Ugyhogy mehet tovabb a meres, hoyg mi a max...

Lattatok a kodot. Na mi volt a hiba ?! :) Hat persze hogy mar megin a franya megszakitas. DI -EI koze kell zarni a kodot. Amator vagyok, na. Amikor jott a megszak kihagyta a tickeket... :)


Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 23:27:25
Gyozelem. Az egy masodperces 1KHz -s hangot a vas EP is kovetkezetesen 2004 -nek szamolja. Es a zaj hiba is megszunt, azt is a megszak csinalta.

Szoval csuhajj, akkor most megyek felfele frekiben es megnezem mekkora az a freki amit meg hibatlanul, kovetkezetesen leszamol.




Title: Magnós frekvenciák
Post by: IstvanV on 2009.November.10. 23:27:39
Vagy kene trukk asmonbol remote allitasra, vagy az asm kodbol kene valami trukk az eleresre

A B5h és B6h I/O portok részletesen:

B5h írás:
 - bit 7: remote 2 (ha 1, akkor bekapcsolva)
 - bit 6: remote 1 (ha 1, akkor bekapcsolva)
 - bit 5: magnóhang engedélyezése (ha 0, akkor igen)
 - bit 4: 0 (?)
 - bit 0-3: billentyűzet mátrix sor és joystick választás (0-9)

B5h olvasás:
 - a választott billentyűzet mátrix sor állapota (ha az adott billentyűhöz tartozó bit 0, akkor a billentyű le van nyomva)

B6h olvasás:
 - bit 7: magnó bemenet (ha nincs jel, akkor 1)
 - bit 6: magnó szint (ha 0, akkor a jel erőssége nagy, ha 1, akkor alacsony, vagy nincs jel)
 - bit 4-5: 0 (?)
 - bit 1-3: 1 (?)
 - bit 0: a B5h porton választott joystick irány állapota (ha 0, akkor aktív)
Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.10. 23:34:07
Ez megfelel a TPT-nél tapasztalt 3100 bit/s körüli határnak.
Viszont úgy tûnik, hogy a LOAD részbe annyira nem piszkált bele a Haluska Laci, TPT-s emuról TPT-s gépre esetén már nem megy el ugyanilyen arányú túlhajtás, vissza kell venni 2500-ra a tempót, ami azt jelenti, hogy kb 3230 amit a TPT LOAD rutinja felismer 4 Mhz-es gépen.
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.10. 23:44:50
wov !!! a 20 khz jelet is kovetkezetesen 40007 -nek szamolja a vas EP ! Ez mar 40000 baud!

Ebbol mar lehetne egy nagyobb mint 20Kbit/s -os atvitel olyan modon, hogy az 1- es bitet az jelentene ha a valtozas egy egysegre kovetkezik be, es a nulla meg azt jelentene hogy a valtozas 2 egysegre kovetkezne be.

Tehat azt kene nezni hogy a valtozas( hangbemenet bit valtozasa ) amit most szamolok csak, mert mindig ugyanannyi ido alatt kovetkezik be a valtozas, vagyis ez "csupa egyes bitet abrazol",
szoval ha a valtozas nem igy egy ilyen egysegnyi ido alatt kovetkezne be, hanem ketto egysegnyi idot kell varni a valtozasra, akkor az lenne a nulla.

Es mivel a nullara ket idoegyseg kell egy csupa zero file a 40 ezer baudnal az 20 Kbit/ sec lenne, ami 2.5 Kbajt/ sec. Vagyis 64K betoltese 25 masodperc.
Felteve persze hogy a bitek osszegyujteset es az osszegyujtott byte memoriaba tarolasat islehet ugyanezzel a sebesseggel vegezni...




Title: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 00:07:53
Próbálkoztam a BAM féle turboval is, 4 Mhz emuból 4Mhz gépbe szépen átmegy a 4800 (?) baud.
Viszont 6 Mhz emuból 6 Mhz gépbe már nem! (meg 7.12-bõl 7.12-be se)
5 Mhz emuból (ez akkor elvileg 6000 baud) még átmegy 6 Mhz gépbe, de az elõbbi 5.168 Mhz-bõl már nem.
Lehet, hogy itt valami egyéb hw korlát lép életbe?
Title: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 00:12:20
Zozo te azert preferalnad a hivatalos modszer turbozasat, hogy 1Xű megoldas legyen, es kompatibilis az ismert dolgokkal ?

Vagy pedig azt gondolnad, hogy a hivatalos modszerrel is el lehet erni a hw hatart, van annyira flexibilis ?


Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 00:30:13
Zozo te azert preferalnad a hivatalos modszer turbozasat, hogy 1Xû megoldas legyen, es kompatibilis az ismert dolgokkal ?

Ez pl nagyon praktikus lenne, esetleg késõbb bele lehetne pakolni egy EXOS 2.4-be :-)

Ha új dolgot fejlesztünk, akkor újra fel kell találni ahhoz sok mindent: szinkronizálás, CRC ellenõrzés, stb, hogy megbízható legyen.

Mindenesetre mindenképpen érdekelne, hogy a gyári rutin bütykölésével meddig lehetne elmenni?
Sajnos az 1-es szegmens visszafejtése igen kezdetleges ezen a részen, így fogalmam sincs, hogyan mûködik a LOAD rutin, hogyan szinkronizálja magát az aktuális sebességhez (mint kiderült igen tág határok között!)? Ha ezt tudnánk, akkor lehetne neki állni átbütykölni :-)
A SAVE-hoz már tudjuk, hogy a konstans táblázatot kell piszkálni...
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 01:03:20
Nos van egy kis "bibi".

Az elobb bemasolt kod kepes leszamolni a 20 KHz -es negyszogjel 40 ezer valtozasat.

Mivel feljebb akartam menni, mar nem volt eleg a 16 bit a valtozasok megszamolasahoz hanem akkor 32 biten akartam szamolni.
Ezert az "inc hl" sort ( ami lepteti a valtozas szamlalot ) helyettesitettem egy 5-6 soros ADD,ADC,EXX,EX utasitasokbol allo 32 bites novelesre.
Es az igy megnovelt ideju ciklusmag mar csak toredeket tudta leszamolni a valtozasoknak.
Visszairtam a ciklusmagot a sima "inc hl" - re akkor megint 40 ezretszamolt.
Aztan probalkoztam plust "nop" -ok beiktatasaval az "inc hl" utan.
Igy kiderult hogy akar ket "nop" beiktatasaval az egynyegyedet mar elvesziti a CPU a valtozasoknak.

Vagyis ( hacsak valaki nem ir a korabban lekozolt kodnal sokkal gyorsabb ciklusokat ) valaohol itt, ennel a 40 ezer baudnal ( 20 KBit/s ill. 2.5 KByte/ s) van az elmeleti hatar szerintem a beolvasashoz.

Ami azert szerintem nem rossz.


Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 01:12:41
Ha új dolgot fejlesztünk, akkor újra fel kell találni ahhoz sok mindent: szinkronizálás, CRC ellenõrzés, stb, hogy megbízható legyen.

Sztm ha kelloen stabilnak tunik a dolog, akkor ilyen crc meg ilyesmik nelkul elmehetne ... Hiszen az ember nem archivalna ezzel a technikaval vagy ilyesmi. Csak PC- rol betoltene dolgokat.
Ugye lenne egy rendszerbovito epromban, ami ez a SuperTape dolog lenne, az epromot lehetne ugy csinalni mindjart, mint ahogy ( az ugy nez ki nem hasznalt... :( ) serial eszkoznel megcsinaltad nekem, hogy ez az uj SuperTape eszkoz lenne az alapertelmezett eszkoz, ha az eprom arendszerben van, es akkor megfeleloen flexibilis PC szoftverrel az ember betolthetne 64K- t vele 25 mp alatt PC- rol. Ami ugye kb. azt jelentene hogy egy jatek kb. 25 mp alatt elindulna.

Ami sztm kielegito lenne, es az egyszerubb verziojahoz csak a magnokabel kene a ket gep koze, meg a SuperTape- s eprom, meg a PC oldali program.

Szal ha eleg stabil lenne, akkor ha 100- bol egyszer nem toltene be egy jatekot jol, es nem szolna hogy CRC error, hanem csak szetfagyna, akkor az, ki banja, nem ?

Ha meg valami olyan dolgot csinalsz ahol a stabilitasnak 100%- osnak kell lennie, na ott majd nem ezzel a technikaval toltesz, hanem sima tape, vagy barmimas. Nem ?




Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 08:53:49
Es az igy megnovelt ideju ciklusmag mar csak toredeket tudta leszamolni a valtozasoknak.
Visszairtam a ciklusmagot a sima "inc hl" - re akkor megint 40 ezretszamolt.
Aztan probalkoztam plust "nop" -ok beiktatasaval az "inc hl" utan.
Igy kiderult hogy akar ket "nop" beiktatasaval az egynyegyedet mar elvesziti a CPU a valtozasoknak.
Szóval ha nekiállsz a bitekbõl bájtokat faragni, letárolni, ehhez memórialapozást kezelni, stb, akkor máris jócskán visszaesik a tempo!

Valószínûleg ez lehet az oka annak is, hogy a SERIAL-nál a 15-ös sebesség is csak 9600, pedig logikusan oda 19200 jönne... azt valószínûleg már nem bírta a proci!
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 08:54:16
Az

ld (hl),e

utasaitasra azt irjak, hogy 1.75 orajel alatt fut le.

Ez tenylegesen megtortenik ennyi alatt ( ugye az orajel pontosan 4 millio Hz ? ), vagy pedig valami ramtol fuggo keslekedes lesz ezen az utasitason ?
Es ha lesz keslekedes, akkor milyen idok alatt varhato a lefutasa ? Mi a legrosszabb eset ?

Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 08:56:34
Ez tenylegesen megtortenik ennyi alatt ( ugye az orajel pontosan 4 millio Hz ? ), vagy pedig valami ramtol fuggo keslekedes lesz ezen az utasitason ?
Es ha lesz keslekedes, akkor milyen idok alatt varhato a lefutasa ? Mi a legrosszabb eset ?
Alapértelmezésben minden utasítás olvasáskor van 1 órajel várakozás.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 09:00:50

Tehat azt mondod hogy amit a leirasban talalok orajelet, ahhoz mindig adjak hozza 1 -et ?

Es az, hogy az ld (hl),e az maga is irja a memoriat, az nem noveli tovabb ?


Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 09:10:21
Tehat azt mondod hogy amit a leirasban talalok orajelet, ahhoz mindig adjak hozza 1 -et ?
Igen.

Quote
Es az, hogy az ld (hl),e az maga is irja a memoriat, az nem noveli tovabb ?
Alapértelmezésben nem. De be lehet olyat is állítani :-)
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.11. 09:10:43
ld (hl),e

utasaitasra azt irjak, hogy 1.75 orajel alatt fut le.

Az valójában nem 1.75 órajel, hanem 1.75 us 4 MHz-es órajelnél, azaz 7 ciklus :) Ebből 4 ciklus az utasításkód olvasása + DRAM frissítés, és 3 ciklus a byte tárolása a (HL) címen.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 09:15:23

Aham, es videoram sima ram kozott sincs alapesetben kulonbseg ? Mert en anno sztm mertem olyat hogy egyik ramunk lassbb volt ( minden allitas nelkul, en nem tudtam hogy lehet ilyet allitani ) mint a masik ...

Es ha beallitom esetleg, akkor az mennyit tesz ra, csak valahogy nagysagrendileg hogy tudjak vele szamolni ?

Oh, na mindjart megnezem igy mikroszekkel is ... valszeg igy szarabb a helyzet ... es miert irja E.T. -nek ? Becsult ? Es akkor mennyi a valosagban ?


Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.11. 09:19:16
Es az, hogy az ld (hl),e az maga is irja a memoriat, az nem noveli tovabb ?

Nem, mert az alapértelmezés szerint csak M1-nél (utasításkód olvasás) van várakozás, ami a következőket jelenti:
 - az utasítás első byte-ja, ha nincs prefix byte
 - minden prefix byte (CBh, DDh, EDh, vagy FDh)
 - a prefix byte(oka)t követő első byte, kivéve a DDh CBh vagy FDh CBh esetét, amikor csak a prefixek számítanak M1 műveletnek
A BFh I/O porton egyébként be lehet állítani azt is, hogy minden memória műveletnél legyen várakozás, vagy egyiknél sem. Annak, hogy csak M1-nél legyen, azért van értelme, mert ebben az esetben kevesebb idő van a memória olvasására (normál esetben 2.5 ciklus a művelet kezdetétől számítva, M1-nél csak 2 ciklus, mert a DRAM frissítéshez is kell idő).

Az LD (HL), E tehát EP-n alapértelmezés szerint 8 ciklus (4+1+3). Érdekesség, hogy turbós gépeken már 9 ciklus lenne, mert ott 2 ciklus a várakozás.
Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 09:20:44
A videó RAM az jóval lassabb, és a program szempontjából vehetjük nagyjából véletlenszerûnek, hogy mikor jön be a várakozás...
Talán István tud egy átlagos idõt mondani rá.
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.11. 09:23:44
Aham, es videoram sima ram kozott sincs alapesetben kulonbseg ? Mert en anno sztm mertem olyat hogy egyik ramunk lassbb volt ( minden allitas nelkul, en nem tudtam hogy lehet ilyet allitani ) mint a masik ...

A video RAM lassabb, mert a hozzáférést szinkronizálni kell egy 889846 Hz-es frekvenciához (= 1 NICK karakter, amelyen belül 2 byte-ot olvashat a NICK, és 1-et a Z80). Ez 4 MHz-es gépen 1 és 5.5 ciklus közötti várakozást jelent (a várakozás fél Z80 ciklus egységekben történik). A BFh porton beállítható várakozási módnak azonban a video RAM-ra nincs hatása.
Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 09:30:28
Ez 4 MHz-es gépen 1 és 5.5 ciklus közötti várakozást jelent (a várakozás fél Z80 ciklus egységekben történik).
És ez ha jól sejtem a Z80 órajelének felfüggesztésével történik. A TVC esetén konkrétan írják is, hogy így van.
Quote
A BFh porton beállítható várakozási módnak azonban a video RAM-ra nincs hatása.
Ez pedig szabályosan a Z80 WAIT lábát használja. Ha erre a vezetékre rakunk egy kapcsolót, akkor kézzel ki lehet iktatni a várakozást, attól függetlenül, hogy a programok éppen mit állítgatnak. (Ennek 6 Mhz gép + 1.44 floppy esetén van értelme, 6 Mhz-es Z80 csak úgy tudja követni a 16 Mhz-es WD-t, ha nincs várakozás, legalábbis az EXDOS jelenlegi programkódjával.)
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.11. 09:33:38
A videó RAM az jóval lassabb, és a program szempontjából vehetjük nagyjából véletlenszerûnek, hogy mikor jön be a várakozás...
Talán István tud egy átlagos idõt mondani rá.

Az emulátor így számítja a várakozást video RAM-nál:
 - kiszámítja az aktuális idő és a következő NICK karakter (889846 Hz-es frekvencia) közötti időt
 - hozzáad 359.4 ns-t (illetve M1-nél néhány ns-el kevesebbet, NICK I/O portnál pedig néhány ns-el többet) - ez valamivel több, mint 5 pixel 2 színű PIXEL módban
 - az eredményt 1/2 Z80 ciklusokra konvertálja, lefelé kerekítve
Bár ez a megoldás valószínűleg nem egészen pontos, de az igazi géphez közeli eredményeket ad.

A memória olvasás/írás időpontja az egyes műveleteken belül:
 - M1 olvasás: 2.0 ciklus
 - normál memória olvasás vagy írás: 2.5 ciklus
 - I/O port olvasás vagy írás: 3.5 ciklus
Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 09:36:14
Szal ha eleg stabil lenne, akkor ha 100- bol egyszer nem toltene be egy jatekot jol, es nem szolna hogy CRC error, hanem csak szetfagyna, akkor az, ki banja, nem ?
Az egybõl szétfagyás az csak azt jelenti, hogy olyan helyre esett a hiba, hogy egybõl elõjön. De lehet, hogy máskor olyan helyre esik, hogy a második pályán fagy le. Vagy a harmadikon. Vagy akkor ha a zöld szörnyet a bal felsõ sarokban lövöd le. stb
Szerintem senki nem akarna olyan megoldást használni, ahol sose lehet tudni, hogy hibátlanul fog mûködni a gép vagy se.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 09:37:24
jááááááj.

na egyszerusitsunk, itt a kod, kiirtam melle az ertekeket:

NewByte:

Bit0:
   in      a,(0b6h);2.75
   and      b;1
   xor      c;1
   jr      nz,B0Change;1.75/3
   inc      d;1
   jr      Bit0;3
B0Change:
   ld      a,h;1
   cp      d;1
   rl      e;2

   ;ez itt ismetelve (ciklusmag kifejtes) 8x a 8 bitre, es utana:

   ld      a,e;1
   exx;1
   ld      (de),a;1.75
   inc      de;1.50
   xor      a;1
   sbc      hl,bc;3.75
   exx;1
   jr      nz,NewByte;1.75/3+1



A kommentig a ciklusmag olvas be egy bitet, a komment utani kis resz letarolja a bajtot.
Ez minden, ami az alap sebesseget meghatarozna.
Ami lapozas meg egyeb ilyen kell, arra kulon lenne ido, tehat 4K- nkent mi is masolnank, vagy ilyesmi, az majd rarakodik az idore, es ki lenne hagyva a csipogasban is, ott nem csipogna. Remeljuknem lesz nagyon sok. Illetve attol fuggoen hova akarnak tolteni, esetleg mukodhetnenk 2 fele keppen is, direkt toltessel es pufferes masolgatos modon, es a hivasban mi dontenenk el hogy melyiket alkalmazhatjuk most, milyenek a cimek amiket megadtak, mittudomen, nemismerem az exost. De ez majd kesobb jon. Most egyenlore mukodjon a direkt betoltes.
A direkt betoltes teljes kodja szerintem ott van fent. (Illetve az elejen majd ennek is lesz szinkron, de az is egyszeru lesz es csak az elso bit beolvasasaig fog tartani, szal az sebesseg szempontjabol nem szamit)

Szal kiirtam minden utasitas melle az E.T. ertekeket.

Akkor meg tudna mondani valaki kulon a ciklusmagra ( a legrosszabb esetben, de kb. azert azt neztem mindket aga a magnak majdnem egyforma hosszu ), es kulon a byte letarolasra, hogy az mennyi ido alatt futhat le mikroszekundumban ?
Es ha esetleg az exosnak az kovetelmeny lehet hogy videorambol fusson, es/vagy oda toltson, akkor abban az esetben milyenek lehetnek az idok mikroszekundumban ?



Ha valaki kivancsi a kod mukodesere is, akkor itt vannak a regiszter jelentesek:

   ld      b,80h;input mask
   ld      c,0;current input state
   ld      d,0;cycle counter
   ld      e,0;current byte
   ld      h,0;cycle counter limit
   exx
   ld      de,0;betoltesi cim
   ld      hl,0;beolvasando bajtok szama
   ld      bc,1;ezzel csokkentjuk hl- t
   exx

Ugyanis ha ismernenk a ciklusmag idejet, akkor arra egy kicsit rahagyva es megszorozva kettovel megkapnank hogy mennyi idobe tellene maximum egy bit beolvasasa ( az inverz bit ideje meg ennel is kevesebb lenne ),
es nyolc bitenkent a hangjelben lenne egy kis plusz ido, ami ido alatt a bajt letarolodna, tehat a bajt ideje nem adodna hozza minden bit idejehez.

Vagyis bitek szama * maximum bit beolvasasi ido + bajtok szama * bajt letarolasi ido = a file kozvetlen beolvasasanak ideje.

Ezt noveli kesobbiekben majd az exosos pufferbol masolas es/vagy CRC ellenorzes. Termeszetesen kikapcsolhatoan, hogy ha vannak elvetemultek akik megis biznak abban h ez stabil lesz (mert en igen, ti nem ?), akkor azoknak ne teljen az ido a CRC- zessel.

En tovabbra is ugy erzem, hogy a raw beolvasas ( masolas es CRC nelkul ) mehetne ugy 25 KBit/s -el, realisan szamolva, ami 21 masodperc alatt toltene be 64K- t.

Sztm ez mar megerne.

PC- n meg lenne elso korben egy command line exe, ami a bemenetere kapna fileneveket, ezeket lefutyulne on the fly.

Es akkor ugy nezne ki egy betoltes, hogy strat gomb az EP- n, es

SuperTape game.com game.scr game.dat

sor utan 2X 3X 4X tiz masodperc utan indulna az EP- n a cucc.


Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 21:39:56

Na egyenlore jegelem a temat.
Erdekes modon leszamolja a magasabb 40 ezer koruli valtozast ( 1 masodperc alatt ) az EP,
de szinten erdekes modon mikor azt nezem hogy hanyszor fut korbe a ciklusom 1 valtozason belul,
akkor nagyon pontatlan ertekeket kapok: hol 2- t, hol 4- et, hol hatot.

Tehat egy szekundum alatt mondjuk 20 ezret valtozik valami, ezt pontosan meri minden futtatasnal.
De azt hogy 1/20 ezred vagy 1/10 ezred szekundum alatt hanyszor tudok lefuttatni egy ciklust az olyan pontatlan ahogy fent irtam.

Szoval a dolog ha megvalosithato egyaltalan, akkor tul nagy munkanak tunik, tikkre be kene loni, szinkronizalni a dolgokat,
kulonfele felteteles elagazasokkal es az azokon talalhato mondjuk nopokkal ossze kene szinkronizalni a beolvaso ciklus elejet, a bemeneti jel elejevel,
raadasul szinkronban is kene tartani...

Ugy egyszeru csak ez a feladat, ha a mero ciklus frekije nagysagrendekkel nagyobb tud lenni, mind a mert jel frekije.
De ahhoz hogy ez igaz legyen, ahhoz le kene adni a 20KBit koruli atvitelrol, kevesebbert meg nem eri meg.

Ugyhogy azt hiszem ha legkozelebb nekifutok, akkor mivel a melo ugysem nagyobb, csak masmilyen,
akkor tenyleg inkabb valami floppy sebessegu EP/PC atvitelt erdemes csinalni, sajat elektronikaval,
amihez meg kulon tap sem kell.



Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 22:41:40

Zozosoft,

ha mar meglenne az atvitel mondjuk PC es EP kozott, tehat asmonban futtatva 1 kodot beolvasna a memoriaba egy rutin peldaul a PC- rol,
akkor abbol egy uj EXOS device- ot irni, amit alapertelmezesnek lehet allitani, es kompatibilis tud lenni a toltes erejeig az EXOS tolto hivasaival,
az egy komoly munka, vagy csak nehany sor ? Tehat ugy nagysagrendileg hogy kepzeljem el ? Kello ismeretek birtokaban irok 50 assembly sort,
es mar EXOS kompatibilis is a betoltes, vagy 2 hetig kodolok, mire kiszolgalok minden EXOS funkciot, igenyt ?


Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 22:54:14
Itt vannak a perfériakezelõ információk. (http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_muszaki_leiras/EXOS.htm#28)

Én inkább a 2 hétnyi kódolásra tippelnék  :oops:
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 22:56:03
Jajj be szomoru is az en eletem ... :)
Pedig en megebben az eletemben be akarok tolteni Pc- rol ... :)
Tulajdonkepp nem is olyan rossze ez a magnos modszer... mar nem is olyan lassu... sot, tok gyors ... :)
Az alatt a 2-3 honap alatt mire vegigvernem a HW/SW oldalt, tok sok EP progit betolthetek a magnorol ... :) 2 ezer bauddal ... :)

Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.11. 23:15:23
Szerintem fel kéne boncolni a gyári betöltõ rutint, hogy mit lehetne kihozni belõle! BAM-ék csináltak 4800-ast, de nyílván nem mentek el a maxig, hiszen magnó+kazetta eleve korlátoz.
Ha egy 7-8000-et ki lehetne hozni, az már elég szép gyorsulás lenne!
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.11. 23:36:27

Most lemertem egy sima betoltest. 32050 bajt hosszu fajlt 140 masodpercig toltott, az 1831 bit/s .

Azzal a betoltessel amit ott taglaltam olyan 10 ezer bit/s -set azert el lehetne erni. Az olyan 5.5 szoros sebessegnovekedes lenne.

A 8000 a a gyari 2000- hez kepest 4X- es.  Nem lenne olyan rossz, ahhoz kepest ha csak 2 szamot kene atirni hozza valahol, de nem nagyon hiszek enebben ( semmi bizonyitek csak erzes ), mert ahhoz az 5.5- szoros sebesseghez en eldobnekminden funkciot, akkor az EP betolto szuper kepessegei megtartasa melletti 4X- es gyorsitas ... nem hinnem h bejonne.

Van valami rom visszafejtesszeru a magno betoltorol ?




Title: Re: Magnós frekvenciák
Post by: geco on 2009.November.12. 09:00:29
Most lemertem egy sima betoltest. 32050 bajt hosszu fajlt 140 masodpercig toltott, az 1831 bit/s .

Azzal a betoltessel amit ott taglaltam olyan 10 ezer bit/s -set azert el lehetne erni. Az olyan 5.5 szoros sebessegnovekedes lenne.

A 8000 a a gyari 2000- hez kepest 4X- es.  Nem lenne olyan rossz, ahhoz kepest ha csak 2 szamot kene atirni hozza valahol, de nem nagyon hiszek enebben ( semmi bizonyitek csak erzes ), mert ahhoz az 5.5- szoros sebesseghez en eldobnekminden funkciot, akkor az EP betolto szuper kepessegei megtartasa melletti 4X- es gyorsitas ... nem hinnem h bejonne.

Van valami rom visszafejtesszeru a magno betoltorol ?


sajna 4x-ére nem fog nőni akkor sem, a 4Kb-s blokkok feldolgozása nem gyorsul, sztem egy 3x-os gyorsulás lenne.
Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.12. 11:50:56
Van valami rom visszafejtesszeru a magno betoltorol ?
Nem sok, az 1-es szegmens visszafejtése kézíratban még nem lett részletesen visszafejtve :-(
Mindenesetre itt van (http://ep.homeserver.hu/PDF/Segment_1.pdf) úgy a 130-147 oldalakon terül el a magnókezelõ.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 13:27:44
Na sok dolog lett.

Eloszor is az emu mintha lassabb lenne a vas EP- nel. Ezt a mert ciklusszamok a beolvaso programban is igy mutatjak, meg szemmel, mikor asmonban a szovegben shift+le gombbal kozlekedek, akkor az EP sokkal gyorsabban felulirja a kepet (mozog le egy oldalt), mint a szimulator. Ez miert lehet ? Nem allitottam sebesseget az alap 4 millio van beallitva. Nem turbos a gepem. ( Turbos, de alapon van, kiprobaltam, mikor nem alapon van, akkor a billentyuhangok hulye magasak lesznek )

Masodszor eszembejutott hogy azert ilyen pontossagu mereseket mar nemszabad az emuval csinalni, az ennyire azert mar valoszinuleg nem pontos. A WinUAE most azon kuzd hogy kijojjon az orajelpontos emulaciojuk, de azert az ep128emu gondolom meg nem tart itt. Igaz ? Szal elkezdtemvas EP- val futtatni merni a jeleket.

Harmadszor, maskepp reagal a vas EP akkor, ha Play -jel kezdem a lejatszast a szimuban, es mashogy ha a szimu mar lejatszik, csak a vegere ert, es rewind -del visszatekertetem az elejere. Kovetkezetesen osszevissza ertekeket ir ki a vas ep, a rewind altal kezdodo lejatszaskor, es a play- esnel pedig kovetkezetesen hasonlokat, nagyobbakat. Ezt nem tom miert van, de akkor majd ezentil mindig stop/rewind/play -jel inditok ujra, nem sima rewind- del.

Harmadik dolog, hogy a vas EP sebessege miatt mar joval nagyobb ciklusszamok jonnek ki akkor, ha lemerem hany ciklust tudok leszamolni mondjuk ket hang input valtozas kozott, ha azok pld 20 ezred masodpercenkent jonnek. De meg mindig azt varnam hogy max 1 elteressel kene tudjam leszamolni. Tehat barakarhanyszor is futtatom, mindig ugyanaz az ertek kene kijojjon egy frekinel, maximum 1 elteressel, attol fuggoen hogy mennyire van szinkronban a ciklusban a belovasas az inputjel valtozasanak pillanataval.

De nem ezt tapasztalom, hanem mondjuk vas EP- nel, 10KHz- s inputjelnel ( a valtozasok 1/20000 msodpercenkent jonnek ugye mert mindegy hogy felfuto vagy lefuto el csak a valtozast nezi a program) a kulonbozo mereseknel hol 6, 9, 12 ciklust is mer ... pedig hat a vas EP orajele azert ennyire nem lehetne pontatlan.

Ez a program a teljes beolvaso program resze, amit arra hasznalok hogy lemerjem hany ciklust tudok futtatni ( ez lenne a tulajdonkeppeni idomeres a beolvasoban, ami megallapitja majd hogy 1 vagy nulla bit jott ) ket input hang valtozas kozott:



Ciklus alatt az en programom mero/szamolo ciklusat ertem, nem az orajelciklust vagy ilyesmit.





   org      2000h

   di

   ld      a,128                        ; meginditom a magnot
   out      (0b5h),a

   ld      hl,4000h                     ;ide toltenem, ha tolteni akarnam, de most ugye csak merni akarnek
   ld      bc,4000h                     ;ennyi bajtot, ha toltenem

   call EPCT_Load

   ei

   ret

EPCT_Load:

   push   hl
   push   bc
   exx
   pop      hl                           ;beolvasando bajtok szama
   pop      de                           ;betoltesi cim
   ld      bc,1                        ;ezzel csokkentjuk hl- t
   exx

   ld      h,2                           ;cycle counter limit
   ld      l,1                           ;cycle counter reset

   ld      b,80h                        ;input mask
   ld      c,0                           ;current input state
   ld      d,l                           ;cycle counter
   ld      e,0                           ;current byte

WaitForChange0:                           ;NA EZ MAR LENYEGES EZ KET OLYAN LOOP
   in      a,(0b6h)                     ;AMI CSAK AKKOR LEP KI, HA MEGJON AZ ELSO
   and      b                           ;KET VALTOZAS A HANG IMPUT BITEN
   cp      c                           ;EZ CSAK EGY MEGAKASZTAS AZ ELEJEN
   jr      nz,FoundChange0                  ;HOGY VARJON A HANGRA
   jr      WaitForChange0                  ;TEHAT EZ KET CIKLUS
FoundChange0:                           ;AMI AKKOR JUT CSAK NewByte: -RA
   ld      c,a                           ;HA ELKEZDODOTT A HANG
WaitForChange1:
   in      a,(0b6h)
   and      b
   cp      c
   jr      nz,FoundChange1
   jr      WaitForChange1
FoundChange1:
   ld      c,a

NewByte:                              ;HA ELKEZDODOTT A HANG AKOR JUTUNK CSAK IDE
                                    ;ES AZ IGAZI BETOLTESNEL MAJD MINDEN UJ BAJTNAL
                                    ;DE EGYENLORE MOST CSAK LE AKAROM MERNI HANYAT TUDOK
                                    ;SZAMOLNI KET VALTOZAS KOZOTT STABILAN
                                    ;UGYHOGY TOBBET NEMJON IDE

Bit0:                                 ;EZ BEOLVASSA AZ ELSO BITET
   in      a,(0b6h)
   and      b
   cp      c
   jr      nz,B0Change
   inc      d
   jr      nz,Bit0
   ret
B0Change:
   ld      c,a
   ld      a,h
   cp      d
   ld      d,l
   rl      e

Bit1:                                 ;EZ BEOLVASSA A MASODIK BITET
   in      a,(0b6h)
   and      b
   cp      c
   jr      nz,B1Change
   inc      d
   jr      nz,Bit1
   ret
B1Change:
   ld      c,a
   ld      a,h
   cp      d
   ld      d,l
   rl      e

Bit2:                                 ;EZ BEOLVASSA A HARMADIK BITET,
   in      a,(0b6h)                     ;ES MIKOR BEOLVASTA AKKOR VISSZATER
   and      b                           ;NINCS SZEREPE ANNAK HOGY EZ A HARMADIK
   cp      c                           ;ELMELETILEG LEHETNE AZ ELSO VAGY A MASODIK MEREST
   jr      nz,B2Change                     ;IS VISSZAADNI, EN AZTAKARTAM HOGY A HARMADIKAT KAPJAM MEG
   inc      d
   jr      nz,Bit2
   ret
B2Change:
   
   RET                                 ;NAMOST MIKOR ITT VISSZATERUNK AZ ASMONBA
                                    ;AKKOR D REGISZTER FOGJA TARTALMAZNI AZT A SZAMOT
                                    ;AHANYSZOR A jr nz,Bit2 SOR VISSZAUGRIK Bit2: -re.
                                    ;VAGYIS AZ A SZAM AZ AHANYAT TUDOTT FORDULNI A
                                    ;Bit2 LOOP AMIG VALTOZAST DETEKTALT A HANG INPUT
                                    ;BITEN
                                    
   ;NA ERROL A SZAMROL GONDOLNAM EN UGY, HOGY HA EGY KONSTANS NEGYSZOGJEL VAN A HANG INPUTON
   ;(ES ITT UGYE MINDIG UGYANAZT A MINTAT AZ ELEJEROL KEZDEM LEJATSZANI AZ EMUVAL)
   ;AKKOR A SZAM MINDIG ALLANDO KENE LEGYEN, MAX 1-GYEL KULONBOZO LEHETNE,
   ;TEHAT HA MONDJUK 6 CIKLUS IDEJE FER BELE A 1/20000- ED MASODPERCBE,
   ;AKKOR MINDIG HAT KENE LEGYEN, VAGY ESETLEG 5, HA UGY JOTT KI A LEPES,
   ;DE SOHA NEM LEHETNE 4 VAGY 7, VAGY BARMI MAS.
   ;NAMOST A VAS EP 6-12 KOZOTT ADITT VISSZA EDDIG D REGISZTERBEN NEKEM ERTEKET ERRE.
   
   
   Vajon miert ?


Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.12. 14:44:08
Eloszor is az emu mintha lassabb lenne a vas EP- nel. Ezt a mert ciklusszamok a beolvaso programban is igy mutatjak, meg szemmel, mikor asmonban a szovegben shift+le gombbal kozlekedek, akkor az EP sokkal gyorsabban felulirja a kepet (mozog le egy oldalt), mint a szimulator. Ez miert lehet ?

Pontosan ugyanaz a konfiguráció, a RAM méret és a ROM-ok (pl. az emulátorban van EXDOS, de az igazi gépen nem, vagy más az EXOS verzió, stb.), és az ASMON változat is ? Nem lehet például más a BFh porton a memória várakozás beállítása ? Jól van beállítva minden órajel az emulátoron (4000000, 889846, 500000, Enable memory timing emulation) ? Az emulátor 100% sebességen fut ?
A magnó olvasás tesztelésénél az image file mintavételezési frekvenciáját érdemes lehet nagyobbra állítani (pl. 96000 Hz).
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 14:59:14
Nem pontosan ugyanaz a konfig, de azt nem gondoltam hogy arra is szukseg van, tehat hogy ha tobb ram van vagy mas romok ( mert hat persze hogy nem konfigoltam fel az emut a hw ep- m parametereire, hisz abban vannak plusz ramok, meg minden ), akkor az sebessegre is kihat.

A frekiertekek alapertelmezesben vannak, es ellenoriztem pontosan azok amiket irtal.

Az asmon verziok ( sorry, ujabb megabalfaszsag ) sem ugyanazok, a vas EP- n rombol fut az eredeti asmon 1.5, az emun a turbo asmon 1.5 fut szinten rombol ( asszem a distribbol jott ).
Szal ez okozhatja az asmonos kulonbseget. A turbo asmon -ban ugylatszik eltoltak ( lassitottak ) a kepernyofrissitest lefele mozgaskor.

BFh -portot en nem allitom, felteszem hogy a programok tobbsege se.

Emu 100%, persze.


Hangmintaveteli frekijenek pontossaga nem csak akkor lenne fontos, ha mar az egesz file- t neznem ?
Mert lehet vannak benne pontatlansagok, de hat en mindig pont ugyanazt a ket valtozas kozotti idot merem a file elejehez kepest elmeletileg,
Az meg barhogy torzult is, de mindig ugyanakkora kene legyen. Nem ?
Na de azert majd kiprobalom.










Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.12. 15:06:56
BFh -portot en nem allitom, felteszem hogy a programok tobbsege se.

Az EXOS 2.3x (vagy a ZozoTools ?) kikapcsolja a várakozást, ha van RAM bővítés.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 15:10:55

A hw ep- n van ram bovites. Es exos 2.31 fut rajta. Ettol lehet gyorsabb ? Akkor viszont eleg durva ez a gyorsulas ! Hogyhogy az eredeti EP kapasbol nem ezt hasznalta ?


Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.12. 15:17:11
Az EXOS 2.3x (vagy a ZozoTools ?) kikapcsolja a várakozást, ha van RAM bõvítés.
Akkor az bug lesz  :oops: a RAM teszt idejére ki van kapcsolva, hogy gyorsabb legyen (meg jobban is legyenek strapálva a memóriák), de elvileg utána vissza kéne írnia az alapértéket.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 15:20:08
Akkor az bug lesz  :oops: a RAM teszt idejére ki van kapcsolva, hogy gyorsabb legyen (meg jobban is legyenek strapálva a memóriák), de elvileg utána vissza kéne írnia az alapértéket.

Bug ??? Na de konyorgom! Hat nem az a bug, hogy tud ilyet az EP, es az eredeti exos nem ugy indul hopgy ilyen gyorsra van allitva ?!

Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.12. 15:24:12
Hogyhogy az eredeti EP kapasbol nem ezt hasznalta ?
Az alaplapok mindenféle vegyesfelvágott típusú, sebességû RAM IC-kkel készültek (gondolom amit éppen kapni lehetett olcsón), ezért van egy várakozás, hogy mindegyik gépen stabilan mûködjön.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 15:39:24

Na akkor majd megprobalkozok a meresekkel megegyszer ugy hogy valami brutal frekit allitok be mindenhol a hangkartya kimenetenel win7 alatt mintha be lehetne allitani mi legyen a freki amire kikeveri a vegen a rendszer a hangot, meg a mintat is feltolom ameddig csak lehet, es ugy rakatom bele a 10KHz- es jelet ( 20 ezer valtozas / sec ), es eloveszem a tuningmentes gepet, abba tolom az asmon cartridge- ot, es akkor ha ugy is bizonytalan lesz a mert eredmeny, akkor jajj.

Igazabol ez ket problema. Az egyik hogy miert tapasztalom a hw ep- t gyorsabbnak, ez engem a problema szempontjabol nem nagyon erdekel, legfeljebb majd ezzel a gyors ep- vel olvasnek be... Hopsz tulajdonkepp akinek stabil az atkapcsoloja, az turbos geppel meggyorsabban tudna majd betolteni, es betoltes utanvisszakapcsolja normalisra.

Az igazi problemam hogy a file- ban ket megadott ( tehat mindig ugyanaz az ido ) valtozas kozott miert nem mer ciklusszamot az EP ? Es ez vegulis a tokmindegy milyengyors geppel is ugyanugy jo es stabil kene legyen, maga a szam az majd kesobb lenne erdekes. Csak stabil lenne. De nem az.

Tehat a kerdes tovabbra is az, hogy miert nem az. Felemelem majd a frekit, de ahhoz hogy az legyen a baj, ahhoz az kene hogy az emu hangkeverese a win hangkeveresen keresztul valahogy egy file- ban ugyanott elhelyezkedo 2 valtozast ne ugyanolyan ido alatt "adjon le" az EP- nek. Ennek nem adok tul nagy eselyt, de ugy nezem a hangkartyam tud 192KHz- et is, csak valahogy el kell erjem hogy az emu es a win is ezen a 192KHz- en tolja az anyagot. Az audacity az tud tetszoleges frekit. Kerdes hogy ilyen custom frekit majd komolyan vesz- e az emu amikor olvassa majd a wav file- bol, meg ilyenek ...

Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 18:30:01

Az audacity ha wav- ba exportalok akkor 44 KHz -es wav- ot ment. Mast mindent be lehet allitani, hogy mono stereo hany bit, de a kimineti freki az fix 44KHz.

Valaki tudja esetleg hol kell benne atallitani, vagy pedig tud adni egy

96KHz es/vagy 192KHz - es wav- ot,
ami 1 masodperc hosszu,
10KHz -es negyszogjel van bele generalva,
es ha lehet mono ( nehogy meg a tobb csotorna is bekavarjon )

akkor az ne kimeljen.




Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 18:53:26
Na megtalaltam. Azert nem volt meg mert alulra mint egy statusfelirat odaraktak a fokepernyon es nincs a settingsben.
96000 fole nem akar menni, de azert mar legalabb az sem 440000.

Namost nem lett az eredmeny jo, tovabbra is 5 - 9 -ig voltak ertekek.

Tovabbi erdekesseg hogy ha winamppal jatszom le a hangot, akkor 2 -3 ertekeket mer, ami eleg furi. A winamp nagyobb frekivel jatszana azt amit kisebben kell, es kevesebbet tud szamolni a z80 kozben ?



Media playerrel is kb ugyanaz a helyzet, boduletes kulonbsegek 1 - 9 - ig kijohetnek.


Meg az emu tape lejatszojaval a legstabilabb, de ott is tul nagy a szoras.



A kerdes tovabbra is fennall: mitol ? Ez az egyetlen akadalya a dolognak. Ha ez a szam stabil lenne, mar mehetne is a toltes.




Title: Re: Magnós frekvenciák
Post by: szipucsu on 2009.November.12. 22:18:33
Ez itt 192KHz-es wav, -6dB, 10KHz, 1 másodperces 4szögjel, hátha segít.

A Cool Edittel generáltam.

(10KHz-re gondoltál, nem 1 KHz-re, mint a múltkor?)
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 22:31:57

Ez a jo amit kuldtel, az 1KHz mar a mult.

Most ebben a 10 KHz- ben ( 20 ezer baud ) lenne a bizodalmam, de sajna valamiert nem akar osszejonni a stabil lemerese (leszamolasa).

Ezzel a 192 -es mintaval most adok majd neki megegy probat, mert az audacity csak 96- os mintat volt hajlando nekem legeneralni, pedig ott van hogy other, es akkor beirhatsz neki akarmit, de barmit is irsz be ami nagyobb a 96 -nal arra kiirja hogy invalid.

Majd megnezem ezt a cooledit- et, ha free akkor leszedem.

Bar az az igazsag hogy nem igen bizok a dologban, sztm sokkal kisebb frekis mintakkal/keveressel is jo kene legyen, hiszen a jel maga 10 KHz, eddig a minta 96 KHz volt, az majdnem a 10X- ese a jelnek,
most meg kiprobalom a 192- vel, az ugye majd a 20X- osa, de valahol mashol lesz a kutya elasva. Csak tudnam hol ...


Title: Re: Magnós frekvenciák
Post by: szipucsu on 2009.November.12. 22:42:14
Lehet, hogy a Cool Editet már nem is lehet letölteni, mert a gyártó cég azt hiszem, megszûnt és valami hókuszpókusz volt a dologgal. Egyébként ingyenes - egészen 14 napig.  :ds_icon_cheesygrin:

Ha segít valamit, ezeket lehet még állítani hang generálásánál. Te jobban értesz hozzá, mint én, talán valahol meg lehet adni valami más értéket. (Pl. modulation frequency-nek 10 helyett valami mást, nem tudom, azt eszik-e vagy elemrõl mûködik.)
[attachimg=#]
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 22:54:02

Haaat, en talan azt gondolnam hogy a modulation frequency az 0 kene legyen, hiszen en epp a frekvenciat merem, es ha jol sejtem, akkor a modulacios frekvencia az az,
hogy van egy alapfrekvencia, ami a 10KHz ahogy kell, es azzal a 10 Hz- el tehat ugyan jelentektelenul, de valtoztatgatja azt a frakvenciat, tudtommal ez a frekvencia modulacio.

Szal ez igy jo lesz ( bar a minta 16 bites, nem 8, de az nem szamit csak dupla akkora helyet foglal, de az most nem lenyeges ), szalez igy jo lesz, de azert ha leszeded rola a modulalo frekvenciat, akkor meg pontosabb lesz, mert az a 10 herc, az az szerintem valtoztatgatja az alapfrekit, pedig annak pont allandonak kene lennie.

Title: Re: Magnós frekvenciák
Post by: szipucsu on 2009.November.12. 22:59:05
Modulációs frekit kikaptam, 8 bites a hangminta. Szerintem 8 bitesként kicsit zajos lett, bár talán lejátszótól is függ.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.12. 23:17:15
thx, ki fogom probalni, remenykedjunk. de tartok tole ep oldalon lesz a gebasz. valamiert az a ciklus amit irtam ( csak portolvasas, regisztermuvelet es felteteles ugras van benne, amiknek az ideje sztm konstans kene legyen ) az valamiert nem konstans idokkel fut. es ezekszerint zozo es istvan se tudja miert csinalhatja.

a negyszogjel azert nem lehetne zajosabb 8 biten mint 16 biten, mert elvileg csak 2 allapota van, 0 es 1 tehat a file- ban ha megnezed az elso par fejlec bajton kivul csak 3fh es c0h -s ertekek vannak. Szal igazabol egy biten is lehetne a minta. Hogy ennek ellenere valahogy mashogy jatssza le valami lejatszo, az attol persze meg lehetseges.

Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.13. 13:41:43
IstvanV elkepzelheto hogy az emu tape szimulatora nem tud kezelni 192Khz- es mintat ?

Mert a 96KHz -eset meg siman betolti, de a 192KHz- eset, amit a winamp pedig siman tolt es lejatszik, azt a 24000Hz -nek irja ki,
es egy ilyen mely bugas lesz, nem a 10KHz -es negyszog hangminta, ami benne van.

Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.13. 14:25:46
Ujabb erdekes fejlemenyek, 96KHz -s mintakkal ( es remelhetoleg keveressel ),lemertem egy 10KHz -s es egy 5 KHz- s jel meghatarozott 2 valtozasa kozotti idot, mindegyiket tizenegyszer, a kovetkezok lettek:

   10Khz   5KHz

   5      a
   1      8
   3      a
   5      a
   5      a
   2      9
   5      7
   5      8
   2      a
   5      8
   2      8



Jol megfigyelheto hogy a nagyobb freki ket valtozasa kozott max 5X tud lefutni a ciklus,
de olyan is volt hogy csupan 1X tudott lefutni, amit nem ertek, mostmar rajottem, hogy esetleg 2 kulonbseg is lehetne a max es min ciklusszam kozott, de 1- re nem mehetne vissza semmikepp.

A kisebb freki ket valtozasa kozott maximum 10X tud lefutni a ciklus ( milyen meglepo ugye, feleakkora freki, dupla akkorra maximum ciklusszam! vegre valami konzisztencia !). Es itt mar csak maximum 7- re megy vissza a ciklusszam, ami azert nem ertheto mert csak a mert freki valtozott, a mero ciklus nem, tehat amekkora deltaval dolgozik egyik, ugyanolyan deltaval kene dolgozzon a masik meresnel is.

Lehet nem eleg nagy a meresek szama, hogy hozza ezt az eredmenyt.



Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.13. 14:32:52

Nem lehet hogy az NMI megszakitasok okozzak ezt a random merest ?

Tehat ugye a maszkolhato megszakitasok tiltasa elott nagyon pontatlan volt a dolog.
Aztan viszonylag pontos lett a megszakitasok tiltasa utan, mert leszamolta minden esetben a 20KHz- es jelet is,
de igy egy valtozas kozott nezve meg mindig eleg pontatlan, egyszeruen olyan, mintha a z80 hol gyorsabban hol meg lassabban futna.

Na most kerdes, hogy lehet- e ez aviselkedes az NMI megszakitasok miatt. Mert ha igy van es tenyleg a z80 fut ilyen kergen, osszevissza,
mikroszekundumos idoket nezve josolhatatlanul, veletlenszeruen, akkor kb. ez 5 Khz- es ertek, esetleg 7 KHz lehet amit pontosan meg lehet vele merni,
es akkor az jelenthetne tenylegesen olyan 10KBit/s -os atvitelt. Ami a standard magno sebesseg 5-6 X osa lehetne.


Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.13. 14:36:32
Nem lehet hogy az NMI megszakitasok okozzak ezt a random merest ?
Nem mert nincs az EP-ben NMI, csak akkor ha rákötsz egy Spectrum Emulátort.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.13. 14:39:16
Tehat te is azt gondolnad, hogy ha van egy ciklus, amiben csak port olvasas, regiszter muvelet, es felteteles ugras lesz, annak az ideje mikroszekundumban josolhato, es kovetkezetes kell legyen ?


Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.13. 14:59:32
Tehat te is azt gondolnad, hogy ha van egy ciklus, amiben csak port olvasas, regiszter muvelet, es felteteles ugras lesz, annak az ideje mikroszekundumban josolhato, es kovetkezetes kell legyen ?
Igen. Viszont ha jól tudom a feltételes ugrásoknak nem ugyanannyi ideig tart a két variációja.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.13. 15:02:27
Igen, nem annyi ideig tart, de nekem csak az kell hogy kb. ugyanannyi legyen mindig, ha egyik, es minig ha masik iranyba megy,
es az osszes tobbi utasitas is. Portolvasason sincs valami random dolog ??? Mert ha nincs akkor nem ertem mik ezek a random pontatlan meresek,
mikor pedig a mintakban egyertelmuen ott digyelnek a jo meresek is.

Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.13. 15:41:52

Na mivel az elobb csak par minta volt, csinaltam 1 olyan rutint ami a bejovo hang osszes valtozasa kozti idot megmeri, es minimum es maximum erteket kepez a meresbol.
Ezt a rutint lefuttattam 10X mindket hangmintara.
Az eredmeny valami dobbenetes rossz lett:


10Khz

min-max

0-a
0-12
1-10
1-1f
0-13
0-e
0-14
0-fd             !!!!!!?????
0-c
0-f

5Khz

min-max

5-11
6-12
0-21
0-21
6-21
0-1a
5-18
0-11
0-16
6-24


nem ertem... ennek pontosnak kene lennie...





Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.13. 15:58:23

Hat ha nem az EP oldalon van a hiba, akkor valszeg a PC oldalon lehet felkialtassal kiprobaltam egy masik lejatszoval is lejatszani a wav- okat, mert eddig az emuval csinaltam, most kiprobaltam winamp- pal.
Sokkal pontosabb lett.

10KHz

min-max

0-9
0-9
0-9
0-9
6-a
0-9
0-9
0-9
6-b
6-a

5KHz

min-max

1-5
1-6
1-4
0-4
1-4
0-4
0-4
0-4
0-11
0-4



Hogy az elso ertek hogy mehet le nullaig azt tovabbra sem ertem, de ezek a szamok azert mar nem annyira osszevisszak.

Lehetseges lenne tehat hogy a PC hanggeneralas nem eleg jo ?


Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.14. 10:22:11

LeaderSyncZeroOne
Normal sebesség915117
EPTE max speed71185
Ezt az EPTE maxot nekem nem sikerült 4 Mhz-es gépen beolvasni, csak 6Mhz-esen.
Ott 5/7/6/4-ig sikerült lemenni, 7.12-n 5/7/6/3, BAM féle betöltõvel 4/6/5/3 (ez megy 6-on is).

Title: Re: Magnós frekvenciák
Post by: endi on 2009.November.14. 20:36:19
Olyat nem csináltak régen hogy sztereo magnós programtárolás? 2x-ére gyorsulhatna a betöltés!
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.14. 20:47:48

Hat barmit is csinaltak, vagy nem csinaltak, egy biztos: az EP- nek egyetlen bite van mindossze, es ahhoz hogy egszerre ket bit jojjon be ( mondjuk 1 sztereo magnorol, vagy sztereo hangkartyarol ) a z80- nak, ahhoz 2 bit kene. De sajna csak 1 van.

Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.15. 00:23:57
Egy megleheto"sen kezdetleges próbálkozás gyors PC->EP másolásra:
 [attachurl=#]
 [attachurl=#]
 [attachurl=#]
 [attachurl=#]
 [attachurl=#]
A sebessége elvileg 8770 bit/s körül van - ami kb. 2-szer lassabb a DTF betöltésnél :razz: - ha a 0 és 1 bitek azonos számban fordulnak elo" (az 1 bit kétszer lassabb, mint a 0: 38/250000 másodperc 19/250000 másodperc helyett).
Mivel ez csak egy teszt program, nem érdemes EXOS kompatibilis bo"víto" interface-t vagy felhasználóbarát mu"ködést várni :oops: Mindenesetre nekem háromszor kipróbálva mindig sikeresen átmásolta a "blue.com" file-t igazi gépre.
Valószínu"leg lehetne még gyorsítani is rajta, a kód optimalizálásán kívül a memória várakozások letiltásával (ez a verzió a "szabványos" 04H-t írja a BFH portra), vagy a lényegtelen részek (pl. keretcsíkozás) törlésével, illetve az elleno"rzo" összeg törlésével (ez talán nem annyira jó ötlet) vagy 16 bites helyett 8 bitesre való cseréjével. Az ido"zítés a mentésnél és a töltésnél is DAVE hanggenerátor megszakítással történik.

Azzal is próbálkoztam, hogy FM helyett közvetlenül a bit értékeket írja a hangkimenetre (de minden byte elején szinkronizálva) fix sebességgel és egy byte-ot 10 bitre növelve a szinkronizáció miatt, de ezt a megoldást csak emulátoron lehetett betölteni, így egyelo"re maradt a hagyományos FM, csak fél négyszögjelekkel.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.15. 00:38:46

uff... hat csak a loadot neztem ( igazabol az az ami mozgatna ), es nem mondanam hogy ertem ...
tokmasnak nez ki mint az enyem, es nem ertem mi ez a sok bonyesz dolog ...
aze meg nezegetem, de akar el is mondhatnad az elvet hogyan mukodik, meg h melyik kodresz mit csinal,
hatha ugy megertem ...


Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.15. 00:41:40
uff... hat csak a loadot neztem ( igazabol az az ami mozgatna ), es nem mondanam hogy ertem ...
tokmasnak nez ki mint az enyem, es nem ertem mi ez a sok bonyesz dolog ...
aze meg nezegetem, de akar el is mondhatnad az elvet hogyan mukodik, meg h melyik kodresz mit csinal,
hatha ugy megertem ...

Igazán csak a sendByte és a receiveByte rutin érdekes, azok végzik a tényleges adatátvitelt, a többi csak a "keretprogram": inicializálás, fejléc küldése/feldolgozása, másoló ciklus (elleno"rzo" összeg frissítésével), stb.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.15. 00:55:09
na de itt vmi dave resetelesek vannak, meg moindenfele rst hivasok... azok vlaami megszakitasok nem ? hat minek kellenek azok ?

an valami olyan egszeru dolognak hittem idaig a toltorutint, mint ahogy irtam is:

betolt nyolc bit
latrol bajt
ujra betolt nyolc bit

8 bit betoltese meg hogy az ember nezi hogy valami ciklussal hanyat tud szamoltatni mig bejon egy valtozas, az input biten es a leszamolt ciklusszamok kulonbsegebol kijon hogy a bit 1 vagy 0 es ezt az ember nyolcszor megismetli.

csak elakadtam ott, hogy nem voltak allandoak a leszamolt ciklusszamaim...

esetleg nem proci ciklust kell hasznalni ido meresre, mert az ilyen veletlenszeruen valtozo idoket ad, hanem valami nagyfrekis hangmegszakitast ? volt valami ha jol emlekszem szaz vagy tobbszaz kiloherces hangmegszak, lehet azzal kell idot merni ?


Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.15. 01:04:11
na de itt vmi dave resetelesek vannak

A daveReset csak a DAVE regisztereit állítja alaphelyzetbe, hogy a kód akkor is mu"ködjön, ha azok egyébként valami másra lettek volna állítva.
A receiveByte-ban az A7H portra való írás a 0. hanggenerátor számlálóját indítja újra 25-ro"l (a 19 és a 38 átlaga 28.5 lenne, de néhány ciklust levontam a megszakítás tesztelése és az A7H port írása között eltelt ido" miatt).

Quote
, meg moindenfele rst hivasok... azok vlaami megszakitasok nem ? hat minek kellenek azok ?
Azok csak rövidebb és gyorsabb CALL utasítások fix címre :) :oops:

Quote
volt valami ha jol emlekszem szaz vagy tobbszaz kiloherces hangmegszak, lehet azzal kell idot merni ?

Én azzal mértem.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.15. 01:08:06

Ugh... es miert valasztottad azt ?

Mert en ugy jartam ahogy jartam a procival, vagy pedig kapasbol arra gondoltal valamiert, hogy megszakkal kell, esetleg te tudtad hogy a z80 ciklusai nem kiszamithatoak, es valahogy osszevissza fut a proci ?

Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.15. 09:33:12
Egy megleheto"sen kezdetleges próbálkozás gyors PC->EP másolásra:
De ez elvileg 2 valódi EP között is menne, igaz?
Most kipróbáltam egyszer, betöltödött!

Magnóhang ki lett kapcsolva, vagy már átment ultrahangba? :-)
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.15. 10:57:37
De ez elvileg 2 valódi EP között is menne, igaz?

Igen.

Quote
Magnóhang ki lett kapcsolva, vagy már átment ultrahangba? :-)

Kikapcsoltam, mert a normál magnóhangnál jóval magasabb és zajszerűbb a hang, de egy byte módosításával visszaállítható :)
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.15. 11:09:01
Ugh... es miert valasztottad azt ?

Mert így nem függ az időzítés attól, hogy két bit olvasás között mi történik (pl. byte feldolgozása), feltéve, hogy a kód elég gyors ahhoz, hogy a következő bit olvasásáig ne teljen el túl sok idő (ebben az esetben legfeljebb 304 Z80 ciklus, azaz 4000000 * 19 / 250000, mert a mentésnél a DAVE hanggenerátor frekvenciakódja 18). Az egyszerű ciklusszámlálással jóval kisebb lenne a mért érték egy byte elején, mint a byte két bitje között. Ezen kívül a sebesség egyszerűen egy byte módosításával állítható a mentésnél és a töltésnél is.
De talán megoldható az is, hogy a csak Z80-at használó megoldásnál várakozások legyenek beépítve a stabilabb sebességhez, csak az nehezebb (viszont elvileg gyorsabb lehet, mint a DAVE számlálók használata).
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.15. 11:52:07
Es ezzel a hangmegszakos modszernel mi limitalja a sebesseget az altalad megnevezett 8770 bit/s -ses sebessegre ? Nem lehet eleg finoman allitani a megszakot, vagy pedig mi az ami miatt nem lehet 11 vagy 15 KHz ? Vagy lehet hogy lehet csak nem lotted meg be a tetejet ?

En is ugy gondoltam, hogy majd a byte letarolasanal lesz kihagyva a hangban egy kis szunet, ami utan majd ujraindul a bitek beolvasasa. Es akkor szerinted is teljes hulyeseg az, hogy ciklussal merve iszonyatos nagy inkonzisztenciakat tapasztalok ? Tehat hogy nagyon- nagyon kulonbozoek a mert idok. Tehat ha egy fix frekit merek, akkor a kulonbozo valtozasok kozott ( amiknek kb. azonos idejenek kene lennie ) akkor osszevissza ertekek jonnek ki. Tehat a frekitol fuggoen, mondjuk 1-5 vagy 1-10 kozotti ertekek...
Tehat ez szerinted is teljes hulyeseg, a z80 fix idokkel fut, nem lehet, hogy valami ilyen pontossag mellett determinalhatatlanna, randomma teszi a fuasat ? zozo szerint nem lehet, de hat en megis ezt tapasztalom ...

Nincs kedved kiprobalni procival is a szamolast, csak azert hogy kideruljon hogy tenyleg van ilyen random a procival mert ciklusszamokban ?

Mivel forditasz egyebkent, mik ezeke a forrasok, amiket attacsolsz ?


Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.15. 13:02:02
A Dave-s módszernek viszont az a elönye, hogy nem függ a memóriavárakozások állítgatásától. És ha lehetne berakni hasonló órajel detectálást, mint a hanglejátszóba, akkor mindenféle turbós géppel is müködne.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.15. 13:12:59
Igen, csak meg nem tudom hogy mi a limitacio a sebessegben, mert ha cpu- val sokkal nagyobb sebesseget lehet elerni, akkor engem inkabb a sebesseg erdekel mint a kompatibilitas, nekem az EP az egy 128kb- os 4MHz- es ep, persze jo az ha minden tuning geppel kompatibilis valami ( plane egy ilyen funkcio ), de ha 15 vagy 20 kb/s -set el lehet erni egyikkel, es csak 9kb/s -set a masikkal, akkor en inkabb a standard gepre tvikelt modszert preferalnam.

A mondatod masik reszet viszont total nem ertem, ha egyszer megszak, akkor az mar proci orajel fuggetlen, nem ? Tehat nem kell mar bele egyeb orajel detektalas, ha egyszer nem prociorajellel, hanem megszakkal merunk, akkor az nem lesz orajelfuggo. Nem ?

Akkor kene bele orajeldetektalas, ha procival akarnank betolteni, ES kompatibilisse akarnank tenni a tuning gepekkel, nem ?


Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.15. 13:42:56
Es ezzel a hangmegszakos modszernel mi limitalja a sebesseget az altalad megnevezett 8770 bit/s -ses sebessegre ?

Az, hogy a legrosszabb esetben a betöltő két bit feldolgozása között kb. 300 Z80 ciklust használ fel, ezért a legnagyobb frekvencia 250000 / 19, azaz ~13158 Hz lett, ami 304 Z80 ciklus. Ez az időtartam egy '0' bit hossza, az '1' bit két időegység, így lesz az átlagos sebesség (50-50% eloszlást feltételezve) 8770 bit/s körüli érték.
A további gyorsításra, mint említettem, több lehetőség is van:
 - várakozások letiltása (ezzel talán 15% körüli javulást lehetne elérni, esetleg valamivel többet is, ha sok az M1 olvasás)
 - keretcsíkozás letiltása (~15 ciklus a NICK port miatti várakozást is figyelembe véve)
 - az ellenőrző összeg számításának egyszerűsítése (jelenleg 47 ciklus várakozással, 39 ciklus várakozás nélkül)
 - lassabb időzítés vagy várakozás a byte határokon - bonyolultabb, de nem lenne minden bit a legrosszabb esetnek megfelelően lassú

A csak Z80-as időzítés a DAVE programozásra fordított idő elkerülése miatt lehetne valamivel gyorsabb, de nehezebb jól megoldani.

Quote
Mivel forditasz egyebkent, mik ezeke a forrasok, amiket attacsolsz ?

Ebben (http://enterpriseforever.com/dlattach.html;topic=358.0;attach=2681) a csomagban taláható egy "sjasm.exe" (illetve Linuxra "sjasm-linux") nevű file. Ezzel lefordítható a forráskód: a használata a parancssorban "sjasm FORRÁSFILE KIMENETI_FILE" (az utóbbi nem kell, ha a forráskód tartalmaz "output" direktívát - ha nincs egyik sem, akkor a forrásfile kiterjesztését ".out"-ra cserélve írja a lefordított file-t). Fordításkor létrejön egy .lst kiterjesztésű lista file is, amely a debugger használatakor lehet hasznos.

A Dave-s módszernek viszont az a elönye, hogy nem függ a memóriavárakozások állítgatásától. És ha lehetne berakni hasonló órajel detectálást, mint a hanglejátszóba, akkor mindenféle turbós géppel is müködne.

Memóriavárakozás nélkül a betöltőben a DAVE frekvenciakódot talán célszerű lenne 24-ről 25-re növelni a gyorsabb utasítások miatt; elvileg 28.5/250000 másodperc után kellene megszakításnak lennie, de ebből levontam a megszakítás állapot olvasása és a számláló újraindítása közötti időt, és még egyet mert a számláló futásideje nem N/250000, hanem (N+1)/250000 másodperc.
Az viszont tény, hogy ennél a módszernél egyszerűbben lehet állítani a sebességet, legalábbis a program lehetőségeinek a határáig.
Már csak valami jól használható EXOS bővítőt kellene írni :) :oops:

A mondatod masik reszet viszont total nem ertem, ha egyszer megszak, akkor az mar proci orajel fuggetlen, nem ? Tehat nem kell mar bele egyeb orajel detektalas, ha egyszer nem prociorajellel, hanem megszakkal merunk, akkor az nem lesz orajelfuggo. Nem ?

A turbós gépeken a DAVE (és így a megszakítás) is ugyanolyan arányban gyorsul, csak a NICK órajele marad fix.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.15. 14:04:27
A csak Z80-as időzítés a DAVE programozásra fordított idő elkerülése miatt lehetne valamivel gyorsabb, de nehezebb jól megoldani.

Miben gondolod hogy nehezebb lenne ? En arra a kerdesre keresem a valaszt, hogy vajon en rontottam- e el a beolvasoban valamit,
vagy van valami ismert, elvi dolog, ami miatt az nem mukodhet.





Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.15. 14:08:59
Miben gondolod hogy nehezebb lenne ?

Mert, mint már említettem, nincs fix, hardver által meghatározott időmérés, hanem figyelembe kell venni, hogy a kód sebessége változhat a feltételes elágazásoknak megfelelően. De természetesen lehet használni ezt a módszert is, illetve a Spectrumon például eleve csak így oldhatták meg a hardver kezdetlegessége miatt, mivel ott nincs semmilyen időzítő :)

Quote
En arra a kerdesre keresem a valaszt, hogy vajon en rontottam- e el a beolvasoban valamit, vagy van valami ismert, elvi dolog, ami miatt az nem mukodhet.

Lehet, hogy egyszerűen csak túl nagy sebességet próbálsz elérni :)
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.15. 14:38:18
A kulonbozo frekis gepek engem nem erdekelnenek, az meg hogy a felteteles elagazasoknak ugyanaz legyen a sebessege sztm nem igazan fontos, hiszen a merendo jelek, azok fix idovel jonnek, kivulrol, es mi majd varakozni fogunk ra, a kovetkezo bitnel,

tehat:

OLVASS:
olvasunk az inputbitrol
teszteljuk hogy van- e valtozas
ha nincs valtozas visszaugrunk OLVASS -ra,

ha van valtozas akkor itt folytatjuk ( most mas ideje lett az eddig OLVASS -ra ugro felteteles ugrasnak, de nem ertem miert szamitana ez )

itt megnezzuk az uj bit 0 vagy 1 es eltesszuk az uj bitet egy regiszterbe, amiben gyujtjuk ossze a bajtunkat

es visszaugrunk OLVASS -ra olvasni a kovetkezo bitet. ( vagy kifejtjuk ezt a 8- as loopot, de ez most reszletkerdes )



Lenyeg, hogy a ket fajta lefutas ( meg varunk a valtozasra ill. megvan a valtozas es betesszuk a bajtba ) kozul az egyiknek az ideje hosszabb lesz, es annal az idonel kell nagyobbnak lennie ket valtozas kozott eltelt idonek az inputjelben, hogy barhonnan is ugrunk vissza OLVASS- ra, ne veszisunk bitet. Ugyhogy nem szamit hogy kulonbozo a ketfele lefutas ideje. Nem ?


( most a bajt eltarolasat ne nezzuk, csak olvassuk a biteket osszegyujtjuk, aztan eldobjuk, nekem ugye ez sem ment mar )




sebesseg:

Hat a vegen mar 5KHz -es jel valtozasai kozott szamoltam a ciklusokat, ami 10KHz valtozas ami kisebb mint a te 13KHz- ed. Ugyan nagyobb ciklusszamok jottek ki ( kb. ketszer akkorak ) mint a dupla ekkora frekinel ( ami az alom freki lenne ), de ugyanolyan durvan osszevissza ertekek, nem stabil, vagy esetleg 1-2 ciklusszammal kulonbozo ertekek.
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.15. 18:39:52
Kisebb optimalizálással ~9804 bit/s-re nőtt az átlagos sebesség (az "órajel" 250000 / 17, azaz kb. 14706 Hz). Valójában lehetne 10417 is, elvileg elég gyors a kód ahhoz is, csak még nem próbáltam ki:
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
  [attachurl=#]
Ez még mindig normál (04H) várakozást használ. A keretcsíkozás kissé más lett, mert úgy módosítottam, hogy egy byte bitjei között írjon a 81H portra, így a legrosszabb esetben (byte határon) az effektus nem használ CPU időt. A sebességet a tapeload.s 110. és a tapesave.s 89. sorában lehet állítani.

UI.: érdekességként a tapeload.s-ben a 112. sornál az E0H-t is át lehet írni C0H-ra, hogy legyen hang :) Egészen más (jóval magasabb) hangja van, mint a normál EXOS magnókezelőnek.
Title: Re: Magnós frekvenciák
Post by: Z80System on 2009.November.15. 18:54:22
hmmm... alakul... ez igy az eredeti magno sebesseg 5X -ose, marcsak megduplazodik, es mar el is ertuk az "alomfrekit", amit elvileg lehetsegesnek tartottam ... :)

Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.16. 10:16:10
Viszont ha rendes EXOS bõvítõt csinálunk belõle, akkor jön a probléma, hogy a memórialapozást is kezelni kell, ami jelentõsen belassítaná a dolgot :( vagy lehet azt a trükköt csinálni mint az EXOS magnókezelõ, hogy mondjuk egy 4K-s csatornapuffert foglalni és oda töltögetve blokkonként az adatokat, majd utána lehet átmásolgatni. (valószínûleg ugyanezen okból van a magnókezelõnél is a darabolás, hogy a sebességkényes átvitelnél ne kelljen lapozgatással foglalkozni)

Sõt mi lenne ha mondjuk a TPT magnókezelõjébe szerkesztenénk bele? A blokk kezelõ részt kéne kibõvíteni. Kimentésnél egyszerû, a turbó változó egy új, eddig nem használt értékénél lehetne az új mód, Betöltésnél meg a fejlécsípolást felismerõ részt kéne úgy alakítani, hogy eldöntse új vagy régi. Ha ez nem megoldható, akkor lehetne hagyományos fejléc, de pl a fájlnévben egyébként érvénytelen karakterrel jelezni, hogy extra turbó mód jön. (Keretcsíkozás helyett meg szivárványszín töltés jelzõ :-) ) Így egyben rátevõdne a TPT tömörítõ rutinja is.
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.16. 11:12:51
Viszont ha rendes EXOS bõvítõt csinálunk belõle, akkor jön a probléma, hogy a memórialapozást is kezelni kell, ami jelentõsen belassítaná a dolgot :(

Erre megoldás lehet az, ha a bővítő átmenetileg a 0. lap elejére másolja az I/O rutint, elmentve és visszaállítva azt, ami eredetileg ott van. Természetesen problémát jelentene, ha a felhasználói program pont arra a területre próbálna tölteni, de remélhetőleg ez ritka eset. Ezzel a módszerrel a betöltő rutinban nem lenne lapozás, használhatna RST utasításokat, és a verem is a 0. lapra kerülhetne a lassú video RAM (FFH szegmens) helyett.

Quote
vagy lehet azt a trükköt csinálni mint az EXOS magnókezelõ, hogy mondjuk egy 4K-s csatornapuffert foglalni és oda töltögetve blokkonként az adatokat, majd utána lehet átmásolgatni. (valószínûleg ugyanezen okból van a magnókezelõnél is a darabolás, hogy a sebességkényes átvitelnél ne kelljen lapozgatással foglalkozni)

A puffer használata azért is van, hogy a programok tetszőleges méretű EXOS 6, illetve EXOS 5 hívással is tudjanak olvasni. Ha nem lenne 4K-s puffer, akkor az adat küldésénél pontosan azokat a blokk méreteket kellene használni, amit a másik gépen a felhasználói program vár (vagy kétirányúvá tenni a kommunikációt - de ez jelenleg csak igazi gépek között lenne lehetséges, mert az emulátorban nincs hangkártya bemenet - és először visszaküldeni a blokk méretét). Pufferrel viszont lassabb lesz az adatátvitel; a 9800 bit/s sebességnél egy 4K-s blokk másolása csak kb. 3 és fél másodperc, ami összemérhető a PAUSE hosszával. :(
Title: Re: Magnós frekvenciák
Post by: geco on 2009.November.17. 09:10:16
Erre megoldás lehet az, ha a bővítő átmenetileg a 0. lap elejére másolja az I/O rutint, elmentve és visszaállítva azt, ami eredetileg ott van. Természetesen problémát jelentene, ha a felhasználói program pont arra a területre próbálna tölteni, de remélhetőleg ez ritka eset. Ezzel a módszerrel a betöltő rutinban nem lenne lapozás, használhatna RST utasításokat, és a verem is a 0. lapra kerülhetne a lassú video RAM (FFH szegmens) helyett.
Ez jónak tűnik, elég kevés program van, ami 0000h-0100h közé töltöget, még egy bibi lehetséges, ha van olyan program, ami kilapozza a 0-ás lapot, és helyére másikat lapoz be, de szerintem a programok 1-4%-ánál fordulhat elő ilyen probléma
Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2009.November.17. 09:16:27
Olyan viszont nagyon sok van, ami 100H-a állítja a vermet, ez nem okoz gondot?
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2009.November.17. 10:08:24
Olyan viszont nagyon sok van, ami 100H-a állítja a vermet, ez nem okoz gondot?

Nem, mert az EXOS bővítők futás közben az EXOS saját vermét (2.1-nél FFH:B217H-tól lefelé) használják, tehát a program esetleges 0. lapon található verem területe is csak elmentendő és visszaállítandó adat. Valójában azonban a másolás közben átmenetileg külön kis méretű vermet kellene létrehozni valahol a 0-100H területen, mert ilyenkor a felhasználói program lapozása lenne beállítva, azaz egyáltalán nem biztos, hogy a 2. lapon a rendszerszegmens lenne; ezen kívül video RAM helyett a gyorsabb 0. lap használható veremnek.
Azonban ez a 0. lapra másolós módszer csak akkor kell, ha nem lesz 4K-s puffer. Ha pedig 0. lap helyett igazi gépen EPROM-ban fut a kód, akkor nem jelentene problémát a 0CH várakozási mód beállítása sem. Egy másodperces PAUSE 9800 bit/s-ről kb. 7500 bit/s-re csökkentené a sebességet, de nem tudom, mennyi az a szünet, ami még általában megbízható (talán állítható legyen ?).
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2010.March.25. 15:44:59
Ezt érdemes fejleszteni ? Talán megoldható lenne a következő:
  - rendszerbővítő EP-re, amely a FILE: eszközhöz hasonlóan használható (csak természetesen lassabb); az I/O műveletek közben a kód és a verem a 0-FFH területen lenne, elkerülendő a lapozást és puffer használatot, tehát ide nem lehetne tölteni, de a bővítő elmentené (pl. az EXOS verembe) és visszaállítaná az itt található adatokat
  - kétirányú EP<->PC összekötés (EP magnóbemenet-PC hangkimenet, és EP magnókimenet-PC hangbemenet), így tölteni és menteni is lehet, illetve az EP-s bővítő el tudja küldeni, hogy éppen milyen EXOS csatornahívást kellene végrehajtani
  - PC-s segédprogram, amely figyeli és elvégzi az EP-ről érkező EXOS csatornaművelet kéréseket az aktuális könyvtárban található file-okon; esetleg töltésnél használhatna "dtf -lz" tömörítést is, tovább növelve a sebességet
Title: Re: Magnós frekvenciák
Post by: Z80System on 2010.March.25. 19:12:43
Hat mikor 1X majd ujra fejlesztek EP- re en biztos imadnam, mert bar emun csinalom, attol meg probalgatni EP- n is kell. Es per pillanat az csak lemezre mentessel lehetseges.

A dolog hibaja azm hogy a sebesseg novekedese nem eleg nagy ahhoz hogy kibirja a szukseges CRC kezelesek es ilyesmiket, szal ahhoz hogy ez 1 hasznos dolog legyen, ahhoz sajna lassu lesz.

Es Zozosoft pld. nem latja ertelmet olyan tolto/mento funkciok komoly modon torteno exosba integralasanak, amik utana majd ( ha nemi sebessegnovokedessel a magohoz kepest ) bizonytalanul mukodnek. Szal vagy el van mentve valami, vagy nincs. Vagy biztos vok benne hogy az toltodott be ami a hattertaron van, vagy nem. Nincs kozeput. Ha meg stabilra akarjuk, akkor CRC- zni kell, de bizonyos esetekben ugy akar masolgatni is, pufferbol ( mikor olyan helyekre akarnak tolteni, ami direkt modon nem megvalosithato ).

Szal tobbszoros sebessegenek kene lennie a dolognak ahhoz, hogy gyakorlati haszna lehessen. Nagyon nagyon kecsegteto hogy mindossze 1 kabel raforditassal ( es persze szoftver mindket oldalon, de meg ep oldalon is lehetne akar sima floppyrol/winyorol toltodo rendszerbovito a dolog, EPROM se feltetlen kene ) lehetne adatot tolni egy vas EP- be, de sajna nem lenne eleg gyors.

Ha egy atlag file eseteben a toltesi ido meghaladja azt az idot, amivel en floppy- ra mentek a pc- bol, es atteszem a floppy- t az EP meghajtoba, es betoltom rola, akkor ez kvazi ertelmetlen funkcio. Es itt sztm altalaban meghaladna a toltesi ido a kezi floppy -s modszeret.

Persze ez akkor van igy ha fejleszteshez szeretne hasznalni az ember.

Koztudott hogy csak minimalis szami EP- re jut egy-egy EXDOS, a floppy- val rendelkezok szama elenyeszo az EP- k szamahoz kepest.
Ezert is tartottam fontosnak, anno a HDD probalgatasanal, hogy leszogezzuk, a HDD- s megoldas mukodokepes lehetne EXDOS es floppy nelkul is. Bar en nem hinnem, hogy Zozot megrohantak volna a HDD megrendelesek, szal lehet hogy egesz keves embernek kell csak az EP- be toltes gyorsan es kulturalt modon. Szal ennek a bekezdesnek az lett volna a lenyege, hogy ramutasson, hogy mivel nem fejlesztesi celra kellemes lehet ez a megoldas, megis lehet hogy van letjogosultsaga. De ha olyan sokan szeretnenek EP- be tolteni, hogy erdemes legyen ilyet kifejleszteni, akkor hogyhogy nem keszulnek az EP winyok zsinorba... Szal eljutottam a tezisem ellentezisehez: nem lehet tunni.

Azert azt megis olyan jo lenne tudni, hogy ha van valakinek egy vas EP- je, akkor az ( megha lassabban is ) egy tescoban vasarolt 300 forintos atjatszo kabellel barmit kepes betolteni/kimenteni PC- rol/re. Ez olyan jovobe mutato dolog lenne, nem ? Tehat ha vki szerez egy alapgepet, es nincs neki hozza egyeb mas ketyereje, kartyaja, bovitoje, akkor is egy minimalis kabelezessel monitorra (scart) es adathordozora (pc) tudja kotni a vasat. Sztm ez nagyban meghosszabbithatna az EP hasznalatot, mert mukodokepes alaplap, gep azert lehet, de exdos, meg winyo meg ilyenek addig van mig Zozo butykoli oket, aztan kampo.

A persze meg mindig ott a billentyu kerdes, a harmadik nehez dio. Hiaba a monitor (scart) es hattertar (pc, ha lenne), akkor se er semmit a vas egy mukodo bill folia nelkul, mert billentyut taknyolni hozza mar nem 1 juzer feladat. Lassu is, nehez is. Aki meg mar taknyol maganak bill- t, mert annyira ugyes es/vagy annyira erdekli, az mar szerezhet maganak winyot is azzal az erovel. Persze tovabbra is csak amig Zozo csinalja oket ...

Szal talan legjobb megis hagyni a faxba, es az emut csinalni tokeletesre ( ha van meg neki hibaja 1altalan ), mert ha 1X majd mar nem lesz mukodokepes EP, vagy majd mar csak 3 db mukodokepes lesz, abbol 2 Zozosoftnal 1 meg a nemzeti muzeumban, akkor majd joesellyel az emu utan fog majd valaki egy remake EP- t csinalni vasbol, es ha nem lesz jo az emu, akkor nem lesz ugyanaz a vas EP sem. :)

Amigakat pld. mar regota toljak remake- ben, mindenfele fejlesztessel, extraval.

Tenyleg egy  remake vas EP, ami tok ugyanaz, csak a most elerheto legnagyobb frekis alkatreszekbol, es van benne plussz kihasznalhato sprite hw ? :)

Title: Re: Magnós frekvenciák
Post by: IstvanV on 2010.March.25. 19:43:32
A dolog hibaja azm hogy a sebesseg novekedese nem eleg nagy ahhoz hogy kibirja a szukseges CRC kezelesek es ilyesmiket, szal ahhoz hogy ez 1 hasznos dolog legyen, ahhoz sajna lassu lesz.

Az itt (http://enterpriseforever.com/programozas/magnos_frekvenciak-t514.0.html;msg17293#msg17293) itt található rutin már tartalmaz ellenőrzést. Bár az algoritmus egyszerűbb és gyorsabb, mint az EXOS-ban használt bitenkénti CRC, de azért nagy valószínűséggel ez is megtalálja a hibákat:
    XOR   L, A
    RLC   HL
    ADD   H, 3

Természetesen ez nem a Z80 kód, de a működését leírja. HL-ben van az ellenőrző összeg (kezdőértéke FFFFh), A-ban pedig az éppen olvasott byte.
Ezt az adatátvitel közben számolja, tehát az még egyszerűbb (8 bites) algoritmussal vagy az ellenőrzést külön menetben végezve gyorsabb is lehetne.

Es Zozosoft pld. nem latja ertelmet olyan tolto/mento funkciok komoly modon torteno exosba integralasanak, amik utana majd ( ha nemi sebessegnovokedessel a magohoz kepest ) bizonytalanul mukodnek. Szal vagy el van mentve valami, vagy nincs. Vagy biztos vok benne hogy az toltodott be ami a hattertaron van, vagy nem. Nincs kozeput. Ha meg stabilra akarjuk, akkor CRC- zni kell, de bizonyos esetekben ugy akar masolgatni is, pufferbol ( mikor olyan helyekre akarnak tolteni, ami direkt modon nem megvalosithato ).

Quote
Ha egy atlag file eseteben a toltesi ido meghaladja azt az idot, amivel en floppy- ra mentek a pc- bol, es atteszem a floppy- t az EP meghajtoba, es betoltom rola, akkor ez kvazi ertelmetlen funkcio. Es itt sztm altalaban meghaladna a toltesi ido a kezi floppy -s modszeret.

Feltéve, hogy van floppy.

Quote
Szal talan legjobb megis hagyni a faxba, es az emut csinalni tokeletesre ( ha van meg neki hibaja 1altalan ), mert ha 1X majd mar nem lesz mukodokepes EP, vagy majd mar csak 3 db mukodokepes lesz, abbol 2 Zozosoftnal 1 meg a nemzeti muzeumban

Ez valóban érdekes ötlet, másik, nagyon pontos (de egyben nagyon lassú) emulátort készíteni, mindent ciklusonként emulálva.
Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2010.March.27. 21:16:44
Bar en nem hinnem, hogy Zozot megrohantak volna a HDD megrendelesek,
15 kártya már elfogyott, és még várólista is van :-) Ha lenne némi tõke, akkor lehetne legyártani egy kupac kártyát és felrakni ebay-re, vaterára.
Quote
de exdos, meg winyo meg ilyenek addig van mig Zozo butykoli oket, aztan kampo.
Ha rajtam múlik, akkor ez a pillanat remélhetõleg csak 50-60 év múlva következik be.

Quote
Tenyleg egy  remake vas EP, ami tok ugyanaz, csak a most elerheto legnagyobb frekis alkatreszekbol, es van benne plussz kihasznalhato sprite hw ? :)
Ilyesmirõl szoktam álmodozni én is :-) Z380-al...
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2010.March.30. 21:22:25
 - rendszerbo"víto" EP-re, amely a FILE: eszközhöz hasonlóan használható (csak természetesen lassabb); az I/O mu"veletek közben a kód és a verem a 0-FFH területen lenne, elkerülendo" a lapozást és puffer használatot, tehát ide nem lehetne tölteni, de a bo"víto" elmentené (pl. az EXOS verembe) és visszaállítaná az itt található adatokat

A bo"víto" nagy része már kész van, már csak azt kell megírni, hogy az EXOS eszközkezelo"ként lássa is, és kijavítani a (valószínu"leg számos) hibákat :oops: A fenti tapeload.s és tapesave.s file-okban található rutinokat használja, de töltéskor lehet tömörített (dtf -cr -lz) is az adatformátum, amivel tovább növelheto" a sebesség (mert kevesebb ideig tart kicsomagolni, mint amennyit a rövidebb másolandó adat megtakarít).
Title: Re: Magnós frekvenciák
Post by: Z80System on 2010.March.31. 02:31:47

Nemtom IstvanV mennyire vagy te csak szoftveres erdeklodesu, de ha mar ilyen dologra adod a fejed ( bar joesellyel lehet tekinteni mint kezdolepest, mert sokmindent fel lehetne hasznalni belole ( exos kodok, megoldasok, ilyesmik ) csak a tulajdonkeppeni lenyeget nem ( audio inputos betoltes ) ), akkor lehet hogy egy ( gondolom viszonylag kicsi ) hardveres fejlesztes utan leetne ezt komolyabban is csinalni.

A dolog mindket vegere kell sajat szoftver igy is, ugy is.

Az EP oldal persze rendszerbovitokent ( igenyesebbeknel, floppyval/HDD -vel nem rendelkezoknel EPROM- ban), PC oldalon meg egy sima alkalmazaskent. Talan a PC oldalt bonyolitana a szebb/komolyabb dolog kicsit, lehet hogy kene oda valami driver vagy ilyesmi nemtom pontosan, de az is lehet hogy vnanak USB- t kezelo libek mar keszen.

Szal az igazan jo megoldas egy EP jobboldali busz bovito - PC USB osszekotokabel lenne. Ugyanugy egy rendszerbovitovel es egy PC oldali "szerver" szoftverrel. A dolog valahogy ugy nezhetne ki, hogy EP oldalon csati, rola kabelek egy panelre, panel masik vegerol meg a PC USB- be. Panelon meg egy DMA elektronika ( bar vegso esetben a DMA funkcionalitas le is maradhatna, ha jol ertettem meg zozosoftot, akkor a winyo vezerloje sem tartalmaz DMA megoldast, hanem azt is a z80 adatmozgatasi sebessege limitalja ), ami kepes az USB-EP memoria kozott adatot mozgatni. Ha nem lenne DMA- sra tervezve, akkor az meg sokkal egyszerubb elektronikat engedelyezne, siman elkepzelem meg azt is ( anelkul hogy az USB kivezeteseket/elektronikai funkciokat ismernem ) hogy egy egyszeru Z80 PIO felhasznalasaval ( egyetlen IC ) lehetne az atvitelt ugy megoldani, hogy a z80 es az USB- n kersztul a PC szoftver vezerelgetne a PIO- t. Ily modon is el lehetne erni azt a sebesseget mint jelenleg a winyo betoltes.

Akar a DMA -s akar a sima szoftveres megoldas elektronikajanak a teljesitmenyigenyet szerintem akar EP akar PC USB oldalrol fedezni lehetne. Ettol megmaradna a "kábel" filing, bar a zsinegen logna egy minimalis elektronika ( vagy talan meginkabb a zsinor EP oldali fegen a busz csatlakozonal lehetne a panel, es arrol mehetne a kabel az USB- be ), szal a kabelen fityegne meg egy kutyu, de kulon tap nem kene hozza, es hat az adatokat egy korlatlan es konfiguralhto tarhelyrol venne: PC. Es hat minimum winyo sebesseggel menne. DMA- val meg istentuggya milyen gyorsan. Kb. zerora lehetne ( ramsebessegre, gondolom ... ) csokkenteni a betoltes sebesseget.

Egy ilyen megoldas aztan sztm mindenki igenyet kielegitene, legyen az EP- t hasznalo, vagy EP- re fejleszto egyen.

Title: Re: Magnós frekvenciák
Post by: Zozosoft on 2010.March.31. 09:29:16
USB annál sokkal sokkal bonyolultabb, minthogy ilyen célra használni lehessen egyszerûen. Amit leírtál, azt kb 15 évvel ezelõtt lehetett volna megcsinálni, párhuzamos porttal, DOS alól.
DMA-hoz egyébként az EP alaplapját kéne áttervezni, de legalábbis az Z80-at kiszedni, és oda bekötni egy Z80+DMA panelt.
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2010.April.09. 18:08:05
Itt az első valamennyire már működő verzió:
  [attachurl=#]
A "szerver" PortAudio probléma miatt egyelőre csak Linux alatt használható :oops:
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2010.April.09. 22:28:42
A "szerver" PortAudio probléma miatt egyelőre csak Linux alatt használható :oops:

De ez természetesen csak akkor probléma, ha van valaki, aki Windows (vagy más rendszer) alatt használni akarja :)
Title: Re: Magnós frekvenciák
Post by: Tuby128 on 2011.January.29. 18:03:56
Miért volt az annak idején nálam, hogy a Magicball játékot csak lassabb baud rate-tel lehetett betölteni? (lassabb volt és mélyebb a felvétel) Emlékszem, hogy amikor átmásoltam a játékot, és normál sebességgel vette fel a kazira, akkor azt már nem tudtam visszatölteni.
Title: Re: Magnós frekvenciák
Post by: IstvanV on 2011.January.29. 19:13:25
Miért volt az annak idején nálam, hogy a Magicball játékot csak lassabb baud rate-tel lehetett betölteni? (lassabb volt és mélyebb a felvétel) Emlékszem, hogy amikor átmásoltam a játékot, és normál sebességgel vette fel a kazira, akkor azt már nem tudtam visszatölteni.

Lehet, hogy állítja a BFh I/O porton a DAVE órajel osztót (vagy esetleg a memória várakozást) még a töltés befejeződése előtt ? Ez már más programoknál is okozott problémát.
Title: Re: Magnós frekvenciák
Post by: vizor on 2011.January.30. 09:52:37
Én úgy emlékszem, hogy ez egy másolásvédelem volt. Gyári kazettán a Magicball mellett ugyanilyen volt a Permolift is (mind a kettõ megvan eredeti kazin). Kétkazettás magnón néha sikerült átmásolni de legtöbbször még így sem. A másolóprogramok meg egyértelmûen nem vették be.  :)
Title: Re: Magnós frekvenciák
Post by: Tuby128 on 2012.January.22. 15:47:48
Még nagyon a téma elején Mr. Prise azt írta, hogy a magnónak adott jelek adatfolyama nem a jelszinttõl függ, hanem a két jelszintváltozás között eltelt idõtartamtól.
 Nekem ez a Manchaster kódot idézi, ahol a bitidõ közepén bekövetkezõ felfutó vagy lefutó élektõl függ, hogy éppen 0 vagy 1.
 http://en.wikipedia.org/wiki/Manchester_code
 Az elõnye, hogy egy minimum változási frekvenciával rendelkezik ahhoz, hogy sok azonos adat érkezése esetén nincs szinkronvesztés. Ez a kazettára teljesen igaz volt. Hátránya, hogy nagy sávszélességet igényel. (adatátviteli frekvencia kétszerese)