Autor ::Jakub Ladman Poslaná :: 17.08.2013 09:37:09 Predmet ::Re: jak získat programy v čistě binární formě?
Ach jo
Já tyhle speciální loadery vždycky nenáviděl.
Na spectru to často znamenalo, že se loader bude pokoušet o vyšší rychlost, neboli větší šanci že se program nenahraje. Na MZ-800 zase, že program není přenositelný na disketu.
A tady zase průser.
S obtížemi a pomalu přečtu stroják i8080, ale rutiny monitoru pochopitelně vůbec neznám :-(
A že bych to tedy opravdu převést chtěl, když už jsem včera vychytal způsob, jak data po přiměřených částech přenést po sériovce, potom přes sériovku nastavit parametry pro rutiny KZD-1 a přímo přes sériovku odstartovat zápis bloku na kazetu. Jen chybí odstranit předgenerování do souborů (k použití v terminálu) a místo toho otevírat rovnou sériovku ve vlastním programu.
Tu možnost exportu surových dat z emulátoru jsem našel. V linuxové verzi ta nabídka je vyšedlá, neaktivní, tak jsem musel spustit win emulátor pod wine (nezobrazuje obrázky na tlačítkách, nevím jestli mám optimální verzi).
Nejdou podobně dostat programy z disketových image? Ty by snad měl driver disketovky natáhnout rovnou na své místo, ne?
Správa
Autor ::Roman Bórik Poslaná :: 17.08.2013 10:41:51 Predmet ::Re: jak získat programy v čistě binární formě?
Tá možnosť s obrazmi diskiet mi samozrejme napadla tiež, ale nechcel som to hneď rozpisovať...
Hry na obrazoch diskov P32 sú upravené tak, aby sa dali spusti pod CP/M cez program Runner. Samozrejme, na disketách sú už všetky hlavné bloky čisté, takže to možno využiť.
Na extrahovanie jednotlivých súborov z obrazov diskov treba použiť utilitu CP/M Image Manager, ktorá je aj pre Linux.
- každý program má svoj INF súbor, ktorý popisuje, čo a kam sa má nahrať do pamäte
- pre jednoduchosť treba obrázky ignorovať (príkaz PICTURE), zaujíma nás teda až to, čo je za prípadným obrázkom
- najdôležitejší je príkaz FILE, ktorý nahraje uvedený súbor na danú adresu
- príkazy POKE sa môžu v drvivej väčšine ignorovať, pretože modifikujú program kvôli disketovke alebo Joysticku, ale nemusí to byť vždy tak
- príkaz JUMP určuje adresu spustenia programu
- príkaz MONIT určuje, ktorý Monitor je nutný pre beh programu. Ak je tam MONITOR 1, tak tento program na PMD 85-2A nebude korektne fungovať. Musí tam byť buď 2 alebo môže príkaz MONITOR úplne chýbať