Files
MZBAS/ioports.inc
T
2026-10-16 12:02:04 +03:00

108 lines
2.6 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.
; ===================================================
; Orion-128 computer
; System I/O ports
;
; Disassembled by Romychs @ 2026-10-08
; ===================================================
; System port mapped to RAM address.
; Matrix keyboard rows 0..7
PORT_F400_KBD EQU 0xf400
; System port mapped to RAM address.
; Matrix keyboard columns 0..7
PORT_F401_KBD EQU 0xf401
; System port mapped to RAM address.
; bit 0 - Tape Output
; bit 2 - Output "RUS/LAT" LED indicator
; bit 3 - Output "TapeIn" LED indicator
; bit 4 - Tape Input
; bit 5 - Input "Ctrl" keyboard key
; bit 6 - Input "Shift" keyboard key
; bit 7 - Input "RUS/LAT" keyboard key
PORT_F402_KBD EQU 0xf402
; System port mapped to RAM address.
PORT_F500_USR1 EQU 0xf500
; System port mapped to RAM address.
; Used to output LPT Data
PORT_F600_USR2 EQU 0xf600
; System port mapped to RAM address.
PORT_F601_USR2 EQU 0xf601
; System port mapped to RAM address.
; LPT Control port:
; bit 3 - input BUSY sygnal
; bit 7 - output #STROBE sygnal
PORT_F602_USR2 EQU 0xf602
; System port mapped to RAM address.
PORT_F603_USR2 EQU 0xf603
; System port mapped to RAM address.
; VG93 State/Command
FDC_F700_STATE EQU 0xf700
; System port mapped to RAM address.
; VG93 Track number
FDC_F701_TRACK EQU 0xf701
; System port mapped to RAM address.
; VG93 Sector number
FDC_F702_SECTOR EQU 0xf702
; System port mapped to RAM address.
; VG93 read/write data from floppy
FDC_F703_DATA EQU 0xf703
; System port mapped to RAM address.
FDC_F704_REQ EQU 0xf704
; System port mapped to RAM address.
; Select floppy disk side
FDC_F708_SIDE EQU 0xf708
; Write only system port mapped to RAM address.
; Set video mode.
; bit 0 - palette 0-1, 1-2;
; bit 1 - color count 0 - 16 colors, 1 - 4 colors;
; bit 2 - 0-mono, 1-color;
PORT_SYS1 EQU 0xF800
; Write only system port mapped to RAM address.
; Set active RAM page
; bits D[3:0] - page number
PORT_SYS2 EQU 0xf900
; Write only system port mapped to RAM address.
; Switch Screen
; bits D[1:0] - screen number;
; bit D6 - RAM Refresh;
; bit D7 - 12k/16k (384px/512px screen width)
PORT_SYS3 EQU 0xfa00
; Write only system port mapped to RAM address.
PORT_SYS4 EQU 0xfb00
; ===================================================
; I/O Ports
; ===================================================
; Set active RAM page
; bits D[3:0] - page number
P_SW_MEM EQU 0xf9
; Switch screen RAM window
; D1 D0
; 0 0 — screen 1 (0xС000—0xEFFF)
; 0 1 — screen 2 (0x8000—0xAFFF)
; 1 0 — screen 3 (0x4000—0x6FFF)
; 1 1 — screen 4 (0x0000—0x2FFF)
P_SW_SCR EQU 0xfa