PDA

Просмотр полной версии : ROM files structure



VELESOFT
14.11.2009, 22:19
What is structure of rom files bigger than 32kB ?

Exist 64kB/128kB and 256kB roms for ZX emulators.

32kB roms contain 128ROM + 48ROM.
64kB roms contain also this roms + trdos + ???. Layout of this bigger roms is same for all emulators ? Different ZX clones use same rom layout ?
Any info about bigger roms than 64kB ?

Black_Cat
14.11.2009, 23:47
64kB roms contain also this roms + trdos + ???+ Service ROM:

- Gluk Reset Service - for Pentagon;
- Kramis - for KAY;
- MOA Shadow Monitor - for Scorpion.


Layout of this bigger roms is same for all emulators ?
Yes.

Different ZX clones use same rom layout ?No.

KAY, Pentagon:

0 - Service
1 - TR_DOS
2 - SOS128
3 - SOS48

Scorpion:

0 - SOS128
1 - SOS48
2 - Service
3 - TR_DOS

VELESOFT
15.11.2009, 00:08
+ Service ROM:

- Gluk Reset Service - for Pentagon;
- Kramis - for KAY;
- MOA Shadow Monitor - for Scorpion.


And any info about way to connect this rom to low 16kB ?
After press NMI only ?
After reset only ?
Via OUT command ?


KAY, Pentagon:

0 - Service
1 - TR_DOS
2 - SOS128
3 - SOS48

After reset is set service rom ?
After NMI jump CPU to service rom or to NMI code in TRDOS rom ?


Scorpion:

0 - SOS128
1 - SOS48
2 - Service
3 - TR_DOS

After reset is set SOS128 rom ?
What abou NMI function ?

Black_Cat
15.11.2009, 00:24
Any info about bigger roms than 64kB ?ROM, over 64K in the ZX Spectrum clone produced in the ex USSR did not apply. ATM and Sprinter are not clones of ZX Spectrum. This is a ZX Spectrum compatible computers such as SamCoupe.

---------- Post added at 00:15 ---------- Previous post was at 00:08 ----------


And any info about way to connect this rom to low 16kB ?
After press NMI only ?
After reset only ?
Via OUT command ?
- Gluk Reset Service - RESET - for Pentagon only
- MOA Shadow Monitor - NMI or software - for Scorpion, ZXM-Phoenix
- Kramis - software - for KAY, ZXM-Phoenix

---------- Post added at 00:18 ---------- Previous post was at 00:15 ----------


After reset is set service rom ?Yes, for only Pentagon

---------- Post added at 00:21 ---------- Previous post was at 00:18 ----------


After reset is set SOS128 rom ?
Yes, for all clones except the Pentagon.

---------- Post added at 00:24 ---------- Previous post was at 00:21 ----------


What abou NMI function ?In Scorpion uses a modified ROM.

VELESOFT
15.11.2009, 00:26
Scorpion:

0 - SOS128
1 - SOS48
2 - Service
3 - TR_DOS


Scorpion support also PROF-ROM 256kB

First 64kB contain:

0 – BASIC-128
1 – BASIC-48
2 – SHADOW MONITOR
3 – TR-DOS
4-31 - ??? ( All this pages is used ? )

PROF-ROM is used only on Scorpion computers ?

Black_Cat
15.11.2009, 00:34
Kramis - this ROM has the technological purpose and is only used when setting up your computer.

---------- Post added at 00:34 ---------- Previous post was at 00:33 ----------


PROF-ROM is used only on Scorpion computers ?Scorpion, ZXM-Phoenix or any other available relevant management.

VELESOFT
15.11.2009, 00:38
Scorpion, ZXM-Phoenix or any other available relevant management.

Prof rom need scorpion's paging ports. Phoenix is compatible with Scorpion ?

Black_Cat
15.11.2009, 00:44
Scorpion support also PROF-ROMScorpion PROF-ROM - this is not normal ROM, this ROM has an integrated memory manager.

---------- Post added at 00:44 ---------- Previous post was at 00:41 ----------


Phoenix is compatible with Scorpion ?Yes, except for printer and serial port.

VELESOFT
15.11.2009, 00:55
It's my new project in development:

PROFI INTERFACE for ZX128+2:

- contain CPU Z80, FLASH EPROM 512kB , 1MB SRAM(+battery) , CPLD, extra NMI button

This interface can emulate memory paging of russian ZX clones (ZX PROFI, PENTAGON, SCORPION, etc...). TRDOS rom mapping will supported (work only with ramdisc in 1MB memory). All paging ports will readable, all features will changeable. For example - part of extended ram memory can emulate rom (will set to low 16kB as zx rom replacement with write protect). This enable modify zx roms, trdos , nmi menu, etc.....

Actually I must create content for this 512kB FLASH EPROM. My idea is join 4x 64kB rom (first 256kB) + one PROF-ROM (second 256kB).

VELESOFT
15.11.2009, 00:57
Scorpion PROF-ROM - this is not normal ROM, this ROM has an integrated memory manager.

I know, see my page:
http://velesoft.speccy.cz/profirom.htm :v2_wink:

Black_Cat
15.11.2009, 01:44
My idea is join 4x 64kB rom (first 256kB) + one PROF-ROM (second 256kB).ProfROM in the address space is seen as a 64K ROM.

---------- Post added at 01:11 ---------- Previous post was at 01:01 ----------


This interface can emulate memory paging of russian ZX clones (ZX PROFI, PENTAGON, SCORPION, etc...). TRDOS rom mapping will supported (work only with ramdisc in 1MB memory). All paging ports will readable, all features will changeable. For example - part of extended ram memory can emulate rom (will set to low 16kB as zx rom replacement with write protect). This enable modify zx roms, trdos , nmi menu, etc.....Publish please port specification.

---------- Post added at 01:44 ---------- Previous post was at 01:11 ----------

I propose to use the following specification of ports:


#BDFD/48605 1011110111111101 10xxxx0xxx1xxx01 rd #1FFD
#BFDD/49117 1011111111011101 10xxxx1xxx0xxx01 rd #FE
#BFFD/49149 1011111111111101 10xxxx1xxx1xxx01 rd #7FFD

#EFF7 - rd/wr
wr D2#EFF7 - blkD5#7FFD
wr D0#1FFD|D3#EFF7 r/wCPU0 MANAGETMENT
0 | 0 rdROM
0 | 1 rdROM & wrRAM
1 | 0 rwRAM
1 | 1 rdRAM

for Pentagon, Scorpion, KAY, ZXM-Pxoenix:

A14"ROM Change Adress - D4 #7FFD
A15"ROM Change Adress - D3 #1FFD
A16"ROM Change Adress - D2 #1FFD
A17"ROM Change Adress - D6 #1FFD
A18"ROM Change Adress - D5 #1FFD

for DOS mode ZX Spectrum +2a,b/+3:

A14"ROM Change Adress - D4 #7FFD
A15"ROM Change Adress - D2 #1FFD
A16"ROM Change Adress = 1
A17"ROM Change Adress - D6 #1FFD
A18"ROM Change Adress - D5 #1FFD

VELESOFT
15.11.2009, 02:07
Publish please port specification.

PROFI IF is actually in development and contain reprogrammable CPLD. All features and ports can be modified during development. :v2_wink2:

My first upgrade is PENTAGON INTERFACE:
http://velesoft.speccy.cz/pentagon512_interface.htm
http://velesoft.speccy.cz/pentagon512_interface/pentagon512-interface-top.jpg

PROFI INTERFACE will compatible, but more powerfull :v2_yahoo:
New NMI button will jump to extra NMI menu without rewriting memory on stack pointer (it's planned feature). I/O adress space can be mirrored to extra memory and user can read from memory last writed values to ports :v2_scare:
Possibility block extra memory for users (128kB only) and enable extra memory (1MB) only for trdos rom (ramdisc will protected).
Advanced memory paging in low 16kB (as rom replacement) = DivIDE emulation
INFO ABOUT DIVIDE INTERFACE:
http://velesoft.speccy.cz/zx/divide/index.htm



I propose to use the following specification of ports:


#BDDD/48637 1011110111111101 10xxxx0xxx0xxx01 rd #DFFD
#BDFD/48605 1011110111111101 10xxxx0xxx1xxx01 rd #1FFD
#BFDD/49117 1011111111011101 10xxxx1xxx0xxx01 rd #FE
#BFFD/49149 1011111111111101 10xxxx1xxx1xxx01 rd #7FFD

Yes, it can be implemented to PROFI INTERFACE :v2_wink2:

---------- Post added at 21:07 ---------- Previous post was at 20:59 ----------


wr D2#EFF7 blkD5#7FFD(X)
wr D0#1FFD|D3#EFF7 r/wCPU0 MANAGETMENT
0 | 0 rdROM
0 | 1 rdROM & wrRAM
1 | 0 rwRAM
1 | 1 rdRAM

A14"ROM Change Adress - D4 #7FFD
A15"ROM Change Adress - D3 #1FFD
A16"ROM Change Adress - D2 #1FFD
A17"ROM Change Adress - D6 #1FFD
A18"ROM Change Adress - D5 #1FFD
[/code]

I will support more different rom paging ports:
DIVIDE rom memory on port 227
MB02 rom memory on port 23
ZX rom memory on port 7FFD/1FFD (+2A/+3/Scorpion)

1MB Ram paging ports:
7FFD (Pentagon 1024)
7FFD+1FFD (Scorpion)
7FFD+DFFD (ZX PROFI)

MB02 PAGING PORT 23:
port layout:
D0-D4 - number of 16kB rom/sram page (0-31)
D5 - 1=write enable or 0=write protect low 16kB memory
D6 - 1=connect sram memory (only if D7=0)
D7 - 1=connect rom memory (only if D6=0)

If D6=0 and D7=0 then will MB02 memory disabled and ZX rom is connect in
low 16kB

If D6=1 and D7=1 then will reset Z80CPU + disabled ZX rom + connect
external MB02 rom page 0 with write protect (set memory port to value #80)

Black_Cat
15.11.2009, 07:05
PROFI INTERFACEIt's his name?


New NMI button will jump to extra NMI menu without rewriting memory on stack pointer (it's planned feature).More please..


I/O adress space can be mirrored to extra memory and user can read from memory last writed values to portsWhat page number ROM? What is the structure of the record?

VELESOFT
15.11.2009, 10:27
It's his name?

Yes


More please..

After NMI will disconnect ZX memory and CPU adress will writed to new extra memory.


What page number ROM? What is the structure of the record?
Profi interface will use one 64kB memory block as I/O mirror area.
For example:
After OUT #7FFD,#10 will writed to adress #7FFD in extra memory value #10. (it's 16bit mode)
In 8bit mode: after OUT #7FFD,#10 will writed to adress #FD (accept only low 8bit adress) value #10. After connect this extra memory is possible read last writed values from identical adress. :v2_wink2:

Black_Cat
15.11.2009, 19:50
After NMI will disconnect ZX memory and CPU adress will writed to new extra memory.To use PROFI INTERFACE need to change the scheme ZX Spectrum?

---------- Post added at 19:50 ---------- Previous post was at 19:48 ----------


In 8bit mode: after OUT #7FFD,#10 will writed to adress #FD (accept only low 8bit adress) value #10. After connect this extra memory is possible read last writed values from identical adress.And what about the #FE?

VELESOFT
15.11.2009, 21:47
To use PROFI INTERFACE need to change the scheme ZX Spectrum?

Only CPU, ROM and HAL chips must be in socket. PROFI INTERFACE is connect to this three sockets. From ZX must be removed only one diode (for disable access to port 7FFD) and disable signal /CAS to 64kB of fast dram in ZX+2(or remove 8 DRAM chips from sockets)


And what about the #FE?

About #FE or #FD ???
This is only example of possibility. On real PROFI INTERFACE willl extra decoder for all paging ports.

Black_Cat
15.11.2009, 22:58
On real PROFI INTERFACE willl extra decoder for all paging ports.Why use 64K of RAM if the decoder? To save the state of all system ports and all the CPU registers rather 64 bytes of RAM.

VELESOFT
15.11.2009, 23:34
Why use 64K of RAM if the decoder? To save the state of all system ports and all the CPU registers rather 64 bytes of RAM.

This feature can be used or disabled. With mirror adress space is possible show all 65536 ports (state of all ZX ports - for all ZX interfaces with any ports).

Black_Cat
15.11.2009, 23:47
With mirror adress space is possible show all 65536 ports (state of all ZX ports - for all ZX interfaces with any ports). What is the address for reading the port #FE?

---------- Post added at 23:47 ---------- Previous post was at 23:42 ----------


+2A and +3 use identical 64kB rom. A16-A18 not exist. This is the address of the address space ROM drive, rather than a specific ROM.

VELESOFT
15.11.2009, 23:52
What is the address for reading the port #FE?

---------- Post added at 23:47 ---------- Previous post was at 23:42 ----------

This is the address of the address space ROM drive, rather than a specific ROM.

Actually not defined this adress.

Black_Cat
16.11.2009, 00:01
On real PROFI INTERFACE willl extra decoder for all paging ports.The decoder uses all the addresses A0-A15?

VELESOFT
16.11.2009, 02:14
The decoder uses all the addresses A0-A15?

Port decoder will use 100% identical adressation as emulated ZX clone:
7FFD in ZX128 mode : A15=0 + A1=0
7FFD in ZX128+3 mode: A15=0 + A14=1 + A1=0
etc...

Only for read value of paging ports will use full 16bit adressation

Black_Cat
16.11.2009, 03:12
7FFD in ZX128 mode : A15=0 + A1=0
7FFD in ZX128+3 mode: A15=0 + A14=1 + A1=0
etc...What port is selected model is a clone? What models of clones available?

---------- Post added at 02:25 ---------- Previous post was at 02:20 ----------


Only for read value of paging ports will use full 16bit adressationReading ports #1FFD and #7FFD of the ULA, blocks the signal IORQGE, or ports #1FFD and #7FFD of ULA is turned off?

---------- Post added at 03:12 ---------- Previous post was at 02:25 ----------


From ZX must be removed only one diode (for disable access to port 7FFD) and disable signal /CAS to 64kB of fast dram in ZX+2(or remove 8 DRAM chips from sockets)Reading 4 - 7 pages of RAM will be made from SRAM?

VELESOFT
16.11.2009, 17:23
What port is selected model is a clone? What models of clones available?

Any paging ports. In CPLD is possible use more than 30 different paging ports :v2_wink2:

But I plan only this modes:
ZX128
ZX128+2A
Pentagon 512 / 1024
ZS Scorpion 256 / 1024
(if will any free space in CPLD then can be implemented also SAM COUPE memory paging)

and emulation of:
MB02 memory
DivIDE memory
DivIDE PLUS memory
CP/M LAMAC/TROLLER



Reading ports #1FFD and #7FFD of the ULA, blocks the signal IORQGE, or ports #1FFD and #7FFD of ULA is turned off?

I will read only state of this ports, but from different adress than 1FFD or 7FFD :v2_biggr: This interface is designed only for ZX Spectrum 128+2(grey model) - ULA in this computer not any paging port, this part is used out of ULA (my PROFI INTERFACE and 74LS174 on board of +2)


Reading 4 - 7 pages of RAM will be made from SRAM?
Pages 4 - 7 ? It's not designed for +2A/+3 computers, but only for +2. ZX128+2 use ULA contended pages 1,3,5,7 and fast ram pages 0,2,4,6. Only pages 5 and 7 is in ZX ram. Other memory is in extra sram. Reading memory is always from sram.

Black_Cat
16.11.2009, 18:43
Thank you, I understand the architecture.

---------- Post added at 18:43 ---------- Previous post was at 18:15 ----------


I will read only state of this ports, but from different adress than 1FFD or 7FFDI propose as a common standard reader ports #1FFD, #FE, #7DDF for all clones, use the address #BDFD, #BFDD, #BFFD. I propose that these ports are used as a cross-platform standard. When using MB02, DivIDE and other devices have their own port addresses, ports #BDFD, #BFDD, #BFFD will have to duplicate them.

VELESOFT
17.11.2009, 15:18
And why this adressation ?
#BDFD/48605 1011110111111101 10xxxx0xxx1xxx01 rd #1FFD
#BFDD/49117 1011111111011101 10xxxx1xxx0xxx01 rd #FE
#BFFD/49149 1011111111111101 10xxxx1xxx1xxx01 rd #7FFD

Better way is use identical low 8bit adress for all this ports. This eliminate collisions with kempston joystick and original KEMPSTON MOUSE (if A5=0). Low adress will always #FD (with 8bit full adressation) and port type will selected via other adress lines in high byte)

Black_Cat
17.11.2009, 22:49
Better way is use identical low 8bit adress for all this ports. This eliminate collisions with kempston joystick and original KEMPSTON MOUSE (if A5=0). Low adress will always #FD (with 8bit full adressation) and port type will selected via other adress lines in high byte)Yes, it is possible:

#BAFD/47869 1011101011111101 10xxx0x0xxxxxx01 rd #1FFD
#BBFD/48125 1011101111111101 10xxx0x1xxxxxx01 rd #FE
#BEFD/48893 1011111011111101 10xxx1x0xxxxxx01 rd #7FFD

Black_Cat
18.11.2009, 01:04
VELESOFT, that's version is compatible with K-MOUSE Turbo 2008. You agree to change the decoding in the GAL and add #FE and #1FFD?

VELESOFT
18.11.2009, 02:02
VELESOFT, that's version is compatible with K-MOUSE Turbo 2008. You agree to change the decoding in the GAL and add #FE and #1FFD?

K-MOUSE TURBO 2008 use this port:
rd7ffd = 65247(#FEDF) 1xxxx1x0 11011111 ( return data of port #7FFD )
A7-A0 must be set to 11011111 = this is incompatible with your:
#BEFD/48893 1011111011111101 10xxx1x0xxxxxx01 rd #7FFD

In K-MOUSE is not free space for change(=add) new port adress. :v2_confu:

K-MOUSE not return real value of port 7FFD, only last writed value !!! (ignore reset)
If you need read real values of 7FFD port, please use different port for reading than in K-MOUSE. :v2_wink2:

Your port #BEFD/48893 1011111011111101 10xxx1x0xxxxxx01 is OK :v2_smile:

Black_Cat
18.11.2009, 02:43
In K-MOUSE is not free space for change(=add) new port adress.White space may occur if you delete the second address for reading the port #7FFD. The conflict, which may be possible while reading from two K-MOUSE Turbo 2008 does not arise, because their data bus is connected through resistors 150 + 150 = 300 ohms. Therefore, the second address for reading the port #7FFD not needed.

VELESOFT
18.11.2009, 02:51
The empty space will appear, if you delete the second address for reading the port #7FFD. The conflict, which may be possible while reading from two K-MOUSE Turbo 2008 does not arise, because their data bus is connected through resistors 150 + 150 = 300 ohms. Therefore, the second address for reading the port #7FFD not needed.

Readability of port #3EDF is used also for 100% detection of SLAVE K-MOUSE interface.

Readability of port #FEDF is used also for 100% detection of MASTER K-MOUSE interface. :v2_wink2:

http://velesoft.speccy.cz/kmouse/km-wheel/kmtest2008-menu.png
http://velesoft.speccy.cz/kmouse/km-wheel/kmtest2008_tester_2.zip

http://velesoft.speccy.cz/kmouse/km-wheel/km2008-basic_tester.png
http://velesoft.speccy.cz/kmouse/km-wheel/km2008-basic_tester.zip

http://translate.google.com/translate?u=http%3A%2F%2Fcygnus.speccy.cz%2Fpopis_ kmouse-tester.php&sl=cs&tl=ru&hl=cs&ie=UTF-8

Black_Cat
18.11.2009, 03:01
Readability of port #3EDF is used also for 100% detection of SLAVE K-MOUSE interface.

Readability of port #FEDF is used also for 100% detection of MASTER K-MOUSE interface.This is not a problem. Let the master reads the port #7FFD, a slave read port #1FFD or #FE. Get 100% detection of the master / slave.

VELESOFT
19.11.2009, 02:46
This is not a problem. Let the master reads the port #7FFD, a slave read port #1FFD or #FE. Get 100% detection of the master / slave.

K-MOUSE can use only adress lines A15, A10,A8-A0. It's impossible detect writing to port 1FFD. For correct 1FFD writing must be used also adress lines A14-A12 :v2_frown:

K-MOUSE is designed as single interface with possibility switch to slave ports. (all features is same as in master). Reading port #FE will possible only after source code modification, but this mouse can't use switching between master/slave and will fixed as slave only or master only device.

Black_Cat
19.11.2009, 03:22
but this mouse can't use switching between master/slave and will fixed as slave only or master only device.Yes, I propose to change the appointment jumper master / slave. In this case it is necessary to make K-MOUSE Turbo 2008 two modifications - master or slave. In this case, the jumper will have such appointments:

- To master K-MOUSE Turbo 2008 - #7FFD/#FE;
- For the slave K-MOUSE Turbo 2008 - #1FFD/#FE.


For correct 1FFD writing must be used also adress lines A14-A12- To master only - #7FFD(ZX48/ZX+128/+2, +2a/+3) or #FE(Timex);
- For the slave, master is present - #FE(ZX48/ZX+128/+2, +2a/+3) or #7FFD(Timex).

These changes will allow more flexibility to configure the ports and to meet the peculiarities of different computers such as ZX48/ZX+128/+2, +2a/+3, Timex.

---------- Post added at 03:22 ---------- Previous post was at 02:56 ----------

Ability to read ports #FE and #7FFD will be able to maintain the image of the computer memory in snapshot.

VELESOFT
21.11.2009, 12:16
Yes, I propose to change the appointment jumper master / slave. In this case it is necessary to make K-MOUSE Turbo 2008 two modifications - master or slave. In this case, the jumper will have such appointments:

- To master K-MOUSE Turbo 2008 - #7FFD/#FE;
- For the slave K-MOUSE Turbo 2008 - #1FFD/#FE.

- To master only - #7FFD(ZX48/ZX+128/+2, +2a/+3) or #FE(Timex);
- For the slave, master is present - #FE(ZX48/ZX+128/+2, +2a/+3) or #7FFD(Timex).

Adressation of port #FE is different o ZX Spectrum models and on TIMEX.
ZX use adressation A0=0 and TIMEX use full adressation A0=0 + A1-A7=1.
Adressation of port #7FFD is also different on ZX128,+2A,ZS Scorpion and russian ZX clones. K-MOUSE detect port #7FFD on real ZX 128/+2 only (accept A1=0, A15=0).
ZX128+2A and some russian ZX clones use this adressation:A15=0,A14=1,A1=0
ZS Scorpion use very different adressation.
Reading port 7FFD from K-MOUSE TURBO 2008 return always true value only on ZX models/clones with original adressation (use only A15=0 and A1=0 as ZX128/+2 and Pentagon)
Any write to port 1FFD rewrite port 7FFD in K-MOUSE TURBO (K-MOUSE ignore A14,A13,A12) = reading is usable only on ZX128/+2 and Pentagon.


My idea: create new CPLD based port decoder for reading this ports. CPLD will configurable (contain switches for set ZX models/clones).

Black_Cat
21.11.2009, 13:12
My idea: create new CPLD based port decoder for reading this ports. CPLD will configurable (contain switches for set ZX models/clones).Why create a new design, if sufficient to change the contents of the CPLD K-MOUSE TURBO 2008? My idea: create a CPLD update for K-MOUSE TURBO 2008. At Christmas, users using the K-MOUSE TURBO 2008 will be happy to update this device. :)
Adressation of port #7FFD is also different on ZX128,+2A,ZS Scorpion and russian ZX clones.Forget about the Russians clones. On the Russians clones of K-MOUSE TURBO 2008 would not apply. Bus ZX BUS in ex USSR is not used, only used NemoBus.
Adressation of port #FE is different o ZX Spectrum models and on TIMEX.
ZX use adressation A0=0 and TIMEX use full adressation A0=0 + A1-A7=1.For Timex and ZX Spectrum, you can create different CPLD.

Any write to port 1FFD rewrite port 7FFD in K-MOUSE TURBO (K-MOUSE ignore A14,A13,A12) = reading is usable only on ZX128/+2 and Pentagon.Earlier this for you was not an obstacle. So in K-MOUSE TURBO 2008 for the ZX Spectrum +2a/+3 this feature will not be used.

VELESOFT
21.11.2009, 21:39
Why create a new design, if sufficient to change the contents of the CPLD K-MOUSE TURBO 2008? My idea: create a CPLD update for K-MOUSE TURBO 2008. At Christmas, users using the K-MOUSE TURBO 2008 will be happy to update this device. :)

It's impossible. Only one ZX user (have cable for programming CPLD from PC) :v2_frown:
http://velesoft.speccy.cz/kempstonmouse-users-cz.htm


Forget about the Russians clones. On the Russians clones of K-MOUSE TURBO 2008 would not apply.

Not true. K-MOUSE is used also in ZS SCORPION computers (but only old version 2006 :v2_wink2: )


Bus ZX BUS in ex USSR is not used, only used NemoBus.

NEMO BUS use very similar pinout as ZX BUS, only different connector:
http://velesoft.speccy.cz/other/zx_bus_video.png

Internal K-MOUSE is connected only to CPU socket:
http://velesoft.speccy.cz/kmouse/km-doc/kempston_mouse_turbo_interface/kmouse-ps2.jpg
http://velesoft.speccy.cz/kmouse/km-doc/kempston_mouse_turbo_interface/km-t_2006_inter/mouse_to_cpu_cable.jpg


For Timex and ZX Spectrum, you can create different CPLD.
But this version of K-MOUSE is not universal for using on other ZX machines. :v2_conf2: Best way is implement only universal features for more popular ZX models/clones. Other machines (TIMEX/SCORPION/ATM) will not supported.


Earlier this for you was not an obstacle. So in K-MOUSE TURBO 2008 for the ZX Spectrum +2a/+3 this feature will not be used.

K-MOUSE can detect without hardware modification only port 7FFD (from ZX bus is connected to CPLD only A15, A10, A8, A7-A0). Exist software using uncomplette port adressation - for example:
OUT 0,page or OUT 253,0 - not work on SCORPION, SPRINTER, +2A, +3, but work on PENTAGON 128/512, ZX128,ZX128+2
Also OUT 252,xx on real ZX128/+2 write XX value to ULA port FE and parallel to paging port 7FFD. This feature is used for set border colour and videoram switching in tape loaders :v2_wink:

K-MOUSE is only limited with 34 user I/O pins. I can write new firmware with readable different ports, but must be modified schematic or real interface with wires. Will replaced some features with other readable ports, or replaced CPLD with bigger SMD version (64 or 100 pins).

Black_Cat
22.11.2009, 00:04
Not true. K-MOUSE is used also in ZS SCORPION computers (but only old version 2006 )Connect possible, but for the Russian clones easier to use ZXMC-2.
NEMO BUS use very similar pinout as ZX BUS, only different connector:K-MOUSE TURBO 2008 will not use IORQGE, and therefore does not meet the standard NemoBus.


K-MOUSE can detect without hardware modification only port 7FFD (from ZX bus is connected to CPLD only A15, A10, A8, A7-A0). Exist software using uncomplette port adressation - for example:
OUT 0,page or OUT 253,0 - not work on SCORPION, SPRINTER, +2A, +3, but work on PENTAGON 128/512, ZX128,ZX128+2
Also OUT 252,xx on real ZX128/+2 write XX value to ULA port FE and parallel to paging port 7FFD. This feature is used for set border colour and videoram switching in tape loadersThis is all special cases that have no meaning.


It's impossible. Only one ZX user (have cable for programming CPLD from PC)If you publish the scheme programming CPLD, then users would be able to do it.


I can write new firmware with readable different ports, but must be modified schematic or real interface with wires. Will replaced some features with other readable ports, or replaced CPLD with bigger SMD version (64 or 100 pins).
This is of course possible, but it's more complicated way.