News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_GUNHED

Fully decoded ports of CPC hardware

Started by GUNHED, 15:05, 05 August 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

GUNHED

Here is what I found...

%1111 1000 1000 0000 - &F880 - PlayCity CTC channel 0
%1111 1000 1000 0001 - &F881 - PlayCity CTC channel 1
%1111 1000 1000 0010 - &F882 - PlayCity CTC channel 2
%1111 1000 1000 0011 - &F883 - PlayCity CTC channel 3
%1111 1000 1000 0100 - &F884 - PlayCity, write data to YMZ register, right channels
%1111 1000 1000 1000 - &F888 - PlayCity, write data to YMZ register, left channels

%1111 1000 1111 1111 - &F8FF - Periphery soft reset (f.e. PlayCity)

%1111 1001 1000 0100 - &F984 - PlayCity, select YMZ register, right channels
%1111 1001 1000 1000 - &F988 - PlayCity, select YMZ register, left channels

%1111 1010 110x xxxx = &FAC0-DC - Speak & SID - SID Hardware Registers


%1111 1011 1101 1110 = &FBDE - Speak & SID - status port

%1111 1011 1110 1110 = &FBEE - LambdaSpeak

%1111 1011 1110 1110 = &FBEE - Speak & SID - main IO port
%1111 1011 1110 1110 = &FBEE - Ultimate MIDI - MIDI IN / OUT

%1111 1011 1111 1110 = &FBFE - Ultimate MIDI - receive buffer status (MIDI IN Buffer)


%1111 1100 0000 0000 = &FC00 - M4 Karte, Acknowledge Port

%1111 1110 0000 0000 = &FE00 - M4 Karte, Data Port
%1111 1110 1000 0000 = &FE80 - Albireo USB host data
%1111 1110 1000 0001 = &FE81 - Albireo USB host command / status

%1111 1110 1000 0010 = &FE82 - Nova nvRAM / RTC expansion card

%1111 1110 1010 1100 - &FEAC - Willy with S2P MIDI data
%1111 1110 1010 110D - &FEAD - Willy with S2P MIDI control / status

%1111 1110 1011 0xxx - &FEB0-7 - Albireo high speed communication

%1111 1110 1011 1100 - &FEBC - Willy with OPL3LPT register select port I
%1111 1110 1011 1101 - &FEBD - Willy with OPL3LPT data port
%1111 1110 1011 1110 - &FEBE - Willy with OPL3LPT register select port II

%1111 1110 1101 1111 = &FEDF - Willy with OPL3LPT data port - MIRROR (needed for some apps)

If you have additional information, please add. Eventually this could make a CPC Wiki page.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

GUNHED

Standard I/O ports for Willy added... waiting for your informations  ;) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

eto

Quote from: GUNHED on 16:32, 05 August 21
Standard I/O ports for Willy added... waiting for your informations  ;) :)

Is that a different list than this https://www.cpcwiki.eu/index.php/I/O_Port_Summary ? Or an enhancement?

GUNHED

Quote from: eto on 17:52, 05 August 21
Is that a different list than this https://www.cpcwiki.eu/index.php/I/O_Port_Summary ? Or an enhancement?
Absolutely, the other list I made (from your link) does show all know I/O addresses. But most of them are NOT fully decoded. For example the Gate Array is decoded as &7Fxx, but only the bits %0xxxxx11 xxxxxxxx are used for decoding.

Here: We want to see which (cool new) hardware expansions are FULLY decoded, means no 'x' in the port address.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

rpalmer

Quote from: GUNHED on 14:52, 06 August 21Here: We want to see which (cool new) hardware expansions are FULLY decoded, means no 'x' in the port address.

To fully decode the address often takes more chips to decode and make a circuit more expansive to build, which is why designers prefer only using a select number of address is used to achieve what is required.

pelrun

That may have been the case in the CPC's heyday, but there's no good excuse for using partial address decoding in a modern add-on.

zhulien

don't forget to save 1 last port on CPC to add a further set of fully further decoded ports...

GUNHED

#7
Quote from: rpalmer on 21:34, 06 August 21
To fully decode the address often takes more chips to decode and make a circuit more expansive to build, which is why designers prefer only using a select number of address is used to achieve what is required.
This thread is collecting data. There is no reason for any kind of judgement. Advantages / disadvantages are clear IMHO and have been discussed before.


One additional reason for this thread is to know (without experimenting too much) which expansions do work together properly. This problem is IMHO getting more immanent recently.


Quote from: zhulien on 17:30, 07 August 21
don't forget to save 1 last port on CPC to add a further set of fully further decoded ports...
:) :) :) :) :)  getting tight slowly...

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

PulkoMandy

The Willy OPL3LPT data port is also mirrored at FEDF. So I think you can remove it from this list.


The OPL3 works this way because that allows to use it in a way that's compatible with a dual-OPL2 setup.


For F8FF, since this is shared by many devices, you need to specify which ones decode it fully, and which ones decode it only partially. I need to check what I did in Nova, I don't remember if I could fit all the bits.

GUNHED

Well, one defined mirror is fine I guess. As long as we know.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

GUNHED

Few data added, please let me know if your hardware is missing.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Powered by SMFPacks Menu Editor Mod