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]
46
Por software, la forma de cambiar el número es la siguiente:
1.- Apaga todas las unidades de disco conectadas al bus serie, menos a la que le quieres cambiar el número.
2.- Introduce el siguiente código en modo directo en la C64 (también funciona con otras Commodore)

OPEN 15,8,15:PRINT#15,"M-W";CHR$(119);CHR$(0);CHR$(2);CHR$(DN+32)+CHR$(DN+64):CLOSE 15

Donde DN es el número que le quieres poner a la unidad (8, 9, etc. hasta el 30)

3.- Ahora puedes ir encendiendo una a una las otras unidades que tengas, para numerar las otras.

El cambio se mantiene aún con reinicios en el bus serie. Solo se pierde si apagas la unidad correspondiente.

Saludos

47
Programación / Re:Dudas en Ensamblador
« en: Julio 04, 2014, 23:36:13 »
Bien, aquí está el ejemplo en ensamblador para configurar el modo multicolor de caracteres. Las definiciones de direcciones son para las condiciones de arranque, con la memoria de pantalla en $0400 (1024), la memoria de caracteres en $3000 (12288) y las definiciones de caracteres a partir de $C0A0 (49312)

Código: [Seleccionar]
c000  AD 0E DC    LDA $DC0E ;Accedemos a la memoria de caracteres
c003  29 FE       AND #$FE ;desconectando temporalmente interrupciones
c005  8D 0E DC    STA $DC0E ;y Kernal
c008  A5 01       LDA $01
c00a  29 FB       AND #$FB
c00c  85 01       STA $01
c00e  A0 00       LDY #$00 ;Hacemos una copia de los primeros 64 (512 bytes)
c010  A2 02       LDX #$02 ;caracteres desde $D000 a $3000
c012  F0 1E       BEQ $C032
c014  A9 00       LDA #$00
c016  85 FB       STA $FB
c018  A9 D0       LDA #$D0
c01a  85 FC       STA $FC
c01c  A9 00       LDA #$00
c01e  85 FD       STA $FD
c020  A9 30       LDA #$30
c022  85 FE       STA $FE
c024  B1 FB       LDA ($FB),Y
c026  91 FD       STA ($FD),Y
c028  C8          INY
c029  D0 F9       BNE $C024
c02b  E6 FC       INC $FC
c02d  E6 FE       INC $FE
c02f  CA          DEX
c030  D0 F2       BNE $C024
c032  A2 00       LDX #$00
c034  F0 08       BEQ $C03E
c036  B1 FB       LDA ($FB),Y
c038  91 FD       STA ($FD),Y
c03a  C8          INY
c03b  CA          DEX
c03c  D0 F8       BNE $C036
c03e  A5 01       LDA $01 ;Restauramos interrupciones y Kernal
c040  09 04       ORA #$04
c042  85 01       STA $01
c044  AD 0E DC    LDA $DC0E
c047  09 01       ORA #$01
c049  8D 0E DC    STA $DC0E
c04c  AD 18 D0    LDA $D018 ;Habilitamos la memoria de caracteres en
c04f  29 F0       AND #$F0 ;la dirección $3000
c051  09 0C       ORA #$0C
c053  8D 18 D0    STA $D018
Código: [Seleccionar]
c056  AD 16 D0    LDA $D016 ;Habilitamos modo multicolor
c059  09 10       ORA #$10
c05b  8D 16 D0    STA $D016
c05e  A9 00       LDA #$00 ;Color Background 0
c060  8D 21 D0    STA $D021
c063  A9 02       LDA #$02 ;Color Background 1
c065  8D 22 D0    STA $D022
c068  A9 07       LDA #$07 ;Color Background 2
c06a  8D 23 D0    STA $D023
c06d  A9 A0       LDA #$A0 ;Redefinimos los primeros 4 caracteres
c06f  85 FB       STA $FB ;del conjunto desde datos almacenados
c071  A9 C0       LDA #$C0 ;en la dirección $C0A0
c073  85 FC       STA $FC
c075  A9 00       LDA #$00
c077  85 FD       STA $FD
c079  A9 30       LDA #$30
c07b  85 FE       STA $FE
c07d  A0 00       LDY #$00
c07f  A2 20       LDX #$20
c081  B1 FB       LDA ($FB),Y
c083  91 FD       STA ($FD),Y
c085  C8          INY
c086  CA          DEX
c087  D0 F8       BNE $C081
c089  A9 00       LDA #$00
c08b  8D 00 04    STA $0400 ;Como ejemplo mostramos los caracteres
c08e  A9 01       LDA #$01 ;redefinidos en la dirección $0400
c090  8D 01 04    STA $0401 ;de la memoria de pantalla
c093  A9 02       LDA #$02
c095  8D 02 04    STA $0402
c098  A9 03       LDA #$03
c09a  8D 03 04    STA $0403
c09d  60          RTS

48
Programación / Re:Dudas en Ensamblador
« en: Junio 30, 2014, 20:43:18 »
Me falta saber como configuro un color distinto para cada caracter, el color de fondo y los dos comunes ya se configurarlos.

  Saludos!

Ese color se asigna desde la memoria de color que tiene el carácter y se visualiza cuando el par de bits es 11.

Por ejemplo, digamos que tienes la letra A, cuya representación en la memoria de caracteres en binario es la siguiente:

00000000
00011000
00111100
01100110
01111110
01100110
01100110
00000000

En modo multicolor, el VIC ve la matriz así:

00 00 00 00
00 01 10 00
00 11 11 00
01 10 01 10
01 11 11 10
01 10 01 10
01 10 01 10
00 00 00 00

Tomando como referencia la tabla que escribí anteriormente los colores se asignarían así:

0000            0 - Background 0
0ae0            a - Background 1
0oo0            e - Background 2
aeae            1 - Memoria de color
aooe
aeae
aeae
0000


Saludos.

49
Programación / Re:Dudas en Ensamblador
« en: Junio 30, 2014, 19:06:50 »
El modo multicolor es un poco menos directo que la asignación de los colores de fondo. Así que para poder tenerlo tienes que tomar en cuenta lo siguiente:

- En modo multicolor pierdes la mitad resolución horizontal, ya que se usan pares de bits para asignar los colores de los registros. Así tienes que los pares y sus asignaciones son de acuerdo a la siguiente tabla:

Par de Bits          Registro               Posición de Memoria
00                       Background 0      $D021
01                       Background 1      $D022
10                       Background 2      $D023
11                       Color de los 4      RAM de color
                           bits más bajos
                           de la memoria
                           de color.

Así como en modo Hires (modo normal de caracteres) tienes dos colores por cada carácter (el color de fondo y el de la memoria de color), en modo multicolor tienes a tu disposición 4 colores por cada carácter.

Sin embargo, tres de estos colores son comunes (de Background 0 al 2) ya que se asignan por los registros de memoria y el único independiente es el que se obtiene por la memoria de color.

Dame un poco de tiempo y más adelante te pondré un ejemplo de cómo queda el modo en ensamblador.

Saludos.

50
General / Re:Dudas sobre Quick Data Drive
« en: Marzo 28, 2014, 23:37:15 »
Lo haré tan pronto tenga la PC andando y pueda acceder al disco donde almacené el D64 que hice. Por ahora solo tengo el Vita para navegar y leer correo.

51
General / Re:Dudas sobre Quick Data Drive
« en: Marzo 23, 2014, 20:33:32 »
El Quick Data Drive carga el QOS desde el wafer, si no tienes el cartucho. Yo hice una copia del sistema con el Action Replay. No usa memoria del Basic, pues se carga a la posición 49152 ($C000). También usa la RAM bajo el Basic como buffer, si recuerdo bien de lo poco que lo usé. No lo he estudiado para modificarlo y cargarlo desde el disco, pero supongo que debe ser posible extrayendo las direcciones de los vectores de la cuña.

52
General / Re:Dudas sobre Quick Data Drive
« en: Marzo 23, 2014, 16:53:29 »
El Quick Data Drive necesita este SO para funcionar. Esencialmente es una cuña que además de agregar unos comandos para simplificar el guardar y cargar programas, se encarga del formateo y administración de la cinta. Es obligatorio cargarlo antes de usar el drive. Me habría gustado tener el cartucho que muestra josepzin, así no habría perdido un par de wafers y quiza habría jugado un poco más con este chunche.

53
General / Re:Ftp
« en: Noviembre 22, 2013, 19:53:42 »
El nombre en enlace está mal formado y al parecer tampoco permite enlace por navegador. Pruébalo con Filezilla usando solo ancient.blackunix.net
Es un espejo del English Amiga Board y sí, tiene una colección impresionante,

Saludos

54
General / Re:Power Glove para C64
« en: Noviembre 16, 2013, 22:49:15 »
Es un control inalámbrico que sustituye al joystick. La historia completa de su construcción está aquí  http://www.jammingsignal.com/leif/commodore/glove/index.html.

Saludos,

55
General / Re:Teclado en el emulador WinVice
« en: Octubre 31, 2013, 17:45:51 »
Como ayuda, me encontré esta imagen muy útil con la configuración regular del teclado en el VICE. Espero te sirva.

Saludos

56
Commodore Amiga / Re:Error Guru Meditation 04 Amiga 500
« en: Octubre 07, 2013, 22:38:31 »
Hola, sí es necesario que pongas el múmero completo, para así ayudarte a traducir el mensaje de error. Saludos.

Páginas: 1 2 3 [4]