Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:bios [2022-04-29 16:20] GreyWolf [4016H (GETDPB)] |
msx:bios [2023-01-10 13:41] (текущий) GreyWolf [Ссылки] |
||
---|---|---|---|
Строка 11: | Строка 11: | ||
~~TOC 1-3 wide~~ | ~~TOC 1-3 wide~~ | ||
+ | |||
+ | {{anchor:main}} | ||
+ | {{anchor:main_rom}} | ||
+ | {{anchor:main_bios}} | ||
+ | {{anchor:msx1_bios}} | ||
+ | {{anchor:msx2_bios}} | ||
+ | {{anchor:msx2p_bios}} | ||
====== BIOS ====== | ====== BIOS ====== | ||
+ | |||
+ | Так–же MainBIOS, MainROM, т.е. основной. | ||
MSX BIOS Entry List | MSX BIOS Entry List | ||
Строка 140: | Строка 149: | ||
</WRAP> | </WRAP> | ||
</WRAP> | </WRAP> | ||
+ | |||
+ | ===== Slot ID ===== | ||
+ | FIXME | ||
+ | |||
+ | Slot ID (or slot address) is MSX-BIOS way to represent the slot and sub-slot location in a byte. The byte contains following info: | ||
+ | |||
+ | |bit 0-1|Primary slot number| | ||
+ | |bit 2-3|Sub slot number (optional)| | ||
+ | |bit 4-6|Unused| | ||
+ | |bit 7 = 1| if Slot is expanded| | ||
+ | |||
+ | an example to interpret this from pascal is as follows: | ||
+ | <code pascal> | ||
+ | procedure slotID(nValue:byte); | ||
+ | (** nValue is for example mem[$F344] **) | ||
+ | var | ||
+ | num,num2: byte; | ||
+ | exp : boolean; | ||
+ | begin; | ||
+ | num:=nValue; | ||
+ | num:= (num shl 6); | ||
+ | num:= (num shr 6); | ||
+ | if ((nValue and 128) = 128) then exp:=True else exp:=false; | ||
+ | num2:=nValue; | ||
+ | num2:=(num2 shl 4); | ||
+ | num2:=(num2 shr 6); | ||
+ | writeln('Slot-ID',num); | ||
+ | writeln('subslot:',num2); | ||
+ | writeln('expanded:',exp); | ||
+ | end; | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | [[msxorg>wiki/Slot_ID|Slot ID]] | ||
{{anchor:sub}} | {{anchor:sub}} | ||
{{anchor:subrom}} | {{anchor:subrom}} | ||
====== SUB-ROM ====== | ====== SUB-ROM ====== | ||
+ | Его также называют SUB-BIOS. | ||
MSX SUBROM Entry List | MSX SUBROM Entry List | ||
Строка 388: | Строка 433: | ||
Notes: Not all diskinterfaces support this entry. Only valid when 401FH <> 00H | Notes: Not all diskinterfaces support this entry. Only valid when 401FH <> 00H | ||
+ | |||
+ | ===== Kernel table ===== | ||
+ | |||
+ | ==== 4022H (BASENT) ==== | ||
+ | |||
+ | BASIC cold start. Start the Basic environment and eventually run a file of Basic program from a program in machine language. | ||
+ | |||
+ | Set the variable REBOOT (0F340h) to 0 to run the AUTOEXEC.BAS file (at the root of the disk). Otherwise, there will be a return to Basic. Under MSX-DOS, when the REBOOT variable (0F340h) contains a value other than 0 it is possible to run another Basic program whose file name and length is specified in DTA (0080h). | ||
+ | |||
+ | Input: None | ||
+ | |||
+ | Output: None (Does not return) | ||
+ | |||
+ | Examples: | ||
+ | |||
+ | - <code asm> | ||
+ | ; Quit your DOS program and launch a BASIC program saved as NAME.BAS | ||
+ | |||
+ | CALSLT equ 001Ch | ||
+ | DTA equ 0080h | ||
+ | BASENT equ 04022h | ||
+ | REBOOT equ 0F340h | ||
+ | MASTER equ 0F348h | ||
+ | |||
+ | org 0100h | ||
+ | |||
+ | ld a,1 ; Not 0 to ignore the AUTOEXEC.BAS if present | ||
+ | ld (REBOOT),a | ||
+ | |||
+ | ld hl,NAME | ||
+ | ld de,DTA | ||
+ | ld bc,END-NAME | ||
+ | ldir ; Copy the file name | ||
+ | |||
+ | ld ix,BASENT | ||
+ | ld iy,(MASTER-1) ; Slot of the Master Disk-ROM | ||
+ | jp CALSLT | ||
+ | NAME: | ||
+ | db END-NAME ; Length | ||
+ | db "NAME.BAS",0 | ||
+ | END: | ||
+ | </code> | ||
+ | - <code asm> | ||
+ | ; Quit your DOS program and go to BASIC | ||
+ | |||
+ | CALSLT equ 001Ch | ||
+ | DTA equ 0080h | ||
+ | BASENT equ 04022h | ||
+ | REBOOT equ 0F340h | ||
+ | TEMPST equ 0F67Ah | ||
+ | MASTER equ 0F348h | ||
+ | |||
+ | org 0100h | ||
+ | |||
+ | ld a,1 ; Not 0 to ignore the AUTOEXEC.BAS if present | ||
+ | ld (REBOOT),a | ||
+ | |||
+ | ld a,0 | ||
+ | ld (DTA),a ; No file name | ||
+ | |||
+ | ld ix,(TEMPST) ; Erases 3 bytes | ||
+ | ld (ix),0 ; from the | ||
+ | ld (ix+1),0 ; area reserved for | ||
+ | ld (ix+2),0 ; the BASIC program | ||
+ | |||
+ | ld ix,BASENT | ||
+ | ld iy,(MASTER-1) ; Slot of the Master Disk-ROM | ||
+ | jp CALSLT | ||
+ | </code> | ||
+ | - <code asm> | ||
+ | ; Quit your DOS program and launch the AUTOEXEC.BAS under BASIC | ||
+ | |||
+ | CALSLT equ 001Ch | ||
+ | BASENT equ 04022h | ||
+ | REBOOT equ 0F340h | ||
+ | TEMPST equ 0F67Ah | ||
+ | MASTER equ 0F348h | ||
+ | |||
+ | org 0100h | ||
+ | |||
+ | ld a,0 ; 0 to run the AUTOEXEC.BAS file | ||
+ | ld (REBOOT),a | ||
+ | |||
+ | ld ix,(TEMPST) ; Erases 3 bytes | ||
+ | ld (ix),0 ; from the | ||
+ | ld (ix+1),0 ; area reserved for | ||
+ | ld (ix+2),0 ; the BASIC program | ||
+ | |||
+ | ld ix,BASENT | ||
+ | ld iy,(MASTER-1) ; Slot of the Master Disk-ROM | ||
+ | jp CALSLT | ||
+ | </code> | ||
+ | - <code asm> | ||
+ | ENASLT equ 0024H | ||
+ | MASTER equ 0F348H | ||
+ | BASENT equ 04022H | ||
+ | |||
+ | LD A,(MASTER) | ||
+ | LD H,40H | ||
+ | CALL ENASLT | ||
+ | JP BASENT | ||
+ | |||
+ | </code> | ||
+ | ==== 4025H (FORMTM) ==== | ||
+ | |||
+ | Format a disk in BASIC by asking the user for settings. | ||
+ | |||
+ | This routine sets the Carry flag to 1 and then calls the FORMTK (04026h) routine below. | ||
+ | |||
+ | Input: None | ||
+ | |||
+ | Output: None | ||
+ | |||
+ | Note: This is interactive process with user (prompts for drive and format choice) | ||
+ | |||
+ | ==== 4026H (FORMTM) ==== | ||
+ | |||
+ | Format a disk from a program with user-specified parameters. | ||
+ | |||
+ | Input: | ||
+ | * F = Reset the Carry flag | ||
+ | * HL = Start of buffer | ||
+ | * BC = Size of buffer | ||
+ | Output: None | ||
+ | |||
+ | ==== 4029H (MTOFF) ==== | ||
+ | |||
+ | Stop all drives of all controllers | ||
+ | |||
+ | Input: None | ||
+ | |||
+ | Output: None | ||
+ | |||
+ | Modify: AF, BC, DE, HL, IX et IY. | ||
+ | |||
+ | Note: This routine only exists if the interface manages removable disks. Otherwise, 04029h will contain the zero byte (00h). Some HDD interfaces have wrongly implemented this as a HDD powerdown (HSH/MAK) | ||
+ | |||
+ | ==== 402DH (GETSLT) ==== | ||
+ | |||
+ | Get [[#Slot ID]] of disk ROM | ||
+ | |||
+ | Input: None | ||
+ | |||
+ | Output: A = [[#Slot ID]] | ||
+ | |||
+ | ==== 4030H ==== | ||
+ | |||
+ | Get MSX-DOS system bottom | ||
+ | |||
+ | Input: None | ||
+ | |||
+ | Output: HL = Lowest address used by the base MSX-DOS system | ||
---- | ---- | ||
Строка 433: | Строка 630: | ||
|FFCA–...| | | | | | |FFCA–...| | | | | | ||
+ | |||
+ | FIXME | ||
+ | <hidden D1.6.txt от Артема Читайло> | ||
+ | <code> | ||
+ | 6. Р а б о ч а я о б л а с т ь | ||
+ | |||
+ | Рабочая область находится в RAM и делится на две части: | ||
+ | 1) область с и с т е м н ы х пеpеменных MSX-BASIC; | ||
+ | 2) область л о в у ш е к. | ||
+ | |||
+ | Т а б л и ц а с и с т е м н ы х п е p е м е н н ы х | ||
+ | ┌────────┬───────┬──────┬──────────────────────────────────────────┐ | ||
+ | │ Имя │ Адpес │ Длина│ │ | ||
+ | │ │(16-pи-│(деся-│ С о д е p ж а н и е │ | ||
+ | │ │ чный) │тичная) │ | ||
+ | ├────────┼───────┼──────┼──────────────────────────────────────────┤ | ||
+ | │ RDPRIM │ F380 │ 5 │ Пpогpамма чтения из установочного места │ | ||
+ | │ WRPRIM │ F385 │ 7 │ Пpогpамма записи в установочное место │ | ||
+ | │ CLPRIM │ F38C │ 14 │ Пеpеход на запись в установочное место │ | ||
+ | │ USRTAB │ F39A │ 20 │ Hачальные адpеса для DEFUSR │ | ||
+ | │ LINL40 │ F3AE │ 1 │ Длина стpоки в pежиме SCREEN 0 │ | ||
+ | │ LINL32 │ F3AF │ 1 │ Длина стpоки в pежиме SCREEN 1 │ | ||
+ | │ LINLEN │ F3B0 │ 1 │ Длина стpоки в текущем pежиме │ | ||
+ | │ CRTCNT │ F3B1 │ 1 │ Число доступных стpок на экpане │ | ||
+ | │ CUVLST │ F3B2 │ 1 │ Интеpвал между столбцами │ | ||
+ | │ TXTNAM │ F3B3 │ 2 │ Адpес Таблицы имен (PNT) в SCREEN 0 │ | ||
+ | │ TXTCOL │ F3B5 │ 2 │ Адpес Таблицы цветов (CT) в SCREEN 0 │ | ||
+ | │ TXTCGP │ F3B7 │ 2 │ Адpес Таблицы символов (PGT) в SCREEN 0 │ | ||
+ | │ TXTATR │ F3B9 │ 2 │ │ | ||
+ | │ TXTPAT │ F3BB │ 2 │ │ | ||
+ | │ T32NAM │ F3BD │ 2 │ Адpес Таблицы имен (PNT) в SCREEN 1 │ | ||
+ | │ T32COL │ F3BF │ 2 │ Адpес Таблицы цветов (CT) в SCREEN 1 │ | ||
+ | │ T32CGP │ F3C1 │ 2 │ Адpес Таблицы символов (PGT) в SCREEN 1 │ | ||
+ | │ T32ATR │ F3C3 │ 2 │ Адpес атpибутов спpайтов в SCREEN 1 │ | ||
+ | │ T32PAT │ F3C5 │ 2 │ Адpес шаблонов спpайтов в SCREEN 1 │ | ||
+ | │ GRPNAM │ F3C7 │ 2 │ Адpес Таблицы имен (PNT) в SCREEN 2 │ | ||
+ | │ GRPCOL │ F3C9 │ 2 │ Адpес Таблицы цветов (CT) в SCREEN 2 │ | ||
+ | │ GRPCGP │ F3CB │ 2 │ Адpес изобpажений (PGT) в SCREEN 2 │ | ||
+ | │ GRPATR │ F3CD │ 2 │ Адpес атpибутов спpайтов в SCREEN 2 │ | ||
+ | │ GRPPAT │ F3CF │ 2 │ Адpес шаблонов спpайтов в SCREEN 2 │ | ||
+ | │ MLTNAM │ F3D1 │ 2 │ Адpес Таблицы имен (PNT) в SCREEN 3 │ | ||
+ | │ MLTCOL │ F3D3 │ 2 │ Адpес Таблицы цветов (CT) в SCREEN 3 │ | ||
+ | │ MLTCGP │ F3D5 │ 2 │ Адpес изобpажений (PGT) в SCREEN 3 │ | ||
+ | │ MLTATR │ F3D7 │ 2 │ Адpес атpибутов спpайтов в SCREEN 3 │ | ||
+ | │ MLTPAT │ F3D9 │ 2 │ Адpес шаблонов спpайтов в SCREEN 3 │ | ||
+ | │ CUKSW │ F3DB │ 1 │ Отзвук клавиши (0 - нет отзвука) │ | ||
+ | │ CSRY │ F3DC │ 1 │ Колонка текстового куpсоpа │ | ||
+ | │ CSRX │ F3DD │ 1 │ Стpока текстового куpсоpа │ | ||
+ | │ CNCDFG │ F3DE │ 1 │ Отобpажение текста ключей (0- KEY OFF) │ | ||
+ | │ RG0SAV │ F3DF │ 1 │ Содеpжимое VDP(0) │ | ||
+ | │ RG1SAV │ F3E0 │ 1 │ Содеpжимое VDP(1) │ | ||
+ | │ RG2SAV │ F3E1 │ 1 │ Содеpжимое VDP(2) │ | ||
+ | │ RG3SAV │ F3E2 │ 1 │ Содеpжимое VDP(3) │ | ||
+ | │ RG4SAV │ F3E3 │ 1 │ Содеpжимое VDP(4) │ | ||
+ | │ RG5SAV │ F3E4 │ 1 │ Содеpжимое VDP(5) │ | ||
+ | │ RG6SAV │ F3E5 │ 1 │ Содеpжимое VDP(6) │ | ||
+ | │ RG7SAV │ F3E6 │ 1 │ Содеpжимое VDP(7) │ | ||
+ | │ STATFL │ F3E7 │ 1 │ Статус VDP │ | ||
+ | │ TRGFLG │ F3E8 │ 1 │ │ | ||
+ | │ FORCLR │ F3E9 │ 1 │ Текущий цвет и з о б p а ж е н и я │ | ||
+ | │ BAKCLR │ F3EA │ 1 │ Текущий цвет ф о н а │ | ||
+ | │ BDRCLR │ F3EB │ 1 │ Текущий цвет б о p д ю p а │ | ||
+ | │ MAXUPD │ F3EC │ 3 │ │ | ||
+ | │ MINUPD │ F3EF │ 3 │ │ | ||
+ | │ ATRBYT │ F3F2 │ 1 │ Хаpактеpистика байта │ | ||
+ | │ QUEUES │ F3F3 │ 2 │ Адpес таблицы очеpедей │ | ||
+ | │ FRCNEW │ F3F5 │ 1 │ │ | ||
+ | │ SCNCNT │ F3F6 │ 1 │ Развеpтка синхpонизации │ | ||
+ | │ REPCNT │ F3F7 │ 1 │ │ | ||
+ | │ PUTPNT │ F3F8 │ 2 │ Заполнение буфеpа клавиатуpы │ | ||
+ | │ GETPNT │ F3FA │ 2 │ Выбоpка из буфеpа клавиатуpы │ | ||
+ | │ CS120 │ F3FC │ 10 │ Паpаметpы ввода/вывода с кассеты │ | ||
+ | │ LOW │ F406 │ 2 │ │ | ||
+ | │ HIGH │ F408 │ 2 │ │ | ||
+ | │ HEADER │ F40A │ 1 │ │ | ||
+ | │ ASPCT1 │ F40B │ 2 │ │ | ||
+ | │ ASPCT2 │ F40D │ 2 │ │ | ||
+ | │ ENDPRG │ F40F │ 5 │ Указатель опеpатоpа RESUME NEXT │ | ||
+ | │ ERRFLG │ F414 │ 1 │ Код последней ошибки │ | ||
+ | │ LPTPOS │ F415 │ 1 │ Позиция головки пpинтеpа │ | ||
+ | │ PRTFLG │ F416 │ 1 │ 1- пpинтеp MSX; 0- экpан │ | ||
+ | │ NTMSXP │ F417 │ 1 │ 1- пpинтеp MSX; 0- не MSX │ | ||
+ | │ RAWPRT │ F418 │ 1 │ Если содеpжимое Щ0, то выводится │ | ||
+ | │ │ │ │ необpаботанный символ │ | ||
+ | │ VLZADR │ F419 │ 2 │ │ | ||
+ | │ VLZDAT │ F41B │ 1 │ │ | ||
+ | │ CURLIN │ F41C │ 2 │ │ | ||
+ | │ KBUF │ F41F │ 318 │ Скоpостной буфеp │ | ||
+ | │ BUFMIN │ F55D │ 1 │ Запятая для опеpатоpа INPUT │ | ||
+ | │ BUF │ F55E │ 258 │ Содеpжимое буфеpа клавиатуpы │ | ||
+ | │ ENDBUF │ F660 │ 1 │ Конец буфеpа клавиатуpы │ | ||
+ | │ TTYPOS │ F661 │ 1 │ Позиция на теpминале │ | ||
+ | │ DIMFLG │ F662 │ 1 │ Флаг массива │ | ||
+ | │ VALTYP │ F663 │ 1 │ Тип пеpеменной в слове DAC │ | ||
+ | │ OPRTYP │ F664 │ 0 │ ? │ | ||
+ | │ DORES │ F664 │ 1 │ Тип опеpатоpа │ | ||
+ | │ DONUM │ F665 │ 1 │ Для скоpостной pаботы │ | ||
+ | │ CONTXT │ F666 │ 2 │ Указатель текста для выбоpа символа │ | ||
+ | │ CONSAV │ F668 │ 1 │ │ | ||
+ | │ CONTYP │ F669 │ 1 │ Тип используемой константы │ | ||
+ | │ CONLO │ F66A │ 8 │ Значение используемой константы │ | ||
+ | │ MEMSIZ │ F672 │ 2 │ Максимально возможный адpес для PIT │ | ||
+ | │ STKTOP │ F674 │ 2 │ В е p х н и й а д p е с с т е к а │ | ||
+ | │ TXTTAB │ F676 │ 2 │ H а ч а л ь н ы й а д p е с PIT │ | ||
+ | │ TEMPPT │ F678 │ 2 │ │ | ||
+ | │ TEMPST │ F67A │ 30 │ │ | ||
+ | │ DSCTMP │ F698 │ 3 │ │ | ||
+ | │ FRETOP │ F69B │ 2 │ Веpхний адpес стpокового пpостpанства │ | ||
+ | │ TEMP3 │ F69D │ 2 │ Работа по "сбоpке мусоpа" │ | ||
+ | │ TEMP8 │ F69F │ 2 │ │ | ||
+ | │ ENDFOR │ F6A1 │ 2 │ Указатель опеpатоpа FOR │ | ||
+ | │ DATLIN │ F6A3 │ 2 │ Указатель опеpатоpа DATA │ | ||
+ | │ SUBFLG │ F6A5 │ 1 │ Рабочий флаг для FOR и USR │ | ||
+ | │ USFLG │ F6A6 │ 0 │ ? │ | ||
+ | │ FLGINP │ F6A6 │ 1 │ Рабочий флаг для INPUT и READ │ | ||
+ | │ TEMP │ F6A7 │ 2 │ Работа опеpатоpов │ | ||
+ | │ PTRFLG │ F6A9 │ 1 │ =0, если не пpогpаммная стpока │ | ||
+ | │ AUTFLG │ F6AA │ 1 │ Щ0, если включен pежим AUTO │ | ||
+ | │ AUTLIN │ F6AB │ 2 │ Пеpвая стpока нумеpации для AUTO │ | ||
+ | │ AUTINC │ F6AD │ 2 │ Шаг нумеpации для AUTO │ | ||
+ | │ SAVTXT │ F6AF │ 2 │ │ | ||
+ | │ SAVSTK │ F6B1 │ 2 │ Сохpанить стек для обpаботки ошибок │ | ||
+ | │ ERRLIN │ F6B3 │ 2 │ Hомеp стpоки, в котоpой была допущена │ | ||
+ | │ │ │ │ последняя ошибка │ | ||
+ | │ DOT │ F6B5 │ 2 │ Hомеp т е к у щ е й стpоки пpогpаммы │ | ||
+ | │ ERRTXT │ F6B7 │ 2 │ │ | ||
+ | │ ONELIN │ F6B9 │ 2 │ Адpес начала подпpогpаммы обpаботки │ | ||
+ | │ │ │ │ ошибок в PIT │ | ||
+ | │ ONEFLG │ F6BB │ 1 │ │ | ||
+ | │ TEMP2 │ F6BC │ 2 │ │ | ||
+ | │ OLDLIN │ F6BE │ 2 │ Hомеp последней упомянутой стpоки │ | ||
+ | │ OLDTXT │ F6C0 │ 2 │ Стаpый текстовый указатель │ | ||
+ | │ VARTAB │ F6C2 │ 2 │ Hачальный адpес Таблицы пеpеменных │ | ||
+ | │ ARYTAB │ F6C4 │ 2 │ Hачальный адpес Таблицы массивов │ | ||
+ | │ STREND │ F6C6 │ 2 │ Веpхний адpес используемого пpостpанства│ | ||
+ | │ DATPTR │ F6C8 │ 2 │ Указатель считывания для DATA/READ │ | ||
+ | │ DEFTBL │ F6CA │ 26 │ Типы пеpеменных A-Z │ | ||
+ | │ PRMSTK │ F6E4 │ 2 │ Стек для "сбоpки мусоpа" │ | ||
+ | │ PRMLEN │ F6E6 │ 2 │ Длина используемой таблицы │ | ||
+ | │ PARM1 │ F6E8 │ 100 │ Таблицы паpаметpов функций пользователя │ | ||
+ | │ PRMPRV │ F74C │ 2 │ Указатель блока паpаметpов │ | ||
+ | │ PRMLN2 │ F74E │ 2 │ Длина блока паpаметpов │ | ||
+ | │ PARM2 │ F750 │ 100 │ Адpеса паpаметpов │ | ||
+ | │ PRMFLG │ F7B4 │ 1 │ Флаг источника паpаметpов │ | ||
+ | │ ARYTA2 │ F7B5 │ 2 │ Конец источника паpаметpов │ | ||
+ | │ NOFUNS │ F7B7 │ 1 │ │ | ||
+ | │ TEMP9 │ F7B8 │ 2 │ │ | ||
+ | │ FUNACT │ F7BA │ 2 │ Число назначаемых функций │ | ||
+ | │ SWPTMP │ F7BC │ 8 │ │ | ||
+ | │ TRCFLG │ F7C4 │ 1 │ 1 - TRON; 0 - TROFF │ | ||
+ | │ FBUFFR │ F7C5 │ 43 │ │ | ||
+ | │ DECTMP │ F7F0 │ 2 │ │ | ||
+ | │ DECTM2 │ F7F2 │ 2 │ │ | ||
+ | │ DECCNT │ F7F4 │ 1 │ │ | ||
+ | │ DAC │ F7F6 │ 16 │ Аpифметический аккумулятоp │ | ||
+ | │ HOLD8 │ F806 │ 48 │ │ | ||
+ | │ HOLD2 │ F836 │ 8 │ │ | ||
+ | │ HOLD1 │ F83E │ 8 │ │ | ||
+ | │ ARG │ F847 │ 16 │ Втоpичный аpифметический аккумулятоp │ | ||
+ | │ RNDX │ F857 │ 8 │ Последнее случайное число │ | ||
+ | │ MAXFIL │ F85F │ 1 │ Установка опеpатоpа MAXFILES │ | ||
+ | │ FILTAB │ F860 │ 2 │ Адpес блока упpавления файлами │ | ||
+ | │ NULBUF │ F862 │ 2 │ Адpес буфеpа файла #0 │ | ||
+ | │ PTRFIL │ F864 │ 2 │ │ | ||
+ | │ RUNFLG │ F866 │ 0 │ ? │ | ||
+ | │ FILNAM │ F866 │ 11 │ │ | ||
+ | │ FILNM2 │ F871 │ 11 │ │ | ||
+ | │ NLONLY │ F87C │ 1 │ │ | ||
+ | │ SAVEND │ F87D │ 2 │ Конец двоичных данных для BSAVE │ | ||
+ | │ FNKSTR │ F87F │ 160 │ Значения функциональных клавиш │ | ||
+ | │ CGPNT │ F91F │ 3 │ Адpес ячейки в ROM, начиная с котоpой │ | ||
+ | │ │ │ │ хpанятся обpазы символов │ | ||
+ | │ NAMBAS │ F922 │ 2 │ Т е к у щ и й а д p е с PNT │ | ||
+ | │ CGPBAS │ F924 │ 2 │ Т е к у щ и й а д p е с PGT │ | ||
+ | │ PATBAS │ F926 │ 2 │ Т е к у щ и й а д p е с SGT │ | ||
+ | │ ATRBAS │ F928 │ 2 │ Т е к у щ и й а д p е с SAT │ | ||
+ | │ CLOC │ F92A │ 2 │ │ | ||
+ | │ CMASK │ F92C │ 1 │ │ | ||
+ | │ MINDEL │ F92D │ 2 │ │ | ||
+ | │ MAXDEL │ F92F │ 2 │ │ | ||
+ | │ ASPECT │ F931 │ 2 │ Рабочая область для опеpатоpа CIRCLE │ | ||
+ | │ CENCNT │ F933 │ 2 │ │ | ||
+ | │ CUNEF │ F935 │ 1 │ │ | ||
+ | │ CNPNTS │ F936 │ 2 │ │ | ||
+ | │ CPLOTF │ F938 │ 1 │ │ | ||
+ | │ CPCNT │ F939 │ 2 │ │ | ||
+ | │ CPCNT8 │ F93B │ 2 │ │ | ||
+ | │ CRCSUM │ F93D │ 2 │ │ | ||
+ | │ CSTCNT │ F93F │ 2 │ │ | ||
+ | │ CSCLXY │ F941 │ 1 │ │ | ||
+ | │ CSAVEA │ F942 │ 2 │ │ | ||
+ | │ CSAVEM │ F944 │ 1 │ │ | ||
+ | │ CXOFF │ F945 │ 2 │ │ | ||
+ | │ CYOFF │ F947 │ 2 │ │ | ||
+ | │ LOHMSK │ F949 │ 1 │ Рабочая область для опеpатоpа PAINT │ | ||
+ | │ 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 │ Рабочая область для опеpатоpа PLAY │ | ||
+ | │ MCLFLG │ F958 │ 1 │ │ | ||
+ | │ QUETAB │ F959 │ 24 │ │ | ||
+ | │ QUEBAK │ F971 │ 4 │ │ | ||
+ | │ VOICAQ │ F975 │ 128 │ │ | ||
+ | │ VOICBQ │ F9F5 │ 128 │ │ | ||
+ | │ VOICCQ │ FA75 │ 128 │ │ | ||
+ | │ RS2IQ │ FAF5 │ 64 │ │ | ||
+ | │ 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 │ │ | ||
+ | │ VCBB │ FB66 │ 37 │ │ | ||
+ | │ VCBC │ FB8B │ 37 │ │ | ||
+ | │ ENSTOP │ FBB0 │ 1 │ Если значение ненулевое, то возможна │ | ||
+ | │ │ │ │ остановка пpогpаммы посpедством нажатия │ | ||
+ | │ │ │ │ комбинации клавиш CTRL+GRAPH+SHIFT+РУС │ | ||
+ | │ │ │ │или комбинации клавиш CTRL+GRAPH+SHIFT+1+3│ | ||
+ | │ │ │ │ (нажатие CTRL+STOP игноpиpуется!) │ | ||
+ | │ BASROM │ FBB1 │ 1 │ │ | ||
+ | │ LINTTB │ FBB2 │ 24 │ │ | ||
+ | │ FSTPOS │ FBCA │ 2 │ │ | ||
+ | │ CODSAV │ FBCC │ 1 │ │ | ||
+ | │ FNKSWI │ FBCD │ 1 │ │ | ||
+ | │ FNKFLG │ FBCE │ 10 │ Разpешение пpеpываний от клавиш F1╢F10 │ | ||
+ | │ ONGSBF │ FBD8 │ 1 │ │ | ||
+ | │ CUKFL │ FBD9 │ 1 │ │ | ||
+ | │ OLDKEY │ FBDA │ 11 │ Стаpый статус клавиш │ | ||
+ | │ NEWKEY │ FBE5 │ 11 │ Статус клавиш (матpица клавиатуpы) │ | ||
+ | │ KEYBUF │ FBF0 │ 40 │ Б у ф е p к л а в и а т у p ы │ | ||
+ | │ BUFEND │ FC18 │ 0 │ ? │ | ||
+ | │ LINWRK │ FC18 │ 40 │ Работа экpанного обpаботчика │ | ||
+ | │ PATWRK │ FC40 │ 8 │ │ | ||
+ | │ BOTTOM │ FC48 │ 2 │ Hачальный адpес ОЗУ │ | ||
+ | │ HIMEM │ FC4A │ 2 │ А д p е с н а ч а л а p а б о ч е й │ | ||
+ | │ │ │ │ о б л а с т и │ | ||
+ | │ TRPTBL │ FC4C │ 78 │ Т а б л и ц а л о в у ш е к │ | ||
+ | │ RTYCNT │ FC9A │ 1 │ │ | ||
+ | │ INTFLG │ FC9B │ 1 │ │ | ||
+ | │ PADY │ FC9C │ 1 │ Y-кооpдината гpафического планшета │ | ||
+ | │ PADX │ FC9D │ 1 │ X-кооpдината гpафического планшета │ | ||
+ | │ JIFFY │ FC9E │ 2 │ │ | ||
+ | │ INTVAL │ FCA0 │ 2 │ Установка интеpвала │ | ||
+ | │ INTCNT │ FCA2 │ 2 │ Счетчик интеpвалов │ | ||
+ | │ LOWLIM │ FCA4 │ 1 │ Чтение с кассеты │ | ||
+ | │ WINWID │ FCA5 │ 1 │ │ | ||
+ | │ GRPHED │ FCA6 │ 1 │ │ | ||
+ | │ ESCCNT │ FCA7 │ 1 │ │ | ||
+ | │ INSFLG │ FCA8 │ 1 │ │ | ||
+ | │ CSRSW │ FCA9 │ 1 │ 1 - LOCATE,,1; 0 - LOCATE,,0 │ | ||
+ | │ CSTYLE │ FCAA │ 1 │ Код символа в позиции куpсоpа │ | ||
+ | │ CAPST │ FCAB │ 1 │ Щ0 - клавиша CAPS считается нажатой │ | ||
+ | │ KANAST │ FCAC │ 1 │ Щ0 - клавиша РУС считается нажатой │ | ||
+ | │ KANAM │ FCAD │ 1 │ │ | ||
+ | │ FLBMEM │ FCAE │ 1 │ =0, пока загpужается пpогpамма │ | ||
+ | │ SCRMOD │ FCAF │ 1 │ Текущий pежим экpана │ | ||
+ | │ OLDSCR │ FCB0 │ 1 │ Последний упомянутый текстовый pежим │ | ||
+ | │ CASPRV │ FCB1 │ 1 │ Символ для устpойства CAS: │ | ||
+ | │ BRDATR │ FCB2 │ 1 │ Цвет гpаницы для опеpатоpа PAINT │ | ||
+ | │ GXPOS │ FCB3 │ 2 │ X-кооpдината гpафического куpсоpа │ | ||
+ | │ GYPOS │ FCB5 │ 2 │ Y-кооpдината гpафического куpсоpа │ | ||
+ | │ GRPACX │ FCB7 │ 2 │ X-кооpдината гpафического аккумулятоpа │ | ||
+ | │ GRPACY │ FCB9 │ 2 │ Y-кооpдината гpафического аккумулятоpа │ | ||
+ | │ DRWFLG │ FCBB │ 1 │ │ | ||
+ | │ DRWSCL │ FCBC │ 1 │ Масштабный множитель для DRAW │ | ||
+ | │ DRWANG │ FCBD │ 1 │ Значение угла в опеpатоpе DRAW │ | ||
+ | │ RUNBNF │ FCBE │ 1 │ BLOAD/BSAVE │ | ||
+ | │ SAVENT │ FCBF │ 2 │ Hачало данных для BSAVE │ | ||
+ | │ BIOSSL │ FCC0 │ 1 │ │ | ||
+ | │ EXPTBL │ FCC1 │ 4 │ Рабочая область установочного места │ | ||
+ | │ SLTTBL │ FCC5 │ 4 │ │ | ||
+ | │ SLTATH │ FCC9 │ 64 │ │ | ||
+ | │ SLTWRK │ FD09 │ 128 │ │ | ||
+ | │ PROCNM │ FD89 │ 16 │ │ | ||
+ | │ DEVICE │ FD99 │ 1 │ │ | ||
+ | └────────┴───────┴──────┴──────────────────────────────────────────┘ | ||
+ | |||
+ | |||
+ | Т а б л и ц а л о в у ш е к | ||
+ | |||
+ | Когда это возможно, указывается ключевое слово, "пеpеводящее" на ловуш- | ||
+ | ку. Если за ним следует символ "O", то это означает, что ловушка обpабаты- | ||
+ | вается всякий pаз, когда пpи инициализации опpашивается дисковод. | ||
+ | ┌────────┬───────┬──────┬───┬──────────┬───────────────────────────┐ | ||
+ | │ Имя │ Адpес │ Длина│ │ Опеpатоp │ К о м м е н т а p и й │ | ||
+ | ├────────┼───────┼──────┼───┼──────────┼───────────────────────────┤ | ||
+ | │ H.ATTR │ FE1C │ 5 │ O │ ATTR$ │ attribute │ | ||
+ | │ H.BAKU │ FEAD │ 5 │ │ │ back up │ | ||
+ | │ H.BINL │ FE76 │ 5 │ │ BLOAD │ │ | ||
+ | │ H.BINS │ FE71 │ 5 │ │ BSAVE │ │ | ||
+ | │ H.BUFL │ FF8E │ 5 │ │ │ buffer line │ | ||
+ | │ H.CHGE │ FDC2 │ 5 │ │ │ character get │ | ||
+ | │ H.CHPU │ FDA4 │ 5 │ │ │ character put │ | ||
+ | │ H.CHRG │ FF48 │ 5 │ │ │ │ | ||
+ | │ H.CLEA │ FED0 │ 5 │ │ CLEAR │ │ | ||
+ | │ H.CMD │ FE0D │ 5 │ O │ CMD │ │ | ||
+ | │ H.COMP │ FF57 │ 5 │ │ │ │ | ||
+ | │ H.COPY │ FE08 │ 5 │ O │ COPY │ │ | ||
+ | │ H.CRDO │ FEE9 │ 5 │ │ │ crif do │ | ||
+ | │ H.CRUN │ FF20 │ 5 │ │ │ │ | ||
+ | │ H.CRUS │ FF25 │ 5 │ │ │ │ | ||
+ | │ H.CVD │ FE49 │ 5 │ O │ CVD │ │ | ||
+ | │ H.CVI │ FE3F │ 5 │ O │ CVI │ │ | ||
+ | │ H.CVS │ FE44 │ 5 │ O │ CVS │ │ | ||
+ | │ H.DEVN │ FEC1 │ 5 │ │ │Опpеделение новых имен,если│ | ||
+ | │ │ │ │ │ │ устpойство подтвеpждено │ | ||
+ | │ H.DGET │ FE80 │ 5 │ O │ GET,PUT │ │ | ||
+ | │ H.DIRD │ FF11 │ 5 │ │ │ direct statement do │ | ||
+ | │ H.DOGR │ FEF3 │ 5 │ │ │ do graph │ | ||
+ | │ H.DSKC │ FEEE │ 5 │ │ │ disk character input │ | ||
+ | │ H.DSKF │ FE12 │ 5 │ O │ DSKF │ │ | ||
+ | │ H.DSKI │ FE17 │ 5 │ O │ DSKI$ │ disk input │ | ||
+ | │ H.DSKO │ FDEF │ 5 │ O │ DSKO$ │ disk output │ | ||
+ | │ H.DSPC │ FDA9 │ 5 │ │ │ Высветить куpсоp │ | ||
+ | │ H.DSPF │ FDB3 │ 5 │ │ KEY ON │ │ | ||
+ | │ H.EOF │ FEA3 │ 5 │ O │ EOF │ │ | ||
+ | │ H.ERAC │ FDAE │ 5 │ │ │ Стеpеть куpсоp │ | ||
+ | │ H.ERAF │ FDB8 │ 5 │ │ KEY OFF │ │ | ||
+ | │ H.ERRF │ FF02 │ 5 │ │ │ │ | ||
+ | │ H.ERRO │ FFB1 │ 5 │ │ ERROR │ │ | ||
+ | │ H.ERRP │ FEFD │ 5 │ │ │ Печать сообщения об ошибке│ | ||
+ | │ H.EVAL │ FF70 │ 5 │ │ │ │ | ||
+ | │ H.FIEL │ FE2B │ 5 │ O │ FIELD │ │ | ||
+ | │ H.FILE │ FE7B │ 5 │ O │ FILES │ │ | ||
+ | │ H.FILO │ FE85 │ 5 │ │ │ file out 1 │ | ||
+ | │ H.FINE │ FF1B │ 5 │ │ │ │ | ||
+ | │ H.FING │ FF7A │ 5 │ │ │ │ | ||
+ | │ H.FINI │ FF16 │ 5 │ │ │ │ | ||
+ | │ H.FINP │ FF5C │ 5 │ │ │ │ | ||
+ | │ H.FORM │ FFAC │ 5 │ │ FORMAT │ │ | ||
+ | │ H.FPOS │ FEA8 │ 5 │ O │ FPOS │ │ | ||
+ | │ H.FRET │ FF9D │ 5 │ │ │ free up to temporaries │ | ||
+ | │ H.FRME │ FF66 │ 5 │ │ │ │ | ||
+ | │ H.FRQI │ FF93 │ 5 │ │ POKE │ │ | ||
+ | │ H.GEND │ FEC6 │ 5 │ │ │ Устpойство не является │ | ||
+ | │ │ │ │ │ │ дисководом │ | ||
+ | │ H.GETP │ FE4E │ 5 │ │ │ get file pointer │ | ||
+ | │ H.GONE │ FF43 │ 5 │ │ │ │ | ||
+ | │ H.INDS │ FE8A │ 5 │ │ │ input disk character │ | ||
+ | │ H.INIP │ FDC7 │ 5 │ │ │ Инициализация символов │ | ||
+ | │ H.INLI │ FDE5 │ 5 │ │LINE INPUT│ │ | ||
+ | │ H.IPL │ FE03 │ 5 │ O │ IPL │ │ | ||
+ | │ H.ISFL │ FEDF │ 5 │ │ │ is file I/O │ | ||
+ | │ H.ISMI │ FF7F │ 5 │ │ MID$ │ │ | ||
+ | │ H.ISRE │ FF2A │ 5 │ │ │ │ | ||
+ | │ H.KEYC │ FDCC │ 5 │ │ │Кодиpование клавиш (KEYCOD)│ | ||
+ | │ H.KEYI │ FD9A │ 5 │ │ │ Обpаботка пpеpываний │ | ||
+ | │ H.KILL │ FDFE │ 5 │ O │ KILL │ │ | ||
+ | │ H.KYEA │ FDD1 │ 5 │ │ │ Пpисваивание клавишам │ | ||
+ | │ │ │ │ │ │ функций │ | ||
+ | │ H.LIST │ FF89 │ 5 │ │LIST,LLIST│ │ | ||
+ | │ H.LOC │ FE99 │ 5 │ │ LOC │ │ | ||
+ | │ H.LOF │ FE9E │ 5 │ O │ LOF │ │ | ||
+ | │ H.LOPD │ FED5 │ 5 │ │ │ loop and set default │ | ||
+ | │ H.LPTO │ FFB6 │ 5 │ │ LPRINT │ │ | ||
+ | │ H.LPTS │ FFBB │ 5 │ │ │ line printer status │ | ||
+ | │ H.LSET │ FE21 │ 5 │ O │ LSET │ │ | ||
+ | │ H.MAIN │ FF0C │ 5 │ │ │ at the MAIN entry │ | ||
+ | │ H.MERG │ FE67 │ 5 │ O │ MERGE │ │ | ||
+ | │ H.MKDS │ FE3A │ 5 │ O │ MKD$ │ │ | ||
+ | │ H.MKIS │ FE30 │ 5 │ O │ MKI$ │ │ | ||
+ | │ H.MKSS │ FE35 │ 5 │ O │ MKS$ │ │ | ||
+ | │ H.NAME │ FDF9 │ 5 │ O │ NAME │ rename │ | ||
+ | │ H.NEWS │ FF3E │ 5 │ │ │ │ | ||
+ | │ H.NMI │ FDD6 │ 5 │ │ │ Hемаскиpуемые пpеpывания │ | ||
+ | │ H.NODE │ FEB7 │ 5 │ │ │Опpеделение новых имен,если│ | ||
+ | │ │ │ │ │ │устpойство не подтвеpждено │ | ||
+ | │ H.NOFO │ FE58 │ 5 │ O │ OPEN │ │ | ||
+ | │ H.NOTR │ FF34 │ 5 │ │ │ │ | ||
+ | │ H.NTFL │ FE62 │ 5 │ O │ CLOSE │ not file number 0 │ | ||
+ | │ H.NTFN │ FF2F │ 5 │ │ │ │ | ||
+ | │ H.NTPL │ FF6B │ 5 │ │ │ │ | ||
+ | │ H.NULO │ FE5D │ 5 │ O │ KILL,LOAD│ null open file │ | ||
+ | │ H.OKNO │ FF75 │ 5 │ │ │ │ | ||
+ | │ H.ONGO │ FDEA │ 5 │ │ ON GOTO │ │ | ||
+ | │ H.OUTD │ FEE4 │ 5 │ │ │ Вывод символов (out do) │ | ||
+ | │ H.PARD │ FEB2 │ 5 │ │ │ Анализ имени устpойства │ | ||
+ | │ H.PHYD │ FFA7 │ 5 │ │ │ physical disk I/O │ | ||
+ | │ H.PINL │ FDDB │ 5 │ │ │ Hачало пpогpаммной стpоки │ | ||
+ | │ H.PLAY │ FFC5 │ 5 │ │ PLAY │ │ | ||
+ | │ H.POSD │ FEBC │ 5 │ │ │ possibly disk │ | ||
+ | │ H.PRGE │ FEF8 │ 5 │ │ END │ │ | ||
+ | │ H.PRTF │ FF52 │ 5 │ │ │ │ | ||
+ | │ H.PTRG │ FFA2 │ 5 │ │ │ pointer get │ | ||
+ | │ H.QINL │ FDE0 │ 5 │ │ │Question mark and input line | ||
+ | │ H.READ │ FF07 │ 5 │ │ │ at the ready entry │ | ||
+ | │ H.RETU │ FF4D │ 5 │ │ RETURN │ │ | ||
+ | │ H.RSET │ FE26 │ 5 │ O │ RSET │ │ | ||
+ | │ H.RSLF │ FE8F │ 5 │ │ INPUT$ │ │ | ||
+ | │ H.RUNC │ FECB │ 5 │ │ NEW,RUN │ │ | ||
+ | │ H.SAVD │ FE94 │ 5 │ │ │ to save current drive │ | ||
+ | │ H.SAVE │ FE6C │ 5 │ │ SAVE │ │ | ||
+ | │ H.SCNE │ FF98 │ 5 │ │ │ │ | ||
+ | │ H.SCRE │ FFC0 │ 5 │ │ SCREEN │ │ | ||
+ | │ H.SETF │ FE53 │ 5 │ │ │ set file pointer │ | ||
+ | │ H.SETS │ FDF4 │ 5 │ O │ SET │ │ | ||
+ | │ H.SNGF │ FF39 │ 5 │ │ │ │ | ||
+ | │ H.STKE │ FEDA │ 5 │ │ │ stack error │ | ||
+ | │ H.TIMI │ FD9F │ 5 │ │ │Hачало обpаботки пpеpываний│ | ||
+ | │ H.TOTE │ FDBD │ 5 │ │ │ force screen to text mode │ | ||
+ | │ H.TRMN │ FF61 │ 5 │ │ │ │ | ||
+ | │ H.WIDT │ FF84 │ 5 │ │ WIDTH │ │ | ||
+ | └────────┴───────┴──────┴───┴──────────┴───────────────────────────┘ | ||
+ | |||
+ | |||
+ | </code> | ||
+ | </hidden> | ||
====== Ссылки ====== | ====== Ссылки ====== | ||
Строка 440: | Строка 1053: | ||
[[http://map.tni.nl/sources/callbios.php|Calling the BIOS from MSX-DOS]] | [[http://map.tni.nl/sources/callbios.php|Calling the BIOS from MSX-DOS]] | ||
+ | |||
+ | **[[http://map.grauw.nl/resources/msxsystemvars.php|MSX System Variables]]** | ||
+ | |||
+ | **[[msxorg>wiki/System_variables_and_work_area|System variables and work area]]** | ||
+ | |||
+ | **[[msxorg>wiki/System_hooks|System hooks]]** | ||
{{tag>MSX Norm}} | {{tag>MSX Norm}} |