Desensamblado (Bytes 17-95): 00:8000:78 SEI (Desactiva IRQs) 00:8001:A9 00 LDA #$00 (Carga en A el valor $00) 00:8003:8D STA $2000 = #$92 (Lo

Documentos relacionados
E C D AC CA E A E A C A E

NOTA TÉCNICA. FECHA: 29 de marzo de Airbag DTC Codes NºPSA.15

C C A D A D D D A D A C C D B D D AC DA D FD D B D F C E C AD D A FD D C C C A E C

$%# ! "#$% &' *& & -& **. *+ #$/0$% % &' &)* (*& &*& ()& +&', . & # *+ &(* & //$ % & 1 &*+ % * & & &* & *2&, +& *3& (* & *& &

Ingeniería Técnica en Informática de Sistema E.T.S.I. Informática Universidad de Sevilla

W4IKS MANUAL DEL USUARIO

AB C D D EBF FB A EB AB AD F C A EB C C F A AB C C BE B A EB C E D BF C AB C F AB C FB FBAB B F D F C AB F C B C F F A AB FB B F C FB C F B BC B F B

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15

Denominación: Relé Universal Descripción del protocolo Modbus: N EA: 1451 Sustitución de: Hoja: 1 de 10

Disco de Alberti. Y el disco interno: A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z

Los dos círculos deben quedar unidos al centro y con la posibilidad de girar cada uno de ellos de forma independiente.

Anatomía y Fisiología Sistema óseo ! "# ' ("%&"%" # ("%%*"%"! Vitae Studios:

CAPITULO II SISTEMAS DE NUMERACIÓN Y CÓDIGOS

***EXPLICACIÓN DEL PROGRAMA:***

La información en este documento se basa en el Cisco Catalyst 3850 Series Switch que funciona con la versión o posterior.

Códigos HTML - Caracteres y símbolos

A B CD EF. B F

CONGRUENCIA DE TRIÁNGULOS

FICHA DE TRABAJO Nº 17

Problemario: Memoria / Entrada Salida / Buses / Interrupciones

IE FINCA LA MESA TALLERR DE COMPETENCIAS BÁSICAS. Nombre: Grado: Costrucciones

Pizarrón Electrónico con ConferenceXP, Módulo 1: Interface del Pizarrón Electrónico

PRÁCTICA 1: OBTENCIÓN DE CERTIFICADOS DIGITALES

BILLETES. 50 PESETAS 25 de noviembre. Banco de España. Madrid. Sin serie. Con serie B92a

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp

Guía Rápida Instalación TBK-SER1001

El microprocesador de 8 bits Z80

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

Sistema de Contabilidad Integrada Gubernamental Inventarios - Registro - Reportes Bienes Aprobados por Institucion

67.- El triángulo ABC es equilátero; BD y DE son bisectrices. Entonces AED =?

!!"!# $!%#"!#"&'#(#)#%#*! #)(%)'+, % %#'% %#')& '"((('!)"&%% )%() % )%##'%((-.(#*()%"'!+/%- ( (" ) $! %!% %! % %'+ % (2% )+(!

Conversor Analógico Digital

Nuestro compañero Chema no está quieto!!

!" %&'!! ( (% )*+' #$#%!" %&'*& (!,%('!&" %&'. %-(/0 ('!&" %&'( ( (% - ( * '!&" ''12( ** 3'!&" '' *2.0 ()*'

7.- La conversión correcta a base seis del número (3BA.25) 14 es: a) b) c) d)

Ejemplo del uso de las subrutinas

&'( ')&* * ** +&*&,)-*+&). & * &.( )*&/& */ - &.*&)0 ))( 1&*20 - ( 3+)).-)* --.*.2.+* - )*). & &) *)/&*.+.2 *-' 4

INSTITUTO VALLADOLID PREPARATORIA página 9

X = 00, Y = 01, SP = 10, PC = 11. n = -16 a 15

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

. M odulo 7 Geometr ıa Gu ıa de Ejercicios

PLAN GENERAL DE ORDENACIÓN URBANA DE VALLE DE TRAPAGA TRAPAGARAN NOTAS DESCRIPTIVO-NORMATIVAS DE LA PRODUCCIÓN Y EXTRACCIÓN DE RECURSOS NATURALES

IvanZito ( ivan_ruiz_ruiz@hotmail.com)

! " #! $% &' &(% &' * ' +, '

NOTAS DESCRIPTIVO-NORMATIVAS DE LA PRODUCCIÓN Y EXTRACCIÓN DE RECURSOS NATURALES A. PRODUCCIÓN Y EXTRACCIÓN DE RECURSOS NATURALES RENOVABLES

Soluciones profesionales de comunicación

2? 4 *** "&*(#6,),# 2? -(.( * #" *)()" (" *," 4/!# " ( #

Fundamentos de Informática 1er curso de ingeniería Industrial. Tema 2. Datos. Tema 2. Datos

Conceptos de Arquitectura de Computadoras Curso 2015

donde n es el numero de lados. n APOTEMA: Es la altura de un triangulo formado por el centro del polígono regular y dos vértices consecutivos.

PARTE 3 SISTEMAS DE NUMERACION

Datos utilizados para elaborar el presupuesto maestro. Tabla 2 Porcentajes de participación en el mercado de los productos a fabricar.

Práctica 4 - Arquitectura CPU

!"#$%&', ()*%+,!,-.%,' */0 12'&340*%3/5 6/$*+4$*+.%&/5 3+%!7%22/8 */0 &*%9 :%4;$4)9 <=-&4%9

SOLUCIÓN PRIMERA ELIMINATORIA NACIONAL NIVEL C

Concurso Nacional de Ayudas a la Investigación Educativa 1997, convocado por Orden de 23-septiembre-1997 (BOE del 10-X-97)

SGUICES027MT22-A16V1. SOLUCIONARIO Congruencia de triángulos

" #$!$! % &' ' & ()*+

Guía del usuario de Report Portal. Versión 6.0 SP1

Intel Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini

CAPÍTULO. Los números reales. En los números reales se definen dos operaciones, adición y multiplicación, las cuales tienen ciertas propiedades:

Estática. Análisis Estructural

Tema 3: ASCII y operaciones de desplazamiento y lógicas

TAREA 1 ARITMETICA PARA BCD Y ASCII.

GUITAR CHORD CHARTS/ACORDES DE GUITARRA

F C F STO F C C C o C m o pa p ct F C C S ta t nd n a d rd H 0 C x

Sistema de Contabilidad Integrada Gubernamental Inventarios - Registro - Reportes Bienes Aprobados por Institucion

DISEÑO E IMPLEMENTACIÓN DE UN QUADCOPTER BASADO EN MICROCONTROLADOR ARDUINO

Anillos Especiales. 8.1 Conceptos Básicos. Capítulo

ESCUELA INTERNACIONAL DE IDIOMAS Avenida Pedro de Heredia, Calle 49a #31-45, barrio el Libano

Iniciación a los Microcontroladores de las familias de 8 bits. Jordi Mayné. Ingeniero de Aplicaciones. Rev. 2

SISTEMAS DE NUMERACIÓN.

COMANDOS EN LENGUAJE DE PROGRAMACIÓN BASIC

ARITMÉTICA. José María Muñoz Escolano Departamento de Matemáticas Facultad de Ciencias Humanas y de la Educación de Huesca Teruel, 6 de mayo de 2011

CONSTRUCCIONES GEOMÉTRICAS CON GEOGEBRA

UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ

COMISIÓN DE LAS COMUNIDADES EUROPEAS. Propuesta de REGLAMENTO DEL CONSEJO

Guía de ejercicios 2º medio(thales, homotecia,euclides,división interior) Nombre..

Geometría: Ejercicios de Semejanza de Triángulos

Geometría: Ejercicios de Semejanza de Triángulos

Preuniversitario Popular Víctor Jara MATEMÁTICA. Ten claro que, en un cuadrilátero, la suma de los ángulos interiores es 360

Arquitectura (Procesador familia 80 x 86 )

INDICE !" #...2 $%#& ' #&(...6 $! ) *&...6 $$+...9 $, -*+-.10 $. */...11 $ $ $ ,!4" #&!"&''5!...14.!'&"6'7# 6(#"#&( "8 #&"...

VL con 1 cámara. ... con guías integradas S con guías integradas

UNIVERSITAT ROVIRA I VIRGILI LA EDUCACIÓN PARA LA SALUD EN LOS CICLOS MEDIO Y SUPERIOR DE EDUCACIÓN PRIMARIA EN LA COMARCA DEL BAIX CAMP Pilar Moreno

Predicting thermal shape recovery of crosslinked polymer networks from linear viscoelasticity

Tema 5: La pila, las macros y los procedimientos

UNIDAD No. 2 CAD para WLAN, Administración y Seguridad en Redes de Datos

DECLARACION DE PRÁCTICAS DE CERTIFICACION (CPS)

Soporte Técnico. PROGRAMACIÓN AVANZADA DE PLC s

ELEMENTOS PRIMARIOS DEL TRIÁNGULO. también es el suplemento de α, por lo tanto,. α ' =β+γ

Diseño de Controladores Digitales.

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Control remoto del EDUKIT08 vía PC...

TEMA 9 LUGARES GEOMÉTRICOS. CÓNICAS 1. Se llama lugar geométrico a un conjunto de puntos que cumplen una cierta propiedad.

6.2. Integración de las interpretaciones en las entrevistas.

CEIBA es una entidad privada, no lucrativa ajena a fines políticos religiosos, destinada al servicio humanitario.

MANUAL DE ESTILO GRÁFICO. Guía de uso general para maquetación web

MARINE COMMANDER Manual de instrucciones

6-REGISTROS DEL 8086 Y DEL 80286

Transcripción:

Desensamblado (Bytes 17-95): 00:8000:78 SEI (Desactiva IRQs) 00:8001:A9 00 LDA #$00 (Carga en A el valor $00) 00:8003:8D 00 20 STA $2000 = #$92 (Lo guarda. Desactiva NMI) 00:8006:D8 CLD (Desactiva el modo decimal=activa el hexadecimal) 00:8007:AD 02 20 LDA $2002 = #$0F (Carga en A el valor que hay en la dirección $2002) 00:800A:10 FB BPL $8007 (Espera Vblank) 00:800C:A9 00 LDA #$00 (Carga en A el valor $00) 00:800E:8D 00 20 STA $2000 = #$92 (Lo guarda. Desactiva NMI) 00:8011:EA NOP (No hace nada) 00:8012:AD 02 20 LDA $2002 = #$0F (Carga en A el valor que hay en la dirección $2002) 00:8015:10 FB BPL $8012 (Espera Vblank) 00:8017:A2 FF LDX #$FF (Carga en X el valor $FF) 00:8019:9A TXS (Transfiere X=$FF al registro de la pila) 00:801A:E8 INX (Incrementa X. X=X+1=$00) 00:801B:8E 10 40 STX $4010 = #$FF (Guarda en $4010 el valor $00. Desactiva DMC IRQs) 00:801E:86 67 STX $0067 = #$00 (Guarda el valor $00 en la dirección $0067) 00:8020:86 69 STX $0069 = #$00 (Guarda el valor $00 en la dirección $0069) 00:8022:A9 D0 LDA #$D0 (Carga en A el valor $D0) 00:8024:85 64 STA $0064 = #$D0 (Pone el valor $D0 en la dirección $0064) 00:8026:A9 07 LDA #$07 (Carga en A el valor $07) 00:8028:85 65 STA $0065 = #$07 (Pone el valor $07 en la dirección $0065) 00:802A:20 C8 A4 JSR $A4C8 (Salta a la subrutina que hay en la dirección $A4C8) 00:802D:A9 40 LDA #$40 (Carga en A el valor $40) 00:802F:8D 17 40 STA $4017 = #$FF (Lo guarda en la dirección $4017. Desactiva APU frame IRQ) 00:8032:20 50 A6 JSR $A650 (Salta a la subrutina que hay en la dirección $A650) 00:8035:20 E3 AB JSR $ABE3 (Salta a la subrutina que hay en la dirección $ABE3) 00:8038:A9 00 LDA #$00 (Carga en A el valor $00) 00:803A:85 97 STA $0097 = #$92 (Lo guarda en la dirección $0097) 00:803C:8D 00 20 STA $2000 = #$92 (Lo guarda en la dirección $2000) 00:803F:85 98 STA $0098 = #$1E (Lo guarda en la dirección $0098) 00:8041:8D 01 20 STA $2001 = #$1E (Lo guarda en la dirección $2001) 00:8044:85 9A STA $009A = #$F0 (Lo guarda en la dirección $009A) 00:8046:85 99 STA $0099 = #$00 (Lo guarda en la dirección $0099) 00:8048:A9 FF LDA #$FF (Carga en A el valor $FF) 00:804A:85 6B STA $006B = #$FF (Lo guarda en la dirección $006B) 00:804C:20 94 9C JSR $9C94 (Salta a la subrutina que hay en la dirección $9C94)

Desensamblado (Poner el tiempo inicial del juego) (Bytes 279-282): 00:8106:A9 78 LDA #$78 (Carga en A el valor $78=120=tiempo) 00:8108:85 2A STA $002A = #$00 (Lo guarda en la dirección $002A) 00:810A:A5 20 LDA $0020 = #$00 (Carga en A lo que hay en la dirección $0020) 00:810C:10 FC BPL $810A (Salta si flag negativo es cero a la dirección $810A) 00:810E:A9 10 LDA #$10 (Carga en A el valor $10) 00:8110:8D 00 20 STA $2000 = #$92 (Lo guarda en la dirección $2000. Sprite pattern table addres=$1000, background pattern table address=$0000,...) 00:8113:20 85 81 JSR $8185 (Salta a la subrutina que hay en la dirección $8185)... (Bytes 390-424) 00:8175:AD 02 20 LDA $2002 = #$00 (Carga en A lo que hay en la dirección $2002. Lee de PPU) 00:8178:A9 00 LDA #$00 (Carga en A el valor $00) 00:817A:8D 05 20 STA $2005 = #$00 (Lo guarda en $2005. Scroll fondo horizontal=0=desactivado) 00:817D:8D 05 20 STA $2005 = #$00 (Lo guarda en $2005. Scroll fondo vertical=0=desactivado) 00:8180:A9 0A LDA #$0A (Carga en A el valor $0A) 00:8182:8D 01 20 STA $2001 = #$1E (Lo guarda en la dirección $2001. Visibilidad del fondo, no clipping del fondo) 00:8185:A2 00 LDX #$00 (Carga en X el valor $00) 00:8187:A0 00 LDY #$00 (Carga en Y el valor $00) 00:8189:A9 08 LDA #$08 (Carga en A el valor $08) 00:818B:85 17 STA $0017 = #$00 (Lo guarda en la dirección $0017) 00:818D:88 DEY (Disminuye Y) 00:818E:D0 FD BNE $818D (Salta si flag zero=0 a la dirección $818D) 00:8190:CA DEX (Disminuye X) 00:8191:D0 FA BNE $818D (Salta si flag zero=0 a la dirección $818D) 00:8193:C6 17 DEC $0017 = #$00 (Disminuye el valor que hay en la dirección $0017) 00:8195:D0 F6 BNE $818D (Salta si flag zero=0 a la dirección $818D) 00:8197:60 RTS (Regresa de la subrutina) Desensamblado (Lectura del joystick. Lee los 8 botones: A, B, Select, Start, Arriba, Abajo, Izquierda, Derecha) (Bytes 1288-1321): 00:84F7:A9 01 LDA #$01 (Carga en A el valor $01) 00:84F9:8D 16 40 STA $4016 = #$FF (Lo guarda. Resetea el joypad strobe) 00:84FC:A9 00 LDA #$00 (Carga en A el valor $00) 00:84FE:8D 16 40 STA $4016 = #$FF (Lo guarda. Borra el joypad strobe) 00:8501:A2 08 LDX #$08 (Carga en X el valor $08 para leer los 8 botones) 00:8503:AD 16 40 LDA $4016 = #$FF (Carga en A lo que hay en $4016 para leer el primer botón) 00:8506:29 03 AND #$03 (Operación A And $03)

00:8508:C9 01 CMP #$01 (Compara ese valor con $01) 00:850A:66 94 ROR $0094 = #$00 (Rota los bits del valor que hay en la dirección $0094 a la derecha) 00:850C:AD 17 40 LDA $4017 = #$FF (Carga en A lo que hay en la dirección $4017) 00:850F:29 03 AND #$03 (Operación A And $03) 00:8511:C9 01 CMP #$01 (Compara ese valor con $01) 00:8513:66 95 ROR $0095 = #$00 (Rota los bits del valor que hay en la dirección $0095 a la derecha) 00:8515:CA DEX (Disminuir X que es el contador) 00:8516:D0 EB BNE $8503 (Si X no es igual a cero salta a $8503 para leer la pulsación de otro botón) 00:8518:60 RTS (Regresa de la subrutina) Desensamblado (Bytes 1420-1457): 00:857B:A9 3F LDA #$3F (Carga en A el valor $3F) 00:857D:8D 06 20 STA $2006 = #$A0 (Lo guarda) 00:8580:A9 00 LDA #$00 (Carga en A el valor $00) 00:8582:8D 06 20 STA $2006 = #$A0 (Lo guarda con lo que la dirección es $3F00) 00:8585:B9 00 03 LDA $0300,Y @ $0315 = #$00 (Carga en A lo que hay en la dirección $0300+Y) 00:8588:8D 07 20 STA $2007 = #$00 (Lo guarda) 00:858B:C8 INY (Incrementa Y) 00:858C:C0 20 CPY #$20 (Compara Y con $20=32 decimal=nº colores de la paleta) 00:858E:90 F5 BCC $8585 (Si no es igual salta a la dirección $8585 para leer otro byte) 00:8590:A9 3F LDA #$3F (Carga en A el valor $3F) 00:8592:8D 06 20 STA $2006 = #$A0 (Lo guarda) 00:8595:A9 00 LDA #$00 (Carga en A el valor $00) 00:8597:8D 06 20 STA $2006 = #$A0 (Lo guarda con lo que la dirección es $3F00) 00:859A:8D 06 20 STA $2006 = #$A0 (Guarda el valor de A=0) 00:859D:8D 06 20 STA $2006 = #$A0 (Guarda el valor de A=0) 00:85A0:60 RTS (Regresa de la subrutina) Desensamblado (Bytes 1840-1854) (Poner scroll del fondo: horizontal y vertical): 00:871F:AD 02 20 LDA $2002 = #$00 (Carga en A lo que hay en la dirección $2002. Lee PPU) 00:8722:A5 99 LDA $0099 = #$00 (Carga en A lo que hay en la dirección $0099) 00:8724:8D 05 20 STA $2005 = #$00 (Lo guarda en $2005. Registro del scroll del fondo. Primer byte: Scroll horizontal) 00:8727:A6 9A LDX $009A = #$F0 (Carga en X el valor que hay en la dirección $009A) 00:8729:CA DEX (Disminuye X) 00:872A:8E 05 20 STX $2005 = #$00 (Lo guarda en $2005. Registro del scroll del fondo. Primer byte: Scroll vertical) 00:872D:60 RTS (Regresa de la subrutina)

Desensamblado (Bytes 1863-1875) (Transferencia DMA sprites. Se utiliza para pasar datos de la CPU a PPU. RAM desde $0200-$02FF): 00:8736:A9 00 LDA #$00 (Carga en A el valor $00) 00:8738:8D 03 20 STA $2003 = #$00 (Lo guarda) 00:873B:A9 02 LDA #$02 (Carga en A el valor $02) 00:873D:8D 14 40 STA $4014 = #$FF (Lo guarda con lo que la dirección para DMA transfer es la $0200 y empieza la transferencia) 00:8740:20 11 87 JSR $8711 (Salta a la subrutina que hay en la dirección $8711) Desensamblado (Bytes 2014-2022): 00:87CD:C6 2A DEC $002A = #$6E (Disminuye lo que hay en la dirección $002A: disminuye el tiempo) 00:87CF:10 02 BPL $87D3 (Salta si flag negativo es cero a la dirección $87D3) 00:87D1:E6 2A INC $002A = #$6E (Incrementa lo que hay en la dirección $002A: incrementa el tiempo) 00:87D3:20 19 A0 JSR $A019 (Salta a la subrutina que hay en la dirección $A019) Desensamblado (Poner varios valores) (Bytes 2174-2204): 00:886D:A2 0F LDX #$0F (Carga en X el valor $0F=15 decimal=nº de bytes a leer y escribir) 00:886F:BD 7C 88 LDA $887C,X @ $887D = #$02 (Carga en A lo que hay en la dirección $887C+X=$888B) 00:8872:95 20 STA $20,X @ $0021 = #$02 (Lo guarda en la dirección $20+X=$2F) 00:8874:95 30 STA $30,X @ $0031 = #$08 (Lo guarda en la dirección $30+X=$3F) 00:8876:95 40 STA $40,X @ $0041 = #$FF (Lo guarda en la dirección $40+X=$4F) 00:8878:CA DEX (Disminuye X) 00:8879:10 F4 BPL $886F (Salta a la dirección $886F si X no es cero para leer y escribir otro byte) 00:887B:60 RTS (Regresa de la subrutina) 00:887C:00 00:887D:02 (Nº de vidas al inicio del juego=$02) 00:887E:00 00:887F:00 00:8880:00 00:8881:00 00:8882:00 00:8883:00 00:8884:FF 00:8885:FF 00:8886:00 00:8887:00 00:8888:00 00:8889:00 00:888A:00

00:888B:00 Desensamblado (Bytes 6184-6214): 00:9817:A5 2A LDA $002A = #$78 (Carga en A lo que hay en la dirección $002A=tiempo) 00:9819:C9 64 CMP #$64 (Compara con $64=100) 00:981B:D0 18 BNE $9835 (Salta si flag zero=0 a la dirección $9835) 00:981D:A9 80 LDA #$80 (Carga en A el valor $80) 00:981F:8D E5 04 STA $04E5 = #$00 (Lo guarda en la dirección $04E5) 00:9822:A5 6C LDA $006C = #$00 (Carga en A lo que hay en la dirección $006C) 00:9824:29 E0 AND #$E0 (Operación A And $E0) 00:9826:D0 02 BNE $982A (Salta si flag zero=0 a la dirección $982A) 00:9828:A9 18 LDA #$18 (Carga en A el valor $18) 00:982A:8D E7 04 STA $04E7 = #$00 (Guarda el valor de A en al dirección $04E7) 00:982D:A9 00 LDA #$00 (Carga en A el valor $00) 00:982F:8D E8 04 STA $04E8 = #$00 (Guarda el valor de A en la dirección $04E8) 00:9832:8D E9 04 STA $04E9 = #$00 (Guarda el valor de A en la dirección $04E9) 00:9835:60 RTS (Regresa de la subrutina) Desensamblado (Bytes 7421-7485) (Dibujar símbolos japoneses de la pantalla de título): 00:9CEC:A2 00 LDX #$00 (Carga en X el valor $00) 00:9CEE:A9 09 LDA #$09 (Carga en A el valor $09=+1=10=nº de lineas que componen el rotulo de los simbolos japoneses) 00:9CF0:85 13 STA $0013 = #$09 (Lo guarda en la direccion $0013) 00:9CF2:A9 20 LDA #$20 (Carga en A el valor $20) 00:9CF4:85 12 STA $0012 = #$20 (Lo guarda en la direccion $0012) 00:9CF6:A9 C6 LDA #$C6 (Carga en A el valor $C6) 00:9CF8:85 11 STA $0011 = #$C6 (Lo guarda en la direccion $0011) 00:9CFA:AD 02 20 LDA $2002 = #$1F (Carga en A lo que hay en la direccion $2002) 00:9CFD:A5 12 LDA $0012 = #$20 (Carga en A lo que hay en la direccion $0012. A=$20) 00:9CFF:8D 06 20 STA $2006 = #$D5 (Lo guarda) 00:9D02:A5 11 LDA $0011 = #$C6 (Carga en A lo que hya en la direccion $0011. A=$C6) 00:9D04:8D 06 20 STA $2006 = #$D5 (Lo guarda con lo que la direccion es $20C6 que es donde se ponen los simbolos japoneses de la pantalla de titulo) 00:9D07:A0 00 LDY #$00 (Carga en Y el valor $00) 00:9D09:BD 06 AE LDA $AE06,X @ $AE15 = #$FF (Carga en A lo que hay en la direccion $AE06+X=$AE06) 00:9D0C:8D 07 20 STA $2007 = #$00 (Lo guarda) 00:9D0F:E8 INX (Incrementa X para leer otro byte. X=X+1) 00:9D10:C8 INY (Incrementa Y que es un contador=nº de tiles a escribir)

00:9D11:C0 15 CPY #$15 (Compara Y con $15=21 que es el nº de tiles a escribir) 00:9D13:90 F4 BCC $9D09 (Si no es igual salta a la direcci'on $9D09 para leer otro byte) 00:9D15:C6 13 DEC $0013 = #$09 (Disminuye lo que hay en la direccion $0013 00:9D17:10 01 BPL $9D1A (Salta si el flag negativo es cero a la direccion $9D1A cuando ha dibujado las nueve lineas) 00:9D19:60 RTS (Regresa de la subrutina) 00:9D1A:A5 11 LDA $0011 = #$C6 (Carga en A lo que hay en la direccion $0011) 00:9D1C:18 CLC (Pone el flag de carry a cero) 00:9D1D:69 20 ADC #$20 (Añade a A $20 para dibujar la siguiente línea que compone el rótulo de los símbolos japoneses) 00:9D1F:85 11 STA $0011 = #$C6 (Guarda el nuevo valor en la dirección $0011) 00:9D21:A5 12 LDA $0012 = #$20 (Carga en A lo que hay en la dirección $0012. A=$20) 00:9D23:69 00 ADC #$00 (Añade $00) 00:9D25:85 12 STA $0012 = #$20 (Guarda el valor de A en la dirección $0012) 00:9D27:4C FA 9C JMP $9CFA (Salta a la dirección $9CFA para dibujar otra línea) 00:9D2A:AD 02 20 LDA $2002 = #$1F (Carga en A lo que hay en la dirección $2002) Desensamblado (Bytes 7486-7512): 00:9D2D:A2 00 LDX #$00 (Carga en X el valor $00. X=contador) 00:9D2F:A9 20 LDA #$20 (Carga en A el valor $20) 00:9D31:8D 06 20 STA $2006 = #$64 (Lo guarda) 00:9D34:A9 64 LDA #$64 (Carga en A el valor $64) 00:9D36:8D 06 20 STA $2006 = #$64 (Lo guarda con lo que la dirección es $2064=PPU Address donde pone "1UP...") 00:9D39:BD 79 9D LDA $9D79,X @ $9D79 = #$01 (Carga en A lo que hay en la dirección $9D79+X) 00:9D3C:20 D6 9D JSR $9DD6 (Salta a la subrutina que hay en la dirección $9DD6) 00:9D3F:8D 07 20 STA $2007 = #$00 (Guarda el valor que hay en A) 00:9D42:E8 INX (Incrementa X para leer otro byte. X=X+1) 00:9D43:E0 17 CPX #$17 (Compara X con $17=23 decimal=nº de tiles a escribir) 00:9D45:90 F2 BCC $9D39 (Si no es igual salta a la dirección $9D39 para leer otro byte) 00:9D47:60 RTS (Regresa de la subrutina) 00:9D48:A9 23 LDA #$23 (Carga en A el valor $23) 00:9D4A:8D 06 20 STA $2006 = #$29 (Lo guarda) 00:9D4D:A9 29 LDA #$29 (Carga en A el valor $29) 00:9D4F:8D 06 20 STA $2006 = #$29 (Lo guarda con lo que la dirección es $2329 para poner el texto "(C) 1985 JALECO") 00:9D52:BD 79 9D LDA $9D79,X @ $9D90 = #$24 (Carga en A lo que hay en la dirección $9D79+X=$9D90) 00:9D55:20 D6 9D JSR $9DD6 (Salta a la subrutina que hay en la dirección $9DD6) 00:9D58:8D 07 20 STA $2007 = #$00 (Lo guarda) 00:9D5B:E8 INX (Incrementa X. X=X+1) 00:9D5C:E0 25 CPX #$25 (Compara X con $25=37 decimal)

00:9D5E:90 F2 BCC $9D52 (Si no es igual salta a la dirección $9D52 para leer otro byte) 00:9D60:A9 23 LDA #$23 (Carga en A el valor $23) 00:9D62:8D 06 20 STA $2006 = #$29 (Lo guarda) 00:9D65:A9 68 LDA #$68 (Carga en A el valor $68) 00:9D67:8D 06 20 STA $2006 = #$29 (Lo guarda con lo que la dirección es $2368 que es donde pone el texto "(C)1985 Licensed..") 00:9D6A:BD 79 9D LDA $9D79,X @ $9D90 = #$24 (Carga en A lo que hay en la dirección $9D79+X=$7D9E) 00:9D6D:20 D6 9D JSR $9DD6 (Salta a la subrutina que hay en la dirección $9DD6) 00:9D70:8D 07 20 STA $2007 = #$00 (Lo guarda) 00:9D73:E8 INX (Incrementa X. X=X+1) 00:9D74:E0 35 CPX #$35 (Compara X con $35=53) 00:9D76:90 F2 BCC $9D6A (Si es igual salta a la dirección $9D6A para leer otro byte) 00:9D78:60 RTS (Regresa de la subrutina)... (Bytes 7562-7584) 00:9D79:01 1E 19 30 30 30 30 30 11 12 30 1C 0C 18 1B 0E 30 30 30 30 02 1E 19 (Suma a estos valores 90h para poner el texto correspondiente) 01 1E 19 30 30 30 30 30 11 12 30 1C 0C 18 1B 0E 30 30 30 30 02 1E 19 --> Texto "1UP HI-SCORE 2UP" (Bytes 7585-7598) 00:9D90:24 30 01 09 08 05 30 30 13 0A 15 0E 0C 18 (Texto "(C) 1985 JALECO") (Bytes 7599-7614) 00:9D9E:27 28 29 2A 2B 2C 2D 2E 2F 67 68 69 6A 6B 6C 6D (Texto "(C)1985 Licensed by UPL Co Ltd.") ------------ 00:9DAE:A9 00 LDA #$00 (Carga en A el valor $00) 00:9DB0:8D 01 20 STA $2001 = #$0A (Lo guarda con lo que desactiva el rendering) 00:9DB3:A9 23 LDA #$23 (Carga en A el valor $23) 00:9DB5:8D 06 20 STA $2006 = #$A0 (Lo guarda) 00:9DB8:A9 C0 LDA #$C0 (Carga en A el valor $C0) 00:9DBA:8D 06 20 STA $2006 = #$A0 (Lo guarda con lo que la dirección es $23C0) 00:9DBD:A2 00 LDX #$00 (Carga en X el valor $00) 00:9DBF:BD AC 9C LDA $9CAC,X @ $9CC3 = #$FF (Carga en A lo que hay en la dirección $9CAC+X=$9CAC) 00:9DC2:8D 07 20 STA $2007 = #$00 (Lo guarda) 00:9DC5:E8 INX (Incrementa X) 00:9DC6:E0 40 CPX #$40 (Compara X con $40=64 para poner 64 tiles) 00:9DC8:90 F5 BCC $9DBF (Si no es igual salta a la dirección $9DBF para leer otro byte) 00:9DCA:A2 1F LDX #$1F (Carga en X el valor $1F) 00:9DCC:BD E1 9D LDA $9DE1,X @ $9DF8 = #$00 (Carga en A lo que hay en la dirección $9DE1+X=$9E00) 00:9DCF:9D 00 03 STA $0300,X @ $0317 = #$00 (Lo guarda en la dirección $0300+X=$031F) 00:9DD2:CA DEX (Disminuye X)

00:9DD3:10 F7 BPL $9DCC (Si no es igual a cero salta a la direccion $9DCC para leer otro byte) 00:9DD5:60 RTS (Regresa de la subrutina) (Bytes 7655-7665) 00:9DD6:C9 30 CMP #$30 (Compara el valor de A con $30 que es el tile del espacio) 00:9DD8:F0 04 BEQ $9DDE (Si es igual salta a la dirección $9DDE para poner el tile $FF: espacio) 00:9DDA:18 CLC (Pone el carry a 0) 00:9DDB:69 90 ADC #$90 (Añade $90 al valor que hay en la dirección $9EA7+X) 00:9DDD:60 RTS (Regresa de la subrutina) 00:9DDE:A9 FF LDA #$FF (Carga en A el valor $FF=tile espacio) 00:9DE0:60 RTS (Regresa de la subrutina)... (Bytes 7666-7697) 00:9DE1:0F 38 18 28 0F 12 30 00 0F 20 16 12 0F 30 2B 1B 0F 30 16 0D 0F 00 00 00 0F 00 00 00 0F 00 00 00 (Paleta) Desensamblado (Bytes 7698-7795): 00:9E01:A0 0F LDY #$0F (Carga en Y el valor $0F=nº de tiles de color azul=15) 00:9E03:AD 02 20 LDA $2002 = #$08 00:9E06:A9 22 LDA #$22 (Carga en A el valor $22) 00:9E08:8D 06 20 STA $2006 = #$28 (Lo guarda) 00:9E0B:A9 28 LDA #$28 (Carga en A el valor $28) 00:9E0D:8D 06 20 STA $2006 = #$28 (Lo guarda con lo que la dirección es $2228 que es la parte superior del cuadro que encierra "1 PLAYER..") 00:9E10:A2 01 LDX #$01 (Carga en X el valor $01=tile que representa un cuadrado de color azul) 00:9E12:8E 07 20 STX $2007 = #$00 (Lo guarda) 00:9E15:88 DEY (Disminuye Y. Y=Y-1) 00:9E16:10 FA BPL $9E12 (Si no es igual a cero salta a la dirección $9E12 para poner otro cuadrado azul) 00:9E18:A0 0F LDY #$0F (Carga en Y el valor $0F=nº de tiles de color azul=15) 00:9E1A:AD 02 20 LDA $2002 = #$08 00:9E1D:A9 22 LDA #$22 (Carga en A el valor $22) 00:9E1F:8D 06 20 STA $2006 = #$28 (Lo guarda) 00:9E22:A9 E8 LDA #$E8 (Carga en A el valor $E8) 00:9E24:8D 06 20 STA $2006 = #$28 (Lo guarda con lo que la dirección es $22E8 que es la parte inferior del cuadrado que encierra "1 PLAYER..") 00:9E27:8E 07 20 STX $2007 = #$00 (Guarda el valor X=$01=tile que representa un cuadrado de color azul) 00:9E2A:88 DEY (Disminuye Y) 00:9E2B:10 FA BPL $9E27 (Si no es igual a cero salta a la dirección $9E27 para poner otro cuadrado azul)

00:9E2D:A5 97 LDA $0097 = #$00 00:9E2F:09 04 ORA #$04 00:9E31:8D 00 20 STA $2000 = #$00 00:9E34:A0 04 LDY #$04 (Carga en Y el valor $04 ya que hay que poner 4 cuadrados azules en horizontal y 4 en vertical) 00:9E36:AD 02 20 LDA $2002 = #$08 00:9E39:A9 22 LDA #$22 (Carga en A el valor $22) 00:9E3B:8D 06 20 STA $2006 = #$28 (Lo guarda) 00:9E3E:A9 48 LDA #$48 (Carga en A el valor $48) 00:9E40:8D 06 20 STA $2006 = #$28 (Lo guarda con lo que la dirección es $2248 para poner el resto del recuadro) 00:9E43:8E 07 20 STX $2007 = #$00 (Guarda el valor que hay en X) 00:9E46:88 DEY (Disminuye Y) 00:9E47:10 FA BPL $9E43 (Si no es igual salta a la dirección $9E43 para poner otro cuadrado de color azul) 00:9E49:AD 02 20 LDA $2002 = #$08 00:9E4C:A9 22 LDA #$22 (Carga en A el valor $22) 00:9E4E:8D 06 20 STA $2006 = #$28 (Lo guarda) 00:9E51:A9 57 LDA #$57 (Carga en A el valor $57) 00:9E53:8D 06 20 STA $2006 = #$28 (Lo guarda con lo que la dirección es $2257 para poner el resto del recuadro) 00:9E56:A0 04 LDY #$04 (Carga en Y el valor $04 para poner los 4 cuadrados en vertical) 00:9E58:8E 07 20 STX $2007 = #$00 (Guarda en valor X=$01=cuadrado de color azul) 00:9E5B:88 DEY (Disminuye Y) 00:9E5C:10 FA BPL $9E58 (Si no es igual a cero salta a la dirección $9E58 para poner otro cuadrado) 00:9E5E:A5 97 LDA $0097 = #$00 (Carga en A lo que hay en la dirección $0097) 00:9E60:8D 00 20 STA $2000 = #$00 (Lo guarda en $2000) Desensamblado (Bytes 7796-7871) 00:9E63:A9 22 LDA #$22 (Carga en A el valor $22) 00:9E65:8D 06 20 STA $2006 = #$6D (Lo guarda) 00:9E68:A9 6D LDA #$6D (Carga en A el valor $6D) 00:9E6A:8D 06 20 STA $2006 = #$6D (Lo guarda con lo que la dirección es $226D=PPU Address) 00:9E6D:A9 91 LDA #$91 (Carga en A el valor $91=Tile "1" del texto "1 PLAYER" del menú) 00:9E6F:8D 07 20 STA $2007 = #$00 (Lo guarda. Pone el tile $91 en la dirección $226D) 00:9E72:A2 00 LDX #$00 (Carga en X el valor $00. X es un contador) 00:9E74:BD A7 9E LDA $9EA7,X @ $9EA8 = #$19 (Carga en A lo que hay en la dirección $9EA7+X) 00:9E77:20 D6 9D JSR $9DD6 (Salta a la subrutina que hay en la dirección $9DD6) 00:9E7A:8D 07 20 STA $2007 = #$00 (Guarda el valor) 00:9E7D:E8 INX (Incrementa X. X=X+1) 00:9E7E:E0 07 CPX #$07 (Compara X con $07=nº de tiles a poner)

00:9E80:90 F2 BCC $9E74 (Si no es igual salta a $9E74 para leer otro byte) 00:9E82:A9 22 LDA #$22 (Carga en A el valor $22) 00:9E84:8D 06 20 STA $2006 = #$6D (Lo guarda) 00:9E87:A9 AD LDA #$AD (Pone en A el valor $AD) 00:9E89:8D 06 20 STA $2006 = #$6D (Lo guarda con lo que la dirección es $22AD donde se pone el texto "2 PLAYERS) 00:9E8C:A9 92 LDA #$92 (Pone en A el valor $92=tile "2" del texto "2 PLAYERS" del menú) 00:9E8E:8D 07 20 STA $2007 = #$00 (Lo guarda. Pone el tile $92 en la dirección $22AD) 00:9E91:A2 00 LDX #$00 (Carga en X el valor $00. X=contador) 00:9E93:BD A7 9E LDA $9EA7,X @ $9EA8 = #$19 (Carga en A lo que hay en la dirección $9EA7+X) 00:9E96:20 D6 9D JSR $9DD6 (Salta a la subrutina que hay en la dirección $9DD6) 00:9E99:8D 07 20 STA $2007 = #$00 (Guarda el valor que hay en A) 00:9E9C:E8 INX (Incrementa X) 00:9E9D:E0 07 CPX #$07 (Compara X con $07=nº de tiles a poner) 00:9E9F:90 F2 BCC $9E93 (Si no es igual salta a la dirección $9E93 para leer otro byte) 00:9EA1:A9 AC LDA #$AC (Carga en A el valor $AC=tile "S" de "2 PLAYERS") 00:9EA3:8D 07 20 STA $2007 = #$00 (Lo guarda) 00:9EA6:60 RTS (Regresa de la subrutina) ------------------------------------ 00:9EA7:30 19 15 0A 22 0E 1B FF (Suma a estos valores 90h para poner el texto correspondiente) 19 15 0A 22 0E 1B --> A9 A5 9A B2 9E AB (Texto "PLAYER") Desensamblado (Bytes 7883-7895): 00:9EBA:A9 20 LDA #$20 (Carga en A el valor $20) 00:9EBC:8D 06 20 STA $2006 = #$87 (Lo guarda) 00:9EBF:A9 83 LDA #$83 (Carga en A el valor $83) 00:9EC1:8D 06 20 STA $2006 = #$87 (Lo guarda con lo que la dirección es $2083=PPU Address) 00:9EC4:20 F4 9E JSR $9EF4 (Salta a la subrutina que hay en la dirección $9EF4) ------------------------------- 00:9EC7:A5 64 LDA $0064 = #$D0 (Carga en A lo que hay en la dirección $0064) 00:9EC9:85 11 STA $0011 = #$B0 (Lo guarda en la dirección $0011) 00:9ECB:A5 65 LDA $0065 = #$07 (Carga en a lo que hay en la dirección $0065) 00:9ECD:85 12 STA $0012 = #$00 (Lo guarda en la dirección $0012) 00:9ECF:20 02 9F JSR $9F02 (Salta a la subrutina que hay en la dirección $9F02) ------------------------------- 00:9ED2:A9 20 LDA #$20 (Carga en A el valor $20) 00:9ED4:8D 06 20 STA $2006 = #$87 (Lo guarda) 00:9ED7:A9 8D LDA #$8D (Carga en A el valor $8D)

00:9ED9:8D 06 20 STA $2006 = #$87 (Lo guarda con lo que la dirección es $208D) 00:9EDC:20 F4 9E JSR $9EF4 (Salta a la subrutina que hay en la dirección $9EF4) 00:9EDF:A5 62 LDA $0062 = #$00 00:9EE1:85 11 STA $0011 = #$B0 00:9EE3:A5 63 LDA $0063 = #$00 00:9EE5:85 12 STA $0012 = #$00 00:9EE7:20 02 9F JSR $9F02 --------------------------- 00:9EEA:A9 20 LDA #$20 (Carga en A el valor $20) 00:9EEC:8D 06 20 STA $2006 = #$87 (Lo guarda) 00:9EEF:A9 97 LDA #$97 (Carga en A el valor $97) 00:9EF1:8D 06 20 STA $2006 = #$87 (Lo guarda con lo que la dirección es $2097 que es lo que hay debajo del texto "2UP" de la pantalla de título) ---------------------------------- (Bytes 7941-7954): 00:9EF4:A2 00 LDX #$00 (Carga en X el valor $00. X=contador) 00:9EF6:BD 20 03 LDA $0320,X @ $0324 = #$90 (Carga en A el valor $0320+X) 00:9EF9:8D 07 20 STA $2007 = #$00 (Lo guarda) 00:9EFC:E8 INX (Incrementa X. X=X+1) 00:9EFD:E0 06 CPX #$06 (Compara X con $06=nº de tiles a poner en pantalla) 00:9EFF:90 F5 BCC $9EF6 (Si no es igual salta a la dirección $9EF6) 00:9F01:60 RTS (Regresa de la subrutina)... Desensamblado (Disminuir ciertos valores) (Bytes 8409-8448): 00:A0C8:A2 0F LDX #$0F 00:A0CA:B5 20 LDA $20,X @ $0021 = #$01 00:A0CC:95 30 STA $30,X @ $0031 = #$02 00:A0CE:CA DEX 00:A0CF:10 F9 BPL $A0CA 00:A0D1:60 RTS 00:A0D2:A2 0F LDX #$0F 00:A0D4:B5 20 LDA $20,X @ $0021 = #$01 00:A0D6:95 40 STA $40,X @ $0041 = #$FF 00:A0D8:CA DEX 00:A0D9:10 F9 BPL $A0D4 00:A0DB:60 RTS

00:A0DC:A2 0F LDX #$0F 00:A0DE:B5 30 LDA $30,X @ $0031 = #$02 00:A0E0:95 20 STA $20,X @ $0021 = #$01 00:A0E2:CA DEX 00:A0E3:10 F9 BPL $A0DE 00:A0E5:60 RTS 00:A0E6:A2 0F LDX #$0F 00:A0E8:B5 40 LDA $40,X @ $0041 = #$FF 00:A0EA:95 20 STA $20,X @ $0021 = #$01 00:A0EC:CA DEX 00:A0ED:10 F9 BPL $A0E8 00:A0EF:60 RTS Desensamblado (Bytes 11799-12008) (210 bytes para dibujar los símbolos japoneses de la pantalla de título): 10 líneas de 21 tiles cada una: Empieza en la dirección 00:AE06: D0C6C6C6C6C6C6D1FFFFFFFFD0D1FFFFFFFFCAD1FF D2C7C7FFFFC7FFFFC8FFFFC7C8C9C7FFFFCAFFCAFF FFD4C2C8FFCFFFFFC8FFD0FFFFC4D5D1C9FFCAFFFF FFC300C2CAC9FFFFC8FFD2FFC400C5D3C9FFCBFFFF FFCAC300C2CAFFCAFFD0C6CD00C5C6C6D1CBFFCBFF D0D1CAC3D7D2CAFFFFD2C400CCC7C7C7D3FFCED1C8 C8C9D0D1FFFFD0D1FFC400C5FFFFFFD1FFCAFFCAFF C8C9FFD4C2D4C2FFC8D6C5FFD4D5FFC9C9FFD0D1FF C8C9FFC3D7C3D7FFC8C9FFC6D6D7C6C9C9FFFFFFC8 D2D3D2C7C7C7C7D3FFFFD2C7C7C7C7D3FFD2D3D2C8 :0320:FF FF FF FF 90 90 (Texto " 00" que hay en la pantalla de título debajo del texto "1UP...") Desensamblado (Sonido): 00:A650:A0 03 LDY #$03 00:A652:A9 00 LDA #$00 00:A654:8D 15 40 STA $4015 = #$FF 00:A657:A9 00 LDA #$00 00:A659:99 6F 00 STA $006F,Y @ $016E = #$FF 00:A65C:99 73 00 STA $0073,Y @ $0172 = #$00 00:A65F:99 77 00 STA $0077,Y @ $0176 = #$FF

00:A662:A9 FF LDA #$FF 00:A664:99 7F 00 STA $007F,Y @ $017E = #$FF 00:A667:99 8B 00 STA $008B,Y @ $018A = #$00 00:A66A:88 DEY 00:A66B:10 EA BPL $A657 00:A66D:60 RTS Desensamblado: 00:A74F:A4 93 LDY $0093 = #$00 (Carga en Y lo que hay en la dirección $0093) 00:A751:99 00 40 STA $4000,Y @ $4000 = #$FF (Lo guarda en la dirección $4000+Y) 00:A754:95 8F STA $8F,X @ $008F = #$90 (Lo guarda en la9 dirección $8F+X 00:A756:60 RTS (Regresa de la subrutina) Desensamblado: 00:A791:A5 11 LDA $0011 = #$F0 00:A793:A4 93 LDY $0093 = #$0C (Carga en Y lo que hay en la dirección $0093) 00:A795:99 02 40 STA $4002,Y @ $4101 = #$FF (Guarda en la dirección $4002+Y lo que hay en A) 00:A798:A5 12 LDA $0012 = #$00 (Carga en A lo que hay en la dirección $0012) 00:A79A:99 03 40 STA $4003,Y @ $4102 = #$FF (Guarda el valor de A en la dirección $4003+Y) 00:A79D:60 RTS (Regresa de la subrutina) Desensamblado: 00:A803:AD 15 40 LDA $4015 = #$FF (Lee el estado del registro papu del sonido) 00:A806:1D 17 A8 ORA $A817,X @ $A818 = #$02 (Operación A OR lo que hay en la dirección $A817+X) 00:A809:8D 15 40 STA $4015 = #$FF (Guarda ese valor=control de los canales de audio) 00:A80C:60 RTS (Regresa de la subrutina) 00:A80D:AD 15 40 LDA $4015 = #$FF (Lee el estado del registro papu del sonido) 00:A810:3D 1B A8 AND $A81B,X @ $A81C = #$0D (Operación A And lo que hay en la dirección $A81B+X) 00:A813:8D 15 40 STA $4015 = #$FF (Guarda ese valor=control de los canales de audio) 00:A816:60 RTS (Regresa de la subrutina)