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
í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...