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
31
Programación / Re:Destripando el PACMAN de Interceptor Software
« en: Julio 26, 2014, 01:50:32 »
Incluso el Atari 2600 tenía este comportamiento de los fantasmas. Así llegue a darle la vuelta al marcador, que recuerdo era a los 999,990 puntos.

Saludos

32
Commodore Amiga / Re:Nuevos juegos en desarrollo o publicados
« en: Julio 24, 2014, 23:39:33 »
¿Qué es AGA?

Advanced Graphics Architecture es el nombre de la siguiente generación de gráficos nativos de la Amiga, únicamente disponible en los modelos A1200 y A4000.

Las otras Amiga, desde la A500 a la 3000 usaron ECS, con la diferencia de que el bus de expansión permitía conectar tarjetas gráficas como la Picasso con mejor resolución y profundidad de color (24 bits) de modo nativo.

Saludos

33
Commodore 16 / Plus 4 / Re:Historia del Plus4 ( y el C16)
« en: Julio 22, 2014, 16:54:56 »
En el libro The Home Computer Wars, Michael Tomczyk describe que la idea de Jack Tramiel con la serie 264 era competir contra Sinclair, ofreciendo computadoras con software incluido tan solo al encender el equipo, pero por debajo de las 99 libras esterlinas.
Como estre proyecto se dio muy cerca de la renuncia de Tramiel, la dirección del proyecto cambió y eventualmente fue desechada, además de que ya desde entonces la integración de funciones a través del TED mostraba una incidencia de fallas muy alta.
Por acá la primera Commodore que se comercializó fue la Commodore 16 y estuve  muy cerca de que esa fuera mi primera computadora. Un par de amigos  las usaron ampliamente. Uno para llevar un control de salarios y el otro para programación. Incluso ganó un concurso local con un videojuego bastante bueno, cuyo nombre soy incapaz de recordar.

Saludos.

34
Commodore 16 / Plus 4 / Re:echado el ojo a un C16
« en: Julio 21, 2014, 04:43:04 »
La arquitectura del Commodore 16 es diferente al de la C64. Si tiene la pantalla negra, lo más probable es que ya haya fallado el chip TED, que es el encargado de la visualización, sonido y manejo de entradas y salidas. Hasta donde sé, es la falla más común y el chip en cuestión un tanto difícil de conseguir, dado que el tiempo que duró en el mercado fue mucho menor a la C64.

Tanto los joystick, como la fuente de poder y el datassette no son compatibles con la C64. La fuente de poder es un eliminador sencillo, que solo proporciona voltaje de corriente directa, así que no sirve para alimentar un C64. El datassette tiene un conector mini din que con el uso de un adaptador especial, puede usarse con la C64. Lo mismo va para los joystick, pero dado que la C64 usa un conector D9 tipo Atari, es más fácil de conseguir, que los adaptadores.

Saludos.

35
General / Re:Emulador VICE C64 para windows
« en: Julio 18, 2014, 20:22:48 »
El depósito de las versiones del emulador VICE ahora se obtiene desde SourceForge. La dirección es:

http://sourceforge.net/projects/vice-emu/

La versión por default de descarga es la de 32 bits, pero puedes encontrar en la página los enlaces hacia otras distribuciones, ya que VICE es multiplataforma.

Saludos.

36
Programación / Re:Dudas en Ensamblador
« en: Julio 17, 2014, 16:45:55 »
Aclarando sobre el bit 3 en la memoria de color. Si el bit 3 tiene el valor de 1, entonces se interpreta que ese carácter está en modo multicolor. Ésto significa simplemente que tienes el valor de 8 de inicio, al cual le sumas el código de color que desea asignar, es decir, del 0 al 7.
Por otro lado, si el bit 3 tiene un valor de 0, entonces se interpreta que el carácter está en hires, pero de igual modo, solo puedes usar los primeros 7 colores, asignando los valores del 0 al 7.
¿Qué significa ésto? Significa que, en modo multicolor, puedes mezclar caracteres en hires y multicolor libremente. Claro que te obliga a definir tu conjunto de caracteres para usar esta característica, limitado a los dos primeros colores Background 0 y color de memoria carácter, en aquellos en hires.

Saludos.

37
Programación / Re:Dudas en Ensamblador
« en: Julio 17, 2014, 00:06:25 »
  como dices CPULoyal los caracteres en multicolor los tengo controlados pero todavia no se como darle color a cada uno, a ver si me pongo con ello (es que todavia no me he puesto) ya que he tenido un finde un poco liado.

  He estado mas con cuestiones artisticas como habreis visto,...todos los limites de pantalla y superacion de 255 por parte del disparo esta sin hacer...

   Saludos.

Bueno, para darte otro empujoncito hacia la aplicación del 4º color te amplio el ejemplo que te puse la vez anterior.

Hay un detalle interesante en el uso de la memoria de color. Como te expliqué, el par de bits 11 en la definición de los caracteres indica que el color a usar será el asignado por la memoria de color a partir de la dirección fija para los 4 bancos de video $D800 (55296).

Ahora bien, la Commodore 64 tiene una paleta de 16 colores para video, y en los modos de hires puedes asignar cualquiera de ellos asignando el valor del 0 al 15, de acuerdo al valor elegido.

Sin embargo, en modo multicolor y solo cuando ya está configurado, la paleta de colores se reduce a los 8 primeros colores, pero usando los valores del 8 al 15, porque el bit 3 indica el modo hires para ese carácter en particular, usando la relación 1 a 1 de memoria de pantalla y memoria de color.

Puedes notarlo en el ciclo de prueba que puse. Es visible pese a que el retardo no es muy prolongado.

Saludos

Código: [Seleccionar]
00001  0000             *=$C000
00002  C000  AD 0E DC   BGNPRG     LDA $DC0E           ;ACCEDEMOS A LA MEMORIA DE CARACTERES
00003  C003  29 FE                 AND #$FE            ;DESCONECTANDO TEMPORALMENTE INTERRUPCIONES
00004  C005  8D 0E DC              STA $DC0E           ;Y KERNAL
00005  C008  A5 01                 LDA $01
00006  C00A  29 FB                 AND #$FB
00007  C00C  85 01                 STA $01
00008  C00E  A0 00      BGNCPY     LDY #$00            ;HACEMOS UNA COPIA DE LOS PRIMEROS 64 (512 BYTES)
00009  C010  A2 02                 LDX #$02            ;CARACTERES DESDE $D000 A $3000
00010  C012  F0 1E                 BEQ CPYRMNBY        ;EL REGISTRO X CONTIENE EL TOTAL DE PÁGINAS A
00011  C014  A9 00                 LDA #$00            ;COPIAR (CADA PÁGINA ES IGUAL A 256 BYTES)
00012  C016  85 FB                 STA $FB
00013  C018  A9 D0                 LDA #$D0
00014  C01A  85 FC                 STA $FC
00015  C01C  A9 00                 LDA #$00
00016  C01E  85 FD                 STA $FD
00017  C020  A9 30                 LDA #$30
00018  C022  85 FE                 STA $FE
00019  C024  B1 FB      KEEPCPY1   LDA ($FB),Y         ;CICLO DE COPIA EN BLOQUES DE 256 BYTES
00020  C026  91 FD                 STA ($FD),Y
00021  C028  C8                    INY
00022  C029  D0 F9                 BNE KEEPCPY1
00023  C02B  E6 FC                 INC $FC             ;PREPARAMOS LOS APUNTADORES A LA SIGUIENTE PÁGINA
00024  C02D  E6 FE                 INC $FE             ;Y COMPROBAMOS SI AÚN QUEDAN PÁGINAS POR COPIAR
00025  C02F  CA                    DEX
00026  C030  D0 F2                 BNE KEEPCPY1
00027  C032  A2 00      CPYRMNBY   LDX #$00            ;COPIAR LOS BYTES RESTANTES DE LA PÁGINA
00028  C034  F0 08                 BEQ CHRRTN          ;NUEVAMENTE EL REGISTRO X CONTIENE EL NÚMERO DE
00029  C036  B1 FB      KEEPCPY2   LDA ($FB),Y         ;BYTES FALTANTES
00030  C038  91 FD                 STA ($FD),Y
Código: [Seleccionar]
00031  C03A  C8                    INY
00032  C03B  CA                    DEX
00033  C03C  D0 F8                 BNE KEEPCPY2
00034  C03E  A5 01      CHRRTN     LDA $01             ;RESTAURAMOS INTERRUPCIONES Y KERNAL
00035  C040  09 04                 ORA #$04
00036  C042  85 01                 STA $01
00037  C044  AD 0E DC              LDA $DC0E
00038  C047  09 01                 ORA #$01
00039  C049  8D 0E DC              STA $DC0E
00040  C04C  AD 18 D0              LDA $D018           ;HABILITAMOS LA MEMORIA DE CARACTERES EN
00041  C04F  29 F0                 AND #$F0            ;LA DIRECCIÓN $3000
00042  C051  09 0C                 ORA #$0C
00043  C053  8D 18 D0              STA $D018
00044  C056  AD 16 D0              LDA $D016           ;HABILITAMOS MODO MULTICOLOR
00045  C059  09 10                 ORA #$10
00046  C05B  8D 16 D0              STA $D016
00047  C05E  A9 00                 LDA #$00            ;COLOR BACKGROUND 0
00048  C060  8D 21 D0              STA $D021
00049  C063  A9 02                 LDA #$02            ;COLOR BACKGROUND 1
00050  C065  8D 22 D0              STA $D022
00051  C068  A9 07                 LDA #$07            ;COLOR BACKGROUND 2
00052  C06A  8D 23 D0              STA $D023
00053  C06D  A9 BD                 LDA <CHRDEF         ;REDEFINIMOS LOS PRIMEROS 4 CARACTERES
00054  C06F  85 FB                 STA $FB             ;DEL CONJUNTO DESDE DATOS ALMACENADOS
00055  C071  A9 C0                 LDA >CHRDEF         ;EN LA DIRECCIÓN CHRDEF ($C0BD)
00056  C073  85 FC                 STA $FC
00057  C075  A9 00                 LDA #$00
00058  C077  85 FD                 STA $FD
00059  C079  A9 30                 LDA #$30
00060  C07B  85 FE                 STA $FE
Código: [Seleccionar]
00061  C07D  A0 00                 LDY #$00
00062  C07F  A2 20                 LDX #$20
00063  C081  B1 FB      KEEPCPY3   LDA ($FB),Y
00064  C083  91 FD                 STA ($FD),Y
00065  C085  C8                    INY
00066  C086  CA                    DEX
00067  C087  D0 F8                 BNE KEEPCPY3
00068  C089  A9 00                 LDA #$00
00069  C08B  8D 00 04              STA $0400           ;COMO EJEMPLO MOSTRAMOS LOS CARACTERES
00070  C08E  A9 01                 LDA #$01            ;REDEFINIDOS EN LA DIRECCIÓN $0400
00071  C090  8D 01 04              STA $0401           ;DE LA MEMORIA DE PANTALLA
00072  C093  A9 02                 LDA #$02
00073  C095  8D 02 04              STA $0402
00074  C098  A9 03                 LDA #$03
00075  C09A  8D 03 04              STA $0403
00076  C09D  A2 00                 LDX #$00            ;HACEMOS UNA PEQUEÑA RUTINA PARA CAMBIAR LOS
00077  C09F  A0 00                 LDY #$00            ;LOS COLORES DE LOS CARACTERES EN UN CICLO
00078  C0A1  A9 00                 LDA #$00            ;A LA MEMORIA $D800
00079  C0A3  8E 00 D8   CYCCLRS    STX $D800
00080  C0A6  E8                    INX
00081  C0A7  8E 01 D8              STX $D801
00082  C0AA  E8                    INX
00083  C0AB  8E 02 D8              STX $D802
00084  C0AE  E8                    INX
00085  C0AF  8E 03 D8              STX $D803
00086  C0B2  C8         LOOP1      INY                 ;INTRODUCIMOS UN RETRASO PARA VER EL CAMBIO
00087  C0B3  C0 FF                 CPY #$FF
00088  C0B5  D0 FB                 BNE LOOP1
00089  C0B7  A0 00                 LDY #$00
00090  C0B9  4C A3 C0              JMP CYCCLRS
00091  C0BC  60                    RTS
00092  C0BD  14 7D 7D   CHRDEF     BYTE    20,125,125,125,105,105,20,0
00093  C0C5  14 6D 6D              BYTE    20,109,109,109,109,109,109,20
00094  C0CD  14 69 69              BYTE    20,105,105,105,125,125,125,20
00095  C0D5  14 79 79              BYTE    20,121,121,121,121,121,121,20
00096  C0DD             
00097  C0DD

38
Programación / Re:Dudas en Ensamblador
« en: Julio 15, 2014, 01:06:14 »
La versión más reciente va muy bien. Veo que ya tienes controlados los caracteres multicolores. Si quieres que te ayude también con las pruebas, déjamelo saber.
Por el momento, te puedo decir que al llevar el sprite de la nave al extremo derecho, el sprite del disparo se queda en la pantalla. Por la posición parece que en el límite de los 256 pixeles.

Saludos

39
Programación / Re:Dudas en Ensamblador
« en: Julio 12, 2014, 18:17:57 »
CPULoyal he estado viendo el Sprite y es Perfecto!!,..me queda solo una duda, has utilizado como color de fondo el gris oscuro, en el juego va a ser utilizado como color de fondo el Negro, imagino que lo cambio y ya esta, porque sino quedaria una linea vertical al lado izquierdo de color gris oscuro que no quedaria bien.

  De hecho utilizando como color de fondo el negro, lo gano como color de fondo en el sprite e incluso me sobra un color,..yo me encargo de la configuracion de colores, en breve lo adjunto con el sprite incluido que tengo ganas de verlo montado, probable que haga provisionales de Ladhh y Carlos para ver el efecto optico.

Ajusta los colores como mejor te convenga. Intenté usar solo los dos colores adicionales para darle forma, dejando sin cambiar los dos primeros. Si es necesario, retoca el sprite para eliminar esa banda negra de la que hablas.

Saludos

40
Programación / Re:Dudas en Ensamblador
« en: Julio 12, 2014, 02:25:17 »
Dime qué colores quieres usar, para ayudarte con el código. Recuerda que solo tienes uno por carácter además de los tres comunes que parece ya tienes listos.
Aprovecho el mensaje para adjuntarte el archivo del sprite.

Saludos

 

41
Video - Monitores - Cables - Etc. / Re:Pantalla en negro
« en: Julio 11, 2014, 00:33:22 »
Aunque la entrada al C64 es tipo DIN 7, solo 4 de los pines son usados para proporcionar  energía desde la fuente de poder. El orden es el siguiente:

  7   6
3       1
  5   4
     2

6 y 7 proporcionan los 9 V de CA
5 proporciona los 5 V de CD
2 es tierra

Antes de reconectar nada, asegurate que después el baño del grifo, la placa está completamente seca. Sobre todo porque la placa metálica disipadora de la base está soldada y puede albergar humedad.

Saludos.

42
Programación / Re:Dudas en Ensamblador
« en: Julio 11, 2014, 00:19:32 »
Pues no sé si el que acabo de agregar a mi perfil sea lo que quieres. Tengo el archivo generado por Sprite Pad por si lo necesitas.

Saludos.

43
Video - Monitores - Cables - Etc. / Re:Pantalla en negro
« en: Julio 09, 2014, 20:16:23 »
Power Pack se refiere a la fuente de poder. Las negras originales tienen la mala fama de irse a sobrecarga y de dañar los chips de la máquina, principalmente la PLA, el SID y luego el RAM.
Dentro de la C64 también tienes un fusible que puedes revisar. Con algo de fortuna es lo único que debes cambiar.
Si no sabes de electrónica, la C64 es una buena introducción al campo, pues su mantenimiento no es difícil. Lo complicado es obtener los componentes para reparar. Comienza obteniendo una fuente de poder que sepas está en buen estado y de ahí puede continuar con el diagnóstico para determinar la causa de la falla.

Saludos

44
Programación / Re:Dudas en Ensamblador
« en: Julio 07, 2014, 23:59:15 »
Continúa planteando tus dudas. Trataré de resolverlas con claridad. Luego te enviaré el sprite que me pediste.

Saludos.

45
Programación / Re:Dudas en Ensamblador
« en: Julio 07, 2014, 04:13:21 »
El modo multicolor/hires mola mucho, lástima que a costa de tener menos caracteres disponibles.

En hires mantienes resolución , pero solo puedes tener dos colores por carácter: Background común y memoria de color de caracteres.

En multicolor pierdes la mitad de la resolución horizontal, pero puedes usar cuatro colores por carácter. Tres comunes (Background 0, 1 y 2) y memoria de color de caracteres.

En estos dos modos puedes redefinir los 256 caracteres del conjunto de caracteres.

Donde solo tienes la cuarta parte de los caracteres disponibles para redefinir (64 caracteres), es en el modo extendido de color de fondo. Lo que ganas en este modo es la posibilidad de tener dos colores independientes por carácter y un color de fondo común. El primer color independiente es el de la memoria de color de caracteres y el segundo es otro de fondo adicional controlado por los dos bits más significativos del código de carácter.

Páginas: 1 2 [3] 4