deCOMpozytor
Program w języku Action! po skompilowaniu i zapisaniu do pliku wykonywalnego typu COM działa zazwyczaj bez problemów w systemach typu Atari DOS i pochodnych. Może się jednak zdarzyć że ten sam program uruchomiony w środowisku Sparta Dos X zawiesi komputer przy próbie powrotu do systemu. Rozwiązaniem prostym jest dodanie na końcu programu w Action! rozkazu skoku, chociażby w taki oto sposób:
Jest to rozwiązanie skuteczne, ale do wykorzystania dopiero w końcowej fazie pisania programu – kiedy program jest już gotowy do finalnej kompilacji. Natomiast w trakcie testowania programu i ciągłej potrzebie powrotu do monitora Action! taki wpis trzeba będzie zmieniać w kodzie w komentarz.
Kompilator Action! konstruuje i zapisuje skompilowany plik typu COM w sposób taki, że na końcu pliku tworzy segment typu INI i ustawia tam adres wejścia do głównej czyli ostatniej w programie procedury. Przy takim konstrukcie nie zawsze działa poprawnie powrót do systemu Sparta Dos X, mimo że logicznie program kończy się rozkazem powrotu – RTS. Tak więc ręczna modyfikacja wymaga ingerencji w już utworzony plik COM – otwarcia pliku w jakimś edytorze plikowym/dyskowym, odnalezienia bajtów segmentu INI, edycji i ponownego zapisania.
Program pomocniczy 'DECOM.EXE’ sprowadza te czynności do minimum. Został prototypowany w języku Turbo Basic XL i napisany dla systemu Sparta Dos X. Najlepiej umieścić DECOM.EXE w zasięgu działania zmiennej systemowej PATH systemu SDX. Od teraz wywołanie programu uruchomi ekran główny. Przy pytaniu o nazwę pliku podajemy jedynie nazwę, rozszerzenie COM zostanie dodane automatycznie:
Po otwarciu pliku, przy pomocy klawiszy:
- można zmienić bajty nagłówka pliku COM z FFFF na FFFA lub na odwrót
- zmienić typ segmentu z INI na RUN lub na odwrót
- z braku czasu wykonać czynność pierwszą i drugą naraz lub na odwrót
- dowolnym innym klawiszem powrócić do SDX
Owocnego deCOMponowania plików 🙂
Biblioteka: