PET 2001N $E8xx data bus conflict?

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

PET 2001N $E8xx data bus conflict?

Francesco Messineo
Hi All,
looking at 320349 2001N schematics on zimmers.net I can't really
understand how the I/O space addressing don't make a data bus
conflict.
On schematic 4, the UD8 select is directly connected to /SELE, which
is low from $E000 to $EFFF, so UD8 must hold the databus even during
$E8xx accesses.
UD8 databus, like all other ROMs, appear to be directly connected to
6502's databus, without buffers.
What am I missing? In the original 2001, there was no ROM mapped from
$E8000 to $EFFF, but in 2001N, the I/O chips are addressed with both
/SELE and X8XX signal that decodes (as the name suggests)
A11,A10,A9,A8 = $8.
I feel stupid, I know that 2001N works in real life, I have one
myself, but I can't think that schematic is correct.

Frank IZ8DWF

Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

André Fachat
If it is the old PET with 2k ROM chips, thise 6550 (6540? Can't remember)
had additional select lines. I'm sure the ROM has A11 connected and uses it
internally as additional select, so it is only active in $e000-e7ff.

André


Am 16. April 2018 14:17:49 schrieb Francesco Messineo
<[hidden email]>:

> Hi All,
> looking at 320349 2001N schematics on zimmers.net I can't really
> understand how the I/O space addressing don't make a data bus
> conflict.
> On schematic 4, the UD8 select is directly connected to /SELE, which
> is low from $E000 to $EFFF, so UD8 must hold the databus even during
> $E8xx accesses.
> UD8 databus, like all other ROMs, appear to be directly connected to
> 6502's databus, without buffers.
> What am I missing? In the original 2001, there was no ROM mapped from
> $E8000 to $EFFF, but in 2001N, the I/O chips are addressed with both
> /SELE and X8XX signal that decodes (as the name suggests)
> A11,A10,A9,A8 = $8.
> I feel stupid, I know that 2001N works in real life, I have one
> myself, but I can't think that schematic is correct.
>
> Frank IZ8DWF
>



Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

Francesco Messineo
Hi Andre,

On Mon, Apr 16, 2018 at 2:36 PM, And Fachat <[hidden email]> wrote:
> If it is the old PET with 2k ROM chips, thise 6550 (6540? Can't remember)
> had additional select lines. I'm sure the ROM has A11 connected and uses it
> internally as additional select, so it is only active in $e000-e7ff.

No, as I said, the old (first) 2001 design with static RAMs and 2K
ROMs (either 6540 or 2316) has a big I/O space from $E800 to $EFFF
with shadows of the same I/O ports.
I'm talking about the 2001N schematic, the one with dynamic RAMs and
4K ROMs, they added the X8XX signal to enable I/O chips only in the
$E8xx addresses, but I can't see from the schematic how they prevented
the UD8 ROM to be "quiet" when the I/O is addressed since it's enabled
only by /SELE signal.
I think the schematic is wrong, and one of these days I'll check in
the actual PCB to find differences.
I thought I'd ask here if anyone already noticed the "error" in the
schematic (or in my reasoning).

>
> André
>
>
>
> Am 16. April 2018 14:17:49 schrieb Francesco Messineo
> <[hidden email]>:
>
>> Hi All,
>> looking at 320349 2001N schematics on zimmers.net I can't really
>> understand how the I/O space addressing don't make a data bus
>> conflict.
>> On schematic 4, the UD8 select is directly connected to /SELE, which
>> is low from $E000 to $EFFF, so UD8 must hold the databus even during
>> $E8xx accesses.
>> UD8 databus, like all other ROMs, appear to be directly connected to
>> 6502's databus, without buffers.
>> What am I missing? In the original 2001, there was no ROM mapped from
>> $E8000 to $EFFF, but in 2001N, the I/O chips are addressed with both
>> /SELE and X8XX signal that decodes (as the name suggests)
>> A11,A10,A9,A8 = $8.
>> I feel stupid, I know that 2001N works in real life, I have one
>> myself, but I can't think that schematic is correct.
>>
>> Frank IZ8DWF
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

Christian Dirks
In reply to this post by Francesco Messineo
Pin 18 is /CS2 on the 2316 ROM and the 2516/2716 EPROM.
On the Mainboard, Pin 18 is Connected to A11.
It works unless you try to use a 2332 / 2532,
which will give the named conflict.

The reason for not using the x8xx signal to blank out only the 256 byte
I/O window from the /CS for UD8 seems to be, that orignally it was
planned to use another memory configuration, which eventually was
abandoned to  be compatibile with the orignal PET:
On page 1 of the schematics (upper right, next to the memory expansion
connector) you can find a jumper for a signal named I/O.
It allows to move the I/O adress window from E8xx to 88xx.
In this configuration, a 2332/2532 can be used for UD8.
This memory configuration would have been much more flexible, it would
give a continous ROM area from $9000 to $FFFF without the I/O window in
between.

Christian


Am 16.04.2018 um 14:15 schrieb Francesco Messineo:

> Hi All,
> looking at 320349 2001N schematics on zimmers.net I can't really
> understand how the I/O space addressing don't make a data bus
> conflict.
> On schematic 4, the UD8 select is directly connected to /SELE, which
> is low from $E000 to $EFFF, so UD8 must hold the databus even during
> $E8xx accesses.
> UD8 databus, like all other ROMs, appear to be directly connected to
> 6502's databus, without buffers.
> What am I missing? In the original 2001, there was no ROM mapped from
> $E8000 to $EFFF, but in 2001N, the I/O chips are addressed with both
> /SELE and X8XX signal that decodes (as the name suggests)
> A11,A10,A9,A8 = $8.
> I feel stupid, I know that 2001N works in real life, I have one
> myself, but I can't think that schematic is correct.
>
> Frank IZ8DWF
>

--
Christian Dirks
[hidden email]
Vorster Str. 66
47918 Tönsivorst

2. Stellv. Vorsitzender
Verein zum Erhalt klassischer Computer e.V.
http://www.classic-computing.de/


signature.asc (851 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

Francesco Messineo
Hi Christian,
that makes sense indeed, I was too lazy to actually check a 2316/2716
datasheet and the schematic seemed to imply I could put a 2532 in UD8
too. So the 2001N addressing is much similar to the 2001, it doesn't
have I/O shadows each 256 bytes but it can't use the "free" addresses
for ROM.
Now it makes sense of course. Yes it would be much better to put the
I/O ports at $88xx, I can't even imagine why they didn't that in the
first place. Maybe someone foresaw a case for expanding the video RAM
to 4K in 1977?

On Mon, Apr 16, 2018 at 5:49 PM, Christian Dirks <[hidden email]> wrote:

> Pin 18 is /CS2 on the 2316 ROM and the 2516/2716 EPROM.
> On the Mainboard, Pin 18 is Connected to A11.
> It works unless you try to use a 2332 / 2532,
> which will give the named conflict.
>
> The reason for not using the x8xx signal to blank out only the 256 byte
> I/O window from the /CS for UD8 seems to be, that orignally it was
> planned to use another memory configuration, which eventually was
> abandoned to  be compatibile with the orignal PET:
> On page 1 of the schematics (upper right, next to the memory expansion
> connector) you can find a jumper for a signal named I/O.
> It allows to move the I/O adress window from E8xx to 88xx.
> In this configuration, a 2332/2532 can be used for UD8.
> This memory configuration would have been much more flexible, it would
> give a continous ROM area from $9000 to $FFFF without the I/O window in
> between.
>
> Christian
>
>
> Am 16.04.2018 um 14:15 schrieb Francesco Messineo:
>> Hi All,
>> looking at 320349 2001N schematics on zimmers.net I can't really
>> understand how the I/O space addressing don't make a data bus
>> conflict.
>> On schematic 4, the UD8 select is directly connected to /SELE, which
>> is low from $E000 to $EFFF, so UD8 must hold the databus even during
>> $E8xx accesses.
>> UD8 databus, like all other ROMs, appear to be directly connected to
>> 6502's databus, without buffers.
>> What am I missing? In the original 2001, there was no ROM mapped from
>> $E8000 to $EFFF, but in 2001N, the I/O chips are addressed with both
>> /SELE and X8XX signal that decodes (as the name suggests)
>> A11,A10,A9,A8 = $8.
>> I feel stupid, I know that 2001N works in real life, I have one
>> myself, but I can't think that schematic is correct.
>>
>> Frank IZ8DWF
>>
>
>
> --
> Christian Dirks
> [hidden email]
> Vorster Str. 66
> 47918 Tönsivorst
>
> 2. Stellv. Vorsitzender
> Verein zum Erhalt klassischer Computer e.V.
> http://www.classic-computing.de/
>

Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

MiaM
Den Mon, 16 Apr 2018 20:46:09 +0200 skrev Francesco Messineo
<[hidden email]>:

> Hi Christian,
> that makes sense indeed, I was too lazy to actually check a 2316/2716
> datasheet and the schematic seemed to imply I could put a 2532 in UD8
> too. So the 2001N addressing is much similar to the 2001, it doesn't
> have I/O shadows each 256 bytes but it can't use the "free" addresses
> for ROM.
> Now it makes sense of course. Yes it would be much better to put the
> I/O ports at $88xx, I can't even imagine why they didn't that in the
> first place. Maybe someone foresaw a case for expanding the video RAM
> to 4K in 1977?

The really bad thing about the PET memory map is the placement of video
RAM.

Imho the optimal layout would had been, from top to bottom, kernal, i/o
+ video ram, basic rom, and from bottom and up general ram. That way
you could have bank switched out basic in a future version and have
continuous ram. With the 8096 and 8296, video ram sits there right in
the way making ram non-continuous (unless you don't want anything
usable displayed).

Best Regards / Captain Obvious ;) ;)

--
(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.

Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

Francesco Messineo
In reply to this post by Francesco Messineo
Anyway, on the universal board, $Exxx ROM is selected by /SELE and
X8XX combined, so one could use a 2532 ROM in place of the 2316 and
add some code too.

On Mon, Apr 16, 2018 at 8:46 PM, Francesco Messineo
<[hidden email]> wrote:

> Hi Christian,
> that makes sense indeed, I was too lazy to actually check a 2316/2716
> datasheet and the schematic seemed to imply I could put a 2532 in UD8
> too. So the 2001N addressing is much similar to the 2001, it doesn't
> have I/O shadows each 256 bytes but it can't use the "free" addresses
> for ROM.
> Now it makes sense of course. Yes it would be much better to put the
> I/O ports at $88xx, I can't even imagine why they didn't that in the
> first place. Maybe someone foresaw a case for expanding the video RAM
> to 4K in 1977?
>
> On Mon, Apr 16, 2018 at 5:49 PM, Christian Dirks <[hidden email]> wrote:
>> Pin 18 is /CS2 on the 2316 ROM and the 2516/2716 EPROM.
>> On the Mainboard, Pin 18 is Connected to A11.
>> It works unless you try to use a 2332 / 2532,
>> which will give the named conflict.
>>
>> The reason for not using the x8xx signal to blank out only the 256 byte
>> I/O window from the /CS for UD8 seems to be, that orignally it was
>> planned to use another memory configuration, which eventually was
>> abandoned to  be compatibile with the orignal PET:
>> On page 1 of the schematics (upper right, next to the memory expansion
>> connector) you can find a jumper for a signal named I/O.
>> It allows to move the I/O adress window from E8xx to 88xx.
>> In this configuration, a 2332/2532 can be used for UD8.
>> This memory configuration would have been much more flexible, it would
>> give a continous ROM area from $9000 to $FFFF without the I/O window in
>> between.
>>
>> Christian
>>
>>
>> Am 16.04.2018 um 14:15 schrieb Francesco Messineo:
>>> Hi All,
>>> looking at 320349 2001N schematics on zimmers.net I can't really
>>> understand how the I/O space addressing don't make a data bus
>>> conflict.
>>> On schematic 4, the UD8 select is directly connected to /SELE, which
>>> is low from $E000 to $EFFF, so UD8 must hold the databus even during
>>> $E8xx accesses.
>>> UD8 databus, like all other ROMs, appear to be directly connected to
>>> 6502's databus, without buffers.
>>> What am I missing? In the original 2001, there was no ROM mapped from
>>> $E8000 to $EFFF, but in 2001N, the I/O chips are addressed with both
>>> /SELE and X8XX signal that decodes (as the name suggests)
>>> A11,A10,A9,A8 = $8.
>>> I feel stupid, I know that 2001N works in real life, I have one
>>> myself, but I can't think that schematic is correct.
>>>
>>> Frank IZ8DWF
>>>
>>
>>
>> --
>> Christian Dirks
>> [hidden email]
>> Vorster Str. 66
>> 47918 Tönsivorst
>>
>> 2. Stellv. Vorsitzender
>> Verein zum Erhalt klassischer Computer e.V.
>> http://www.classic-computing.de/
>>

Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

André Fachat


Am 16. April 2018 10:12:19 PM schrieb Francesco Messineo
<[hidden email]>:

> Anyway, on the universal board, $Exxx ROM is selected by /SELE and
> X8XX combined, so one could use a 2532 ROM in place of the 2316 and
> add some code too.

Which has indeed exactly been done for the internationalized versions of
the later PET.

André



Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

Steve Gray
Am 16. April 2018 10:12:19 PM schrieb Francesco Messineo 


<[hidden email]>:


> Anyway, on the universal board, $Exxx ROM is selected by /SELE and
> X8XX combined, so one could use a 2532 ROM in place of the 2316 and
> add some code too.


Which has indeed exactly been done for the internationalized versions of
the later PET.

André

Or even new custom-built Editor ROMs ;-)      (shameless plug!)

Steve



Reply | Threaded
Open this post in threaded view
|

Re: PET 2001N $E8xx data bus conflict?

Francesco Messineo
On Mon, Apr 16, 2018 at 10:53 PM, Steve Gray <[hidden email]> wrote:

> Am 16. April 2018 10:12:19 PM schrieb Francesco Messineo
>
>
> <[hidden email]>:
>
>
>> Anyway, on the universal board, $Exxx ROM is selected by /SELE and
>> X8XX combined, so one could use a 2532 ROM in place of the 2316 and
>> add some code too.
>
>
> Which has indeed exactly been done for the internationalized versions of
> the later PET.
>
> André
>
> Or even new custom-built Editor ROMs ;-)      (shameless plug!)

and indeed in the second revision of my own RAM/ROM board, I added the
logic to remove only $E8XX from ROM space like in later PETs.

Frank