KAY
ZXNet echo conference «real.speccy»
From Andrey Sergaev → To All 8 January 2004
Tell me how to implement memory page switching in subj, plz.
Andrey aka SAVC.
[ZX] [ATMEL_AVR] [PC_ASM] [ELECTRONICS]
From Kirill Frolov → To All 21 January 2004
On Thu, 08 Jan 04 19:21:48 +0300, Andrey Sergaev wrote:
AS> Tell me how to switch memory pages in subj, plz.
#7ffd mask #87, #1ffd mask #90. The installed bits control
switching of RAM banks in the 4th page of the address space.
KAY PORTS OF BOARD VERSION 1.4
port FE output (any unused port, A0=0)
bit function
----------------------------------------------------
0 border color bit0 (blue)
1 border color bit1 (red)
2 border color bit2 (green)
3 tape output
4 audio output
5 not used
6 not implemented
7 not implemented
port FE input (any unused port, A0=0) port 1FFD output (дешифрация: 00xxxxxx xxxxxx01) (#) -- inverted signal! port A (reg.14) OUTPUT ONLY (because buffered) РАСПАЙКА ПОРТА ПРИHТЕРА pin direction Centronix name Nemo-homemade name Designation of memory pages: Address Z80 Page Connectable The KAY computer version 1.4 or earlier has 16 banks of RAM of 16 KB each, Note: the designations rom_page3 bit4 and rom_page3 bit5 mean
bit function
------------------------------------
0 keyboard (
1 keyboard (
2 keyboard (XDE38IKM)
3 keyboard (CFR47UJN)
4 keyboard (VGT56YHB) 0= key pressed
5 not used (read 0)
6 tape input
7 printer port pin 11
port 1F input (any unused port, A0=1)
bit function
---------------------------------------------------
0 kempston joystick (RIGHT)
1 kempston joystick (LEFT)
2 kempston joystick (DOWN)
3 kempston joystick (UP)
4 kempston joystick (FIRE)
5 not used (read 0)
6 not used (read0)
7 not used (read 0)
port 7FFD output (дешифрация: 01xxxxxx xxxxxx01)
bit function
----------------------------------------------------
0 ram_page3 bit0
1 ram_page3 bit1
2 ram_page3 bit2
3 screen 5/7 bank
4 rom48 / rom128
5 lock port 7ffd
6 not used
7 KAY version 1.5 : ram_page3 bit4
bit LPT pin alt. function
-----------------------------------------------------------------------
0 page0 : 1=ram bank 0, 0=rom
1 25 (#)
2 17 (#) 1= turbo mode, 0= slow
3 1= rom A15=1
4 ram_page3 bit3
5 1 (#) strobe
6 23 (#)
7 25 (#) KAY version 1.5: ram_page3 bit5
ports of AY8910 (дешифрация: 1Xxxxx xxxxxx01)
printer interface
------------------------------------------------------
bit printer port pin
-------------------------
0 2
1 3
2 4
3 5
4 6
5 7
6 8
7 9
port B (reg.15) INPUT/OUTPUT
bit printer port pin
-------------------------
0 15
1 18
2 11
3 19
4 20
5 10
6 12
7 13
----------------------------------------------------------------
1 out /STROBE /STROBE
2 out DATA0 DATA0
3 out DATA1 DATA1
4 out DATA2 DATA2
5 out DATA3 DATA3
6 out DATA4 DATA4
7 out DATA5 DATA5
8 out DATA6 DATA6
9 out DATA7 DATA7
10 in/out ACK C0
11 in/out /BUSY BUSY
12 in/out PAPER_END C1
13 in/out SELECT C2
14 power (!) /AUTO_LF INIT (+5v) (!!!)
15 in/out ERROR SELOUT
16 open collector INIT /AUTO
17 open collector SELECT_IN /SLCTIN
18 in/out GROUND ACKNLG
19 in/out GROUND PE
20 in/out GROUND ERROR
21 power GROUND GND
22 power GROUND GND
23 open collector GROUND /Q6
24 power GROUND GND
25 open collector GROUND /Q8
addressable RAM banks
Z80 space
--------------------------------------------------------------------------
#0000-#3fff ram_page0 0 or all ROM banks
#4000-#7fff ram_page1 5
#8000-#bfff ram_page2 2
#c000-#ffff ram_page3 all banks of RAM (0 for BASIC)
in total - 256 KB. The KAY computer version 1.5 has 64 banks of RAM of 16 KB
(16 KB is the size of the address space page) with a total
volume of1 MByte.
respectively the 4th and 5th digits of the bank number included in the
4th page of the address space. As for these two digits
at the moment, the compiler of this document does not have a clear
definition; perhaps these digits should be swapped.
More accurate information may be available in the user manual
of the "KAY" computer v1.5.