          ;Выбор слота 3-2 для всех логических страниц памяти
9000:  3E AA        LD    A,AAh       ;Выберем 2-й слот  в  качестве  вто-
9002:  32 FF FF     LD    (FFFFh),A   ;  ричного для всех страниц
                                      ;
9005:  F3           DI                ;Запретим прерывания
9006:  3E FF        LD    A,FFh       ;Выберем 3-й слот  в  качестве  пер-
9008:  D3 A8        OUT   (A8h),A     ;  вичного для всех страниц
          ;Заполнение псевдо-ROM
900A:  21 20 90     LD    HL,9020h    ; Откуда берутся данные
900D:  11 00 40     LD    DE,4000h    ; Куда помещаются
9010:  01 00 01     LD    BC,0100h    ; Длина копируемого блока
9013:  ED B0        LDIR              ; Групповая пересылка
          ;Восстановление конфигурации BASIC
9015:  3E F0        LD    A,F0h       ;
9017:  D3 A8        OUT   (A8h),A     ;
9019:  FB           EI                ;Разрешим прерывания
          ;Заполнение буфера SLTATR
          ;(64 байта, начиная с адреса FCC9h)
901A:  3E 20        LD    A,00100000b ; 5-й бит - разрешена обработка
                                      ;   операторов расширения
                                      ; 6-й бит - запрещена обработка
                                      ;   нестандартных устройств I/O
901C:  32 02 FD     LD    (FD02h),A   ;Псевдо-ROM в слоте 3-2, страница 1
901F:  C9           RET               ;Возврат управления в BASIC
          ; Далее идет блок содержимого псевдо-ROM
          ;Заголовок псевдо-ROM ("карта ROM")
9020:  41       ; Код символа A
9021:  42       ; Код символа B
9022:  00 00    ; Адрес подпрограммы инициализации ROM
9024:  11 40    ; Адрес начала обработки операторов расширения
9026:  00 00    ; Адрес начала обработки нестандартных устройств I/O
9028:  00 00    ; Адрес текста на BASIC в ROM
902A-9030:   00 ; 7 байтов, зарезервированных стандартом
          ;Блок подпрограмм обработки операторов расширения
9031:  37           SCF               ;Установим флаг C (необходим для
                                      ;генерации сообщения об ошибке)
9032:  E5           PUSH  HL          ;
9033:  06 03        LD    B,03        ;Будут обработаны только три первых
                                      ;оператора расширения в псевдо-ROM
9035:  21 51 40     LD    HL,4051h    ;Адрес блока идентификаторов
                                      ;  операторов расширения
9038:  E5           PUSH  HL          ;
9039:  CD 38 40     CALL  4038h       ;Переход на блок сравнения 2 имен
903C:  E1           POP   HL          ;
903D:  30 09        JR    NC,9048h    ;Если имя не найдено, то переход на
                                      ;  блок поиска адресов
903F:  11 10 00     LD    DE,0010h    ;Указатель на
9042:  19           ADD   HL,DE       ;  следующее имя
9043:  10 F3        DJNZ  9038h       ;Имена кончились?
9045:  E1           POP   HL          ;Если  имя  не  найдено, то возврат
9046:  37           SCF               ;  управления в BASIC с  сообщением
9047:  C9           RET               ;  "Syntax error"
          ;Блок поиска в таблице адресов
9048:  3E 03        LD    A,03        ;Число подпрограмм в псевдо-ROM
904A:  90           SUB   B           ;
904B:  21 4B 40     LD    HL,404Bh    ;Начало таблицы адресов подпрограмм
944E:  87           ADD   A,A         ;Вычислим смещение
904F:  16 00        LD    D,00        ;Вычислим положение
9051:  5F           LD    E,A         ;  адреса программы
9052:  19           ADD   HL,DE       ;  в таблице
9053:  5E           LD    E,(HL)      ;Помещаем адрес
9054:  23           INC   HL          ;  перехода из 
9055:  56           LD    D,(HL)      ;  таблицы в регистр DE
9056:  EB           EX    DE,HL       ;Адрес -из регистра DE в регистр HL
9057:  E9           JP    (HL)        ;Переход на выбранную подпрограмму
                                      ;  расширения
          ;Сравнение вводимого имени оператора расширения
          ;с именем оператора в псевдо-ROM
9058:  11 89 FD     LD    DE,FD89h    ;Начало области, в которой хранится
                                      ;  имя набираемого оператора
905B:  1A           LD    A,(DE)      ;
905C:  A7           AND   A           ;Это 0?
905D:  28 07        JR    Z,9066h     ;Если да, то произошел конец набора
                                      ;  оператора с клавиатуры
905F:  BE           CP    (HL)        ;Указатель на имя в псевдо-ROM
9060:  37           SCF               ;Если имена различны, то  выход  в
9061:  C0           RET   NZ          ;  BASIC с сообщением
                                      ;         "Syntax error"
9062:  23           INC   HL          ;
9063:  13           INC   DE          ;
9064:  18 F5        JR    905Bh       ;Имя кончилось?
9066:  BE           CP    (HL)        ;Имя в псевдо-ROM  тoжe  кончилось?
9067:  37           SCF               ;Если  оно  длиннее, чем  набранное
9068:  C0           RET   NZ          ;  имя, то выход в BASIC с сообщени-
                                      ;  ем "Syntax error"
9069:  3F           CCF               ;Имена совпали, возврат без  сообще-
906A:  C9           RET               ;  ния об ошибке
          ;Таблица адресов операторов расширения
906B:  81 40    ;Адрес подпрограммы CALL FATPRINT
906D:  9C 40    ;Адрес подпрограммы CALL SCRON
906F:  A1 40    ;Адрес подпрограммы CALL SCROFF
          ;Блок имен операторов (по 16 символов на имя)
9071:  46       ;F
9072:  41       ;A
9073:  54       ;T
9074:  50       ;P
9075:  52       ;R
9076:  49       ;I
9077:  4E       ;N
9078:  54       ;T
9079-9080:    00
9081:  53       ;S
9082:  43       ;C
9083:  52       ;R
9084:  4F       ;O
9085:  4E       ;N
9086-9090:    00
9091:  53       ;S
9092:  43       ;C
9093:  52       ;R
9094:  4F       ;O
9095:  46       ;F
9096:  46       ;F
9097-90A0:    00
          ;Вот они! Наши операторы CALL !
90A1:  CD 6F 00     CALL  006Fh       ;Установка режима SCREEN 1
90A4:  21 00 01     LD    HL,0100h    ;
90A7:  01 57 07     LD    BC,0757h    ;
90AA:  07           RLCA              ;
90AB:  CD 4A 00     CALL  004Ah       ;Чтение из видеопамяти
90AE:  57           LD    D,A         ;
90AF:  1F           RRA               ;Утолщение символа
90B0:  B2           OR    D           ;
90B1:  CD 4D 00     CALL  004Dh       ;Запись в видеопамять
90B4:  0B           DEC   BC          ;
90B5:  23           INC   HL          ;
90B6:  78           LD    A,B         ;
90B7:  B1           OR    C           ;
90B8:  20 F1        JR    NZ,90ABh    ;
90BA:  E1           POP   HL          ;
90BB:  C9           RET               ;Возврат в BASIC
90BC:  CD 44 00     CALL  0044h       ;Включение экрана дисплея
90BF:  E1           POP   HL          ;
90C0:  C9           RET               ;
90C1:  CD 41 00     CALL  0041h       ;Выключение экрана дисплея
90C4:  E1           POP   HL          ;
90C5:  C9           RET               ;
