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 Volante = $C6 VueltasX = $C7 vola1 = $C8 vola2 = $C9 vola3 = $CA vola4 = $CB vola5 = $CC vola6 = $CD vlta = $CE vlta2 = $CF volaut = $D0 volaut2 = $D1 volaut3 = $D2 trunc1 = $D3 trunc2 = $D4 trunc3 = $D5 Puntaje = $F3 Backg = $FA Backg2 = $FC 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 <#IslaHUD;CeroLin1;LineaMarqueeEx STA $82 LDA >#IslaHUD;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 #3;34;150;146;10 Longitud de la melodia (3, un corto sonido) 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 #18 STA VueltasX ;STA Vueltas1 ;LDA #3 ;STA Vueltas2 LDA #0 STA Vueltas STA Vueltas1 STA Vueltas2 LDA #0;13;14 STA ContaX LDA <#ruta;CeroP STA Personaje2 LDA >#ruta;CeroP STA Personaje2 + 1 ;LDA Personaje2 ;ADC #5 ;STA Personaje2 LDA #40 ;10;255;50 STA ContAnim LDA #255;18 STA Noparray2 LDA <#Arcos22_c STA Backg LDA >#Arcos22_c STA Backg + 1 LDA <#HUD3;Arcos22_2_c STA Backg2 LDA >#HUD3;Arcos22_2_c STA Backg2 + 1 LDA #0 STA HMP0 LDA <#ColorP STA Vueltas1 LDA >#ColorP STA Vueltas2 LDA #0 STA ColPir2 LDA #10 STA ColPir ;Velocidad auto ;Pos Y de la pelota ;LDA #6 ;STA NUSIZ0 ;STA NUSIZ1 LDA #134 STA vlta LDA #Verde ;color del piso STA $90 ;/////////////////// Picture Starts Here ///////////////////////////// Start_Frame lda #21 ;25 sta T1024T LDA Vueltas BEQ VCero LDA #0 STA Vueltas STA HMP0 STA HMP1 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 JMP CeroPers 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 #1 STA CTRLPF JMP ($88) Retorno3 LDA #0 STA CTRLPF LDA Cero2 STA PF0 STA PF1 STA PF2 LDA #0 STA GRP0 STA GRP1 STA ENAM1;ENABL STA ENAM0 LDA $BD BEQ Retorno4 JMP Musica Retorno4 ;LDX #184 LDX #10; 90;50;30;50;90;112 DibujaCola STA WSYNC DEX BNE DibujaCola STA HMOVE LDA SWCHA AND #%00000001 BEQ DecisionNearB LDA SWCHA AND #%00000100 BEQ Decision2NearB LDA SWCHA AND #%00000010 BEQ Decision3NearB LDA SWCHA AND #%00001000 BEQ Decision4NearB ;RetDecB LDA SWCHA AND #%00010000 BEQ DecisionNear LDA SWCHA AND #%01000000 BEQ Decision2Near LDA SWCHA AND #%00100000 BEQ Decision3Near LDA SWCHA AND #%10000000 BEQ Decision4Near RetDecB ;BEQ TogImg LDA INPT4 BMI RetDeci JMP Boton;Decision DecisionNear JMP RetDeci Decision2Near JMP Decision4B Decision3Near JMP RetDeci Decision4Near JMP Decision2B DecisionNearB JMP DecisionB Decision2NearB JMP Decision2B Decision3NearB JMP Decision3B Decision4NearB JMP Decision4B ;TogImg ; LDA $90 ; CMP #1 ; BEQ Uno ; LDA #1 ; STA $90 ; JMP RetDeci ;Uno ; LDA #0 ; STA $90 RetDeci LDA #0 STA CXCLR LDA ColPir CMP #255 BEQ VolcentrS LDA Volante CLC ADC #16 CMP #16 BMI Vollado2 CMP #32 BMI Vollado CMP #48 BMI Volcentr CMP #64 BMI Vollado CMP #80 BMI Vollado2 JMP VolcentrS Volcentr LDA #3 STA ColPir JMP VolcentrS Vollado LDA #5 STA ColPir JMP VolcentrS Vollado2 LDA #10 STA ColPir JMP VolcentrS VolcentrS LDA ColPir2 BEQ NoChoco INC Backg NoChoco LDA Volante CMP #(255 - 31) BEQ Volizq CMP #80 BEQ Volder JMP VolidS Volizq LDA #(255 - 15) STA Volante JMP VolidS Volder LDA #64 STA Volante VolidS LDA #18 STA trunc1 STA trunc2 STA trunc3 LDA Volante CMP #32;48 BMI treis JMP treintidos treis CMP #255 BMI menostu LDA volaut3 CMP #48 BEQ menosce JMP TruS treintidos LDA #10 STA trunc2 JMP TruS menostu LDA #10 STA trunc3 LDA vola3 CMP #32 ;es curva? BEQ trei2 JMP TruS trei2 LDA vola6 CMP #$40 ;es distinto de loma? BEQ TruS LDA Volante CMP #(255 - 16) ;esta entre 255 -16 y 255? BMI TruS LDA #15 ; si es asi no truncar tanto a la derecha STA trunc3 JMP TruS menosce LDA #13 STA trunc3 LDA Volante CMP #32 BMI c101418;TruS LDA #18 STA trunc3 LDA #15;13 STA trunc2 JMP TruS c101418 CMP #$10 BEQ c10 CMP #$14 BEQ c10 CMP #$18 BEQ c10 JMP TruS c10 LDA #15 STA trunc3 TruS LDA Backg2 ;Si el tanque esta vacio no baja nada CMP ##Tex5 STA Personaje1 + 1 LDA #5 STA ContAnim STA WSYNC STA WSYNC DEC Backg DEC Backg2 INC PuntAnim INC PuntAnim JMP RetornoAnim Anim12 DEC ContAnim BEQ SumarAnim12 JMP RetornoAnim SumarAnim12 LDA <#Tex6 STA Personaje1 LDA >#Tex6 STA Personaje1 + 1 LDA #5 STA ContAnim STA WSYNC STA WSYNC DEC Backg DEC Backg2 INC PuntAnim INC PuntAnim JMP RetornoAnim Anim13 DEC ContAnim BEQ SumarAnim13 JMP RetornoAnim SumarAnim13 LDA <#Tex7 STA Personaje1 LDA >#Tex7 STA Personaje1 + 1 LDA #5 STA ContAnim STA WSYNC STA WSYNC DEC Backg DEC Backg2 INC PuntAnim INC PuntAnim JMP RetornoAnim Anim14 DEC ContAnim BEQ SumarAnim14 JMP RetornoAnim SumarAnim14 LDA <#Tex8 STA Personaje1 LDA >#Tex8 STA Personaje1 + 1 LDA #5 STA ContAnim STA WSYNC STA WSYNC DEC Backg DEC Backg2 INC PuntAnim INC PuntAnim JMP RetornoAnim Anim15 DEC ContAnim BEQ SumarAnim15 JMP RetornoAnim SumarAnim15 LDA #4 STA PuntAnim LDA #1 STA ContAnim STA WSYNC STA WSYNC DEC Backg DEC Backg2 JMP RetornoAnim Isla ;DibujaHabitacion4 ;Carpa LDX #18 ;10 ; 192 Scanlines to Display LDY #0 LDA $BE BEQ Isla2 ;LDA #0 ;STA $90 LDA #Naranja STA $A0 JMP Draw_PictureW2 Isla2 ;LDA #Verde;0;Verde;#Celeste ;SBC #13 ;LDA #219 ;STA $90 LDA #255;Naranja;Celeste;#Verde ;SBC #11 ;LDA #215 ;LDA #0 STA $A0 Draw_PictureW2 LDA #2 ;VueltasX ;2; 4;Vueltas;#4 STA $80 ;LDA $90 ;ADC #1 ;STA $90 ;;INC $90 ;;INC $A0 DoblePasadaW2 ;STX COLUPF LDA $90;#Verde-4;$A0 ;sec ;sbc #4 STA COLUPF LDA $90 STA COLUBK ;STA WSYNC cpy #2 bmi horizon cpy #4 bmi horizon2 lda #0 sta PF2 sta PF1 jmp horizons horizon lda $90 sec sbc #4 sta COLUPF lda #$FF sta PF2 lda MuelleC,Y sta COLUBK jmp horizons horizon2 lda $90 sec sbc #2 sta COLUPF lda #$FF sta PF1 lda MuelleC,Y sta COLUBK horizons STA WSYNC STA HMOVE ;LDA #0;Arcos12,Y ;STA PF0 ;LDA (Backg),Y ;Arcos22,Y ;STA PF1 ;LDA (Backg2),Y;#0;Arcos22,Y ;STA PF2 ;JMP ($A6) ;Nops NoOper ; LDA TogPersonaje ; BEQ CePers ; JMP HaPers CePers ; LDA (Vueltas1),Y ; STA COLUP1 ; LDA (Personaje),Y ; STA GRP1 ; JMP SaPers HaPers ;LDA (Vueltas1),Y ;STA COLUP0 ;LDA (Personaje),Y ;STA GRP0 CPY #1;ColPir ;#10 BMI HPersNear JMP HPersS HPersNear JMP HPers HPersS LDA (Backg),Y ;#255;0 STA GRP1 ;EOR #$FF CPY trunc2 ; truncar si el guardarai se pasa de pantalla BMI Rai JMP Rais1 Rai LDA #255 STA ENAM1;ENABL JMP Rais Rais1 LDA #0 STA ENAM1;ENABL Rais CPY trunc3 BMI Rai2 JMP Rais2 Rai2 LDA #255 STA ENAM0 JMP Raiss2 Rais2 LDA #0 STA ENAM0 Raiss2 CPY #5 BMI cinco CPY #10 BMI diez CPY #20 BMI veinte JMP SaPers cinco LDA Volante ;ADC #16 CLC ADC (Personaje2),Y; ruta,Y ;vola1 STA HMM1;HMBL SEC SBC auto,Y ;volaut ;#16 STA HMP1 SEC SBC ruta2,Y ;vola4 ;#32 STA HMM0 JMP SaPers diez LDA Volante CLC ADC (Personaje2),Y;ruta,Y ;vola2 ;#16; 32 STA HMM1;HMBL SEC SBC auto,Y ;volaut2 ;#16 STA HMP1 SEC SBC ruta2,Y ;vola5 ;#64 STA HMM0 JMP SaPers veinte LDA Volante CLC ADC (Personaje2),Y;ruta,Y ;vola3 ;#32 STA HMM1;HMBL SEC SBC auto,Y ;volaut3 ;#16 STA HMP1 SEC SBC ruta2,Y ;vola6 ;#96 STA HMM0 LDA Tex4,Y STA GRP0 LDA CXPPMM AND #128 BEQ SaPers ; No choco con un auto LDA #255 STA ColPir2 STA ColPir JMP SaPers HPers LDA Volante ;#$30 STA HMM1;HMBL STA HMP1 ;EOR #$FF ;LDA #$F0 SEC SBC #32 STA HMM0 NOP NOP NOP NOP NOP ; NOP ; NOP NOP NOP STA RESM1;RESBL STA RESP0 STA RESP1 STA RESM0 LDA #0;255 STA ENAM1;ENABL STA ENAM0 STA GRP1 STA GRP0 SaPers ;STA RESP0 DEC $80 BNE DoblePasadaW2Near INY DEX BNE Draw_PictureW2Near JMP Retorno3 Draw_PictureW2Near JMP Draw_PictureW2 DoblePasadaW2Near JMP DoblePasadaW2 IslaBack LDX VueltasX ;#18 ;10 ; 192 Scanlines to Display LDY #0 Draw_PictureW22 LDA #4;Vueltas;#4 STA $80 LDA MuelleC,Y STA COLUBK LDA MuelleC2,Y STA COLUPF STA WSYNC LDA #0;Arcos12,Y STA PF0 LDA #0;Muelle,Y ;Arcos22,Y STA PF1 LDA #0;Muelle2,Y;#0;Arcos22,Y STA PF2 CPY #14 BMI montaniaS LDA vlta2 STA PF1 LDA vlta STA PF2 montaniaS INY DEX BNE Draw_PictureW22 JMP Retorno2 PuertaCerrada .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 .byte #%00010000 ; 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 #10 STA AUDV0 LDA DuracionNota BEQ ResetNota DEC DuracionNota JMP RetornarA4 ResetNota LDA #1;2;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 #3;34;150 STA $A1 LDY $A1 LDA ($A3),Y STA AUDF0 DEC $A1 LDA #0 STA $BD ;Musica en cero STA AUDV0 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 Text1 .byte #%00000000 .byte #%00110000 .byte #%00110000 .byte #%00110000 .byte #%00001000 .byte #%00001000 .byte #%00001000 .byte #%00010100 .byte #%00001100 .byte #%00010100 .byte #%00010100 .byte #%00000010 .byte #%00001001 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Text2 .byte #%00000000 .byte #%01100000 .byte #%01100000 .byte #%01100000 .byte #%00110000 .byte #%00001000 .byte #%01110000 .byte #%00001000 .byte #%00111000 .byte #%01101100 .byte #%01100110 .byte #%00100011 .byte #%00100001 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Text3 .byte #%00000000 .byte #%01100000 .byte #%01100000 .byte #%01100000 .byte #%00110000 .byte #%00010000 .byte #%00010000 .byte #%00100000 .byte #%00111000 .byte #%00101000 .byte #%00101111 .byte #%00100001 .byte #%00100000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Text4 .byte #%00000000 .byte #%01000000 .byte #%01100000 .byte #%01100000 .byte #%00100000 .byte #%00100000 .byte #%11010000 .byte #%00110000 .byte #%00110000 .byte #%01110000 .byte #%00111000 .byte #%00010100 .byte #%00001000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Text5 .byte #%00000000 .byte #%01000000 .byte #%01100000 .byte #%01100000 .byte #%00100000 .byte #%00010000 .byte #%11101000 .byte #%00101000 .byte #%00010000 .byte #%00110000 .byte #%01101000 .byte #%01100100 .byte #%00100010 .byte #%00100010 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Text6 .byte #%00000000 .byte #%01100000 .byte #%01100000 .byte #%01100000 .byte #%00010000 .byte #%01001000 .byte #%01010000 .byte #%00001000 .byte #%00011000 .byte #%00101000 .byte #%00101111 .byte #%00010001 .byte #%00010000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Text7 .byte #%00000000 .byte #%00000000 .byte #%01100000 .byte #%01100000 .byte #%00100000 .byte #%00010000 .byte #%01110000 .byte #%01010000 .byte #%00010000 .byte #%00110000 .byte #%00111110 .byte #%00010010 .byte #%00011000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Tex1 .byte #%00000000 .byte #%00000000 .byte #%00110000 .byte #%00110000 .byte #%00001100 .byte #%00011111 .byte #%00011101 .byte #%01100100 .byte #%00011000 .byte #%00011110 .byte #%00001010 .byte #%00000100 .byte #%00000110 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Tex2 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00110000 ; .byte #%00110110 ; .byte #%10001001 ; .byte #%01111000 ; .byte #%00011000 ; .byte #%00111100 ; .byte #%01111100 ; .byte #%01101100 ; .byte #%00100100 ; .byte #%00100111 ; .byte #%00000001 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 Tex3 ; .byte #%00110000 ; .byte #%00110000 ; .byte #%10000000 ; .byte #%01110000 ; .byte #%00011000 ; .byte #%00011100 ; .byte #%01110000 ; .byte #%01001100 ; .byte #%00101100 ; .byte #%01100100 ; .byte #%00000010 ; .byte #%00000011 ; .byte #%00000001 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 Tex4 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%10100000 ; .byte #%01110000 ; .byte #%00110000 ; .byte #%00011000 ; .byte #%00011000 ; .byte #%00111000 ; .byte #%01011000 ; .byte #%10001100 ; .byte #%10000110 ; .byte #%00000011 ; .byte #%00000001 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 ; .byte #%00000000 AutoCarrera .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00011000 .byte #%01111110 .byte #%10111101 .byte #%01111110 .byte #%01011010 .byte #%00111100 .byte #%00011000 .byte #%00011000 Tex5 .byte #%00000000 .byte #%01111000 .byte #%01111000 .byte #%00101100 .byte #%00001100 .byte #%01111100 .byte #%10001100 .byte #%00000010 .byte #%00000001 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Tex6 .byte #%00000000 .byte #%01111000 .byte #%01101100 .byte #%00001010 .byte #%00011001 .byte #%01111000 .byte #%10011111 .byte #%00001100 .byte #%00000100 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Tex7 .byte #%00000000 .byte #%01111000 .byte #%01101110 .byte #%00001011 .byte #%00001000 .byte #%00011000 .byte #%01110110 .byte #%01111010 .byte #%01011000 .byte #%10000000 .byte #%10000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 Tex8 .byte #%00000000 .byte #%00000000 .byte #%01100000 .byte #%01110000 .byte #%00001100 .byte #%00001010 .byte #%00001101 .byte #%00111000 .byte #%00110000 .byte #%00010000 .byte #%00001000 .byte #%00011000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 IslaHUD LDX #18 ; VueltasX ;#18 ;10 ; 192 Scanlines to Display LDY #0 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP STA RESP1 Draw_PictureW222 LDA #4;Vueltas;#4 STA $80 STA WSYNC LDA HUD,Y STA GRP0 LDA (Backg2),Y;HUD3,Y STA GRP1 INY DEX BNE Draw_PictureW222 LDA #0 STA GRP0 STA GRP1 JMP Retorno HUD .byte #%00111100 .byte #%00100000 .byte #%00110000 .byte #%00100000 .byte #%00100000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00000000 .byte #%00111100 .byte #%00100000 .byte #%00110000 .byte #%00100000 .byte #%00111100 .byte #%00000000 HUD2 .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 HUD3 .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 #%00000000 ALIGN 256 ruta0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #16 .byte #16 + #16 .byte #16 + #16 .byte #16 + #16 + #16 .byte #16 + #16 + #16 .byte #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 .byte #16 + #16 + #16 + #16 .byte #16 + #16 + #16 .byte #16 + #16 + #16 .byte #16 + #16 .byte #16 + #16 .byte #16 .byte #16 ruta .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 .byte #16 .byte #0 auto .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 .byte #32 ruta2 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 .byte #16 ;////////////// Set Vectors /////////////////////////////////////////// ORG $FFFA ; Interrupt Vectors .word Reset ; NMI .word Reset ; RESET .word Reset ; IRQ ;END END