6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Mon May 06, 2024 1:01 pm

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: Need help with DIY-6502
PostPosted: Sun Feb 16, 2003 11:01 pm 
Offline

Joined: Sun Feb 16, 2003 10:48 pm
Posts: 8
I am trying to build Douglas Beattie's DIY-6502 computer. I have it assembled and I loaded the BB0010A.AS program on my EEPROM to test it. But I don't get any output to my terminal. It should display "01234567" but I don't get anything. I am a little confused about some of my connections because the schematics don't seem to match the wire-wrap list provided on the web site (especially for the control signals). So I'm not sure if all the connections are the way they are supposed to be. I tried to follow the schematic more than the wire-wrap list for my connections. I don't know a lot about electronics so can someone give me a clue as to what I sould look for? I've double checked my connections the best I can and made sure the wires are going to the right place according to the schematic. Any help would be appreciated. Thanks.

Ken


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Feb 17, 2003 12:27 pm 
Offline

Joined: Tue Sep 03, 2002 12:58 pm
Posts: 296
What are the differences? If you give me a list, I can probably tell you which version to trust.

I would highly recommend getting yourself a logic probe. They're fairly cheap. Then you can do the usual micro sanity checking - does reset go low, and then high? Is there a clock signal? Are the address lines changing? Does the EPROM chip select line change? Does the 6551 chip select line change?

These things change far too quickly for a normal meter to keep up. An oscilloscope would be ideal, if you've got a few hundred dollars to spare. Logic probes are the poor man's alternative. Almost as useful, but so much cheaper.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Feb 17, 2003 2:35 pm 
Offline

Joined: Sun Feb 16, 2003 10:48 pm
Posts: 8
John,

I don't have a logic probe but I'll get one. Here are the differences that I found between the schematic and the wire list that was given on the web site. The biggest differences are in the chip select signals (which I understand the least but I'm trying to learn). Any help would be appreciated. (Sorry about all the dashes but only way to keep the alignment).

Thanks
Ken

u1 - 65C02
u2 - 7404
u3 - 74LS139
u4 - 28C16A
u5 - 43256
u6 - 6551
u7 - max233
u8 - 6522
j1 - db25
j2 - jumper 2

-------- list ----------------------------- schematic
source -------- dest---------------- source ------ dest
u3-15(G2) ---- u3-8(VSS) ------- u3-15(G2) -- u1-3(PHI10)
-------------------------------------- u3-8(VSS) -- ground

u6-9(CTS) --- u6-16(DCD) ------ u6-9(CTS) -- Not Connected
u6-9(CTS) --- ground ------------ u6-16(DCD) - Not Connected
u6-16(DCD) - u6-15(VCC) ------ u6-15(VCC) +5v
u7-18(T2out)--j1-4 --------------- u7-18(T2out) j1-20
u7-19(R2in) -- j1-5 --------------- u7-19(R2in) - j1-6

u1-20(A11) -- u4-21(WE) -------- u1-20(A11) -- J2-2
u1-22(A12) -- u4-? --------------- u1-22(A12) -- u5-2(A12) u2-3(A2)
u1-23(A13) -- u4-24(VCC) ------ u1-23(A13) -- u3-2(A1)
u1-24(A14) -- u4-? --------------- u1-24(A14) -- u3-3(B1)
u1-25(A15) -- u4-18(CE) -------- u1-25(A15) -- u4-18(CE) u2-1(A1)

u3-13(B2) --- u2-3(A2) ---------- u3-13(B2) --- u4-18(CE) u2-6(Y3)
------------------------------------- u2-3(A2) ----- u1-22(A12)

u2-4(Y2) ----- u3-1(G1) ---------- u2-4(Y2) ---- u8-24(CS1)
-------------------------------------- u3-1(G1) --- u2-2(A1)

u3-12(2Y0) -- u4-? ---------------- u3-12(2Y0) - u4-21(WE)

u2-2(Y1) ----- u8-24(CS1) ------- u2-2(Y1) ---- u3-1(G1)
-------------------------------------- u8-24(CS1) - u2-4(Y2)

u6-2(CS0) --- u2-1(A1) ----------- u6-2(CS0) -- u5-2(A12)
--------------------------------------- u2-1(A1) --- u1-25(A15)

u1-22(A12) -- u2-1(A1) ----------- u1-22(A12) - u5-2(A12) u2-3(A2)
--------------------------------------- u2-1(A1) --- u1-25(A15)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Feb 19, 2003 12:48 pm 
Offline

Joined: Tue Sep 03, 2002 12:58 pm
Posts: 296
OK... sorry about the delay.

Every chip will have pins called Vcc or Vdd, and pins called GND or Vdd. They're usually not marked on schematics, because they just clutter things. You're assumed to know that Vcc and Vdd connect to the power supply +5V, GND and Vdd to the power supply return (0V or ground or whatever it is called). It won't work at all if you forget any of them.

The later schematic has U3:15 connected to ground, not the clock. I'll have to check a few datasheets to see if that will work correctly. I remember using the clock signal in the address decoding logic last time I build a 6502 board, but it might be possible to do it without.

The connections for CTS and DCD don't really matter, unless you write software that uses them.

The connections on U7 that you list don't matter much either, unless you're using them. They won't stop anything from working.

The rest of the connections you list don't make any sense at all, in either version. Address lines are usually connected to each other (A1 to A1, A2 to A2), with the higher ones on the CPU (U1) going through decoding logic (U2 and U3) to the memory chip selects. I suspect the wire-wrap list is for a different memory chip with a different pinout.

I've been looking at http://www.hytherion.com/beattidp/compu ... iy6502.pdf which appears correct. I can't see any obvious problems with it, at least.

The first thing to do is to check that every chip is connected to the power supply, and that the supply is giving you 5V. Probably best to do that before you put the chips in the sockets - I managed to get the power supply backwards once, and that was not good (but those old NMOS 6502s are TOUGH. The board survived 30 seconds of backwards power without a scratch).

Then check that there's a clock signal on U1:37 (logic probes usually have three lights - one for "0", one for "1", and the third for oscillating signals. If it only has two lights, they should both be lit for the clock).

Make sure reset (U1:40) goes high slightly after power is applied. I don't like that reset circuit much - I'd be happier with a 7414 (is that the number? It's been so long) schmitt inverter in between (with the positions of the capacitor and resistor swapped, and the button pulling it to Vcc instead of GND). But if it works for him, we'll leave it.

Then make sure the address lines are changing. If you remove U4, U5, U6, and U8 from the board, you can be rather rude and connect the data lines to +5V or GND to put a NOP instruction on the data bus ($EA = 11101010. So D0 to GND, D1 to +5V, and so on). That will make the processor act as a counter. A0 will toggle very quickly, A1 at half the speed, A2 at half the speed of A1, and so on. You probably won't be able to see even A15 toggling (14Hz by my calculation), but both lights on the logic probe should be on.

Then put all the chips back, and check U5:20 (the ROM's chip select). It should be going up and down. The data lines (D0 to D7) should be going up and down too - that means you're getting code out of the ROM.

I'd start with a very simple program in the ROM too. At the start, just a loop. Make sure you've got the reset vector pointing to the right place. The ROM will be mapped to the top of memory. Then write one that sets a 6522 port to output and toggles one of the bits. Check the 6522 chip selects (U8:23,24) and R/W (U8:22). They should be bouncing up and down. Make sure your selected output is toggling.

If any of these checks fail, then it's time to do more detailed investigation in that particular area.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Feb 19, 2003 1:03 pm 
Offline

Joined: Sun Feb 16, 2003 10:48 pm
Posts: 8
I found my problem. I was looking at everything late last night and relized I had U4 and U5 reversed. Most of the schematics have u4 on the left and u5 on the right. One of the schematics on the web site has it reversed and I hadn't noticed that. So now I have to reverse some of the wires going to the 2 chips. Thanks for everyones help!!

Ken


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Feb 19, 2003 7:31 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8432
Location: Southern California
Thanks John for your excellent post. I must make one correction however. About U6, the 6551, you wrote,

> The connections for CTS and DCD don't really matter, unless you write
> software that uses them.

Actually the 6551 transmitter is disabled anytime CTS\ is high. Also, DCD\ must be low for the receiver to operate. If you're not going to use them, just ground them. DCD is not often used, but CTS definitely is.

Garth


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 20, 2003 10:37 am 
Offline

Joined: Tue Sep 03, 2002 12:58 pm
Posts: 296
[quote="GARTHWILSON"]
Actually the 6551 transmitter is disabled anytime CTS\ is high. Also, DCD\ must be low for the receiver to operate. If you're not going to use them, just ground them. DCD is not often used, but CTS definitely is.
Garth[/quote]

Damn, I've been found out. I've never used the 6551. I was just assuming it was like other (more familiar) UARTs. That's a nasty gotcha.


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

All times are UTC


Who is online

Users browsing this forum: No registered users and 7 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: