Página 3 de 3

Re: [NES] Investigando Ababol

Publicado: Sab, 30 Nov 2013, 18:12
por na_th_an
La paleta se activa pasando a una función de la Neslib un puntero a una zona de la ROM donde tengas los 16 valores almacenados, teniendo en cuenta un detalle importante: Todos los backgrounds (el color 0 de cada paleta) se ignoran menos el de la primera paleta, que sirve de background para todas las demás paletas. O sea, que en realidad sólo puedes elegir 3 colores por paleta y un background global, aunque estemos hablando de la paleta para los tiles.

Los colores no son exactamente estos (los reales tienen que ver con cómo codifica los colores el sistema analógico NTSC, con conversión chusquera a PAL - en realidad los colores son diferentes para cada sistema), pero se les parecen:

Re: [NES] Investigando Ababol

Publicado: Vie, 17 Ene 2014, 12:04
por saucjedi
He intentado compilar el código de Sir Ababol, habiendo instalado previamente CC65 y me da un error, que ahora mismo no tengo a mano, pero lo que quisiera saber es con qué versión del compilador habéis trabajado.

Creo que han detenido el desarrollo... espero que lo retome alguien.

Re: [NES] Investigando Ababol

Publicado: Vie, 17 Ene 2014, 12:09
por na_th_an
Pues no lo sé, la verdad. Lo que sí es importante es que te bajes la plataforma "NES", que no se incluye por defecto... O al menos antes, ahora creo que lo han cambiado.

Antes tenías que bajarte el compilador, y luego tenías que bajarte cada target por separado.

Si nos pudieras poner el error que te da, podríamos ayudarte mejor.

EDITO: Ahora recuerdo que Shiru mencionó algo que iba a cambiar en CC65, puede que sea eso:

$this->bbcode_second_pass_quote('', 'Y')ou can get some extra RAM by placing some variables into zero page, which has about 200 bytes free. That will make them work faster and also make compiled code a bit smaller. Putting the set of global variables there is a good idea. You can do it by using these pragmas before the variables that should go to zero page:
$this->bbcode_second_pass_code('', '#pragma bssseg (push,"ZEROPAGE")
#pragma dataseg(push,"ZEROPAGE")')

If you want to put some subsequent variables back to the normal place, you can use these pragmas:
$this->bbcode_second_pass_code('', '#pragma bssseg (push,"BSS")
#pragma dataseg(push,"BSS")')

Please note that for the next release of CC65, which is currently only avaialble as a development snapshot, it should be changed to this:
$this->bbcode_second_pass_code('', '#pragma bss-name (push,"ZEROPAGE")
#pragma data-name(push,"ZEROPAGE")')


( http://shiru.untergrund.net/articles/pr ... s_in_c.htm )

Re: [NES] Investigando Ababol

Publicado: Lun, 20 Ene 2014, 14:08
por saucjedi
Debe de ser necesariamente algo de configuración que no alcanzo a comprender... son errores en general, similares.

Llaman mucho la atención sobre todo los primeros, como si hubieran cambiado algo y las librerías fueran antiguas... pero lo de Shiru no es tan antiguo como para dar estos problemas, ¿no?

$this->bbcode_second_pass_code('', 'game.c(44): Warning: #pragma bssseg is obsolete, please use #pragma bss-name instead
game.c(45): Warning: #pragma dataseg is obsolete, please use #pragma data-name instead
game.c(101): Warning: #pragma bssseg is obsolete, please use #pragma bss-name instead
game.c(102): Warning: #pragma dataseg is obsolete, please use #pragma data-name
instead
crt0.s(29): Error: Cannot open include file `zeropage.inc': No such file or directory
neslib.s(327): Warning: Suspicious address expression
neslib.s(384): Warning: Suspicious address expression
game.s(12): Error: Cannot open include file `longbranch.mac': No such file or directory
game.s(7437): Error: `:' expected
game.s(7437): Error: Unexpected trailing garbage characters
game.s(7453): Error: Symbol `jeq' is already defined
game.s(7453): Error: `:' expected
game.s(7453): Error: Symbol `.size' is already defined
game.s(7453): Error: Unexpected trailing garbage characters
game.s(7490): Error: Symbol `jeq' is already defined
game.s(7490): Error: `:' expected
game.s(7490): Error: Symbol `.size' is already defined
game.s(7490): Error: Unexpected trailing garbage characters
game.s(7492): Error: Symbol `jeq' is already defined
game.s(7492): Error: `:' expected
game.s(7492): Error: Symbol `.size' is already defined
game.s(7492): Error: Unexpected trailing garbage characters
game.s(7494): Error: Symbol `jeq' is already defined
game.s(7494): Error: `:' expected
game.s(7494): Error: Symbol `.size' is already defined
game.s(7494): Error: Unexpected trailing garbage characters
game.s(7496): Error: Symbol `jeq' is already defined
game.s(7496): Error: `:' expected
game.s(7496): Error: Symbol `.size' is already defined
game.s(7496): Error: Unexpected trailing garbage characters
game.s(7663): Error: Symbol `jeq' is already defined
game.s(7663): Error: `:' expected
game.s(7663): Error: Symbol `.size' is already defined
game.s(7663): Error: Unexpected trailing garbage characters
game.s(7669): Error: Symbol `jeq' is already defined
game.s(7669): Error: `:' expected
game.s(7669): Error: Symbol `.size' is already defined
game.s(7669): Error: Unexpected trailing garbage characters
game.s(7694): Error: Symbol `jeq' is already defined
game.s(7694): Error: `:' expected
game.s(7694): Error: Symbol `.size' is already defined
game.s(7694): Error: Unexpected trailing garbage characters
game.s(7696): Error: Symbol `jeq' is already defined
game.s(7696): Error: `:' expected
game.s(7696): Error: Symbol `.size' is already defined
game.s(7696): Error: Unexpected trailing garbage characters
game.s(7698): Error: Symbol `jeq' is already defined
game.s(7698): Error: `:' expected
game.s(7698): Error: Symbol `.size' is already defined
game.s(7698): Error: Unexpected trailing garbage characters
game.s(7700): Error: Symbol `jeq' is already defined
game.s(7700): Error: `:' expected
game.s(7700): Error: Symbol `.size' is already defined
game.s(7700): Error: Unexpected trailing garbage characters
game.s(7702): Error: Symbol `jeq' is already defined
game.s(7702): Error: `:' expected
game.s(7702): Error: Symbol `.size' is already defined
game.s(7702): Error: Unexpected trailing garbage characters
game.s(7974): Error: Symbol `jeq' is already defined
game.s(7974): Error: `:' expected
game.s(7974): Error: Symbol `.size' is already defined
game.s(7974): Error: Unexpected trailing garbage characters
game.s(9048): Error: `:' expected
game.s(9048): Error: Unexpected trailing garbage characters
game.s(9540): Error: `:' expected
game.s(9540): Error: Unexpected trailing garbage characters
game.s(10773): Error: `:' expected
game.s(10773): Error: Unexpected trailing garbage characters
game.s(10792): Error: Unexpected trailing garbage characters
game.s(10803): Error: Unexpected trailing garbage characters
game.s(10814): Error: Unexpected trailing garbage characters
game.s(10912): Error: Symbol `jeq' is already defined
game.s(10912): Error: `:' expected
game.s(10912): Error: Symbol `.size' is already defined
game.s(10912): Error: Unexpected trailing garbage characters
game.s(10992): Error: `:' expected
game.s(10992): Error: Unexpected trailing garbage characters
game.s(11025): Error: `:' expected
game.s(11025): Error: Unexpected trailing garbage characters
game.s(11027): Error: Symbol `jeq' is already defined
game.s(11027): Error: `:' expected
game.s(11027): Error: Symbol `.size' is already defined
game.s(11027): Error: Unexpected trailing garbage characters
game.s(11242): Error: `:' expected
game.s(11242): Error: Unexpected trailing garbage characters
game.s(11433): Error: `:' expected
game.s(11433): Error: Unexpected trailing garbage characters
game.s(11440): Error: `:' expected
game.s(11440): Error: Unexpected trailing garbage characters
game.s(11451): Error: `:' expected
game.s(11451): Error: Unexpected trailing garbage characters
game.s(11496): Error: Symbol `jeq' is already defined
game.s(11496): Error: `:' expected
game.s(11496): Error: Symbol `.size' is already defined
game.s(11496): Error: Unexpected trailing garbage characters
game.s(11931): Error: `:' expected
game.s(11931): Error: Unexpected trailing garbage characters
game.s(12282): Error: Symbol `jeq' is already defined
game.s(12282): Error: `:' expected
game.s(12282): Error: Symbol `.size' is already defined
game.s(12282): Error: Unexpected trailing garbage characters
game.s(12575): Error: `:' expected
game.s(12575): Error: Unexpected trailing garbage characters
game.s(12635): Error: Symbol `jne' is already defined
game.s(12635): Error: `:' expected
game.s(12635): Error: Symbol `.size' is already defined
game.s(12635): Error: Unexpected trailing garbage characters
game.s(12698): Error: Symbol `jne' is already defined
game.s(12698): Error: `:' expected
game.s(12698): Error: Symbol `.size' is already defined
game.s(12698): Error: Unexpected trailing garbage characters
game.s(13386): Error: `:' expected
game.s(13386): Error: Unexpected trailing garbage characters
game.s(13437): Error: Symbol `jeq' is already defined
game.s(13437): Error: `:' expected
game.s(13437): Error: Symbol `.size' is already defined
game.s(13437): Error: Unexpected trailing garbage characters
game.s(13446): Error: Symbol `jeq' is already defined
game.s(13446): Error: `:' expected
game.s(13446): Error: Symbol `.size' is already defined
game.s(13446): Error: Unexpected trailing garbage characters
game.s(13464): Error: Symbol `jeq' is already defined
game.s(13464): Error: `:' expected
game.s(13464): Error: Symbol `.size' is already defined
game.s(13464): Error: Unexpected trailing garbage characters
game.s(13583): Error: Symbol `jeq' is already defined
game.s(13583): Error: `:' expected
game.s(13583): Error: Symbol `.size' is already defined
game.s(13583): Error: Unexpected trailing garbage characters
game.s(13805): Error: Symbol `jeq' is already defined
game.s(13805): Error: `:' expected
game.s(13805): Error: Symbol `.size' is already defined
game.s(13805): Error: Unexpected trailing garbage characters
game.s(13839): Error: Symbol `jeq' is already defined
game.s(13839): Error: `:' expected
game.s(13839): Error: Symbol `.size' is already defined
game.s(13839): Error: Unexpected trailing garbage characters
game.s(13841): Error: Symbol `jeq' is already defined
game.s(13841): Error: `:' expected
game.s(13841): Error: Symbol `.size' is already defined
game.s(13841): Error: Unexpected trailing garbage characters
game.s(14066): Error: `:' expected
game.s(14066): Error: Unexpected trailing garbage characters
game.s(14071): Error: Symbol `jeq' is already defined
game.s(14071): Error: `:' expected
game.s(14071): Error: Symbol `.size' is already defined
game.s(14071): Error: Unexpected trailing garbage characters
game.s(14239): Error: Symbol `jeq' is already defined
game.s(14239): Error: `:' expected
game.s(14239): Error: Symbol `.size' is already defined
game.s(14239): Error: Unexpected trailing garbage characters
game.s(14428): Error: Symbol `jeq' is already defined
game.s(14428): Error: `:' expected
game.s(14428): Error: Symbol `.size' is already defined
game.s(14428): Error: Unexpected trailing garbage characters
game.s(15934): Error: `:' expected
game.s(15934): Error: Unexpected trailing garbage characters
game.s(15975): Error: Symbol `jeq' is already defined
game.s(15975): Error: `:' expected
game.s(15975): Error: Symbol `.size' is already defined
game.s(15975): Error: Unexpected trailing garbage characters
game.s(16432): Error: Symbol `jeq' is already defined
game.s(16432): Error: `:' expected
game.s(16432): Error: Symbol `.size' is already defined
game.s(16432): Error: Unexpected trailing garbage characters
ld65: Error: nes.cfg(70): Attribute expected')

Re: [NES] Investigando Ababol

Publicado: Lun, 20 Ene 2014, 14:24
por na_th_an
Según las cuatro primeras lineas de error:

$this->bbcode_second_pass_code('', 'game.c(44): Warning: #pragma bssseg is obsolete, please use #pragma bss-name instead
game.c(45): Warning: #pragma dataseg is obsolete, please use #pragma data-name instead
game.c(101): Warning: #pragma bssseg is obsolete, please use #pragma bss-name instead
game.c(102): Warning: #pragma dataseg is obsolete, please use #pragma data-name instead')
Tienes que hacer el cambio que te puse antes.

Según la siguiente:
$this->bbcode_second_pass_code('', 'crt0.s(29): Error: Cannot open include file `zeropage.inc': No such file or directory')
Parece que no encuentra ese archivo. O bien no se incluye el target "NES" en la nueva versión, o bien han cambiado las cosas de sitio.

Creo que tardamos menos si te subo mi cc65. Descomprímelo en c:/ y debería funcionar.

Re: [NES] Investigando Ababol

Publicado: Lun, 20 Ene 2014, 14:56
por saucjedi
zeropage.inc está entre los ficheros que forman parte del target, pero crt0.s lo incluye tal cual, sin referenciar ningún directorio... en mi caso no lo está encontrando, quizá sea que no tengo los fuentes donde deben estar.

De la versión que me has pasado a la última, sí que se cambia lo que me has comentado.