6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat May 04, 2024 7:31 am

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Wed Jun 26, 2013 9:30 pm 
Offline

Joined: Wed Jun 26, 2013 9:06 pm
Posts: 56
I've been looking up CPU stuff, and the talk about the new 65org16 CPU caught my attention. Is there any programming manual for the 65org16 yet? Is it exactly the same as the 6502, only everything is doubled in bit size?

Apparently there are also different variations of the 65org16 CPU with additional features and instructions. Do any have an "ADD" or "add without carry" instruction?, because the lack of an "add without carry" instruction is something that has always annoyed me with the 65816, and it looks like it would be an obvious thing to fix.


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 26, 2013 10:38 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8430
Location: Southern California
I'm sure ElEctric_Eye will be along to answer the questions better, but until then, I think the 65Org16 is basically a double-wide NMOS 6502 as far as instruction set goes-- although he was experimenting with some other ideas with registers, etc. too.

As far as the ADD instruction goes though, doing a single-byte, two-clock CLC first when necessary is pretty tiny overhead, and it seems to be that the designers decided that adding the ADD instruction (and other nice-to-haves) would not improve performance enough to make up for the fact that the added instruction decoding would reduce the maxium clock speed. You can of course make ADD macros that hold the CLC inside but don't make you look at it every time.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 26, 2013 10:57 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Aaendi wrote:
I've been looking up CPU stuff, and the talk about the new 65org16 CPU caught my attention...

Welcome Aaendi, BigEd has a nice thread summary of the 65Org16 that should present enough details for you.
BTW, what programming languages do you work with presently?

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 28, 2013 12:00 am 
Offline

Joined: Wed Jun 26, 2013 9:06 pm
Posts: 56
The only thing that I have programmed is the Super Nintendo.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 28, 2013 1:38 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Ah, ok I was just curious myself. I had posted the spec's of the .b version somewhere. I'll post it here.
Most of the ideas were inspired by Arlet Ottens, creator of the original 8-bit core, although I implemented them in the final Verilog...
The next version is .d, which I currently work on and test in a 70 MHz FPGA real world (at present video only) system I custom built. I need to update quite abit of information. I'll do this as demand presents itself, otherwise I won't waste my time.

The .b core spec sheet is not presented in the most elegant or well explained fashion, but I'll try to entertain any questions as best I can.


Attachments:
65016bv2.rtf [6.78 MiB]
Downloaded 118 times

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Last edited by ElEctric_EyE on Sat Jun 29, 2013 1:09 am, edited 1 time in total.
Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 28, 2013 7:14 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10793
Location: England
(You can read EEye's doc in your browser at https://docs.google.com/viewer?url=http ... p?id%3D718)


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 29, 2013 3:39 am 
Offline

Joined: Wed Jun 26, 2013 9:06 pm
Posts: 56
I find it strange that the 65org16.b allows registers as both the source and destination, but not as the second operand for ALU instructions, though I could see the reason for that.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 29, 2013 5:55 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
That's because it's easy to use B instead of A. It only requires that the core selects a different register. For operations between A and B, you need to change the design quite a bit, because it's a completely new concept.


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

All times are UTC


Who is online

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