Protože jsem trochu zabýval Betadiskem, pokusil jsem převést tyto dvě ruské hry (určeny výhradně pro Betadisk, tj. TR-DOS) na MDOS. Ono mě totiž zajímalo, zda je možné vzít image TR-DOS diskety (655 360 bytes), nakopírovat ho jako soubor na MDOS disketu a s minimálními zásahy do originálního kódu hry to celé zprovoznit. Idea byla, že najdu místo, kde se ve hře volá služba TR-DOSu a nahradím to tam vlastní hezkou instrukcí (rst 0 + JP nekam). No a na celé I/O bych pak naprogramoval krátkou rutinu (vyhodnocení služby bety, čtení, zápis sektoru), kterou bych umístil do SRAM D40/80... Teoreticky jsem to tedy měl vymyšlené hezky :), praxe ale ukázala, že vždy záleží na konkrétním kódu hry, resp. co všechno z TR-DOSu se ve hře volá a taky jak se to volá. UFO 2 bylo celkem v pohodě, tam si autor vystačil pouze s čtením/zápisem jednoho sektoru a v jeho kódu jsem to nemusel ani složitě hledat. UFO 1 už byl ovšem oříšek, tam jsem se nestačil divit, jaké praktiky je člověk schopen použít k tomu, aby zkrátil (či zamaskoval ?) svůj kód.

Každopádně převést se mi obě hry podařilo :). Má to ale jen jednu nepatrnou vadu na kráse. Je možné to použít pouze s (div)IDE zařízením, tj. MDOS 2.1 nebo MDOS3. Důvod je ten, že disketa v mechanice by se stále točila (LED by nepřetržitě svítila). Betadisk zřejmě vypíná mechaniku po určité době nečinnosti automaticky sám, protože softwarově se to vůbec neřeší (stejně jako u divIDE).  

 

 

 

ufo-1 (c) 1995 Slava Mednonogov (crack Denis Kopylcov - Digital reality)

 

 

 

ufo-2 (c) 1996 Slava Mednonogov (crack Unknown hacker, korekce Kvant soft)