Welcome, Guest. Please login or register.


Author Topic: EXDOS (Read 231734 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXDOS
« Reply #45 on: 2008.December.15. 13:20:40 »
Úgy látszik, a legnagyobb használható méret 240/2/40 (azaz 9600 KB), de az is csak az emulátorhoz módosított EXDOS változattal
Azért lett 40, hogy a túlformázott ED-s lemezt is kezelje. Viszont átírhatjuk akár 255-re is :-)
A 240 sáv az hogy jött ki? Van arra is valami ellenõrzés?
Viszont határ fog szabni a FAT12 fájlbejegyzések száma, úgy emlékszem, hogy floppyn csak 1-2 szektoros clustereket kezel. De nem biztos, ezt újra le kéne tesztelni :-) lehet, hogy csak az EPDOS-szal keverem.
Az biztos, hogy maga az EXDOS magja kezeli a többet is, hiszen vinyón megy. Kérdés, hogy a floppy kezelõ modulban van-e erre is ellenõrzés?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EXDOS
« Reply #46 on: 2008.December.15. 18:02:52 »
Azért lett 40, hogy a túlformázott ED-s lemezt is kezelje. Viszont átírhatjuk akár 255-re is :-)
A 240 sáv az hogy jött ki? Van arra is valami ellenõrzés?
Az az emulátorban van, legfeljebb 240/2/240 (~56 MB) méretű image-t fogad el :) :oops: Bár az EXDOS ROM-ban is van egy CP 0F0h utasítás a szektorok számát ellenőrző rész közelében, annak valószínűleg más funkciója van :)
Quote
Viszont határ fog szabni a FAT12 fájlbejegyzések száma, úgy emlékszem, hogy floppyn csak 1-2 szektoros clustereket kezel. De nem biztos, ezt újra le kéne tesztelni :-) lehet, hogy csak az EPDOS-szal keverem.
Az biztos, hogy maga az EXDOS magja kezeli a többet is, hiszen vinyón megy. Kérdés, hogy a floppy kezelõ modulban van-e erre is ellenõrzés?
Megpróbáltam módosítani az exdos13.rom-ot, és úgy látszik, legfeljebb 128 szektor lehet egy sávban, ezt az értéket túllépve hibásan működik. Ezért a lenti exdos13.rom-ban az ellenőrzést 128 szektorra állítottam be. Viszont egy 30 MB-os (240 sáv és 128 szektor/sáv) image még valóban használhatónak tűnik, amint az az alábbi screenshoton is látható.
A .7z csomagban egy 16 MB-os (4K cluster méret) és egy 30 MB-os (8K cluster méret) image található.
[ Guests cannot view attachments ]

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXDOS
« Reply #47 on: 2008.December.15. 18:11:45 »
Bár az EXDOS ROM-ban is van egy CP 0F0h utasítás a szektorok számát ellenõrzõ rész közelében, annak valószínûleg más funkciója van :)
Az a típusbájtot ellenõrzi, eredetileg CP 0F8h, a HD-s lemezek használatához lett módosítva (elõször a Turbo EXDOS-ban, most késöbb meg az összes verzióban az emuhoz)
Quote
Megpróbáltam módosítani az exdos13.rom-ot, és úgy látszik, legfeljebb 128 szektor lehet egy sávban, ezt az értéket túllépve hibásan mûködik. Ezért a lenti exdos13.rom-ban az ellenõrzést 128 szektorra állítottam be. Viszont egy 30 MB-os (240 sáv és 128 szektor/sáv) image még valóban használhatónak tûnik, amint az az alábbi screenshoton is látható.
A .7z csomagban egy 16 MB-os (4K cluster méret) és egy 30 MB-os (8K cluster méret) image található.
Na ez király, ha minden igaz ez jó lesz arra, hogy EPDOS 1.9-ben bugokat vadásszunk, addig is, amíg nem lesz kész a vinyó emuláció :-)
Mindjárt megcsinálom akkor a többi EXDOS verziót is.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXDOS
« Reply #48 on: 2008.December.15. 19:20:43 »
az eredeti csak 9 szektort fogadott el egy sávban
Az eredeti 10 szektort fogadott el!
Elég hamar ki is jött egy 800K-s formázó program (amit nem látok fent az ep128.hu-n, kénytelen leszek elõásni...), majd azt hiszem a Venus volt a következõ, ami 820-ra formázott. Ezután jött az EPDOS, ahol már be lehetett állítani a plusz sávok számát, ill. a szektor számot is 8-11-ig.
Viszont ekkor még nem mûködött a 11 szektoros lemez, Not a DOS disk hibával. Haluska Laci azt hitte, hogy fizikailag képtelen az EXDOS olvasni. Én viszont rájöttem, hogyha a boot szektorban átszerkesztem 10 szektorosra a lemezt, akkor mûködik. (Igaz lassan, ekkor jött az interleave ötlet, amirõl már a FAFO topicban beszéltünk)
Vagyis ha fizikailag olvassa, akkor valami ellenõrzés lesz...
Így is lett végül kiszúrtam, hogy hol is van ez a vizsgálat.
Ekkor lett a 11 szektoros változat, amiben ki lett javítva ez a szám, itt az EXDOS Help-be be is került, hogy 11 sector version by Zozosoft  :ds_icon_cheesygrin:
Turbósításnál lett elõször 13 szektoros, amit a sima DD-s lemezre lehetett rávésni, Lacika tapasztalatai alapján mondhatjuk, hogy az idõ próbáját is kiállta a dolog :-)
HD-s turbónál pedig 22 szektoros, ekkor lett a típusbájt vizsgálat is módosítva.

Most pedig itt az egész gyûjtemény 128 szektoros :-)
Dokumentáció jelleggel pedig a módosított bájtok helyei, elsõ a típusbájt, második a szektorszám:
0.3: 21B6,21F2
1.0: 2743,277C
1.2: 228E,22C7
1.3: 2073,20AC
2.0: 2296,22CF

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EXDOS
« Reply #49 on: 2008.December.15. 22:07:36 »
Most pedig itt az egész gyûjtemény 128 szektoros :-)
Dokumentáció jelleggel pedig a módosított bájtok helyei, elsõ a típusbájt, második a szektorszám:
0.3: 21B6,21F2
1.0: 2743,277C
1.2: 228E,22C7
1.3: 2073,20AC
2.0: 2296,22CF

A ROM csomagot lecseréljem ? Esetleg az ep128emu image csomagjában (disk.zip) vagy az ep128.hu-n az emulátor oldalon lehetne nagy méretű üres image is ?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXDOS
« Reply #50 on: 2008.December.15. 22:20:17 »
A ROM csomagot lecseréljem ? Esetleg az ep128emu image csomagjában (disk.zip) vagy az ep128.hu-n az emulátor oldalon lehetne nagy méretû üres image is ?
Szerintem mehet! Jó ez a kvázi vinyó :-)
Amúgy egy ilyen image fájlt viszonylag egyszerûen fel is lehet majd írni EP vinyóra. Visszafelé egy picit bonyolultabb, mert lehet, hogy nem jön ki kerek értékre mint "floppy lemez"... esetleg ha az emu úgy kezelné, hogy elfogadja az ilyen nem pont sáv végén végzõdõ image-t is, akkor nincs gond. (A nem létezõ szektorokra nyugodtan lehet Sector Not Found-ot adni, normál esetben úgyse fog arra járni az EXDOS, max csak Disk Editor használatával)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXDOS
« Reply #51 on: 2008.December.16. 18:28:07 »
Még két módosított EXDOS verzió, amelyek a sebességet javítják emulátor alatt.
Itt pontosan mi lett változtatva?

Offline Lacika

  • EP addict
  • *
  • Posts: 3218
  • Country: hu
    • http://www.ep128.hu
Re: EXDOS
« Reply #52 on: 2008.December.16. 18:35:00 »
Szerény véleményem szerint, előbb-utóbb hatalmas kavarodás lesz abból, ha nem az emulátort írjuk az Ep-hez, hanem az Ep programjait az emulátorhoz... :oops:

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EXDOS
« Reply #53 on: 2008.December.16. 18:51:59 »
Itt pontosan mi lett változtatva?

A szektor olvasást és írást végző ciklusok, bár sok más helyen lehetne például várakozásokat rövidíteni vagy törölni. Ezek a változások az eredeti EXDOS ED-s lemezt is elfogadó változatához képest. Amint látható, meghagytam azt, hogy írásnál a szektor vége után még egy byte-ot kiír :)
Az exdos13e.rom feltételezte az emulátornak azt a tulajdonságát, hogy a DRQ jel olvasás és írás közben mindig aktív, és a következő byte feldolgozását egyszerűen a Z80 port műveletei engedélyezik (tehát akár INIR/OTIR utasítást is lehetne használni). Az első változat csak optimalizálva volt erre az esetre, de még "szabályosan" figyelembe vette a DRQ jelet.

Code: Diff
  1. --- exdos13.s   2008-12-16 18:41:42.000000000 +0100
  2. +++ exdos13f.s  2008-12-16 18:40:52.000000000 +0100
  3. @@ -4711,13 +4711,13 @@
  4.  .   DE60  ED 78        IN    A, (C)
  5.  .   DE62  F2 4A DE     JP    P, DE4A
  6. -.   DE65  0D           DEC   C
  7. -.   DE66  ED 78        IN    A, (C)
  8. -.   DE68  77           LD    (HL), A
  9. -.   DE69  23           INC   HL
  10. -.   DE6A  0C           INC   C
  11. -.   DE6B  ED 78        IN    A, (C)
  12. -.   DE6D  E6 82        AND   82
  13. -.   DE6F  28 FA        JR    Z, DE6B
  14. -.   DE71  FA 65 DE     JP    M, DE65
  15. +.   DE65  C5           PUSH  BC
  16. +.   DE66  0D           DEC   C
  17. +.   DE67  16 82        LD    D, 82
  18. +.   DE69  ED A2        INI
  19. +.   DE6B  DB 18        IN    A, (18)
  20. +.   DE6D  A2           AND   D
  21. +.   DE6E  FA 69 DE     JP    M, DE69
  22. +.   DE71  28 F8        JR    Z, DE6B
  23. +.   DE73  C1           POP   BC
  24.  .   DE74  18 6A        JR    DEE0
  25.  .   DE76  3E A8        LD    A, A8
  26. @@ -4740,14 +4740,13 @@
  27.  .   DE97  18 F0        JR    DE89
  28.  .   DE99  0D           DEC   C
  29. -.   DE9A  59           LD    E, C
  30. -.   DE9B  0C           INC   C
  31. -.   DE9C  56           LD    D, (HL)
  32. -.   DE9D  23           INC   HL
  33. -.   DE9E  ED 78        IN    A, (C)
  34. -.   DEA0  E6 82        AND   82
  35. -.   DEA2  28 FA        JR    Z, DE9E
  36. -.   DEA4  4B           LD    C, E
  37. -.   DEA5  ED 51        OUT   (C), D
  38. -.   DEA7  FA 9B DE     JP    M, DE9B
  39. +.   DE9A  58           LD    E, B
  40. +.   DE9B  16 82        LD    D, 82
  41. +.   DE9D  ED A3        OUTI
  42. +.   DE9F  DB 18        IN    A, (18)
  43. +.   DEA1  A2           AND   D
  44. +.   DEA2  FA 9D DE     JP    M, DE9D
  45. +.   DEA5  28 F8        JR    Z, DE9F
  46. +.   DEA7  ED A3        OUTI
  47. +.   DEA9  43           LD    B, E
  48.  .   DEAA  0C           INC   C
  49.  .   DEAB  2B           DEC   HL
  50. @@ -5032,5 +5031,5 @@
  51.  .   E0A8  20 12        JR    NZ, E0BC
  52.  .   E0AA  3D           DEC   A
  53. -.   E0AB  FE 2A        CP    2A
  54. +.   E0AB  FE 80        CP    80
  55.  .   E0AD  30 0D        JR    NC, E0BC
  56.  .   E0AF  56           LD    D, (HL)
  57.  
  58. --- exdos13.s   2008-12-16 18:41:42.000000000 +0100
  59. +++ exdos13e.s  2008-12-16 18:41:00.000000000 +0100
  60. @@ -4711,13 +4711,13 @@
  61.  .   DE60  ED 78        IN    A, (C)
  62.  .   DE62  F2 4A DE     JP    P, DE4A
  63. -.   DE65  0D           DEC   C
  64. -.   DE66  ED 78        IN    A, (C)
  65. -.   DE68  77           LD    (HL), A
  66. -.   DE69  23           INC   HL
  67. -.   DE6A  0C           INC   C
  68. -.   DE6B  ED 78        IN    A, (C)
  69. -.   DE6D  E6 82        AND   82
  70. -.   DE6F  28 FA        JR    Z, DE6B
  71. -.   DE71  FA 65 DE     JP    M, DE65
  72. +.   DE65  C5           PUSH  BC
  73. +.   DE66  0D           DEC   C
  74. +.   DE67  16 82        LD    D, 82
  75. +.   DE69  ED A2        INI
  76. +.   DE6B  ED A2        INI
  77. +.   DE6D  DB 18        IN    A, (18)
  78. +.   DE6F  A2           AND   D
  79. +.   DE70  FA 69 DE     JP    M, DE69
  80. +.   DE73  C1           POP   BC
  81.  .   DE74  18 6A        JR    DEE0
  82.  .   DE76  3E A8        LD    A, A8
  83. @@ -4740,14 +4740,13 @@
  84.  .   DE97  18 F0        JR    DE89
  85.  .   DE99  0D           DEC   C
  86. -.   DE9A  59           LD    E, C
  87. -.   DE9B  0C           INC   C
  88. -.   DE9C  56           LD    D, (HL)
  89. -.   DE9D  23           INC   HL
  90. -.   DE9E  ED 78        IN    A, (C)
  91. -.   DEA0  E6 82        AND   82
  92. -.   DEA2  28 FA        JR    Z, DE9E
  93. -.   DEA4  4B           LD    C, E
  94. -.   DEA5  ED 51        OUT   (C), D
  95. -.   DEA7  FA 9B DE     JP    M, DE9B
  96. +.   DE9A  58           LD    E, B
  97. +.   DE9B  16 82        LD    D, 82
  98. +.   DE9D  ED A3        OUTI
  99. +.   DE9F  ED A3        OUTI
  100. +.   DEA1  DB 18        IN    A, (18)
  101. +.   DEA3  A2           AND   D
  102. +.   DEA4  FA 9D DE     JP    M, DE9D
  103. +.   DEA7  ED A3        OUTI
  104. +.   DEA9  43           LD    B, E
  105.  .   DEAA  0C           INC   C
  106.  .   DEAB  2B           DEC   HL
  107. @@ -5032,5 +5031,5 @@
  108.  .   E0A8  20 12        JR    NZ, E0BC
  109.  .   E0AA  3D           DEC   A
  110. -.   E0AB  FE 2A        CP    2A
  111. +.   E0AB  FE 80        CP    80
  112.  .   E0AD  30 0D        JR    NC, E0BC
  113.  .   E0AF  56           LD    D, (HL)
  114.  
« Last Edit: 2008.December.16. 19:16:31 by IstvanV »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXDOS
« Reply #54 on: 2008.December.16. 19:23:40 »
A szektor olvasást és írást végzõ ciklusok, bár sok más helyen lehetne például várakozásokat rövidíteni vagy törölni.
Mindenesetre jó, hogy ilyenekbe beleásod magad! Ami érdekes kérdés: vajon fel lehetne-e úgy gyorsítani az EXDOS rutinok mûködését, hogy alap 4 Mhz-es gép tudja a 16 Mhz-es WD-t követni, azaz HD-s lemezt olvasni?

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: EXDOS
« Reply #55 on: 2008.December.16. 22:01:26 »
Szerény véleményem szerint, elõbb-utóbb hatalmas kavarodás lesz abból, ha nem az emulátort írjuk az Ep-hez, hanem az Ep programjait az emulátorhoz... :oops:
Egyetértek.  ;-)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXDOS
« Reply #56 on: 2009.January.07. 23:32:24 »
Mindenesetre az összeset párhuzamosan kell disassemblálni, és akkor okosabbak leszünk :-)
Na úgy látom senki más nem vetette rá magát a témára  :oops: így akkor neki estem én, pár dolog már kiderült.
A 0.3-as tényleg a legkorábbi, valószínüleg azért ismeri ez a legtöbb parancsot, mert késõbb ahogy nõt a kód mérete, egyes kevésbé lényeges parancsokat kihagytak (kár, hogy az ATTR is ide jutott...), úgy tünik nagyon ragaszkodtak a 16K-s ROM mérethez, pedig a gyári EXDOS kártyán is ott a jumper 32K-s ROM beállításhoz. A kimaradt utasítások az ISDOS-ba költöztek.
Itt még sok dolog nagyon eltérõ, az EPDOS el is száll ezzel a verzióval (az alaposan belekotorászik az EXDOS RAM területébe)
A hibaüzenetek már tömörítve vannak, de a több más szót (file, disk, stb) tartalmazó szintén tömörített tábla még külön van. Sok szöveg tömörítettlen.
A "file cannot be copied onto itself" hiba még nem létezik, simán el is végzi a mûveletet.

Az 1.0-ás a gyári EXDOS kártyák verziója, a kód már erõsen hasonlít az újabb verziókra, de vannak még eltérések, pl memóriakezelésben, Haluska Laci írta is a FISH cikkben, hogy 1.0 esetén nem lehet a verem a 0. lapon FISH hívás esetén.
Ami még szembetünõ, hogy "darabra" meg van minden ami az újabban van, de sok helyen más sorrendben vannak összepakolva a szubrutinok.
A hibaüzenetek és szinte minden egyéb szöveg már egy egységes tömörített táblában vannak. Érdekes, hogy valószínüleg a tömörítés jobb hatásfoka érdekében a szöveg eleji nagybetûket kicsire cserélték, utólag nagybetûsíti a rendszer.
Itt már kialakult a végleges parancs és hibaüzenet készlet.

Az 1.2 korábban számunkra ismeretlen volt. Ez már tekinthetõ a (jelenleg ismert) végleges változatnak, ezen alapul az általunk legjobban ismert 1.3-as változat, amelyet a németek követtek el: a szöveg kezelés lett átalakítva kétnyelvûre, emiatt hizott 32K-sra a ROM. Mivel itt aztán bõven volt hely, a szövegek már nem tömörítve vannak tárolva. Kétnyelvûség miatt a Retry/Abort/ignore rutinban is átalakítva a billentyûzet kezelés.
Ez az angol-német változat a gyári EP floppyba építve került forgalomba.
Egyelõre ismeretlen magyar illetõ meglátva a sok üres helyet a ROM-ban, nekiállt kibõvíteni: bekerült az IS-DOS a ROM-ba, ill. a korábban kimaradt parancsokból 4: ATTR, ATDIR, ASSIGN, MAPDISK, valamint a német üzenetek HUN-osra lettek cserélve.
Ez eredeti 1.3-as ROM-ban ezért a parancstáblázat átkerült a ROM végére kibõvítve, és az üresen maradt helyre került a plusz utasítások rutinja, amelyik a másik szegmenst hívják meg, ténylegesen ott található a végrehajtó kód.
Ebben a verzióban még nincs benne a HELP listában az IS-DOS, és mint kiderült hibás is: nem mûködött a gyors videókezelõ.
Ezt a verziót szerkesztettem én újra: egyrészt a hibasüzenetek közé bekerült pár, amire eredetileg nem tartalmazott üzenetet a ROM, az IS-DOS pedig újra berakva a lemezes IS-DOS.SYS-bõl kiindulva, és a HELP listába is bekerült az ISDOS. Továbbá az EXDOS inicializációs rutinjába bekerült a 73-as EXOS változó, azaz a fejléptetés sebességének állítása, mivel WD1772-es esetén ezt 3-asra érdemes állítani, a gyorsabb, csendesebb mûködés érdekében, a ROM fájl 3F99 címén lehet az alapértelmezést beállítani.

És végül van még a nagyon érdekesnek hangzó 2.0-ás változat. Ez sajnos semmilyen forradalmi újdonságot nem tartalmaz, mindössze 8 bájttal több mint az 1.2-es. Ha jól néztem a WD port kezelésnél lettek egyes várakozások jelentõsen megnövelve.
Most kipróbáltam valódi gépen, és azt tapasztaltam, hogy ennek következtében véletlenszerûen, de rendszeresen kiakad Data error hibával! Disk Editorban nézve 1 bájttal elcsúszik ilyenkor a beolvasott adat. Viszont ha a gépet 6 Mhz-re kapcsolom, akkor hibátlanul mûködik! Lehetséges, hogy az új "szuper EP" számára készült ez a változat?
És ott van az a 4.0, amirõl csak annyit tudunk, hogy Kopácsyék azzal formázták az ISDOS lemezeket...

Offline Ep128

  • EP addict
  • *
  • Posts: 1860
  • Country: hu
    • Honlapom
Re: EXDOS
« Reply #57 on: 2009.January.07. 23:58:02 »
És ott van az a 4.0, amirõl csak annyit tudunk, hogy Kopácsyék azzal formázták az ISDOS lemezeket...
... és azt örökké bánni fogom, hogy nem tudtam kihúzni belõle errõl részleteket!
Lehet, hogy 1x mégis újra meg kellene támadni, de az már (sajnos) nem én leszek...

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: EXDOS
« Reply #58 on: 2009.January.10. 22:20:00 »
Ugye emlékeztek még a ROMDISK programocskára? Amivel elõször sikerül új, saját meghajtót csatlakoztatnia rendszerhez.
Most a további visszafejtéssel sikerült egy új módszert találni, így nem csak hidegindításkor, hanem akármikor tudunk meghajtót beláncolni! Az eddig ismeretlen 24-es FISH hívással.
Ugye tudjátok ez mit jelent? :-)
Már csak az ellentétére kéne rájönni.
Itt egy ilyen ROMDISK, benne a Smalldemo-val :-) (igaz ep128emu-val csak az elsõ részig megy, mert nem kezel 64K-nál nagyobb ROM-ot :-( EP32-vel megy az egész.)
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]

Offline Ep128

  • EP addict
  • *
  • Posts: 1860
  • Country: hu
    • Honlapom
Re: EXDOS
« Reply #59 on: 2009.January.10. 23:33:21 »
Remek!  :) "Pen Drive" Ep -hez? :-D
Lassan tényleg hihetetlen, amit az elmúlt években összehoztok!  :smt023