› Foros › Retro y descatalogado › Consolas clásicas
The Sony SPC700[3] is the S-SMP's integrated 8-bit processing core manufactured by Sony with an instruction set similar to that of the MOS Technology 6502 (as used in the Commodore 1541 diskette drive and the Vic 20, Apple II, BBC Micro and in modified form in the original NES).
The SPC700 instruction set is quite similar to that of the 6502 microprocessor family, but includes many additional instructions, such as XCN (eXChange Nibble), which swaps the upper and lower 4-bit portions of the 8-bit accumulator, and an 8-by-8-to-16-bit multiply instruction. Sony also re-mapped all the opcode values (eg. 00h no longer is BRK, A9h no longer is LDA) and renamed the opcode mnemonics in their assembler (eg. TXY becomes "MOV x,y")[4].
No, si los de Sony seguro que se enfadan si de alguna manera un producto suyo no parece tan original, pero lo que es, es, y lo siento pero la cpu integrada en el SPC700 es un 6502 pero de cajón, aunque no le quieran llamar.
A .... Accumulator OPC A operand is AC
[b]abs .... absolute [/b] OPC $HHLL operand is address $HHLL
[b]abs,X .... absolute, X-indexed[/b] OPC $HHLL,X operand is address incremented by X with carry
[b]abs,Y .... absolute, Y-indexed[/b] OPC $HHLL,Y operand is address incremented by Y with carry
[b]# .... immediate[/b] OPC #$BB operand is byte (BB)
[b]impl .... implied[/b] OPC operand implied
[b]ind .... indirect [/b] OPC ($HHLL) operand is effective address; effective address is value of address
[b]X,ind .... X-indexed, indirect [/b] OPC ($BB,X) operand is effective zeropage address; effective address is byte (BB) incremented by X without carry
[b]ind,Y .... indirect, Y-indexed[/b] OPC ($LL),Y operand is effective address incremented by Y with carry; effective address is word at zeropage address
[b]rel .... relative[/b] OPC $BB branch target is PC + offset (BB), bit 7 signifies negative offset
[b]zpg .... zeropage[/b] OPC $LL operand is of address; address hibyte = zero ($00xx)
[b]zpg,X .... zeropage, X-indexed[/b] OPC $LL,X operand is address incremented by X; address hibyte = zero ($00xx); no page transition
[b]zpg,Y .... zeropage, Y-indexed[/b] OPC $LL,Y operand is address incremented by Y; address hibyte = zero ($00xx); no page transition
Accumulator
Absolute
Absolute (R-M-W)
[i][b]Absolute Indexed Indirect[/b][/i] (parecido al X-indexed, indirect del 6502, pero aquí es con dirección absoluta y no con dirección en Zeropage)
Absolute, X
Absolute, Y
Direct (que es el ZeroPage en el 6502)
Direct (R-M-W)
Direct Immediate (que es el #immediate del 6502)
[b][i]Direct Indexed Indirect[/i][/b]
Relative (que es el relative del 6502)
Direct, X
Direct, X (R-M-W)
Direct, Y
[b][i]Indirect (x) [/i][/b](en el 6502 sólo se puede indirecta con el registro Y indexado)
Indirect (x)+
Implied
[b][i]Bit[/i][/b] (que es la gran novedad del SPC700, manipulación directa de bits al estilo de microcontroladores)
[b][i]Stack s[/i][/b]
zeropage ADC oper 65 2 3
6a. Direct dp
ADC, AND, CMP, EOR, MOV, OR, SBC
14 OpCodes, 2 bytes, 3 and 4 cycles
relative BCC oper 90 2 2**
19a. Relative rel
BCC, BCS, BEQ, BMI, BNE, BPL, BRA,
BVC, BVS
9 OpCodes, 2 bytes, 2 and 4 cycles
Otra cosa, es que al contrario de lo que te han dicho antes, ningún sistema actual multi-procesador funciona como la Saturn; no sé de dónde se ha sacado esa información el amigo wwwendigo, pero como tantas cosas que ha dicho en otros hilos, no es cierta.
Abro este hilo ya que en otro hilo se me ha faltado al respeto inventándose cosas sobre mí que nunca he dicho y lanzando acusaciones de plagio... ¿Y todo por qué? Porque se me ocurrió discutirle a cierto usuario una información que leyó en la wikipedia y que interpretó mal por lo que parece.
Sexy MotherFucker escribió:@magno pillo sitio antes de la tormenta.
Aprovechando el hilo; ¿el 6502 comparte con el 65816 su bajísima latencia accediendo a memorias?
Diskover escribió:Que el SPC700 de Sony tenga similitudes en la forma de la arquitectura del 6502, no significa que sea un 6502.
Como vemos, no tiene nada que ver uno con otro.
Diskover escribió:Por otro lado, la NES equipa un Ricoh 2A03, cuyo nucleo si es un 6502, pero es un poco difícil llamarle solo 6502 debido a que está bastante modificado.
https://es.wikipedia.org/wiki/Ricoh_2A03
"Se diferencia de 6502 estandar en que sólo puede operar con enteros, se le añade 22 registros mapeados en memoria que controlan generadores de sonido programables, rudimentaria DMA y leían los mandos de juegos. "
wwwendigo escribió:Aquí el único que faltó al respeto eres tú, como ya está probado, y aquí el único que hace una escalada del tema eres tú, como evidencias creando hilos para tu lucimiento personal y ganar batallitas por hastío ajeno.
wwwendigo escribió:1.- "lanzando acusaciones de plagio..." Vaya, como si decir que usas código de terceros implicara plagio (hay algo llamado código abierto, dominio público, etc). De lo que se te ha acusado es de no ser sincero con el foro y de colocarte banderas, lo de plagio habría que ver de dónde viene el código, primero, y segundo ver cómo distribuirías oficialmente el resultado (no lo que digas en un foro sobre el proyecto, que no es vinculante).
wwwendigo escribió:Porque sí, combinar ensamblador, c y sobre todo c++ es de lo más lógico del mundo. Para la SNES. En un cartucho con problemas de capacidad. Qué mal pensado el ver en ello distintas procedencias del código..
wwwendigo escribió:2.- " inventándose cosas sobre mí que nunca he dicho" Perdona, pero sí has dicho cosas como que el 6502 era una cpu RISC (y otras cosas más bestias, de hecho), hasta lo sostuviste en una discusión conmigo (y me quedé a cuadros al verlo, no me podía creer que alguien que dice conocer al dedillo esta cpu la llamara "CPU RISC").
wwwendigo escribió:Esto enlaza con toda tu diatriba (que ni me molesto en leer, dado que ya te he contestado en su momento), sobre que el SPC700 no tiene que ver con el 6502.
wwwendigo escribió:Para nada, o sea. Como entenderás en el momento en que veo que sueltas la animalada de que el 6502 es una cpu RISC ya se corta el tema.
_ThEcRoW escribió:Humm, porque se compara un procesador destinado a audio con una cpu genérica?.
Edit: Vale, ahora lo he pillado, se supone que el spc está basado en el 6502.
wwwendigo escribió:Y sigues dando por saco estando más que avisado que no quiero que me menciones. Claro que sí dijiste ésa y más barbaridades, pues nada, reporto y después bloqueo para no ver más gansadas.
Tú mismo si tu ego en un foro es tan importante para dedicarte tanto tiempo para ganar tus "batallitas", se podría comprobar y podría gastar tiempo en demostrar todas estas cosas (si no has ido corriendo a editar comentarios, que no me extrañaría), pero no voy a hacerlo, es un problema de los demás si no ven ciertas cosas bastante claras (ese C++ para la SNES... ¡¡RICOOO!!), entre otras este ejercicio de hedonismo tuyo en forma de hilo, como si tuvieras que demostrar algo y tal, yo tengo vida personal y cuando vengo al foro (menos que nunca) es para comentar con gente normal que no busque gresca, no con el primero que se crea el gallo del corral y con sus complejos y ganas de destacar a costa de los demás.
Sé que es satisfactorio sentirse el rey de la colina. Pero chico, es una puta colina. No le des tanta importancia.
Saludos, y que te aproveche. No nos vemos.
PD: Me hace gracia que me "aclares" ahora que lo de las librerías de C++ son sólo para decomprimir/comprimir datos del cartucho pero no para implementar el algoritmo a integrar en la consola.
Gran aporte por tanto decir que usas "librerías en C++" en dicho proyecto cuando te estás refiriendo a usar unos exes en tu ordenador que te permiten manipular los datos del cartucho y prepararlos, como si fuera relevante en algún sentido mencionar el lenguaje en que se implementan tales herramientas , es curiosa tu aclaración, porque la mención aún tiene menos sentido ahora que antes.
Y créeme, tengo compresión lectora más que suficiente, no es eso lo que decías en su momento. Revisionismo, revisionismo everywhere. Bueno, ahora sí, sanseacabó, apagón.
Sexy MotherFucker escribió:Gracias magno.
Mis sentimientos están en conflicto, necesito expresarlo públicamente; ¿cómo puede ser que dos de los tíos que más satisfacen mi egoísta y depravada sed de conocimiento pueden estar tirándose los trastos a la cabeza?
En fin chavales, yo no sé tanto de micros, pero sé que una botella de Chivas -o whatever- solucionan muchos problemas. Sólo decidlo y yo pongo el resto.
magno escribió: Y se le sumas despues unas birras, todo se soluciona