Página 1 de 1

Duda con PASMO. Datos antes de ORG.

Publicado: Mié Ene 27, 2016 10:34 am
por JBGV
Hola a todos !

Tengo una duda con PASMO, a ver si me podéis ayudar. :roll:

¿Hay alguna forma en PASMO para incluir datos en una dirección de memoria determinada?
Quiero poner algunos datos gráficos con DEFB exactamente en la dirección 28000.

Normalmente, si puedo, intento no usar la memoria contenida (cuando me sobra memoria), así que inicio los jueguillos con un “ORG 32768” y finalizo con un “END 32768”. La cuestión es que me gustaría tener ciertos datos en la dirección 28000, pero a ser posible sin modificar el ORG del programa y sin cargar varios bloques de forma separada. (Manías... :oops: )

Muchas gracias ¡!

Re: Duda con PASMO. Datos antes de ORG.

Publicado: Mié Ene 27, 2016 11:29 am
por Kyp
Con el Pasmo no se si será así, pero con el ensamblador del zxspin, si haces:

org 28000
; datos

org 32768
; programa

en el mismo archivo, te genera un solo binario con todo junto y rellena los huecos con nops.

La pega es que al cargar tienes que empezar en 28000 aunque el punto de entrada siga siendo 32768:
load "" code 28000
randomize usr 32768

Re: Duda con PASMO. Datos antes de ORG.

Publicado: Mié Ene 27, 2016 11:45 am
por JBGV
Pues voy a probar eso mismo con PASMO.

Muchas gracias !

Re: Duda con PASMO. Datos antes de ORG.

Publicado: Mié Ene 27, 2016 11:50 am
por Gandulf
Tal cual, pueds utilizar tantos org como estimes oportuno en pasmo, para colocar datos y fragmentos de código donde quieras. De hecho lo normal es tener varios, porque hay ciertas partes de código que quieres tener en memoria no contenida o ubicarla en zonas de memoria específicas

Re: Duda con PASMO. Datos antes de ORG.

Publicado: Mié Ene 27, 2016 10:46 pm
por JBGV
Muchas gracias a ambos, funciona perfectamente. Exactamente lo que quería. :D :D

Re: Duda con PASMO. Datos antes de ORG.

Publicado: Vie Ene 29, 2016 12:49 pm
por climacus
PASMO es una maravilla. Yo todos mis juegos los he programado con él y ningún problema. Y eso que seguro que lo uso en menos de un 20 por ciento de sus posibilidades

Re: Duda con PASMO. Datos antes de ORG.

Publicado: Vie Ene 29, 2016 8:16 pm
por mcleod_ideafix
Sí que lo es, pero le echo en falta dos cosas que me han hecho falta en alguna ocasión, y que han sido la causa de que me pasara a SJAsmPlus en algunas ocasiones:
- Poder definir areas de memoria para el 128K: En SJAsmPlus puedo definir un área de memoria no sólo en la posición que quiera, sino también en el banco que quiera. Esto puedo hacerlo porque lo que genera SJAsmPlus es un fichero SNA, no un TAP
- Estructuras: esto es muy útil cuando quieres implementar, por ejemplo, un gestor de sprites, en donde el sprite que manejas en ese momento lo tienes apuntado por IX y usas cosas como ld a,(ix+Sprite.CoordenadaX). Vale que también se puede hacer con unos cuantos EQU y haciendo ld a,(ix+CoordenadaX) pero la ventaja que tienen los structs es que puedes cambiar, añadir o quitar campos sin necesidad de recalcular los offsets cada vez.

Luego hay cosas que creo que pueden hacerse con macros en PASMO, pero que SJAsmPlus facilita mucho, como el poder alinear bloques de memoria a multiplo de 32, 256, etc