Обновление сайта АТМ:
30.06.2019 года
==============
Процесс создания нового, принципиально нового дистрибутива ОС TASiS v5.40 (как под ATM-turbo 2+ так и под ZX-Evolution) подходит к концу. Точнее, он уже готов. Сейчас ведется работа над созданием автоматической системы инсталляции системы на винчестер. Чтобы как у всяких майрософтов и эпплов - ткнул в окошке пару параметров, а затем расслабился и наблюдаешь за прогресс-баром, а система все сама расставляет по подкаталогам и прописывает загрузчики.В общем, речь идет про "установку искаропки". Работы еще осталось на некоторое время. А во время нее в процессе эксплуатации мной же написанных утилит обнаруживаются различные баги и недочеты, которые я оперативно исправляю. И сегодня я выкладываю обновленную версию просмотрщика ANSI-графики - ANSIVIEW v1.04. Качайте и обязательно заменяйте (файл в файл) старый на новый:
http://atmturbo.nedopc.com/download/...w/ansiview.ipc
Что изменилось:
Убит даже не баг, а недостаток: так как утилита работает с адреса #4000/#4100 (хотя для совместимости с iS-DOS и стартует с 24000dec, но потом переносится вниз, в область неиспользуемого в TASiS ZX-экрана), а затем всю остальную память вплоть до начала ядра ОС использует под загрузку выводимого текста, она затирает т.н. "спектрумовский буфер принтера", лежащий в 256 байтах по адресу 23296dec(#5B00) между концом области ZX-экрана и началом переменных Бейсика-48. Командные файлы iS-DOS могут иметь любой стартовый адрес. Но, как правило, стартуют все же с адресов около 24000 или чуток повыше - т.е. сразу после блока системных переменных бейсика. Хотя в TASiS эти переменные не нужны от слова совсем (хотя в iS-DOS Classic без них - никуда). Но некоторые маленькие программки могут втиснуться в этот буфер. Прежде всего - это файл exebat.com - отвечающий за работу скриптованных BAT-файлов. И вот наша утилита в таком случае его затирает, что приводит к зависанию системы после отработки вывода ANSI и попытке продолжить работу BAT-файла.
До сих пор это было не страшно, так как OS TASiS давно отказался от использования в этих целях утилиты exebat.com, заменив ее на аналогичный bat.res, который является резидентом, а значит постоянно "висит" не вниху,а вверху, в ядре системы, а значит никак не затирается.
Но оказывается, при загрузке TASiS с флоппи-диска (именно с флопа - с винта IDE-загрузчик обращается к резиденту bat.res, и там все нормально) флоп-автозагрузчик применяет старый, "дедовский" способ вызова autoexec.bat через exebat.com, в итоге система виснет, если в autoexec.bat прописать вызов ANSI-просмотрщика, например, для вывода стартовой заставки. Что ж, есть вызов - есть и ответ. Раз exebat.com хоть иногда, но все еще актуален при работе данной утилиты, то я снова взялся за ассемблер. Теперь при старте утилита новой версии v1.04 сохраняет 256 байтов буфера и восстанавливает на выходе.
БИНГО. И до скорых встреч.






Ответить с цитированием