Web viewPasar de nivel: FF9808 (Poner $01 para pasar de nivel. Desactivar para empezar en el nivel...

5805
RAM Address: Rapid: FF7FF0-FF7FF1 0000: ON 0001: OFF Game level: FF7FF2-FF7FF3 0000: EASY 0001: NORMAL 0002: HARD Player Stock: FF7FF4-FF7FF5 ($0001-$0008) Control: FF7FF6-FF7FF7 $0000: A=WEAPON SELECT / B=NORMAL SHOT / C=SPECIAL WEAPON $0001: A=WEAPON SELECT / B=SPECIAL WEAPON / C=NORMAL SHOT $0002: A=NORMAL SHOT / B=WEAPON SELECT / C=SPECIAL WEAPON $0003: A=NORMAL SHOT / B=SPECIAL WEAPON / C=WEAPON SELECT $0004: A=SPECIAL WEAPON / B=WEAPON SELECT / C=NORMAL SHOT $0005: A=SPECIAL WEAPON / B=NORMAL SHOT / C=WEAPON SELECT Top xx0000000: FF7FF8 Top 00xx00000: FF7FF9 Top 0000xx000: FF7FFA Top 000000xx0: FF7FFB Sprite Attribute Table: FF9000-FF91FF Datos Sprite personaje primera parte: FF9012-FF9019 Datos Sprite personaje segunda parte: FF901A-FF9021 Paleta de colores: FF9602-FF9681 Nivel: FF9724-FF9725 ($0000-..) Botón pulsado: FF975A-FF975B 0100: Arriba 0200: Abajo 0400: Izquierda

Transcript of Web viewPasar de nivel: FF9808 (Poner $01 para pasar de nivel. Desactivar para empezar en el nivel...

RAM Address:

Rapid: FF7FF0-FF7FF1

0000: ON

0001: OFF

Game level: FF7FF2-FF7FF3

0000: EASY

0001: NORMAL

0002: HARD

Player Stock: FF7FF4-FF7FF5 ($0001-$0008)

Control: FF7FF6-FF7FF7

$0000: A=WEAPON SELECT / B=NORMAL SHOT / C=SPECIAL WEAPON

$0001: A=WEAPON SELECT / B=SPECIAL WEAPON / C=NORMAL SHOT

$0002: A=NORMAL SHOT / B=WEAPON SELECT / C=SPECIAL WEAPON

$0003: A=NORMAL SHOT / B=SPECIAL WEAPON / C=WEAPON SELECT

$0004: A=SPECIAL WEAPON / B=WEAPON SELECT / C=NORMAL SHOT

$0005: A=SPECIAL WEAPON / B=NORMAL SHOT / C=WEAPON SELECT

Top xx0000000: FF7FF8

Top 00xx00000: FF7FF9

Top 0000xx000: FF7FFA

Top 000000xx0: FF7FFB

Sprite Attribute Table: FF9000-FF91FF

Datos Sprite personaje primera parte: FF9012-FF9019

Datos Sprite personaje segunda parte: FF901A-FF9021

Paleta de colores: FF9602-FF9681

Nivel: FF9724-FF9725 ($0000-..)

Botn pulsado: FF975A-FF975B

0100: Arriba

0200: Abajo

0400: Izquierda

0800: Derecha

1000: B

2000: C

6000: A

8000: Start

Options mode: FF97AE-FF97AF

0000: RAPID

0001: GAME LEVEL

0002: PLAYER STOCK

0003: SOUND TEST

0004: CONTROL

0005: EXIT

Vidas: FF9802-FF9803

Score x0000000: FF9804

Score 0xx00000: FF9805

Score 000xx000: FF9806

Score 00000xx0: FF9807

Pasar de nivel: FF9808 (Poner $01 para pasar de nivel. Desactivar para empezar en el nivel correspondiente)

Opcin men principal: FF9A24-FF9A25

0000: START

0001: OPTIONS

Juego pausado: FF9C2A-FF9C2B

0000: No

00FF: S

Sound test: FFE4B6-FFE4B7 ($0000-$002E)

Desensamblado:

--------------

(PortA_OK):

00000200 4FF9 00FF9C3C LEA $00FF9C3C,A7

00000206 4AB9 00A10008 TST.L $00A10008

0000020C 6600 011E BNE $0000032C(pc)

00000210 4A79 00A1000C TST.W $00A1000C

00000216 66F4 BNE $0000020C

00000218 4BFA 0088 LEA $000002A2(pc),A5(Carga en A5 la direccin $000002A2=Setup Values)

0000021C 4CDD 1FE0 MOVEM.L (A5)+,D5-D7/A0-A4

00000220 1029 EF01 MOVE.B -$10FF(A1),D0(Obtiene la versin del hardware)

00000224 0200 000F AND.B #$0F,D0

00000228 6708 BEQ $00000232

0000022A 237C 53454741 2F00 MOVE.L #$53454741,$2F00(A1)

---------------------------------------------------------------------

00000232 3014 MOVE.W (A4),D0

00000234 7000 MOVEQ #$00,D0

00000236 2C40 MOVE.L D0,A6

00000238 4E66 MOVE A6,USP

0000023A 7217 MOVEQ #$17,D1

0000023C 1A1D MOVE.B (A5)+,D5

0000023E 3885 MOVE.W D5,(A4)

00000240 DA47 ADD.W D7,D5

00000242 51C9 FFF8 DBRA D1,$0000023C

00000246 28BC 40000080 MOVE.L #$40000080,(A4)

0000024C 3680 MOVE.W D0,(A3)

0000024E 3287 MOVE.W D7,(A1)

00000250 3487 MOVE.W D7,(A2)

00000252 0111 BTST D0,(A1)

00000254 66FC BNE $00000252

00000256 7427 MOVEQ #$27,D2

00000258 10DD MOVE.B (A5)+,(A0)+

0000025A 51CA FFFC DBRA D2,$00000258

0000025E 3480 MOVE.W D0,(A2)

00000260 3280 MOVE.W D0,(A1)

00000262 3487 MOVE.W D7,(A2)

00000264 2D00 MOVE.L D0,-(A6)

00000266 51CE FFFC DBRA D6,$00000264

0000026A 28BC 81048F02 MOVE.L #$81048F02,(A4)

00000270 28BC C0000000 MOVE.L #$C0000000,(A4)

00000276 761F MOVEQ #$1F,D3

00000278 2680 MOVE.L D0,(A3)

0000027A 51CB FFFC DBRA D3,$00000278

0000027E 28BC 40000010 MOVE.L #$40000010,(A4)

00000284 7813 MOVEQ #$13,D4

00000286 2680 MOVE.L D0,(A3)

00000288 51CC FFFC DBRA D4,$00000286

0000028C 7A03 MOVEQ #$03,D5

0000028E 175D 0011 MOVE.B (A5)+,$0011(A3)

00000292 51CD FFFA DBRA D5,$0000028E

00000296 3480 MOVE.W D0,(A2)

00000298 4CD6 7FFF MOVEM.L (A6),D0-D7/A0-A6

0000029C 46FC 2700 MOVE #$2700,SR

000002A0 6064 BRA $00000306

-----------------------------------------------------------------

(Setup Values):

000002A2 00008000 (D5)

000002A6 00003FFF (D6)

000002AA 00000100 (D7)

000002AE 00A00000 (A0: Inicio Z80 RAM=$00A00000)

000002B2 00A11100 (A1: Z80 BUS Request=$00A11100)

000002B6 00A11200 (A2: Z80 Reset)

000002BA 00C00000 (A3)

000002BE 00C00004 (A4)

000002C2 04 (VDP Reg #0, Desactiva INT, Desactiva HV Counter)

000002C3 14 (VDP Reg #1, Activa DMA)

000002C4 30 (VDP Reg #2, Scroll A=$C000)

000002C5 3C (VDP Reg #3, Window=$F000)

000002C6 07 (VDP Reg #4, Scroll B=$E000)

000002C7 6C (VDP Reg #5, Sprites Attribute Table=$D800)

000002C8 00 (VDP Reg #6)

000002C9 00 (VDP Reg #7)

000002CA 00 (VDP Reg #8)

000002CB 00 (VDP Reg #9)

000002CC FF (VDP Reg #10)

000002CD 00 (VDP Reg #11, Full Scroll)

000002CE 81 (VDP Reg #12, 40 H-Cell mode)

000002CF 37 (VDP Reg #13, H-Scroll Data=$DC00)

000002D0 00 (VDP Reg #14)

000002D1 01 (VDP Reg #15, Autoincremento=#$01)

000002D2 01 (VDP Reg #16, H Scroll 64 Cell)

000002D3 00 (VDP Reg #17, Window at 0)

000002D4 00 (VDP Reg #18, Window at 0)

000002D5 FF (VDP Reg #19)

000002D6 FF (VDP Reg #20, DMA Counter=#$FFFF)

000002D7 00 (VDP Reg #21)

000002D8 00 (VDP Reg #22)

000002D9 80 (VDP Reg #23, DMA Source Address=$800000)

------------------------------------------------------

000002DA AF01D71F OR.L #$AF01D71F,D0

000002DE 1129 0021 MOVE.B $0021(A1),-(A0)

000002E2 2800 MOVE.L D0,D4

000002E4 F977 Invalid

000002E6 EDB0 ROXL.L D6,D0

000002E8 DDE1 ADD.L -(A1),A6

000002EA FDE1 Invalid

000002EC ED47 ASL.W #6,D7

000002EE ED4F LSL.W #6,D7

000002F0 08D9 F1C1 BSET #$C1,(A1)+

000002F4 D1E1 ADD.L -(A1),A0

000002F6 08D9 F1D1 BSET #$D1,(A1)+

000002FA E1F9 F3ED5636 ASL $F3ED5636

00000300 E9E9

--------------------------------------------------------------------------

(Valores iniciales PSG):

00000302 9F BF DF FF (PSG Canales de volumen)

--------------------------------------------------------------------------

(Pone algunos valores: rapid,...):

00000306 23FC 00003000 00FF7FF8 MOVE.L #$00003000,$00FF7FF8(Poner el TOP Score=00003000)

00000310 4279 00FF7FF0 CLR.W $00FF7FF0(Pone el valor #$0000="ON" en la direccin $FF7FF0=Rapid)

00000316 33FC 0001 00FF7FF2 MOVE.W #$0001,$00FF7FF2(Pone el valor #$0001="NORMAL" en la direccin $FF7FF2=Game level)

0000031E 33FC 0003 00FF7FF4 MOVE.W #$0003,$00FF7FF4(Pone el valor #$0003 en la direccin $FF7FF4=Player Stock)

00000326 4279 00FF7FF6 CLR.W $00FF7FF6(Pone el valor #$0000=A=WEAPON SELECT / B=NORMAL SHOT / C=SPECIAL WEAPON en

a direccin $FF7FF6=Control)

0000032C 6000 02A0 BRA $000005CE(pc)(Salta a la direccin $000005CE)

00000330 4E71 NOP

00000332 4E71 NOP

00000334 4E71 NOP

00000336 60FA BRA $00000332(Salta a la direccin $00000332)

00000338 48EE 1FFF 0006 MOVEM.L D0-D7/A0-A4,$0006(A6)

0000033E 3D5F 0000 MOVE.W (A7)+,$0000(A6)

00000342 2D5F 0002 MOVE.L (A7)+,$0002(A6)

00000346 4E68 MOVE USP,A0

00000348 2D48 0042 MOVE.L A0,$0042(A6)

0000034C 4E75 RTS(Regresa de la subrutina)

----------------------------------------------------------------------------

0000034E 3D5F 0000 MOVE.W (A7)+,$0000(A6)

00000352 2D5F 0002 MOVE.L (A7)+,$0002(A6)

00000356 3D7C 0001 000E MOVE.W #$0001,$000E(A6)

0000035C 4E68 MOVE USP,A0

0000035E 2D48 0006 MOVE.L A0,$0006(A6)

00000362 4E75 RTS(Regresa de la subrutina)

----------------------------------------------------------------------------

00000364 3D5F 0000 MOVE.W (A7)+,$0000(A6)

00000368 2D5F 0002 MOVE.L (A7)+,$0002(A6)

0000036C 4E68