It is currently Tue Dec 12, 2017 1:06 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Fri Dec 16, 2011 3:57 am 
Offline

Joined: Thu Dec 01, 2011 5:16 am
Posts: 39
As we know, Intellivision has an General Instrument CP1610 16-bit CPU, although running at only 895 Khz. How does this CPU compare to the more common 6502 and Z80 processors?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 16, 2011 8:08 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19335
Location: NE Indiana, USA (NTSC)
CP1610 on Intellivision Wiki

Perhaps the closest comparison I can think of is a Z80 (lots of general-purpose registers, lots of Internal Operation cycles). The eight 16-bit registers can be thought of as four accumulators, X, Y, S, and PC. (Yes, PC is one of the numbered general-purpose registers, just as on ARM.)


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 16, 2011 10:38 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10164
Location: Rio de Janeiro - Brazil
With a higher clock rate, that might actually be a fun CPU to code for.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 16, 2011 1:08 pm 
Offline

Joined: Mon Nov 16, 2009 5:59 am
Posts: 110
tokumaru wrote:
With a higher clock rate, that might actually be a fun CPU to code for.

Yeah, the autoincremented registers are cool.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 16, 2011 1:57 pm 
Offline

Joined: Thu Oct 05, 2006 6:29 am
Posts: 911
If you want to try it out there's SDK-1600 site where you can find tools and code samples.

And for running stuff on an actual Intellivision there's the Cuttle Cart 3 (unless it's finally gone out of stock).


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 16, 2011 2:12 pm 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2257
Just from reading these posts it seems like some people want to program a 6809/6309 or even 68000 microprocessor.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 12:25 am 
Offline

Joined: Thu Dec 01, 2011 5:16 am
Posts: 39
How does the Intellivision's 894 Khz (NTSC)/1 Mhz (PAL) CP1610 CPU compare to a 1 Mhz MOS 6502 or 3.58 Mhz Z80?


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 4:38 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10164
Location: Rio de Janeiro - Brazil
mic_ wrote:
And for running stuff on an actual Intellivision there's the Cuttle Cart 3 (unless it's finally gone out of stock).

Although I found the CPU somewhat interesting, I have no interest on the Intellivision itself. I have never seen one in person (I don't think it was even sold here officially), and from what I've seen online the games are not particularly interesting. I mean, it's interesting just for being a game console, but not "I want to code for it" interesting.

3gengames wrote:
Just from reading these posts it seems like some people want to program a 6809/6309 or even 68000 microprocessor.

The Genesis/MD does interest me a lot, so yeah, I do want to program for the 68000 some day. And from what I understand you can even use the 68000 for music (like we use the CPU for music on the NES), you're not required to use the Z80. I would like to practice more Z80 though.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 3:00 pm 
Offline

Joined: Sun Mar 27, 2011 10:49 am
Posts: 219
Location: NYC
I wish I'd had a Genesis rather than an SNES as a kid. The 68k looks like a lovely processor to work with (much nicer than the 65816), but the Genny just doesn't speak to me the way Nintendo's console does.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 3:54 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
CP1610 doesn't look fun to me. Decles? EEk. The register layout seems nice, but the instruction set is really minimalistic. No inclusive OR???

I guess this is what you have to do to set some bits in memory:

load register from memory
load other register with precomplemented mask
AND data register with mask register
complement mask register
XOR data register with mask register
store register to memory

considering each one of those instructions is 6-10 cycles, that's REALLY slow. The 6502 at the same clock rate should be faster for just about any algorithm.


The 68k is easy to program, and powerful, but after trying to emulate it, I'm just not much of a fan. It has really obnoxious instruction encoding, and I was a little let down due to its reputation as being so elegant.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 4:00 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1058
Location: Minneapolis, MN
kyuusaku wrote:
The 68k is easy to program, and powerful, but after trying to emulate it, I'm just not much of a fan. It has really obnoxious instruction encoding, and I was a little let down due to its reputation as being so elegant.


What platform were you trying to emulate?


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 7:51 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
cpow wrote:
What platform were you trying to emulate?

Neo Geo primarily, but the plan is for it to become multi-system like MAME/MESS (+computers).


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 10:00 pm 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2422
kyuusaku wrote:
CP1610 doesn't look fun to me. Decles? EEk. The register layout seems nice, but the instruction set is really minimalistic. No inclusive OR???

I guess this is what you have to do to set some bits in memory:

load register from memory
load other register with precomplemented mask
AND data register with mask register
complement mask register
XOR data register with mask register
store register to memory

considering each one of those instructions is 6-10 cycles, that's REALLY slow. The 6502 at the same clock rate should be faster for just about any algorithm.


The 68k is easy to program, and powerful, but after trying to emulate it, I'm just not much of a fan. It has really obnoxious instruction encoding, and I was a little let down due to its reputation as being so elegant.


The 68000 only takes 8 cycles to load a VDP register with a value!

MOVE.W registerthatjustsohappenstohavetheneededvalue, (addressregsiterthatjustsohappenstohavetheneededdestinationaddress)


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 10:38 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
The 6502/NES only requires 4:

sta $2007 ; A happens to hold the value, instruction encodes the address to write to PPU

or also 8 for the 8086 when the VDP is port mapped:

out dx, ax ; AX happens to hold the value, DX happens to hold the port

One cool thing about the 68K is how easily you can maintain multiple stacks with the (A#)+ and -(A#) addressing modes. I kind of like the CP1610's approach better though forcing the SP to predecrement/postincrement on indirect writes/reads.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 19, 2011 11:47 pm 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2422
My post was intended to be a joke.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 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:  
Powered by phpBB® Forum Software © phpBB Group