VOGONS


PS/2 to Serial Mouse protocol converter

Topic actions

Reply 80 of 125, by sklawz

User metadata
Rank Member
Rank
Member

Hi.

I just noticed that I didn't read the 16F688 pin out correctly and it does have an INT pin. This chip is cheap at vendors but scarce on ebay UK.

The internal oscillator speed and port arrangement is different to the PIC16F628A, they are incompatible, and a new assembly program would need to be created for this device.

If you are happy to buy one and do so then I will create a new design for the PIC16F688.

Bye.

Reply 81 of 125, by keropi

User metadata
Rank l33t++
Rank
l33t++

PIC16F688 is also compatible with more older programmers as it is smaller and not low-voltage AFAIR... my willem PCB3 programmer doesn't program the 628A because of voltage ... (haven't tried it - it is compatible with the older PIC16F628 though)

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 82 of 125, by sklawz

User metadata
Rank Member
Rank
Member

lo

keropi wrote:

PIC16F688 is also compatible with more older programmers as it is smaller and not low-voltage AFAIR... my willem PCB3 programmer doesn't program the 628A because of voltage ... (haven't tried it - it is compatible with the older PIC16F628 though)

The PIC16F688 has a LVP mode but it is a more modern device than the PIC16F628A and doesn't have a PGM pin as it does.

The high voltage programming modes are equal. It's an important point to note that if you only have a low voltage programmer then there is an issue when disabling master clear (MCLR) since it will no longer be able to program a device.

Any problem programming the F628A may be due to either not supporting it's LVP mode else not properly programming it's CONFIG word which requires one more step than it's more elderly cousin the F628.

Bye

Reply 83 of 125, by keropi

User metadata
Rank l33t++
Rank
l33t++

oh, I think I confused the models... I was thinking of the older 16F8x series .... sorry about that... 😢
I just checked too, my device does not support 688 either...
this is what I can program atm:

12C508,12C508A,12C509,12C509A 12CE518,12CE519 12C671,12C672,12CE673,12CE674 16C505 16C61,16C620,16C621,16C622A 16F627,16F628,16C71,16C715 16C84,16F83,16F84,16F84A 16C64A,16C65A,16C65B,16C67 16C74A,16C74B,16C77 16F871,16F874,16F877 16C62A,16C62B,16C63,16C63A,16C66 16C72,16C72A,16C73A,16C73B,16C76 16F870,16F872,16F873,16F876

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 84 of 125, by sklawz

User metadata
Rank Member
Rank
Member

lo

keropi wrote:
oh, I think I confused the models... I was thinking of the older 16F8x series .... sorry about that... :depressed: I just check […]
Show full quote

oh, I think I confused the models... I was thinking of the older 16F8x series .... sorry about that... 😢
I just checked too, my device does not support 688 either...
this is what I can program atm:

12C508,12C508A,12C509,12C509A 12CE518,12CE519 12C671,12C672,12CE673,12CE674 16C505 16C61,16C620,16C621,16C622A 16F627,16F628,16C71,16C715 16C84,16F83,16F84,16F84A 16C64A,16C65A,16C65B,16C67 16C74A,16C74B,16C77 16F871,16F874,16F877 16C62A,16C62B,16C63,16C63A,16C66 16C72,16C72A,16C73A,16C73B,16C76 16F870,16F872,16F873,16F876

All the above devices are either classified as `mature' or `not recommended', basically, they are obsolete.

If you can buy them, then they probably come with a cost premium. There is no way any of those would be used in a modern design.

Bye.

Reply 85 of 125, by keropi

User metadata
Rank l33t++
Rank
l33t++

well that's not quite true price-wise, you can get for example 10x16F628 for 11$ , it's not that bad... at any rate, I checked again the programming software, it appears that this last version does support the 628A 😊
meh, I've been using it to burn old eproms , never actually payed attention to the software's pic capabilities that much...

oa5irs.jpg

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 86 of 125, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Keropi, could you try to program the PIC16F628A using your Willem PCB3 programmer? My problem seems to be with the CONFIG word, it comes back different than the original file. Refer to the two attachments. Basically, just open the original file HEX in your programmer's buffer window, send it to the PIC, then read back the file from the PIC to ensure it is the same as the original. Mine is not.

sklawz wrote:

If you are happy to buy one and do so then I will create a new design for the PIC16F688.

I don't mind spending an extra $2. These chips are relatively inexpensive.
1.57 GBP for 1, http://www.ebay.co.uk/itm/260825509024
2.83 GBP for 2, http://www.ebay.co.uk/itm/250880096459

A chip which can be programmed on a $29 Microchip PICKit 1 is certainly more of an incentive for others who want to program this chip. I think the best course of action, though, is to wait a few days for Weilei to correct their software issue. Keropi's Wellem is also inexpensive, a lot more so than my Wellon VP-390.

Attachments

Plan your life wisely, you'll be dead before you know it.

Reply 87 of 125, by sklawz

User metadata
Rank Member
Rank
Member

Hello.

I have created preliminary schematic for the PIC16F688 which found here:
http://dev.kewl.org/k8048/Src/asm/pic16f688/g … e_PIC16F688.png

I will build this on breadboard tomorrow. This will be the last thing I do with this project? I suspect not 😀

Bye

EDIT: spelling

Reply 88 of 125, by sklawz

User metadata
Rank Member
Rank
Member

lo

feipoa wrote:

I don't mind spending an extra $2. These chips are relatively inexpensive.
1.57 GBP for 1, http://www.ebay.co.uk/itm/260825509024
2.83 GBP for 2, http://www.ebay.co.uk/itm/250880096459

They take some time to ship, hence I use CPC in the UK when they have their FREE delivery offers (today for example).

feipoa wrote:

A chip which can be programmed on a $29 Microchip PICKit 1 is certainly more of an incentive for others who want to program this chip. I think the best course of action, though, is to wait a few days for Weilei to correct their software issue. Keropi's Wellem is also inexpensive, a lot more so than my Wellon VP-390.

Okay.

Here is the configuration area of my PIC16F628A:

pi3:~> k14 i
[0000] [PROGRAM] 0800 WORDS
[2000] [USERID0] 3FFF .
[2001] [USERID1] 3FFF .
[2002] [USERID2] 3FFF .
[2003] [USERID3] 3FFF .
[2004] [RESERVED] 3FFF .
[2005] [RESERVED] 3FFF .
[2006] [DEVICEID] 1065 DEV:1060 (83) REV:5 PIC16F628A
[2007] [CONFIG] 3F10
[2100] [DATA] 0080 BYTES

The 1065 you see at 2006 is the device and revision ID. Your device is revision 6.

Also in your image we can see that it is not writing the CONFIG word at all. The reason it doesn't write was theorised earlier in this thread.

Bye.

Reply 89 of 125, by keropi

User metadata
Rank l33t++
Rank
l33t++

@feipoa: will try it when my 628A chips arrive, should be somewhere around Tuesday if all goes well...

In the meantime, do these settings look fine? .hex is loaded OK and gave me these options that seem fine to me:

2h3oq54.jpg

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 90 of 125, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Waiting a month for parts doesn't bother me. I means I can put this off for another month!

Sklawz, when I open the mouse.hex file and view it in the editor, I see only FFFF for addresses 2000-2006? Did you make some changes? What does 3FFF signify? Keropi's programmer has "Skip Write 0x3FFF" as an option.

keropi, I think you want to uncheck MCLRE/RA5 and CP EEPROM. I see that your programmer at least identifies the config as 3F10, which is a good sign.

Plan your life wisely, you'll be dead before you know it.

Reply 91 of 125, by sklawz

User metadata
Rank Member
Rank
Member

Hi

feipoa wrote:

Waiting a month for parts doesn't bother me. I means I can put this off for another month!

Sklawz, when I open the mouse.hex file and view it in the editor, I see only FFFF for addresses 2000-2006? Did you make some changes? What does 3FFF signify? Keropi's programmer has "Skip Write 0x3FFF" as an option.

keropi, I think you want to uncheck MCLRE/RA5 and CP EEPROM. I see that your programmer at least identifies the config as 3F10, which is a good sign.

Before programming a device it is normally blanked or erased.

The blank state of a bit is '1' and 14 blank bits are 0x3FFF in a program file word.

My hex files don't address the USERID area, your programming software is writing there.

Bye

Reply 92 of 125, by feipoa

User metadata
Rank l33t++
Rank
l33t++
sklawz wrote:

The blank state of a bit is '1' and 14 blank bits are 0x3FFF in a program file word.

So instead of FFFF, the programmer should be writing 3FFF to blank out the unused cells? If you try to write FFFF to a 14-bit address cell, will there be any problem with program functionality? It does come back as FFFF from the PIC.

Plan your life wisely, you'll be dead before you know it.

Reply 93 of 125, by keropi

User metadata
Rank l33t++
Rank
l33t++

@feipoa
is it possible to give IC-Prog (http://www.ic-prog.com) a shot? is your programmer present on the supported devices?

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 94 of 125, by sklawz

User metadata
Rank Member
Rank
Member

LO

feipoa wrote:
sklawz wrote:

The blank state of a bit is '1' and 14 blank bits are 0x3FFF in a program file word.

So instead of FFFF, the programmer should be writing 3FFF to blank out the unused cells? If you try to write FFFF to a 14-bit address cell, will there be any problem with program functionality? It does come back as FFFF from the PIC.

There is no need to write 3FFF into the flash after it is erased. The default erase pattern is 3FFF.

The software interface says one thing but will do another and and it's not possible to write 16 bits into a 14-bit flash location.

Bye.

Reply 95 of 125, by feipoa

User metadata
Rank l33t++
Rank
l33t++
keropi wrote:

@feipoa
is it possible to give IC-Prog (http://www.ic-prog.com) a shot? is your programmer present on the supported devices?

Unfortunately, it is not.

Plan your life wisely, you'll be dead before you know it.

Reply 97 of 125, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Ok. Thank you! I have put in an order for two 688 chips.

Did you notice any difference in the tracking quality of the converter with the 688 vs. 628A?

Plan your life wisely, you'll be dead before you know it.

Reply 98 of 125, by sklawz

User metadata
Rank Member
Rank
Member

Hi

feipoa wrote:

Ok. Thank you! I have put in an order for two 688 chips.

Did you notice any difference in the tracking quality of the converter with the 688 vs. 628A?

As stated before this Microsoft mouse converter runs at 20 samples/second because it cannot read the PS/2 mouse and deliver packets any faster at 1200 baud.

There is no change in algorithm nor responsiveness.

However, if you wish to investigate creating a Logitech mouse converter, then please go ahead. I remember seeing some documentation stating that their mice may run at a higher baud rate.

With regard to those PIC16F688 micro-controllers. They contain a calibration word at 0x2008. This calibration word is utilised when using the internal oscillator and in turn the baud rate generator when using that oscillator. In my sample device the calibration word became corrupted and I had to revert it to the factory setting. It is a good idea to read the calibration word and write it down for future reference when you get the devices. I wasted some hours with this because the circuit didn't work as expected and the baud rate was found to be at 1140 instead of 1200 in error before restoring the calibration word.

Bye.

Reply 99 of 125, by feipoa

User metadata
Rank l33t++
Rank
l33t++
sklawz wrote:

However, if you wish to investigate creating a Logitech mouse converter, then please go ahead. I remember seeing some documentation stating that their mice may run at a higher baud rate.

Perhaps when I retire, or when the kids move out.

I was able to get Weilei to update their software. I now get 3F10 on 2007H when read back from the PIC (attachment), however when the PIC is placed in the circuit, both LEDs remain active. I'll re-investigate this when the 688's come in.

Attachments

  • Filename
    Wellon_Fix.png
    File size
    19.07 KiB
    Downloads
    20 downloads
    File license
    Fair use/fair dealing exception

Plan your life wisely, you'll be dead before you know it.