DonNews
#08
05 июля 1999 |
|
NEOS - NEOS о глюках и не только.
────────────────────────────────────────── (c) Disabler/Omega Hackers Group NeOS v1.0 О глюках и не только... Для тех, кто не знает NeOS - это новая операционная система, которая, в отличии от IS-DOS, работая полностью через драйвера, не тормозит! Итак, с вами Disabler, и я поведаю то, что смог узнать за неделю работы с NeOS. NeOS прошивается в пзу вместо Basic 128 или, при наличии Cashe16k, можно в него, но прийдется поставить дополнительно две микрухи, для эмуляции пзу (схема ниже). После нажатия Reset вы попадете в меню NeOS, где есть следующие пункты: NeOS v1.0 Tr-Dos 128 Tr-Dos 48 128 Basic 48 Basic Первый пункт - вход в NeOS, если в дисководе будет диск, и его принадлежность к какой-либо дисковой системе будет определена, на нем NeOS будет искать файл: "neosboot.cnp". Если файл будет найден, то он автоматически загрузится и выполнится. Остальные пункты не являются чем-то новым, за исключением того, что при выборе 128 Basic, вы оказываетесь в обычном 48om Basic'е с открытым портом #7FFD. Внешне NeOS немного напоминает Must Die Operation System (Ms-Dos), а вообще первое впечатление очень приятное. Ну а теперь, как положенно, немного о глюках: - Приведу маленький пример последовательности действий: 1.Вхожу в NeOS 2.load sts6_2.c; загружаю STS6.2 3.exit; выхожу из NeOS 4.Вхожу в NeOS Эффект - автозагрузка и запуск sts6_2.c - В самом NeOS есть встроенный драйвер для работы с is-dos'ом, но при этом авторы не учли один момент: буффер для дисковых операций = 512байт, с адреса #5B00; с адреса #5D00 распологаются различные переменные; при чтении сектора с is-dos диска (кстати его длинна = 1024байта) происходит затирание переменных, и как следствие (в лучшем случае) сброс. - Не читаются файлы длинной <= 256байт. Вернее они читаются в буфер, но не перебрасываются в память. - По команде "Ram" не переключается память (Ram всегда = 7). - На пзу с бэйсиком 91-го года, иногда не срабатывает выход в бэйсик. - Если перейти на несуществующий диск, например "Drive D", система немного виснет совсем.:) А вообще, несмотря на все это NeOS мне очень понравилась, и я буду рад всячески поддерживать авторов, в смысле написания программ под NeOS. Да, чуть не забыл нарисовать схемку. Суть ее заключается в том, что Cashe включается/выключается не при чтении из портов #FB/#7B, а сбросом/установкой бита #04 порта #7FFD (бит переключекия пзу). 15┌───┬────┬───┐ ┌──■DE │к555│ │ ┴ 1│ │ │ │ \Select\─────────┤A/B│кп11│ │4 ┌───┐ 2├───┤ │ Y0├─\new_d\ \bit4_fd\─┤=1 ■──┤A0 │ │ │ ├───┤ 5│ │ │ │ \sel_fd\──┤=1 ■──┤A1 │ │ │7 └───┘ 3├───┤ │ Y1├─\new_c\ \old_d\──────────┤B0 │ │ │ 6│ │ │ │ \old_c\──────────┤B1 │ │ │ └───┴────┴───┘ Что от куда брать и куда подавать? Все довольно просто! Данная доработка расчитана расчитана на схему от В.М.Г. для подключения Cashe. Select - переключение режима включения и выключения cashe, +5 - стандартное, земля - эмуляция пзу, с basic 128. bit4_fd - можно взять с 27ой ноги пзу, если у вас две пзу, одна с tr-dos, а творая собственно с бэйсиками, или выхода 12 микросхемы TM9 (обычно именно она используется в качестве порта #FD). sel_fd - нога 9 той-же ТМ9. old_d, old_c. Отрезать от ТМ2 на схеме cashe ноги 2 и 3 соответственно. То, что раньше шло на них, и есть сигналы old. new_d, new_c. После отрезания от ног TM2 сами обрубки ног и будут этими сигналами. Еще замечу, что сигналы bit4_fd и sel_fd необходимо инвертировать, при помощи, например, ЛН1. Вот, пожалуй, и все, что я могу сказать по данному вопросу. Кстати, если у кого есть soft под NeOS, обращайтесь по адресам редакции.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября