6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 4:11 am

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: It's alive!
PostPosted: Sat Sep 12, 2015 8:44 pm 
Offline

Joined: Mon Mar 25, 2013 9:26 pm
Posts: 183
Location: Germany
Attachment:
MOUSE_PCB_alive.JPG
MOUSE_PCB_alive.JPG [ 399.13 KiB | Viewed 1210 times ]


Hello,
after a whole day of debugging I found two missing connections on the PCB that were not reported by KiCad during the final check. The first one was between R/W and the read-write logic. It was a missing segment of the path from the CPU pin to the 74HC00. This caused the /READ and /WRITE lines to oscillate with the speed of PHI2. No matter what code was executed.

The second one was the small connection from the VCC pin (nr. 28) and the /WE pin (nr. 27) for pulling the write line to 5V on the EEPROM. That caused the write line floating with interesting results.
I tested the circuit with a real simple code and my Saleae logic analyzer.
Code:
.org   $e000      ;start of ROM

start:
   jmp start

.advance $fffa

.word start      ; NMI vector
.word start      ; RESET vector
.word start      ; IRQ vector

With a fresh programmed EEPROM all the adress-logic and address -lines looked good, but after some time strange things happened on the bus. Suddenly there were chipselects on the ACIA and the other two IO selects without any representation in the code. After a reset all these things happened directly after the start. Looking at the EEPROM showed changed data. So I came to check the pullup of the /WE line.
This was some sort of code modifying hardware. It also compromised the content of the EEPROM of the breadboard version that I used to verify that the EEPROM is not defective. At the end I had two dead computers and thought about finding an analog hobby :-)
But after a break I set down and started checking everthing part by part and reprogrammed the EEPROMS for both machines. That brought the breadboard version back to live as well as my trust in my engineering skills.

With the second finding all the strange things became explainable and by connecting the both pins on the EEPROM socket the problem was fixed and MOUSE started up as expected.

Thanks to all the kind people in this forum that spent their time to help nerds like me. What started as a dream and idea about thirty years ago is now a working piece of hardware in my desk.

_________________
How should I know what I think, until I hear what I've said.


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sat Sep 12, 2015 9:21 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Great result!


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sat Sep 12, 2015 9:24 pm 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
Congrats', Mario. That board turned out very nice (hope I'm not the only one who looks at these things almost like a work of art, grin)...


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sat Sep 12, 2015 9:43 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Good troubleshooting. At viewtopic.php?f=1&t=1888&start=49, I tell about the PCB checking method someone introduced me to 25 years ago that has eliminated the errors, including errors left by the CAD that is supposed to catch them.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sat Sep 12, 2015 10:39 pm 
Offline

Joined: Mon Mar 25, 2013 9:26 pm
Posts: 183
Location: Germany
Thanks Garth for the link to the PCB checking method. When I finished my layout, I did something like this, but not that careful. It is possible to highlight a net in KiCad and I did that to check if everything is connected. But in this particular case it did not help, because all segments in the net were highlighted an there was a small part missing in the middle of a trace, because I rearranged some parts and had to delete parts of already drawn connections. This is one missing feature in KiCad at the moment that you cannot delete a whole track, only single segments. I needed to change the layer twice and I forgot to route the small part on the bottom layer. Also the small connect between two pins was too small to see it, especially when the ground planes a drawn for both sides. But without the ground planes you see the missing connections for the ground pins, what makes it hard to see any other missing trace.
With the things I've learned today I went back to KiCad and found out that there is a functionality that could have solved my problem. After the DRC (Design Rule Check) you can list all unconnected pins and traces. But there were also a lot in the list, that were already connected. KiCad seems to have its own ideas when a connection is defined as "closed". I added some tracks to already existing tracks by routing them on the opposite layer to the trace and then connecting the new trace with a via. This worked well as the now working PCB shows, but for KiCad the track was not yet connected. A small segment on the second layer over an already existing segment for this trace is needed to make a defined connection for KiCad. That was my problem, because I did not understand this behavior and ignored the list of unconnected parts, even the both that were really unconnected. This will be filed under "lessons learned" and maybe I make a little tutorial for KiCad and the current pitfalls, because it is a really good tool under heavy development. It has enough features for hobbyists and no limitations like Eagle or DipTrace. I even found a company that accepts KiCad as dataformat for PCB production.

_________________
How should I know what I think, until I hear what I've said.


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sun Sep 13, 2015 3:57 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
Good job!

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sun Sep 13, 2015 11:25 am 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
First, conrats! Great work. Second --
mkl0815 wrote:
This will be filed under "lessons learned" and maybe I make a little tutorial for KiCad and the current pitfalls, because it is a really good tool under heavy development. It has enough features for hobbyists and no limitations like Eagle or DipTrace. I even found a company that accepts KiCad as dataformat for PCB production.
I'd love a tutorial for KiCad. Also, can I ask which company you used for the PCB, how happy were you with them etc? Most of the references here are (of course) for the US, and that's a bit far away ...

Oh, and third, what's next :D ?


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sun Sep 13, 2015 4:18 pm 
Offline
User avatar

Joined: Sun Oct 13, 2013 2:58 pm
Posts: 491
Location: Switzerland
Ha scotws got ahead of me for both: congrats! on your MOUSE running and second me too I would like to know the company that you ordered your PCB from.

Cheers

Peter


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sun Sep 13, 2015 7:52 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Nice work!

KiCad user here as well, sort of a n00b. Just a bit of a learning curve. 6-layer design in progress here...

Requires $$ to experiment with board houses usually.

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Sun Sep 13, 2015 8:24 pm 
Offline

Joined: Mon Mar 25, 2013 9:26 pm
Posts: 183
Location: Germany
I ordered the PCB from http://www.pcb-pool.com/ppde/index.html. about 75 euro for 8 day order. Good quality and delivered in time. I had some questions during the processing and they were answered really quick. They have also some kind of "production view" of your pcb. You get several photos of your pcb during the production process. After etching, drilling, etc. And you get an interactive PDF generated from the data you sent in to check if they got everything right.

I'm really pleased with this company. Especially as they accept KiCad files directly.

@Scot: MOUSE will be shown on the vintage computer festival on Oct 03/04 @ HU Berlin (Friedrichstrasse). I will be there on Saturday at the stand of the VzEkC e. V., maybe we'll have a meet up there? The next steps are writing more software, adding a 128x64 LCD display (connector is already included in the design) and maybe add some additional hardware via the expansion header.

Today I managed to produce a two-layer pcb by myself for a second retro project I'm working on (flappy4000) that will also be shown at the festival. So I think the next computer will be more complex with a backplane in a 19" rack housing. Maybe with a 65816 instead of a 65C02.

_________________
How should I know what I think, until I hear what I've said.


Top
 Profile  
Reply with quote  
 Post subject: Re: It's alive!
PostPosted: Mon Sep 14, 2015 3:06 pm 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
mkl0815 wrote:
@Scot: MOUSE will be shown on the vintage computer festival on Oct 03/04 @ HU Berlin (Friedrichstrasse). I will be there on Saturday at the stand of the VzEkC e. V., maybe we'll have a meet up there?
Hey, cool! I'll try to be there on Saturday, possibly with one or two kids in tow. You can never start them too early with the 6502!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 40 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: