Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - CPULoyal

Páginas: [1] 2 3 4
1
General / Re:El Árbol Pixelado
« en: Diciembre 24, 2014, 23:47:40 »
Felices fiestas a todos y que se la pasen a gusto.
Recuerden, si manejan, no tomen y si toman, inviten.

Saludos

2
General / Re:Juegos con cargadores, cracks, intros SI o NO
« en: Octubre 02, 2014, 23:11:02 »
Creo que, aunque relacionados, la preservación y los cracks son diferentes. Como dices, la preservación busca mantener intacto el producto original y tratándose de medios digitales, eso incluye protecciones manuales, cajas, etc.
Sin embargo, acá en México, por un tiempo el canal oficial de distribución vendió copias desprotegidas, con nuevos empaques y manuales que, muchas veces, eran poco menos que fotocopias. ¿Qué tanto sería aceptable esta versión crackeada?
Ahora bien, nuestras máquinas, periféricos y discos no se renuevan con el paso del tiempo. Por eso ha resurgido la escena, porque ahora con nuevos dispositivos como el SD2IEC, Easyflash y otros, los programas deben cargar en la C64 con versiones simplificadas de los protocolos de comunicaciones.
Por otro lado, el ego de la escena no ha disminuido y tratar de demostrar algo más en cada release, muchas veces olvidándose del programa que trata de presentar. Claro que están los demos como vehículos de expresión y presunción, pero estamos hablando de la escena, que critica lanzamientos nuevos, si es que no van acompañados de una introducción apropiada.

Saludos

3
General / Re:Dudas sobre juegos
« en: Octubre 02, 2014, 21:15:38 »
Por la forma del personaje, para nosotros el Boulder Dash fue el juego de la hormiguita. Si recuerdo bien, en la C64 hubo 4 versiones comercializadas for First Star Software:

Boulder Dash http://www.gb64.com/game.php?id=994&d=18&h=0
Boulder Dash II - Rockford's Revenge http://www.gb64.com/game.php?id=995&d=18&h=0
Boulder Dash III http://www.gb64.com/game.php?id=996&d=18&h=0
Boulder Dash Construction Kit http://www.gb64.com/game.php?id=1007&d=18&h=0

Hay una 5ª, llamada Rockford http://www.gb64.com/game.php?id=6445&d=18&h=0, inspirada en el género y publicada por el sello MAD (Mastertronic).

Todas las variantes de GB64 son el resultado del Construction Kit, el cual permitió descifrar el formato de los niveles y enemigos. Usualmente son hechos por usuarios aficionados al juego y, en algunos, se modifican los gráficos originales para agregarle variedad.

Por cierto, en mi copia fuera de línea sí tengo todas sus variantes. Si no la tienes, descárgala http://www.gb64.com/forum/viewtopic.php?t=5244 (aunque requiere registro para acceder a esa parte del foro)

Saludos

4
General / Re:Juegos con cargadores, cracks, intros SI o NO
« en: Octubre 02, 2014, 20:52:32 »
Back in the bad old days
Back in the U S A


Por este lado del planeta, disfrutamos de tres tipos de distribución en el mejor momento de la C64.
La primera fueron los canales oficiales. La exclusiva de venta de equipos y programas fue a través de una empresa llamada Sigma, quien a través de la cadena de supermercados Aurrera, introdujo la Commodore en México. La primer computadora que vendieron fue la Commodore 16 y poco tiempo después los modelos 64 y 64C. Eventualmente, la C128 y la C128D se pusieron a la venta, todo esto en un período de unos tres años, entre 1985 y 1988.
La venta de programas se hizo también por este medio. Por obligación de las normas oficiales, los programas tenían que ponerse a la venta con instructivos en español y así todos los programas fueron nuevamente empaquetados. Lo increible del asunto es que eso se hizo con duplicados de los discos, a los cuales se les quitó la protección, cuando la tenían, usando los parámetros de los programas copiadores. ¡Todos unos corsarios con patente y todo!
El otro canal, que fue en el que yo me involucré, es lo que podías llamar la escena. Sí, hubo escena mexicana y yo conocí a algunos que recibían los programas originales y se encargaban de quitar la protección, especialmente con los programas nuevos, para su comercialización oficial. No es de extrañarse que por acá se colaran los programas que se vendían en los mercadillos. Como intermediario del proceso  ::) mi pago fue disponer de una biblioteca muy amplia, la cual desafortunadamente ya no conservo  :'(
El último canal era el de las importaciones. A través de aquí nos llegaron todos los cracks de los que eran en ese momento las estrellas de la escena americana: Eagle Soft, Dynamic Duo, Ikari Warriors y otros. Hacia el final de la vida comercial de la Commodore en México, nos llegaron importaciones europeas, con los conocidos problemas gráficos por las diferencias PAL/NTSC.
A causa de esta historia, mi gusto personal está con las versiones originales en cuanto a las que no tenían vidas infinitas, ni mejoras de otros tipo, aunque con las protecciones de copia removidas. No me disgusta el trabajo de CSDB. Después de todo, el flujo de programas nuevos es esporádico y los miles de programas de la época dorada mucho más abundante.
Así que dile a tu cuate que no sea desesperado, para empezar porque es cuestión de gustos y porque en las PC el tiempo de inicio de juego no es inmediato, viéndote obligado a los comerciales de los productores, directores y demás.  ;)

Saludos

5
Programación / Re:Dudas en Ensamblador
« en: Octubre 01, 2014, 23:31:25 »
Lo mejor es la botella al entre la bocina y la lámpara  :P
Recuerda. Si manejas no tomas y si tomas... ¡Invita!  ;D

Saludos

6
Programación / Re:¿Por dónde comienzo?
« en: Septiembre 30, 2014, 20:04:24 »

El IDE que te decía es este CBM prg Studio: www.ajordison.co.uk/download.html
A mi me parece muy bueno pero no lo he usado, a ver que dicen los demás.


Este IDE está muy bien, ya que incluye editores de sprites, caracteres y un depurador de código máquina nativo, sin recurrir a emuladores. El ensamblador es una variante del Turbo Assembler, con los mismos pseudo-ops y un manejo razonable de includes y macros.
Yo lo recomiendo, aunque sea una herramienta de trabajo en ambiente Windows y como tal, limitada a este ambiente.

Saludos

7
Programación / Re:Dudas en Ensamblador
« en: Septiembre 28, 2014, 15:47:56 »
Como te explicaron, los comandos byte y text son pseudo-opcodes que solo son interpretados por el ensamblador (de acuerdo a sus propias reglas y como tal, no consistente entre diferentes ensambladores) y que no forman parte del conjunto de instrucciones del 6510. Son ayudas para simplificar la entrada de datos al momento de programar.
Byte  simplemente indica que lo que sigue a continuación no debe ser interpretado como código, sino como datos.
Por otro lado, text es usado para indicar que lo que sigue a continuación debe ser interpretado por ensamblador como códigos de pantalla, porque como recordarás, en las Commodore los caracteres dichos valores no son los que corresponden a los valores ASCII. Por ejemplo, la A no redefinida tiene un valor ASCII 65 y un valor 1 en código de pantalla.
Así, al usarlos en tu programa lo que defines son tablas que, como tales, deben ser leidas en un bucle y el auxilio de otro registro índice. Ahí sí estas ahorrando memoria con las LDA secuenciales.


Saludos

P.D. El disco duro de mi máquina Güindoze con todos su 250 GB, en el cual tenía todas mis aplicaciones y herramientas de trabajo decidió irse por la libre.
Me he pasado los últimos días rescatando datos, pero entre que todavía no he comprado otro disco al cual trasferirlos y que esta semana recien entré a un nuevo trabajo, no he tenido oportunidad de contestarte.
Mientras tanto, me monté en otro disco duro más pequeño el Linux y apenas estoy terminando de configurarlo para volverlo Commodore VICE ;D Así que durante la siguiente semana te responderé con mis comentarios al avance de Calígula.

8
Programación / Re:Dudas en Ensamblador
« en: Septiembre 19, 2014, 23:40:58 »
Ampliando el comentario de Carlos. En modo multicolor tienes 8 colores para cada carácter, porque el bit 4 se usa como bandera entre modo hires/multicolor. Si el bit está a 0, entonces el carácter se interpreta como hires. si el bit está a 1, entonces es multicolor.
De tal modo que, en tu ejmplo, para asignar el color verde tienes que sumarle 8 al color para que aparezca en multicolor, por lo que tal y como Carlos te indicó se asigna 13 ($0D) a la memoria de color correspondiente.
Adicionalmente, te falta cambiar a multicolor. Tu pusiste:

Código: [Seleccionar]
$4871     LDA #$08
$4873     STA $D016

Para cambiar a multicolor, el valor correcto es:

Código: [Seleccionar]
$4871     LDA #$18
$4873     STA $D016

Con este y el cambio propuesto por Carlos, verás tu A en multicolor.

Saludos

9
Programación / Re:Dudas en Ensamblador
« en: Septiembre 19, 2014, 17:09:20 »
Calma, lo que estás haciendo está bien. De hecho, puedes notar que los dos caracteres que pones en tu ejemplo toman el color verde (5) cuando los colocas en pantalla. Lo que está ocurriendo es que al asignar el color, se muestran en modo hires.
Para depurar tu código necesito que me indiques la dirección donde reside tu conjunto redefinido. Me parece que es $2800, pero quiero estar seguro.
También, si es posible, pon el archivo de cuneiform donde redefiniste los caracteres para revisarlo.

Saludos

10
Programación / Re:Dudas en Ensamblador
« en: Septiembre 19, 2014, 01:03:18 »
Si por ejemplo yo compilo ese listado eliminando las lineas que asignan el color en este caso en $D800 el caracter se me ve bien, lo unico que el color char aparece en azul...

  Aqui lo veis arrancando lo que os adjunto en el vice...

  Saludos

En tu programa no hay ninguna asignación de la memoria de colores. Prueba a colocar antes del loop JMP $4827 el siguiente código:

Código: [Seleccionar]
         LDA #$01    ; Color blanco
         STA $D800  ; Primera posición de la memoria de color, asignada a la posición en pantalla $0400
         JMP $4827

Eso debe darte el efecto que buscas.

11
Programación / Re:Dudas en Ensamblador
« en: Septiembre 19, 2014, 00:58:09 »
CPULoyal he estado probando con el listado y al compilarlo me dice que no defino CHRRTN,...he estado probando de todo pero al final no me funciona,...estoy un poco desesperado...

elimina el BEQ CHRRTN, se me coló en el ejemplo y no lo necesitas.

12
Programación / Re:Dudas en Ensamblador
« en: Septiembre 19, 2014, 00:56:46 »
  todo el tema de la memoria de color me lo controlo, lo que no se porque no me muestra el color,..creo que tus listados me van a venir muy bien,...voy a cenar y los pruebo,..me queda una duda,..no entiendo bien la ultima linea...

TBLCOLOR  BYTE 00, 01, 02, 03, 04, 05, 06, 07, 08
                  BYTE ... (HASTA COMPLETAR LOS 1000 BYTES DE COLOR)

y dudo ya que yo tengo la posicion de memoria en $d800 si tengo que tambiar TBLCOLOR por $$d800,..por ejemplo en las lineas..

                  LDA <TBLCOLOR           
                  STA $FB
                  LDA >TBLCOLOR
                  STA $FC               ;LA DIRECCION DE LA MEMORIA DE COLOR INICIA EN $D800

  Poner...

                  LDA <$D800         
                  STA $FB
                  LDA >$D800
                  STA $FC               ;LA DIRECCION DE LA MEMORIA DE COLOR INICIA EN $D800

  me doy cuenta que aqui hay mucha chica en estas lineas....
                  LDA <TBLCOLOR           
                  STA $FB
                  LDA >TBLCOLOR
                  STA $FC               ;LA DIRECCION DE LA MEMORIA DE COLOR INICIA EN $D800
                  LDA #$00
                  STA $FD
                  LDA #$D8
                  STA $FE

  He imagino que el tema de copiar las paginas sera totalmente necesario.....???......

   Hablamos....

TBLCOLOR es la etiqueta para indicar la dirección del inicio de la tabla de color, en el ensamblador. La rutina que te puse copia desde la dirección que dinámicamente le asigna el ensamblador, hacia la dirección fija de la memoria de color, es decir; $D800.

Asi, el segmento de código, inicia en los apuntadores en $FB/$FC para origen y en $FD/$FE para destino.

Código: [Seleccionar]
                  LDA <TBLCOLOR           
                  STA $FB
                  LDA >TBLCOLOR
                  STA $FC               ;LA DIRECCION DE LA MEMORIA DE COLOR INICIA EN $D800
                  LDA #$00
                  STA $FD
                  LDA #$D8
                  STA $FE

La copia usa el modo indexado indirecto y la página cero como auxiliar para mover los bloques de datos.

13
Programación / Re:Dudas en Ensamblador
« en: Septiembre 18, 2014, 18:14:23 »
Como Carlos te ha referido, el color que te falta aplicar es el de la memoria de color. Lo usual, en cuanto a la asignación de memoria de color, es usar una tabla en la que almacenes los colores que usaras en la pantalla, si es que son muy variados, o bien cambiar el color solo en las partes de tu imagen que lo requieren. Puesto que cada pantalla es de 1000 caracteres (40x25), tienes que asignar otros tantos bytes a cada posición para el color.
Así que, digamos que tienes las siguientes premisas. La memoria de color se mantiene fija para todos los bancos, es decir; a partir de la dirección $D800 y  hasta $DBFF (sí, esos son 1024 bytes, pero solo se usan 1000). Por otro lado tu memoria de pantalla está en la posición por defecto, $0400.

Código: [Seleccionar]
BGNCPY      LDY #$00            ;HACEMOS UNA COPIA DESDE LA TABLA (4 PAGINAS)
                  LDX #$04            ;EL REGISTRO X CONTIENE EL TOTAL DE PÁGINAS A
                  BEQ CPYRMNBY    ;COPIAR (CADA PÁGINA ES IGUAL A 256 BYTES)
                  LDA <TBLCOLOR           
                  STA $FB
                  LDA >TBLCOLOR
                  STA $FC               ;LA DIRECCION DE LA MEMORIA DE COLOR INICIA EN $D800
                  LDA #$00
                  STA $FD
                  LDA #$D8
                  STA $FE
KEEPCPY1   LDA ($FB),Y         ;CICLO DE COPIA EN BLOQUES DE 256 BYTES
                  STA ($FD),Y
                  INY
                  BNE KEEPCPY1
                  INC $FC             ;PREPARAMOS LOS APUNTADORES A LA SIGUIENTE PÁGINA
                  INC $FE             ;Y COMPROBAMOS SI AÚN QUEDAN PÁGINAS POR COPIAR
                  DEX
                  BNE KEEPCPY1
CPYRMNBY  LDX #$00            ;COPIAR LOS BYTES RESTANTES DE LA PÁGINA
                  BEQ CHRRTN        ;NUEVAMENTE EL REGISTRO X CONTIENE EL NÚMERO DE
KEEPCPY2   LDA ($FB),Y         ;BYTES FALTANTES
                  STA ($FD),Y
                  INY
                  DEX
                  BNE KEEPCPY2
                  RTS
TBLCOLOR BYTE 00, 01, 02, 03, 04, 05, 06, 07, 08
                 BYTE ... (HASTA COMPLETAR LOS 1000 BYTES DE COLOR)

Opcionalmente, si quieres asignar un solo color, un código como el siguiente te ayudaría a hacerlo:

Código: [Seleccionar]
INITSCRN   LDX #$00    ; USAMOS X PARA LLENAR LAS 4 PÁGINAS DE LA MEMORIA DE COLOR
CLEAR       LDA#$01      ; EL ACUMULADOR ES EL COLOR QUE ASIGNAREMOS A CADA CARACTER
                 STA $D800,X 
                 STA $D900,X
                 STA $DA00,X
                 STA $DAE8,X
                 INX
                 BNE CLEAR
                 RTS           

Cualquiera de los métodos que uses requiere que planees la asignación de colores para simplificar el código o para que definas adecuadamente los valores de las tablas.

Saludos

14
Video - Monitores - Cables - Etc. / Re:C64 Pantalla con basura
« en: Agosto 26, 2014, 16:47:18 »
Este chip es común y lo puedes conseguir fácilmente para cambiarlo. Encontré en eBay la siguiente venta que, quizá, puedas usar

http://www.ebay.co.uk/itm/2-x-74LS08-DIP14-Circuito-Integrado-digital-TTL-/200896606500?pt=LH_DefaultDomain_186&hash=item2ec65ef124


15
General / Re:XAIN´D SLEENA
« en: Agosto 23, 2014, 01:46:25 »
  (Entre nosotros y de buen rollito CPULoyal),....tienes razón CPULoyal, menos mal que estos señores me han iluminado en el sentido del camino por donde mejorar, ya que yo no era consciente de las cosas ha mejorar en el juego....

   Que seria de mi sin ellos!!!,..j,ja,j,ajaj,a,

    Soy incombustible!!

8) (Siguiendo con el buen rollo) No, no... Deberías estar recolectando bits para conseguir la conversión perfecta  :P

Hablando de ensamblador. Estoy preparando una serie de rutinas con el CBM prg Studio que muestran porciones de código de propósito general, que podrían ser útiles para juegos o cualquier otra cosa, tales como control de sprites con joystick, interrupciones controladas, identificación de tipo de video (PAL o NTSC). Tan pronto termine de depurarlas y documentarlas, las iré colgando en el foro.

Saludos

Páginas: [1] 2 3 4