Subversion Repositories ngs

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ; LAST UPDATE: 25.02.2023 savelij
  3.  
  4. ; порты Z84
  5. Z84_CTC_0       EQU 0x10                ; STC0_C
  6. Z84_CTC_1       EQU 0x11                ; STC1_C
  7. Z84_CTC_2       EQU 0x12                ; STC2_C
  8. Z84_CTC_3       EQU 0x13                ; STC3_C
  9.  
  10. Z84_SIO_ADATA   EQU 0x18                ; DAT_A
  11. Z84_SIO_ACTRL   EQU 0x19                ; COM_A
  12. Z84_SIO_BDATA   EQU 0x1A                ; DAT_B
  13. Z84_SIO_BCTRL   EQU 0x1B                ; COM_B
  14.  
  15. Z84_PIO_ADATA   EQU 0x1C                ; LPT1_D
  16. Z84_PIO_ACMD    EQU 0x1D                ; LPT1_C
  17. Z84_PIO_BDATA   EQU 0x1E                ; LPT2_D
  18. Z84_PIO_BCMD    EQU 0x1F                ; LPT2_C
  19.  
  20. PAL_SCP         EQU Z84_PIO_BDATA
  21.  
  22. Z84_SCRP        EQU 0xEE                ; Systen Contorl Register Pointer
  23. Z84_SCDP        EQU 0xEF                ; Systen Control Data Port
  24.  
  25. Z84_WDTMR       EQU 0xF0                ; Watch-Dog Timer (Master Register)
  26. Z84_WDTCR       EQU 0xF1                ; Watch-Dog Timer (Control Register)
  27. Z84_INTPRIREG   EQU 0xF4                ; Interrupt Priority Register
  28.  
  29. STC0_C          EQU Z84_CTC_0
  30. STC1_C          EQU Z84_CTC_1
  31. STC2_C          EQU Z84_CTC_2
  32. STC3_C          EQU Z84_CTC_3
  33.  
  34. KBD_DAT         EQU Z84_SIO_BDATA
  35. KBD_COM         EQU Z84_SIO_BCTRL
  36.  
  37. COM_A           EQU Z84_SIO_ACTRL
  38. DAT_A           EQU Z84_SIO_ADATA
  39. COM_B           EQU Z84_SIO_BCTRL
  40. DAT_B           EQU Z84_SIO_BDATA
  41.  
  42. LPT1_D          EQU Z84_PIO_ADATA
  43. LPT1_C          EQU Z84_PIO_ACMD
  44. LPT2_D          EQU Z84_PIO_BDATA
  45. LPT2_C          EQU Z84_PIO_BCMD
  46.  
  47. ; порты
  48. PAGE_CPU0       EQU 0x82                ; окно проецирования 0
  49. PAGE_CPU1       EQU 0xA2                ; окно проецирования 1
  50. PAGE_CPU2       EQU 0xC2                ; окно проецирования 2
  51. PAGE_CPU3       EQU 0xE2                ; окно проецирования 3
  52.  
  53. SYS_PORT_OFF    EQU 0x3C
  54. SYS_PORT_ON     EQU 0x7C
  55. SYS_PORT_ROMS   EQU 0x5C
  56. PORT_COVOX      EQU 0x4E
  57. PORT_MODES      EQU 0x204E
  58.  
  59. Y_PORT          EQU 0x89
  60. RGADR           EQU 0x89
  61. RGMOD           EQU 0xC9
  62. RGSCR           EQU 0xE9
  63.  
  64. PAL_V_PAGE      EQU 0x9E
  65.  
  66. CNF_PAGE        EQU 0x40
  67. SYS_PAGE        EQU 0xFE
  68. MODE_PAGE       EQU 0xFC
  69.  
  70. P_KBD_OUT       EQU 0xF8
  71. P_KBD_IN        EQU 0xFE
  72.  
  73. PORT_JOI        EQU 0xFF
  74.  
  75. ; порты CMOS
  76. CMOS_DATA_RD    EQU 0xFFBD
  77. CMOS_DATA_WR    EQU 0xBFBD
  78. CMOS_ADR_WR     EQU 0xDFBD
  79.  
  80. ISA_PORT        EQU 0x9FBD
  81.  
  82. CNF_0           EQU 0x04
  83. CNF_1           EQU 0x0C
  84. CNF_2           EQU 0x14
  85. CNF_3           EQU 0x1C
  86. CNF_512         EQU 0x80        ; включение Pentagon 128
  87.  
  88. CBL_DIR         EQU 0x4E        ; порт управления COVOX-Blaster
  89.                                 ; bit 7 - 1 включить CBL
  90.  
  91. PG_SP1          equ 0xEC
  92. PG_SP2          equ 0xEE
  93. PG_AY           equ 0xEA
  94.  
  95. ; порты FDD
  96. VG_COM          EQU 0x0F
  97. VG_TRK          EQU 0x3F
  98. VG_SEC          EQU 0x5F
  99. VG_DATA         EQU 0x7F
  100. VG_FF           EQU 0xFF
  101. VG_SELECT       EQU 0xBD
  102. VG_SEL_720      EQU 0x01
  103. VG_SEL_1440     EQU 0x21
  104.  
  105. PORT_VSYNC      EQU VG_SELECT
  106. .SELECT_320L    EQU 0x41
  107. .SELECT_312L    EQU 0x61
  108.  
  109. ; порты HDD
  110. PR_1F7W                 EQU 0x4153      ; W регистр команд
  111. PR_1F7R                 EQU 0x4053      ; R регистр состояния
  112. PR_1F6W                 EQU 0x4152      ; W CHS-номер головы и устройства/LBA адрес 24-27
  113. PR_1F6R                 EQU 0x4052      ; R CHS-номер головы и устройства/LBA адрес 24-27
  114. PR_1F5W                 EQU 0x0155      ; W CHS-цилиндр 8-15/LBA адрес 16-23
  115. PR_1F5R                 EQU 0x0055      ; R CHS-цилиндр 8-15/LBA адрес 16-23
  116. PR_1F4W                 EQU 0x0154      ; W CHS-цилиндр 0-7/LBA адрес 8-15
  117. PR_1F4R                 EQU 0x0054      ; R CHS-цилиндр 0-7/LBA адрес 8-15
  118. PR_1F3W                 EQU 0x0153      ; W CHS-номер сектора/LBA адрес 0-7
  119. PR_1F3R                 EQU 0x0053      ; R CHS-номер сектора/LBA адрес 0-7
  120. PR_1F2W                 EQU 0x0152      ; W счетчик секторов
  121. PR_1F2R                 EQU 0x0052      ; R счетчик секторов
  122. PR_1F1W                 EQU 0x0151      ; W порт свойств
  123. PR_1F1R                 EQU 0x0051      ; R порт ошибок
  124. PR_1F0W                 EQU 0x0150      ; W порт данных младшие 8 бит
  125. PR_1F0R                 EQU 0x0050      ; R порт данных младшие 8 бит
  126. PR_3F7W                 EQU 0x4155      ; W регистр комманд
  127. PR_3F6W                 EQU 0x4154      ; W
  128. PR_HDD_SELECT           EQU 0xBC        ; выбор IDE канала
  129. PR_HDD_SECONDARY        EQU 0x01
  130. PR_HDD_PRIMARY          EQU 0x21
  131.  
  132. ; биты порта статуса
  133.  BITMASK BSY,           7
  134.  BITMASK RDY,           6
  135.  BITMASK DRQ,           3
  136.  BITMASK ERR,           0
  137.  
  138.  BITMASK LBA_CHS,       6               ; бит выбора 1-LBA, 0-CHS
  139.  BITMASK MS_SL,         4               ; бит выбора 0-MASTER, 1-SLAVE
  140.