Small update.
Unfortunately, I literally only got about 10 minutes to fiddle with it last night (the circuit that is!!). I hope to have more time tonight. I started drawing up some real schematics on what I have *AND* what I hope to build.
Last night, I connected a 1M ohm resistor between pins 6 and 7 of the ACIA and left the 22pf cap on pin 6 to GND. Still nothing.
What's interesting, however, is that when I press my mechanical reset button, I can see the TX light briefly but nothing comes over. BUT, when I power down the circuit, I get a few characters of garbage on my terminal. It's funny, actually. Because I have so many large caps all over the place, I can watch the signals on my scope slowly flat line 4-5 seconds after there is no power! HA! Those caps are powering the circuit for a few seconds with no external power. lol
GARTHWILSON wrote:
Admittedly, it is a bit expensive. I suppose it's losing the economy of scale, meaning that with people gradually using less and less, manufacturers have to charge more per socket, hundred feet of wire, etc. to justify continuing production.
I'm still interested in getting into it. Is there a list somewhere that tells you exactly what to get when starting out WW'ing? I know I need a WW tool, but what else?
banedon wrote:
A circuit diagram made by you looking at your circuit as it is now is definitely needed as others have said - even if hand drawn and scanned in.
It's on my list. I will try and get something drawn up soon.
banedon wrote:
Also, it may be worth single cycling the circuit. I.e. instead of the entire circuit running at full speed, replace the PHI2 crystal with the following circuit...
Now that is really cool! In fact, I might solder up something like that on a little protoboard and use it for when I want to single step the CPU. Great idea.
jds wrote:
I maybe ended up in a similar situation with my breadboard design. I built up a complete system and it didn't work and I couldn't really figure out why. The mistake was having too much complexity to debug all at once.
I've had the same issues with other circuits in the past. This is actually a result of me isolating things to get a better understanding. The first test I did was just the 65C02 running NOPS and checking it with my scope. That worked well. So step two was to put the ROM and ACIA...which is failing. So, I certainly skipped ahead. Tonight, I'm going to take a step back and get just the CPU and ROM working with some test code running from ROM. Once that is done, and I "sign off" on the CPU and ROM, I will tackle the ACIA (or, maybe even a VIA) next.
jds wrote:
Adding a DS1813 I think will be helpful, one of my problems was not having a clean reset, it's good to know that your system will start reliably. Anything you can do to reduce randomness is very helpful.
I couldn't agree more. I have some DS1813's on their way. In the meantime, I may solder up a simple 555 reset circuit. Between that little nugget and a single-step circuit, it should make it easier to debug. Knowing my 555 reset works and my single step works will be really helpful.
jds wrote:
On my breadboard I've got no bypass capacitors and the clock looks very messy and it all still works reliably. I'm running at 1.8 MHz and my ACIA is reliably working at 115,200 which I think is a good result.
That is very promising. My target speed is going to be 1.79 MHz total. A throw-back to the days of timing your CPU to the NTSC colorburst. Plus, the AY-3-8912 sound chips I plan on using needs multiples of that anyway. Besides, I'm old-school and I appreciate that 1-4 MHz is FAST for an 8-bit computer.
jds wrote:
Try writing code that does not rely on the RAM at all so you can isolate this from the test.
I hope to do that with my ROM next. I thought about writing a program that has a delay at some low address. Then, jump to a high address, tiny delay, and then back to the low address for a long delay. Then, monitor the upper address pins on my scope to see if I can get some resemblance of a square wave.
Once that is done, and I know my ROM is good, I will start with I/O again.
floobydust wrote:
If you're using a WDC W65C51 ACIA, you should check the Lot number etched on the chip. The last batch WDC (lot A6A749.1) released are flawed and the Xmit bit is stuck on in the status register. From a programming view, this means the chip is always ready to accept the next byte. The latest batch also requires the 1M resistor in parallel with the Xtal or the Baud generator will not work correctly. The latest Datasheet (October 24th, 2014) documents the problem.
If you have this Lot number (above) you'll need to change the transmit code to introduce a time delay to allow one byte to be sent before attempting to send another. In short, you can't use the Xmit bit in the status register to query the chip. Sorry to be the bearer of bad news, but it took me some time to figure this out. There's also another thread documenting this.
This is a very interesting bit of information. I forgot to check the lot code last night but I will try to remember and check it tonight. I only have one ACIA so hopefully it's not the defective one.