Duda con PASMO. Datos antes de ORG.

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Duda con PASMO. Datos antes de ORG.

Mensaje por JBGV » Mié Ene 27, 2016 10:34 am

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 ¡!

Avatar de Usuario
Kyp
Sabreman
Mensajes: 444
Registrado: Lun Dic 16, 2013 6:16 pm

Re: Duda con PASMO. Datos antes de ORG.

Mensaje por Kyp » Mié Ene 27, 2016 11:29 am

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

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: Duda con PASMO. Datos antes de ORG.

Mensaje por JBGV » Mié Ene 27, 2016 11:45 am

Pues voy a probar eso mismo con PASMO.

Muchas gracias !

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Duda con PASMO. Datos antes de ORG.

Mensaje por Gandulf » Mié Ene 27, 2016 11:50 am

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
Un saludo,

Gandulf

Avatar de Usuario
JBGV
Manic Miner
Mensajes: 279
Registrado: Vie Feb 11, 2011 9:16 am

Re: Duda con PASMO. Datos antes de ORG.

Mensaje por JBGV » Mié Ene 27, 2016 10:46 pm

Muchas gracias a ambos, funciona perfectamente. Exactamente lo que quería. :D :D

Avatar de Usuario
climacus
Sabreman
Mensajes: 411
Registrado: Mar Ago 25, 2009 1:46 pm

Re: Duda con PASMO. Datos antes de ORG.

Mensaje por climacus » Vie Ene 29, 2016 12:49 pm

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
Todos mis juegos en formato físico
http://www.matranet.net/boutique/zx/zx.php

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Duda con PASMO. Datos antes de ORG.

Mensaje por mcleod_ideafix » Vie Ene 29, 2016 8:16 pm

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
Web: ZX Projects | Twitter: @zxprojects

Responder

¿Quién está conectado?

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