Re: Z88DK (curso Radastan) - Dudas Varias
Publicado: Vie, 19 Ago 2016, 11:58
Hola a todos de nuevo, me gustaria pasar el juego a 128k, pero no se que tengo que hacer. En la churrera se pasaban imagenes a bin y en el archivo make.bat se ponian lo que ocupa cada archivo para poder compilarlo. mi estructura de archivos es la siguiente:
--juego.c
--make.bat
--loader.bas
--motor.h
--objetos.h (características de los items )
--cancionIntro.bin (cancion que se ejecuta al cargar el juego con la imagen de carga)
--loading.bin (imagen que aparece al cargar)
--sonidosFX.bin (sonidos fx generados con Soundfx.tap de DxTronics)
--sonidosFx.h (reproduce los sonidos del archivo sonidosFX.bin)
- mapa.h (coloca los sprites en pantalla por ejemplo: )
unsigned char mapa1[] = {
2,6,6,7,7,7,7,7,7,7,7,7,7,6,6,3,
8,12,13,14,15,1,1,1,1,1,1,31,30,29,28,9,
8,16,17,18,19,1,1,1,1,1,1,35,34,33,32,9,
8,20,21,22,23,1,1,1,1,1,1,39,38,37,36,9,
8,24,25,26,27,1,1,1,1,1,1,43,42,41,40,9,
4,10,10,11,11,11,11,11,11,11,11,11,11,10,10,5,
};
--sprites.h (todos los sprites del juego colocados asi)
._sprite_negro
defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
defb 0,0,0,0
----------------------------------------
1) yo tengo #pragma output STACKPTR=65000
y lo he puesto a #pragma output STACKPTR=24500
2) he añadido un archivo mas 128k.h que contiene:
void SetRAMBank( char banco )
{
#asm
.SetRAMBank
ld hl, 2
add hl, sp
ld a, (hl)
ld b, a
ld A, ($5B5C)
and $f8
or B
ld BC, $7FFD
ld ($5B5C), A
out (C), A
#endasm
}
3) supongo que el make.bat tendre que compilar de forma diferente....en la churrera tenia algo como esto...pero viendo mis archivos no se como hacerlo
echo ### CONSTRUYENDO CINTA ###
..\utils\bas2tap -a10 -sLOADER loader.bas loader.tap
..\utils\bin2tap -o reubica.tap -a 25000 reubica.bin
..\utils\bin2tap -o ram1.tap -a 32768 ram1.bin
..\utils\bin2tap -o ram3.tap -a 32768 ram3.bin
..\utils\bin2tap -o screen.tap -a 16384 loading.bin
..\utils\bin2tap -o main.tap -a 24200 rabbitinwonderland.bin
-------------------------------------------------------
Y mas pasos que me faltan.... si alguien podría ayudarme lo agradecería!
La verdad que desde que me puse con la churrera hasta ahora con el z88dk estoy aprendiendo mucho! pero totalmente solo no puedo avanzar siempre...ya que no soy programador...quizas sea este mi ultimo juego para spectrum y me gustaria terminarlo
Un saludo y gracias!
--juego.c
--make.bat
--loader.bas
--motor.h
--objetos.h (características de los items )
--cancionIntro.bin (cancion que se ejecuta al cargar el juego con la imagen de carga)
--loading.bin (imagen que aparece al cargar)
--sonidosFX.bin (sonidos fx generados con Soundfx.tap de DxTronics)
--sonidosFx.h (reproduce los sonidos del archivo sonidosFX.bin)
- mapa.h (coloca los sprites en pantalla por ejemplo: )
unsigned char mapa1[] = {
2,6,6,7,7,7,7,7,7,7,7,7,7,6,6,3,
8,12,13,14,15,1,1,1,1,1,1,31,30,29,28,9,
8,16,17,18,19,1,1,1,1,1,1,35,34,33,32,9,
8,20,21,22,23,1,1,1,1,1,1,39,38,37,36,9,
8,24,25,26,27,1,1,1,1,1,1,43,42,41,40,9,
4,10,10,11,11,11,11,11,11,11,11,11,11,10,10,5,
};
--sprites.h (todos los sprites del juego colocados asi)
._sprite_negro
defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
defb 0,0,0,0
----------------------------------------
1) yo tengo #pragma output STACKPTR=65000
y lo he puesto a #pragma output STACKPTR=24500
2) he añadido un archivo mas 128k.h que contiene:
void SetRAMBank( char banco )
{
#asm
.SetRAMBank
ld hl, 2
add hl, sp
ld a, (hl)
ld b, a
ld A, ($5B5C)
and $f8
or B
ld BC, $7FFD
ld ($5B5C), A
out (C), A
#endasm
}
3) supongo que el make.bat tendre que compilar de forma diferente....en la churrera tenia algo como esto...pero viendo mis archivos no se como hacerlo
echo ### CONSTRUYENDO CINTA ###
..\utils\bas2tap -a10 -sLOADER loader.bas loader.tap
..\utils\bin2tap -o reubica.tap -a 25000 reubica.bin
..\utils\bin2tap -o ram1.tap -a 32768 ram1.bin
..\utils\bin2tap -o ram3.tap -a 32768 ram3.bin
..\utils\bin2tap -o screen.tap -a 16384 loading.bin
..\utils\bin2tap -o main.tap -a 24200 rabbitinwonderland.bin
-------------------------------------------------------
Y mas pasos que me faltan.... si alguien podría ayudarme lo agradecería!
La verdad que desde que me puse con la churrera hasta ahora con el z88dk estoy aprendiendo mucho! pero totalmente solo no puedo avanzar siempre...ya que no soy programador...quizas sea este mi ultimo juego para spectrum y me gustaria terminarlo
Un saludo y gracias!