Hello All !
  Люди! По поводу резидентов на Паскале могу дать пару советов.
1. Писать их можно не хуже, чем на Си (хотя "настоящие профессионалы"
предпочитают Ассемблер, но  попробуйте  сваять 100-200k монстра со свопингом
в EMS/XMS/HDD), только надо точно  знать,  что  при  этом происходит как в
системе, так и в Паскале, и не по-наслышке,  а  все на собственном опыте
проверив.
2. Слушай других, и делай по-своему (глобальный принцип).
В частности, зачем  использовать Keep(ExitCode),  наживая  проблемы
с выгрузкой резидента  и его отладкой, когда есть Exec(Path,CmdLine).
Попробуйте нижепришитый исходник - его же можно
ОТЛАЖИВАТЬ ПРЯМО В СРЕДЕ !
  Ремарк к исходнику:
    IntRegisters заимствовано из Turbo Professional 4.0;
    Pardon для поклонников Асма за оформление Proc CallInt -
           стиль у меня такой :);
    а вообще, прог этот для хохмы блокирует открытие сишных манускриптов.
    Такой вот скрытый намек...
    А велики ли системные издержки за удовольствие  писать на Паскале ?
  Всего 7Kb в памяти вместе со стеком (2Kb) и клочком из DOS.TPU
(и то, и другое можно хэкерскими приемами урезать) - ну, если и не драйвер
клавиатуры/дисплея, конечно, но что посерьезнее можно на  Asm  даже и не
переписывать (к тем, кто на ASMе пишет быстрее, чем PASСALе, это не относится
- им PAS вовсе ненужен).
  Это, понятно, почти голая идея, так что до(пере)писывайте сами. Могу так же
бесплатно поделиться  организацией  многозадачности внутри  паскалевской
программы  с  динамическим   старт/стопом процессов  (вроде Модулы), обработкой
исключений   (в смысле exeption, как в C++), системным драйвером (типа SYS, для
Config) и много чем еще. Пишите письма, кому надо и не надо, и кто не верит, что
на Пасе пишется все, что угодно, из того что может Си. Все это работает на BP
7.0 (наверное и на TP 4.0 ?).
      Cincerelly yours
                      Lion.
       Good luck ! Lion.
       Data,Fax - 846-256-1948 - CM
       Voice    - 846-256-1815 - 11-20 Msk
--- GoldED 2.42.G1218+
 * Origin:  , Russia, SamaraMedNet  (FidoNet 2:5057/4.10)  
 |