Hermes status

Nagging hardware related question? Post here!
Nasta
Gold Card
Posts: 443
Joined: Sun Feb 12, 2012 2:02 am
Location: Zapresic, Croatia

Re: Hermes status

Post by Nasta »

mk79 wrote:don't think any commercial programmer newer than 20 years supports this chip, mostly due to the voltages I guess. I build one myself instead http://www.mattmillman.com/projects/hve ... er-reader/ (haven't soldered this much through-hole in a long time...)

Fortunately I still have my old DataIO Chiplab 48, but the software is old so I need a dedicated older PC with parallel port to run it, but I do have one for that very purpose.
I've heard crazy stories that Lau had to work around problems in the PIC processor which Microchip even acknowledged in their errata some time later. But all will be in assembler I fear, so porting it to anything else will always be somewhat of a pain.
Yes, heard them also since I collaborated with Tony *Firshman) on the hardware side so got regular reports. At one point Lau got a PIC emulator which used an old style laptop and managed to break the screen, which was a plasma unit, and I tried to source one for Tony to fix it but could only get one size too small :(


Nasta
Gold Card
Posts: 443
Joined: Sun Feb 12, 2012 2:02 am
Location: Zapresic, Croatia

Re: Hermes status

Post by Nasta »

Brane2 wrote:BTW, since you are aiming to replace it in tandem with ULA2, is there a chance of using PIC/AVR micro in ULA2 socket and perhaps just a stub board in IPS socket ?

Ut looks as if nice micro in ULA2 socket could do all of the jobs of both chips. It would need just a wires to IPC socket, which would look bad, so it could just use existing wires for SPI and on the other needs needs not be practically anything.

GreenPak or two would do that job fine. Perhaps one pin could be gained somewhere in ULA2 and be used as a separate COM RX, so both COMs could be used independently.

MIcro in ULA2 socket would probably have to have PSP for communication with CPU. PICs have plenty of SPIs, so it shouldn't be a problem to use one for microdrives etc.
The thing about ULA2, excluding microdrives (and I would do that), is that really only the RTC read registers are ever accessed directly while the rest usually goes through the OS routines, with very few exceptions. In particular IPC communications are rather odd and if something was put into the ULA2 socket that also had IPC functionality, an alternate mechanism would be provided to streamline and buffer the communication, while it would still be able to emulate the original IPC coms. There is a wider idea behind this that also takes care of software support for this piece of hardware. For now it's only a 'feasibility study'.


Derek_Stewart
Font of All Knowledge
Posts: 3928
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Hermes status

Post by Derek_Stewart »

HI,

I have a HiLo Systems ALL03A eprom programmer, which supports the 8749.


Regards,

Derek
martyn_hill
Aurora
Posts: 909
Joined: Sat Oct 25, 2014 9:53 am

Re: Hermes status

Post by martyn_hill »

Nasta wrote: BTW does the TL866 programmer program them (or is the programming voltage too high?)
Hi Nasta!

I resorted to picking up a Willem LPT programmer with a suitable adapter some time ago and was able to read my Hermes and reprogram a windowed 8749 succesfully.

I then attempted to manually dissassemble the code, cross referencing the availble 8049 dissambly in the hope that I could make sense of Lau's enhancements but gave up :-)


Nasta
Gold Card
Posts: 443
Joined: Sun Feb 12, 2012 2:02 am
Location: Zapresic, Croatia

Re: Hermes status

Post by Nasta »

Brane2 wrote: I don't understand. With ULA2+IPC approach, you get to do whatever you want. You don't need to care abut IPC protocol.
If you want to emulate the form ( and thus form 2 DIP40-ized PCBs and no extr wires between them) , you just have to use existing ULA2<->SPC comm lines in whichever way you want.
The main question in replacing the 8302 is how much of the original 8302 you want to emulate, so that it is transparent to the OS.
The IPC interface is basically two bits that are bit-banged serial with a bit of a strange twist. So whatever you want to do keeping IPC operation transparent to the OS, needs to implement this strange and limiting thing. This may be OK for what the original IPC does, but if you want to extend the feature set, it is not at all reasonable to do it through a two bit bitbanged thing. So, what I meant was, have an additional mechanism based on register (byte wide) read write for any added functions, since one needs an extension driver for those anyway.
superHermes was the exception to this rule since at the time there were no real options to replace ULA2, so with a lot of clever programming and OS extensions, an extra fast serial port plus a mouse serial port and other features were added, all accessed through the IPS interface, but it needs a nextra flying lead with the EXTINT signal to get the IPC interrupt working right (there seems to be an option for that in the 8302 but it seems to be buggy). If you are replacing the 8302, you get the extra byte sized register option, which superHermes did not have.


User avatar
M68008
Trump Card
Posts: 223
Joined: Sat Jan 29, 2011 1:55 am
Contact:

Re: Hermes status

Post by M68008 »

Nasta wrote: The IPC interface is basically two bits that are bit-banged serial with a bit of a strange twist.
IPC communication on the QL is pretty bad. Apart from the 1-bit serial link, there is no interrupt involved! When the QL contacts the IPC (including during every 50Hz interrupt), it can sit idle for a relatively long time, waiting for the IPC to complete whatever it's doing (typically scanning the keyboard) before it decides to poll the ZX8302 and starts receiving the command.


User avatar
Pr0f
QL Wafer Drive
Posts: 1298
Joined: Thu Oct 12, 2017 9:54 am

Re: Hermes status

Post by Pr0f »

martyn_hill wrote:
Nasta wrote: BTW does the TL866 programmer program them (or is the programming voltage too high?)
Hi Nasta!

I resorted to picking up a Willem LPT programmer with a suitable adapter some time ago and was able to read my Hermes and reprogram a windowed 8749 succesfully.

I then attempted to manually dissassemble the code, cross referencing the availble 8049 dissambly in the hope that I could make sense of Lau's enhancements but gave up :-)
I'd be interested to see how far you got Martyn - as I have also dug deep into this to see how it had changed - the sound routines still have me stumped, but I will revisit them. I will PM you when I get back home later today.


Nasta
Gold Card
Posts: 443
Joined: Sun Feb 12, 2012 2:02 am
Location: Zapresic, Croatia

Re: Hermes status

Post by Nasta »

Brane2 wrote:
M68008 wrote:
Nasta wrote: The IPC interface is basically two bits that are bit-banged serial with a bit of a strange twist.
IPC communication on the QL is pretty bad. Apart from the 1-bit serial link, there is no interrupt involved! When the QL contacts the IPC (including during every 50Hz interrupt), it can sit idle for a relatively long time, waiting for the IPC to complete whatever it's doing (typically scanning the keyboard) before it decides to poll the ZX8302 and starts receiving the command.
So, if you are replacing ULA2 and IPC, why can't all of this be emulated AND replaced?
CPU could see on old I/O ports old interface that is entirely emulated. As far as it can see things, everything should look the same as before. Minus perhaps long wait after each command.
Then there can be new interface on new I/O address, doing stuff the new way.
For both of those all that is needed is PSP ( parallel slave port) on ULA2 side. ULA2 has 3 address lines ( A0,A1,A5) I assume there is extra space for a register.
Or at least a bit, so that one can "flip" some register positions and new interface would appear there...
That was the basic idea.
Data about 8302:
viewtopic.php?f=2&t=2553&p=24729&hilit=8302#p24729
There is only one clear space for a write register but there is a way around that.
The basic idea is not targeted at an original QL motherboard since the 8302 and IPC are quite a ways apart. Re-doing the IPC would be a better suited option in that case, which Hermes largely is.


Derek_Stewart
Font of All Knowledge
Posts: 3928
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Hermes status

Post by Derek_Stewart »

Hi,

I could get some 8749 from UTSource for £6-£8 depending on quantity.

But I saw this on eBay:

Priced at £52.07, from the USA, a bit expensive, but the extra safety device probably bumps the price up.
8749-1.jpg
8749-2.jpg


Regards,

Derek
Silvester
Gold Card
Posts: 436
Joined: Thu Dec 12, 2013 10:14 am
Location: UK

Re: Hermes status

Post by Silvester »

So a while ago now I buried my head in MCS-48 databooks and did a more detailed listing of the original IPC code (IMHO the existing lacked some detail and in some places appears wrong). I'm pretty sure I got it all right, but I thought I'd leave it a while and come back with a clear mind and confirm everything, but as usual other things got in the way. Amongst other things I was hoping to add some code to drive a SN76489 sound chip (trivial to add onto IPC and using TO clock).

Glad to hear Hermes binary has been released, since I'm going to have to brush up on MCS-48 again to confirm my original listing I wouldn't mind having a crack at Hermes binary at the same time (perhaps then comparing notes with others). What was the latest version 2.20 ?, I have 2.12, can someone post if they have latest.


David
Post Reply