Using a 16 Bit I/O Device on the PcW expansion port?

Started by GUNHED, 15:49, 15 June 22

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

GUNHED

Well, the CPC uses 16 Bit I/O and the PcW uses 8 Bit I/O. 

Can I connect an expansion to the PcW expansion port which does use 16 Bit I/O?
Does provide the PcW 16 address bits when doing I/O? Or is it only 8?

The background is that I want to connect the LambdaSpeak to the PcW. This CPC device uses 16 bit I/O. (The PcW expansion port does have all needed signals as far as I see.)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

GUNHED

Nobody?

If a program does an I/O in the PcW. Will all 16 address bits shown at the expansion port?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Prodatron

Yes.
We are using #B0 for the lower 8bit part of the I/O port for connecting MSX hardware like the Graphics9000 to the PCW. It is then addressed with the higher 8bit part of the I/O port, which makes it possible to use the whole port range of the MSX (like on the CPC+Amsdap with #FFxx).
#xxB0 is ignored by existing internal/external PCW hardware (suggestion by Habi, already realised and tested by Gflorez with the G9K).

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

GUNHED

Thank you very much for that information.  :) :) :)

This way we can use &xxEE for the LambdaSpeak for PcW. Wouldn't know an expansion using that port. 
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Prodatron

From the...

AMSTRAD "JOYCE" SOFTWARE INTERFACE SPEC.
                        Issue 9  9 July 1985

E8h-EFh        Reserved for External Printer Interface

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

GUNHED

Reserved? That sounds fair enough. :)

It there somebody out there using an external printer for the PcW?

Please let us know.  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

JohnElliott

0E8h is used (by the CPS8256 parallel port). As far as I know the other ports in the range aren't used, though it might be as well to check the CPS8256 to see how completely it decodes addresses.

When the later standalone parallel port interfaces were created it seems the designers weren't aware of that document, because they put them at 84h-87h rather than (say) 0ECh-0EFh.

GUNHED

http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

JonB

There's a sort of list of I/O addresses in use on the Wiki somewhere, but I think it is CPC6128 specific - that at least is 16 bit. Cannot recall if there's one for the PCW - if so, I would have populated it with the default uIDE ports. If not, let's start one!

JohnElliott

#9
Quote from: JohnElliott on 01:04, 17 June 220E8h is used (by the CPS8256 parallel port). As far as I know the other ports in the range aren't used, though it might be as well to check the CPS8256 to see how completely it decodes addresses.

When the later standalone parallel port interfaces were created it seems the designers weren't aware of that document, because they put them at 84h-87h rather than (say) 0ECh-0EFh.
Or perhaps they were, but were also aware of other conflicts. I've just taken a quick look at ProScan and it seems to use 0xE9 - 0xEF to communicate with its scanning hardware:

  • FAX(FX1) uses 0xEA
  • FAX(FX2) uses 0xEB
  • HandScan uses 0xEC.
  • Not sure if anything uses 0xED, but there seems to be code in there that selects it, at least.

Other bits of the code access ports 0xE9 and 0xEF.

JohnElliott

Quote from: JonB on 18:19, 05 July 22There's a sort of list of I/O addresses in use on the Wiki somewhere, but I think it is CPC6128 specific - that at least is 16 bit. Cannot recall if there's one for the PCW - if so, I would have populated it with the default uIDE ports. If not, let's start one!

@JTN's list at https://www.chiark.greenend.org.uk/~jacobn/cpm/pcwports.html is probably a good place to start.

JonB

Can we copy the content to the Wiki and then I can at least add the ports I am using for uIDE. Same for all the other new stuff that people are developing. You know the score - without a centrally managed resource that everyone can update, it gets hard to maintian a definitive source.

Powered by SMFPacks Menu Editor Mod