Enterprise Forever

:HUN => Programozás => Topic started by: Zozosoft on 2007.May.16. 01:10:45

Title: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2007.May.16. 01:10:45
Eredetileg a befejezetlen projektekbe akartam, de most hála az ep128emu debuggerének meg találtam azt a bugot amivel 12 éve elakadtam :-)

Az egyik angol srác kért angol EXOS 2.3-at ehhez keresgéltem, hogy melyik forrásszöveg az aktuális. Így találtam a "közforgalomban" lévõ EXOS 2.3-nál több újabbat is, a legfrissebb egy EXOS 2.31-nek elkeresztelt változat 1995-bõl, ami egy kicsit bugos volt...
De most már mûködik :-)

Változások az ismert 2.3-hoz képest:
-javítva a "WP 80 karakteres módban rejtélyes villogó pixel, ha nincs EXDOS" címû hiba (ha jól emlékszem még az Indexes idõkben jelezte ezt MrPrise)
-EDCW-nél a SETUP szegmens is megõrzõdik
-2 szektoros clusterû RAMDISK-et is felismer a RAMDISK megõrzõ rutin (2 megánál nagyobbhoz ez kell, igaz jelenleg az EXDOS ilyet nem tud létrehozni, de kezeli, ha ASMON-ból "diskeditáljuk" :-) )
-a teszt induláskor hajlandó átadni a vezérlést egy HsoftROM kezdetû szegmensnek (EPDOS 2.1...)
-memória teszt alapértelmezésben a 4-es szegmensig fut le, vagyis a cartridgeban található SRAM külön gombnyomás nélkül memóriabõvítésként üzemel. 5,6,7,8-as gombokkal lehet elérni, ha részben vagy teljesen nem szeretnénk élni ezzel a lehetõséggel
-azonos ROM-ok vizsgálatakor a szegmens eleje helyett 0000H,1000H,2000H,3000H címeken ellenõriz 16-16 bájtot
-kisebb javítás a hibás RAM szegmensek detektálásakor, hogy egyes turbós gépeken, ahol az üres adatbusz nincs stabil értékre beállva, ne jelenjenek meg fantom hibás szegmensek
-STOP és HOLD billentyûk kezelésén némi finomítás, hogy ne olyan érzékenyen mûködjenek
-STOP gomb hatása második fázisban felfedezett hibás szegmensek esetén is érvényesül. (Az elsõ fázisban letesztelõdnek a szegmensek, akkor növekszik a "TESTED"-nél látható érték. Ilyenkor minden szegmensben egy egyedi érték lesz hátrahagyva. A második fáziban végig megy a tesztelt szegmenseken, és leellenõrzi, hogy meg van-e az ellenõrzõ érték. Ha igen, csak akkor kerül át az OK-ba. Így lehet pl címvezeték hibákat kiszûrni.)
-a WP 2.6-ban el lett dugva pár újabb nyomtató vezérlõkód MP80-as nyomtatóhoz, de ilyenem úgyis csak nekem van :-) (ezért a HELP-ben sincs benne :-) )

-az induló képen olvasható "F8-as nullásszegmens" funkció még nincs kész

[attachimg=1]

Title: Re: EXOS 2.3 tovább fejlesztése
Post by: MrPrise on 2007.May.16. 08:09:22
Gratulálok a bug levadászásához! :-)
Úgy látom az EP EXOS-a lassan kényelmesebb lesz mint a Windows ;-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2007.May.16. 12:43:51
Ha van valakinek ötlete ennél angolosabb szövegre, ne tartsa magában :-)
[attachimg=1]
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Povi on 2007.May.16. 13:19:22
Angol nyelvű lesz? Vagy marad a magyar is?
Úgy látom újabb funkcióval bővült: ALT - csak 64k-ig tesztel?

Régebben volt egy csomó ötletem, miket lehetne javítani benne, de most nem jut eszembe egy se... :-)
De az epdos 2.1 egy-két jól sikerült cuccát bele lehetne csempészni az új EXOS-ba. Pl. nekem a KEYBOARD:-ja nagyon tetszik!
Meg hogy CTRL+ALT-ra előugrik egy memória-dump.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2007.May.16. 13:30:52
Angol nyelvû lesz? Vagy marad a magyar is?
Amilyet a kedves felhasználó óhajt :-)
Úgy látom újabb funkcióval bõvült: ALT - csak 64k-ig tesztel?
Az eddig is volt, csak nem volt dokumentálva :-)
Anno csak poénnak volt szánva, de miután Lacika talált rá értelmes indokot (egyes játékok 64K-s gépen futnak normális sebességgel), így gondoltam beteszem a help-be is :-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ep128 on 2007.May.16. 14:29:12
Ez tök jó, akkor majd nekem is újra égetheted... :-D
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2007.May.16. 14:41:04
Esetleg a hétvégi összejövetelen lehetne tartani egy kis "EPROM-égetés bemutatót", melynek keretein belül megfrissíthaténk az én gépem EPROM-ját is...  :oops:
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2007.May.16. 20:37:00
Mindenki azt szeretné, ha 2007-es évszámmal indulna a gépe? :-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: gafz on 2007.May.16. 21:26:54
Mindenki azt szeretné, ha 2007-es évszámmal indulna a gépe? :-)

Nekem valahogy az 1985-2007 felirat szimpatikusabb lenne... Bár gondolom sokkal macerásabb :)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: MrPrise on 2007.May.16. 21:37:25
Ha van valakinek ötlete ennél angolosabb szövegre, ne tartsa magában :-)
Szerintem a STOP sorában lévő szöveg nem egészen jó.
A Halt az megállást jelent, nem várakozást. Nem tudom a funkció pontosan mit csinál, de ha a halt kell ide, akkor az on nem kell szerintem, tehát
halt when bad segment found.
Ha várakozás, akkor esetleg wait on bad segments vagy wait when bad segment found.
Na, de szóljon hozzá tőlem jobb angolos is ;-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2007.May.16. 21:56:18
A halt on-t a PC-s BIOS-okból szedtem, ott van valami hasonló :-)
Azt csinálja, hogy ha hibás szegmenst talál akkor megáll a teszt, hogy el lehessen olvasni, melyik szegmens a hibás. Billentyû lenyomásra folytatja.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: MrPrise on 2007.May.16. 22:24:31
A halt on-t a PC-s BIOS-okból szedtem, ott van valami hasonló :-)
Igen, de ott nincs when, ha jól emlékszem. A "halt on akármi", azt jelenti, hogy "megállni akármin", akármi esetén, tehát a when nem kell.

Quote
Azt csinálja, hogy ha hibás szegmenst talál akkor megáll a teszt, hogy el lehessen olvasni, melyik szegmens a hibás. Billentyû lenyomásra folytatja.
Akkor talán a wait vagy suspend, esetleg pause jöhetne szóba.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2007.May.18. 14:01:43
Akkor talán a wait vagy suspend, esetleg pause jöhetne szóba.

Én a pause szót javaslom. A halt on kifejezéssel még nem találkoztam, de lehet, hogy az a jó, meg kéne kérdezni egy angol anyanyelvû fórumozót.
A jump helyett talán a go jobb lenne az utolsó sorban, vagy még jobb a return to startup screen. Meg szerintem a startup screennél a startup elegánsabb egybe írva. Bár én kötõjellel írnám: start-up screen. (Persze amikor igeként használjuk akkor külön jó.) (vö.: built-in joystick - jelzõként; to built in a joystick - igeként)
A test rom enable így furán hangzik, enable test rom lenne a helyes szórend, esetleg talán a test rom enabling még elmenne ebben a szórendben. Ugyanilyen a ram disk delete is. Szerintem a ram disk deletion jobb lenne, bár így ebben a formában nem hallottam még a "szaknyelvben", inkább Press R to delete ramdisk, csak ahhoz fel kéne bolygatni a szórendet.

Nem lehetne inkább így?
C: Cold reset
S: Slow test
E: Exos reset
N: Normal test
T: Enable test rom
R: Enable ram disk

Szubjektív véleményem, hogy a megnyomandó gombok jelét lehetne esetleg más színnel kiírni. De nem akarok már ennyire belekontárkodni.  :oops:

Nem tudom, hogy az enable test rom mit jelent, de talán jobb lenne az enable rom test, illetve (jelentéstõl függõen) az enable testing rom.

Bocs a kissé késõi reagálásért, csak most néztem a fórumot az utóbbi napokban.
Zozo, sztem legjobb lenne az angol fórumban felvetni a nyelvhelyességgel kapcsolatos kérdésed. Persze lehet, csak az én mániám, hogy az ilyen nyelvi dolgokba így belemegyek, de érdekelne, az angol anyanyelvûek mit gondolnak errõl.  :mrgreen:
Amúgy sztem a halt on when is jó lenne, de nem vagyok benne teljesen biztos.

Még annyit, hogy lehetne a továbbiakban az angol indítóképernyõnél maradni, ennyit mindenki meg kell, hogy értsen szerintem, és az EP amúgy is angol nyelvû eredetileg. Az angol képernyõ nekem elegánsabbnak tûnik.

Ja, és a 2007-es évszám tetszik! Meg marha jó az egész!  :smt041
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: MrPrise on 2007.May.18. 17:02:23
-javítva a "WP 80 karakteres módban rejtélyes villogó pixel, ha nincs EXDOS" címû hiba (ha jól emlékszem még az Indexes idõkben jelezte ezt MrPrise)
Jól emlékszel:
Első találkozás a buggal (http://forum.index.hu/Article/showArticle?t=9010641&go=49436373)
Kép a bugról (http://forum.index.hu/Article/showArticle?t=9010641&go=49586380)
Szerény elmélkedésem a bug mibenlétéről (http://forum.index.hu/Article/showArticle?t=9010641&go=49627663)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.08. 13:11:06
Ez nem biztos, hogy a program hibája. Valamiért az EXOS 0 (reset) hívás néha lefagy. Ez összefügghet azzal, hogy a vissztéréskor engedélyezett lehet a megszakítás, pedig az EXOS leírás alapján mindig tiltottnak kellene lennie. A hibás mûködés nem fordul elõ a C=40h hívásnál (memória felszabadítása), tehát az valószínûleg nem is fagy le, véletlenszerûen fordul elõ C=10h esetén (csatornák bezárása, eszközök újrainicializálása), és többnyire engedélyezett a megszakítás C=20h (csatornák bezárása, eszközök újrainicializálása, periférialánc újraépítése) után. Ami egyben azt is jelenti, hogy az 5-ös fejlécû programok indításakor az automatikus C=20h-s reset miatt engedélyezett a megszakítás, pedig a veremmutató érvénytelen (tehát a legjobb, ha a program azonnal DI vagy LD SP, nnnn utasítással kezdõdik).
Így lehet, hogy olyankor történik megszakítás az EXOS reset közben vagy után, amikor nem lenne szabad (pl. nincs érvényes veremmutató). A lefagyás gyakorisága függhet az idõzítéstõl, például hogy egy 5-ös fejécû program mennyi idõ alatt töltõdik be.

Érdemes kipróbálni ezt a rövid programot, amely egy idõ után lefagy:
Code: ZiLOG Z80 Assembler
  1. l1:     di
  2.         ld sp, 100h
  3.         ld c, 20h
  4.         exos 0
  5.         jr l1

Elõször azt hittem, hogy a hibát az okozhatja, hogy egyes bõvítõ eszközök (pl. DISK: és FILE:) EXOS hívásokat végeznek az inicializálás közben, ami engedélyezi a megszakítást, de a hiba valójában akkor is elõfordul, ha az EXOS 2.1-en kívül semmilyen ROM nincs a rendszerben (de ha van EXDOS, akkor mintha gyakoribb lenne a lefagyás). Ez tehát EXOS bug is lehet, amit esetleg javítani is lehetne (EXOS 2.32 :)) ?
Na ezt érdemes lenne kinyomozni! Ezzel a buggal szerintem én is rengetegszer találkoztam, de eddig valamelyik bõvítõre gyanakodtam...
Sõt sokáig arra gondoltam, hogy az agyontunningolt valódi gépnek van valami hw bizonytalansága, de most, hogy emulátorral is pontosan úgyanazt tapasztalom, így a hw hiba kizárható.
Jellemzõ "X-akták":
- memteszt után nem jön be az EP felírat (EXOS 2.3 esetén ottmarad a zöld háttér)
- EP felírattól BASIC-et hívva, nem indul el
- HEASS lefagy induláskor (mindegy, hogy EP felírattól hívjuk, vagy pedig BASIC-bõl)
- párszor már ASMON 1.5 indításakor is elõfordult.

Egy meleg Reset nyomása után megy minden tovább rendben.

Szerintem minél több bõvítõ van a rendszerben annál nagyobb az esélye. A leírásod alapján gyaníthatóan azért, mert több bõvítõn, periférián lassabban hajtódik végre az inicializálás, így nagyobb esélye van befutni egy megszakításnak akkor, amikor nem kéne engedélyezve lennie.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.08. 17:02:49
Quote
Érdemes kipróbálni ezt a rövid programot, amely egy idõ után lefagy:
Nem is kell túl sok idõ hozzá...

Ha berakunk egy poke 56,201-et az elejére, akkor nem fagy le.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.08. 20:28:32
Na csináltam egy EI vadász scriptet :-)
Code: [Select]
  clearBreakPoints()
for i = 0, 0xFFFF do
  setBreakPoint(4, i, 2)
end

function breakPointCallback(t, a, v)
  if t == 3 then
return true
  end
  if  readMemory(getPC()) ~= 0xFB then
      return false
  end
  return true
end

Így kiderült, hogy az 1-es szegmensben az E9DD címen van egy EI, ez a TAPE periféria kezelõben van. Ha ezt aljas módon likvidáljuk, akkor úgy tûnik az alapgépes konfig nem fagy le. Viszont ha elkezdünk további ROM-okat adni a rendszerhez, akkor újabb EI seregek jelennel meg (némelyik az EXOS használatával, mint pl a DISK periféria felvétele).
Tehát a megoldás valószínüleg egy jól elhelyezett DI lesz a reset rutinban...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.08. 22:48:34
Úgy tûnik meg is van  :ds_icon_cheesygrin:
Eredetiben így néz ki:
Code: ZiLOG Z80 Assembler
  1.                 DI
  2.                 LD   HL,0000
  3.                 LD   (BFF8),HL
  4.                 LD   (003D),HL
  5.                 LD   (BFED),HL
  6.                 XOR  A
  7.                 LD   (0056),A
  8.                 LD   A,C
  9.                 ADD  A,A
  10.                 JP   C,C000
  11.                 ADD  A,A
  12.                 PUSH AF
  13.                 CALL C,C7D8
  14.                 POP  AF
  15.                 CALL NZ,C23A
  16.                 LD   A,0FBH
  17.                 LD   (0056),A
  18.                 XOR   A
  19.                 LD   (BF79),A
  20.                 LD   H,C9
  21.                 POP   BC
  22.                 JP   C46C
  23.  
A C23A rutin az amire 10-es vagy 20-as jelzõ esetén ráfut innen tér vissza gyakran engedélyezett megszakítással.
A C46C-n lévõ visszatérési rutinban pedig intenzíven el kezdi piszkálni a veremmutatót, így érthetõ miért száll el, ha befut egy megszakítás...
Szerencsére elfelejtettek spórolni, így akad egy felesleges bájt, ami helyére befér a DI, így néz ki módosítva:
Code: ZiLOG Z80 Assembler
  1.                 DI
  2.                 XOR   A
  3.                 LD   H,A
  4.                 LD   L,A
  5.                 LD   (BFF8),HL
  6.                 LD   (003D),HL
  7.                 LD   (BFED),HL
  8.                 LD   (0056),A
  9.                 LD   A,C
  10.                 ADD  A,A
  11.                 JP   C,C000
  12.                 ADD  A,A
  13.                 PUSH AF
  14.                 CALL C,C7D8
  15.                 POP  AF
  16.                 CALL NZ,C23A
  17.                 DI
  18.                 LD   A,0FBH
  19.                 LD   (0056),A
  20.                 XOR   A
  21.                 LD   (BF79),A
  22.                 LD   H,C9
  23.                 POP   BC
  24.                 JP   C46C
  25.  

Quote
EXOS 2.32 Smiley
Legyen :-)
De azért meg csináltam a javítást a 2.0 és 2.1-en is :-)

De nem teljesen csak az EXOS volt a hibás, úgy tûnik az ASMON 1.5 ROM tud még EXOS 0 fagyást okozni... remélhetõleg az már annak a ROM-nak az egyéni hibája, nem újabb EXOS bug...
Rakás más ROM-mal együtt nem volt fagyás.

Teszteljétek!

A csomagban benne van az idõközben kifejlesztett cartridge-os verziója is a gyorstesztnek, azok számára akik nem akarják megbontani a gépet. Így a hibajavításokon kívül a többi funkció mûködik így is.


Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.May.08. 23:13:27
Ezzel a rejtélyes hibával szerintem időnki mindenkivel találkozott... Szerencsére nagyon nem volt zavaró, nem tulajdonítottunk neki jelentőséget.
Mindenesetre jó, hogy újabb hiba lett javítva! :ds_icon_cheesygrin:
És még egy tipp: ha jól tudom, a BASIC-ba egyetlen byte-ot kell átírni, hogy a GOTO működjön parancssorban?

Még az órajel detektáló - órabeállító rutint kellene belerakni.
Apropó! A jelenlegi EXOS-okban mi a 191-es port alapértelmezése? Ha esetleg bekapcsolt memóriavárakozás, akkor azt érdemes lenne kikapcsolni, a mai emulátoros világban.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.08. 23:57:13
A jelenlegi EXOS-okban mi a 191-es port alapértelmezése? Ha esetleg bekapcsolt memóriavárakozás, akkor azt érdemes lenne kikapcsolni, a mai emulátoros világban.
Ugyanaz mint gyárilag. Ha letiltjuk akkor lehet, hogy pár játék gyorsabb lesz a megszokottnál.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ferro73 on 2010.May.09. 07:54:26
Ugyanaz mint gyárilag. Ha letiltjuk akkor lehet, hogy pár játék gyorsabb lesz a megszokottnál.
Azt nem kellene megváltoztatni mert ha valaki ROM ba tölti és igzi gépben probálná nem 100%, hogy müködne.
Esetleg rom megjegyzésnek "csak emu" vagy " EXOSv2x.ROM /E "
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: IstvanV on 2010.May.09. 20:57:42
De nem teljesen csak az EXOS volt a hibás, úgy tûnik az ASMON 1.5 ROM tud még EXOS 0 fagyást okozni... remélhetõleg az már annak a ROM-nak az egyéni hibája, nem újabb EXOS bug...
Rakás más ROM-mal együtt nem volt fagyás.

:smt041

Az ASMON ROM-ot akkor (feltéve, hogy nem sikerül azt is kijavítani :)) érdemes lenne eltávolítani az emulátor konfigurációkból, kivéve természetesen azokat, amelyeknek "TASMON" van a nevében ? Vagy csak az ASMON indításakor okozhat fagyást, és nem bármilyen programból végzett EXOS 0 hívásnál ?

Ugyanaz mint gyárilag. Ha letiltjuk akkor lehet, hogy pár játék gyorsabb lesz a megszokottnál.

Az emulátor EXOS 2.3-as konfigurációiban le van tiltva a várakozás. Először azt hittem, az új EXOS verziók tiltják le, de kiderült, hogy csak az EXOS 2.3x ROM-okat betöltve nem így van. Úgy látszik, valójában a TPT.ROM miatt lesz 0Ch a várakozási mód - lehet, hogy ennek sem kellene alapértelmezés szerint a konfigurációkban lenni (már csak azért sem, mert a turbós és tömörített magnós mentést teszi alapértelmezetté, ami nem kompatibilis az EXOS eredeti TAPE: betöltőjével) ?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.11. 23:15:22
Az ASMON ROM-ot akkor (feltéve, hogy nem sikerül azt is kijavítani :))
Kijavítva :-)

A hibát Puskás Zsolt (õt ismeri valaki?) követte el, amikor a Gyányi Sanyi gyorstesztjét beépítette az eredeti ASMON ROM üres területére. Ebben a nehézség az, hogy az EXOS-nál kétféle ROM kezdet lehet, ami nem kompatibilis egymással:
- TEST_ROM az elsõ 8 bájton, rögtön a szöveg után indul a program
- EXOS_ROM az elsõ 8 bájton, utána 16 bites cím a perifériának, majd csak ez után indul a program.
Nem gondolták az Intelligent Software-nál, hogy kellhet majd mindkét funkció is egyazon ROM-ban :-(
(De ha megnézitek a cartridge-os gyorsteszt verziómat, látható, hogy némi trükkel megoldható :) )
Ráadásul az ASMON INC/DEC-cel vált szegmensszámot, nem XOR-al, így nem cserélhetõek fel a szegmensei. Viszont hely a második szegmensben volt...
Így azt a megoldást választotta, hogy a ROM elejei lettek megcserélve, majd az ott belépõ program átlapozza magát a másik szegmensre, a TEST ROM programmal nincs is gond, mert az DI alatt fut...
Az EXOS ROM belépési program így néz ki az átvariálás után:
Code: ZiLOG Z80 Assembler
  1.   C00A  DB B2        IN    A, (B2)
  2.   C00C  08           EX    AF, AF'
  3.   C00D  DB B3        IN    A, (B3)
  4.   C00F  D3 B2        OUT   (B2), A
  5.   C011  C3 14 80     JP    8014
  6.   8014  3D           DEC   A
  7.   8015  D3 B3        OUT   (B3), A
  8.   8017  C3 F0 FF     JP    FFF0
  9.  
  10.   FFF0  08           EX    AF, AF'
  11.   FFF1  D3 B2        OUT   (B2), A
  12.   FFF3  79           LD    A, C
  13.   FFF4  C3 0B C0     JP    C00B
  14.   C00B  C3 CD DB     JP    DBCD

Itt már látható is a hiba: ideiglenesen kilapozza a rendszerszegmenst a második lapról, pedig ilyenkor oda mutat a veremmutató, így ha ezen pár pillanatban fut be a megszakítás, kész a fagyás!

Quote
Vagy csak az ASMON indításakor okozhat fagyást, és nem bármilyen programból végzett EXOS 0 hívásnál ?
Bármikor okozhat fagyást, amikor körbe vannak hívva az EXOS ROM-ok. Így belegondolva emlékszem pár HELP lista fagyásra is...

A hibát okozó lapozás amúgy teljesen felesleges, nem kell elugrani azért a 3-as lapról, hogy kicseréljük az ott futó program alatt a szegmenst.
Ime a javítás:
Code: ZiLOG Z80 Assembler
  1.   C00A  C3 EB FF     JP    FFEB
  2.  
  3.   FFEB  DB B3        IN    A, (B3)
  4.   FFED  3D           DEC   A
  5.   FFEE  D3 B3        OUT   (B3), A
  6.   FFF0  79           LD    A, C
  7.   FFF1  C3 CD DB     JP    DBCD
Kicsit egyszerûsítettem is a kódon: JP-re való ugrás helyett akár ugorhatunk egybõl a célba is :-) mindezzel spóroltunk pár mikroszekundum végrehajtási idõt  :ds_icon_cheesygrin:

Quote
Úgy látszik, valójában a TPT.ROM miatt lesz 0Ch a várakozási mód - lehet, hogy ennek sem kellene alapértelmezés szerint a konfigurációkban lenni (már csak azért sem, mert a turbós és tömörített magnós mentést teszi alapértelmezetté, ami nem kompatibilis az EXOS eredeti TAPE: betöltõjével) ?
TPT forráskódunk van, így nincs akadálya más alapértelmezésû változat fordításának.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.24. 13:48:36
A játékokban nem mûködne, mert indításkor fix 0Ch értéket írnak a portra,
Azért nem mindegyik. Amúgy meg a nagy EXOS kompatibilis betöltõ készítõ mozgalomban ezt is el lehetne intézni :-)

Quote
Ezen kívül a BFh port (mint a NICK összes és a DAVE I/O portjainak a többsége :() csak írható, tehát arra sincs lehetõség, hogy egy program csak a memória várakozást tiltsa le a hanggenerátor frekvencia változatlanul hagyása mellett. Ehhez még külön EXOS változót is kellene létrehozni.
Erre gondoltam én is, pl lehetne likvidálni a trükkös védelmet (http://enterpriseforever.com/programozas/trukkos_vedelem_az_exosban-t278.0.html), akkor kapuk egy szabad bájtot, ahova elférne az új változó.

Ami kérdéses, hogy hogyan lehetne megoldani legjobban az órajelváltozás figyelését?
Az alapverzió az lenne, hogy pl a WP 2.6 inicializálási rutinjába beletenni egy mérést, így akkor reset rutin lefutása után helyes lenne a hangfrekvencia.
De még jobb lenne állandó megfigyelés, valami olyanra gondoltam, hogy egy periféria (pl a RAMDISK megõrzéshez létrehozott RDISK) ráül a videó és az 1 Hz-es megszakításra, és számolgatja õket, és ha egy 1Hz-es megszakítás alatt túl sok vagy túl kevés videó megszakítás volt, akkor változott az órajel, és ehhez korrigálni kell a hangfrekvenciát.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.24. 13:59:29
Egyébként ha már a megszakításoknál tartunk: úgy tûnik van még egy bug az EXOS-ban.
Turbos gépen is lehet érzékelni, de igazán akkor jön elõ, ha ALT-W-vel nyomunk egy padlógázt az emulátoron. Ekkor nem lehet gépelni, mert egy pillanatnyi gombnyomásból lesz vagy 50 karakter...
Viszont a leírás szerint a videómegszakítást használja a KEYBOARD, az viszont nem gyorsul a turboval! Akkor miért is változik a billentyûzet sebessége?

Szintén érdekes a kurzor õrült villogás, igaz az annyira nem zavaró, csak poén :-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: IstvanV on 2010.May.24. 14:33:08
Egyébként ha már a megszakításoknál tartunk: úgy tûnik van még egy bug az EXOS-ban.
Turbos gépen is lehet érzékelni, de igazán akkor jön elõ, ha ALT-W-vel nyomunk egy padlógázt az emulátoron. Ekkor nem lehet gépelni, mert egy pillanatnyi gombnyomásból lesz vagy 50 karakter...
Viszont a leírás szerint a videómegszakítást használja a KEYBOARD, az viszont nem gyorsul a turboval! Akkor miért is változik a billentyûzet sebessége?

Alt+W-nél az egész emuláció gyorsul (Z80, NICK, és DAVE is), az órakártya kivételével, tehát a nagyon "lelassuló" CMOS órától eltekintve ezt az EP-s programok nem tudják érzékelni, és mivel valós (nem emulált) időben a video megszakítások is gyorsabbak, így érthető, hogy nehezebb gépelni.
Viszont turbós hardver emulációjakor - a Machine configuration ablakban a Z80 és DAVE frekvenciát átírva - nem kellene ilyen problémának lenni, és nekem jónak is tűnik, legalábbis IS-BASIC alatt, mást nem néztem. 100 MHz-s Z80-at és a memória várakozások emulációjának kikapcsolását (hogy ne legyen ~100 ciklus várakozás video RAM hozzáférésnél) beállítva még mindig jól lehet gépelni.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: IstvanV on 2010.May.24. 14:39:52
Na csináltam egy EI vadász scriptet :-)

Ezt valamivel egyszerűbben is lehet írni:

Code: [Select]
function breakPointCallback(t, a, v)
  return (t == 3 or readMemory(getPC()) == 0xFB)
end

Itt egyébként az "or" utáni memória olvasás nem is fut le, ha a "t == 3" igaz (ez így van a C/C++ nyelvnél is).
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.May.25. 09:18:58
Alt+W-nél az egész emuláció gyorsul (Z80, NICK, és DAVE is), az órakártya kivételével, tehát a nagyon "lelassuló" CMOS órától eltekintve ezt az EP-s programok nem tudják érzékelni, és mivel valós (nem emulált) idõben a video megszakítások is gyorsabbak, így érthetõ, hogy nehezebb gépelni.
Áhá! Akkor ez kavart meg, azt hittem az 50Hz marad 50Hz ilyenkor is  :oops:
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.June.26. 00:27:01
Ez EXOS "hiba", a ~ karakter érvénytelen fájlnévben.
Igazából már régebben is gondoltam arra, hogy ezt ki kéne javítani  :oops:
Így néz ki a kérdéses rész EXOS 2.0-ban:
Code: ZiLOG Z80 Assembler
  1.   CCE6  1A           LD    A, (DE)
  2.   CCE7  FE 2D        CP    2D
  3.   CCE9  38 23        JR    C, CD0E
  4.   CCEB  FE 3A        CP    3A
  5.   CCED  38 15        JR    C, CD04
  6.   CCEF  FE 5F        CP    5F
  7.   CCF1  28 11        JR    Z, CD04
  8.   CCF3  FE 5C        CP    5C
  9.   CCF5  28 0D        JR    Z, CD04
  10.   CCF7  38 02        JR    C, CCFB
  11.   CCF9  D6 20        SUB   20
  12.   CCFB  FE 41        CP    41
  13.   CCFD  38 0F        JR    C, CD0E
  14.   CCFF  FE 5B        CP    5B
  15.   CD01  3F           CCF
  16.   CD02  38 0A        JR    C, CD0E
  17.   CD04  23           INC   HL
  18.   CD05  77           LD    (HL), A

És így 2.1-ben:
Code: ZiLOG Z80 Assembler
  1.   CD05  1A           LD    A, (DE)
  2.   CD06  FE 23        CP    23
  3.   CD08  38 2D        JR    C, CD37
  4.   CD0A  FE 2B        CP    2B
  5.   CD0C  38 1F        JR    C, CD2D
  6.   CD0E  FE 2D        CP    2D
  7.   CD10  38 25        JR    C, CD37
  8.   CD12  FE 3A        CP    3A
  9.   CD14  38 17        JR    C, CD2D
  10.   CD16  FE 3F        CP    3F
  11.   CD18  28 13        JR    Z, CD2D
  12.   CD1A  FE 5B        CP    5B
  13.   CD1C  38 06        JR    C, CD24
  14.   CD1E  FE 61        CP    61
  15.   CD20  38 0B        JR    C, CD2D
  16.   CD22  D6 20        SUB   20
  17.   CD24  FE 41        CP    41
  18.   CD26  38 0F        JR    C, CD37
  19.   CD28  FE 5B        CP    5B
  20.   CD2A  3F           CCF
  21.   CD2B  38 0A        JR    C, CD37
  22.   CD2D  23           INC   HL
  23.   CD2E  77           LD    (HL), A

2.0 esetén invalid a 2Dh-nál (minuszjelnél) kisebb karakterek, onnantól elfogadható a 9-esig (3Ah), az alsóvonal (5Fh), a visszaper (5Ch), és nagybetûsítés után A-Z-ig.
Aztán amikor elkészültek az EXDOS-szal, rájöttek, hogy van itt némi bibi, az EXOS nem fogadja el a lemezes rendszerben gyakran használatos * és ? jokekaraktereket se  :oops:

Így a 2.1-ben kibõvült a rutin, így 23h (fontjel vagy kettõskereszt UK/BRD) lett az alsó határ (ezt speciel meg az EXDOS nem fogadja el :-) ), egészen a csillagig (2Ah), majd folytatódik a minuszjeltõl (2Dh) a 9-esig (3Ah), ahogy a 2.0-ban is. Külön vizsgálattal bekerült a kérdõjel is (3Fh). Nagybetûsítés elõtt még elfogadja a 5B-60h karaktereket is.

De ez még így sem lett tökéletes, mint ahogy azt a ~ mutatja, amely 10 évvel az EP kifejlesztése után lett gyakori fájlnév karakter.
További csúnya probléma a ! nem elfogadása, mivel az EXDOS-ban ez használható a \ helyettesítésére (mivel a német billentyûzeten nincs visszaper), de ez így csak EXDOS parancsok esetén mûködik, EXOS fájlnév megadásnál nem lehet így megadni az útvonalat. Ugyanilyen funkciójú a ' is, ez esetben csak EP64-en van ez a probléma, EXOS 2.1 esetén már belekerült a szórásba :-)
A kis z feletti tartományban pedig nemcsak a PC felõl érkezõ ~ okozhat gondot, ilyet EP-n is elõ lehet állítani, az EXDOS parancsok elfogadják ~ karaktert, meg a szomszédos kapcsos zárójeleket is, valamint továbbá az összes ALT-tal elõhívható karaktert is, így pl HFONT-os rendszerben REN paranccsal elõállíthatóak EP-s ékezetes fájlnevek, MD-vel könyvtárak...
...csak betölteni nem lehet az ilyeneket tartalmazó fájlokat :-)

Ezért én azt mondanám, hogy ne lacafacázzunk, legyen elfogadva a teljes EP-s karakter tartomány (33-160)!
Vélemény?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.June.26. 08:06:44
Ezért én azt mondanám, hogy ne lacafacázzunk, legyen elfogadva a teljes EP-s karakter tartomány (33-160)!
Vélemény?


Nem tartom jó ötletnek, ha szerény véleményemre vagytok kíváncsiak. Abból lenne csak kavarodás. Konzervatív vagyok, csak a hullámjelet adjuk hozzá az elfogadható karakterekhez.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: geco on 2010.June.26. 08:25:09
Szerintem jó ötlet, és ha jól látom, akkor a kód is egyszerűsödne, maradna pár szabad bájt, ami esetleg később jól jöhetne.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2010.June.26. 13:24:21
Na, nem mintha ebben a témában annyira otthon lennék, de ha igazából nincs gyakorlati haszna annak, hogy egyes karakterek nem fogadhatók el, akkor miért ne lehetnének elfogadhatók mind...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.June.26. 13:31:11
Na, nem mintha ebben a témában annyira otthon lennék, de ha igazából nincs gyakorlati haszna annak, hogy egyes karakterek nem fogadhatók el, akkor miért ne lehetnének elfogadhatók mind...

Az EP fejlesztői szemmel láthatóan az MS-DOS kompatibilitást tűzték ki célul.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: geco on 2010.June.26. 14:32:10
Az EP fejlesztői szemmel láthatóan az MS-DOS kompatibilitást tűzték ki célul.
Ezzel a változtatással maradnánk MS-DOS kompatibilisek, ez a módosítás csak az EXOS-t érintené, ha jól sejtem, ott is a LOAD rutint.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.June.26. 14:47:55
Az EP fejlesztõi szemmel láthatóan az MS-DOS kompatibilitást tûzték ki célul.
Akkor kompromisszumos megoldásként megnéztem PC-n a nagyjából EP korabeli 2.1-es DOS-t, ez alapján lehetne 33-126-ig.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: geco on 2010.June.26. 14:51:55
Azt nem lehetne, hogy az EXOS fogadja el azokat a karaktereket, amiket az EXDOS is elfogad?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.June.26. 14:54:31
Azt nem lehetne, hogy az EXOS fogadja el azokat a karaktereket, amiket az EXDOS is elfogad?
Pont ezt javasoltam tegnap :-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.June.26. 15:07:28
MS-DOS 3.3 már elfogad 127 feletti kódokat is.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: geco on 2010.June.26. 15:49:31
Pont ezt javasoltam tegnap :-)
Akkor, én meg erre bólogattam bőszen :) , és még mindig bólogatok ;)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.June.26. 15:52:08
MS-DOS 3.3 már elfogad 127 feletti kódokat is.

Ok, megadom magamat...  :lol:
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2010.June.26. 20:08:58
Azt nem lehetne, hogy az EXOS fogadja el azokat a karaktereket, amiket az EXDOS is elfogad?
Nem tudom, a témához tartozik-e, de egyszer olyan problémám adódott, hogy magnóról floppyra másolásnál a magnós * jelet nem tudta átmásolni floppyra. Esetleg lehetne azt, hogy magnóra ne lehessen ilyen floppys vezérlõkódos karaktereket menteni. Persze ha régebbi, így kimentett fájlt felismer, az jó.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.June.26. 20:35:00
EPDOS-szal kell magnóról másolni, az minden fájlnál megkérdezi a fájlnevet :)
Sok értelme nem lenne ilyen korlátozásnak, amúgy is más szabályok játszanak magnón, pl nincs a 8+3-as név korlátozás.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2010.November.01. 22:13:20
Nem tudom, ide tartozik-e, vagy egy új verziószámú IS-BASIC kéne.
Majd lehetne a következõ verzióban javítani azt a bugot, hogy AUTO sorszámozásnál a READ IF MISSING... után ne a 616-os sor jöjjön mindig.
Ha jól emlékszem, volt még néhány utasítás, ami "összekócolta" a sorszámozást, de már nem tudom, mik voltak azok...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.November.02. 08:14:52
- A PRINT USING (http://ep128.hu/Ep_Konyv/Enterpress_Tippek.htm) is hibás.
- ha jól tudom, ahhoz, hogy a gép elfogadja a GOTO-t parancsmódban, egyetlen byte-ot kellene átírni.
- és akkor már a VERNUM értékét is érdemes lenne módosítani
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2010.November.02. 10:58:24
Szerintem az a baj, ha ezek a javítások megtörténnek, akkor az új BASIC verzió alá fogják ezentúl írni a programokat (na nem mintha tolonganának a programozók :D ), amik a régi verzióval már nem mûködnek, és sokan vannak talán, akik a régi verziókat nem cserélik majd le az igazi Enterprise-on (pl. külföldiek). Persze emulátoron én is EXOS 2.31-et használok már.
Igaz, talán a PRINT USING kivételével nem érintenék a BASIC programozást ezek a hibajavítások.
Az EXT utasítás utáni GOTO sem kell már az új verzióban, de ezáltal az új BASIC programok, amik már nem használnak GOTO-t ilyenkor, már nem kompatibilisek a régi BASIC verziókkal...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2010.November.02. 11:04:18
- ha jól tudom, ahhoz, hogy a gép elfogadja a GOTO-t parancsmódban, egyetlen byte-ot kellene átírni.
Van ennek jelentõsége?
Parancsmódban használható a  GOTO 50 helyett a RUN 50.
Talán valamiért így látták célszerûnek az IS-BASIC megalkotói - nem tudom, miért.
De ettõl is egyéni az IS-BASIC, ahogy pl. a START parancs sincs meg tudtommal más basicben.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.November.02. 11:13:39
Szerintem az a baj, ha ezek a javítások megtörténnek, akkor az új BASIC verzió alá fogják ezentúl írni a programokat

Nem hiszem, hogy ez manapság nagyon "fenyegető" probléma lenne...  :ds_icon_cheesygrin:
A fenti problémák kiszűrésére lenne alkalmas a VERNUM változó ellenőrzése.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.November.02. 11:15:47
Van ennek jelentõsége?

A RUN és a START törli a változókat, a GOTO nem.
Nekem igazából ez sosem volt probléma, SPECTRUM-ról áttérők vetették fel anno.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.November.02. 23:08:38
vagy hibás a RAM a gépben. Az utóbbi esetben könnyen lehetséges, hogy a hiba csak M1 (utasítás) olvasásnál és várakozás nélkül fordul elõ, és így is csak bizonyos címeken vagy akár egyetlen byte-on.
Az ilyen X-aktás esetek miatt gondolkozom azon, hogy kéne egy olyan EP-s RAM teszt, mint ami PC-n a Memtest86+ (http://www.memtest.org/) , ahol nem a gyorsaság a lényeg, hanem az, hogy minél több módszerrel, minél jobban megkínozza a memóriát, hogy kibukjanak az ilyen dolgok.

István! Lenne ötleted, miféle algoritmusokkal kéne nekiesni?


Magát a programot úgy képzelném, hogy az EXOS 2.4-ben lehetne induláskor egy gombnyomással elõcsalogatni, de lenne betölthetõ verziója is a hagyományos gépek számára. meg kapná egy listában az alap RAM teszt alapján felderített RAM szegmensek listáját, aztán azt kínozná, amíg le nem lövik :-)
Ne kelljen játékfagyásokat keresgélni, vagy RAMDISK másolásokkal fájlsérülést keresni, stb hanem legyen egy olyan teszt ami 99.999%-ra kihozza, hogy jó-e a konfig vagy se.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: IstvanV on 2010.November.02. 23:32:11
Az ilyen X-aktás esetek miatt gondolkozom azon, hogy kéne egy olyan EP-s RAM teszt, mint ami PC-n a Memtest86+ (http://www.memtest.org/) , ahol nem a gyorsaság a lényeg, hanem az, hogy minél több módszerrel, minél jobban megkínozza a memóriát, hogy kibukjanak az ilyen dolgok.

István! Lenne ötleted, miféle algoritmusokkal kéne nekiesni?

Talán át lehetne venni néhány ötletet a memtest86-ból :) Itt (http://www.memtest86.com/tech.html#philo) található rövid leírás a különböző algoritmusokról. Érdekes probléma lehet még a csak utasításelérésnél (M1), a rövidebb időzítés miatt előforduló hibák keresése.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.November.02. 23:44:46
Érdekes probléma lehet még a csak utasításelérésnél (M1), a rövidebb idõzítés miatt elõforduló hibák keresése.
Olyanra gondoltam, hogy valami 16K-n keresztül futó bonyolult számítást kéne generálni, ami megáll HALT-tal a szegmens végén. Beprogramozni egy 1 Hz-es megszakítást, és az IRQ-n keresztül lép ki a tesztbõl, és ellenõrzi, hogy a regiszterekben az elvárt eredmény van-e. Ha netán összekutyulódik hiba miatt, akkor is van esély, hogy a megszakítás lelövi az elszabadult programot. Legrosszabb esetben azt látja a felhasználó, hogy a TESTING xx-nél lefagyott, végülis ez is felér egy hibaüzenettel  :ds_icon_cheesygrin:
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.November.03. 07:54:55
Esetleg megfontolandó lenne, hogy a HFONT-ot berakjuk az EXOS mellé, mivel az EPDOS-ból kikerült, de "ipari szabvány" lett.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.November.03. 08:51:26
mivel az EPDOS-ból kikerült
1.9-be visszakerült.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Mayer Gábor on 2010.November.03. 09:25:05
Van 2.2 -es exos is? Ha igen, az miben más mint a gyári 2.1?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.November.03. 10:18:13
Van 2.2 -es exos is? Ha igen, az miben más mint a gyári 2.1?
Van:
(http://ep128.hu/Ep_Util/Pic/Exos22.gif)

Ha igen, az miben más mint a gyári 2.1?
Lásd itt. (http://ep128.hu/Ep_Util/Exos.htm)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2010.November.03. 10:23:33
Lásd itt. (http://ep128.hu/Ep_Util/Exos.htm)

Igazából itt sincs sok szó "vesztegetve" a 2.2-es változatra...
Tényleg, mi az, ami már a 2.2-ben is benne volt? csak a gyorsteszt?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.November.03. 10:36:16
Tényleg, mi az, ami már a 2.2-ben is benne volt? csak a gyorsteszt?
Volt gyorsteszt, de kevesebbet tudott: nem volt még ROM szimulációs lehetõség, és EDCW bõvítések megõrzése, és a kijelzés is kevésbé részletes.
WP 2.6 és a EXT hibával javított BASIC már benne volt ebben is.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2010.November.03. 10:48:12
A Kurczu gépében (http://enterpriseforever.com/hardver/milyen_ep_konfigod_van-t31.0.html;msg14547#msg14547) egyébként olyan EXOS 2.2-t találtam, ami még nem keres minden szegmensen ROM-ot, csak 64K-s EPROM-ra van gondolva, így F3-F0, E3-E0,.... 13-10, 07-04, 03-02 szegmenseken keres.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 12:44:36
Ha nagy cpu orajelre allitom a szimulatort, akkor ugye begyorsur a cursor villogasa es a hanglejatszas ( gondolok itt elsosorban a billentyuzethangra, de gondolom nem csak arra korlatozodik ) is begyorsul es igy magasabb hangon jatszik le, ill. rovidebb ideig tart.

Ez a ket funkcio kozul egyik sem lett vona megszakitasokkal idozitve az exosban ? Hogyhogy felgyorsulnak ezek ?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: gafz on 2012.March.24. 13:06:22
Ha nagy cpu orajelre allitom a szimulatort, akkor ugye begyorsur a cursor villogasa es a hanglejatszas ( gondolok itt elsosorban a billentyuzethangra, de gondolom nem csak arra korlatozodik ) is begyorsul es igy magasabb hangon jatszik le, ill. rovidebb ideig tart.

Ez a ket funkcio kozul egyik sem lett vona megszakitasokkal idozitve az exosban ? Hogyhogy felgyorsulnak ezek ?

Gondolom a Dave magasabb órajele miatt gyorsul a hangképzés meg a megszakítás is. 6 MHz-re viszont felkészítették...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 13:11:20
a dave ezexerint a cpu urajelerol menne ? es valahogy a hangkepzesenek a generalt frekijeibe beleszamit a bemeneti orajele ?

es ki es hogyan keszitette fel a 6 mhz- re ?

es a kurzor villogas ? nics szinkronizalva egy 50hz- hez, vagy valami ilyen cpu orajel fuggetlen dologhoz ?

Title: Re: EXOS 2.3 tovább fejlesztése
Post by: IstvanV on 2012.March.24. 13:24:18
es ki es hogyan keszitette fel a 6 mhz- re ?

A BFh (191) port 1. bitjének a beállítása - pl. BASIC-ben "out 191, 6" - 2/3-ára lassítja a DAVE-t.

Quote
es a kurzor villogas ? nics szinkronizalva egy 50hz- hez, vagy valami ilyen cpu orajel fuggetlen dologhoz ?

A kurzor villogásának az időzítése nem megszakítás alapú, és a sebessége a Z80-tól függ.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 13:41:28
Megneztem a bf port leirasat, akkor ez azt jelenti, hogy anno mikor a dave- et terveztek es legyartottak, mar akkor gondoltak arra, hogy majd a cpu orajele fogja ot is hajtani, es gondoltak hogy lehessen mind 4 mind 6 mhz- es z80- nal ( orajelevel ) hasznalni ?

Es miert 8 ill. 12 megahertznek hivja a doksi ? Van a dave- ben ( vagy a z80 orajele es a dave bemenete kozott ) meg valami freki duplazo ?

Es ez egyebkent azt is jelenti, hogy ha betennenk +1 orajelgeneratort az ep- be, hogy sajat orajelrol menjen a dave, akkor fuggetleniteni lehetne a z80- tol ? vagyis lehetne az, hogy az emuban ( ha ez emulalva lenne ), akkor mondjuk 40 mhz- n megy a z80, de a hangok meg ugyanugy szolnak ?

Mert ha ez igy lehetne, akkor ugye lehetne 10X sebesseggel forditani emun mondjuk heassban, de a billhangok meg maradnanak normalisak. Meg ugy egyebkent is tok jo hogy olyan gyors az ep... minden veszett modon gyors mar mondjuk 40 mhz- es cpu frekin ... gyorsan valtanak a programok egyikrol a masikra, stb. tok villamvill lesz tole az emulalt ep. tok gyorsan frissiti a kepet, stb. csak eltolja a hangokat.




Az meg hogy van hogy a cpu- tol fugg a cursor villogas ? En ugy tudom hogy a kurzor villogas az valahogy altalanositva van az exosban. ( talan meg a sebesseget is lehet allitani ... nem emlexem ) de az biztos hogy nem az egyes programok valositjak meg a villogast ( basic, exdos, wp, stb. ) hanem valahogy az exos.

namost mikor a programok futnak, olyankor az exos nem fut ... nem tud loop- ot futtatni kurzor villogashoz ... csak valami megszakitasbol kellene villogtassa ... hogy csinalja ezt cpu- val ?


Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ferro73 on 2012.March.24. 13:54:24
Esetleg a VIDEO:  kezelõt bõvíteni BASIC -al egyetemben HIRES, LORES, ZXRES ilyenkor nem kellene megadni a
VIDEO 32
VIDEO 24
VIDEO MODE ZX
De lehet, hogy nem lehet ilyen nagy LPT blokkot behelyettesíteni EXOS-ba?
Ezzel a megoldással már közelebb lehetne lépni az EXOS kompatibilitás hoz.
Maradhatna az IM1-es RST 30H megszakítás.
Lehet a ZX program lassabban fog futni de a program alatt lehetne Exos parancs sort használni.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ferro73 on 2012.March.24. 14:07:02
Es miert 8 ill. 12 megahertznek hivja a doksi ? Van a dave- ben ( vagy a z80 orajele es a dave bemenete kozott ) meg valami freki duplazo ?

Nem duplázó hanem osztó Nick-be megy be ott osztja 2-vel és küldi a Z80-nak és ami a NICK-be megy az megy a Dave-be

Es ez egyebkent azt is jelenti, hogy ha betennenk +1 orajelgeneratort az ep- be, hogy sajat orajelrol menjen a dave, akkor fuggetleniteni lehetne a z80- tol ? vagyis lehetne az, hogy az emuban ( ha ez emulalva lenne ), akkor mondjuk 40 mhz- n megy a z80, de a hangok meg ugyanugy szolnak ?
Igen fügettlen generátor a Dave-nek 8MHz ,a NICK -> Z80 meg egy másik 12/6/,16/8/,20/10/ MHz


Mert ha ez igy lehetne, akkor ugye lehetne 10X sebesseggel forditani emun mondjuk heassban, de a billhangok meg maradnanak normalisak. Meg ugy egyebkent is tok jo hogy olyan gyors az ep... minden veszett modon gyors mar mondjuk 40 mhz- es cpu frekin ... gyorsan valtanak a programok egyikrol a masikra, stb. tok villamvill lesz tole az emulalt ep. tok gyorsan frissiti a kepet, stb. csak eltolja a hangokat.
Emuban én erre a "W" billentyût használom mikor fordítom a kódokat max sebességre rakom aztán amit a gép bír miután lefordította visszatérek a normál sebességbe.


Title: Re: EXOS 2.3 tovább fejlesztése
Post by: IstvanV on 2012.March.24. 14:07:11
Megneztem a bf port leirasat, akkor ez azt jelenti, hogy anno mikor a dave- et terveztek es legyartottak, mar akkor gondoltak arra, hogy majd a cpu orajele fogja ot is hajtani, es gondoltak hogy lehessen mind 4 mind 6 mhz- es z80- nal ( orajelevel ) hasznalni ?

Igen.

Quote
Es miert 8 ill. 12 megahertznek hivja a doksi ? Van a dave- ben ( vagy a z80 orajele es a dave bemenete kozott ) meg valami freki duplazo ?

A rendszer órajel 8 (vagy 12) MHz, ez egyben a DAVE órajele, a Z80-é pedig ennek a fele.

Quote
Es ez egyebkent azt is jelenti, hogy ha betennenk +1 orajelgeneratort az ep- be, hogy sajat orajelrol menjen a dave, akkor fuggetleniteni lehetne a z80- tol ? vagyis lehetne az, hogy az emuban ( ha ez emulalva lenne ), akkor mondjuk 40 mhz- n megy a z80, de a hangok meg ugyanugy szolnak ?

Az emulátorban nincs akadálya a független órajelnek, már most is be lehet állítani jóval nagyobb Z80 frekvenciát a hang változása nélkül.

Quote
Az meg hogy van hogy a cpu- tol fugg a cursor villogas ? En ugy tudom hogy a kurzor villogas az valahogy altalanositva van az exosban. ( talan meg a sebesseget is lehet allitani ... nem emlexem ) de az biztos hogy nem az egyes programok valositjak meg a villogast ( basic, exdos, wp, stb. ) hanem valahogy az exos.

A villogást az EDITOR: eszköz valósítja meg (akkor látható, amikor az EDITOR: bemenetre vár), ha jól tudom, és az időzítése egyszerű üres ciklust használ.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 14:16:08
Quote
Emuban én erre a "W" billentyût használom mikor fordítom a kódokat max sebességre rakom aztán amit a gép bír miután lefordította visszatérek a normál sebességbe.

Nalam a w billentyu w karaktert ir ... :) Nem ertem mire gondolsz ...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: IstvanV on 2012.March.24. 14:16:51
Nalam a w billentyu w karaktert ir ... :) Nem ertem mire gondolsz ...

Alt+W
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 14:18:19
Quote
Az emulátorban nincs akadálya a független órajelnek, már most is be lehet állítani jóval nagyobb Z80 frekvenciát a hang változása nélkül.


Hat en most bementem a konfigba, es utanairtam a cpu 4 000 000 hertzenek egy plussz nullat igy lett belole 40 000 000

Ha igy futtatom az emut, akkor a click hang egy ilyen pottyenesre modosul ...

Nem a rendes billentyu klikk hang szol ...

Ha ugy lenne ahogy mondod, akkor a rendes klikk hang szolna, 10X- es cpu sebessegnel is, nem ?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ferro73 on 2012.March.24. 14:19:34
Alt+W

Igen, a W Gyorsbillentyû azaz ALT+W
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ferro73 on 2012.March.24. 14:24:16

Hat en most bementem a konfigba, es utanairtam a cpu 4 000 000 hertzenek egy plussz nullat igy lett belole 40 000 000

Ha igy futtatom az emut, akkor a click hang egy ilyen pottyenesre modosul ...

Nem a rendes billentyu klikk hang szol ...

Ha ugy lenne ahogy mondod, akkor a rendes klikk hang szolna, 10X- es cpu sebessegnel is, nem ?
De lehet,hogy csak 1/10-ed ideig hallanád
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 14:26:33
Quote
Igen, a W Gyorsbillentyû azaz ALT+W

aham, jo trukk ez, ha igazan nagy a forditani valo forras, de ezen a sebessegen gepelni, ilyesmit mar nem nagyon lehet,

jo lenne nekem a 10X-20X -os sebessegnovekedes is, ekkor meg kenyelmesen lehet gepelni is, meg mar kisebb forrast eleg gyorsan is fordit, csak a kurzorvillogas bolondul meg tole, meg a klikkhang torzul el.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 14:29:30
Quote
De lehet,hogy csak 1/10-ed ideig hallanád

ja, hogy abbol eredne a "torzulas" hogy a klikk hangok mar egymasba ernenek, es az ep meg nem mixelne ossze oket egymas melle, hanem mindegyiknek csak az elejet hallanam ?

na kiprobalom akkor 2X- ezessel meg ilyenek... akkor meg nem szabad egymasba erjenek ( mert rovid a klikk hang ) csak surubben, de ugyanolyan magassagban/ideig kene szoljanak ...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: IstvanV on 2012.March.24. 14:31:59
Ha ugy lenne ahogy mondod, akkor a rendes klikk hang szolna, 10X- es cpu sebessegnel is, nem ?

A key click időzítése szintén üres ciklus alapú. Egyébként a nagyobb gyorsuláshoz érdemes kikapcsolni az "Enable memory timing emulation"-t, mert a video RAM sebessége nem változik (azaz nagy Z80 órajelet beállítva akár 100-nál több ciklust is kellene várni rá). Az újabb PC-ken akár 200-250 MHz-es Z80 is emulálható.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 14:32:52
Kiprobaltam, nem ez a jelenseg, ha csak 8 000 000 allitom a cpu orajelet,
akkor sem csak surubben hallom a klikk hangot,
hanem maga a klikk hang is megvan valtozva, "torzulva", magassagban emelkedve ...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 14:38:37
Quote
A key click időzítése szintén üres ciklus alapú.

Na ezt mar vegkepp nem ertem. A kurzor villogas meg ok, utana kell nezzek mit tud interfeszben az az editor: eszkoz, de gondolom mikor meghivom valami funkciojat, akkor blokkol, es addig ( ezexerint ures ciklus alapon ) villogtatja a kurzort, mindenki ezt hivja, es mikor visszater, akkor mar nem villogtatja a kurzort ...

Vagy ugyanez van a klikk hangnal is ... ameddig a editor: eszkoz fut, klikk hangot is csak addig tud adni, es akkor az is ilyen Z80 alapon idozitve van megoldva, amig az editor: eszkozben van a loop ?

Es akkor nincs is ilyen funkcio az exosban hogy siman csak "adj ki klikk hangot", vagy ha van is, akkor az is blokkol ? Mert pld. "ping" hang mintha remlene, hogy van benne ... vagy a "ping" hang kiadasa is blokkol, mert Z80 alapon van idozitve ?

Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Z80System on 2012.March.24. 14:52:37
Pld. a key wait/repeate tokeletesen mukodik 100 mhz- es z80- nal is ... gondolom azokat megszakitassal idozitik ...

Muszaly hogy a kurzor/klikk hang z80- nal legyen idozitve ? lehetseges egy olyan exos ( ezek szerint editor: eszkoz ?) modositas ahol a kurzor villogas es a klikk hang megszakitas alapon idozitodik ?


Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2012.April.05. 15:16:30
Az EXOS 2.0 és 2.1 hibája, hogy a basic EXT után egy GOTO is kell a programban (http://wiki.enterpriseforever.com/images/0/0b/Basichibaexos21.gif), teljesen ki lett javítva? Az emulátorban próbálkoztam, és nem okozott gondot, ha NEXT elõtt nincs GOTO, az EXOS 2.0-ban és a 2.1-ben sem.

Ja, és ide (http://wiki.enterpriseforever.com/index.php/Unofficial_EXOS_versions_by_Zozosoft) az EXOS 2.32-rõl nem kéne írni valamit?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.April.05. 15:21:53
Az EXOS 2.0 és 2.1 hibája, hogy a basic EXT után egy GOTO is kell a programban (http://wiki.enterpriseforever.com/images/0/0b/Basichibaexos21.gif), teljesen ki lett javítva? Az emulátorban próbálkoztam, és nem okozott gondot, ha NEXT elõtt nincs GOTO, az EXOS 2.0-ban és a 2.1-ben sem.
Ez a IS-BASIC hibája, az emulátor ROM csomagjában a javított BASIC ROM-ok vannak benne.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2012.April.05. 15:41:33
Ez a IS-BASIC hibája, az emulátor ROM csomagjában a javított BASIC ROM-ok vannak benne.

De akkor már nem az eredeti 2.0-ás és 2.1-es basic romok azok. Vagy az nem baj? (Csak mert akkor nem kompatibilis az emulátor 2.1 basicjében írt program az igazi EP 2.1-es basicjével, mert ha ott elfelejt GOTO-t tenni EXT után a felhasználó, nem lesz hiba, de igazi gépen már lesz. Vagy igazi gépen már úgyse használ senki 2.1-es vagy régebbi eredeti basic-et?)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.July.25. 12:07:07
Azt lehetséges megoldani, hogy az EDITOR: a 129-157 közötti ASCII kódú karaktereket betûnek tekintse, ahol nem illik kettévágni sortörésnél a szavakat? Ezzel a WP is a "használhatatlan" kategóriából a "gyengén használható"-ba kerülne...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.July.29. 23:20:21
EXOS 2.3 EXOS 2.0 kompatibilissá téve  :ds_icon_cheesygrin:
Na jó, pontosítsunk: a gyorsteszt rész, ami múltkor már cartridgeba tehetõ formában is elkészült, azok számára, akik nem akarják megbontani a gépet. Ez most már egyaránt mûködik 2.0 és 2.1 EXOS-al is. Ha el nem rontottam valamit  :oops: kéretik tesztelgetni!
Így ugyanaz a gyorstesztes cartridge jó lesz EP64 és 128-hoz is. (Na nem mintha eddig túl sok féle lett volna EP64-hez, csak a múltkor kijavított ASMON 1.5-ben lévõ.)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.July.30. 21:17:27
kéretik tesztelgetni!

Ez hogyan mûködik?
Ha 4-es szegmensre rakom és a BASIC-et az 5-ösre nincs BASIC.
ha a BASIC marad 4-esen, nincs gyorsteszt.
Azért kellene ebbõl is angol, hisz az EP64 tulajdonosok jellemzõen nem magyarok
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.July.30. 22:08:08
Ha 4-es szegmensre rakom és a BASIC-et az 5-ösre nincs BASIC.
Mért ne lenne???  :shock:
[attachthumb=1]
Quote
Azért kellene ebbõl is angol, hisz az EP64 tulajdonosok jellemzõen nem magyarok
Van belõle az is, csak azzal most nem akartam a fórum szerverét tömni :-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.04. 18:48:19
[attachthumb=1]
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.04. 20:50:46
(Attachment Link)

No, ez már érdekes!!!  :smt041
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.04. 20:56:25
No, ez már érdekes!!!  :smt041

Az a "Z80" felirat csak sima "PRINT", vagy kiírja a proci típusát? Bár jobban belegondolva nem hiszem, hogy lehet dekektálni, hogy Z80, Z80A vagy Z80B van a gépben.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.04. 20:57:27
Ja, és ez már kész van? Mikor lehet próbálgatni?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.04. 21:07:39
Az a "Z80" felirat csak sima "PRINT", vagy kiírja a proci típusát? Bár jobban belegondolva nem hiszem, hogy lehet dekektálni, hogy Z80, Z80A vagy Z80B van a gépben.
Azt sajnos nem lehet, az NMOS/CMOS-t megpróbálom. (CPC-s Pinballnál jött elõ a kérdés anno.)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.04. 22:33:44
Gondolom az órajelmérésen kívül a 191-es portot is beállítja?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.04. 22:48:53
Gondolom az órajelmérésen kívül a 191-es portot is beállítja?
Igen, és erre menet közben is figyel, és pár másodperc után átállítja.
Ehhez majd lesz egy új EXOS változó is, amivel tiltható a funkció, ill. a memória várakozás értéke adható meg.

Ennek kapcsán közvélemény kutatás:
Akarjuk-e még alapértelmezésben lassítani a gépet?  :)
Tehát az utasításonkénti várakozás alapértelmezésben:
a) bekapcsolva, mint eddig
b) kikapcsolva, hogy a gép teljes sebességgel menjen
c) bekapcsolva, de indításkor gombnyomással tiltható (azaz az új EXOS változó ennek megfelelõ értékkel indul)
d) kikapcsolva, de indításkor gombnyomással engedélyezhetõ (azaz az új EXOS változó ennek megfelelõ értékkel indul)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.04. 23:48:43
Akarjuk-e még alapértelmezésben lassítani a gépet?  :)

Tõmondatban: nem.
Kicsit bõvebben: az órajelfigyelés mennyi idõt visz el? a gondolom azért "kompenzál" valamit?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.04. 23:49:30
c) bekapcsolva, de indításkor gombnyomással tiltható (azaz az új EXOS változó ennek megfelelõ értékkel indul)

C opcióra szavazok.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.04. 23:50:21
Igen, és erre menet közben is figyel, és pár másodperc után átállítja.

És 7.12 MHz-re mit lép? Eddig az EXOS csak a 6 MHz-t tudta idõzítésben kezelni.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.04. 23:51:34
Ja, és ez már kész van? Mikor lehet próbálgatni?
Nagyon nincs még kész, de a türelmetlenek próbálgathatják :-) beta teszterek meg pláne jól jönnek  :ds_icon_cheesygrin:

Órajel figyelésen kívül változások:
-beépítésre került a sípolós teszt funkció (http://enterpriseforever.com/hardver/diagnosztikai_romok-t155.0.html;msg5132#msg5132), ezt mûködõ gépen csak B gomb indításkori lenyomásával jön elõ :-)
Az EXOS úgy indult, hogy elsõként letesztelte az FF szegmenst, és ha az hibás, akkor pörgõ keretszínnel jelezné a hibát. Viszont a gyakorlati tapasztalat azt mutatta, hogy ez nem valósul meg, mivel a tesztet CALL-al hívja meg, miközben a verem az ellenõrizetlen FE szegmensben van, amely ugyanazokat a RAM IC-ket használja, mint az FF. Így ha az hibás, a verem is az lesz, a CALL-ból nem tér vissza, a végeredmény se kép se hang gép...
A 2.4-ben a CALL elõtt leteszteli az FF elsõ bájtját (0-255 értékekkel), ha hibás, akkor ugrik a sípolós tesztre. (Ill. a B gombbal egybõl ez indul).
-a soha nem használt SLOW teszt le lett cserélve ADVANCED-re, ami a korábbiaknál sokkal alaposabban vizsgálja át a memóriákat (lásd PC-n Memtest86), itt külön említendõ a RANDOM FILL teszt, ami pszeudo véletlenszámokkal tölti fel a szegmenst, és ellenõrzi le. A véletlenszám generátor a szegmensszámmal van inicializálva, így minden szegmens egyedi mintával lesz feltöltve, ami a végsõ összeszámolós fázisban újra vissza lesz ellenõrizve. Itt a visszaellenõrzés elõtt vár egy gombnyomásra, így lehetõség van a RAM frissítés tesztelésére, ott kell hagyni pár órára a gépet, és utána engedni tovább.
-címvezeték hibák feltárása is fejlesztve lett, minden szegmens elejére beírja a szegmensszámot és az invertáltját, ezt visszaellenõrzi a szegmensen belüli teszt után (ez eddig még nem volt), és végén az összeszámolós fázisban is.
 
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.04. 23:53:53
És 7.12 MHz-re mit lép? Eddig az EXOS csak a 6 MHz-t tudta idõzítésben kezelni.
Ez nem az EXOS-on múlik, hanem a DAVE-n. Ahhoz is a 6-ost állítja be, mint a kisebbik rossz :-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.04. 23:54:18
Tényleg, és a BRD-féle módosított LPT belekerült? Ügye nem megszakításban?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.05. 00:01:22
Ez az Advanced test nagyon komoly!  :smt041
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.05. 00:21:23
Tõmondatban: nem.
C opcióra szavazok.
Akkor most nem vagy igen?  :oops:

Quote
Kicsit bõvebben: az órajelfigyelés mennyi idõt visz el? a gondolom azért "kompenzál" valamit?
Nem sokat, alig pár utasítást, mármint ez a 191 állítgató.
Az 50Hz-es megszakításban növel egy számlálót, az 1Hz-es megszakításban megnézi, hogy 50 lett-e? Ha túl sok (4Mhz Z80 6Mhz-re állított DAVE-el), vagy túl kevés (turbó Z80 4Mhz-re állított DAVE-el), akkor korrigál. A korrigálás feltétele az is, hogy az aktuális és a megelõzõ mérés eredménye egyforma legyen, mivel lehet másodperc közbeni átkapcsolás, vagy megszakítás letiltás (pl lemez mûvelet) miatt ingadozás. Ebbõl adódik a pár másodperc reakcióidõ.
Ebben az esetben nem akarunk pontos órajelet mérni, csak azt, hogy az aktuális DAVE beállítás lassú vagy gyors. Induláskor viszont pontos érték kell, itt az van mérve, hogy egy 50Hz-es megszakítás alatt mennyi INC HL fut le, és a kapott értékbõl számolva az órajel. (Egyelõre 13.435 Mhz-ig számol jól, ez valódi gépen bõven lefedi a lehetõségeket :-) emulátoron efölött marhaság lesz  :oops: )
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.05. 00:24:06
Akkor most nem vagy igen?  :oops:

d. pont, d. pont, nyomdahiba...  :oops:
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2012.August.05. 10:30:41
d) kikapcsolva, de indításkor gombnyomással engedélyezhetõ (azaz az új EXOS változó ennek megfelelõ értékkel indul)
Ha jól értem, akkor nekem is ez tetszik inkább.
Tehát azt jelenti, hogy ha memóriateszt alatt lenyomunk valamit, az egyenértékû azzal, mintha kiadnánk az OUT 191,12 utasítást?
Bár szerintem akkora ügyet nem kell csinálni belõle. Aki nagyon akarja, basicbõl is kiadhatja az OUT 191,12-õt. Talán vannak idõrabló utasítások, amik megvárakoztatnak, esetleg ezek idejére bekapcsolhat az OUT 191,12, de nem is tudok fejbõl ilyen utasításokat. Talán magnóról töltés közben, hogy picivel rövidebb legyen a PAUSE, de ez nem is lenne észrevehetõ.
Szerintem alapból bekapcsolni nem jó, mert ha így indítjuk el a régi programokat, a szokottól eltérõ sebességgel fognak futni, ami nem szimpi.
Hanglejátszáskor is gyorsít. Amikor egy zenélõ programnál futtatás végén megjelenik az OK felirat, de a zene még megy, begyorsul.
De lehet, hogy rosszul értem az egészet...
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.05. 11:28:03
Szerintem alapból bekapcsolni nem jó, mert ha így indítjuk el a régi programokat, a szokottól eltérõ sebességgel fognak futni, ami nem szimpi.
Hanglejátszáskor is gyorsít. Amikor egy zenélõ programnál futtatás végén megjelenik az OK felirat, de a zene még megy, begyorsul.

Ezért lesz a plusz billentyû, ha valaki játszani akar, azt kell megnyomni...
A hang nem változik, pont ezért állítgatja a 191-es portot.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.05. 14:07:58
Sikerült egyszer BASIC-bõl úgy melegreset-elnem, hogy kiakadt. Órajelmérés közben reset-et kezeli?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.05. 18:14:09
Sikerült egyszer BASIC-bõl úgy melegreset-elnem, hogy kiakadt. Órajelmérés közben reset-et kezeli?
Órajelmérésnek biztos nincs köze hozzá. Sõt úgy általában a 2.4-nek se :-)
Körülmények? Lehet, hogy még más programban is lappang valami bug, ahogy azt korábban találtunk már az Asmonban és az EXOS-ban is.

Nyomogattam most úgy kb 100 melegindítást 2.4+EXDOS konfigban, de nem sikerült semmi rendelleneset produkálni.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.05. 18:39:55
Körülmények? Lehet, hogy még más programban is lappang valami bug, ahogy azt korábban találtunk már az Asmonban és az EXOS-ban is.

BASIC-bõl TEXT 80 módban programlistázás közben RESET-et nyomtam. Programban semmiféle gépi kódú rutin nem volt, ami megbolygathatta volna a gép lelkivilágát.
Én is kb. 100-szor nyomtam azóta RESET-et, de még nem sikerült reprodukálni.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2012.August.05. 22:47:26
Zozo!
A click hangból úgy veszem észre, hogy a melegreset visszaállítja a 191 port értékét. Most már ennek nincs jelentõsége, sõt keresztbe dolgozik az új "módival".
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.05. 22:59:43
A click hangból úgy veszem észre, hogy a melegreset visszaállítja a 191 port értékét. Most már ennek nincs jelentõsége, sõt keresztbe dolgozik az új "módival".
Majd a következõ verzió ezt is megoldja :-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: geco on 2012.August.06. 09:20:06
 :smt041 :smt041 :smt042
Nagyon jól néz ki az EXOS 2.4 tesztje, egyelőre csak képen láttam  :oops:, de az szimpi :)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.07. 10:16:20
Ez az Advanced test nagyon komoly!  :smt041
Nem szép dolog az öndicséret, de az eddigi valódi gépeken végzett tapasztalatok alapján határozottan jól mûködik  :ds_icon_cheesygrin:
Idézet a 320K cikkbõl: (http://gafz.enterpriseforever.com/Hardware/320k/320.htm)
"Megjegyzem hogy találkoztam már olyan memóriabõvítéssel, amelyik nem foglalkozott az utóbb ismertetett frissítés megoldásával, és csodák-csodájára mûködött is!"

Keveredett hozzám is egy ilyen gép, eddigi tesztekkel, akár normál EXOS teszttel se látszott semmi probléma, csak voltak "furcsa dolgai"...
[attachthumb=1]

Advanced test egybõl kihozza, hogy 64K OK, 256K BAD  :ds_icon_cheesygrin:

Szalai régóta nálam lévõ  :oops: :oops: :oops: :oops: :oops: gépénél is végre egzaktul megmutatja, hogy alaplapi 64K-n kívül semmilyen DRAM-ot nem kezel rendesen. Eddig ez se látszott semmilyen tesztben, csak homályos, nehezen reprodukálható RAMDISK ide-oda másolások, Small Demo futtatás, és hasonlókkal látszott, hogy valami nincs rendben.
Bevallom ez a gép volt az ösztönzõ a fejlettebb RAM teszt írásához :-)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2012.August.11. 13:00:08
Újabb beta verzió, már van rendszerváltozó a 191-es porthoz, stílszerûen 191-es :-) szerencsére ez még szabad volt.
Használata kb ugyanaz mint a 191-es port, tehát pl SET 191,12 vagy SET 191,4
0. bit nincs használva
1. bit automatikusan beáll az órajelérzékelés függvényében (0 normál, 1 turbo)
2-3. bit a memóriavárakozásokat állítja be
4-6. bitek nem használtak
7. ha 1, akkor a 191 port állítgatása letiltva.

A teszt képernyõn már a Z80 típusa (NMOS/CMOS) is látható.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2013.April.20. 12:27:55
EXOS 2.4 beta 3
-Már nem fagy valódi gépen (lásd Z80 reset téma) (http://enterpriseforever.com/programozas/z80-reset/msg32201/#msg32201)
-resetnél az aktuális frekvencia kerül visszaírásra a 191-es portra
-memória várakozások alapértelmezésben tiltva (SET 191,4 engedélyezi)
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ferro73 on 2013.April.20. 12:48:17
Újabb beta verzió, már van rendszerváltozó a 191-es porthoz, stílszerûen 191-es :-) szerencsére ez még szabad volt.
Használata kb ugyanaz mint a 191-es port, tehát pl SET 191,12 vagy SET 191,4
.
.
.
7. ha 1, akkor a 191 port állítgatása letiltva.
És ha későbbiekben módosítani szeretném a 191-es portot akkor az hogyan fogom?/ Kikapcsolom a gépet/
Vagy csak bekapcsolás után addig módosítgatom amíg a 7. bittet be nem állítóm?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2013.April.20. 12:56:32
OUT 191 helyett SET 191-et írsz a programba.
Vagy a 7. bitet 1-re a változóban, onnantól mehet az OUT-olás.

Ha egyébként az órajel nem változik, akkor nem írja felül az OUT-olt értéket.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ferro73 on 2013.April.20. 13:55:31
Quote from: Zozosoft
OUT 191 helyett SET 191-et írsz a programba.
Vagy a 7. bitet 1-re a változóban, onnantól mehet az OUT-olás.

Ha egyébként az órajel nem változik, akkor nem írja felül az OUT-olt értéket.
Ezt most nem értem, akkor az előző nem jó "7. ha 1, akkor a 191 port állítgatása letiltva."
De ha a port írást letiltom ... várjunk ezt Exosxx /Set-el vagy Z80 out (191),a utasítással tiltom?
Vagy akkor a 7.bitre nem érvényes az írás tiltása
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2013.April.20. 14:03:14
A 7. bit azt tiltja le, hogy az EXOS átírja a 191-es portot, ha változást tapasztal.
Tehát ha 4 Mhz-es gépen kiadod, hogy OUT 191,6, akkor azt észreveszi, hogy nem jó beállítás, és visszaírja.
Ha előtte volt SET 191,128 akkor nem foglalkozik vele.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Ferro73 on 2013.April.20. 14:32:57
igen össze keveredtem  a hardver port(191) és a rendszerváltózó set 191,xx között 

Bár akkor szerencsésebb lenne
7. ha 1, akkor az EXOS automatikus javítás letiltva, a 191-es portra.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: geco on 2013.April.20. 16:05:30
:smt041 :smt041 :smt041
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2013.May.24. 20:41:29
Quote from: lgb
Es ha mar EXOS2.4: ajanlhato mar EPROM-ba egetesre es hasznalatra, vagy aze' inkabb ne? :) Mondjuk emulatoron nekem nem volt vele gondom, pedig az van.
Működni működik...
Ami probléma, hogy ez a megszakításból turbó figyelgetés megzavarodik, amikor az EXDOS lemez műveletekhez letiltogatja a megszakításokat.
Ez emulátoron nem jön elő, mert a WD1772 időzítései nincsenek emulálva, így a valódinál gyorsabb az átvitel, nincs olyan hosszú megszakítás letiltás.
Valószínűleg több másodpercre kell kiterjeszteni a mérést, és ha több egyforma eredmény jön ki, aszerint állítgatni a 191-es portot.

Amúgy meg az Editorba szeretne még mindenfélét Lacika :oops:

Én most arra gondolok, hogy a jelenlegi verzióból csinálni egy olyat, ahol a 191-es port megszakításból állítgatása le van tiltva alapból, és ezt elnevezni 2.33-nak.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: lgb on 2013.June.07. 17:22:23
Azon elmelkedtem, hogy anno kerdeztem mar, miert nem lehet olyat csinalni, hogy egy programbol meghivod a masikat, es ha az lefut, visszakapod a vezerelest. Gondoljunk itt pl egy commander (volkov commander szeru, hogy a regi szep idoket idezzem) cuccra. Akkor meg nem teljesen ertettem a problemat, hogy a nullas lapnak annyi lenne, nehez lenne visszaterni az elozo programhoz. Viszont ami felmerult bennem az az, hogy miert van egyetlen nullas lap? Mi lenne, ha lenne egy EXOS/M nevu rendszer (M mint Multiprogram) ahol egy exos hivassal inditasz egy programot, ami ki tud lepni, akkor visszaadja a vezerlest. Ugy mukodne, hogy az uj programnak foglal egy szegmenst, amit addig amig az fut, elnevezi azt nullas lapnak ugymond. Nyilvan azert a system page-en is lehetne olyasmi amit sajnos menteni kell, stb. Ezt elmeletileg is nehez lenne kivitelezni?

Akkor meg mar adodna az is, hogy pl kulso jelre lehet programot valtani :D mondjuk bill kombinacio, vagy reset gombra egy exos menu jonne be, hogy melyiket folytassa. Na az mar eleg durva lenen :D csak tartok tole hogy tenyleg pl csatornak nyilvantartasa miegymas az mind total megkeveredni, el kene menteni hozza ........ Elvileg amugy fix nullas lappal is mukodhetne, ha azt addig elbackup-oljuk vhova :D Az egesz hatranya az lenne hogy nagy a memoriaigeny (valoszinu legalabb a nullas lapot de talan a system page-et is el kene menteni valahova), illetve a masolas miatt kisse lassu lenne a valtas. Tovabba, a programnak nem celszeru kozvetlenul piszkalni a hw-t exos-on kivul mert kulonben erdekes lesz az eredmeny egy valtas majd visszavaltas utan, nem uaz az allapot all elo pl nick bizeralasa utan.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2013.July.22. 12:07:58
Aktuális változat:
Mint már emlegetve lett, Z180 miatt az összes nem dokumentált utasítás el lett távolítva a kódból. Z180-at inicializálja: belső várakozási ciklusok tiltva, és a belső I/O portok 40-7Fh-ra helyezve, hogy ne akadjon össze az EXDOS-szal

A fő újdonság, hogy SlashNet kérése alapján lett betölthető verzió is a teszt program részből.
Az MT.COM az Advanced RAM teszttel indul alapból, így lehetséges memória tesztelése EXOS 2.4 EPROM (vagy a gyorstesztes cartridge változat) beépítése nélkül is.

A QT.COM pedig a normál gyorstesztet futtatja, ennek akkor van értelme, ha nagyobb EPROM-okkal szerelt rendszert alap EXOS-os géphez csatlakoztatunk, és az nem látja az összes ROM programot. Pl. egy tartalék gépet próbálunk ki a bővített EXDOS kártyánkkal.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Lacika on 2013.July.22. 20:55:10
Ez már működik igazi gépen is?
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2014.April.01. 09:47:35
Új funkció hozzáadva a gyorsteszthez, F6-al kihagyja a Cartridge-ben található ROM-okat.
Ez az SD Cartridgehez készült, aminek a Flash ROM-ja EP-ről frissíthető, de mivel felületszerelt az IC, ezért ha valami félresikerül nehéz helyreállítani, ha a hibás ROM-mal el se indul a rendszer. Ezzel a funkcióval ez megoldható, és floppyról (akinek van EXDOS kártyája) vagy magnóról (PC-ről hangkábelen) betölthető helyreállító Flash program.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2014.April.03. 12:19:18
A basic automatikus sorszámozás (AUTO utasítás) bugot nem lenne érdemes javítani? READ IF MISSING és néhány hasonló utasítás után jelentkezik, hogy 616 körül folytatja a számozást.
Lehet, hogy van más basic bug is még, már nem tudom, de az EXT bug javítva lett, azt tudom.
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: Zozosoft on 2014.April.03. 12:32:28
Quote from: szipucsu
A basic automatikus sorszámozás (AUTO utasítás) bugot nem lenne érdemes javítani?
Érdemes lenne, csak előbb meg kéne találni :oops:
Title: Re: EXOS 2.3 tovább fejlesztése
Post by: szipucsu on 2014.April.03. 12:35:25
Quote from: Zozosoft
Érdemes lenne, csak előbb meg kéne találni :oops:
Ja, az bonyolult? Sajnos ahhoz a részéhez nem értek.