;============================== ; Порты Ориона-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 - динамик (запись).