[net.micro.atar] "new" CPU with 128 stacks, 16-bit registers

blk (02/16/83)

	There is a super-stack machine now available for the atari,
apple, and commodore computers.  The "2056" cpu has 128 16-bit registers
which can be used as memory pointers or stack pointers.  Since the 
accumulator is 8-bit, the cpu will also split the registers into pairs
of 8-bit data registers.  
	There is a separate, high speed stack used by the interrupt handler
and subroutine nesting.  This stack has a maximum depth of 256 bytes.  
The other 128 (optional) stacks have no limit.
	The choice of stack can be indexed; this means you can refer to
stack 5, stack x, or stack 5 + x.  This 'x' can be another register 
or a memory location (slightly slower).
	An unusual but useful stack feature is the ability to reference
any element of a stack; PEEK at the 2nd stack byte, or POKE in a new 3rd
byte without disturbing the stack.


	op			 cycles			 bytes
	--			---------		-------
POP  {128}  [index]		11 / [14]		4 / [6]
PUSH {128}  [index]		11 / [14]		4 / [6]

PEEK {128}  [depth]		   12			   6
POKE {128}  [depth]		   12			   6


	For those of you who haven't guessed yet, this "2056" cpu is
	just the 6502 looked at in a different way.  This is a powerful
	and *elegant* design!  Let's not slight this noble chip.  OK?


note-	POP =		LDA (z),y; DEC z
	POP [index] =	LDX z; LDA (z, x); DEC z
	PEEK =		LDY z; LDA (z), y; LDY #0


		-brian

bernie (02/22/83)

People who like the 6502 keep pointing out that you can pretend its page
zero locations are registers, and do things that way.  If it were really
that simple, then why don't we see any sophisticated software for that
processor?  Why hasn't anyone brought up C on it, and implemented Un*x
lookalikes?  (Note that there are some surprisingly good Un*x imitations
going on Z80 and 6809 based systems).  There also aren't any good database
systems that run on 6502-based machines, nor for that matter any particularly
good or widely-supported operating systems.  If the 6502 were half as
powerful as its advocates claim, there would be more and better software
available for it; the absence of such software suggests that maybe the chip
isn't as capable as some of the other 8-bit processors.

msm (02/23/83)

The fact that more software is available for the 8080/Z80 processors than
for the 6502 is not due to the superiority of one CPU over the other.
Merely, it is most likely due to market forces.  If you are going to write 
a software package for sale, you will want to target it towards the
largest possible market.  Since there are more 8080/Z80's than 6502's in this
world, new software tends to be written for these machines.  This in
turn causes more people to buy this type of CPU, which gives a still
larger installed base, etc.

While I happen to agree that the 6502 is a superior processor than the
8080 (and a Homebrew system I built uses it for that reason), I also own
a Z80 system to make use of the installed base of software.  In fact, if
I ever write software for sale, it will most likely be for the 8080/CPM
market for the reasons stated above.  That does not change my opinion of
the processor.

					Michael S. Maiten
					Silicon Gulch, California
					<...!{ucbvax!menlo70,decvax}!sytek!msm>

newman (02/26/83)

It's not immediately obvious to me that there are "more 8080/Z80's than 6502's
in this world". Consider Apple II + Apple III + PET/CBM + Atari + VIC-20 +
VIC-64 + OSI + KIM/SYM/AIM versus the CP/M market + TRS-80. I like the 6502
but I do tend to agree that there must be some reason why there are so few
big software packages like compilers, data base systems, spell systems, that
use or produce native 6502 code. I think the reason there is no standard
6502 OS is that there is no standard 6502 hardware configuration (i.e. disk
format, memory map, I/O ports) as there is sort of for CP/M; this is likely
due to the fact that 6502 I/O is memory-mapped, and all the above systems
have memory in different places and amounts, and they all refuse to give
any assistance in the area of compatibility, dictating that you MUST buy
their peripherals and their damn copy-protected software etc. I have some
experience in trying to port supposedly incompatible software, and if it
is well written there is not as much incompatibility as is claimed. There
are some C compilers for example for the 6502, but not very much else. Once
a standard or minimal hardware configuration is proposed, some progress
might result. I wonder if the lack of compilers is due to people saying,
"Well, it doesn't have any 16-bit registers, I'm not even going to TRY
and write a compiler for that thing" or whether they've actually tried and
abandoned it because of poor performance after giving it a good shot?