Рабочая область находится в RAM и делится на две части:
Имя | Адрес16 | Длина10 | Содержание |
---|---|---|---|
RDPRIM | F380 | 5 | Программа чтения из базового слота:OUT (0A8),A LD E,(HL) JR WRPRM1 |
WRPRIM | F385 | 7 | Программа записи в базовый слот:OUT (0A8),A LD (HL),E WRPRM1: LD A,D OUT (0A8),A RET |
CLPRIM | F38C | 14 | Вызов базового слота:OUT (0A8),A EX AF,AF' CALL CLPRM1 EX AF,AF' POP AF OUT (0A8),A EX AF,AF' RET CLPRM1: JP (IX) |
USRTAB | F39A | 2 | Начальные адреса для DEFUSR |
LINL40 | F3AE | 1 | Длина строки в режиме SCREEN 0 |
LINL32 | F3AF | 1 | Длина строки в режиме SCREEN 1 |
LINLEN | F3B0 | 1 | Длина строки в текущем режиме |
CRTCNT | F3B1 | 1 | Число доступных строк на экране |
CUVLST | F3B2 | 1 | Минимальное число пробелов до конца строки (PRINT) |
Рабочая область для инициализации (F3B3 ÷ F3DE) | |||
TXTNAM | F3B3 | 2 | Адрес Таблицы имен (PNT) в SCREEN 0 |
TXTCOL | F3B5 | 2 | Адрес Таблицы цветов (CT) в SCREEN 0 |
TXTCGP | F3B7 | 2 | Адрес Таблицы символов (PGT) в SCREEN 0 |
TXTATR | F3B9 | 2 | Не используется |
TXTPAT | F3BB | 2 | Не используется |
T32NAM | F3BD | 2 | Адрес Таблицы имен (PNT) в SCREEN 1 |
T32COL | F3BF | 2 | Адрес Таблицы цветов (CT) в SCREEN 1 |
T32CGP | F3C1 | 2 | Адрес Таблицы символов (PGT) в SCREEN 1 |
T32ATR | F3C3 | 2 | Адрес атрибутов спрайтов в SCREEN 1 |
T32PAT | F3C5 | 2 | Адрес шаблонов спрайтов в SCREEN 1 |
GRPNAM | F3C7 | 2 | Адрес Таблицы имен (PNT) в SCREEN 2 |
GRPCOL | F3C9 | 2 | Адрес Таблицы цветов (CT) в SCREEN 2 |
GRPCGP | F3CB | 2 | Адрес изображений (PGT) в SCREEN 2 |
GRPATR | F3CD | 2 | Адрес атрибутов спрайтов в SCREEN 2 |
GRPPAT | F3CF | 2 | Адрес шаблонов спрайтов в SCREEN 2 |
MLTNAM | F3D1 | 2 | Адрес Таблицы имен (PNT) в SCREEN 3 |
MLTCOL | F3D3 | 2 | Адрес Таблицы цветов (CT) в SCREEN 3 |
MLTCGP | F3D5 | 2 | Адрес изображений (PGT) в SCREEN 3 |
MLTATR | F3D7 | 2 | Адрес атрибутов спрайтов в SCREEN 3 |
MLTPAT | F3D9 | 2 | Адрес шаблонов спрайтов в SCREEN 3 |
CUKSW | F3DB | 1 | Отзвук клавиши (0 — нет отзвука) |
CSRY | F3DC | 1 | Y–координата текстового курсора |
CSRX | F3DD | 1 | X–координата текстового курсора |
CNCDFG | F3DE | 1 | Отображение строки функциональных ключей (0 — KEY OFF) |
Область для сохранения содержимого регистров VDP(F3DF ÷ F3F2) | |||
RG0SAV | F3DF | 1 | Содержимое VDP(0) |
RG1SAV | F3E0 | 1 | Содержимое VDP(1) |
RG2SAV | F3E1 | 1 | Содержимое VDP(2) |
RG3SAV | F3E2 | 1 | Содержимое VDP(3) |
RG4SAV | F3E3 | 1 | Содержимое VDP(4) |
RG5SAV | F3E4 | 1 | Содержимое VDP(5) |
RG6SAV | F3E5 | 1 | Содержимое VDP(6) |
RG7SAV | F3E6 | 1 | Содержимое VDP(7) |
STATFL | F3E7 | 1 | Статус VDP, т.е. VDP(8) |
TRGFLG | F3E8 | 1 | Образ 4 кнопок джойстика и пробела |
FORCLR | F3E9 | 1 | Текущий цвет изображения |
BAKCLR | F3EA | 1 | Текущий цвет фона |
BDRCLR | F3EB | 1 | Текущий цвет бордюра |
MAXUPD | F3EC | 3 | JP 0000 (используется оператором CIRCLE) |
MINUPD | F3EF | 3 | JP 0000 (используется оператором CIRCLE) |
ATRBYT | F3F2 | 1 | Цветовой код пикселя |
Рабочая область для оператора PLAY (F3F3 ÷ F3F5) | |||
QUEUES | F3F3 | 2 | Адрес музыкальных очередей |
FRCNEW | F3F5 | 1 | 0 — ; FFh — CLOAD? |
Рабочая область для ввода с клавиатуры (F3F6 ÷ F40F) | |||
SCNCNT | F3F6 | 1 | Интервал сканирования клавиатуры |
REPCNT | F3F7 | 1 | Счетчик частоты повторений нажатой клавиши |
PUTPNT | F3F8 | 2 | Буфер клавиатуры: куда «класть» |
GETPNT | F3FA | 2 | Буфер клавиатуры: откуда «брать» |
CS120 | F3FC | 5 | Параметры ввода/вывода с кассеты(1200 бод) |
CS120 | F401 | 5 | Параметры ввода/вывода с кассеты(2400 бод) |
LOW | F406 | 2 | Первая и вторая половина 0–цикла |
HIGH | F408 | 2 | Первая и вторая половина 1–цикла |
HEADER | F40A | 1 | Счетчик циклов заголовка |
ASPCT1 | F40B | 2 | 256/коэффициент сжатия для CIRCLE |
ASPCT2 | F40D | 2 | 256·коэффициент сжатия для CIRCLE |
ENDPRG | F40F | 5 | Указатель оператора RESUME NEXT |
Рабочая область, используемая MSX BASIC (F414 ÷ F6CA) | |||
ERRFLG | F414 | 1 | Код последней ошибки в программе на MSX BASIC |
LPTPOS | F415 | 1 | Позиция головки принтера для LPRINT |
PRTFLG | F416 | 1 | 1 — принтер; 0 — экран |
NTMSXP | F417 | 1 | 0 — принтер MSX; 1 — не MSX |
RAWPRT | F418 | 1 | Если содержимое ≠0,то GRAPH и CTRL символы выводятся без изменений |
VLZADR | F419 | 2 | Адрес символа, замененного значением |
VLZDAT | F41B | 1 | Замененный символ |
CURLIN | F41C | 2 | Номер обрабатываемой MSX BASIC–строки (FFFF — непосредственно оператор) |
KBUF | F41F | 318 | Скоростной буфер (трансляция из BUF во внутреннее представление) |
BUFMIN | F55D | 1 | Используется в операторе INPUT |
BUF | F55E | 258 | Содержимое буфера клавиатуры (в коде ASCII) |
ENDBUF | F660 | 1 | Конец буфера клавиатуры |
TTYPOS | F661 | 1 | Позиция курсора на экране дисплея |
DIMFLG | F662 | 1 | Флаг массива |
VALTYP | F663 | 1 | Тип переменной в слове DAC |
OPRTYP | F664 | 0 | |
DORES | F664 | 1 | Тип оператора |
DONUM | F665 | 1 | Для скоростной работы |
CONTXT | F666 | 2 | Сохранить указатель текста для CHRGET |
CONSAV | F668 | 1 | Сохранение обозначения константы после вызова подпрограммы CHRGET |
CONTYP | F669 | 1 | Сохранить тип константы |
CONLO | F66A | 8 | Сохранить значение используемой константы |
MEMSIZ | F672 | 2 | Максимально возможный адрес для PIT |
STKTOP | F674 | 2 | Верхний адрес стека |
TXTTAB | F676 | 2 | Начальный адрес PIT |
TEMPPT | F678 | 2 | Указатель на первый свободный временный дескриптор |
TEMPST | F67A | 30 | Стек для строковых дескрипторов |
DSCTMP | F698 | 3 | Строковый дескриптор, являющийся результатом выполнения строковой функции |
FRETOP | F69B | 2 | Верхний адрес строкового пространства |
TEMP3 | F69D | 2 | Используется для «сборки мусора» или функцией USR |
TEMP8 | F69F | 2 | Используется для «сборки мусора» |
ENDFOR | F6A1 | 2 | Указатель на конец строки с командой FOR |
DATLIN | F6A3 | 2 | Номер строки оператора DATA, используемого оператором READ |
SUBFLG | F6A5 | 1 | Рабочий флаг для USR |
USFLG | F6A6 | 0 | |
FLGINP | F6A6 | 1 | Рабочий флаг для INPUT и READ |
TEMP | F6A7 | 2 | Место временного хранения кодов операторов |
PTRFLG | F6A9 | 1 | =0, если — не программная строка |
AUTFLG | F6AA | 1 | ≠0, если включен режим AUTO |
AUTLIN | F6AB | 2 | Первая строка нумерации для AUTO |
AUTINC | F6AD | 2 | Шаг нумерации для AUTO |
SAVTXT | F6AF | 2 | Текстовый указатель для RESUME |
SAVSTK | F6B1 | 2 | Сохранить стек для обработки ошибок |
ERRLIN | F6B3 | 2 | Номер строки, в которой была допущена последняя ошибка |
DOT | F6B5 | 2 | Номер текущей строки программы |
ERRTXT | F6B7 | 2 | Текстовый указатель для использования оператором RESUME |
ONELIN | F6B9 | 2 | Адрес начала подпрограммы обработки ошибок в PIT |
ONEFLG | F6BB | 1 | 1, если выполнилась подпрограмма обработки ошибки |
TEMP2 | F6BC | 2 | |
OLDLIN | F6BE | 2 | Номер последней упомянутой строки |
OLDTXT | F6C0 | 2 | Старый текстовый указатель |
VARTAB | F6C2 | 2 | Начальный адрес Таблицы переменных |
ARYTAB | F6C4 | 2 | Начальный адрес Таблицы массивов |
STREND | F6C6 | 2 | Верхний адрес используемого пространства |
DATPTR | F6C8 | 2 | Указатель DATA |
DEFTBL | F6CA | 26 | Типы переменных A÷Z по умолчанию |
Рабочая область для параметров функций USR (F6E4 ÷ F7C4) | |||
PRMSTK | F6E4 | 2 | Стек для «сборки мусора» |
PRMLEN | F6E6 | 2 | Длина используемой таблицы |
PARM1 | F6E8 | 100 | Значения параметров функций пользователя |
PRMPRV | F74C | 2 | Указатель блока параметров |
PRMLN2 | F74E | 2 | Длина блока параметров |
PARM2 | F750 | 100 | Используется для создания локальных переменных текущей функции пользователя FN |
PRMFLG | F7B4 | 1 | Флаг источника параметров |
ARYTA2 | F7B5 | 2 | Конец источника параметров |
NOFUNS | F7B7 | 1 | =0, если отсутствует «активная» функция |
TEMP9 | F7B8 | 2 | Размещение временной памяти для «сборки мусора» |
FUNACT | F7BA | 2 | Число «активных» функций |
SWPTMP | F7BC | 8 | Первый операнд оператора SWAP |
TRCFLG | F7C4 | 1 | 1 — TRON; 0 — TROFF |
Рабочая область для выполнения математических вычислений (F7C5 ÷ F857) | |||
FBUFFR | F7C5 | 43 | Буфер для преобразования строки в число |
DECTMP | F7F0 | 2 | Используется для преобразования десятичного целого к числу с плавающей точкой |
DECTM2 | F7F2 | 2 | Используется для выполнения подпрограммы деления |
DECCNT | F7F4 | 1 | Используется для выполнения подпрограммы деления |
DAC | F7F6 | 16 | Первичный арифметический аккумулятор (DAC) |
HOLD8 | F806 | 48 | Регистр для умножения с двойной точностью |
HOLD2 | F836 | 8 | Регистр для умножения с двойной точностью |
HOLD1 | F83E | 8 | Регистр для умножения с двойной точностью |
ARG | F847 | 16 | Вторичный арифметический аккумулятор (область для размещения значения перед вычислениями с помощью DAC) |
RNDX | F857 | 8 | Последнее случайное число двойной точности |
Рабочая область, используемая интерпретатором MSX BASIC (F85F ÷ F92F) | |||
MAXFIL | F85F | 1 | Установка оператора MAXFILES |
FILTAB | F860 | 2 | Начальный адрес Блока Управления Файлами |
NULBUF | F862 | 2 | Адрес нулевого буфера файла (используется в операторах SAVE и LOAD) |
PTRFIL | F864 | 2 | Указатели на данные текущего файла |
RUNFLG | F866 | 0 | ≠0 для команды RUN после команды LOAD |
FILNAM | F866 | 11 | Определенное пользователем имя файла |
FILNM2 | F871 | 11 | Имя файла с устройства ввода/вывода |
NLONLY | F87C | 1 | ≠0, когда загружается программа |
SAVEND | F87D | 2 | Конец двоичных данных для BSAVE |
FNKSTR | F87F | 160 | Значения 10 функциональных клавиш |
CGPNT | F91F | 3 | Адрес ячейки в ROM, начиная с которой хранятся образы символов |
NAMBAS | F922 | 2 | Текущий адрес PNT |
CGPBAS | F924 | 2 | Текущий адрес PGT |
PATBAS | F926 | 2 | Текущий адрес SGT |
ATRBAS | F928 | 2 | Текущий адрес SAT |
CLOC | F92A | 2 | Координаты текущей точки |
CMASK | F92C | 1 | |
MINDEL | F92D | 2 | |
MAXDEL | F92F | 2 | |
Рабочая область для оператора CIRCLE (F931 ÷ F947) | |||
ASPECT | F931 | 2 | Коэффициент сжатия окружности |
CENCNT | F933 | 2 | Конец счета |
CUNEF | F935 | 1 | Флаг для проведения радиуса окружности |
CNPNTS | F936 | 2 | Сколько точек рисовать? |
CPLOTF | F938 | 1 | Флаг полярных точек |
CPCNT | F939 | 2 | 1/8 от числа точек в окружности |
CPCNT8 | F93B | 2 | |
CRCSUM | F93D | 2 | |
CSTCNT | F93F | 2 | |
CSCLXY | F941 | 1 | Масштаб по X и по Y |
CSAVEA | F942 | 2 | Резервируемая область для ADVGRP |
CSAVEM | F944 | 1 | Резервируемая область для ADVGRP |
CXOFF | F945 | 2 | Смещение X относительно центра |
CYOFF | F947 | 2 | Смещение Y относительно центра |
Рабочая область для оператора PAINT (F949 ÷ F955) | |||
LOHMSK | F949 | 1 | Рабочая область для оператора PAINT (&hF949 ÷ &hF955) |
LOHDIR | F94A | 1 | |
LOHADR | F94B | 2 | |
LOHCNT | F94D | 2 | |
SKPCNT | F94F | 2 | Подсчет пропусков |
MOVCNT | F951 | 2 | Подсчет движений |
PDIREC | F953 | 1 | Направление закраски |
LFPROG | F954 | 1 | |
RTPROG | F955 | 1 | |
MCLTAB | F956 | 2 | Флаг PLAY/DRAW |
MCLFLG | F958 | 1 | |
Рабочая область для оператора PLAY (F959 ÷ FA75) | |||
QUETAB | F959 | 24 | Параметры для VOICAQ,VOICBQ,VOICCQ,RS232 |
QUEBAK | F971 | 4 | Возвращение символов для очереди (не используется) |
VOICAQ | F975 | 128 | Музыкальная очередь для голоса A |
VOICBQ | F9F5 | 128 | Музыкальная очередь для голоса B |
VOICCQ | FA75 | 128 | Музыкальная очередь для голоса C |
RS2IQ | FAF5 | 64 | Очередь для RS232 |
Рабочая область для музыки (FB35 ÷ FB8B) | |||
PRSCNT | FB35 | 1 | |
SAVSP | FB36 | 2 | |
VOICEN | FB38 | 1 | |
SAVVOL | FB39 | 2 | |
MCLLEN | FB3B | 1 | |
MCLPTR | FB3C | 2 | |
QUEUEN | FB3E | 1 | |
MUSICF | FB3F | 1 | |
PLYCNT | FB40 | 1 | |
VCBA | FB41 | 37 | Текущие параметры для голоса A |
VCBB | FB66 | 37 | Текущие параметры для голоса B |
VCBC | FB8B | 37 | Текущие параметры для голоса C |
ENSTOP | FBB0 | 1 | Если значение ненулевое, то возможна остановка программы посредством нажатия комбинации клавиш CTRL+GRAPH+SHIFT+РУС или комбинации клавиш CTRL+GRAPH+SHIFT+1+3 (нажатие CTRL+STOP игнорируется!) |
BASROM | FBB1 | 1 | ≠0, если подключена ROM BASIC |
LINTTB | FBB2 | 24 | Переполнение экранной строки |
FSTPOS | FBCA | 2 | Первая позиция для INLINE |
CODSAV | FBCC | 1 | Код сохранения области для курсора |
FNKSWI | FBCD | 1 | Индикация функциональных клавиш |
FNKFLG | FBCE | 10 | Разрешение прерываний от клавиш F1÷F10 (0 — обычно, 1 — для оператора KEY(n)ON ) |
ONGSBF | FBD8 | 1 | Флаг глобальных событий |
CLIKFL | FBD9 | 1 | |
OLDKEY | FBDA | 11 | Старый статус клавиш |
NEWKEY | FBE5 | 11 | Статус клавиш (матрица клавиатуры) |
KEYBUF | FBF0 | 40 | Буфер клавиатуры |
BUFEND | FC18 | 0 | Конец буфера клавиатуры |
LINWRK | FC18 | 40 | Экранная строка, заполненная символами |
PATWRK | FC40 | 8 | «Картинка» размером 8×8 точек |
BOTTOM | FC48 | 2 | Начальный адрес RAM |
HIMEM | FC4A | 2 | Адрес начала рабочей области |
TRPTBL | FC4C | 51 | Таблица ловушек |
FC82 | 24 | Неиспользуемые байты TRPTBL | |
RTYCNT | FC9A | 1 | |
INTFLG | FC9B | 1 | |
PADY | FC9C | 1 | Y–координата графического планшета |
PADX | FC9D | 1 | X–координата графического планшета |
JIFFY | FC9E | 2 | |
INTVAL | FCA0 | 2 | Установка интервала |
INTCNT | FCA2 | 2 | Счетчик интервалов |
LOWLIM | FCA4 | 1 | Чтение с кассеты |
WINWID | FCA5 | 1 | |
GRPHED | FCA6 | 1 | Флаг для графических символов |
ESCCNT | FCA7 | 1 | Счетчик последовательных нажатий ESC |
INSFLG | FCA8 | 1 | Флаг режима «вставки» |
CSRSW | FCA9 | 1 | 1 — LOCATE,,1 ; 0 — LOCATE,,0 |
CSTYLE | FCAA | 1 | Код символа в позиции курсора |
CAPST | FCAB | 1 | ≠0 — клавиша CAPS считается нажатой |
KANAST | FCAC | 1 | ≠0 — клавиша РУС считается нажатой |
KANAMD | FCAD | 1 | |
FLBMEM | FCAE | 1 | =0, пока загружается программа на MSX BASIC |
SCRMOD | FCAF | 1 | Текущий режим экрана |
OLDSCR | FCB0 | 1 | Последний упомянутый текстовый режим |
CASPRV | FCB1 | 1 | Символ для устройства CAS: |
BRDATR | FCB2 | 1 | Цвет границы для оператора PAINT |
GXPOS | FCB3 | 2 | X–координата графического курсора |
GYPOS | FCB5 | 2 | Y–координата графического курсора |
GRPACX | FCB7 | 2 | X–координата графического аккумулятора |
GRPACY | FCB9 | 2 | Y–координата графического аккумулятора |
DRWFLG | FCBB | 1 | Флаг оператора DRAW |
DRWSCL | FCBC | 1 | Масштабный множитель для DRAW |
DRWANG | FCBD | 1 | Значение угла в операторе DRAW |
RUNBNF | FCBE | 1 | BLOAD/BSAVE или нет ? |
SAVENT | FCBF | 2 | Стартовый адрес для BSAVE |
BIOSSL | FCC0 | 1 | Указатель слота при межслотовом обращении |
EXPTBL | FCC1 | 4 | Флаг для расширенного слота |
SLTTBL | FCC5 | 4 | Текущий расширенный слотовый регистр |
SLTATR | FCC9 | 64 | Флаги разрешения обработки оператора CALL |
SLTWRK | FD09 | 128 | Рабочая область размером 64×2 байтов для каждого из 64 возможных слотов |
PROCNM | FD89 | 16 | Буфер для имени оператора расширения ROM |
DEVICE | FD99 | 1 | Устройства для CARTRIGE 0÷3 |
Область для сохранения содержимого регистров VDP(F3DF ÷ F3F2) | |||
RG8SAV | FFE7 | 1 | Содержимое VDP(8) |
RG9SAV | FFE8 | 1 | Содержимое VDP(9) |
RGASAV | FFE9 | 1 | Содержимое VDP(10) |
RGBSAV | FFEA | 1 | Содержимое VDP(11) |
RGCSAV | FFEB | 1 | Содержимое VDP(12) |
RGDSAV | FFEC | 1 | Содержимое VDP(13) |
RGESAV | FFED | 1 | Содержимое VDP(14) (47) |
RGFSAV | FFEE | 1 | ? Посмотреть при помощи подпр. BIOS |
Имя | Адрес16 | Длина10 | Содержание |
---|---|---|---|
DPPAGE | FAF5 | 1 | Номер страницы дисплея |
ACPAGE | FAF6 | 1 | Номер активной страницы |
AVCSAV | FAF7 | 1 | Управляющий порт AUDIO/VIDEO |
EXBRSA | FAF8 | 1 | Адрес страницы SUBROM в слоте 3-1 |
CHRCNT | FAF9 | 1 | Счетчик символов в буфере (используется при переводе Латынь ──▶ Кана) |
ROMA | FAFA | 2 | Область для хранения символов (только для японской версии) |
MODE | FAFC | 1 | Режим переключения размера VRAM |
NORUSE | FAFD | 1 | Не используется |
XSAVE | FAFE | 2 | 1000 0000 XXXX XXXX |
YSAVE | FB00 | 2 | ∗000 0000 YYYY YYYY ∗ — прерывание от светового пера |
LOGOPR | FB02 | 1 | Код логической операции |
RSTMP | FB03 | 0 | Область данных, используемая RS-232C или дисководом (&hFB03 ÷ &hFB20) |
TOCNT | FB03 | 1 | |
RSFCB | FB04 | 2 | |
… | … | … | |
LSTMOD | FB20 | 1 | |
Область памяти, используемая MSX-DOS | |||
FB21 | Список слотов | ||
··· | ··· | ||
FB34 |
Имя | Адрес16 | Длина10 | Содержание |
---|---|---|---|
FCB1 | 005C | По этому адресу MSXDOS.SYS организует FCB 1 файла, имя которого соответствует второму слову командной строки | |
FCB2 | 006C | По этому адресу MSXDOS.SYS организует FCB 2 файла,имя которого соответствует третьему слову командной строки | |
H.CHG | F267 | Ловушка, отвечающая за дисковый обмен | |
H.RD | F270 | Ловушка, отвечающая за считывание сектора | |
H.WR | F279 | Ловушка, отвечающая за запись сектора | |
CURDRV | F2E1 | 1 | В данных ячейках находится число, равное номеру текущего дисковода — 1 |
CURDRV | F247 | 1 | |
DMA | F23D | 2 | В этой ячейке хранится адрес обмена информацией. Операцию: LD C,1AH LD DE,ADRESS CALL 5 можно заменить просто на: LD HL,ADRESS LD (F23DH),HL и адрес обмена информацией будет установлен! |
HERROR | F323 | 2 | В этой ячейке хранится адрес адреса подпрограммы обработки ошибок дискового обмена. Если положить по данному адресу другие (нужные Вам) значения, то можно обработать ошибку самому! |
HSTOP | F325 | 2 | В этой ячейке хранится адрес адреса подпрограммы обработки нажатия клавиш CTRL+STOP, CTRL+S.Если положить по данному адресу другие (нужные Вам) значения, то можно обработать нажатие данных клавиш самому! |
SAVSP | F339 | 2 | В данной ячейке находится адрес стека, который сохраняется всякий, раз когда происходит работа с подпрограммами ПЗУ. После окончания работы MSXDOS.SYS производит рестарт с восстановлением стека |
MAXDRV | F347 | 1 | В данной ячейке находится максимальное число разрешенных дисководов |
HBUF | F351 | 2 | В этой ячейке хранится адрес буфера MSX-DOS, куда копируется часть каталога дискеты |
DPBL | F355 | С данного адреса расположен список DPB существующих дисководов | |
SETROM | F368 | Подпрограмма по этому адресу организует подключение 1 страницы из слота 3-1,а значит, делает доступным прямое (CALL… или JP… ) обращение к подпрограммам работы с диском. Внимание ! Указатель слота, который использует данная подпрограмма, находится в ячейке F248H,и он может быть заменен на любой другой указатель, а тогда 1 страница будет выбрана из другого слота |
|
SETRAM | F36B | Подпрограмма по этому адресу организует подключение 1 страницы из слота 3-2,а значит, делает доступным прямое (CALL… или JP… ) обращение к Вашим подпрограммам. Внимание ! Указатель слота,который использует данная подпрограмма , находится в ячейке F242H,и он может быть заменен на любой другой указатель,а тогда 1–я страница будет выбрана из другого слота |
|
SLTMOV | F36E | Межслотовый обмен | |
ROMBDOS | F37D | Вектор ROM BDOS |
Когда это возможно, указывается ключевое слово, «переводящее» на ловушку. Если рядом с ним стоит символ «∗», то это означает, что ловушка обрабатывается всякий раз, когда при инициализации опрашивается дисковод.
Имя | Адрес | Адрес ROM | ∗ | Адрес BIOS, использующего данный hook | Комментарий (в скобках указан соответствующий оператор MSX BASIC) |
---|---|---|---|---|---|
H.SRD | F270 | Подпрограмма чтения сектора | |||
H.SWR | F279 | Подпрограмма записи сектора | |||
H.DER1 | F323 | Подпрограмма, выдающая сообщения об ошибке при работе с диском | |||
H.DER2 | F325 | Подпрограмма, выдающая сообщения об ошибке при работе с диском | |||
H.DCHG | F267 | Подпрограмма смены диска | |||
H.KEYI | FD9A | 0C4A | 0038, 003B, 003E | Обработка прерываний с частотой 60Гц | |
H.TIMI | FD9F | 0C53 | 0038, 003B, 003E | Начало обработки прерываний | |
H.CHPU | FDA4 | 091D | 00A2 | Подпрограмма помещения символа | |
H.DSPC | FDA9 | 0A43 | Подпрограмма высвечивания курсора | ||
H.ERAC | FDAE | 0A90 | Подпрограмма уничтожения курсора | ||
H.DSPF | FDB3 | 0B3F | 00C9, 00CF | Подпрограмма высвечивания значений функциональных клавиш (KEY ON) | |
H.ERAF | FDB8 | 0B29 | 00CC | Подпрограмма запрещения высвечивания значений функциональных клавиш (KEY OFF) | |
H.TOTE | FDBD | 08A5 | 00D2 | Подпрограмма перехода к текстовому режиму | |
H.CHGE | FDC2 | 10CE | 009F | Подпрограмма получения символа | |
H.INIP | FDC7 | 0717 | Подпрограмма инициализации картинки | ||
H.KEYS | FDCC | 1025 | Подпрограмма кода клавиатуры | ||
H.KYEA | FDD1 | 0F10 | Присваивание функциональным клавишам значений | ||
H.NMI | FDD6 | 139B | 0066 | Подпрограмма обработки немаскируемых прерываний | |
H.PINL | FDDB | 23BF | 00AE | Подпрограмма установки начала программной строки | |
H.QINL | FDE0 | 23CC | 00AE | Подпрограмма, выводящая знак «?» и вводящая строку | |
H.INLI | FDE5 | 23D5 | 00AE, 00B1, 00B4 | Подпрограмма ввода строки(LINEINPUT) | |
H.ONGO | FDEA | 7810 | Подпрограмма выполнения ON GOTO | ||
H.DSKO | FDEF | 7C16 | ∗ | Подпрограмма вывода на диск (DSKO$) | |
H.SETS | FDF4 | 7CE3 | ∗ | Подпрограмма установки атрибутов(SET) | |
H.NAME | FDF9 | 7C20 | ∗ | Подпрограмма выполнения RENAME | |
H.KILL | FDFE | 7C25 | ∗ | Подпрограмма выполнения KILL | |
H.IPL | FE03 | 7C2A | ∗ | Подпрограмма инициализации загрузки программы (IPL) | |
H.COPY | FE08 | 7D0B | ∗ | Подпрограмма выполнения COPY | |
H.CMD | FE0D | 7C34 | ∗ | Подпрограмма выполнения команды CMD | |
H.DSKF | FE12 | 7C39 | ∗ | Подпрограмма выполнения DSKF | |
H.DSKI | FE17 | 7C3E | ∗ | Подпрограмма выполнения ввода с диска (DSKI$) | |
H.ATTR | FE1C | 7C43 | ∗ | Подпрограмма атрибутов (ATTR$) | |
H.LSET | FE21 | 7C48 | ∗ | Подпрограмма выполнения LSET | |
H.RSET | FE26 | 7C4D | ∗ | Подпрограмма выполнения RSET | |
H.FIEL | FE2B | 7C52 | ∗ | Подпрограмма выполнения FIELD | |
H.MKIS | FE30 | 7C57 | ∗ | Подпрограмма выполнения MKI$ | |
H.MKSS | FE35 | 7C5C | ∗ | Подпрограмма выполнения MKS$ | |
H.MKDS | FE3A | 7C61 | ∗ | Подпрограмма выполнения MKD$ | |
H.CVI | FE3F | 7C66 | ∗ | Подпрограмма выполнения CVI | |
H.CVS | FE44 | 7C6B | ∗ | Подпрограмма выполнения CVS | |
H.CVD | FE49 | 7C70 | ∗ | Подпрограмма выполнения CVD | |
H.GETP | FE4E | 6A93 | Подпрограмма получения указателя FCB | ||
H.SETF | FE53 | 6AB3 | Подпрограмма установки указателя FCB | ||
H.NOFO | FE58 | 6AF6 | ∗ | Подпрограмма NOFOR (OPEN) | |
H.NULO | FE5D | 6B0F | ∗ | Подпрограмма, открывающая 0–й файл (KILL,LOAD) | |
H.NTFL | FE62 | 6B3B | ∗ | Подпрограмма, закрывающая 0–й буфер ввода–вывода (CLOSE) | |
H.MERG | FE67 | 6B63 | ∗ | Подпрограмма выполнения MERGE | |
H.SAVE | FE6C | 6BA6 | Подпрограмма выполнения SAVE | ||
H.BINS | FE71 | 6BCE | Подпрограмма выполнения BSAVE | ||
H.BINL | FE76 | 6BD4 | Подпрограмма выполнения BLOAD | ||
H.FILE | FE7B | 6C2F | ∗ | Подпрограмма выполнения FILES | |
H.DGET | FE80 | 6C3B | ∗ | Подпрограмма выполнения GET и PUT | |
H.FILO | FE85 | 6C51 | Подпрограмма выполнения последовательного вывода | ||
H.INDS | FE8A | 6C79 | Подпрограмма выполнения последовательного ввода | ||
H.RSLF | FE8F | 6CD8 | Переназначить «старый» дисковод | ||
H.SAVD | FE94 | 6D03, 6D14, 6D25, 6D39 | «Сохранение» текущего дисковода (LOC,LOF,EOF,FPOS) | ||
H.LOC | FE99 | 6D0F | Подпрограмма выполнения функции LOC | ||
H.LOF | FE9E | 6D20 | ∗ | Подпрограмма выполнения функции LOF | |
H.EOF | FEA3 | 6D33 | ∗ | Подпрограмма выполнения функции EOF | |
H.FPOS | FEA8 | 6D43 | ∗ | Подпрограмма выполнения функции FPOS | |
H.BAKU | FEAD | 6E36 | Подпрограмма возврата BAKUPT | ||
H.PARD | FEB2 | 6F15 | Подпрограмма анализа имени устройст. | ||
H.NODE | FEB7 | 6F33 | Подпрограмма определения новых имен, если устройство не подтверждено | ||
H.POSD | FEBC | 6F37 | Подпрограмма POSDSK | ||
H.DEVN | FEC1 | Ловушка не используется | |||
H.GEND | FEC6 | 6F8F | Подпрограмма проверки является ли устройство дисководом | ||
H.RUNC | FECB | 629A | Подпрограмма выполнения RUN | ||
H.CLEA | FED0 | 62A1 | Подпрограмма выполнения CLEAR | ||
H.LOPD | FED5 | 62AF | Подпрограмма установки циклов | ||
H.STKE | FEDA | 62F0 | Подпрограмма ошибок в стеке | ||
H.ISFL | FEDF | 0BF9 | Подпрограмма ISFLIO | ||
H.OUTD | FEE4 | 1B46 | 00E1, 0018 | Подпрограмма вывода символов | |
H.CRDO | FEE9 | 7328 | Подпрограмма вывода символов CR+LF | ||
H.DSKC | FEEE | 7374 | Подпрограмма DSKCHI | ||
H.DOGR | FEF3 | 593C | |||
H.PRGE | FEF8 | 4039 | Подпрограмма выполнения END | ||
H.ERRP | FEFD | 40DC | 014A | Печать сообщения об ошибке | |
H.ERRF | FF02 | 40FD | Подпрограмма обработки ошибки | ||
H.READ | FF07 | 4128 | Подпрограмма вывода сообщения «Ok» | ||
H.MAIN | FF0C | 4134 | Вход в MAIN | ||
H.DIRD | FF11 | 41A8 | Вход в непосредственное выполнение DO | ||
H.FINI | FF16 | 4237 | 0010, 0028 | Подпрограмма с именем CHRGTR | |
H.FINE | FF1B | 4247 | |||
H.CRUN | FF20 | 42B9 | |||
H.CRUS | FF25 | 4353 | |||
H.ISRE | FF2A | 437C | |||
H.NTFN | FF2F | 43A4 | |||
H.NOTR | FF34 | 44EB | |||
H.SNGF | FF39 | 45D1 | |||
H.NEWS | FF3E | 4601 | |||
H.GONE | FF43 | 4646 | |||
H.CHRG | FF48 | 4666 | |||
H.RETU | FF4D | 4821 | |||
H.PRTF | FF52 | 4A5E | |||
H.COMP | FF57 | 4A94 | |||
H.FINP | FF5C | 4AFF | |||
H.TRMN | FF61 | 4B4D | |||
H.FRME | FF66 | 4C6D | |||
H.NTPL | FF6B | 4CA6 | |||
H.EVAL | FF70 | 4DD9 | |||
H.OKNO | FF75 | 4F2C | |||
H.FING | FF7A | 4F3E | |||
H.ISMI | FF7F | 51C3 | Подпрограмма, выполняющая MID$ | ||
H.WIDT | FF84 | 51CC | Подпрограмма, выполняющая WIDTH | ||
H.LIST | FF89 | 522E | Подпрограмма, выполняющая [L]LIST | ||
H.BUFL | FF8E | 532D | Подпрограмма, работающая со строкой буфера | ||
H.FRQI | FF93 | 543F | Подпрограмма преобразования в целое | ||
H.SCNE | FF98 | 5514 | |||
H.FRET | FF9D | 67EE | Свободный дескриптор | ||
H.PTRG | FFA2 | 5EA9 | Подпрограмма возвращения указателя | ||
H.PHYD | FFA7 | 1414 | 0144 | Подпрограмма физического ввода–вывода диска | |
H.FORM | FFAC | 1418 | 0147 | Подпрограмма, выполняющая FORMAT | |
H.ERRO | FFB1 | 406F | ERROR — подпрограмма | ||
H.LPTO | FFB6 | 08BA | 005F, 00D2, 00A5 | Подпрограмма вывода строки на принтер (LPRINT) | |
H.LPTS | FFBB | 08E1 | 00A8 | Подпрограмма статуса строки на принтере | |
H.SCRE | FFC0 | 79CC | «Вход» в оператор SCREEN | ||
H.PLAY | FFC5 | 73E5 | «Вход» в оператор PLAY |