Hermes status
-
- Font of All Knowledge
- Posts: 3972
- Joined: Mon Dec 20, 2010 11:40 am
- Location: Sunny Runcorn, Cheshire, UK
Re: Hermes status
I have been repairing a QL board, which is now working. It has a NEC D8749HC installed see picture below:
According to the Hermes manual, this means it is non-Hermes.
I am assuming the NEC D8749HC emulates the 8049 and is not updatable.
Which the Hemes function IPCVER$ returns 0.0According to the Hermes manual, this means it is non-Hermes.
I am assuming the NEC D8749HC emulates the 8049 and is not updatable.
Regards,
Derek
Derek
Re: Hermes status
That's intriguing, it's dated 1987 so may have been programmed by user (8749HC windowless One Time Program chip). But why not just use 8049 that came with QL?, perhaps modified for some reason (my Schon IPC variation was 8049). Be interesting if you can get binary dump and see if it differs from known code.
David
-
- Font of All Knowledge
- Posts: 3972
- Joined: Mon Dec 20, 2010 11:40 am
- Location: Sunny Runcorn, Cheshire, UK
Re: Hermes status
Hi,Silvester wrote:That's intriguing, it's dated 1987 so may have been programmed by user (8749HC windowless One Time Program chip). But why not just use 8049 that came with QL?, perhaps modified for some reason (my Schon IPC variation was 8049). Be interesting if you can get binary dump and see if it differs from known code.
Here is a binary image of the NEC D8749HC
Regards,
Derek
Derek
Re: Hermes status
Where is the original IPC bin file all I can find is asm? I can do a bin file comparison as an exercise for the student on my complicated programmer software to learn how to work it.Derek_Stewart wrote:Here is a binary image of the NEC D8749HC
-
- Font of All Knowledge
- Posts: 3972
- Joined: Mon Dec 20, 2010 11:40 am
- Location: Sunny Runcorn, Cheshire, UK
Re: Hermes status
Hi,
I do not think there is a 8049 binary file, my ALL03A programmer does not have a 8049 entry in the software, but the NEC D8749H entry reads the 8049 IPC. On saying that the NEC D8749HC reports IPCVER$ as 0.0 which is a non-Hermes IPC.
I do not think there is a 8049 binary file, my ALL03A programmer does not have a 8049 entry in the software, but the NEC D8749H entry reads the 8049 IPC. On saying that the NEC D8749HC reports IPCVER$ as 0.0 which is a non-Hermes IPC.
Regards,
Derek
Derek
Re: Hermes status
My poor little brain is confused. Are you saying your previous dump of 8749 is wrong? If you can read the 8049 we would have a dump of it that could be tested in an 8749. We could also compare it with the 8749 dump. In the previous 8749 image I noticed there was a byte at 07F1H with value 07H out on its own in the last block. In the Hermes22 dump the values at 07F0H & 07F1H are 02H & 14H. I don't know the 8749 chips so they could be vectors but usually in assembler people put data like version numbers at the end of code.Derek_Stewart wrote:I do not think there is a 8049 binary file, my ALL03A programmer does not have a 8049 entry in the software, but the NEC D8749H entry reads the 8049 IPC. On saying that the NEC D8749HC reports IPCVER$ as 0.0 which is a non-Hermes IPC.
I did a quick compare of your 8749 code & the Hermes22 dump and I can't see anything that matches but since it only takes a one byte move to change all the addresses etc it would probably require a lot of study to find bits that do the same job with different numbers.
Re: Hermes status
The 8049 should be readable using 8049/8749 using the HiLo programmer.
However there is an IPC project on GitHub I think, which has a binary file with it.
I compared that with the one Derek put up on the thread - and for the most part it would seem to be the same source, but there is an additional block of code and some earlier addresses are changed (probably jumps with changed addresses) - ignore the message about length - the one from github doesn't have the trailing zero's to make the file 2K in size - but I have checked with hed editor and the file from Derek is all 0's from the last code location on to the end of the 2K image.
These are the changed locations:
00000283: B4 D4 - original IPC code: 0283: B4 C8 CALL $5C8 scan keyboard, entry A (one bit=1), ret A
00000507: B4 D4 - originalIPC code: 0507: B4 C8 CALL $5C8 scan keyboard, entry A (one bit=1), ret A
0000052D: B4 D4 - original IPC code: 052D: B4 C8 CALL $5C8 scan keyboard, entry A (one bit=1), ret A
000005CC: 00 C4
000005CD: 00 80
C480 are 2 new bytes in this routine:
; scan keyboard, entry A (one bit=1), ret A
05C8: 39 OUTL P1,A output A on P1
05C9: AB MOV R3,A
05CA: 80 MOVX A,@R0 put P0 in read mode=HI-Z ??
05CB: 00 NOP wait a bit
05CC: 00 NOP
05CD: 00 NOP
05CE: 00 NOP
05CF: 00 NOP
05D0: 00 NOP
05D1: 08 IN A,P0 get P0 into A
05D2: 93 RETR
And there is all new code from 680 onwards to 6D3, which I presume is linked from the changes above.
It looks as if the changes are all related to keyboard workings.
However there is an IPC project on GitHub I think, which has a binary file with it.
I compared that with the one Derek put up on the thread - and for the most part it would seem to be the same source, but there is an additional block of code and some earlier addresses are changed (probably jumps with changed addresses) - ignore the message about length - the one from github doesn't have the trailing zero's to make the file 2K in size - but I have checked with hed editor and the file from Derek is all 0's from the last code location on to the end of the 2K image.
These are the changed locations:
00000283: B4 D4 - original IPC code: 0283: B4 C8 CALL $5C8 scan keyboard, entry A (one bit=1), ret A
00000507: B4 D4 - originalIPC code: 0507: B4 C8 CALL $5C8 scan keyboard, entry A (one bit=1), ret A
0000052D: B4 D4 - original IPC code: 052D: B4 C8 CALL $5C8 scan keyboard, entry A (one bit=1), ret A
000005CC: 00 C4
000005CD: 00 80
C480 are 2 new bytes in this routine:
; scan keyboard, entry A (one bit=1), ret A
05C8: 39 OUTL P1,A output A on P1
05C9: AB MOV R3,A
05CA: 80 MOVX A,@R0 put P0 in read mode=HI-Z ??
05CB: 00 NOP wait a bit
05CC: 00 NOP
05CD: 00 NOP
05CE: 00 NOP
05CF: 00 NOP
05D0: 00 NOP
05D1: 08 IN A,P0 get P0 into A
05D2: 93 RETR
And there is all new code from 680 onwards to 6D3, which I presume is linked from the changes above.
It looks as if the changes are all related to keyboard workings.
- Attachments
-
- ipc_diff.zip
- (450 Bytes) Downloaded 65 times
Last edited by Pr0f on Sun Oct 03, 2021 2:13 pm, edited 1 time in total.
Re: Hermes status
Don't you see something in 07F1H?Pr0f wrote:I have checked with hed editor and the file from Derek is all 0's from the last code location on to the end of the 2K image.
Re: Hermes status
you are right - 07 hex is there - I missed that.Ruptor wrote:Don't you see something in 07F1H?Pr0f wrote:I have checked with hed editor and the file from Derek is all 0's from the last code location on to the end of the 2K image.
Re: Hermes status
Thanks.Derek_Stewart wrote:Here is a binary image of the NEC D8749HC
Just did some digging through my QL filing system and I can't find where I got the 8049 binary from myself (it's so long ago, nothing found on Dilwyn or Thierry Godefroy's sites - no binary, just the listing). I may even have been guilty of reconstituting the copy I have. I'm in the middle of building MCS-48 programmer for my QL, I also want to read the Schon keyboard IPC version (keybounced, no SER2) and Schon PS/2 keyboard interface 8049.Derek_Stewart wrote:I do not think there is a 8049 binary file
David