Topics

RC1802 Revision F - issues #rca1802


John Kennedy
 

Hello everyone!

I’m new to the group, as I’ve only recently tried to get a 1802 Elf system working.

I am using the RC1802 Revision F boards from https://github.com/tebl/RC1802-Cosmac-ELF

I’m having the devil’s own time trying to get things working, so I’d welcome debugging suggestions and any success stories from anyone who has used the rev F board.
At the moment it appears that the data I enter is not being stored, or read back. An EPROM doesn’t display anything either, when set to Low or High.

I know the CPU is working because I can observe the various SC0, SC1, TPA, TPB, address bus signals doing what I expect.
I can enter 76 and run it, and the Q LED comes on. I can’t seem to enter more than that byte though,

So I am looking for clues as to what might be the problem. For example:

* When powered on and LOAD set to UP, and MP set OFF, I can press IN and (perhaps) enter a byte. The LEDs change anyway.
* After this first byte, without changing LOAD or MP, or pressing IN, the data toggles update the LED displays in real-time. Is that normal?

I ask as the online emulators I’ve seen do not update the display until IN is pressed. I’m wondering if this is something that could help me diagnose my project.

thanks!

-john


joshbensadon
 

Hi John,

You are correct, the LED should not follow the switches until you press the IN button.
Verify STROBE isn't shorted low anywhere and scope the signals around U4C.  



STROBE should only pulse low on TPB pulses during the load (DMA-IN) cycle.

PS. I find this design peculiar since it uses some 74LSxx chips.

Cheers,
Josh





From: cosmacelf@groups.io <cosmacelf@groups.io> on behalf of John Kennedy <johntkennedy@...>
Sent: Wednesday, September 9, 2020 10:48 PM
To: cosmacelf@groups.io <cosmacelf@groups.io>
Subject: [cosmacelf] RC1802 Revision F - issues #rca1802
 
Hello everyone!

I’m new to the group, as I’ve only recently tried to get a 1802 Elf system working.

I am using the RC1802 Revision F boards from https://github.com/tebl/RC1802-Cosmac-ELF

I’m having the devil’s own time trying to get things working, so I’d welcome debugging suggestions and any success stories from anyone who has used the rev F board.
At the moment it appears that the data I enter is not being stored, or read back. An EPROM doesn’t display anything either, when set to Low or High.

I know the CPU is working because I can observe the various SC0, SC1, TPA, TPB, address bus signals doing what I expect.
I can enter 76 and run it, and the Q LED comes on. I can’t seem to enter more than that byte though,

So I am looking for clues as to what might be the problem. For example:

* When powered on and LOAD set to UP, and MP set OFF, I can press IN and (perhaps) enter a byte. The LEDs change anyway.
* After this first byte, without changing LOAD or MP, or pressing IN, the data toggles update the LED displays in real-time. Is that normal?

I ask as the online emulators I’ve seen do not update the display until IN is pressed. I’m wondering if this is something that could help me diagnose my project.

thanks!

-john


John Kennedy
 


Thanks Josh!

As I puzzle over it, some data:

MRD - low until LOAD is up, IN pressed then pulses and doesn’t stop until LOAD is down

LOAD_N2 - follows LOAD switch

TPB - pulses when LOAD is up

STROBE - low until LOAD is up, IN pressed then pulses and doesn’t stop until LOAD is down (pulses are inverse of MRD)

DMA_IN - High until LOAD up and IN pressed then high again. 

—-

What is supposed to bring MRD low again?


On Sep 10, 2020, at 3:20 AM, joshbensadon <jbensadon@...> wrote:


Hi John,

You are correct, the LED should not follow the switches until you press the IN button.
Verify STROBE isn't shorted low anywhere and scope the signals around U4C.  

<image.png>


STROBE should only pulse low on TPB pulses during the load (DMA-IN) cycle.

PS. I find this design peculiar since it uses some 74LSxx chips.

Cheers,
Josh





From: cosmacelf@groups.io <cosmacelf@groups.io> on behalf of John Kennedy <johntkennedy@...>
Sent: Wednesday, September 9, 2020 10:48 PM
To: cosmacelf@groups.io <cosmacelf@groups.io>
Subject: [cosmacelf] RC1802 Revision F - issues #rca1802
 
Hello everyone!

I’m new to the group, as I’ve only recently tried to get a 1802 Elf system working.

I am using the RC1802 Revision F boards from https://github.com/tebl/RC1802-Cosmac-ELF

I’m having the devil’s own time trying to get things working, so I’d welcome debugging suggestions and any success stories from anyone who has used the rev F board.
At the moment it appears that the data I enter is not being stored, or read back. An EPROM doesn’t display anything either, when set to Low or High.

I know the CPU is working because I can observe the various SC0, SC1, TPA, TPB, address bus signals doing what I expect.
I can enter 76 and run it, and the Q LED comes on. I can’t seem to enter more than that byte though,

So I am looking for clues as to what might be the problem. For example:

* When powered on and LOAD set to UP, and MP set OFF, I can press IN and (perhaps) enter a byte. The LEDs change anyway.
* After this first byte, without changing LOAD or MP, or pressing IN, the data toggles update the LED displays in real-time. Is that normal?

I ask as the online emulators I’ve seen do not update the display until IN is pressed. I’m wondering if this is something that could help me diagnose my project.

thanks!

-john


joshbensadon
 

Hi John,

Sorry, I made a mistake.  I looked at the data sheet and tested my ELF, indeed, TPB and MRD pulse as normal during LOAD mode.
LOAD mode just forces the CPU to continuously execute an IDLE instruction without incrementing the PC.
Then with each IN press, a DMA-IN request occurs, which pulses the MWrite.  

So, during LOAD, the MRD continuously reads the RAM and with LOAD_N2 high, TPB strobes the value of RAM into the display.
When MRD is inactive (high), the switches are continuously read onto the bus but doesn't go anywhere until a write cycle deposits it to the RAM.
If you pull the RAM chip, the display just follows the switches (probably due to capacitance on the data lines).

I think the problem is with your RAM chip not being written to or read from.  Check the RAM and scope the CS, OE and WE.

Also check that the READ input (pins 1 & 19) to U6 (switch tristate buffer) is not grounded.  If it's shorting to ground, then you will also have the problem described.

Cheers,
Josh




From: cosmacelf@groups.io <cosmacelf@groups.io> on behalf of John Kennedy <johntkennedy@...>
Sent: Thursday, September 10, 2020 12:14 PM
To: cosmacelf@groups.io <cosmacelf@groups.io>
Subject: Re: [cosmacelf] RC1802 Revision F - issues #rca1802
 

Thanks Josh!

As I puzzle over it, some data:

MRD - low until LOAD is up, IN pressed then pulses and doesn’t stop until LOAD is down

LOAD_N2 - follows LOAD switch

TPB - pulses when LOAD is up

STROBE - low until LOAD is up, IN pressed then pulses and doesn’t stop until LOAD is down (pulses are inverse of MRD)

DMA_IN - High until LOAD up and IN pressed then high again. 

—-

What is supposed to bring MRD low again?


On Sep 10, 2020, at 3:20 AM, joshbensadon <jbensadon@...> wrote:


Hi John,

You are correct, the LED should not follow the switches until you press the IN button.
Verify STROBE isn't shorted low anywhere and scope the signals around U4C.  

<image.png>


STROBE should only pulse low on TPB pulses during the load (DMA-IN) cycle.

PS. I find this design peculiar since it uses some 74LSxx chips.

Cheers,
Josh





From: cosmacelf@groups.io <cosmacelf@groups.io> on behalf of John Kennedy <johntkennedy@...>
Sent: Wednesday, September 9, 2020 10:48 PM
To: cosmacelf@groups.io <cosmacelf@groups.io>
Subject: [cosmacelf] RC1802 Revision F - issues #rca1802
 
Hello everyone!

I’m new to the group, as I’ve only recently tried to get a 1802 Elf system working.

I am using the RC1802 Revision F boards from https://github.com/tebl/RC1802-Cosmac-ELF

I’m having the devil’s own time trying to get things working, so I’d welcome debugging suggestions and any success stories from anyone who has used the rev F board.
At the moment it appears that the data I enter is not being stored, or read back. An EPROM doesn’t display anything either, when set to Low or High.

I know the CPU is working because I can observe the various SC0, SC1, TPA, TPB, address bus signals doing what I expect.
I can enter 76 and run it, and the Q LED comes on. I can’t seem to enter more than that byte though,

So I am looking for clues as to what might be the problem. For example:

* When powered on and LOAD set to UP, and MP set OFF, I can press IN and (perhaps) enter a byte. The LEDs change anyway.
* After this first byte, without changing LOAD or MP, or pressing IN, the data toggles update the LED displays in real-time. Is that normal?

I ask as the online emulators I’ve seen do not update the display until IN is pressed. I’m wondering if this is something that could help me diagnose my project.

thanks!

-john


joshbensadon
 

John,  Have a look at U2, with pin 7 so close to pin 8 ground... could there be a short there? 





From: cosmacelf@groups.io <cosmacelf@groups.io> on behalf of John Kennedy <johntkennedy@...>
Sent: Thursday, September 10, 2020 12:14 PM
To: cosmacelf@groups.io <cosmacelf@groups.io>
Subject: Re: [cosmacelf] RC1802 Revision F - issues #rca1802
 

Thanks Josh!

As I puzzle over it, some data:

MRD - low until LOAD is up, IN pressed then pulses and doesn’t stop until LOAD is down

LOAD_N2 - follows LOAD switch

TPB - pulses when LOAD is up

STROBE - low until LOAD is up, IN pressed then pulses and doesn’t stop until LOAD is down (pulses are inverse of MRD)

DMA_IN - High until LOAD up and IN pressed then high again. 

—-

What is supposed to bring MRD low again?


On Sep 10, 2020, at 3:20 AM, joshbensadon <jbensadon@...> wrote:


Hi John,

You are correct, the LED should not follow the switches until you press the IN button.
Verify STROBE isn't shorted low anywhere and scope the signals around U4C.  

<image.png>


STROBE should only pulse low on TPB pulses during the load (DMA-IN) cycle.

PS. I find this design peculiar since it uses some 74LSxx chips.

Cheers,
Josh





From: cosmacelf@groups.io <cosmacelf@groups.io> on behalf of John Kennedy <johntkennedy@...>
Sent: Wednesday, September 9, 2020 10:48 PM
To: cosmacelf@groups.io <cosmacelf@groups.io>
Subject: [cosmacelf] RC1802 Revision F - issues #rca1802
 
Hello everyone!

I’m new to the group, as I’ve only recently tried to get a 1802 Elf system working.

I am using the RC1802 Revision F boards from https://github.com/tebl/RC1802-Cosmac-ELF

I’m having the devil’s own time trying to get things working, so I’d welcome debugging suggestions and any success stories from anyone who has used the rev F board.
At the moment it appears that the data I enter is not being stored, or read back. An EPROM doesn’t display anything either, when set to Low or High.

I know the CPU is working because I can observe the various SC0, SC1, TPA, TPB, address bus signals doing what I expect.
I can enter 76 and run it, and the Q LED comes on. I can’t seem to enter more than that byte though,

So I am looking for clues as to what might be the problem. For example:

* When powered on and LOAD set to UP, and MP set OFF, I can press IN and (perhaps) enter a byte. The LEDs change anyway.
* After this first byte, without changing LOAD or MP, or pressing IN, the data toggles update the LED displays in real-time. Is that normal?

I ask as the online emulators I’ve seen do not update the display until IN is pressed. I’m wondering if this is something that could help me diagnose my project.

thanks!

-john


John Kennedy
 

Thanks so much Josh!

Secretly I love it when things don’t work, as that is when I learn how they are supposed to work!

I’ve checked all those pins, and so it seems possible that the RAM chip is to blame. I’ll see if I can track down another :-)

Thanks again,

John

On Sep 10, 2020, at 11:48 AM, joshbensadon <jbensadon@...> wrote:


John,  Have a look at U2, with pin 7 so close to pin 8 ground... could there be a short there? 





From: cosmacelf@groups.io <cosmacelf@groups.io> on behalf of John Kennedy <johntkennedy@...>
Sent: Thursday, September 10, 2020 12:14 PM
To: cosmacelf@groups.io <cosmacelf@groups.io>
Subject: Re: [cosmacelf] RC1802 Revision F - issues #rca1802
 

Thanks Josh!

As I puzzle over it, some data:

MRD - low until LOAD is up, IN pressed then pulses and doesn’t stop until LOAD is down

LOAD_N2 - follows LOAD switch

TPB - pulses when LOAD is up

STROBE - low until LOAD is up, IN pressed then pulses and doesn’t stop until LOAD is down (pulses are inverse of MRD)

DMA_IN - High until LOAD up and IN pressed then high again. 

—-

What is supposed to bring MRD low again?


On Sep 10, 2020, at 3:20 AM, joshbensadon <jbensadon@...> wrote:


Hi John,

You are correct, the LED should not follow the switches until you press the IN button.
Verify STROBE isn't shorted low anywhere and scope the signals around U4C.  

<image.png>


STROBE should only pulse low on TPB pulses during the load (DMA-IN) cycle.

PS. I find this design peculiar since it uses some 74LSxx chips.

Cheers,
Josh





From: cosmacelf@groups.io <cosmacelf@groups.io> on behalf of John Kennedy <johntkennedy@...>
Sent: Wednesday, September 9, 2020 10:48 PM
To: cosmacelf@groups.io <cosmacelf@groups.io>
Subject: [cosmacelf] RC1802 Revision F - issues #rca1802
 
Hello everyone!

I’m new to the group, as I’ve only recently tried to get a 1802 Elf system working.

I am using the RC1802 Revision F boards from https://github.com/tebl/RC1802-Cosmac-ELF

I’m having the devil’s own time trying to get things working, so I’d welcome debugging suggestions and any success stories from anyone who has used the rev F board.
At the moment it appears that the data I enter is not being stored, or read back. An EPROM doesn’t display anything either, when set to Low or High.

I know the CPU is working because I can observe the various SC0, SC1, TPA, TPB, address bus signals doing what I expect.
I can enter 76 and run it, and the Q LED comes on. I can’t seem to enter more than that byte though,

So I am looking for clues as to what might be the problem. For example:

* When powered on and LOAD set to UP, and MP set OFF, I can press IN and (perhaps) enter a byte. The LEDs change anyway.
* After this first byte, without changing LOAD or MP, or pressing IN, the data toggles update the LED displays in real-time. Is that normal?

I ask as the online emulators I’ve seen do not update the display until IN is pressed. I’m wondering if this is something that could help me diagnose my project.

thanks!

-john


John Kennedy
 

Well everything is now working! In total I made four (big) mistakes:

1. Used the wrong type of switch for IN.
2. Didn’t use IC sockets (because hubris / impatience / I’m a HERO) and either broke or used a broken 4013 Flipflop.
3. Used a slightly different Static RAM chip, not noticing that an OE signal in the circuit was where A13 was on the chip
4. Used an EEPROM and couldn’t get any data from it - not realizing that again, A13 was always low as it was OE on this board, and so it was reading from part of the EEPROM that I hadn’t put data in, making me think the CPU wasn’t able to read it ‘cos it was all FFs.

Thanks to Josh I was able to confirm the CPU was still alive, and the switch circuitry was working as expected (once I fixed the flipflop which meant unsoldering it and this time using a socket).

Then, once I pulled A13 high on the OE the RAM chip started working. And once I programming the ROM starting at 4000h it started working too!

So now I’m ready to being exploring what this little marvel can do!



 

Nice!
Glad to see you got it going. :-) 

JohnS_AZ


P Todd Decker
 

Sometimes journeys like this are the best journeys—one learns the most

---
P. Todd Decker
913-284-8814

On Sep 11, 2020, at 11:33 AM, John Kennedy <johntkennedy@...> wrote:

Well everything is now working! In total I made four (big) mistakes:

1. Used the wrong type of switch for IN.
2. Didn’t use IC sockets (because hubris / impatience / I’m a HERO) and either broke or used a broken 4013 Flipflop.
3. Used a slightly different Static RAM chip, not noticing that an OE signal in the circuit was where A13 was on the chip
4. Used an EEPROM and couldn’t get any data from it - not realizing that again, A13 was always low as it was OE on this board, and so it was reading from part of the EEPROM that I hadn’t put data in, making me think the CPU wasn’t able to read it ‘cos it was all FFs.

Thanks to Josh I was able to confirm the CPU was still alive, and the switch circuitry was working as expected (once I fixed the flipflop which meant unsoldering it and this time using a socket).

Then, once I pulled A13 high on the OE the RAM chip started working. And once I programming the ROM starting at 4000h it started working too!

So now I’m ready to being exploring what this little marvel can do!