Profi com-port

ZXNet echo conference «hardware.zx»

From Max Melnikov To Wladimir Nickolaev 21 March 2001

Hello, Wladimir Nickolaev. · ·· ---·.[ Local time 21:39 ].·-- -··· · ·· ---·.[ Wladimir Nickolaev and All ].·-- -··· · ·· ---·.[ Discussing Profi com-port ].·-- -··· WN> Tell us about the subzh and how it differs from the real one? Does it work with WN> is it external hayes and is there software for it? I asked about ports at one time, they told me, here’s what they say about the profile: DESCRIPTION OF COMPUTER PORTS PROFI, PROFI+, PROFI 2+ Main peripherals in long addressing for PROFI,PROFI+,PROFI 2+ ──────────────────────────────── ──────────────────────────────── Long addressing is valid in all operating modes PROFI, PROFI 2+ /w - means that the port is write accessible /r - means that the port is readable CPM - bit 5 of DFFD port ROM14 - bit 4 ports 7FFD ╔════════════════════╗ CPM=0/1 & ROM14=0/1 ╒═══════════╩════════════ ════════╩═════════╤══════╕ │ clock "AS" (register number) /w│ FFFF │ ├──────────────────────── ──────────────────┼──────┤ │ port CMR1 (D0-D7 see below) /w│ DFFD │ ├──────────────────────── ──────────────────┼──────┤ │ music coprocessor (data) │ BFFD │ ├──────────────────────── ──────────────────┼──────┤│ music coprocessor (register number) │ FFFD │ ├──────────────────────── ──────────────────┼──────┤ │ clock "DS" (data) │ FFEF │ ├──────────────────────── ──────────────────┼──────┤ │ free addresses A8-A12 │ **** │ ├──────────────────────── ──────────────────┼──────┤ │ port CMR0 (D0-D5 see below) /w│ 7FFD │ ├──────────────────────── ──────────────────┼──────┤ │ other addresses are prohibited │ .... │ │ │ │ └──────────────────────── ──────────────────┴──────┘ Note: the purpose of ports CMR0, CMR1 will be described below Basic peripherals in short addressing for PROFI,PROFI+,PROFI 2+ ──────────────────────────────── ───────────────────────────────── (basic addressing for SINCLAIR mode) ╔════════════════════╗ CPM=0 & ROM14=0 ╒═══════════╩═══════════ ═════════╩═════════╤════╕ │ port "FF"/r clock "AS" /w│ FF │ ├─────────────────────── ───────────────────┼────┤ │ keyboard D0-D4(D5)/r; border D0-D2 /w│ │ │ reading MG D6/w; record MG D3 /w│ FE │ │ BEEPep D4 /w│ │ ├─────────────────────── ───────────────────┼────┤│ see "music registers." │*FD │ ├─────────────────────── ───────────────────┼────┤ │ free │ FB │ ├─────────────────────── ───────────────────┼────┤ │ free │ F7 │ ├─────────────────────── ───────────────────┼────┤ │ watch "DS" │ DF │ ├─────────────────────── ───────────────────┼────┤ │ VG93 (trdos=1) ; BB55 (trdos=0) - pyс │ 7F │ ├─────────────────────── ───────────────────┼────┤ │ VG93 (trdos=1) ; BB55 (trdos=0) - port C │ 5F │ ├─────────────────────── ───────────────────┼────┤ │ VG93 (trdos=1) ; BB55 (trdos=0) - port B │ 3F │ ├─────────────────────── ───────────────────┼────┤ │ VG93 (trdos=1) ; BB55 (trdos=0) - port A │ 1F │ ├─────────────────────── ───────────────────┼────┤ │**RQ VG93(trdos=1);see port "FF"(trdos=0)/w│ FF │ ├─────────────────────── ───────────────────┼────┤ │ other addresses are prohibited │ .. │ └─────────────────────── ───────────────────┴────┘ Note: 1) the purpose of the VG93 registers coincides with those written in the table below; 2) the purpose of ports FE, FF (system register RQ VG93) will be described below. Main peripherals in short addressing ──────────────────── ─────────────────────for computers PROFI,PROFI+,PROFI 2+ ───────────────────────────────────── ╔════════════════════╗ · CPM=1 & ROM14=0 · ╒═══════════╩═══════════ ═════════╩═════════╤════╕ │ port "FF"/r; clock "AS" /w│ FF │ ├─────────────────────── ───────────────────┼────┤ │ keyboard D0-D4(D5)/r; border D0-D2 /w│ │ │ reading MG D6/r; record MG D3 /w│ FE │ │ BEEPep D4 /w│ │ ├─────────────────────── ───────────────────┼────┤ │ see "music registers." │*FD │ ├─────────────────────── ───────────────────┼────┤ │ free │ FB │ ├─────────────────────── ───────────────────┼────┤ │ free │ F7 │ ├─────────────────────── ───────────────────┼────┤ │ watch "DS" │ DF │ ├─────────────────────── ───────────────────┼────┤ │ VG93 registers - data register │ 7F │ ├─────────────────────── ───────────────────┼────┤ │ VG93 registers - sector register │ 5F │ ├─────────────────────── ───────────────────┼────┤ │ VG93 registers - track register │ 3F │ ├─────────────────────── ───────────────────┼────┤ │ command register /w, status register /r VG93 │ 1F │├─────────────────────── ───────────────────┼────┤ │ **RQ VG93 - system register │ BF │ ├─────────────────────── ───────────────────┼────┤ │ other addresses are prohibited │ .. │ │ │ │ └─────────────────────── ───────────────────┴────┘ Note: the purpose of the FE ports and the system register, see below Extended peripherals in short addressing ───────────────────── ────────────────────── only for computer PROFI 2+ ══════════════════════════════ All ports selected by long addresses work even when short addressing enabled (for example, ports CMR0, CMR1 can mode to select both short and long addresses). ╔════════════════════╗ CPM=1 & ROM14=1 ╒═══════════╩═══════════ ═════════╩═════════╤════╕ │ clock "AS" - register number /w│ FF │ ╞═══════════════════════ ═══════════════════╪════╡ │ keyboard D0-D4(D5)/r; border D0-D2 /w│ │ │ reading MG D6 /r; writing MG D3 /w│ FE │ │ BEEPip D4 /w│ │ ├─────────────────────── ───────────────────┼────┤ │ see "music registers." │*FD │ ╞═══════════════════════ ═══════════════════╪════╡│ modem "condor" (external address) │ FB │ ├─────────────────────── ───────────────────┼────┤ │ timer VI53/2 (external address) │ F7 │ ├─────────────────────── ───────────────────┼────┤ │ port pyс ВВ51 (COM1) │ F3 │ ├─────────────────────── ───────────────────┼────┤ │ port pyс VI53/1 (COM1) │ EF │ ├─────────────────────── ───────────────────┼────┤ │ hard drive port IDE │ EB │ ├─────────────────────── ───────────────────┼────┤ │ port pyс BB55 │ E7 │ ├─────────────────────── ───────────────────┼────┤ │ data register VG93 │ E3 │ ╞═══════════════════════ ═══════════════════╪════╡ │ clock "AS" (non-primary address) /w│ DF │ ├─────────────────────── ───────────────────┼────┤ │ modem "condor" (external adp) │ DB │ ├─────────────────────── ───────────────────┼────┤ │ timer VI53/2 (external address) │ D7 │ ├─────────────────────── ───────────────────┼────┤ │ data register BB51 (COM1) │ D3 │ ├─────────────────────── ───────────────────┼────┤ │ register channel 2 VI53/1 (COM1) │ CF │ ├─────────────────────── ───────────────────┼────┤ │ hard drive port IDE │ CB │├─────────────────────── ───────────────────┼────┤ │ port BB55 (port C) │ C7 │ ├─────────────────────── ───────────────────┼────┤ │ sector register VG93 │ C3 │ ╞═══════════════════════ ═══════════════════╪════╡ │ watch "DS" │ BF │ ├─────────────────────── ───────────────────┼────┤ │ modem "condor" (external adp) │ BB │ ├─────────────────────── ───────────────────┼────┤ │ timer VI53/2 (external address) │ B7 │ ├─────────────────────── ───────────────────┼────┤ │ controller control register │ B3 │ ├─────────────────────── ───────────────────┼────┤ │ register channel 1 VI53/1 (COM1) │ AF │ ├─────────────────────── ───────────────────┼────┤ │ hard drive port IDE │ AB │ ├─────────────────────── ───────────────────┼────┤ │ port BB55 (port B) │ A7 │ ├─────────────────────── ───────────────────┼────┤ │ track register VG93 │ A3 │ ╞═══════════════════════ ═══════════════════╪════╡ │ clock "DS" (non-primary address) │ 9F │ ├─────────────────────── ───────────────────┼────┤ │ modem "condor" (external adp) │ 9B │ ├─────────────────────── ───────────────────┼────┤│ timer VI53/2 (external address) │ 97 │ ├─────────────────────── ───────────────────┼────┤ │ similar to B3 (COM1) │ 93 │ ├─────────────────────── ───────────────────┼────┤ │ channel register 0 VI53/1 (COM1) │ 8F │ ├─────────────────────── ───────────────────┼────┤ │ hard drive port IDE │ 8B │ ├─────────────────────── ───────────────────┼────┤ │ port BB55 (port A) │ 87 │ ├─────────────────────── ───────────────────┼────┤ │ command register VG93 │ 83 │ ╞═══════════════════════ ═══════════════════╪════╡ │ free │ 7F │ ├─────────────────────── ───────────────────┼────┤ │ free │ 7B │ ├─────────────────────── ───────────────────┼────┤ │ free │ 77 │ ├─────────────────────── ───────────────────┼────┤ │ free │ 6F │ ├─────────────────────── ───────────────────┼────┤ │ free │ 5F │ ├─────────────────────── ───────────────────┼────┤ │ system register **RQ93 │ 3F │ ╞═══════════════════════ ═══════════════════╪════╡ │ other addresses are prohibited │ .. │└─────────────────────── ───────────────────┴────┘ NOTE: (COM1) means that this address refers to the COM port. ══ Control Memory Registers ══ ────────────────────────────── CMR0 EQU 07FFDH - Sinclair 128 register CMR1 EQU 0DFFDH - CP/M register The meaning of the CMR1 port bits. ┌────┬───────┬────────────────── ────────────────────────────────┐ │ D0 │ SEGA3 │ │ │ D1 │ SEGA4 │ Number of the projected memory page (line) │ │ D2 │ SEGA5 │ │ ├────┼───────┼────────────────── ────────────────────────────────┤ │ │ │ Selecting the position of the CPU segment projection window:│ │ D3 │ SCO │ 0 - window number 1 (C000-FFFF) │ │ │ │ 1 - window number 2 (4000-7FFF) │ ├────┼───────┼────────────────── ────────────────────────────────┤ │ │ │ 1 - disables blocking of port CMR0 and turns off │ │ D4 │ NOROM │ ROM, placing in its place the RAM from seg 00 │ ├────┼───────┼────────────────── ────────────────────────────────┤ │ │ │ 1 - blocks the operation of the controller from the TR-DOS ROM │ │ │ │ and enables controller ports for access from RAM ││ D5 │ CP/M │ (with ROM14=0). With ROM14=1 - modifies access │ │ │ │ to the extended periphery │ ├────┼───────┼────────────────── ────────────────────────────────┤ │ │ │ Projects an additional screen seg 06 into the map │ │ D6 │ SCR │ processor memory in place of seg02 with bit D3 │ │ │ │ CMR0 must be at "1" (8000-BFFF) │ ├────┼───────┼────────────────── ────────────────────────────────┤ │ │ │ 0 - "SPECTRUM" raster (video controller │ │ D7 │ 80DS │ expands seg05) │ │ │ │ 1 - Extended raster (seg06 & seg3A) │ └────┴───────┴────────────────── ────────────────────────────────┘ The value of the CMR0 port bits. ┌────┬───────┬────────────── ────────────────────────────┐ │ D0 │ SEGA0 │ Number of the projected memory segment │ │ D1 │ SEGA1 │ (column) │ │ D2 │ SEGA2 │ │ ├────┼───────┼────────────── ────────────────────────────┤ │ │ │ Selecting the position of the screen raster "SPECTRUM"│ │ │ │ 0 - seg05, 1 - seg07 (at 80DS = 0) │ │ D3 │ POLEK │ -------------------------------------+- │ │ │ │ Screen position selection CP/M (80DS = 1): ││ │ │ 0 - screen of points seg04, attributes seg38 │ │ │ │ 1 - screen of points seg06, attributes seg3A │ ├────┼───────┼────────────── ────────────────────────────┤ │ │ │ Switches ROM pages "SPECTRUM" │ │ D4 │ ROM14 │ 0 - Spectrum128, 1 - Spectrum48 (CP/M=0)│ │ │ │ -------------------------------------+- │ │ │ │ Modifier of external devices (CP/M=1)│ ├────┼───────┼────────────── ────────────────────────────┤ │ D5 │ BLOCK │ Blocks the operation of the CMR0 port (NOROM=0) │ ├────┼───────┼────────────── ────────────────────────────┤ │ D6 │ -+- │ Not used │ │ D7 │ │ │ └────┴───────┴────────────── ────────────────────────────┘ Sincerely, Max Melnikov... aka HighLander... aka Uncle Maximka... .·∙.■▀■▄■...[ProDiGy]...[LImp BiZkiT]...[GirlS]...[MetaLlicA]...■▀■▄■.∙·. `∙..∙·---──·─//─..[MW4]...[UnrEAl TouRNameNt]...[KiSh]..─/─·──---·∙..∙'