6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Nov 21, 2024 10:45 pm

All times are UTC




Post new topic Reply to topic  [ 256 posts ]  Go to page Previous  1 ... 11, 12, 13, 14, 15, 16, 17, 18  Next
Author Message
 Post subject: A Short Break
PostPosted: Mon Jan 16, 2023 11:19 pm 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
In my quest to bring a VGA text terminal to Blue April I recently arrived at this point:

Attachment:
20230116_164826.jpg
20230116_164826.jpg [ 4.35 MiB | Viewed 1759 times ]


(Actually, in that photo I have already scavenged a few parts; e.g., the missing EEPROM in the lower right.)

As mentioned elsewhere, it almost, but doesn't quite work. I might could debug it, but I think that I have reached, at least for me, right now, the limit of my neatness and of breadboard complexity. There are just too many wires, and getting the probes and trouble LEDs in there, I end up bumping other things loose and causing new problems. Plus the board layout was starting to get out of hand. The amazing trapeze of bus wires that connects the dual-port SRAM is a foot long. Even with a bunch of extra ground return wires it just seems like asking for trouble.

So I started moving the parts that work to a project board. Obligatory glam shot (complete with lens flare!) of the new test rig:

Attachment:
20230116_164727.jpg
20230116_164727.jpg [ 4.03 MiB | Viewed 1759 times ]


I will be doing some wire wrap on all those header pins, but for today's testing I just stuck on a few Dupont wires. I'll take some photos of the back at some point in the future. Right now it's pretty messy and covered in goo. Paste flux is a hobbyist's best friend. :)

Today's interesting side-note / trivia:

A few years ago, when I first started feeling like I was seriously going to try building some 6502 projects, I went on a parts shopping spree on eBay. At that time I picked up a few CMD G65SC02-4 µPUs. I haven't done much with them, because they're only spec'd for 4MHz. However, for the VGA terminal, the CRTC timing will be the limiting factor, and it is well below 4MHz, so I've been thinking I might use one of them for it. Anyway, today, just for kicks, I plugged one into my test rig with my super slow-mo clock (about 2Hz). Although I haven't spotted anywhere in the data sheet where it mentions a static design, the little guy sat there happily nop-ing away for a good while until I got bored of watching it count. I let it run for a half hour or so and I didn't spot any glitches. I thought that was cool.

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
 Post subject: Re: A Short Break
PostPosted: Tue Jan 17, 2023 1:16 am 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Paganini wrote:
As mentioned elsewhere, it almost, but doesn't quite work. I might could debug it, but I think that I have reached, at least for me, right now, the limit of my neatness and of breadboard complexity. There are just too many wires, and getting the probes and trouble LEDs in there, I end up bumping other things loose and causing new problems. Plus the board layout was starting to get out of hand. The amazing trapeze of bus wires that connects the dual-port SRAM is a foot long. Even with a bunch of extra ground return wires it just seems like asking for trouble.


Wow, a foot long! That's a lot of wire!

Quote:
So I started moving the parts that work to a project board. Obligatory glam shot (complete with lens flare!) of the new test rig:


Nice! I would love to see the back end sometime :) So, are you going to solder those sockets to it? Or are you wire-wrapping everything?

Quote:
A few years ago, when I first started feeling like I was seriously going to try building some 6502 projects, I went on a parts shopping spree on eBay. At that time I picked up a few CMD G65SC02-4 µPUs. I haven't done much with them, because they're only spec'd for 4MHz. However, for the VGA terminal, the CRTC timing will be the limiting factor, and it is well below 4MHz, so I've been thinking I might use one of them for it. Anyway, today, just for kicks, I plugged one into my test rig with my super slow-mo clock (about 2Hz). Although I haven't spotted anywhere in the data sheet where it mentions a static design, the little guy sat there happily nop-ing away for a good while until I got bored of watching it count. I let it run for a half hour or so and I didn't spot any glitches. I thought that was cool.


Hm, interesting! I have never heard of a G65SC02 before, but that's neat. So you are planning on doing a separate 'co-processor' for video output? Would that dual-port RAM be the interface between Blue April and this new VGA board?

Good to see progress! Thanks for the updates, I read every one of them.

Chad


Top
 Profile  
Reply with quote  
 Post subject: Re: A Short Break
PostPosted: Tue Jan 17, 2023 3:50 am 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
Paganini wrote:
... I haven't spotted anywhere in the data sheet where it mentions [G65SC02] a static design ...

Is it implied in the timing tables? Like the Rockwell R65C02, it seems you can stop the clock indefinately in the high phase. But, wouldn't running the clock at 2-Hz violate timing for the clock low phase?

Have fun... Mike


Attachments:
Timing G65SC02.png
Timing G65SC02.png [ 94.37 KiB | Viewed 1746 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: A Short Break
PostPosted: Tue Jan 17, 2023 4:37 pm 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
sburrow wrote:
Nice! I would love to see the back end sometime :) So, are you going to solder those sockets to it? Or are you wire-wrapping everything?


Sockets are soldered, along with bypass caps and VCC/GND connections. My protoboard is this stuff:

https://www.busboard.com/POW3U

so it has power rail strips kind of like a breadboard. The sockets are normal machine pin sockets with male pin headers soldered in next to them to serve as 2 height wire wrap pins. I do have some actual wire wrap sockets, but they are kind of precious and expensive and I don't have enough (or all the right types) to build this board, so I settled on a kind of hybrid construction system. I also soldered a few other things, like the jumpers for configuring 27C256 vs. 28C256 (E)EPROM, the jumpers for switching between regular 6502s and WDC ones, and some pullup resistors. I was starting to run a little low on space, so I decided to go with the moveable but not resizable I/O window; the DIP switch in the lower right just selects between 47k resistors to VCC and GND without bringing in all the address lines to be jumpered across the P/Q inputs of the '688.

Quote:
Hm, interesting! I have never heard of a G65SC02 before, but that's neat.


CMD seems to have made a whole line of 65xx parts with many improvements. From what I've read, they also fixed the bug in the 6522 (not sure about the 6551). I'd like to get my hands on some of those. :)

Quote:
So you are planning on doing a separate 'co-processor' for video output? Would that dual-port RAM be the interface between Blue April and this new VGA board?


That's pretty much the idea. The dual port RAM has some interesting features for communicating across the ports, like semaphores and interrupts, so I might not need anything. (I do still kind of like the idea of a big VGA terminal that you connect to over RS-232, though, just aesthetically. :) ) Blue April is made of RC6502 cards and backplanes, so all PCBs. It's not so easy to reconfigure her on the fly since the glue logic is "baked in." Adding another W65C22 is not so simple, for example, because there's no where to put the AND gate for IRQ\.

Quote:
Good to see progress! Thanks for the updates, I read every one of them.


As always, thanks a lot for taking an interest!

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
 Post subject: Re: A Short Break
PostPosted: Tue Jan 17, 2023 4:40 pm 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
Michael wrote:
Is it implied in the timing tables? Like the Rockwell R65C02, it seems you can stop the clock indefinately in the high phase. But, wouldn't running the clock at 2-Hz violate timing for the clock low phase?


I would have thought! I really didn't expect it to work; I was just curious what would happen. Maybe it will stop working when I unhook the NOPs and attach some RAM/ROM...

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 22, 2023 4:05 am 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
Working board!

Attachment:
20230121_223334.jpg
20230121_223334.jpg [ 3.83 MiB | Viewed 1631 times ]


I haven't fully tested it yet, but the basics are all there: it's reading code from ROM, jumping to the reset vector, calling a subroutine and returning, so there's some RAM in the stack page, and the LEDs are counting (INC PORTA) so the ZP IO is also working.

Here's a picture of the back, since Chad especially requested one:

Attachment:
20230121_223530.jpg
20230121_223530.jpg [ 4.01 MiB | Viewed 1631 times ]


It's a bit of a mess. I have a fair amount of rogue solder to clean up. Fortunately I just got a nice new solder wick. :D After that, an alcohol bath to clean off my flux. I make my own paste flux; it works great but it leaves a lot of goo. I also still have a few little housekeeping things to do; there are some floating CMOS inputs I want to jumper to GND, and I need to set up the pre-scaler (right now the '163 is not activated).

Next I need to crack open a new notebook and write down all the documentation before I forget how everything works!

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 22, 2023 11:53 am 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Nice! I love how well it is designed. I do not find that messy at all! I really like how you wire wrapped, and on top, but still made it nice and clean. Your soldering work is great too. You seem to have an eye for fine detail.

Congrats on the working board, it's coming together! Awesome to see the progress.

Chad


Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 22, 2023 4:10 pm 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
sburrow wrote:
Nice! I love how well it is designed. I do not find that messy at all! I really like how you wire wrapped, and on top, but still made it nice and clean. Your soldering work is great too. You seem to have an eye for fine detail.


Thanks! My Dad (who taught me to solder) is a stained glass expert. A few years ago he put together one of those "build your own robot" kits just for fun. When he got done with it it looked like it had been machine soldered at a factory. So... I always feel like my soldering skill has a long way to go. :)

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 23, 2023 10:26 pm 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
Did a bit of stress testing today! Unfortunately, something bad seems to have happened to my LCD module since the last time I used it. :cry:

Attachment:
20230123_170007.jpg
20230123_170007.jpg [ 3.78 MiB | Viewed 1547 times ]


The CMD G65SC02 seems perfectly happy to run at 6.3 MHz, even though it's a 4 MHz part. :D

I put a WDC65C02 in and it also worked, verifying my CPU selection jumpers. It wouldn't run at 12.6MHz, but it did fine at 8MHz. I suppose I've finally reached the limits of my poor overachieving (150ns) EEPROM! :lol: Next round I'll try a 70ns EPROM and see how it goes.

I also verified the moveable IO window jumper, successfully relocating it into the "ROM" area. However, I have not tried all the combinations of the "page select" DIP switches, so it's possible I have some address lines crossed. I'll do that next go round also.

Edit: well, it wasn't quite time for dinner, so I went ahead and did those tests now instead of later. :D The DIP switch block does select the I/O window correctly, and with a 70ns EPROM the WDC65C02 has no problem running at 12.6MHz. Woop! On to the next phase!

This is all pretty fun, but I think this little board is just about ready, so I will be able to go back to building video output circuits again soon! I need a name for this board. It's not blue, and it's not April. :) I was thinking Peanutbutter-1 because PB (Protoboard, or Powerboard, as Busboard calls it) reminds me of peanutbutter. Other suggestions welcome. :)

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 23, 2023 11:38 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Paganini wrote:
I need a name for this board. It's not blue, and it's not April. :) I was thinking Peanutbutter-1


All you need is Jelly-2 now!

Paganini wrote:
It wouldn't run at 12.6MHz, but it did fine at 8MHz.


I personally don't understand why running so fast is important, but if you like it then do it!

Paganini wrote:
Unfortunately, something bad seems to have happened to my LCD module since the last time I used it.


Overvoltage or something?

Paganini wrote:
I will be able to go back to building video output circuits again soon


So, was this supposed to parallel Blue April? Or replace it? Or be the in-between for the video circuit? Do you have the dual-port RAM installed here? Can't remember :)

Glad it's working, and you are having fun! That's the important part :)

Chad


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 24, 2023 12:28 am 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
sburrow wrote:
Paganini wrote:
It wouldn't run at 12.6MHz, but it did fine at 8MHz.


I personally don't understand why running so fast is important, but if you like it then do it!


Well... setting speed records isn't a priority of mine. I'm already substantially faster than any equivalent retro micro. Still, I don't see any reason to go slower than I have to. If it will run at 6MHz, why not run at 6MHz? (Or 12 for the WDC chip. After all, it's specced for 14MHz.)

Quote:
Paganini wrote:
Unfortunately, something bad seems to have happened to my LCD module since the last time I used it.


Overvoltage or something?


I dunno. It was just sitting on a shelf in my bedroom for a month or so. I'm afraid maybe I crushed it under something heavy and didn't notice. :( Fortunately, they're cheap!

Quote:
Paganini wrote:
I will be able to go back to building video output circuits again soon


So, was this supposed to parallel Blue April? Or replace it? Or be the in-between for the video circuit? Do you have the dual-port RAM installed here? Can't remember :)


Be the in-between for the video circuit. Basically, to ease prototyping by giving me a reconfigurable 6502 project board that is easier to interface stuff with than Blue April is. The dual port video ram is not installed on this board; my plan is, to start with, to put it next door on a breadboard and connect to it with a cable. Then I can learn how the dual port ram works. I'll also put the CRTC on the breadboard, and my output stage from the last VGA circuit (cos I know that one works).

The POW3U protoboard I'm using has traces for an oldschool eurodin 41612 connector. Those go up to 96 pins :shock: , which is plenty for a 6502 expansion bus! Phoenix has the very ones, but they're kind of expensive (also their cheapest shipping is $14!) so I haven't ordered any.

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 24, 2023 4:26 am 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
sburrow wrote:
I personally don't understand why running so fast is important, but if you like it then do it!


i mean if you pay for a fast CPU i assume you'd want to take full advantage of that to get the most out of your money. plus designing fast systems is way more fun as it's generally more challenging.
And if a system can go faster without any modifications, then there is no reason to run slower than what it can handle as it would just waste potential processing power.


Paganini wrote:
I suppose I've finally reached the limits of my poor overachieving (150ns) EEPROM! :lol: Next round I'll try a 70ns EPROM and see how it goes.

the SST39SF0x0 series of Flash chips have a 70ns access time, that plus a small wait state circuit to insert 1 RDY cycle when accessing ROM should allow for 16MHz operation as it did on my older 65c02 SBC. (assuming the decoding logic and RAM are also able to handle it)
good luck pushing the system further!


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 24, 2023 5:23 am 
Offline

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 491
Proxy wrote:
the SST39SF0x0 series of Flash chips have a 70ns access time, that plus a small wait state circuit to insert 1 RDY cycle when accessing ROM should allow for 16MHz operation as it did on my older 65c02 SBC. (assuming the decoding logic and RAM are also able to handle it)
good luck pushing the system further!


Nice! And cheap too! Unfortunately Mouser seems to be out of stock, but at least they're on order. I do have a free socket on the board; I might could add Dr. Jeffyl's very simple ROM wait-state logic. I'd have to find the thread, but I think it just uses a flip flop.

_________________
"The key is not to let the hardware sense any fear." - Radical Brad


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 24, 2023 8:10 am 
Offline

Joined: Wed Jun 23, 2021 8:02 am
Posts: 166
If you don't care about in situ reprogramming the Winbond W27C512-45 gives you 64KB ROM with 45ns access time in a 28 pin DIL package. Works fine at 12.5MHz without wait states.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 24, 2023 11:12 am 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
Proxy wrote:
sburrow wrote:
I personally don't understand why running so fast is important, but if you like it then do it!


i mean if you pay for a fast CPU i assume you'd want to take full advantage of that to get the most out of your money. plus designing fast systems is way more fun as it's generally more challenging.
And if a system can go faster without any modifications, then there is no reason to run slower than what it can handle as it would just waste potential processing power.


Not to clutter up Paganini's topic but... I understand that faster is obviously better in this case, but I don't understand (personally) the "need for speed". Some folks drive sports cars really fast and *want* to get pulled over by the cops. Uh, ok. I'm fine with a Prius going 55 mph. Different ppl in the world?

Proxy wrote:
Paganini wrote:
I suppose I've finally reached the limits of my poor overachieving (150ns) EEPROM! :lol: Next round I'll try a 70ns EPROM and see how it goes.

the SST39SF0x0 series of Flash chips have a 70ns access time, that plus a small wait state circuit to insert 1 RDY cycle when accessing ROM should allow for 16MHz operation as it did on my older 65c02 SBC. (assuming the decoding logic and RAM are also able to handle it)
good luck pushing the system further!


I agree the SST39SF0x0 chips are great, that is the only one I use for ROM now.

Chad


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 256 posts ]  Go to page Previous  1 ... 11, 12, 13, 14, 15, 16, 17, 18  Next

All times are UTC


Who is online

Users browsing this forum: pdragon and 49 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: