CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Programando el Amstrad en BASIC, C, etc.
djchals
Lechoncillo
Lechoncillo
Mensajes: 18
Registrado: Mié 04 Ene , 2023 12:21 am

Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Mensajepor djchals » Mar 17 Ene , 2023 1:42 am

up este tema! esto del ensamblador para z80 es fascinante, lo bueno que tiene es que no tenemos miedo de que se pase de moda... por que ya lo está :mrgreen:

Que maravilla esto del cpctelera, me uno a la marcha a ver que me sale! :D

djchals
Lechoncillo
Lechoncillo
Mensajes: 18
Registrado: Mié 04 Ene , 2023 12:21 am

Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Mensajepor djchals » Sab 28 Ene , 2023 10:11 pm

Estoy dándole caña al cpctelera, tengo un par de dudas a ver si alguien me podria ayudar.
- Existe la posibilidad de añadir un archivo binario como un asset dentro del binario que vaya a crear con ensamblador, y que vuelque este asset en la dirección de memoria que le diga? (no quisiera hacerlo con .db pq es un binario grandecillo). Querria hacer algo como load"archivo",&4000 pero desde asm, o incluirlo al hacer el make.
- Como se vuelve a basic si creo un binario con cpctelera? en los vídeos del curso, veo que emplean siempre jr .

Avatar de Usuario
MoteroV4
Forero habitual
Forero habitual
Mensajes: 106
Registrado: Jue 02 May , 2019 9:26 pm

Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Mensajepor MoteroV4 » Dom 29 Ene , 2023 12:41 am

Estoy dándole caña al cpctelera, tengo un par de dudas a ver si alguien me podria ayudar.
- Existe la posibilidad de añadir un archivo binario como un asset dentro del binario que vaya a crear con ensamblador, y que vuelque este asset en la dirección de memoria que le diga? (no quisiera hacerlo con .db pq es un binario grandecillo). Querria hacer algo como load"archivo",&4000 pero desde asm, o incluirlo al hacer el make.
- Como se vuelve a basic si creo un binario con cpctelera? en los vídeos del curso, veo que emplean siempre jr .
1- Para importar distintos tipos de ficheros BIN, SCR, ASCII, BAS, etc. en un proyecto ya sea ASM, C o BASIC o mezcla, en un disco DSK, puedes usar la herramienta iDSK que viene en CPCTelera. Aunque mejor te lo cuenta el Profe en su video donde enseña cómo se hace un script "make.sh" personalizado:
https://www.youtube.com/live/5qsZ1lnEPC ... are&t=1979

2- Si cargas y ejecutas un binario desde el BASIC por ej. mediante CALL &8000, que lleve colocado un RET al final, este volverá al BASIC justo tras el CALL. Esta instrucción funciona del mismo modo en BASIC o ASM, guardando en la pila la dirección de memoria que usará el RET para volver, saltando al punto de ejecución.

djchals
Lechoncillo
Lechoncillo
Mensajes: 18
Registrado: Mié 04 Ene , 2023 12:21 am

Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Mensajepor djchals » Dom 29 Ene , 2023 1:29 pm

@MoteroV4: gracias por responder tan rápido :D

1) Ok! le doy un ojo a ver, he visto como mil vídeos de este hombre :mrgreen:
2) Si, bueno el tema es que lo estoy haciendo con cpctelera y quiero sobreescribir un par de líneas a partir de la &0000, y veo que si le meto un ret al final del main.s me devuelve a basic pero me ha sobreescrito lo que yo habia puesto en &0000

Avatar de Usuario
MoteroV4
Forero habitual
Forero habitual
Mensajes: 106
Registrado: Jue 02 May , 2019 9:26 pm

Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Mensajepor MoteroV4 » Dom 29 Ene , 2023 7:22 pm

@MoteroV4: gracias por responder tan rápido :D

1) Ok! le doy un ojo a ver, he visto como mil vídeos de este hombre :mrgreen:
2) Si, bueno el tema es que lo estoy haciendo con cpctelera y quiero sobreescribir un par de líneas a partir de la &0000, y veo que si le meto un ret al final del main.s me devuelve a basic pero me ha sobreescrito lo que yo habia puesto en &0000
Un placer ayudar en lo que pueda :)

Según creo entender en el problema que comentas, en principio no pueden comenzar los programas en &0000 porque ahí están las interrupciones, hasta &0040 donde empieza el área BASIC o Área de primer plano inferior de la ROM.
Si no deshabilitas el Firmware porque necesitas volver al BASIC, el sistema operativo puede sobreescribir esas direcciones en el rango &0000-&0170.

Además las líneas de un programa BASIC comienzan en &0170, como pueden ser las del cargador para tu programa BIN. Ese area se limita con la orden MEMORY, fijando su límite superior y a partir de cuya dirección (HIMEM) se puede colocar el binario de manera segura.

También, cuando se carga un archivo con el BASIC/Firm, se abre un buffer de lectura de 2KB temporal, justo por encima de HIMEM (area HIMEM+2048 bytes), bloques que mueve a la dirección de inicio del BIN. Al finalizar todas las cargas de ficheros, HIMEM vuelve a su valor anterior.

La estructura de la memoria la puedes encontrar en el libro "The Amstrad CPC Firmware Guide (Bob Taylor)", pág. 7.

djchals
Lechoncillo
Lechoncillo
Mensajes: 18
Registrado: Mié 04 Ene , 2023 12:21 am

Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Mensajepor djchals » Lun 30 Ene , 2023 1:44 pm

ok, muchas gracias

madre mia que nivel teneís aquí, te sabes el libro de memoria? :shock:

Avatar de Usuario
MoteroV4
Forero habitual
Forero habitual
Mensajes: 106
Registrado: Jue 02 May , 2019 9:26 pm

Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Mensajepor MoteroV4 » Lun 30 Ene , 2023 2:44 pm

ok, muchas gracias

madre mia que nivel teneís aquí, te sabes el libro de memoria? :shock:
Jajajaja que va, yo solo soy un novato que empezó en esto del Retro en 2019, con un par de jueguecillos publicados. Eso sí, tengo los libros y apuntes muy a mano por el siguiente proyecto :mrgreen:

Avatar de Usuario
XeNoMoRPH
I am The Forum
I am The Forum
Mensajes: 2306
Registrado: Lun 08 Abr , 2013 5:55 pm
Ubicación: Galaxia de Magallanes
Contactar:

Re: CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Mensajepor XeNoMoRPH » Mié 03 May , 2023 7:17 am



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic