És, hogy miért is hoztam fel az előbbi cuccot?
Azért mert rá akarom venni Lgb-t, hogy írjon egy hasonlót, modern kiadásban
A történet ott kezdődik, hogy az EXOS, EXDOS, IS-DOS mint Microsoft Macro-80 Assemblerben készült (CP/M alatt M80.Com és L80.COM).
Ebben olyan bonyolult szintaktikák vannak, hogy nyugodtan nevezhetjük külön programnyelvnek, az IS fiúk lehetőségeket maximálisan kihasználták.
EP-n ISDOS alatt sikerült is lefordítani ezeket, de valami förtelmesen lassúak, még 3000%-on futó emulátorral, és RAMDISK használattal is jó pár percig tart egy fordítás.
Valódi gépen valószínűleg több óra is lenne (majd egyszer lemérem

). Van olyan rész, ahol commentben bele is van írva, hogy csak ez a fájl 20 percig fog tartani.
Néztem, de ezeknek a programoknak nem készült PC-s verziója, a PC-s Microsoft Macro Assembler csak x86-ot tud.
Sőt nagyon úgy tűnik akkoriban egyáltalán nem volt PC-s Z80 assembler, ezért is vesződtek Brucék PC-s Z80 kártyákkal, amin mivel valódi Z80-on futott a cucc, pont olyan lassan futott mint ahogy most EP-n.
A németeknek/magyaroknak meg nem futotta Z80-as kártyára, ezért volt ez a szoftveres CP/M emuláló dolog. (Mondjuk az is érdekes kérdés, hogy egy 4.77 MHz-es XT-n futó emulált Z80 milyen gyors lehet...) Mondjuk ők teljes fordítást nem is csináltak, csak kisebb részeket.
Most az IS-DOS alatti fordítással az a baj, hogy FILE: nem használható, mindent rá kell tenni floppy image-re. Onnan aztán be a RAMDISK-be, meg a végén ki a RAMDISK-ből. És még így is bazi lassú, hiába a 2-3000%-os emulátor sebesség.
Az előbbi CP/M emulátorral meg az a baj, hogy mai x64-es Windowsok alatt nem fut, csak DOSBOX-ban, ez is macerás, meg lassú. De a legnagyobb gond, hogy valahogy nem tökéletesen működik az L80 vele, nem bírja az EXDOS-t összerakni, mert kb az 5. fájlnál kiakad, hogy nincs ilyen file... gyanítom, hogy túl kevés megnyitott fájlt tud kezelni a CP/M emuláció.
Itt jön a kérés Lgb-hez
Tudnál-e olyan lebutított XEP128-at csinálni, ami alkalmas az M80 és L80 futtatására:
-Z80 emuláció mindenféle időzítés nélkül, fusson olyan gyorsan ahogy csak bír
-64K CP/M memória kell, pár CP/M változó beállításával
-program betöltve 100h-ra, ha 0000h-ra lép az kilépés. 0005h-ös BDOS hívásokat kell trapolni, és emulálni
-hívások: írás karakteres képernyőre, billentyűzet olvasás, fájl megnyitás/lezárás/törlés, szekvenciális írás/olvasás 128 bájtos blokkokban (Az M80-ban, majd még az L80-at is megnézem, van-e valami extra még)
-a parancssor CP/M-es része átmásolva 0080h-00FFh-ra, hosszbájttal.
-Windowsos parancssoros EXE, képernyőre kiírás simán csak a "DOS" ablakban