Orion-PRO/Sources/BIOS/ports.inc
2021-11-11 12:50:05 +03:00

176 lines
9.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;==============================
; Порты Ориона-128 и Ориона-ПРО
;==============================
PORT_00_DIPSW EQU 0x00
PORT_01_PRNT_DAT EQU 0x01
PORT_02_PRNT_CTL EQU 0x02
PORT_03_CTL EQU 0x03
PORT_04_RAM0P EQU 0x04
PORT_05_RAM1P EQU 0x05
PORT_06_RAM2P EQU 0x06
PORT_07_CTL EQU 0x07
PORT_08_RAM_PG EQU 0x08
PORT_09_ROM2_SEG EQU 0x09
PORT_0A_MEM_CFG EQU 0x0A
PORT_0B_CTL EQU 0x0B
PORT_10_VG_CMD EQU 0x10
PORT_11_VG_TRK EQU 0x11
PORT_12_VG_SECT EQU 0x12
PORT_13_VG_DATA EQU 0x13
PORT_14_VG_CTL EQU 0x14
; Порты клавиатуры
PORT_18_KBD EQU 0x18 ; F400 - port KBRD
PORT_19_KBD EQU 0x19
PORT_1A_KBD EQU 0x1A
PORT_1B_CTL EQU 0x1B
; Мультикарта
PORT_1D_MCARD_CTL EQU 0x1d
PORT_1E_MOUSE EQU 0x1e
; ROM-диск
PORT_28_ROMD_DATA EQU 0x28 ; данные ROM-диска
PORT_29_ROMD_ADRL EQU 0x29 ; мл. адрес в ROM-диске
PORT_2A_ROMD_ADRH EQU 0x2A ; ст. адрес в ROM-диске
PORT_2B_CTL EQU 0x2B ; управление ВВ55 ROM-диска
PORT_2C_ROMD_PAGE EQU 0x2C
PORT_3B_VI53_CTL EQU 0x3b ; ВИ53 на плате портов COM
; порты IDE
PORT_56_HDD_CTL EQU 0x56
PORT_57_HDD_HB EQU 0x57
PORT_58_HDD_LB EQU 0x58
PORT_59_HDD_ERR EQU 0x59
PORT_5F_HDD_STAT_CMD EQU 0x5F
; порты палитры
PORT_E0_PAL_R EQU 0xE0
PORT_E1_PAL_G EQU 0xE1
PORT_E2_PAL_B EQU 0xE2
PORT_F8_VMODE EQU 0xF8
REG_F9_RAM_PG EQU 0xF9
REG_FA_SCRN_CFG EQU 0xFA
PORT_FB_TMR_INT EQU 0xFB ; порт вкл прерывания и разблок. ROM
REG_FC_COLOR EQU 0xFC
PORT_FF_SPEAKER EQU 0xFF
; Порты через память для Ориона-128
PORT_128_F400 EQU 0xF400 ; Клавиатура
PORT_128_F500 EQU 0xF500 ; Порт пользователя 1
PORT_128_F600 EQU 0xF600 ; Порт пользователя 2
PORT_128_F700 EQU 0xF700 ; Порт платы расширения
PORT_128_F800 EQU 0xF800 ; WR Цветные режимы
PORT_128_F900 EQU 0xF900 ; WR Управление памятью
PORT_128_FA00 EQU 0xFA00 ; WR Переключение экранов
PORT_128_FB00 EQU 0xFB00 ; WR Переключение типа экрана граф/симв (не импользуется)
;
; Биты конфигурации порта 00 (DIP Switch)
;
SW_O128_MODE EQU 7
SW_INT_ROM_DISK EQU 6
SW_MENU EQU 5
SW_CHR_DISP EQU 4
SW_CMP_PG1 EQU 3
SW_KBD_RK86 EQU 2
SW_HDD EQU 1
SW_FDD EQU 0
;
; Биты порта 0A
;
RAM0_WND EQU 0 ; Окно 0 если 1 - Открыто (0000-3FFFF)
RAM1_WND EQU 1 ; Окно 1 если 1 - Открыто (4000-7FFFF)
RAM2_WND EQU 2 ; Окно 2 если 1 - Открыто (8000-BFFFF)
ROM2_WND EQU 3 ; Если 1 - Включено окно ROM2
ROM2_WND_ON EQU 0x08
ROM2_WND_OFF EQU 0xF7
ROM1_WND EQU 4 ; Если 1 - Включено окно ROM1
; ПОРТЫ "ОРИОН-ПРО"
; =================
; 00H - DIP-переключатели (чтение);
; 01H - данные принтера, инверсные (запись);
; 02H - управляющие сигналы принтера (чтение, запись);
; 03H - регистр управления для портов 00H..02H;
; 04H - регистр сегментов для окна ОЗУ RAM-0 (чтение, запись);
; 05H - регистр сегментов для окна ОЗУ RAM-1 (чтение, запись);
; 06H - регистр сегментов для окна ОЗУ RAM-2 (чтение, запись);
; 07H - регистр управления для портов 04H..05H;
; 08H - регистр страниц ОЗУ для режима "Pro" (чтение, запись);
; 09H - регистр сегментов ПЗУ ROM-2 (чтение, запись);
; 0AH - диспетчер памяти (чтение, запись);
; 0BH - регистр управления для портов 08H..0AH;
; 10H - регистр состояния/команд ВГ93 (чтение, запись)
; в режиме "128" доступен через адрес 0F710H;
; 11H - регистр дорожки ВГ93 (чтение, запись),
; в режиме "128" доступен через адрес 0F711H;
; 12H - регистр сектора ВГ93 (чтение, запись),
; в режиме "128" доступен через адрес 0F712H;
; 13H - регистр данных ВГ93 (чтение, запись),
; в режиме "128" доступен через адрес 0F713H;
; 14H - порт управления НГМД (запись),
; в режиме "128" доступен через адрес 0F714H;
; 18H..1BH - порты клавиатуры,
; в режиме "128" в зависимости от положения перемычки
; доступны через адреса 0F4XXH / 0F5XXH / 0F6XXH;
; 1CH - свободный порт Мультикарты (чтение, запись);
; 1DH - регистр управления портами 1CH,1EH,1FH;
; 1EH - порт параллельной мыши на Мультикарте (чтение);
; 1FH - порт джойстика на Мультикарте (чтение);
; 20H..23H - универсальный порт на Мультикарте, в зависимости
; от положения перемычки может быть доступен в режиме
; "128" по адресам 0F6XXH;
; 30H - регистр данных ВВ51 "COM1" (DD7)
; 31H - регистр управления ВВ51 "COM1" (DD7)
; 34H - регистр данных ВВ51 "COM2" (DD8)
; 35H - регистр управления ВВ51 "COM2" (DD8)
; 38H - счетчик 1 ВИ53 (DD6)
; 39H - счетчик 2 ВИ53 (DD6)
; 3AH - счетчик 3 ВИ53 (DD6)
; 3BH - регистр управления ВИ53 (DD6)
; 3EH - запись данных музыкального процессора (DD9)
; 3FH - чтение данных музыкального процессора (DD9)
; 3FH - запись номера регистра музыкального процессора (DD9)
; 50H - регистр данных RTC, CMOS ВИ1 (чтение, запись);
; 51H - регистр адреса RTC, CMOS ВИ1 (запись);
; 56H - регистр состояния/управления IDE (чтение, запись);
; 57H - старший байт регистра данных IDE (чтение, запись);
; 58H - младший байт регистра данных IDE (чтение, запись);
; 59H - регистр ошибок/свойств IDE;
; 5AH - счетчик секторов IDE
; 5BH - регистр сектора IDE
; 5CH - младший байт номера цилиндра IDE;
; 5DH - старший байт номера цилиндра IDE;
; 5EH - регистр головки и устройства IDE;
; 5FH - регистр состояния (чтение) и команд (запись) IDE;
; A0H,A1H,A2H - регистры адреса Квазидиска 1Мб/128К (запись);
; A3H - регистр данных Квазидиска 1Мб (чтение, запись);
; A4H - регистр данных Квазидиска 128К (чтение, запись);
; E0H - порт управления палитрой R на Мультикарте (запись);
; E1H - порт управления палитрой G на Мультикарте (запись);
; E2H - порт управления палитрой B на Мультикарте (запись);
; F8H - порт управления цветовым режимом экрана (запись),
; в режиме "128" доступен" через ячейку 0F800H;
; F9H - порт выбора страницы ОЗУ для режима "128" (запись),
; в режиме "128" доступен" через ячейку 0F900H;
; FAH - порт выбора номера экрана и ширины (запись),
; в режиме "128" доступен" через ячейку 0FA00H;
; FBH - регистр разрешения прерываний IRQ0 - 50Гц (запись);
; FCH - регистр псевдоцвета (запись);
; FDH - резерв для портов "ZX";
; FEH - порт ЦАП /звук (запись);
; FFH - динамик (запись).