         IF1
INCLUDE COMDEF.INC              ; INCLUDE COMMAND DEFINITION
        ENDIF
VOL     EQU     0               ; DEFINE VOLUME NUMBER

LOGIC   SEGMENT BYTE
        ASSUME  CS:LOGIC
        BEGIN                   ; START UP

; Логика инициализации logic 01
; А.В.Хорев, обучающая программа "ГРОЗА", 1991 год.

        set_cursor_char 1      ; установить вид курсора по первому 
                               ; байту сообщения 1
        set_string      0, 2   ; строков.перем string(0)=сообщ.2
        trace_info    100, 2, 9; устан.парам.внутр.отладчика:100-
                               ; номер логики с табл.отладчика, 2-
                               ; положение 1-й строки и 9- высота
                               ; окна отладчика 
        set_text_attribute 15, 0   ; установить цвет символов 15 на фоне 0
        assignn             7, 10  ; v7 = 10 (макс.счет)
        assignn            10, 0   ; v10 = 0 (скорость наибольшая)
	 
        if_
          not_           ; не
          equaln 26, 2   ; монитор Hercules ?
        else_ A          ; нет: переход на A
	  
          clear_lines 22, 24, 0 ; очистить строки 22,23,24 цветом 0
	   
A:      configure_screen 1, 23, 0 ; опр.местоположение строк на экране:
                                  ; 1- миним.номер строки для print
                                  ; 23 - строка ввода сообщ.пользователя
                                  ; 0 - строка состояния самая верхняя
        set  9                    ; f9 -> 1 - звук вкл.
        if_
          not_                    ; не 
          isset 6                 ; установлен f6 -> 1 (не вып.restart_game)?
        else_     B               ; не выполнена: переход на B
                                  ; выполнена:
          prevent_input           ;  запретить ввод с клавиатуры
          assignn 10, 0           ;  v10 = 0
          status_line_off         ;  убрать сэкр.строку состояния
          jump C                  ;  безусл.переход на метку C
	 
B:      return                    ; возврат управления в logic 0
	              
C:   ; назначение функциональных клавиш
  
        set_key 3b00h   1 ; F1   - краткая справка
        set_key 3c00h   2 ; F2   - вкл./выкл. звук
     ;   set_key 3d00h   3 ; F3 
     ;   set_key 3e00h   4 ; F4 
     ;   set_key 3f00h   5 ; F5 
     ;   set_key 4000h   6 ; F6 
     ;   set_key 4100h   7 ; F7 
     ;   set_key 4200h   8 ; F8 
        set_key 4300h   9 ; F9   - рестарт
        set_key 4400h  10 ; F10  - изменить скорость
     ;   set_key 2000h  15 ; Alt + d
     ;   set_key 1200h  16 ; Alt + e
        set_key 1700h  19 ; Alt + i  - дать информ. о фирме
     ;   set_key 3200h  18 ; Alt + m
     ;   set_key 1900h  20 ; Alt + p
     ;   set_key 2d00h  21 ; Alt + x
     ;   set_key 2f00h  40 ; Alt + v
        set_key 2c00h  22 ; Alt + z  - выход из программы

        return   ; возврат в logic 0           

         messages      3 ; сообщения

m1         db   "_",0
m2         db   "]",0
m3         db   "TQ",0

VERYEND EQU $
LOGIC   ENDS
        END