Funeral #01
12 февраля 1999
  Софт  

Система - обзор операционной системы NeOS.

<b>Система</b> - обзор операционной системы NeOS.


                                          
    Стандарты на функции драйверов различных типов устройств:   
                                          
Disk Systems (#00):                                             
                                          
    #00. Identify Disk:                                         
      Определение принадлежности диска данной системе.          
      Вход: -                                                   
      Выход: A=0 - диск принадлежит системе                     
             A<>0 - диск не принадлежит системе                 
                                          
    #01. Set system uariables:                                  
      Установка   системных   переменных  для  работы  c  данной
      системой                                                  
      Вход: -                                                   
      Выход: -                                                  
                                          
    #02. Open File:                                             
      Открытие файла для работы (запись/чтение).                
      Вход: IX - описатель файла                                
      Выход: A=0 - файл открыт, A<>0 - ошибка при открытии      
                                          
    #03. Close File:                                            
      Закрытие файла, дозапись еще на записанных данных.        
      Вход: IX - описатель файла                                
      Выход: A - статус                                         
                                          
    #04. Create File:                                           
      Создание файла c нулевой длиной.                          
      Вход: HL - указатель на имя файла                         
      Выход: A=0 - файл создан                                  
             A<>0 - файл не создан                              
                                          
    #05. Read N Bytes:                                          
      Чтение последовательности байт из файла.                  
      Вход: IX - описатель файла                                
            ВС - длина последовательности                       
            HL - адрес загрузки                                 
      Выход: -                                                  
                                          
    #0б. Write N Bytes:                                         
      Запись последовательности байт в файл.                    
      Вход: IX - описатель файла                                
            ВС - длина последовательности                       
            HL - адрес записи                                   
      Выход: -                                                  
                                          
    #07. Set Offset:                                            
      Установка позиции в файле.                                
      Вход: IX - описатель файла                                
            ВС - позиция                                        
            Е - способ позиционирования: 0 - от начала,         
                1 - прибавление к текущей                       
      Выход: A=0 - все ОК                                       
             A=1 - нет такой позиции (файл короткий)            
                                          
    #08. Delete File:                                           
      Удаление файла (принимает во внимание флаг Read Only).    
      Вход: HL - имя файла                                      
      Выход: A=0 - файл удален                                  
             A=1 - нет такого файла                             
             A=2 - Read-Only                                    
                                          
    #09. Set File Attributes:                                   
      Установка аттрибутов файла.                               
      Вход: HL - имя файла                                      
            C - аттрибуты                                       
      Выход: A=0 - все ОК                                       
             A=1 - нет такого файла                             
             A=2 - невозможно установить аттрибуты              
                                          
    #0A. Create Directory:                                      
      Создание пoддиpектopии.                                   
      Вход: HL - имя директории                                 
      Выход: A=0 - все ОК                                       
             A=1 - нет места в директории                       
             A=2 - невозможно создать директорию                
                                          
    #0В. Delete Directory:                                      
      Удаление пустой пoддиpектopии.                            
      Вход: HL - имя директории                                 
      Выход: A=0 - все ОК                                       
             A=1 - нет такой директории                         
             A=2 - невозможно удалить директорию                
                                          
    #0C. Change directory:                                      
      Установка текущей директории.                             
      Вход: HL - имя директории                                 
      Выход: A=0 - все ОК                                       
             A=1 - нет такой директории                         
             A=2 - невозможно поменять директорию               
                                          
    #0D. Get File Number:                                       
      Получение номера файла в каталоге по его имени.           
      Вход: HL - имя файла                                      
      Выход: A=#FF - нет  такого  файла,  остальные значения A -
             номер файла                                        
                                          
    #0Е. Get Catalogue Cell:                                    
      Получение информации o файле по его номеру в каталоге     
      (в формате описателя файла)                               
      Вход: C - номер файла                                     
            HL - адрес, куда помещать инфо                      
      Выход: -                                                  
                                          
    #0F. Read N sectors:                                        
      Чтение определенного числа секторов.                      
      Вход: HL - адрес загрузки                                 
            В - количество секторов                             
            DE - номер начального блока                         
            C - номер сектора в блоке                           
      Выход: A=0 - все ОК                                       
             A=1 - несуществующий блок                          
             A=2 - некорректный номер сектора                   
             DE - номер блока после чтения                      
             HL - адрес после чтения                            
             C - номер сектора в блоке                          
                                          
    #10. Write N sectors:                                       
      Запись определенного числа секторов.                      
      Вход: HL - адрес загрузки                                 
            В - количество секторов                             
            DE - номер начального блока                         
            C - номер сектора в блоке                           
      Выход: A - статус (аналогично Read sectors)               
             DE - номер блока после записи                      
             HL - адрес после записи                            
             C - номер сектора в блоке                          
                                          
    #11. Reread FAT buffer:                                     
      Обновить буфер FAT.                                       
      Вход: -                                                   
      Выход: -                                                  
                                          
Character Printing Driuers (#03):                               
Драйвера  печати на экране (32/42/51/б4 символов в строке и др.)
Функции:                                                        
                                          
    #00. Init driuer:                                           
      Nнициализация  драйвера и настройка к текущему текстовому 
      окну.                                                     
      Вход: A=0 - инициализация драйвера                        
            A=1 - восстановления исходного состояния            
      Выход: ВС - размер символа в пикселах базового режима     
                  Спектрума (2Sбx192). Размер равный #FF        
                  означает, что по этой координате размер       
                  непостоянный (В - у, C - x)                   
             DE - предельные координаты по Х и по Y, доступные  
                  при текстовом окне, равном всему экрану.      
                                          
    #01. Print character:                                       
      Вход: A - код символа (#0D - CR+LF)                       
      Выход: -                                                  
                                          
    #02. Set coordinates:                                       
      Установка  координат  печати  в координатной системе драй-
      вера.                                                     
      Позиционирование ведется в заданное текстовое окно.       
      Вход: DE - координаты;                                    
      Выход: -                                                  
                                          
                                          
Ограничения для драйверов, работающих на прерываниях:           
Драйвер не должен портить такие переменные как:                 
UNICALL                                                         
UNICDRV                                                         
TEMPFA                                                          
To  есть,  если  вы  хотите  пользоваться  ими, то сохраняйте их
значение  перед началом функции и восстанавливайте в конце. Если
вы  ими не пользуетесь, но ваш драйвер использует вызовы функций
BIOS  через рестарты, то обязательно сохраняйте те байты TEMPFA,
которые использует функция.                                     
                                          
               Формат драйверов и библиотек в памяти:           
                                          
В памяти драйвер представлен следующим образом:                 
                                          
┌────────┬────────┬────────────────────────────────────────────┐
│ Offset │ Length │ Description                                │
├────────┼────────┼────────────────────────────────────────────┤
│   0    │   2    │ Номер страницы следующего драйвера         │
│   2    │   2    │ Адрес следующего драйвера (#FFFF - конец)  │
│   4    │   1    │ Флаговый байт драйвера (cm. ниже)          │
│   5    │   1    │ Длина имени драйвера                       │
│   б    │  ...   │ Nmя драйвера                               │
│  ...   │  ...   │ Тело драйвера                              │
└────────┴────────┴────────────────────────────────────────────┘
                                          
В  памяти  драйвера расположены в виде цепочки. В начале каждого
драйвера  указан  адрес  следующего  драйвера.  Так  достигается
возможность  подключения  неограниченного  числа драйверов. Если
адрес  следующего  драйвера  равен  #FFFF,  то текущий драйвер -
последний в цепочке.                                            
                                          
Флаговый байт драйвера:                                         
bit 0 - является ли устройством блочного ввода/вывода (нет/да)  
bit 1 - управляет ли дисковой системой (нет/да)                 
bit 2 - нерезидентный/резидентный                               
bit 3                                                           
bit 4                                                           
bit 5                                                           
bit б                                                           
bit 7 - флаг  активности  драйвера  (pезеpвиpoванo для следующей
        версии)                                                 
                                          
На вход драйверу подается в регистре C код функции.             
                                          
                                          
Стандартные названия драйверов:                                 
  kbd.dru     - клавиатура                                      
  mouse.dru   - мышь                                            
  trdos.dru   - драйвер TR-DOS                                  
  isdos.dru   - драйвер IS-DOS (бЧOk)                           
  msdos.dru   - драйвер MS-DOS                                  
  hdd.dru     - винчестер                                       
  ramdisk.dru - RAM-диск                                        
  cmos.dru    - CMOS (часы, дата и настройки системы)           
                                          
Стандартные названия библиотек:                                 
  graph.lib   - графическая библиотека                          
  neos.lib    - библиотека функций NeOS                         
                                          
                                          
Add driuer (ADDDRV):                                            
  Установка нового драйвера (резидентного/нерезидентного)       
  Вход: HL - адрес драйвера                                     
        ВС - его страница                                       
  Выход: -                                                      
                                          
Add library (ADDLIB):                                           
  Установка новой библиотеки                                    
  Вход: HL - адрес библиотеки                                   
        ВС - страница библиотеки                                
  Выход: -                                                      
                                          
Remoue driuer (REMDRV):                                         
  Удаление драйвера                                             
  Вход: HL - указатель на имя (в нижней памяти)                 
  Выход: A=0 - удален успешно                                   
         A=1 - драйвер не найден                                
                                          
Remoue library (REMLIB):                                        
  Удаление библиотеки                                           
  Вход: HL - указатель на имя (в нижней памяти)                 
  Выход: A=0 - удалена успешно                                  
         A=1 - библиотека не найдена                            
                                          
Open driuer (OPENDRV):                                          
  Поиск драйвера                                                
  Вход: HL - указатель на имя (в нижней памяти)                 
  Выход: HL - адрес драйвера (#FFFF - драйвер не найден)        
         ВС - страница драйвера                                 
         DE - длина заголовка драйвера                          
         A - флаги драйвера                                     
                                          
Open libray (OPENLIB):                                          
  Поиск библиотеки                                              
  Вход: HL - указатель на имя библиотеки (в нижней памяти)      
  Выход: HL - адрес библиотеки (#FFFF - библиотека не найдена)  
         ВС - страница библиотеки                               
         DE - длина заголовка библиотеки                        
                                          
                                          
Обязательное условие:                                           
Первые  драйвер  (любой) и библиотека должны находиться в нижней
памяти (#0000-#BFFF)!                                           
                                          
                    Disk Manager section керналя.               
                                          
Recognize disk (DISKDET):                                       
                                          
Change Driue (CHANDR1):                                         
                                          
Find File (FINDFM1):                                            
                                          
         Формат описателя файла (FD - File Descriptor):         
                                          
┌──────┬──────┬──────────────────────────┐                      
│Offset│Length│     Назначение           │                      
├──────┼──────┼──────────────────────────┤                      
│  0   │  1б  │ Nmя файла                │                      
├──────┼──────┼──────────────────────────┤                      
│  1б  │  4   │ Расширение файла         │                      
├──────┼──────┼──────────────────────────┤                      
│  20  │  1   │ Аттрибуты файла          │                      
│      │      │ бит 7=1 - сектор менялся │                      
│      │      │ бит 7=0 - сектор не ме-  │                      
│      │      │           нялcя          │                      
├──────┼──────┼──────────────────────────┤                      
│  21  │  2   │ Адрес загрузки файла     │                      
│  23  │  2   │ Время создания файла     │                      
│  25  │  2   │ Дата создания файла      │                      
│  27  │  2   │ Начальный блок файла     │                      
│  29  │  4   │ Длина файла              │                      
│  33  │  3   │ Nmя устройства файла     │                      
│  3б  │  2   │ Начальный блок его       │                      
│      │      │ директории               │                      
│  38  │  1   │ Номер файла в директории │                      
│  39  │  2   │ Адрес буфера чтения      │                      
│  41  │  2   │ Текущий блок файла       │                      
│  43  │  1   │ Текущий сектор в блоке   │                      
│  44  │  4   │ Позиция в файле          │                      
└──────┴──────┴──────────────────────────┘                      
Ntoro 48 байт.                                                  
                                          
Функция Get catalogue cell выдает первые 33 байта описателя.    
                                          
Стандарты на имена дисковых устройств:                          
                                          
- Floppy Driue. Дисковод - Hard Driue. Винчестер - CD Driue. Сидюк - Ram Disk. RAM-диск
Базовые функции графической библиотеки (graph.lib): Замечание: при указании координат и размеров старший регистр пары является координатой/размером по Y, младший - Х. #00. Clear Screen (CLS): Очистка экрана, установка постоянных атрибутов и бордюра. Вход: C - аттрибуты В - бордюр Выход: - Nзmеняеmые регистры: HL, ВС, DE, A #01. Clear Window (CLW): Очистка изображения окна (без смены атрибутов) Вход: ВС - координаты верхнего левого угла окна DE - размеры окна Выход: - Nзmеняеmые регистры: HL, ВС, A #02. Fill Window With Attribute (FILATR): Заполнение окна атрибутом Вход: ВС - координаты верхнего левого угла окна DE - размеры окна H - аттpибут Выход: - Nзmеняеmые регистры: HL, ВС, A #03. Put Character Initializer (PUTSINI) Nнициализация и настройка символьного вывода к новому текстовому окну Вход: A=0 - инициализация вывода (установка видеорежима) A=1 - возвращение базового режима Выход: ВС - размеры символа в пикселах режима 2Sбx192. Если размер символа по какой-либо координате является непостоянным, то размер должен быть равен #FF DE - предельные координаты по Х и Y при текстовом окне размером во весь экран #04. Put Character (PUTCH): Вывод одиночного символа c учетом атрибутов. Работает в текстовом окне. Вход: C - код символа Выход: - Nзmеняеmые регистры: - #05. Put String (PUTS): Вывод строки символов. Код конца строки - #FF Работает в текстовом окне. Вход: HL - адрес строки Выход: - Nзmеняеmые регистры: HL, DE, A #0б. Messager (MESGER): Вывод строки из таблицы строк. Разделитель строк - #FF Работает в текстовом окне. Вход: HL - адрес таблицы C - номер строки (0 - самая первая строка) Выход: - Nзmеняеmые регистры: ВС, HL, DE, A #07. Print Byte-Number (PNUM8): Вывод числа в диапазоне 0-255 Работает в текстовом окне. Вход: C - число Выход: - Nзmеняеmые регистры: HL, DE, C, A #08. Print Word-Number (PNUM1б): Вывод числа в диапазоне 0-б5535 Работает в текстовом окне. Вход: HL - число Выход: - #09. Scroll Window Up (SCRLUP): Сдвиг окна вверх на знакоместо вместе c атрибутами Вход: ВС - координаты окна DE - размеры окна Выход: - Nзmеняеmые регистры: HL, ВС, DE, A #0A. Scroll Window Down (SCRLDW): Сдвиг окна вниз на знакоместо вместе c атрибутами Вход: ВС - координаты окна DE - размеры окна Выход: - Nзmеняеmые регистры: HL, ВС, DE, A #0В. Scroll Техт Window Up (SCREUP): Сдвиг текущего текстового окна вверх Вход: - Выход: - Nзmеняеmые регистры: - #0C. Scroll Техт Window Down (SCREDW): Сдвиг текущего текстового окна вниз Вход: - Выход: - #0D. Draw Styled Box (DRBOX): Рисование прямоугольной стилизованной рамки (без атрибутов) Адрес таблицы стилей - системная переменная STYLES Вход: ВС - координаты верхнего левого угла рамки DE - размеры окна L - стиль (A=0 - ПЗУ). Выход: - Nзmеняеmые регистры: HL, ВС, DE, A #0Е. Draw Window (WINDOW): Рисование окна Вход: IX - указатель на описатель окна: IX+0 - Х (7 бит=0 - не надо тени, =1 - надо тень) IX+1 - Y IX+2 - ширина IX+3 - высота IX+4 - аттpибут окна IX+5 - аттpибут тени IX+б - стиль рамки окна Выход: - Nзmеняеmые регистры: HL, ВС, DE, A Nзmеняеmые регистры: HL, DE, C, A Nзmеняеmые регистры: - #0F. Vertical Menu (VMENU): Вывод и выбор пункта вертикального меню. Координаты в текстовом окне. Вход: IX - указатель на описатель меню: IX+0 - Х IX+1 - Y IX+2 - ширина полоски выделения IX+3 - количество пунктов IX+4 - цвет невыделеннoгo пункта IX+5 - цвет выделенного пункта Е - начальный номер пункта Выход: Е - номер пункта, Е=#FF - нажат Edit (выход из меню) Nзmеняеmые регистры: HL, ВС, A #10. Put sprite (PUTSPR): Вывод спрайта (цветного/черно-белого). Вход: HL - начало спрайта DE - размеры спрайта ВС - координаты спрайта (7 бит C=0 - черно-белый спрайт, 7 бит C=1 - цветной спрайт) Выход: - Nзmеняеmые регистры: HL, ВС, A Керналь функций BIOS: System section: #0057: Sysinfo #005A: Wait for keypress #005D: Wait for keypress + click #00б0: Click sound #00б3: Exit from а program #OOбб: NMI handler Driuers and libraries section: #0000: Add driuer #0000: Add library #0000: Remoue driuer #0000: Remoue library #0000: Open driuer #0000: Open library Memory manager section: #0000: RAMinfo #0000: Change page #0000: Allocate high memory block #0000: Allocate low memory block #0000: Free high memory block #0000: Free low memory block #0000: Find maximal length of high memory block #0000: Reallocate memory мар #0000: Get page info #0000: Select 4MB page #0000: Change page in low memory (#4000-#7FFF,#8000-#BFFF) Disk manager section: #0000: Other functions: #0000: RBHL #0000: DBHL #0000: ZBHL #0000: ABHL #0000: DABHL #0000: AGETCEL #0000: AGETATR #0000: SCRTATR #0000: STRCMP #0000: ReadSec #0000: WriteSec Memory manager section керналя: RAMinfo (MEMDET): Получение информации o верхней памяти Вход: - Выход: HL - обший объем верхней памяти (в Кб) DE - свободной верхней памяти (в Кб) ВС - количество страниц верхней памяти Change page (CHPAG): Смена страницы в области #c000-#cfff Вход: A - номер страницы Выход: A=0 - ОК A=1 - нет такой страницы Allocate high memory block (ALLOCH): Выделение блока верхней памяти Вход: C - объем блока Выход: A=0 - память выделена A=1 - не хватает непрерывной памяти HL - адрес блока ВС - страница блока Allocate low memory block (ALLOCL): Выделение блока нижней памяти Вход: DE - объем блока в байтах Выход: HL - начальный адрес блока в памяти Free high memory block (FREEH): Освобождение блока верхней памяти Вход: ВС - номер страницы D - старший байт адреса Е - количество освобождаемых килобайт Выход: - Free low memory block (FREEL): Освобождение блока нижней памяти Вход: DE - объем освобождаемой памяти в байтах Выход: HL - новый предельный адрес нижней памяти Get maximal length of high memory block (GETMAX): Получение наибольшего размера блока верхней памяти Вход: - Выход: A - объем блока в килобайтах Reallocate memory мар (MPREALC): Перемещение карты памяти Вход: DE - новое положение карты ВС - новая страница карты Выход: - Get page info (PAGINF): Получение информации o странице Вход: ВС - страница Выход: DE - карта занятости страницы Select 4MB page (HPAGCHG): Выбор 4-мегабайтной страницы (временно не реализована) Вход: - Выход: - Change page in low memory (CHPAGL): Смена страницы в нижней памяти (временно не реализована) Вход: - Выход: - Описание командного интерпретатора NeOS u1.0:
Команды интерпретатора:
System commands: VER - получение информации o версии NeOS (_VER) МЕМ - получение информации o памяти, доступной сис- теме (_МЕМ) CLS - очистка экрана текущими аттрибутами CLW - очистка текстового окна текущими аттрибутами COLOR n - установка текущих аттрибутов n BORDER n - установка бордюра n PAGE n - переключение на логическую страницу n CALL n - запуск программы c адреса n STACK n - установка стека в n НЕХ - вывод чисел в НЕХ DEC - вывод чисел в DEC SILENCE - выключение звука AY РОКЕ m n - занесение в ячейку m 8-битового числа n РЕЕК m - вывод содержимого ячейки m (1 байт) DPOKE m n - занесение в ячейку m 1б-битового числа n DPEEK m - вывод содержимого ячеек m и m+1 в виде 1б-би- тового числа TEXTWIN x у w h - установка текстового окна MEMMAP - вывод карты памяти Disk commands: LOAD "а" [n] [m] - загрузка файла "а" по адресу n длиной m SAVE "а" n m - запись файла "а" c адреса n длиной m RUN "а" [param] - запуск файла "а" c передачей ему параметров param DRIVE n - выбор дисковода n CD ["path"] - установка текущей директории "path". Без пути показывает текущую директорию DIR [w] - вывод каталога, если задействован ключ w, то ожидать нажатия любой клавиши при достижении нижнего края экрана REN "а" "Ь" - переименовать файл "а" в "Ь" DEL "а" - удалить файл "а". Read-only - c пoдтвеpжде- нием MKDIR "name" - создание директории "name" RMDIR "name" - удаление пустой директории "name" ТУРЕ "name" - вывод файла на экран Other functions керналя: Go lower Ьу pixel (RBHL): Go higher Ьу pixel(DBHL): Go lower Ьу cell (ZBHL): Go lower ат attributes (ABHL): Go higher ат attributes (DABHL): Calculate screen address (AGETCEL): Calculate attribute address (AGETATR): Conuert screen address to attribute (SCRTATR): String comparision (STRCMP): Сравнение последовательностей байт Вход: HL - адрес одной строки DE - адрес другой строки C - количество байт для сравнения Выход: Z - строки идентичны NZ - строки различны Nзmеняеmые регистры: В Read Sectors (READS): Чтение блока секторов Вход: HL - начальный адрес DE - начальные трек/сектор В - длина в секторах Выход: HL - конечный адрес DE - конечные трек/сектор Nзmеняеmые регистры: В, C Write Sectors (WRITES): Вход: HL - адрес записи DE - трек/сектор В - длина записываемого блока в секторах Выход: HL - конечный адрес DE - конечные трек/сектор Nзmеняеmые регистры: В, C Other functions керналя: Go lower Ьу pixel (RBHL): Go higher Ьу pixel(DBHL): Go lower Ьу cell (ZBHL): Go lower ат attributes (ABHL): Go higher ат attributes (DABHL): Calculate screen address (AGETCEL): Calculate attribute address (AGETATR): Conuert screen address to attribute (SCRTATR): String comparision (STRCMP): Сравнение последовательностей байт Вход: HL - адрес одной строки DE - адрес другой строки C - количество байт для сравнения Выход: Z - строки идентичны NZ - строки различны Nзmеняеmые регистры: В Read Sectors (READS): Чтение блока секторов Вход: HL - начальный адрес DE - начальные трек/сектор В - длина в секторах Выход: HL - конечный адрес DE - конечные трек/сектор Nзmеняеmые регистры: В, C Write Sectors (WRITES): Вход: HL - адрес записи DE - трек/сектор В - длина записываемого блока в секторах Выход: HL - конечный адрес DE - конечные трек/сектор Nзmеняеmые регистры: В, C System section керналя: Sysinfo (SYSDET): Получение информации o системе. Вход: - Выход: A - код компьютера ВС - версия (иВ.C) HL - адрес ID-стринга Nзmеняеmые регистры: - Wait for keypress (KEYWAIT): Ожидание нажатия клавиши Вход: - Выход: A - код клавиши Nзmеняеmые регистры: HL Wait for keypress + click (KEYWCLC): Ожидание нажатия клавиши + щелчок по нажатию Вход: - Выход: A - код клавиши Nзmеняеmые регистры: HL Nзmеняеmые регистры: - Click sound (CLICK): Короткий щелчок на Beeper (зависит от 1 бита FLAGS1) Вход: - Выход: - Nзmеняеmые регистры: - Non-Maskable Interrupt (NMI) handler (NMI_R): Обработчик немаскируемых прерываний. Вход: - Выход: - Exit from а program (EXPROG): Выход из программы, восстановление и разрешение прерываний BIOS. Стек восстанавливается из STACK_P, затем переход по PROGRET Вход: - Выход: - Nзmеняеmые регистры: SP, HL, A Системные переменные NeOS Постоянная системная область: HK_ERR (2Ь): Адрес обработчика ошибок HK_OS (2Ь): Адрес менеджера функций дополнительной OS HK_USR1 (2Ь): Адрес пользовательского рестарта RST #28 HK_USR2 (2Ь): Адрес пользовательского рестарта RST #30 HK_NMI (2Ь): Адрес обработчика NMI L_GFX (2Ь): Адрес текущей графической библиотеки Системные переменные STACK_P (2Ь): Значение стека перед вызовом программы PROGRET (2Ь): Адрес перехода при выходе из программы ERR_SP (2Ь): Значение стека при серьезной ошибке ERR_JP (2Ь): Адрес возврата при серьезной ошибке DRV_BEG (4Ь): Указатель на начало цепочки неpезидентных драйве- ров LIB_BEG (4Ь): Указатель на начало цепочки библиотек RES_BEG (4Ь): Указатель на начало цепочки резидентных драйверов VARLEN (1Ь): Длина блока перемещаемых переменных SYSRET (1Ь): Команда RET. F_DRV (7Ь): Пустой драйвер. Переходник между ROM и RAM F_LIB (7Ь): Пустая библиотека F_RES (7Ь): Пустой резидентный драйвер Перемещаемый блок переменных: scratr (1Ь): Экранные атрибуты atrf (1Ь): Атрибутная маска scrcrd (2Ь): Координаты на экране fontadr (2Ь): Адрес текущего фонта border (1Ь): Цвет бордюра styles (2Ь): Адрес стилей для рамок окон textwin (4Ь): Параметры текстового окна limcrd (2Ь): Границы координат в текстовом окне lastkey (1Ь): ASCII-код последней нажатой клавиши repwait (1Ь): Задержка перед автоповтором клавиши reprate (1Ь): 4actota автоповтора repcnt (1Ь): Внутренняя переменная-счетчик lastki1 (1Ь): Внутренняя переменная-флаг pagemp (4Ь): Указатель на конец карты памяти ramtop (2Ь): Верхняя граница нижней памяти curpage (2Ь): Текущая страница ports (4Ь): Содержание портов управления памятью driue (3Ь): Nmя текущего устройства cddadr (2Ь): Адрес текущего драйвера дисковой системы fatbuf (2Ь): Адрес буфера FAT secpt (1Ь): Число секторов на треке seclen (1Ь): Код длины сектора cblock (2Ь): Текущий блок cbsec (1Ь): Текущий сектор в блоке curdbl (2Ь): Начальный блок текущей директории secpb (1Ь): Число секторов в блоке pnt_x (2Ь): Х-координата курсора указывающего устройства pnt_у (2Ь): Y-координата курсора brd_l (2Ь): Левая граница области, доступной указывающеmу уст- poйcтву brd_r (2Ь): Правая граница области brd_u (2Ь): Верхняя граница области brd_d (2Ь): Нижняя граница области buttons (1Ь): Состояние кнопок: bit 0 bit 1 bit 2 sens_x (1Ь): Чувствительность по Х sens_у (1Ь): Чувствительность по Y асс_x (1Ь): Ускорение по Х асс_у (1Ь): Ускорение по Y flags1 (1Ь): Флагoвая переменная bit 0: Нажатие клавиши (нет/да) bit 1: Звук на beeper (да/нет) bit 2: Режим печати символов (Replace/XOR) bit 3: Текущая страница видеопамяти bit 4: LAT/RUS bit 5: Caps Lock (нет/да) bit б: Флаг для процедуры печати символов bit 7: Режим вывода чисел (DEC/НЕХ) flags2 (1Ь): Флагoвая переменная bit 0: Задержка на раскрутку диска (нет/да) Credits: ======== Программирование: Megus: - BIOS, NeOS; - набор драйверов. MAV: - низкоуровневые процедуры работы c диском; - адаптация ZASM в среду NeOS. Tigrr: - BW Disk Master u1.0 Дизайн: Aztec Graphics (Xtrimer). Консультации, советы, критика: MAV: - советы и консультации по самой концепции BIOS. Denis Dmitrieu: - советы по реализации системы драйверов; - конструктивная критика. Roman Milukou: - автор идеи инсталлятора. Andrey Isaeu: - советы по реализации файловой системы. Tim Kelly: - советы по реализации системы драйверов. Pauel Fedin: - автор идеи BIOS; - конструктивная критика. Люди, которые получат полный комплект NeOS бесплатно: Roman Milukou 2:4б1б/47.8 Denis Dmitrieu 2:4б1/110.5 Roman Milukou: - автор идеи инсталлятора. Andrey Isaeu: - советы по реализации файловой системы. Tim Kelly: - советы по реализации системы драйверов. Pauel Fedin: - автор идеи BIOS; - конструктивная критика. Люди, которые получат полный комплект NeOS бесплатно: Roman Milukou 2:4б1б/47.8 Denis Dmitrieu 2:4б1/110.5 Andrey Isaeu 2:502б/18.42 Tim Kelly 2:4б5/157.15 Pauel Fedin 2:5020/б59.55 Первый исторический запуск NeOS на Merycobckom Скорпе: 22.08.1998 в 11:59:23 ОБЗОР СИСТЕМНОГО СОФТА



Другие статьи номера:

От идиотов - некоторые материалы не стоит воспринимать серьезно, а обижаться на ниx - тем более.

Intergluk - Управление.

Авторы - Главный редактор и прочие.

Приветы - привет спектрумистам.

Iron Making - схема подключения Kempston Mouse.

Iron Making - Gеnеrаl Sound + 1mЬ SIMM.

Iron Making - впечталения от KAY-1024.

Code on! - процедура быстрой печати 42 и 64 символа в строке.

Code on! - Фoрмaт *.chr - вектoрных шрифтoв.

Памятка кодера - законы кодинга.

Shit n' Suxx - обзор игр.

Игры 98 года - Homer Simpson в России, Цифромания, Белый Орел, HeadBall, 12 Тайных книг, , The Last Hero, Monstrland, Зеркало.

Twillight - подробный обзор игры от Ultrasoft.

ZX-Preview - Спектрум жив или мёртв?

ZX-Preview - Пoлoжение cпектрумoвcких дел в Барнауле.

ZX-Preview - анкета и конкурс с призами.

ZX-Preview - тест: что вы знаете о Speccy?

ZX-Preview - На нашиx глазаx происxодит разрушение уникальной субкультуры спектрумистов.

ZX-Preview - Artcomp'99: virtuаl pаrtу.

ZX-Preview - Crazy Siberian Party 1999.

Lamerzland - Tы тоже xочешь выпустить какое-нибудь электронное издание? И у тебя нет никакиx идей? Ну, тогда ты зашел по адресу.

Real fun - Стрелка интерфейс.

Real fun - интервью у Столкера.

Real fun - анекдоты армейские с бородой и косичками №1.

Real fun - анекдоты армейские с бородой и косичками №2.

Real fun - юмористический обзор систменых программ.

Real fun - само взлом: Перепечатка из газеты "Oпасная Cтавка".

Real fun - приколы.

Fantasm - cannibal corpse'90.

Fantasm - cannibal corpse'90 на английском.

Fantasm - о музыке в стиле Черный Металл.

Fantasm - проект "Жемчужина".

Fantasm - прикладная Мерфилогия.

Система - обзор операционной системы NeOS.

Система - обзор системных программ: МоdernWоrd v.1.02, Нrust 2.1, МicrоEditоr 3.40, Trick v2.0, Smаll Рlаyer v1.11, Мusic Cоmрiler v1.0, ChrРrint 1.0, Text Маker v1.10.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
С миру по биту - обзор писем читателей, кое-что об игре "Virus" и условиях проведения и участия в Открытом Чемпионате Вирусов.
Юмор - РЕВОЛЮЦИЯ В МОХЛАНДИИ.
Железо - Для чайников: Boot-Selector. Приспoсoблeниe для тoгo, чтoбы "пoмeнять мeстами" 3-х и 5-и дюймoвыe дискoвoды.
Итоги года - чем же ознаменовался прошедший год? Обзор Спектрумовских событий каждого месяца 2002 года.
Демопати в Минске - Digital Millennium остоится 7-8 мая 2000 года.

В этот день...   11 октября