Discussion:
[N8VEM: 17011] Port addresses
James Moxham (Dr_Acula)
2014-01-05 08:34:12 UTC
Permalink
I'm building a board for the ECB bus and I need to choose a port address to
talk to the board (or 4 consecutive addresses to be precise).

Is there a repository of port addresses listed somewhere?

The closest I could find was a list of addresses on the zeta page. If we
don't have such a list, would it be useful to create a list to avoid
potential conflicts in the future? I could just pick some random number
above 200 as I don't they are being used, but it would be better to be sure
it doesn't clash with anyone else's board :)

Cheers and many thanks in advance.

James Moxham
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Wolfgang Kabatzke
2014-01-05 09:14:12 UTC
Permalink
Post by James Moxham (Dr_Acula)
I'm building a board for the ECB bus and I need to choose a port
address to talk to the board (or 4 consecutive addresses to be precise).
Is there a repository of port addresses listed somewhere?
The closest I could find was a list of addresses on the zeta page. If
we don't have such a list, would it be useful to create a list to
avoid potential conflicts in the future? I could just pick some random
number above 200 as I don't they are being used, but it would be
better to be sure it doesn't clash with anyone else's board :)
Cheers and many thanks in advance.
James Moxham
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Hi James,

I wrote for my ECB-RAMF-Floppy this table

Base-address table

AD7 AD6 AD5 AD4 AD3 AD2

0 0 0 0 00H free

0 0 0 1
10H preferred for ECB Zilog Peripherals

0 0 1 0 20H
reserved for ECB Disk IO

0 0 1 1 30H
reserved for ECB Disk IO

0 1 0 0 40H 40H -
47H preferred for PropIO

0 1 0 1 50H 50H -
58H preferred for ECB SCG board

0 1 1 0 60H
reserved for N8VEM SBC V2

0 1 1 1 70H
reserved for N8VEM SBC V2

1 0 0 0
80H preferred for uPD7220 board

1 0 0 1 90H**
preferred for EF9366 board VDU****

*1 0 1 0 0 0 A0H
****preferred****for ECB-RAMF R1.1 #1*

*1 0 1 1 0 1 A4H
****preferred****for ECB-RAMF R1.1 #2*

1 1 0 0
C0H prefered for ECB-ModPrn R0.2 #1 and

#2 (if used in system)

1 1 0 1 D0H
prefered for ECB-4PIO (if used in

system) or preferred for EF9366 board Hardware scroll**

1 1 1 0 E0H preferred for ECB ColorVDU board

1 1 1 1 F0H free


And please watch this side in N8VEM-Wiki:

http://n8vem-sbc.pbworks.com/w/page/62304153/N8VEM%20SBC%20V2%20Input%20Output%20Addresses


Best regards


Wolfgang
--
Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9

DE - 21 502 Geesthacht
Deutschland / Germany

Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
James Moxham
2014-01-05 09:28:10 UTC
Permalink
Hi Wolfgang,

Thanks for the fast reply!

But it looks like only 00H-10H and F0H to FFH are free?

Or could I use 48H to 4FH as these look to be free. Maybe I will use those?

Of course, if we added an 8 input OR gate to A8-A15 on all the boards we
could have had 65536 port addresses, as documented on page 17 of this pdf
http://www.z80.info/zip/z80-documented.pdf But that would mean changing
all the boards out there!

Thankyou very much for this table - it is most helpful

Cheers, James


On Sun, 05 Jan 2014 19:44:12 +1030, Wolfgang Kabatzke
Post by Wolfgang Kabatzke
Post by James Moxham (Dr_Acula)
I'm building a board for the ECB bus and I need to choose a port
address to talk to the board (or 4 consecutive addresses >>to be
precise).
Is there a repository of port addresses listed somewhere?
The closest I could find was a list of addresses on the zeta page. If
we don't have such a list, would it be useful to create >>a list to
avoid potential conflicts in the future? I could just pick some random
number above 200 as I don't they are being >>used, but it would be
better to be sure it doesn't clash with anyone else's board :)
Cheers and many thanks in advance.
James Moxham
--You received this message because you are subscribed to the Google
Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Hi James,
I wrote for my ECB-RAMF-Floppy this table
Base-address table
AD7 AD6 AD5 AD4 AD3 AD2
0 0 0 0
00H free
0 0 0 1
10H preferred for ECB Zilog Peripherals
0 0 1 0
20H reserved for ECB Disk IO
0 0 1 1
30H reserved for ECB Disk IO
0 1 0 0
40H 40H - 47H preferred for PropIO
0 1 0 1
50H 50H - 58H preferred for ECB SCG board
0 1 1 0
60H reserved for N8VEM SBC V2
0 1 1 1
70H reserved for N8VEM SBC V2
1 0 0 0
80H preferred for uPD7220 board
1 0 0 1
90H preferred for EF9366 board VDU
1 0 1 0 0 0 A0H
preferred for ECB-RAMF R1.1 #1
1 0 1 1 0 1 A4H
preferred for ECB-RAMF R1.1 #2
1 1 0 0
C0H prefered for ECB-ModPrn R0.2 #1 and
#2 (if used in system)
1 1 0 1
D0H prefered for ECB-4PIO (if used in
system)
or preferred for EF9366 board Hardware scroll
1 1 1 0
E0H preferred for ECB ColorVDU board
1 1 1 1
F0H free
http://n8vem-sbc.pbworks.com/w/page/62304153/N8VEM%20SBC%20V2%20Input%20Output%20Addresses
Best regards
Wolfgang
--Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9
DE - 21 502 Geesthacht
Deutschland / Germany
Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Wolfgang Kabatzke
2014-01-05 09:48:14 UTC
Permalink
Hi James,

free or not free, this depends on Your configuration.

Full free must be 00-0FH amd F0-FFH.
If You have no uPD7220 are also free 80-8FH. And if You have no EF9366
(is not finished yet) and no ECB-RAMF and no ECB-ModPrn You may use the
full area from 90H-DFH. 48H-4FH must be also free. I built up my own
PropIO with only one Propeller. So I have learned that 4hH-43H is for
Prop Nr. 1 and 44H-47H is for Prop. Nr. 2. If You have nor PropIO is
also free 40-4FH.

But please be careful. Normally the Z80 can use for standard
IO-Operations only A0-A7. If You will use A0-A15 You must use memory
mapped IO. But then is an IO-Port = memory address.... And our memory is
"full in use".

I read the text:

4.4 16 Bit I/O ports
Oącially the Z80 has an 8 bit I/O port address space. When using the I/O
ports, the 16 address
lines are used. And in fact, the high 8 bit do actually have some value,
so you can use 65536
ports after all. IN r,(C), OUT (C),r, and the Block I/O instructions
actually place the entire BC
register on the address bus. Similarly IN A,(n) and OUT (n),A put A Ł
256 + n on the address
bus.
The INI/INIR/IND/INDR instructions use BC after decrementing B, and the
OUTI/OTIR/OUTD/OTDR
instructions before

Please be careful with this content. I know that this "undocumented
operations" are not running on each Z80-CPU I know (because I developed
computers in the former GDR) that the "undocumented options" on GDR-CPU
are not usable. The GDR built not simple clons, they developed an CPU
"conform to documentation" :-P .

Best regards and have a nice day


Wolfgang
Post by James Moxham
Hi Wolfgang,
Thanks for the fast reply!
But it looks like only 00H-10H and F0H to FFH are free?
Or could I use 48H to 4FH as these look to be free. Maybe I will use those?
Of course, if we added an 8 input OR gate to A8-A15 on all the boards
we could have had 65536 port addresses, as documented on page 17 of
this pdf http://www.z80.info/zip/z80-documented.pdf But that would
mean changing all the boards out there!
Thankyou very much for this table - it is most helpful
Cheers, James
On Sun, 05 Jan 2014 19:44:12 +1030, Wolfgang Kabatzke
Post by James Moxham (Dr_Acula)
I'm building a board for the ECB bus and I need to choose a port
address to talk to the board (or 4 consecutive addresses to be precise).
Is there a repository of port addresses listed somewhere?
The closest I could find was a list of addresses on the zeta
page. If we don't have such a list, would it be useful to create
a list to avoid potential conflicts in the future? I could just
pick some random number above 200 as I don't they are being used,
but it would be better to be sure it doesn't clash with anyone
else's board :)
Cheers and many thanks in advance.
James Moxham
--
You received this message because you are subscribed to the
Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it,
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Hi James,
I wrote for my ECB-RAMF-Floppy this table
Base-address table
AD7 AD6 AD5 AD4 AD3 AD2
0 0 0 0 00H free
0 0 0 1 10H preferred for ECB Zilog Peripherals
0 0 1 0 20H reserved for ECB Disk IO
0 0 1 1 30H reserved for ECB Disk IO
0 1 0 0 40H 40H - 47H preferred for PropIO
0 1 0 1 50H 50H - 58H preferred for ECB SCG board
0 1 1 0 60H reserved for N8VEM SBC V2
0 1 1 1 70H reserved for N8VEM SBC V2
1 0 0 0 80H preferred for uPD7220 board
1 0 0 1 90H**
preferred for EF9366 board VDU****
*1 0 1 0 0 0 A0H
****preferred****for ECB-RAMF R1.1 #1*
*1 0 1 1 0 1 A4H
****preferred****for ECB-RAMF R1.1 #2*
1 1 0 0
C0H prefered for ECB-ModPrn R0.2 #1 and
#2 (if used in system)
1 1 0 1 D0H
prefered for ECB-4PIO (if used in
system) or preferred for EF9366 board Hardware scroll**
1 1 1 0 E0H
preferred for ECB ColorVDU board
1 1 1 1 F0H free
http://n8vem-sbc.pbworks.com/w/page/62304153/N8VEM%20SBC%20V2%20Input%20Output%20Addresses
Best regards
Wolfgang
--
Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9
DE - 21 502 Geesthacht
Deutschland / Germany
Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
--
Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9

DE - 21 502 Geesthacht
Deutschland / Germany

Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
James Moxham
2014-01-05 09:53:46 UTC
Permalink
Many thanks Wolfgang,

Ah yes, the clones would not have these 'undocumented operations'.

Ok, maybe I see another solution. I can add a 74HC688 chip, and then a row
of jumpers and the user can select this themselves. That might be better,
and it is more flexible that way.

Cheers, James


On Sun, 05 Jan 2014 20:18:14 +1030, Wolfgang Kabatzke
Post by Wolfgang Kabatzke
Hi James,
free or not free, this depends on Your configuration.
Full free must be 00-0FH amd F0-FFH.
If You have no uPD7220 are also free 80-8FH. And if You have no EF9366
(is not finished yet) and no >ECB-RAMF and no ECB-ModPrn You may use the
full area from 90H-DFH. 48H-4FH must be also free. I >built up my own
PropIO with only one Propeller. So I have learned that 4hH-43H is for
Prop Nr. 1 and >44H-47H is for Prop. Nr. 2. If You have nor PropIO is
also free 40-4FH.
But please be careful. Normally the Z80 can use for standard
IO-Operations only A0-A7. If You will use A0->A15 You must use memory
mapped IO. But then is an IO-Port = memory address.... And our memory is
Post by Wolfgang Kabatzke
"full in use".
4.4 16 Bit I/O ports
O±cially the Z80 has an 8 bit I/O port address space. When using the I/O
ports, the 16 address
lines are used. And in fact, the high 8 bit do actually have some value,
so you can use 65536
ports after all. IN r,(C), OUT (C),r, and the Block I/O instructions
actually place the entire BC
register on the address bus. Similarly IN A,(n) and OUT (n),A put A £
256 + n on the address
bus.
The INI/INIR/IND/INDR instructions use BC after decrementing B, and the
OUTI/OTIR/OUTD/OTDR
instructions before
Please be careful with this content. I know that this "undocumented
operations" are not running on each >Z80-CPU I know (because I developed
computers in the former GDR) that the "undocumented options" >on GDR-CPU
are not usable. The GDR built not simple clons, they developed an CPU
"conform to >documentation" :-P .
Best regards and have a nice day
Wolfgang
Post by Wolfgang Kabatzke
Hi Wolfgang,
Thanks for the fast reply!
But it looks like only 00H-10H and F0H to FFH are free?
Or could I use 48H to 4FH as these look to be free. Maybe I will use those?
Of course, if we added an 8 input OR gate to A8-A15 on all the boards
we could have had 65536 port addresses, as >>documented on page 17 of
this pdf http://www.z80.info/zip/z80-documented.pdf But that would
mean changing all the >>boards out there!
Thankyou very much for this table - it is most helpful
Cheers, James
On Sun, 05 Jan 2014 19:44:12 +1030, Wolfgang Kabatzke
Post by Wolfgang Kabatzke
Post by James Moxham (Dr_Acula)
I'm building a board for the ECB bus and I need to choose a port
address to talk to the board (or 4 >>>>consecutive addresses to be
precise).
Is there a repository of port addresses listed somewhere?
The closest I could find was a list of addresses on the zeta page. If
we don't have such a list, would it be >>>>useful to create a list to
avoid potential conflicts in the future? I could just pick some
random number >>>>above 200 as I don't they are being used, but it
would be better to be sure it doesn't clash with anyone >>>>else's
board :)
Cheers and many thanks in advance.
James Moxham
--You received this message because you are subscribed to the Google
Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it,
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Hi James,
I wrote for my ECB-RAMF-Floppy this table
Base-address table
AD7 AD6 AD5 AD4 AD3 AD2
0 0 0 0
00H free
0 0 0 1
10H preferred for ECB Zilog Peripherals
0 0 1 0
20H reserved for ECB Disk IO
0 0 1 1
30H reserved for ECB Disk IO
0 1 0 0
40H 40H - 47H preferred for PropIO
0 1 0 1
50H 50H - 58H preferred for ECB SCG board
0 1 1 0
60H reserved for N8VEM SBC V2
0 1 1 1
70H reserved for N8VEM SBC V2
1 0 0 0
80H preferred for uPD7220 board
1 0 0 1
90H preferred for EF9366 board VDU
1 0 1 0 0 0 A0H
preferred for ECB-RAMF R1.1 #1
1 0 1 1 0 1 A4H
preferred for ECB-RAMF R1.1 #2
1 1 0 0
C0H prefered for ECB-ModPrn R0.2 #1 and
#2 (if used in system)
1 1 0 1
D0H prefered for ECB-4PIO (if used in
system)
or preferred for EF9366 board >>>Hardware scroll
1 1 1 0
E0H preferred for ECB ColorVDU board
1 1 1 1
F0H free
http://n8vem-sbc.pbworks.com/w/page/62304153/N8VEM%20SBC%20V2%20Input%20Output%20Addresses
Best regards
Wolfgang
--Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9
DE - 21 502 Geesthacht
Deutschland / Germany
Phone: +49 4152 93 18 130 NEW!!!
--You received this message because you are subscribed to the Google
Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
--Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9
DE - 21 502 Geesthacht
Deutschland / Germany
Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Wolfgang Kabatzke
2014-01-05 10:11:33 UTC
Permalink
Hi James,

great idea! I make this on each of the PCB-design of me. Of course,
fixed address need not so much hardware. But: You are not flexible and
if You wnat to use more then one PCB of one type, You have an problem.

Please be carefull with 74HC688. ECB is normally specified for LS-TTL.
This depends on Fan-In and Fan-Out. For an decoder it works, but not for
drivers etc. You may also use 74LS682, but i like the 74LS688 more
because he has the "Enable" - Input. Ok, You need an resistor-network
for the address decoding logic, but I use SIL-networks and the place
left over on my designs....

Best regards


Wolfgang
Post by James Moxham
Many thanks Wolfgang,
Ah yes, the clones would not have these 'undocumented operations'.
Ok, maybe I see another solution. I can add a 74HC688 chip, and then a
row of jumpers and the user can select this themselves. That might be
better, and it is more flexible that way.
Cheers, James
On Sun, 05 Jan 2014 20:18:14 +1030, Wolfgang Kabatzke
Hi James,
free or not free, this depends on Your configuration.
Full free must be 00-0FH amd F0-FFH.
If You have no uPD7220 are also free 80-8FH. And if You have no
EF9366 (is not finished yet) and no ECB-RAMF and no ECB-ModPrn You
may use the full area from 90H-DFH. 48H-4FH must be also free. I
built up my own PropIO with only one Propeller. So I have learned
that 4hH-43H is for Prop Nr. 1 and 44H-47H is for Prop. Nr. 2. If
You have nor PropIO is also free 40-4FH.
But please be careful. Normally the Z80 can use for standard
IO-Operations only A0-A7. If You will use A0-A15 You must use
memory mapped IO. But then is an IO-Port = memory address.... And
our memory is "full in use".
4.4 16 Bit I/O ports
Oącially the Z80 has an 8 bit I/O port address space. When using
the I/O ports, the 16 address
lines are used. And in fact, the high 8 bit do actually have some
value, so you can use 65536
ports after all. IN r,(C), OUT (C),r, and the Block I/O
instructions actually place the entire BC
register on the address bus. Similarly IN A,(n) and OUT (n),A put
A Ł 256 + n on the address
bus.
The INI/INIR/IND/INDR instructions use BC after decrementing B,
and the OUTI/OTIR/OUTD/OTDR
instructions before
Please be careful with this content. I know that this
"undocumented operations" are not running on each Z80-CPU I know
(because I developed computers in the former GDR) that the
"undocumented options" on GDR-CPU are not usable. The GDR built
not simple clons, they developed an CPU "conform to documentation"
:-P .
Best regards and have a nice day
Wolfgang
Post by James Moxham
Hi Wolfgang,
Thanks for the fast reply!
But it looks like only 00H-10H and F0H to FFH are free?
Or could I use 48H to 4FH as these look to be free. Maybe I will use those?
Of course, if we added an 8 input OR gate to A8-A15 on all the
boards we could have had 65536 port addresses, as documented on
page 17 of this pdf http://www.z80.info/zip/z80-documented.pdf
But that would mean changing all the boards out there!
Thankyou very much for this table - it is most helpful
Cheers, James
On Sun, 05 Jan 2014 19:44:12 +1030, Wolfgang Kabatzke
Post by James Moxham (Dr_Acula)
I'm building a board for the ECB bus and I need to choose a
port address to talk to the board (or 4 consecutive
addresses to be precise).
Is there a repository of port addresses listed somewhere?
The closest I could find was a list of addresses on the zeta
page. If we don't have such a list, would it be useful to
create a list to avoid potential conflicts in the future? I
could just pick some random number above 200 as I don't they
are being used, but it would be better to be sure it doesn't
clash with anyone else's board :)
Cheers and many thanks in advance.
James Moxham
--
You received this message because you are subscribed to the
Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit
https://groups.google.com/groups/opt_out.
Hi James,
I wrote for my ECB-RAMF-Floppy this table
Base-address table
AD7 AD6 AD5 AD4 AD3 AD2
0 0 0 0
00H free
0 0 0 1
10H preferred for ECB Zilog Peripherals
0 0 1 0
20H reserved for ECB Disk IO
0 0 1 1
30H reserved for ECB Disk IO
0 1 0 0
40H 40H - 47H preferred for PropIO
0 1 0 1
50H 50H - 58H preferred for ECB SCG board
0 1 1 0
60H reserved for N8VEM SBC V2
0 1 1 1
70H reserved for N8VEM SBC V2
1 0 0 0
80H preferred for uPD7220 board
1 0 0 1
90H** preferred for EF9366 board VDU****
*1 0 1 0 0 0 A0H
****preferred****for ECB-RAMF R1.1 #1*
*1 0 1 1 0 1 A4H
****preferred****for ECB-RAMF R1.1 #2*
1 1 0 0 C0H prefered for ECB-ModPrn R0.2
#1 and
#2 (if used in system)
1 1 0 1 D0H
prefered for ECB-4PIO (if used in
system) or preferred for EF9366 board Hardware scroll**
1 1 1 0 E0H
preferred for ECB ColorVDU board
1 1 1 1
F0H free
http://n8vem-sbc.pbworks.com/w/page/62304153/N8VEM%20SBC%20V2%20Input%20Output%20Addresses
Best regards
Wolfgang
--
Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9
DE - 21 502 Geesthacht
Deutschland / Germany
Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the
Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it,
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
--
Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9
DE - 21 502 Geesthacht
Deutschland / Germany
Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
--
Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9

DE - 21 502 Geesthacht
Deutschland / Germany

Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
p***@public.gmane.org
2014-01-05 12:19:23 UTC
Permalink
Hi James,

Because of the limited 8-bit IO address space of the Z80, we don't have the
luxury of statically allocating addresses for all available homebrew boards.
I think that your approach of making the IO base address of your board
configurable by the user is the most sensible one - the user will just make
sure that on his current configuration all boards are "aligned".

Unfortunately, it's harder on the SW side, as all current ROMs have fixed
configuration (IO addresses are fixed at compile time). I know that it's
getting easier these days to recompile the whole ROM source, but I believe that
there are better ways to configure the IO addresses.

One such possible way is to implement a mechanism similar to Linux Device Tree
- small binary blob that contains name:value pairs, which are used to configure
the OS drivers. This blob is created with a small tool from a text file. The
idea is that this blob describes with enough detail the HW so the SW can be as
generic as possible (locations of ROM & RAM, serial ports, disks, interrupts..).

The Device Tree structure is obviously powerfull and complex enough to describe
modern SoCs, but I think it could be also simplified for Z80. This way we'll only
have to regenerate a Device Tree blob and pass it to the OS, which I believe is
easier and more accessible to newcomers, instead of rebuilding the OS.

What do you guys think?

Regards,
picmaster

-------------------------------------

Разбра ли за зимните изкушения на СуперХостинг.БГ?
Вземи хостинг план със 75% отстъпка.
http://superhosting.bg/8years/?utm_source=Mail.BG&utm_medium=FooterLink&utm_content=FooterLink102&utm_campaign=Winter-2013
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
John Coffman
2014-01-05 19:28:14 UTC
Permalink
James,

Wolfgang's list has a few conflicts with the list being put together for
the Setup and HBIOS evolution of RomWBW. I reproduce the list from our
working document.

One tip: Make sure board addresses are set by jumpers. If you need 4
port addresses, then you need 6 jumpers to set A7..A2.

AFAIK, the only hard-wired board addresses are:
SBC v1, v2 $60-$7F
DiskIO v1 $20-$3F
all Z180's: internal registers occupy 64 I/O ports, relocated to $00,
$40, $80, or $C0.
Right now, the $40-$7F range is used by N8-2511, N8-2312, and Mark IV.


==========================================

Board I/O codes

Do we have a list of the I/O codes used by various boards? I.e.,
the suggested jumper settings and the "mask" value, meaning the number
of I/O device slots used by the board.

For instance:

board device mask

CVDU $E0 $0F (16 device codes)
SBCv1/2 $60 $1F (32 device codes)
Zeta $60 $1F
$30 $0F (FDC)
N8 $40 $3F (CPU internal registers)
$80 $1F (on-board peripherals)
Mark IV $40 $3F (CPU internal registers)
$D0 $0F (on-board peripherals)
4MEM $00 $01 (2 device codes)
2nd 4MEM $02 $01
Dual IDE $20 $1F
Dual SD $08 $01
DiskIOv1 $20 $1F (hardwired)
DiskIOv3 $20 $1F
MF/PIC v1 $40 -> $80 $1F (Mini-M68K setting, conflict
with Z180's above)
MF/PIC v2 ?? $0F !!
PropIO $40 -> $A8 $07
RAM Floppy $A0 $03
2nd RAM Floppy $A4 $03
VDU $F0 $03?
ParPortProp N/A N/A
PPISD N/A N/A




There are quite a few more boards.

***wbw:
No we don't!!! I have meant to start a table of this stuff on the Wiki
for a very long time. Just never got around to it. I have filled in
some more of the above from my driver notes.
***

***jrc:
VDU and CVDU should be made the same. PropIO conflicts with N8 and MarkIV
internal registers. Perhaps $A8 would be good for PropIO. MF/PIC moved
$40 to $80, probably has no serious conflict with N8 peripherals.
***

--John
Post by Wolfgang Kabatzke
Post by James Moxham (Dr_Acula)
I'm building a board for the ECB bus and I need to choose a port
address to talk to the board (or 4 consecutive addresses to be precise).
Is there a repository of port addresses listed somewhere?
The closest I could find was a list of addresses on the zeta page. If
we don't have such a list, would it be useful to create a list to
avoid potential conflicts in the future? I could just pick some
random number above 200 as I don't they are being used, but it would
be better to be sure it doesn't clash with anyone else's board :)
Cheers and many thanks in advance.
James Moxham
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it,
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Hi James,
I wrote for my ECB-RAMF-Floppy this table
Base-address table
AD7 AD6 AD5 AD4 AD3 AD2
0 0 0 0
00H free
0 0 0 1
10H preferred for ECB Zilog Peripherals
0 0 1 0
20H reserved for ECB Disk IO
0 0 1 1
30H reserved for ECB Disk IO
0 1 0 0
40H 40H - 47H preferred for PropIO
0 1 0 1
50H 50H - 58H preferred for ECB SCG board
0 1 1 0
60H reserved for N8VEM SBC V2
0 1 1 1
70H reserved for N8VEM SBC V2
1 0 0 0
80H preferred for uPD7220 board
1 0 0 1
90H* * preferred for EF9366 board VDU* ** *
*1 0 1 0 0
0 A0H ** **preferred** **for ECB-RAMF R1.1 #1*
*1 0 1 1 0 1
A4H ** **preferred** **for ECB-RAMF R1.1 #2*
1 1 0 0
C0H prefered for ECB-ModPrn R0.2 #1 and
#2 (if used in system)
1 1 0 1
D0H prefered for ECB-4PIO (if used in
system) or preferred for EF9366 board Hardware scroll* *
1 1 1 0
E0H preferred for ECB ColorVDU board
1 1 1 1
F0H free
http://n8vem-sbc.pbworks.com/w/page/62304153/N8VEM%20SBC%20V2%20Input%20Output%20Addresses
Best regards
Wolfgang
--
Dr.-Ing. Wolfgang Kabatzke
Hansastrasse 9
DE - 21 502 Geesthacht
Deutschland / Germany
Phone: +49 4152 93 18 130 NEW!!!
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
Loading...