Funcionan de maravilla, pero me gustaría añadirles las pantallas iniciales de los juegos, con su paleta y su mode... pero no lo consigo
Este es el pequeño inicializador el cual es un pequeño fronconstein del código que anda por este foro (thx Artaburu) y por el wiki
Código: Seleccionar todo
ORG #4000
; Llamadas al firmware
;.scr_set_mode_firm equ &bc0e
; Entradas A tiene el valor del modo (0,1,2)
; Se corrompen AF,BC,DE,HL
.scr_set_ink equ &bc32
; Entradas A tiene el número de PEN, B tiene el primer color, C el segundo
; Se corrompen AF,BC,DE,HL
;.inicio
call inicializar_colores
halt
ld A,0
call scr_set_mode_nop ; pantalla en modo 0
;call &013a
ret
.scr_set_mode_nop
ld BC,&7F00 ;Gate array port
ld D,&8C ;Mode and rom selection (and Gate Array function)
add D
out (C),A
halt
call &b9b0 ; refresco
halt
ret
.inicializar_colores ;rutina de SYX
ld A,0
ld hl,tabla_colores
.bucle_inicializar_colores
ld b,(hl)
ld c,b
push af
push hl
call scr_set_ink ; Corrompe los registros AF,BC,DE,HL
pop hl
pop af
inc hl
inc a
cp 16
jr nz,bucle_inicializar_colores
LD B,0
LD C,0
CALL &BC38
ret
tabla_colores
db 0,13,26,12,24,9,18,10
db 20,1,2,11,4,15,3,6
He visto que trasteando con los halts, en alguna ocasión en Winape ha funcionado, pero no siempre me funciona, asi que creo que es más bien un bug del programa cuando compila
Un Saludo y yo se que alguna manera fácil de hacer esto habrá