processor 6502 include "vcs.h" include "macro.h" MAC LineaMarquee LDX #4 ; 192 Scanlines to Display LDY #0 .Draw_Picture ;LDA #0 ;STA PF0 ;STA PF1 ;STA PF2 LDA {1},Y ADC {2},Y STA $BE,X LDA {3},Y ADC {4},Y STA $C3,X LDA {5},Y ADC {6},Y STA $C8,X LDA {7},Y ADC {8},Y STA $CD,X LDA {9},Y ADC {10},Y STA $D3,X INY DEX BNE .Draw_Picture ENDM ; MAC LineaMarqueeEx ; LDA #8 ; STA $80 ;.DoblePasada ; STA WSYNC ; LDA $D9,Y ; STA PF0 ; LDA $DE,Y ; STA PF1 ; LDA $E4,Y ; STA PF2 ; SLEEP 12 ; LDA $E9,Y ; STA PF0 ; LDA $EE,Y ; STA PF1 ; LDA $F4,Y ; STA PF2 ; ; DEC $80 ; BNE .DoblePasada ; JMP Retorno ; ENDM MAC Linea1old LDX #4 ; 192 Scanlines to Display LDY #0 .Draw_Picture LDA #0 STA PF0 STA PF1 STA PF2 LDA {2},Y ADC {3},Y STA $92 LDA {4},Y ADC {5},Y STA $93 LDA {7},Y ADC {8},Y STA $94 LDA {9},Y ADC {10},Y STA $95 LDA #8 STA $80 .DoblePasada STA WSYNC LDA {1},Y STA PF0 LDA $92 STA PF1 LDA $93 STA PF2 SLEEP 12 LDA {6},Y STA PF0 LDA $94 STA PF1 LDA $95 STA PF2 DEC $80 BNE .DoblePasada INY DEX BNE .Draw_Picture JMP Retorno ENDM MAC Linea2old LDX #4 ; 192 Scanlines to Display LDY #0 .Draw_Picture2 LDA #0 STA PF0 STA PF1 STA PF2 LDA {2},Y ADC {3},Y STA $92 LDA {4},Y ADC {5},Y STA $93 LDA {7},Y ADC {8},Y STA $94 LDA {9},Y ADC {10},Y STA $95 LDA #8 STA $80 .DoblePasada2 STA WSYNC LDA {1},Y STA PF0 LDA $92 STA PF1 LDA $93 STA PF2 SLEEP 12 LDA {6},Y STA PF0 LDA $94 STA PF1 LDA $95 STA PF2 DEC $80 BNE .DoblePasada2 INY DEX BNE .Draw_Picture2 JMP Retorno2 ENDM MAC Linea1 LDA <#{1} STA $92 LDA >#{1} STA $93 LDA <#{2} STA $94 LDA >#{2} STA $95 LDA <#{3} STA $96 LDA >#{3} STA $97 LDA <#{4} STA $98 LDA >#{4} STA $99 JSR Linea JMP Retorno ENDM MAC Linea2 LDA <#{1} STA $92 LDA >#{1} STA $93 LDA <#{2} STA $94 LDA >#{2} STA $95 LDA <#{3} STA $96 LDA >#{3} STA $97 LDA <#{4} STA $98 LDA >#{4} STA $99 JSR Linea JMP Retorno2 ENDM MAC Linea1pir LDX #4 ; 192 Scanlines to Display LDY #0 .Draw_Picture LDA #0 STA PF0 STA PF1 STA PF2 LDA {2},Y ADC {3},Y STA $92 LDA {4},Y ADC {5},Y STA $93 LDA {7},Y ADC {8},Y STA $94 LDA {9},Y ADC {10},Y STA $95 LDA #8 STA $80 .DoblePasada STA WSYNC LDA {1},Y STA PF0 LDA $92 STA PF1 LDA $93 STA PF2 SLEEP 12 LDA {6},Y STA PF0 LDA $94 STA PF1 LDA $95 STA PF2 DEC $80 BNE .DoblePasada INY DEX BNE .Draw_Picture JMP Retorn ENDM MAC Linea2pir LDX #4 ; 192 Scanlines to Display LDY #0 .Draw_Picture2 LDA #0 STA PF0 STA PF1 STA PF2 LDA {2},Y ADC {3},Y STA $92 LDA {4},Y ADC {5},Y STA $93 LDA {7},Y ADC {8},Y STA $94 LDA {9},Y ADC {10},Y STA $95 LDA #8 STA $80 .DoblePasada2 STA WSYNC LDA {1},Y STA PF0 LDA $92 STA PF1 LDA $93 STA PF2 SLEEP 12 LDA {6},Y STA PF0 LDA $94 STA PF1 LDA $95 STA PF2 DEC $80 BNE .DoblePasada2 INY DEX BNE .Draw_Picture2 JMP Retorn2 ENDM Gris = 8 Marron = 4*8 Verde = 3*16 + 10 Naranja = 4*16 + 10 Celeste = 9*16 + 14 Azul = 11*16 + 4 Amarillo = 2*16 + 14 ; es amarillo? Rojo = 6*16 + 4 ; es rojo? PunteroRoom = $86 PunteroRoomBKP = $8C TieneObjeto = 1 Guante = 2 Lamp = 4 Llave = 8 PushQ = 16 Dia2 = 32 Inventario = $8E ControlBoton = $8F Temp = $91 DuracionNota = $A2 Noparray = $A8 Personaje = $A9 TogCamina = $AB ContaX = $AC Vueltas = $AD TogPersonaje = $AE Personaje1 = $AF Personaje2 = $B1 Vueltas1 = $B3 Vueltas2 = $B4 ContAnim = $B5 PuntAnim = $B6 SaltAnim = $B7 Noparray2 = $B9 RoomP1 = $BA RoomP2 = $BB ContaY = $C3 ColPir = $C4 ColPir2 = $C5 Scor = $C6 Digi1 = $C8 Digi2 = $CA Digi3 = $CC Digi4 = $CE Vueltas3 = $F1 Vueltas4 = $F2 Puntaje = $F3 Backg = $FA Backg2 = $FC CaeCabz = Noparray2 ColorBK = Noparray YardCastle = PunteroRoom YardCastle2 = PunteroRoomBKP Delay = Vueltas3 Curvit = $D4 Curvit2 = $D5 Curvit3 = $D6 Curvit4 = $D7 Curvit5 = $D8 Curvit6 = $D9 Curvit7 = $DA Curvit8 = $DB Velo = CaeCabz C_7 = 0 C_6 = 1 F_5 = 2 C_5 = 3 Gs_4 = 4 F_4 = 5 D_4 = 6 C_4 = 7 As_3 = 8 Gs_3 = 9 Fs_3 = 10 F_3 = 11 Ds_3 = 12 D_3 = 13 Cs_3 = 14 C_3 = 15 B_2 = 16 As_2 = 17 A_2 = 18 Gs_2 = 19 G_2 = 20 Fs_2 = 21 F_2 = 23 E_2 = 24 Ds_2 = 25 D_2 = 27 Cs_2 = 29 C_2 = 30 ;///////////////// Start of Code ///////////////////////////////////// SEG ORG $F000 JMP Sajmp Sabnk LDA $1FF8 NOP NOP NOP NOP JMP Start_Frame Sajmp Reset ; Clear RAM, TIA registers and Set Stack Pointer to #$FF SEI CLD LDX #$FF TXS LDA #0 Clear_Mem STA 0,X DEX BNE Clear_Mem LDA #$00 STA COLUBK ; Set Background to Black ;LDA #15*8 ;STA COLUPF ;LDA #0 LDA #TieneObjeto STA Inventario LDA #2 STA $81 LDA <#Habitacion1 STA PunteroRoom STA PunteroRoomBKP LDA >#Habitacion1 STA PunteroRoom + 1 STA PunteroRoomBKP + 1 ;LDA PunteroRoom ;ADC #4 ;STA PunteroRoom ;LDA <#WELCOME ;;LDY #0 ;;LDA (PunteroRoom),Y ;STA $82 ;LDA >#WELCOME ;;INY ;;LDA (PunteroRoom),Y ;STA $83 ;LDA <#SOMETHING ;;INY ;;LDA (PunteroRoom),Y ;STA $84 ;LDA >#SOMETHING ;;INY ;;LDA (PunteroRoom),Y ;STA $85 LDA <#CeroLin1;LineaMarqueeEx STA $82 LDA >#CeroLin1;LineaMarqueeEx STA $83 LDA <#IslaBack;CeroLine STA $84 LDA >#IslaBack;CeroLine STA $85 ;LineaMarquee W1,E2,L3,C4,O1,M1,E2,Cero, Cero, Cero LDA <#Isla;DibujaHabitacion3;Calle1 STA $88 LDA >#Isla;DibujaHabitacion3;Calle1 STA $89 ;LDA <#Pirata2;Calle2 ;STA $8A ;LDA >#Pirata2;Calle2 ;STA $8B LDA #1 STA AUDC0 LDA #0;10 STA AUDV0 LDA #34;150;146;10 STA $A1 LDA <#Melodia STA $A3 LDA >#Melodia STA $A4 LDA #80 STA $A5 ;LDA <#Nops7 ;STA $A6 ;LDA >#Nops7 ;STA $A7 LDA <#CeroP STA Personaje1 LDA >#CeroP STA Personaje1 + 1 ;LDA #2 ;STA Vueltas ;STA Vueltas1 ;LDA #3 ;STA Vueltas2 LDA #0 STA Vueltas STA Vueltas1 STA Vueltas2 LDA #0;13;14 STA ContaX LDA <#Huesos;CeroP STA Personaje2 LDA >#Huesos;CeroP STA Personaje2 + 1 ;LDA Personaje2 ;ADC #5 ;STA Personaje2 LDA #10;255;50 STA ContAnim LDA #0;18 STA Noparray2 LDA <#Arcos22 STA Backg LDA >#Arcos22 STA Backg + 1 LDA <#Arcos22;_2 STA Backg2 LDA >#Arcos22;_2 STA Backg2 + 1 LDA #0 STA HMP0 LDA <#Letra0;ColorP STA Vueltas1 LDA >#Letra0;ColorP STA Vueltas2 lda <#barra sta Puntaje lda >#barra sta Puntaje + 1 lda <#Numeros sta Digi1 lda >#Numeros sta Digi1 + 1 lda <#Arcos0 sta YardCastle lda >#Arcos0 sta YardCastle + 1 lda <#Arcos22 sta YardCastle2 lda >#Arcos22 sta YardCastle2 + 1 lda #Azul-4;0;#Verde sta ColorBK lda #1;0;255 - 63 ;sta Scor sta ContaY sta RoomP1 lda #30 sta Scor lda #3 sta Delay lda <#Curve2 sta Backg lda >#Curve2 sta Backg + 1 lda <#ColP+18;CurveDer2 sta Backg2 lda >#ColP;CurveDer2 sta Backg2 + 1 lda #80 sta Velo jmp Cus Cu1 lda #$00 sta Curvit lda #$00 sta Curvit2 lda #$00 sta Curvit3 lda #$00 sta Curvit4 lda #$20;30;20 sta Curvit5 lda #$30;20 sta Curvit6 lda #$30;20 sta Curvit7 lda #$30;20 sta Curvit8 jmp Curet Cu2 lda #$00 sta Curvit lda #$00 sta Curvit2 lda #$00 sta Curvit3 lda #$E0;F0 sta Curvit4 lda #$20;10 sta Curvit5 lda #$30;20 sta Curvit6 lda #$30;20 sta Curvit7 lda #$30;20 sta Curvit8 jmp Curet Cu3 lda #$00 sta Curvit lda #$E0;F0 sta Curvit2 lda #$00 sta Curvit3 lda #$E0;F0 sta Curvit4 lda #$20;10 sta Curvit5 lda #$30;20 sta Curvit6 lda #$20;10 sta Curvit7 lda #$30;20 sta Curvit8 jmp Curet Cu4 lda #$00 sta Curvit lda #$E0;F0 sta Curvit2 lda #$E0;F0 sta Curvit3 lda #$E0;F0 sta Curvit4 lda #$20;10 sta Curvit5 lda #$20;10 sta Curvit6 lda #$20;10 sta Curvit7 lda #$30;20 sta Curvit8 jmp Curet Cu5 lda #$E0;F0 sta Curvit lda #$E0;F0 sta Curvit2 lda #$E0;F0 sta Curvit3 lda #$E0;F0 sta Curvit4 lda #$20;10 sta Curvit5 lda #$20;10 sta Curvit6 lda #$20;10 sta Curvit7 lda #$20;10 sta Curvit8 jmp Curet Cu6 lda #$E0;F0 sta Curvit lda #$D0;E0 sta Curvit2 lda #$E0;F0 sta Curvit3 lda #$E0;F0 sta Curvit4 lda #$00 sta Curvit5 lda #$20;10 sta Curvit6 lda #$20;10 sta Curvit7 lda #$20;10 sta Curvit8 jmp Curet Cu7 lda #$E0;F0 sta Curvit lda #$D0;E0 sta Curvit2 lda #$E0;F0 sta Curvit3 lda #$D0;E0 sta Curvit4 lda #$00 sta Curvit5 lda #$20;10 sta Curvit6 lda #$00 sta Curvit7 lda #$20;10 sta Curvit8 jmp Curet Cu8 lda #$E0;F0 sta Curvit lda #$D0;E0 sta Curvit2 lda #$D0;E0 sta Curvit3 lda #$D0;E0 sta Curvit4 lda #$00 sta Curvit5 lda #$00 sta Curvit6 lda #$10;00 sta Curvit7 lda #$20;10 sta Curvit8 jmp Curet Cu9 lda #$E0;F0 sta Curvit lda #$D0;E0 sta Curvit2 lda #$D0;E0 sta Curvit3 lda #$C0;D0 sta Curvit4 lda #$00 sta Curvit5 lda #$00 sta Curvit6 lda #$00 sta Curvit7 lda #$00 sta Curvit8 jmp Curet Cus ;lda #$00 ;sta Curvit5 ;lda #$00 ;sta Curvit6 ;lda #$00 ;sta Curvit7 ;lda #$00 ;sta Curvit8 lda <#Loma sta Backg lda >#Loma sta Backg + 1 lda #31;28 sta Scor ;/////////////////// Picture Starts Here ///////////////////////////// Start_Frame ;SLEEP 42 ldx #60 setP1 nop dex bne setP1 sta RESP0 sta WSYNC ldx Scor;#192;Scor;112 dobl nop dex bne dobl sta RESP1;RESM1;RESP1 lda #21 ;esto si hay algo en el Anim2 va 24, si solo hay un jmp retornoanim va 25, porque se hacen lineas impares y eso hace que se ponga todo en blanco y negro sta T1024T LDA Vueltas BEQ VCero LDA #0 STA Vueltas STA HMP0 JMP VSal VCero LDA #1 STA Vueltas VSal ;LDY PuntAnim ;LDA Anim,Y ;STA SaltAnim ;INY ;LDA Anim,Y ;STA SaltAnim + 1 ;JMP (SaltAnim) RetornoAnim ;JMP Marquesina RetornoMarq LDA #8 STA COLUPF ; Start VSYNC LDA #2 STA VSYNC STA WSYNC STA WSYNC STA WSYNC ; 3 Scanlines of VSYNC LDA #0 STA VSYNC ; End VSYNC ; 37 Scanlines of Vertical Blank... LDX #37 Vertical_Blank STA WSYNC DEX BNE Vertical_Blank LDA #0 STA VBLANK ; Enable TIA Output ;////////////// Start To Draw Playfield /////////////////////////////// LDX #4 ; Frase 1 empieza mas arriba Tiempo STA WSYNC DEX BNE Tiempo JMP ($82);Frase1 Retorno LDA Cero2 STA PF0 STA PF1 STA PF2 STA WSYNC STA WSYNC STA WSYNC STA WSYNC STA WSYNC STA WSYNC LDA #1 STA CTRLPF JMP ($84);Frase2 Retorno2 ; LDA TogPersonaje ; BEQ CeroPers ; LDA RoomP1 ; CMP RoomP2 ; BEQ HayPers ; JMP CeroPers ;HayPers LDA #0 ; STA TogPersonaje ; LDA Personaje2 ; STA Personaje ; LDA Personaje2 + 1 ; STA Personaje + 1 ; ;LDY Noparray2 ; ;LDA NopsArray,Y ; ;STA $A6 ; ;INY ; ;LDA NopsArray,Y ; ;STA $A7 ; ;LDA Vueltas2 ; ;STA Vueltas ; JMP CeroPersS CeroPers ; LDA #1 ; STA TogPersonaje ; LDA Personaje1 ; STA Personaje ; LDA Personaje1 + 1 ; STA Personaje + 1 ; ;LDY Noparray ; ;LDA NopsArray,Y ; ;STA $A6 ; ;INY ; ;LDA NopsArray,Y ; ;STA $A7 ; ;LDA Vueltas1 ; ;STA Vueltas CeroPersS LDA Cero2 ;STA PF0 STA PF1 STA PF2 lda #255 sta PF0 ;LDA #1 ;STA CTRLPF ; lda Digi4 ; and #1 ; beq TogCactus ; lda #5 ; sta CTRLPF ; jmp TogCs ;TogCactus lda #1 ; sta CTRLPF TogCs ;JMP ($88) lda Puntaje and #%00000001 beq isel1 jmp Isla jmp isel2 isel1 jmp Isla3 isel2 Retorno3 LDA #0 STA CTRLPF lda #3; Verde + 3 sta COLUBK LDA Cero2 STA PF0 STA PF1 STA PF2 LDA #0 STA GRP0 STA GRP1 inc Puntaje LDA $BD BEQ Retorno4 JMP Musica Retorno4 ldy #0 ;LDX #184 LDX #18;40;90;50;30;50;90;112 DibujaCola STA WSYNC lda Moto,Y sta GRP0 lda Puntaje and #%00000001 beq Mot2 lda Moto,Y sta GRP1 Mot2 iny DEX BNE DibujaCola lda #0 sta GRP0 sta GRP1 ;STA HMOVE ;lda #$F0 ;sta HMP1 ;lda Delay ;beq Deci ;jmp RetDeci Deci LDA SWCHA AND #%00010000 BEQ DecisionNear LDA SWCHA AND #%01000000 BEQ Decision2Near LDA SWCHA AND #%00100000 BEQ Decision3Near LDA SWCHA AND #%10000000 BEQ Decision4Near ;BEQ TogImg LDA INPT4 BMI RetDeci JMP Boton;Decision DecisionNear JMP Decision Decision2Near JMP Decision2 Decision3Near JMP Decision3 Decision4Near JMP Decision4 ;TogImg ; LDA $90 ; CMP #1 ; BEQ Uno ; LDA #1 ; STA $90 ; JMP RetDeci ;Uno ; LDA #0 ; STA $90 RetDeci lda ContaX clc rol tay lda JumTabl,Y sta PunteroRoomBKP iny lda JumTabl,Y sta PunteroRoomBKP + 1 jmp (PunteroRoomBKP) Curet lda ContaX ;Scor ;lda Digi3 ;lda RoomP1 and #$E ;7 asl ;mult x 4 ;asl clc adc <#Numeros2 sta Digi1 lda >#Numeros2 sta Digi1 + 1 lda ContaX ;Scor ;lda Digi3 ;lda RoomP1 and #$70 ;E0 lsr lsr lsr lsr asl ;mult x 4 asl clc adc <#Numeros sta Digi2 lda >#Numeros sta Digi2 + 1 ;////////////// End Of Display //////////////////////////////////////// LDA #%01000010 ; Disable VIA Output STA VBLANK ; 30 scanlines of overscan... lda Delay beq VolvDelay dec Delay jmp Delays VolvDelay dec Backg dec Backg2 lda Backg2 and #%00001111 sta Backg2 lda Backg cmp ##CeroP ; STA Personaje1 + 1 ; LDA #0 ; STA TogCamina ; JMP Decision5 ;EstaBien ; LDA RoomP1 ; CMP #255 ; BEQ EstaBien2 ; JMP Decision5 ;EstaBien2 ; DEC Backg ; DEC Backg2 ; ;INC Personaje1 ; ;INC Vueltas1 ; LDA ContaY ; BEQ PrimeraVez ; INC ContaY ; JMP Decision5 ;PrimeraVez LDA <#LetraI ; SBC #4 ; STA Personaje1 ; LDA >#LetraI ; STA Personaje1 + 1 ; LDA #0 ; STA TogCamina ; INC ContaY JMP Decision5 Decision2 LDA #0 STA SWCHA LDA #8 STA REFP0 LDA #$20 STA HMP0 ;;INC Noparray ;;INC Noparray lda ContaX cmp #8 beq ContaS INC ContaX;DEC ContaX ContaS ;LDY Noparray ;LDA NopsArray,Y ;STA $A6 ;INY ;LDA NopsArray,Y ;STA $A7 ;;DEC Personaje1 ;;DEC ContaY JMP Decision5 Decision3 LDA #0 STA SWCHA LDA #0 STA REFP0 STA HMP0 dec Personaje1 dec Vueltas1 ;dec ContaY ;inc Scor inc Velo jmp Decision5 ;;DEC Noparray ;;DEC Noparray ;;INC ContaX ;LDY Noparray ;LDA NopsArray,Y ;STA $A6 ;INY ;LDA NopsArray,Y ;STA $A7 ; LDA ContaY ; CMP #1 ; BMI NoEstaBien ; CMP #17 ; BEQ PrimerVez ; JMP PVez ;PrimerVez LDA <#LetraI ; SBC #4 ; STA Personaje1 ; LDA >#LetraI ; STA Personaje1 + 1 ; LDA #0 ; STA TogCamina ;PVez INC Backg ; INC Backg2 ; ;DEC Personaje1 ; ;DEC Vueltas1 ; DEC ContaY ; JMP Decision5 ;NoEstaBien LDA <#CeroP ; SBC #3 ; STA Personaje1 ; LDA >#CeroP ; STA Personaje1 + 1 ; LDA #0 ; STA TogCamina JMP Decision5 Decision4 LDA #0 STA SWCHA LDA #0 STA REFP0 LDA #$E0 STA HMP0 ;;DEC Noparray ;;DEC Noparray lda ContaX beq ContaSS DEC ContaX;INC ContaX ContaSS ;LDY Noparray ;LDA NopsArray,Y ;STA $A6 ;INY ;LDA NopsArray,Y ;STA $A7 ;;INC Personaje1 ;;INC ContaY JMP Decision5 Decision5 ;LDA TogCamina ;BEQ CeroCam ;LDA #0 ;STA TogCamina LDA Personaje1 ;SEC;CLC ;SBC #28 clc adc TogCamina STA Personaje1 ;JMP CeroCamS lda TogCamina clc adc #28 sta TogCamina cmp #(28 * 4) beq VolverTog jmp CeroCamS VolverTog lda #0 sta TogCamina lda Personaje1 sec sbc #(28 * 6) sta Personaje1 ;lda <#CeroP ;sta Personaje1 ;lda >#CeroP ;sta Personaje1 + 1 ;lda <#Letra0 ;sta Vueltas1 ;lda >#Letra0 ;sta Vueltas1 + 1 jmp CeroCamS CeroCam LDA #1 STA TogCamina LDA Personaje1 CLC;SEC ADC #28 STA Personaje1 CeroCamS ; LDA ContaX ;Necesito cambiar el alto de los pixeles con "Vueltas" porque el personaje a la derecha consume muchos ciclos con los "Nops" ; CMP #8 ; BMI CeroCamS2 ; LDA #2 ; STA Vueltas1 ; JMP CeroCamS3 ;CeroCamS2 ; CMP #3 ; BMI AA ; JMP BB ;AA LDA #4 ; STA Vueltas1 ; JMP CeroCamS3 ;BB LDA #3 ; STA Vueltas1 ;CeroCamS3 JMP RetDeci ; LDA PunteroRoom ; ADC #4 ; STA PunteroRoom ; LDY #8 ; LDA (PunteroRoom),Y ;La condicion, tener algo en el inventario ; AND Inventario ; BEQ Cuatro ; DEC $81 ; BEQ Cuatro ;Vuelta ; LDY #0 ; LDA (PunteroRoom),Y ; STA $82 ; INY ; LDA (PunteroRoom),Y ; STA $83 ; INY ; LDA (PunteroRoom),Y ; STA $84 ; INY ; LDA (PunteroRoom),Y ; STA $85 ; JMP RetDeci ;Cuatro ; LDA #2 ; STA $81 ; LDY #0 ; LDX #0 ; LDA PunteroRoomBKP,Y ; STA PunteroRoom,X ; INY ; INX ; LDA PunteroRoomBKP,Y ; STA PunteroRoom,X ; JMP Vuelta Boton LDA ControlBoton CMP #0 BEQ Boton2 INC ControlBoton CMP #7 BEQ ResetBoton JMP RetDeci ResetBoton LDA #0 STA ControlBoton JMP RetDeci Boton2 inc ControlBoton lda $BE beq EstaAfuera lda #0 sta $BE lda #Azul-4 sta ColorBK lda CaeCabz sta RoomP1 jmp RetDeci EstaAfuera lda Puntaje ;random (0-255) sta SaltAnim ;guarda en saltanim la ubicacion azarosa del tesoro lda RoomP1 sta CaeCabz ; me guardo la posicion para volver despues LDY RoomP1 LDA ($D0),Y cmp SaltAnim + 1 ;compara con el tesoro que encontro antes, el tesoro es una pista de hacia donde se debe dirigir, si esta en el mismo lugar de hacia donde se debe dirigir, eso significa esta comparacion. beq SiTeso jmp RetDeci SiTeso lda #1 sta $BE lda #0 sta ColorBK jmp RetDeci ;LDA RoomP1 ;CMP RoomP2 ;BEQ Sabank dec Puntaje LDA #10 STA PuntAnim JMP Sasabank Sabank LDA #100 STA ContAnim JMP Sabnk;LDA $1FF8 Sasabank ; LDA ControlBoton ; CMP #0 ; BEQ Boton2 ; INC ControlBoton ; CMP #7 ; BEQ ResetBoton ; JMP RetDeci ;Boton2 ; LDY #16 ; LDA <(PunteroRoom),Y ; ORA Inventario ; STA Inventario ; ;LDY #18 ;Carga la melodia ; ;LDA (PunteroRoom),Y ; ;STA $A3 ; ;INY ; ;LDA (PunteroRoom),Y ; ;STA $A4 ; ;LDA #10 ; ;STA AUDV0 ; ;LDA #10 ; ;STA $A1 ; ;LDA #0 ; ;STA DuracionNota ; LDY #10 ;Carga imagen ; LDA (PunteroRoom),Y ; STA $88 ; INY ; LDA (PunteroRoom),Y ; STA $89 ; LDY #24 ; LDX #0 ; LDA (PunteroRoom),Y ; STA Temp,X ; ;STA PunteroRoom,X ; ;STA PunteroRoomBKP,X ; INY ; INX ; LDA (PunteroRoom),Y ; STA Temp,X ; ;STA PunteroRoom,X ; ;STA PunteroRoomBKP,X ; LDX #0 ; LDY #0 ; LDA Temp,Y ; STA PunteroRoom,X ; STA PunteroRoomBKP,X ; INY ; INX ; LDA Temp,Y ; STA PunteroRoom,X ; STA PunteroRoomBKP,X ; INC ControlBoton ; JMP RetDeci;Vuelta;RetDeci ;ResetBoton ; LDA #0 ; STA ControlBoton JMP RetDeci ; ALIGN 256 MapaMundi ; .byte 0, 0,0,0,0,0, 0,0, 0,0,0,0,0,0, 0,0 ; .byte 0, 1,0,0,0,0, 0,0, 0,0,0,0,0,0,15,0 ; .byte 0,13,0,1,0,1, 1,0, 0,0,0,0,0,0, 1,0 ; .byte 0, 0,0,0,0,1,12,0, 0,0,0,0,0,1, 1,0 ; .byte 0, 0,2,0,0,1, 1,0, 0,0,0,0,0,9, 1,0 ; .byte 0, 1,1,0,1,1, 1,1, 0,0,0,0,1,1, 1,14 ; .byte 0, 1,1,0,1,1, 1,1, 1,0,0,1,1,1, 1,0 ; .byte 0, 5,1,1,1,7, 1,1, 1,0,0,0,1,1,16,0 ; .byte 0, 1,1,1,1,1, 1,1, 1,0,0,0,0,1, 0,0 ; .byte 0, 1,0,0,0,0, 0,0, 0,0,0,1,0,6, 0,1 ; .byte 0, 1,4,0,1,0, 0,1, 1,0,0,1,0,1, 0,1 ; .byte 0, 1,0,0,8,0, 1,1, 1,0,0,1,1,1, 1,1 ; .byte 0, 1,1,0,1,1, 1,0, 0,0,0,1,1,1, 1,10 ; .byte 0, 1,1,1,3,1, 1,0, 0,0,0,1,1,1, 1,1 ; .byte 0, 1,1,1,0,0, 0,0,11,1,0,0,0,0, 1,1 ; .byte 0, 1,1,1,1,1, 1,0, 1,0,0,0,1,1, 1,1 Catacumbas ; .byte 1,1,6,7 ,8 ,7 , 1, 1, 1,1,1, 1, 1, 1, 1, 1 ; .byte 1,8,1,9 ,9 ,6 , 1, 1, 1,1,1,13, 1, 1, 1, 1 ; .byte 1,1,7,8 ,10,1 , 1, 1, 1,1,1,13, 1, 1, 1, 1 ; .byte 1,1,1,1 ,1 ,1 , 1, 1, 1,1,1,13,13, 1, 1, 1 ; .byte 1,1,1,1 ,1 ,1 , 1, 1, 1,1,1, 1, 1,13, 1, 1 ; .byte 1,1,1,1 ,1 ,1 , 1, 1, 1,1,1, 1, 1,13, 1,23 ; .byte 1,1,1,1 ,1 ,1 , 1,12,11,1,1, 1, 1,13, 1,13 ; .byte 1,1,1,1 ,1 ,1 , 1, 1,11,1,1, 1, 1,13,13,13 ; .byte 1,1,1,1 ,1 ,1 ,11, 1,11,1,1, 1, 1, 1, 1, 1 ; .byte 1,1,1,1 ,1 ,1 ,11, 1,11,1,1, 1, 1, 1, 1, 1 ; .byte 1,1,1,1 ,1 ,1 ,11,11,11,1,1, 1, 1, 1, 1, 1 ; .byte 1,1,1,1 ,1 ,1 , 1, 1, 1,1,1, 1, 1, 1, 1, 1 ; .byte 1,1,1,1 ,1 ,1 , 1, 1, 1,1,1, 1, 1, 1, 1, 1 ; .byte 1,1,1,21,17,17,18, 1, 1,1,1, 1, 1, 1, 1, 1 ; .byte 1,1,1,15,1 ,16,19, 1, 1,1,1, 1, 1, 1, 1,24 ; .byte 1,1,1,18,14,15,20,21,22,1,1, 1, 1, 1, 1, 1 Division ; .byte 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16 ; .byte 2, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 ; .byte 3, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5 ; .byte 4, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4 ; .byte 5, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3 ; .byte 6, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2 ; .byte 7, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2 ; .byte 8, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 ; .byte 9, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 10, 5, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 11, 5, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 12, 6, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 13, 6, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 14, 7, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 15, 7, 5, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 16, 8, 5, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16 ; .byte 2, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8 ; .byte 3, 2, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5 ; .byte 4, 2, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4 ; .byte 5, 3, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3 ; .byte 6, 3, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3 ; .byte 7, 4, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2 ; .byte 8, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2 ,2, 2 ; .byte 9, 5, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2 ; .byte 10,5, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2 ; .byte 11,6, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 12,6, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 13,7, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1 ; .byte 14,7, 5, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1 ; .byte 15,8, 5, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1 ; .byte 16,8, 5, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1 Distancia ; .byte 1,2,3,4,5, 6, 7, 8, 7, 6,5,4,3,2,1,1 ; .byte 2,3,4,4,5, 6, 7, 8, 7, 6,5,4,4,3,2,2 ; .byte 3,4,4,5,6, 7, 8, 9, 8, 7,6,5,4,4,3,3 ; .byte 4,4,5,6,6, 7, 8, 9, 8, 7,6,6,5,4,4,4 ; .byte 5,5,6,6,7, 8, 9, 9, 9, 8,7,6,6,5,5,5 ; .byte 6,6,7,7,8, 8, 9,10, 9, 8,8,7,7,6,6,6 ; .byte 7,7,8,8,9, 9,10,11,10, 9,9,8,8,7,7,7 ; .byte 8,8,9,9,9,10,11,11,11,10,9,9,9,8,8,8 ; .byte 7,7,8,8,9, 9,10,11,10, 9,9,8,8,7,7,7 ; .byte 6,6,7,7,8, 8, 9,10, 9, 8,8,7,7,6,6,6 ; .byte 5,5,6,6,7, 8, 9, 9, 9, 8,7,6,6,5,5,5 ; .byte 4,4,5,6,6, 7, 8, 9, 8, 7,6,6,5,4,4,4 ; .byte 3,4,4,5,6, 7, 8, 9, 8, 7,6,5,4,4,3,3 ; .byte 2,3,4,4,5, 6, 7, 8, 7, 6,5,4,4,3,2,2 ; .byte 1,2,3,4,5, 6, 7, 8, 7, 6,5,4,3,2,1,1 ; .byte 1,2,3,4,5, 6, 7, 8, 7, 6,5,4,3,2,1,0 Cero2 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Numeros .byte #%00000010 .byte #%00000101 .byte #%00000101 .byte #%00000010 .byte #%00000010 .byte #%00000010 .byte #%00000010 .byte #%00000010 .byte #%00000111 .byte #%00000001 .byte #%00000010 .byte #%00000111 .byte #%00000111 .byte #%00000010 .byte #%00000001 .byte #%00000111 .byte #%00000101 .byte #%00000101 .byte #%00000111 .byte #%00000001 .byte #%00000111 .byte #%00000110 .byte #%00000001 .byte #%00000111 .byte #%00000111 .byte #%00000100 .byte #%00000111 .byte #%00000111 .byte #%00000111 .byte #%00000001 .byte #%00000001 .byte #%00000001 ;-------------------------------------- Numeros2 .byte #%00100000 .byte #%01010000 .byte #%01010000 .byte #%00100000 .byte #%00100000 .byte #%00100000 .byte #%00100000 .byte #%00100000 .byte #%01110000 .byte #%01000000 .byte #%00100000 .byte #%01110000 .byte #%01110000 .byte #%00100000 .byte #%01000000 .byte #%01110000 .byte #%01010000 .byte #%01010000 .byte #%01110000 .byte #%01000000 .byte #%01110000 .byte #%00110000 .byte #%01000000 .byte #%01110000 .byte #%01110000 .byte #%00010000 .byte #%01110000 .byte #%01110000 .byte #%01110000 .byte #%01000000 .byte #%01000000 .byte #%01000000 D .byte #%00110000 .byte #%01010000 .byte #%01010000 .byte #%00110000 A .byte #%00000010 .byte #%00000101 .byte #%00000111 .byte #%00000101 Y .byte #%01010000 .byte #%01010000 .byte #%00100000 .byte #%00100000 One .byte #%00010000 .byte #%00011000 .byte #%00010000 .byte #%00010000 CeroLin1 Linea1 Cero2,Cero2,Cero2,Cero2 CeroLine Linea2 Cero2,Cero2,Cero2,Cero2 ;Linea2 D,A,Y,One ; ALIGN 256 Habitacion1 ; .word WELCOME ; .word SOMETHING ; .word AWFUL ; .word HAPPENED ; .word #TieneObjeto ; .word #Isla ; .word #TieneObjeto ; .word #Isla ; .word #TieneObjeto ; .word #TieneObjeto ; .word #TieneObjeto ; .word #TieneObjeto ; .word Habitacion1 ; .word Habitacion1 ; .word Habitacion2 ; .word Habitacion2 ;Habitacion2 ; .word FINDOUT ; .word BEFORE ; .word JOHNCROMW ; .word ELLCOMES ; .word #TieneObjeto ; .word #Isla ; .word #TieneObjeto ; .word #Isla ; .word #TieneObjeto ; .word #TieneObjeto ; .word #TieneObjeto ; .word #TieneObjeto ; .word Habitacion2 ; .word Habitacion2 ; .word RoomOne ; .word RoomOne ;RoomOne ; .word ROOMONE ; .word CeroLine ; .word ROOMONE ; .word CeroLine ; .word #TieneObjeto ; .word #Isla ; .word #TieneObjeto ; .word #Isla ; .word #TieneObjeto ; .word #TieneObjeto ; .word #TieneObjeto ; .word #TieneObjeto ; .word RoomTwo ; .word RoomTwo ; .word RoomTwo ; .word RoomTwo ;RoomTwo ; .word ROOMTWO ; .word CeroLine ; .word GOTODOOR ; .word CeroLine ; .word #TieneObjeto ; .word #Isla ; .word #TieneObjeto ; .word #Isla ; .word #TieneObjeto ; .word #TieneObjeto ; .word #TieneObjeto ; .word #TieneObjeto ; .word RoomTwo ; .word RoomTwo ; .word RoomTwo ; .word RoomTwo Arcos21 .byte #%11111111 .byte #%10000000 .byte #%10000001 .byte #%10000000 .byte #%10000001 .byte #%10101010 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%10101010 .byte #%10000001 .byte #%10000000 .byte #%10000001 .byte #%10000000 .byte #%11111111 ;Arcos22 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%11111100 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00111111 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00111100 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%01111110 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 Arcos22_2 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Arcos23 David .byte #%01111110 .byte #%11111000 .byte #%01000000 .byte #%10100000 .byte #%00010000 .byte #%10000100 .byte #%00000001 .byte #%00001101 .byte #%00001111 .byte #%00000111 .byte #%00000110 .byte #%00000111 .byte #%00000000 .byte #%00000011 .byte #%00100001 .byte #%00100001 .byte #%10110011 .byte #%10000011 Arcos0 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%00000000 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000;11111111 .byte #%00000000 .byte #%00000000 .byte #%00000000 Arcos22 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%11111111 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%11011101 ; .byte #%10001000 ; .byte #%11011101 .byte #%00011000 .byte #%00011000 .byte #%00011000 .byte #%00011000 .byte #%01111100 .byte #%11111111 .byte #%11111111 .byte #%11111111 .byte #%11111111 .byte #%11111111 .byte #%11111111 .byte #%11111111 .byte #%11111111 .byte #%11111111 .byte #%11111111 .byte #%11111111;00100010 .byte #%11111111;01110111 .byte #%11111111;00100010 Muelle .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00111000 .byte #%01111110 .byte #%11111111 Muelle2 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00111000 .byte #%01111110 .byte #%11111111 MuelleC .byte #Rojo;Rojo;Azul + 5 .byte #Naranja;Azul;Naranja .byte #Amarillo;Naranja + 1;Naranja + 1 .byte #Azul;Azul;Azul .byte #Azul;Verde;Azul + 1 .byte #Celeste;Rojo;Azul + 2 .byte #Azul;Celeste;Azul + 3 .byte #Azul;Gris;Azul + 4 .byte #Azul;Naranja;Azul + 6 .byte #Celeste;Verde;Azul + 7 .byte #Azul;Rojo;Azul + 8 .byte #Azul;Azul;Azul + 9 .byte #Celeste;Naranja;Azul + 10 .byte #Azul;Gris;Azul .byte #Celeste;0;Azul + 1 .byte #Azul;Rojo;Azul + 2 .byte #Celeste;Azul;Azul + 3 .byte #Celeste;Verde;Verde ;.byte #Rojo;Rojo;Azul + 5 ;.byte #Naranja;Azul;Naranja ;.byte #Amarillo;Naranja + 1;Naranja + 1 MuelleC2 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #0 .byte #Gris .byte #Gris Cleric Hanoi1 Clav78 ; .ALIGN 256 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 CeroP .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00011000 .byte #%00111100 .byte #%00011000 .byte #%00111100 .byte #%01011000 .byte #%01011110 .byte #%00011000 .byte #%00010100 .byte #%00110100 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 CeroP2 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00011000 .byte #%00111100 .byte #%00011000 .byte #%01111100 .byte #%10011000 .byte #%10011111 .byte #%00001000 .byte #%00001000 .byte #%00011000 .byte #%00001000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 CeroP3 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00011000 .byte #%00111100 .byte #%00011000 .byte #%00111100 .byte #%01011000 .byte #%01011110 .byte #%00011000 .byte #%00010100 .byte #%00011000 .byte #%00010000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 CeroP4 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00011000 .byte #%00111100 .byte #%00011000 .byte #%00111100 .byte #%00111000 .byte #%00111000 .byte #%00011000 .byte #%00010100 .byte #%00010100 .byte #%00100000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 CeroP5 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00011000 .byte #%00111100 .byte #%00011000 .byte #%00011100 .byte #%00111000 .byte #%00111100 .byte #%00011000 .byte #%00011000 .byte #%01101000 .byte #%00001000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 ColorP .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #Verde - 5;%00000000 .byte #Verde - 5;%00000000 .byte #Verde - 5;Azul .byte #Verde - 5;Verde - 5 .byte #Verde - 5;Marron .byte #Verde - 5;Marron .byte #Verde - 5;Marron .byte #Verde - 5;Azul .byte #Verde - 5;Azul .byte #Verde - 5;Azul .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 ;include "imagen4.txt" ;include "calle.btm" ;include "pirata.btm" Linea LDX #4 ; 192 Scanlines to Display LDY #0 Draw_Picture LDA #8 STA $80 DoblePasada STA WSYNC LDA ($92),Y STA PF0 LDA Cero2,Y STA PF1 LDA ($94),Y STA PF2 SLEEP 4 LDA ($96),Y STA PF0 ;LDA Cero2,Y lda (Digi2),Y STA PF1 ;LDA ($98),Y lda (Digi1),Y STA PF2 DEC $80 BNE DoblePasada INY DEX BNE Draw_Picture RTS ; .ALIGN 256 JumTabl .word Cu1 .word Cu2 .word Cu3 .word Cu4 .word Cu5 .word Cu6 .word Cu7 .word Cu8 .word Cu9 .word Cu1 .word Cu2 .word Cu3 .word Cu4 .word Cu5 .word Cu6 .word Cu7 .word Cu8 .word Cu9 .word Cu1 .word Cu2 Anim .word #Anim1 ; .word #Anim2 ; .word #Anim3 ; .word #Anim4 ; .word #Anim5 ; .word #Anim6 ; .word #Anim7 ; .word #Anim8 ; .word #Anim9 ; .word #Anim10 ; .word #Anim11 Anim1 jmp RetornoAnim ; LDA #0 ; STA COLUBK ; LDA #215 ; STA COLUP0 ; STA COLUP1 ; ;LDA #6 ; ;STA RoomP2 ; LDA #$40 ; STA HMP1 ; DEC ContAnim ; BEQ SumarAnim ; JMP RetornoAnim SumarAnim ; LDA #$10;0 ; STA HMP1 ; LDA #8 ; STA $BC ; INC PuntAnim ; INC PuntAnim ; LDA #15;50 ; STA ContAnim ; LDA Personaje2 ; SBC #4;12 ; STA Personaje2 ; LDA Personaje1 ; SBC #245;1;4 ; STA Personaje1 ; LDA Vueltas1 ; SBC #4;12 ; STA Vueltas1 ; JMP RetornoAnim Anim2 ; ;DEC ContAnim ; ;BEQ SumarAnim2 ; inc Digi3 ; lda Digi3 ; cmp #80 ; beq CactusIzq ; lda Digi3 ; cmp #160 ; beq CactusPriVez ; jmp RetornoAnim CactusIzq lda Digi4 ; beq CactusPriVez ;si es la primera vez compara con #80, sino compara con #110, porque el cactus la primera vez no empieza desde la derecha sino desde el centro de la pantalla ; lda Digi3 ; cmp #160 ; beq CactusPriVez ; jmp RetornoAnim CactusPriVez lda #0 ; sta Digi3 ; inc Digi4 ; JMP RetornoAnim SumarAnim2 ; ;INC PuntAnim ; ;INC PuntAnim ; INC Personaje2 ; INC Vueltas1 ; LDA #15 ; STA ContAnim ; DEC $BC ; BEQ SumarAnim3 ; JMP RetornoAnim SumarAnim3 ; INC PuntAnim ; INC PuntAnim ; LDA #170 ; STA ContAnim ; LDA #$10 ; STA HMP1 ; JMP RetornoAnim Anim3 ; DEC ContAnim ; BEQ SumarAnim4 ; JMP RetornoAnim SumarAnim4 ; LDA #0 ; STA HMP1 ; INC PuntAnim ; INC PuntAnim ; LDA #15 ; STA ContAnim ; LDA #8 ; STA $BC ; JMP RetornoAnim Anim4 ; DEC ContAnim ; BEQ SumarAnim5 ; JMP RetornoAnim SumarAnim5 ; LDA #15 ; STA ContAnim ; DEC Personaje2 ; DEC Vueltas1 ; DEC $BC ; BEQ SumarAnim6 ; JMP RetornoAnim SumarAnim6 ; INC PuntAnim ; INC PuntAnim ; JMP RetornoAnim Anim5 ; LDA #100 ; STA ContAnim ; LDA #16; va a anim9 ; STA PuntAnim ; JMP RetornoAnim Anim6 ; LDA #8 ; STA $BC ; LDA #5 ; STA ContAnim ; INC PuntAnim ; INC PuntAnim ; LDA <#LetraV ; STA Personaje2 ; LDA >#LetraV ; STA Personaje2 + 1 ; LDA Personaje2 ; SBC #4 ; STA Personaje2 ; LDA #0 ; STA HMP1 ; JMP RetornoAnim Anim7 ; DEC ContAnim ; BEQ SumarAnim7 ; JMP RetornoAnim SumarAnim7 ; lda #1 ; sta CaeCabz ; DEC $BC ; BEQ SumarAnim8 ; LDA #5 ; STA ContAnim ; DEC Personaje2 ; DEC Vueltas1 ; JMP RetornoAnim SumarAnim8 ; INC PuntAnim ; INC PuntAnim ; JMP RetornoAnim Anim8 ; lda #0 ; sta CaeCabz ; ;LDA #128 ; ;STA RoomP2 ; LDA #100 ; STA ContAnim ; LDA <#Huesos ; STA Personaje2 ; LDA >#Huesos ; STA Personaje2 + 1 ; LDA Personaje2 ; SBC #12 ; STA Personaje2 ; LDA <#ColorP ; STA Vueltas1 ; LDA >#ColorP ; STA Vueltas1 + 1 ; LDA Vueltas1 ; SBC #12 ; STA Vueltas1 ; INC PuntAnim ; INC PuntAnim ; JMP RetornoAnim Anim9 ; DEC ContAnim ; BEQ SumarAnim8 ; JMP RetornoAnim Anim10 ; LDA #9 ; STA $BC ; LDA #15 ; STA ContAnim ; INC PuntAnim ; INC PuntAnim ; JMP RetornoAnim Anim11 ; DEC ContAnim ; BEQ SumarAnim9 ; JMP RetornoAnim SumarAnim9 ; DEC $BC ; BEQ SumarAnim10 ; LDA #15 ; STA ContAnim ; INC Personaje2 ; INC Vueltas1 ; JMP RetornoAnim SumarAnim10 ; LDA #4 ; STA PuntAnim; va a anim3 ; LDA #170 ; STA ContAnim ; LDA #$10 ; STA HMP1 ; JMP RetornoAnim Isla ;DibujaHabitacion4 ;Carpa LDX #7;28; 18 ;10 ; 192 Scanlines to Display LDY #0 BEQ Isla2 LDA #0 STA $90 LDA #Naranja STA $A0 JMP Draw_PictureW2.0 Isla2 LDA ColorBK ;#Verde;#Celeste STA $90 sta COLUPF;BK LDA #2;Celeste;#Verde STA $A0 LDA #255;Verde - 5 ;(Vueltas1),Y STA COLUP1 Draw_PictureW2.0 lda ContaY beq Draw_PictureW2 cmp #1 beq Draw_PictureW2.1n cmp #2 beq Draw_PictureW2.2n cmp #3 beq Draw_PictureWRecn cmp #4 beq Draw_PictureW3.2n cmp #5 beq Draw_PictureW3.1n Draw_PictureWRecn jmp Draw_PictureWRec Draw_PictureW2.1n jmp Draw_PictureW2.1 Draw_PictureW2.2n jmp Draw_PictureW2.2 Draw_PictureW3.1n jmp Draw_PictureW3.1 Draw_PictureW3.2n jmp Draw_PictureW3.2 Draw_PictureW2 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW2 ;LDA MuelleC,Y;$A0 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 ;LDA (Backg2),Y;#0;Arcos22,Y STA PF2 NoOper CePers sta HMOVE lda #255 ; ;LDA (Personaje2),Y STA GRP1 ;sta ENAM1; ;sta HMOVE ;lda Curve2,Y ;(Backg),Y ;Curve2,Y ;#$F0; CurveDer,Y lda Curvit adc Bezi,Y sta HMP1;HMM1;HMP1 iny sta WSYNC sta HMOVE lda Curvit2 adc Bezi,Y sta HMP1 iny sta WSYNC sta HMOVE lda Curvit3 adc Bezi,Y sta HMP1 iny sta WSYNC sta HMOVE lda Curvit4 adc Bezi,Y sta HMP1 HaPers ;LDA (Vueltas1),Y;Letra0,Y;(Vueltas1),Y ;STA COLUP0 ;LDA (Personaje1),Y ;STA GRP0 SaPers DEC $80 BNE DoblePasadaW2 ;sta HMOVE ;lda Curve,Y ;sta HMP1 lda (Backg2),Y; ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW2 jmp Retorno3 Isla3 ;DibujaHabitacion4 ;Carpa LDX #7;28; 18 ;10 ; 192 Scanlines to Display LDY #0 BEQ Isla4 LDA #0 STA $90 LDA #Naranja STA $A0 JMP Draw_PictureW4.0 Isla4 LDA ColorBK ;#Verde;#Celeste STA $90 sta COLUPF;BK LDA #2;Celeste;#Verde STA $A0 LDA #255;Verde - 5 ;(Vueltas1),Y STA COLUP1 Draw_PictureW4.0 lda ContaY beq Draw_PictureW4 cmp #1 beq Draw_PictureW2.21n cmp #2 beq Draw_PictureW2.3n cmp #3 beq Draw_PictureWRectn cmp #4 beq Draw_PictureW3.3n cmp #5 beq Draw_PictureW3.21n Draw_PictureWRectn jmp Draw_PictureWRect Draw_PictureW2.21n jmp Draw_PictureW2.21 Draw_PictureW2.3n jmp Draw_PictureW2.3 Draw_PictureW3.21n jmp Draw_PictureW3.21 Draw_PictureW3.3n jmp Draw_PictureW3.3 Draw_PictureW4 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW4 ;LDA MuelleC,Y;$A0 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 ;LDA (Backg2),Y;#0;Arcos22,Y STA PF2 NoOper4 CePers4 sta HMOVE lda #255 ; ;LDA (Personaje2),Y STA GRP1 ;sta ENAM1; ;sta HMOVE ;lda CurveDer2,Y; (Backg2),Y ;CurveDer2,Y ; #$70; CurveDer,Y lda Curvit5 adc Bezi,Y sta HMP1;HMM1;HMP1 iny sta WSYNC sta HMOVE lda Curvit6 adc Bezi,y sta HMP1 iny sta WSYNC sta HMOVE lda Curvit7 adc Bezi,Y sta HMP1 iny sta WSYNC sta HMOVE lda Curvit8 adc Bezi,Y sta HMP1 ; lda #255 ; ; ;LDA (Personaje2),Y ; STA GRP1 ; ;sta ENAM1; ; sta HMOVE ; lda Curve,Y ; sta HMP1;HMM1;HMP1 HaPers4 ;LDA (Vueltas1),Y;Letra0,Y;(Vueltas1),Y ;STA COLUP0 ;LDA (Personaje1),Y ;STA GRP0 SaPers4 DEC $80 BNE DoblePasadaW4 ;sta HMOVE ;lda Curve,Y ;sta HMP1 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW4 jmp Retorno3 IslaBack LDX #18 ;10 ; 192 Scanlines to Display LDY #0 Draw_PictureW22 LDA #4;Vueltas;#4 STA $80 LDA #0;MuelleC,Y STA COLUBK LDA #2;MuelleC2,Y STA COLUPF STA WSYNC LDA #0;Arcos12,Y STA PF0 LDA Muelle,Y ;Arcos22,Y STA PF1 LDA Muelle2,Y;#0;Arcos22,Y STA PF2 ;lda (Puntaje),Y ;sta GRP0 INY DEX BNE Draw_PictureW22 JMP Retorno2 ; .ALIGN 256 CruzDeCoronado .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000100 .byte #%00001100 .byte #%00010100 .byte #%00010100 .byte #%00100100 .byte #%11111111 .byte #%00000000 .byte #%01100100 .byte #%00000000 Huesos .byte #%00000000 .byte #%00000000 .byte #%00010000 .byte #%00010000 .byte #%00011000 .byte #%00010000 .byte #%00111000 .byte #%00010000 .byte #%01111100 .byte #%00010000 .byte #%01111110 .byte #%00010000 .byte #%11111111 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00000000 .byte #%00000000 Grial .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%01111110 .byte #%01111110 .byte #%00111100 .byte #%00111100 .byte #%00011000 .byte #%00011000 .byte #%00111100 .byte #%00011000 .byte #%00111100 .byte #%01111110 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 LetraI .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 LetraI2 KuruWatu .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 LetraV ActAnnaHathaway Eiffel LetraH ActTinaFey Shuriken Letra0 ; .byte #Gris;%00000000 ; .byte #Gris;%00000000 ; .byte #Gris;%00000000 ; .byte #Gris;%00000000 .byte #Gris;%00000000 .byte #Gris;%00000000 .byte #Gris;%00000000 .byte #Rojo;%00000000 .byte #Rojo;%00000000 .byte #Marron;255;%00000000 .byte #Marron;255;%00000000 .byte #Naranja;%00000000 .byte #Marron;255;%00000000 .byte #Marron;255;%00000000 .byte #Marron;%00000000 .byte #Gris;%00000000 .byte #Gris;%00000000 .byte #Gris;%00000000 ;sacar las 4 lineas estas si se descomenta las 4 lineas de arriba .byte #%00000000 .byte #%00000000 .byte #Celeste;%00000000 ; LDX #8 ; 192 Scanlines to Display ; LDA #Verde ; SBC #10 ; STA $A0 ;Draw_PictureW_Verde ; LDA #4 ; STA $80 ; LDA $90 ; ADC #1 ; STA $90 ; ;INC $90 ; INC $A0 ;DoblePasadaW_Verde ; ;STX COLUPF ; LDA $A0 ; STA COLUPF ; LDA $90 ; STA COLUBK ; STA WSYNC ; LDA Arcos12,Y ; NOP ;Si este nop lo pongo dos lineas mas arriba no funciona el juego paso de habitacion y se queda esperando, el puntanim de 6 vuelve a 2 y el roomp2 se pone en cero ??????? ; STA PF0 ; LDA Arcos22,Y ; STA PF1 ; LDA Arcos32,Y ; STA PF2 ; DEC $80 ; BNE DoblePasadaW_Verde ; INY ; DEX ; BNE Draw_PictureW_Verde ; ; JMP Retorno3 Musica LDA DuracionNota BEQ ResetNota DEC DuracionNota JMP RetornarA4 ResetNota LDA #20 STA DuracionNota LDA $A1 ;CMP #0 BEQ RetornarA4 LDY $A1 LDA ($A3),Y BEQ Volumen STA AUDF0 DEC $A1 DEC DuracionNota RetornarA4 JMP Retorno4 Volumen ;LDA #0 ;STA AUDV0 LDA #34;150 STA $A1 LDY $A1 LDA ($A3),Y STA AUDF0 DEC $A1 JMP Retorno4 Melodia .byte #0 .byte #0 .byte E_2 .byte D_2 .byte E_2 .byte F_2 .byte D_2 .byte C_2 .byte D_2;B_2 .byte C_2 .byte E_2 .byte D_2 .byte E_2 .byte F_2 .byte G_2 .byte A_2 .byte G_2 .byte F_2 .byte E_2 .byte D_2 .byte C_2 .byte E_2 .byte G_2 .byte C_3 .byte B_2 .byte C_3 .byte G_2 .byte G_2 .byte A_2 .byte F_2 .byte F_2 .byte G_2 .byte E_2 .byte D_2 .byte C_2 LineaMarqueeEx LDY #0 LDX #4 Pri LDA #8 STA $80 DoblePas STA WSYNC LDA $D9,Y STA PF0 LDA $DE,Y STA PF1 LDA $E4,Y STA PF2 SLEEP 6 LDA $E9,Y STA PF0 LDA $EE,Y STA PF1 LDA $F4,Y STA PF2 DEC $80 BNE DoblePas INY DEX BEQ Sale JMP Pri Sale JMP Retorno Marquesina ; DEC $F9 ; BMI Marq ; JMP RetornoMarq Marq ; LDA #5 ; STA $F9 ; ; ROL $D4 ; ROL $CE ; ROL $C9 ; ROL $C4 ; ROL $BF ; ; ROR $F4 ; ROL $EE ; ROR $E9 ; LDA $E9 ; AND #8 ; BEQ NoCarry ; CLC ; ROR $E4 ; ROL $DE ; ROR $D9 ; LDA $E4 ; ORA #128 ; STA $E4 ; JMP Dos NoCarry ; CLC ; ROR $E4 ; ROL $DE ; ROR $D9 ; ;JMP RetornoMarq Dos ; CLC ; ROL $D5 ; ROL $CF ; ROL $CA ; ROL $C5 ; ROL $C0 ; ; ROR $F5 ; ROL $EF ; ROR $EA ; LDA $EA ; AND #8 ; BEQ NoCarry2 ; CLC ; ROR $E5 ; ROL $DF ; ROR $DA ; LDA $E5 ; ORA #128 ; STA $E5 ; JMP Tres NoCarry2 ; CLC ; ROR $E5 ; ROL $DF ; ROR $DA ; ;JMP RetornoMarq Tres ; CLC ; ROL $D6 ; ROL $D0 ; ROL $CB ; ROL $C6 ; ROL $C1 ; ; ROR $F6 ; ROL $F0 ; ROR $EB ; LDA $EB ; AND #8 ; BEQ NoCarry3 ; CLC ; ROR $E6 ; ROL $E0 ; ROR $DB ; LDA $E6 ; ORA #128 ; STA $E6 ; JMP Cuatro NoCarry3 ; CLC ; ROR $E6 ; ROL $E0 ; ROR $DB ; ;JMP RetornoMarq Cuatro ; CLC ; ROL $D7 ; ROL $D1 ; ROL $CC ; ROL $C7 ; ROL $C2 ; ; ROR $F7 ; ROL $F1 ; ROR $EC ; LDA $EC ; AND #8 ; BEQ NoCarry4 ; CLC ; ROR $E7 ; ROL $E1 ; ROR $DC ; LDA $E7 ; ORA #128 ; STA $E7 ; ; JMP RetornoMarq NoCarry4 ; CLC ; ROR $E7 ; ROL $E1 ; ROR $DC ; JMP RetornoMarq ; .ALIGN 256 vacia ZodCancer ChichenItza Kefren barra ZodGemini llena Hueco ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .ALIGN 256 Detector ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00011000 Ovni ActNataliePortman Pared TeDeCeilan Obelisc JefeFinal ActAngelinaJolie Ararat Arcos0_c Arcos22_c Seattle London Africa Australia Pascua PeritoMoreno Nazca SpritesArray ; .word Hueco;llena ; .word Pared;ActNataliePortman ; .word ActAnnaHathaway ; .word ActAngelinaJolie ; .word ActTinaFey ; .word ChichenItza;llena ; .word Kefren;llena ; .word David;llena ; .word Obelisc;llena ; .word Seattle;Hueco;llena ; .word London;llena ; .word Africa;llena ; .word Australia;llena ; .word Pascua;llena ; .word PeritoMoreno;llena ; .word Nazca;llena dividi ldy RoomP1 sec sbc SaltAnim tay lda Division, Y cmp CaeCabz beq Enlinea lda #0 sta SaltAnim rts Enlinea lda #1 sta SaltAnim rts ; .ALIGN 256 Curve ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 ; .byte #$F0 ; .byte #$E0 .ALIGN 256 ColP .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Gris .byte #Gris .byte #Gris .byte #Gris .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Gris .byte #Gris .byte #Gris .byte #Gris .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Gris .byte #Gris .byte #Gris .byte #Gris .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Gris .byte #Gris .byte #Gris .byte #Gris .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Amarillo .byte #Gris .byte #Gris .byte #Gris .byte #Gris ; .byte #Amarillo ; .byte #Amarillo ; .byte #Amarillo ; .byte #Amarillo CurveDer ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$70 ; .byte #$F0 Curve2 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 ; .byte #$F0 ; .byte #$B0 CurveDer2 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$00 ; .byte #$F0 Bezi .byte #$50 .byte #$50 Bezi01 .byte #$50 .byte #$40 .byte #$40 Bezi02 .byte #$40 .byte #$30 .byte #$30 Bezi03 .byte #$30 .byte #$20 .byte #$20 .byte #$20 .byte #$20 .byte #$10 .byte #$10 .byte #$10 .byte #$10 .byte #$10 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 Bezi2 .byte #$B0 .byte #$B0 Bezi21 .byte #$B0 .byte #$C0 .byte #$C0 Bezi22 .byte #$C0 .byte #$D0 .byte #$D0 Bezi23 .byte #$D0 .byte #$E0 .byte #$E0 .byte #$E0 .byte #$E0 .byte #$F0 .byte #$F0 .byte #$F0 .byte #$F0 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 .byte #$00 Draw_PictureW2.1 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW2.1 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit adc Bezi01,Y sta HMP1;HMM1;HMP1 ;iny sta WSYNC sta HMOVE R2.1 sta WSYNC dec PunteroRoomBKP bne R2.1 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit2 adc Bezi01,Y sta HMP1 ;iny sta WSYNC sta HMOVE R2.12 sta WSYNC dec PunteroRoomBKP bne R2.12 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit3 adc Bezi01,Y sta HMP1 ;iny sta WSYNC sta HMOVE R2.13 sta WSYNC dec PunteroRoomBKP bne R2.13 iny lda Curvit4 adc Bezi01,Y sta HMP1 DEC $80 BNE DoblePasadaW2.1 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW2.1 jmp Retorno3 Draw_PictureW2.2 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW2.2 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit adc Bezi02,Y sta HMP1;HMM1;HMP1 ;iny sta WSYNC sta HMOVE R2.2 sta WSYNC dec PunteroRoomBKP bne R2.2 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit2 adc Bezi02,Y sta HMP1 ;iny ;creo que faltaba esto: sta WSYNC sta HMOVE R2.22 sta WSYNC dec PunteroRoomBKP bne R2.22 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit3 adc Bezi02,Y sta HMP1 ;iny sta WSYNC sta HMOVE R2.23 sta WSYNC dec PunteroRoomBKP bne R2.23 iny lda Curvit4 adc Bezi02,Y sta HMP1 DEC $80 BNE DoblePasadaW2.2 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW2.2 jmp Retorno3 Draw_PictureW2.21 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW2.21 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit5 adc Bezi01,Y sta HMP1;HMM1;HMP1 ;iny sta WSYNC sta HMOVE R2.21 sta WSYNC dec PunteroRoomBKP bne R2.21 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit6 adc Bezi01,Y sta HMP1 ;iny sta WSYNC sta HMOVE R2.212 sta WSYNC dec PunteroRoomBKP bne R2.212 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit7 adc Bezi01,Y sta HMP1 ;iny sta WSYNC sta HMOVE R2.213 sta WSYNC dec PunteroRoomBKP bne R2.213 iny lda Curvit8 adc Bezi01,Y sta HMP1 DEC $80 BNE DoblePasadaW2.21 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW2.21 jmp Retorno3 Draw_PictureW2.3 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW2.3 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit5 adc Bezi02,Y sta HMP1;HMM1;HMP1 ;iny sta WSYNC sta HMOVE R2.3 sta WSYNC dec PunteroRoomBKP bne R2.3 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit6 adc Bezi02,Y sta HMP1 ;iny sta WSYNC sta HMOVE R2.31 sta WSYNC dec PunteroRoomBKP bne R2.31 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit7 adc Bezi02,Y sta HMP1 ;iny sta WSYNC sta HMOVE R2.32 sta WSYNC dec PunteroRoomBKP bne R2.32 iny lda Curvit8 adc Bezi02,Y sta HMP1 DEC $80 BNE DoblePasadaW2.3 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW2.3 jmp Retorno3 Draw_PictureWRect lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaWRect lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit5 sta HMP1;HMM1;HMP1 sta WSYNC sta HMOVE R1 ;iny sta WSYNC ;sta HMOVE dec PunteroRoomBKP bne R1 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit6 sta HMP1 sta WSYNC sta HMOVE R2 ; iny sta WSYNC ;sta HMOVE dec PunteroRoomBKP bne R2 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit7 sta HMP1 sta WSYNC sta HMOVE R3 ; iny sta WSYNC ;sta HMOVE dec PunteroRoomBKP bne R3 iny lda Curvit8 sta HMP1 DEC $80 BNE DoblePasadaWRect lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureWRect jmp Retorno3 Draw_PictureWRec lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaWRec lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit sta HMP1;HMM1;HMP1 sta WSYNC sta HMOVE R4 ; iny sta WSYNC ;sta HMOVE dec PunteroRoomBKP bne R4 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit2 sta HMP1 ; iny sta WSYNC sta HMOVE R5 sta WSYNC ;sta HMOVE dec PunteroRoomBKP bne R5 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit3 sta HMP1 sta WSYNC sta HMOVE R6 ; iny sta WSYNC ;sta HMOVE dec PunteroRoomBKP bne R6 iny lda Curvit4 sta HMP1 DEC $80 BNE DoblePasadaWRec lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureWRec jmp Retorno3 Draw_PictureW3.1 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW3.1 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit adc Bezi21,Y sta HMP1;HMM1;HMP1 ;iny sta WSYNC sta HMOVE R3.1 sta WSYNC dec PunteroRoomBKP bne R3.1 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit2 adc Bezi21,Y sta HMP1 ;iny sta WSYNC sta HMOVE R3.2 sta WSYNC dec PunteroRoomBKP bne R3.2 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit3 adc Bezi21,Y sta HMP1 ;iny sta WSYNC sta HMOVE R3.3 sta WSYNC dec PunteroRoomBKP bne R3.3 iny lda Curvit4 adc Bezi21,Y sta HMP1 DEC $80 BNE DoblePasadaW3.1 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW3.1 jmp Retorno3 Draw_PictureW3.2 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW3.2 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit adc Bezi22,Y sta HMP1;HMM1;HMP1 ;iny sta WSYNC sta HMOVE R3.22 sta WSYNC dec PunteroRoomBKP bne R3.22 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit2 adc Bezi22,Y sta HMP1 ;iny sta WSYNC sta HMOVE R3.222 sta WSYNC dec PunteroRoomBKP bne R3.222 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit3 adc Bezi22,Y sta HMP1 ;iny sta WSYNC sta HMOVE R3.2222 sta WSYNC dec PunteroRoomBKP bne R3.2222 iny lda Curvit4 adc Bezi22,Y sta HMP1 DEC $80 BNE DoblePasadaW3.2 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW3.2 jmp Retorno3 Draw_PictureW3.21 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW3.21 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit5 adc Bezi21,Y sta HMP1;HMM1;HMP1 ;iny sta WSYNC sta HMOVE R3.33 sta WSYNC dec PunteroRoomBKP bne R3.33 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit6 adc Bezi21,Y sta HMP1 ;iny sta WSYNC sta HMOVE R3.333 sta WSYNC dec PunteroRoomBKP bne R3.333 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit7 adc Bezi21,Y sta HMP1 ;iny sta WSYNC sta HMOVE R3.3333 sta WSYNC dec PunteroRoomBKP bne R3.3333 iny lda Curvit8 adc Bezi21,Y sta HMP1 DEC $80 BNE DoblePasadaW3.21 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW3.21 jmp Retorno3 Draw_PictureW3.3 lda #0 sta CXCLR LDA #1;4;Vueltas;#4 STA $80 DoblePasadaW3.3 lda #2 STA COLUBK;PF STA WSYNC lda #0 ;LDA (Backg),Y ;Arcos22,Y STA PF1 STA PF2 sta HMOVE lda #255 ; STA GRP1 lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit5 adc Bezi22,Y sta HMP1;HMM1;HMP1 ; iny sta WSYNC sta HMOVE R3.44 sta WSYNC dec PunteroRoomBKP bne R3.44 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit6 adc Bezi22,Y sta HMP1 ; iny sta WSYNC sta HMOVE R3.444 sta WSYNC dec PunteroRoomBKP bne R3.444 iny lda (Backg),Y;Loma,Y sta PunteroRoomBKP lda Curvit7 adc Bezi22,Y sta HMP1 ; iny sta WSYNC sta HMOVE R3.4444 sta WSYNC dec PunteroRoomBKP bne R3.4444 iny lda Curvit8 adc Bezi22,Y sta HMP1 DEC $80 BNE DoblePasadaW3.3 lda (Backg2),Y;ColP,Y sta COLUP1 INY DEX BNE Draw_PictureW3.3 jmp Retorno3 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #2 .byte #3 .byte #4 .byte #5 .byte #6 .byte #7 .byte #7 .byte #6 .byte #5 Loma .byte #4 .byte #3 .byte #2 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 Curav .byte #28 .byte #28 .byte #28 .byte #28 .byte #28 .byte #28 .byte #28 .byte #28 .byte #29 .byte #29 .byte #29 .byte #29 .byte #29 .byte #29 .byte #29 .byte #29 .byte #30 .byte #30 .byte #30 .byte #30 .byte #30 .byte #30 .byte #30 .byte #30 .byte #26 .byte #26 .byte #26 .byte #26 .byte #26 .byte #27 .byte #27 .byte #27 .byte #27 .byte #27 .byte #28 .byte #28 .byte #28 .byte #28 .byte #29 .byte #29 .byte #29 .byte #29;1 .byte #30;1 .byte #30;1 .byte #30;1 .byte #30;1;2 .byte #30;1;2 .byte #30;1;2 .byte #30;1;2 .byte #30;1 .byte #30;1 .byte #30;1 .byte #29;1 .byte #29 .byte #28 .byte #28 .byte #28 .byte #27 .byte #27 .byte #27 .byte #27 .byte #26 .byte #26 .byte #26 cien .byte #26 Curav2 ; .byte #3 .byte #3 .byte #3 .byte #3 .byte #3 .byte #3 .byte #3 .byte #3 .byte #2 .byte #2 .byte #2 .byte #2 .byte #2 .byte #2 .byte #2 .byte #2 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #1 .byte #5 .byte #5 .byte #5 .byte #5 .byte #5 .byte #4 .byte #4 .byte #4 .byte #4 .byte #4 .byte #3 .byte #3 .byte #3 .byte #3 .byte #2 .byte #2 .byte #2 .byte #2;0 .byte #1;0 .byte #1;0 .byte #1;0 .byte #1;0;255 .byte #1;0;255 .byte #1;0;255 .byte #1;0;255 .byte #1;0 .byte #1;0 .byte #1;0 .byte #2;0 .byte #2 .byte #3 .byte #3 .byte #3 .byte #4 .byte #4 .byte #4 .byte #4 .byte #5 .byte #5 .byte #5 .byte #5 Moto .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00011000 .byte #%00011000 .byte #%00111100 .byte #%01011010 .byte #%10011001 .byte #%11111111 .byte #%00011000 .byte #%00111100 .byte #%01011010 .byte #%01011010 .byte #%00111100 .byte #%00011000 .byte #%00000000 ;////////////// Set Vectors /////////////////////////////////////////// ORG $FFFA ; Interrupt Vectors .word Reset ; NMI .word Reset ; RESET .word Reset ; IRQ ;END END