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?