KAY

ZXNet echo conference «real.speccy»

From Andrey Sergaev To All 8 January 2004

Hello, everyone!

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

Press RESET immediately, Andrey Sergaev!

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)
bit function
------------------------------------
0 keyboard (AQ10P)
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

port 1FFD output (дешифрация: 00xxxxxx xxxxxx01)
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

(#) -- inverted signal!


ports of AY8910 (дешифрация: 1Xxxxx xxxxxx01)
printer interface
------------------------------------------------------

port A (reg.14) OUTPUT ONLY (because buffered)
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

РАСПАЙКА ПОРТА ПРИHТЕРА

pin direction Centronix name Nemo-homemade name
----------------------------------------------------------------
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

Designation of memory pages:

Address Z80 Page Connectable
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)

The KAY computer version 1.4 or earlier has 16 banks of RAM of 16 KB each,
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.

Note: the designations rom_page3 bit4 and rom_page3 bit5 mean
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.