mcleod_ideafix escribió:One thing to consider (well, more than one):
- CPLD implementations of PS/2 -> ZX Matrix keyboard don't take into account multi-protocol keyboards because they don't implement sending commands from the host to the keyboard. That is: keyboards that accept both USB and PS/2 connections won't surely work. It happens that those keyboards boot into USB mode, and if they receive a RESET command using PS/2 protocol, then they revert to PS/2, else they stay in USB mode. So they couldn't be used for this project. Adding bidirectional protocol to a CPLD implementation would surely employ more macrocells.
We have 36+80= 116 macrocells used, so we have 28 free macrocells to do it compatible with all keyboards.
mcleod_ideafix escribió:- If you are going to add a XC95144XL, better use it to implement all the video generation circuit (i.e. the ULA). You will save a lot of PCB real estate (yes, I know that this would distorst the true meaning of this project, so you won't probably be doing this)
Yes, as you said this would distort the meaning of this project. The XC95144XL is an optional feature for both SD flash and PS/2 keyboard, if you don't use you will have CF flash and Spectrum keyboard. And there is another clone (also made by superfo) that uses XC95144XL to generate the ULA, so we are reinventing the wheel.
http://www.worldofspectrum.org/forums/s ... 115&page=2mcleod_ideafix escribió:- On the other way, my microcontroller implementation does use the full PS/2 protocol, so no problem with these keyboards. Silabs is expensive nowdays, but Antonio Villena came across with some ARM Cortex chips that would do the job. The bad thing about them is that there's no PS/2 -> Spectrum code written for it.
Silabs and ARM Cortex are about the same price. The reason because I talk about ARM Cortex is because jepalza has a developping board with ARM Cortex and some code to start (an emulator with PS/2 keyboard). But from the point of view of developping time, it's more easier to implement ZXMMC on the Silabs, that both ZXMMC+PS/2 on the ARM Cortex. The advantages of XC95144 is that it's cheaper and won't require additional discrete decoding of ports $1f and $3f.
But yet we haven't decided what chip (or chips) we will use to implement ZXMMC+PS/2.
mcleod_ideafix escribió:- So, if the PS/2 keyboard is going to be an option and not something one must include, I'd recommend to go for the design that has already been proven, although it's not the cheaper one: Silabs.
Of course. Also the schematics are tested (superfo has PS/2 keyboard in this clone). So if we finally don't add ZXMMC interface, we won't change the Silabs chip. Remember the phrase: If it works, don't touch anything.