6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Nov 14, 2024 5:31 pm

All times are UTC




Post new topic Reply to topic  [ 22 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Sun Sep 29, 2024 12:51 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8485
Location: Midwestern USA
Yuri wrote:
BigDumbDinosaur wrote:
Also conspicuous by its absence is any definition for RAM.  Is there no RAM in this system?  Also, it would be very helpful if you posted a full schematic, not bits and pieces.

RAM is the lower 32K of the 64K address space, and is controlled directly by the A15 line. I'll draw up a full schematic; lost the previous one.

You’ve got a timing skew problem with that arrangement.  You should use the GAL to generate all chip selects so timing is consistent for all devices:

Code:
FIELD addr = [A15..10];

RAM = addr['h'0xxx..7xxx];

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


Top
 Profile  
Reply with quote  
PostPosted: Sun Sep 29, 2024 7:49 am 
Online
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
BigDumbDinosaur wrote:
Yuri wrote:
BigDumbDinosaur wrote:
Also conspicuous by its absence is any definition for RAM.  Is there no RAM in this system?  Also, it would be very helpful if you posted a full schematic, not bits and pieces.

RAM is the lower 32K of the 64K address space, and is controlled directly by the A15 line. I'll draw up a full schematic; lost the previous one.

You’ve got a timing skew problem with that arrangement.  You should use the GAL to generate all chip selects so timing is consistent for all devices:

Code:
FIELD addr = [A15..10];

RAM = addr['h'0xxx..7xxx];


I don't doubt that there's a skew there, and the plan has always been to replace this breadboard with a PCB with a 1508 to do all the address decoding.

Be that as it may however, I would think that if I am manually pulsing the clock and MANUALLY sending the write signal to the 16C550; presuming the skew isn't on the order of seconds, I doubt that's the issue here.

Again, everything works perfectly, just the UART throws a tantrum with whatever it's receiving from the 65816, and ONLY when I use the 65816. If I put the 6502 back in, it works flawlessly.

The VIA works fine, the RAM is working fine, the LCD works fine, the ROM is working fine; ONLY the 16C550C is having an issue. A 6551 does not have a problem, a SC26C92 has no issues.

I'm tempted to throw it behind the VIA and see what it does with that. =P

Schematic attached as promised without and with PLD version.

I omitted the bypass caps, but they are in fact there.


Attachments:
6502 Breadboard.pdf [382.34 KiB]
Downloaded 3 times
Top
 Profile  
Reply with quote  
PostPosted: Sun Sep 29, 2024 7:54 am 
Online
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
I noticed a couple of things I forgot to add/change in the schematic. Fixed here.


Attachments:
6502 Breadboard Corrected.pdf [382.28 KiB]
Downloaded 8 times
Top
 Profile  
Reply with quote  
PostPosted: Sun Sep 29, 2024 2:55 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1114
Location: Albuquerque NM USA
If you plan to use 1508, then logic can all go into 1508 and you only need to connect RAM, ROM, 16550, 6522, and 6502/65816. You can switch between 6502 or 65816 by reprogramming the 1508. I think you’ve enough experiences with the breadboard to go straight to pc board with 1508 and fix whatever problems you may encounter via reprogramming of 1508. Bring out unused 1508 pins to jumper pads to help you with debugging and making design changes as needed.
Bill


Top
 Profile  
Reply with quote  
PostPosted: Sun Sep 29, 2024 10:48 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8485
Location: Midwestern USA
plasmo wrote:
If you plan to use 1508, then logic can all go into 1508 and you only need to connect RAM, ROM, 16550, 6522, and 6502/65816...Bring out unused 1508 pins to jumper pads to help you with debugging and making design changes as needed.

The 1508 is gross overkill for this project.  With the little bit of logic he has, even the 1504 would be overkill.  At least the 1504 comes in a smaller package.

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


Top
 Profile  
Reply with quote  
PostPosted: Sun Sep 29, 2024 11:17 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1114
Location: Albuquerque NM USA
Yep, I agree 1508 is overkill, but it can offer significant diagnostic and reconfiguration capabilities—even an UART in case 16550 didn’t work.

Edit: Looking at my own designs, 1508 enables significant simplification so 6522, 16550, ROM are removed and the remaining hardware is just 6502, fast RAM, and a mass storage that runs 25Mhz or faster.


Top
 Profile  
Reply with quote  
PostPosted: Mon Sep 30, 2024 5:08 pm 
Online
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
plasmo wrote:
Yep, I agree 1508 is overkill, but it can offer significant diagnostic and reconfiguration capabilities—even an UART in case 16550 didn’t work.

Edit: Looking at my own designs, 1508 enables significant simplification so 6522, 16550, ROM are removed and the remaining hardware is just 6502, fast RAM, and a mass storage that runs 25Mhz or faster.


I have no doubt a 1508 in the context of this breadboard project would be crazy overkill.

Those extra pins would be handy for some other ideas I had in mind for using the CPLD. If I were just using it purely for decode logic, I could get away with a 1502 actually.

I'll post that in a different thread when I get a chance.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 22 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

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