He incluido la rutina de carga de bitmap en un programa,..me la autoarranca (es decir me muestra la bitmap), pero AHI SE QUEDA!!!, no se porque no sigue el curso el programa. una vez que muestra la bitmap ahi se queda parado y no muestra los sprites y menos continua el programa con toda su retaila,..pense que el fallo estaria en el bucle de loop en el programa original,...si elimino la linea:
BUCLE
JMP BUCLE ; EN EL LISTADO ORIGINAL ERA LOOP: JMP LOOP
el programa se me va al garete, no se que ocurre, adjunto principio del listado donde se ve el ingreso de la rutina en ; CARGAR BITMAP hasta ; COLORES DE PANTALLA,..pero no se porque el programa no sigue su curso, a ver si me podeis decir algo y el fallo tiene que estar en esa rutina porque si la quito aunque la bitmap no se muestre, el programa sigue su curso....
; ************************************
; * TITLE: CALIGULA *
; * CODER/GRAPHICS: INTERNATIONAL *
; * YEAR: 2012 *
; ************************************
*=$0801 ; INICIO BASIC
.WORD NEXT,10 ; PUNTERO SIGUIENTE LINEA Y NUM. LINEA 10
.NULL $9E,^START ; SENTENCIA "SYS START" (START=INICIO C.M.)
NEXT .WORD 0 ; FIN DE PROGRAMA BASIC
.INCLUDE HARDWARE.INC ;DIRECTIVA CON ETIQUETAS
; VARIABLES (DEFINIDAS CON ".BYTE" O ".WORD" SEGUN OCUPEN 1 O 2 BYTES)
FRAMES .BYTE 0 ; CONTADOR DE FRAMES DE VIDEO
; CARGA SPRITES
*=$0EC0 ; INICIO SPRITES
.BINARY SPRITES.BIN ; BANCO DE SPRITES
; START
START SEI ; DESHABILITAR INTERRUPCIONES
; ESTO NO SE QUE HACE TODAVIA
LDA $D018 ; TOVIA NO SE QUE HACEN ESTAS CUATRO LINEAS
AND #$F1 ; VIC-II CHIP MEMORY CONTROL REGISTER LO TENGO QUE MIRAR
ORA #$0A ; DE MOMENTO LO INCLUYO
STA $D018 ; VIC-II CHIP MEMORY CONTROL REGISTER
; BORRAR PANTALLA
LDA #$20 ; VALOR DEL ESPACIO EN BLANCO
LDX #$00 ; DESPLAZAMIENTO
CLS STA $0400,X ; METER ESPACIO EN BLANCO EN FRANJA 1
STA $0500,X ; METER ESPACIO EN BLANCO EN FRANJA 2
STA $0600,X ; METER ESPACIO EN BLANCO EN FRANJA 3
STA $0700,X ; METER ESPACIO EN BLANCO EN FRANJA 4
DEX ; DECREMENTAR DESPLAZAMIENTO
BNE CLS ; REPETIR HASTA QUE NO LLEGUE A CERO
; CARGAR BITMAP
LDA $4710
STA $D020
STA $D021
LDX #$00
LOADDCCIMAGE
LDA $3F40,X
STA $0400,X
LDA $4040,X
STA $0500,X
LDA $4140,X
STA $0600,X
LDA $4240,X
STA $0700,X
LDA $4328,X
STA $D800,X
LDA $4428,X
STA $D900,X
LDA $4528,X
STA $DA00,X
LDA $4628,X
STA $DB00,X
INX
BNE LOADDCCIMAGE
LDA #$3B
STA $D011
LDA #$18
STA $D016
LDA #$18
STA $D018
BUCLE
JMP BUCLE
*=$1FFE
.BINARY "BITMAP.PRG"
; COLORES DE PANTALLA
LDA #$08 ; COLOR NARANJA
STA $0286 ; A LA POSICION 646 COLOR CURSOR
LDA #$00 ; VALOR DEL COLOR NEGRO
STA $D020 ; ASIGNARLO AL BORDE
LDA #$00 ; VALOR DEL NEGRO
STA $D021 ; Y TAMBIEN AL FONDO
; ASIGNAR PUNTEROS SPRITES
LDA #$3B ; BLOQUE MEMORIA 59 BANCO 0 GRAFICO NAVE DERECHA
STA $07F8 ; ASIGNAR A SPRITE #0 PUNTERO 2040
LDA #$3E ; BLOQUE MEMORIA 62 BANCO 0 GRAFICO NAVE ENEMIGA