6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Mon Apr 29, 2024 9:38 am

All times are UTC




Post new topic Reply to topic  [ 82 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6
Author Message
PostPosted: Tue Oct 31, 2017 1:38 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3349
Location: Ontario, Canada
Very nice, Axel! If you're able to run Basic then things are going well,obviously! For a final shakedown do you eventually plan to run Klaus's test suite?

A couple of things caught my attention in the schematic. You seem to have a sixteen-bit Stack Pointer, so what up with that?? :P Also I was wondering if the chip families are as shown -- HC and LS families, for example.

Will you also publish the number of cycles for the various instructions? I'm curious how the cycle counts compare with those of an actual 6502. Also I don't quite understand your comment in your previous post about a slow shift right implementation.

On page one of this thread you posted a block diagram. I assume this has remained unchanged. But if you ever redrawn the diagram it would be nice to see a little more detail, in the control section especially. Congratulations on a great project!

cheers
Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 31, 2017 5:41 am 
Offline

Joined: Thu Jul 27, 2017 7:48 pm
Posts: 68
Hello,

Thanks Dr Jefyll. Nice to notice that people are interested in this project. Here is some detailed information behind those I have sent earlier.

Basic runs smoothly. I have executed all kinds of math calculations as a stress test. Like calculating prime numbers up to 6h. I ran Klaus's test suite earlier. It passes except flag tests which are obvious since the TTL 6502 has different SR layout.
All TTL chips are LS family despite on whats on the schematic.
I used 16-bit SP flexibility in mind. Now it seems that std msbasic is being used so this is completely unnecessary. Actually, I also had 24-bit address bus on the first drawings.
Microcode doc attached. You may notice that there are some empty cycles. Those are waiting for optimization and has no functional reason. The implementation of the right shift also gets clarified by looking at the doc.
The current block level design is still the same as on the block diagram sent earlier.

Axel.


Attachments:
Microcode_A.txt [38.87 KiB]
Downloaded 125 times
Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 31, 2017 5:48 am 
Offline

Joined: Thu Jul 27, 2017 7:48 pm
Posts: 68
Few microcode explanations:

R= /Ready signal state (output of U64-B)
A= Previous Carry state for page boundary calculations (output of U70-B)
C= Carry flag state
Z= Zero flag state
N= Neg flag state
V= Overflow fag state

Axel.


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 31, 2017 12:50 pm 
Offline
User avatar

Joined: Sun Oct 18, 2015 11:02 pm
Posts: 428
Location: Toronto, ON
Ax2013 wrote:
Basic runs smoothly. I have executed all kinds of math calculations as a stress test. Like calculating prime numbers up to 6h. I ran Klaus's test suite earlier. It passes except flag tests which are obvious since the TTL 6502 has different SR layout.
Nicely done Axel! I like the straight forward data path and low chip count. Very nice, and very interesting to see how design choices play out. Thanks for sharing the details.

I assume your microcode generator produces alternate versions in ROM for "conditional" execution (as in "A=0: X <- X + $FF;"), correct?

_________________
C74-6502 Website: https://c74project.com


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 31, 2017 1:17 pm 
Offline

Joined: Thu Jul 27, 2017 7:48 pm
Posts: 68
Hi,

Thanks Drass.

Drass wrote:
I assume your microcode generator produces alternate versions in ROM for "conditional" execution (as in "A=0: X <- X + $FF;"), correct?


You're correct. All of those conditional lines (like A=0/A=1, Z=0/Z=1) are taken care by microcode generator. I've attached a screenshot what it looks like.

Axel.


Attachments:
MicrocodeGenerator_screenshot.JPG
MicrocodeGenerator_screenshot.JPG [ 110.41 KiB | Viewed 1379 times ]
Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 13, 2017 2:48 pm 
Offline

Joined: Thu Jul 27, 2017 7:48 pm
Posts: 68
Got RS232 PCBs and now the AComputer 1.0 is ready. Here are some fresh photos of the complete set and the RS232 board as well.

Axel.


Attachments:
IMG_2764.JPG
IMG_2764.JPG [ 200.95 KiB | Viewed 1319 times ]
IMG_2763.JPG
IMG_2763.JPG [ 150.19 KiB | Viewed 1319 times ]
IMG_2762.JPG
IMG_2762.JPG [ 143.06 KiB | Viewed 1319 times ]
Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 14, 2017 6:06 am 
Offline

Joined: Thu Jul 27, 2017 7:48 pm
Posts: 68
For the record: max stable clock frequency is 1.7MHz
Microcode flash: W29C020C-90B
RAM: IDT71256L70
ROM: AT28C064B

Very unscientific performance test:
20 K=0
25 DIM M(5)
30 K=K+1
40 A=K^2
45 B=LOG(K)
47 C=SIN(K)
50 IF K<1000 THEN GOTO 30

-> 1.05 min

Axel.


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

All times are UTC


Who is online

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