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 - KFR

Páginas: [1] 2
1
General / Nuevo Commodore 64, o un PC dentro de una carcasa de C64
« en: Diciembre 21, 2010, 15:33:28 »
Aqui lo tienes y otros mas aunque eso si, el resto tienen nulo parecido salvo el concepto en si de ordenador en teclado. A mi me llama si no fuera porque salen algo carillos y encima el modelo que es similar al c64 pues tiene un hardware algo limitadillo...

2
General / El Árbol Pixelado
« en: Diciembre 21, 2010, 15:31:36 »
Me estaba imaginando ese video en una pelicula en que el prota este drogao en un sofa o asi y viendo eso en la tele con la musiquita xDDDDD

3
General / Newcomer, un RPG nuevo juego
« en: Noviembre 16, 2010, 09:30:20 »
Me has robado la exclusiva :evil: moriras por ello :twisted:

4
General / Nuevo RPG Enorme!!!!!
« en: Noviembre 16, 2010, 09:20:38 »
Hola :twisted:

He buscado y no he encontrado nada por aqui pero si me equivoco pues cerrar el hilo sin problemas :wink: y es que venia a comentar sobre un que de momento y a falta de probarlo, solo por los datos tecnicos me ha dejado :shock:

Se trata del titulo Newcomer, en este enlace teneis mas informacion acerca del mismo pero resumire lo mas importante.

Segun cita el articulo, con mas de doscientas horas de juego disponibles, 180 mil palabras, multiples escenas especiales, mas de cincuenta areas de juego, con mas de 180 personajes, posibilidad de armar un equipo con seis integrantes, mas de cien escenas gráficas. Todo ello en un espacio de 2Megabytes!!!!!


5
Desarrollo / Dudas varias...os voy a dar curro xDDD
« en: Noviembre 16, 2010, 09:13:25 »
na_th_an gracias por la explicacion ^^ y es que prefiero llevar todo claro que no ir acumulando duditas hasta que se conviertan en un gran socavon y ya no pueda evitarlo. Y joe que pena me da no tener casi tiempo para el C64 con las ganas que le tengo...a ver si entre semana voy sacando ratos y sigo traduciendo y escribiendo mi propio manual de programacion en C que iba a buen ritmo :)

6
Desarrollo / Dudas varias...os voy a dar curro xDDD
« en: Octubre 02, 2010, 12:16:33 »
Hola de nuevo :)

No, eso es un errata a la hora de escribir, en realidad el resultado en ese caso, el de AND, seria 1000 :wink:

7
Desarrollo / Dudas varias...os voy a dar curro xDDD
« en: Octubre 01, 2010, 14:20:13 »
Bueno, aunque hoy tenia que madrugar anoche me pique cosa mala con terminar de entender completamente ese pedazo de codigo y me dieron las 2 y pico pero bueno, lo consegui!!! :twisted:

Aqui va el fragmento de los apuntes que me estoy haciendo, relacionado con el caso en cuestion...

-----------------------------------------

Ejemplo..

El siguiente programa mueve 64 caracteres de la ROM al set de caracteres que vamos a crear en la RAM:

PRINT CHR$(142)                           :REM Activa el set de caracteres 1
POKE 52,48:POKE 56,48:CLR                :REM Reserva memoria para los caracteres
POKE 56334,PEEK(56334)AND254             :REM Detiene el interruptor de escaneo de teclas (Keyscan Interrupt Timer)
POKE 1,PEEK(1)AND251                     :REM Cambia a la ROM Generadora de caracteres
FOR I=0 TO 511 : POKE I+12288,PEEK(I+53248) : NEXT
POKE 1,PEEK(1)OR4                        :REM Cambia a la I/O
POKE 56334,PEEK(56334)OR1                :REM Reanuda el Keyscan Interrupt Timer
END

Comenzamos por el PRINT CHR$(142). CHR$ se usa para convertir un numero entre 0 y 255 a caracteres ascii, siendo lo contrario a la funcion asc. El set de caracteres 1 o Grossschreibung mientras que para activar el 2 habra que pasar como parametro 14. El primer set son todo mayusculas y sel segundo dispone tanto de mayusculas como minusculas. (nota: esto lo cambiare casi seguro a raiz de nueva informacion que he encontrado sobre el numero de sets que tiene la rom pero en si la explicacion es valida)

Al hacer POKE 52, 48 se esta dando el valor 48 al registro 52 que en concreto sirve como puntero al inicio de cadenas. Luego en esa misma linea se hace lo mismo pero al registro 56, este es un puntero al final/limite de memoria a usar por BASIC. Pero ┐porque se hace todo esto y luego en pone un comentario? (REM seguido del comentario) pues porque el area o memoria de cadenas comienza en donde acaba la de BASIC y claro, si se recorta la de Basic para hacer hueco habra que mover la otra, ponerla de nuevo pegada la de BASIC, para asi conseguir dejarnos el hueco deseado. CLR borra el espacio de RAM dedicado a variables, tablas, cadenas, sin tocar el programa Basic.

Despues en POKE 56334,PEEK(56334)AND254 hace lo mismo pero en el momento de asignar valor usa PEEK que a diferencia de POKE en vez de asignar lo que hace es recuperar el valor de la direccion de memoria a la que hace referencia y al valor recuperado le aplica AND254...me explico:

12 AND 10 = 8, 12 es %1100 en binario y 10 es %1010

AND en los bits diferentes da resultado 0
OR en los bits diferentes da resultado 1

1100 | 1100
1010 | 1010
---------------
1000 | 1110

El registro 56334, ocupa 1byte, 8bits, 256 posibles valores, del 0 al 255. Al poner 254 es igual que poner 11111110 (siete 1 y un 0). Como se ha usado en el codigo AND254 en caso de encontrar un "par" diferente en la operacion el resultado sera 0 y con ello se pone el bit mas a la derecha a 0 y se desactiva el Keyscan Interrupt Timer. La penultima linea del codigo hace lo contrario, usa OR1 siendo 1 en binario %00000001 y puesto que es OR, en caso de no haber pariedad el resultado sera 1 y se volvera a activar.

Con POKE 1,PEEK(1)AND251 se va a dar valor al registro 1, punto de acceso al llamado puerto del procesador. Entre otras funciones es usado para mapear la ROM y las areas I/O (entrada y salida), ademas del control del cassette.
De los 8bits que componen el registro 1 nos interesa solo 1, el segundo:

2 - CHAREN (0 = ROM Caracteres en lugar de area I/O)

Lo que nos interesa es cambiar el bit 2 para conmutar entre ROM e I/O y explico tambien esto mejor. El bit 2 o CHAREN es usado unicamente para situar los 4Kb de la ROM Generadora de Caracteres (Character Generator ROM) dentro o fuera del espacio de direcciones de la cpu. Desde el punto de vista de la CPU del C64, la ROM Generadora de Caracteres ocupa el mismo espacio de direcciones que los dispositivos de I/O ($D000-$DFFF). Cuando el bit 2 tiene valor 1, por defecto, I/O estara dentro del espacio de direcciones de la cpu y la ROM Gene.. no es accesible pero si se le da valor 0, ocurre lo contrario. Solo se requiere de acceso a la Rom Gene.. cuando se quiera descargar el set de caracteres a la RAM, como en el caso que nos ocupa.

Y siguiendo con POKE 1,PEEK(1)AND251, al ser AND en caso de disparidad el resultado sera 0 y como 251 en binario es %11111011 y el bit 2 por defecto esta a 1, pasara a estar a 0 y lo que estara dentro del espacio de direcciones de la cpu sera la ROM Generadora de Caracteres. Despues se usara POKE 1,PEEK(1)OR4 que siendo 4 en binario %00000100 y estando usando OR, el bit pasara de nuevo a 1.

Ya solo queda la instruccion FOR I=0 TO 511 : POKE I+12288,PEEK(I+53248) : NEXT, un bucle que va recogiendo y copiando cada caracter o mejor dicho cada patron al hueco que hemos preparado en la ram, a partir de la posicion 12288 ($3000). El bucle va desde 0 a 511, 512 pasadas. La memoria de caracteres en la ROM comienza en 53248 y de ahi es de donde se van recuperando valores en funcion del acumulador I. Cada caracter son 8bytes, 512 / 8 = 64 caracteres, por cada pasada se recupera un byte.

Espero le sirva de ayuda a alguien y si, me lio yo solo pero no me gusta dejar cosas como que funcionan "porque si" :?

8
Desarrollo / Dudas varias...os voy a dar curro xDDD
« en: Septiembre 30, 2010, 23:03:59 »
Tras investigar un poco y es que no me puedo quedar sin saber que hace algo que voy a necesitar para programar si o si porque querre hacer mis propias fuentes y simbolos aunque sea por probar :D pues he dado con el tema en cuestion ^^ sabia que POKE era para introducir un valor en la posicion de memoria señalada pero no sabia que leches eran la 52 y la 56.

55-56 ($0037-$0038) puntero al final de la memoria/area de Basic
51-52 ($0033-$0034) puntero al inicio del area de cadena variable...que no se muy bien cual sera su funcion pero supongo que sera para alojar cadenas de caracteres o algo similar.

Pues bueno, que tiene que ver el hacer descender el limite del area de Basic, que es lo que busco para meter mi set de caracteres, con el registro ese 52 pues esto "Grows downwards from end of BASIC area" o lo que es lo mismo, que el area de cadena o como se llame crece desde el final del area de Basic y si hago esta ultima mas pequeña tambien tendre que mover la otra para terminar de hacer hueco

Solucionado :twisted:

Edit: Laddh yo te mato XDDDD T T pero muchas gracias hihihi
Edit2: Laddh si no es molestia, el calculo de 160*256 se explica como? es que me gusta atar todo 8)

9
Desarrollo / Dudas varias...os voy a dar curro xDDD
« en: Septiembre 30, 2010, 21:40:53 »
Es lo que tienen estos retropcs que obligan a optimizar todo lo que se pueda y mas xDDD...en mi defensa eso esta asi mismo en el manual ^^ yo pondria algun espacio mas...solo alguno.

10
Desarrollo / Dudas varias...os voy a dar curro xDDD
« en: Septiembre 30, 2010, 21:05:50 »
Hola :twisted:

Ya me he presentado en otro hilo pero sin mas, hola a todos y me presento en esta mini comunidad de amantes o interesados en este retropc.

Ando mirandome a ratos, que la verdad a cada instante que puedo me pongo a ello xD el manual referencia para programadores de devili e iba muy bien y sin dudas hasta ahora :( que entiendo un codigo de ejemplo que viene o mas bien se lo que hace pero no como trabaja algun metodo y si me podriais echar un cable pues lo agradeceria :roll: y asi de paso crear un hilo para plantear dudas generales sobre programacion en C64 y en C64 con C (uso CC65).

El codigo...

PRINTCHR$(142)               :REM SWITCH TO UPPER CASE
POKE52,48:POKE 56,48:CLR    :REM RESERVE MEMORY FOR CHARACTERS
POKE56334,PEEK(56334)AND254 :REM TURN OFF KEYSCAN INTERRUPT TIMER
POKE1,PEEK(1)AND251         :REM SWITCH IN CHARACTER
FORI=0TO511:POKEI+12288,PEEK(I+53248):NEXT
POKE1,PEEK(1)OR4            :REM SWITCH IN I/O
POKE56334,PEEK(56334)OR1    :REM RESTART KEYSCAN INTERRUPT TIMER
END

El codigo copia 64 caracteres a la ram, a un hueco que se hace para evitar que los programas sobreescriban el set que se va a crear.
Mi duda es...en la instruccion que reserva memoria o mas bien limita la memoria con que los programas pueden trabajar para asi meter el set de caracteres, como trabaja? "POKE52,48:POKE 56,48:CLR"

11
CC65 / Tutorial para comenzar a programar C en C64
« en: Septiembre 30, 2010, 16:30:57 »
...quien sabe... :twisted:

12
CC65 / Tutorial para comenzar a programar C en C64
« en: Septiembre 30, 2010, 15:55:42 »
Yo de momento me quedo con el decimal :twisted:

13
CC65 / Tutorial para comenzar a programar C en C64
« en: Septiembre 30, 2010, 15:21:31 »
Ando leyendo, la parte de graficos ^^ de devili y traduciendola a un documento en perfect castellano ademas de añadir cosas que dan por supuesto se han entendido como cuando ponen un 16384 y se quedan tan anchos y no te explican que viene de 16*256 = 4096*4 = 16384 y cosas asi.

Mas que nada lo hago para mi pero ire poniendo toda la informacion en mi blog y por aqui claro esta que creo que toda aportacion sera buena.

De momento dudas...no, creo que voy pillando todo solo que a veces tengo que volver atras, otra vez adelante, atras etc.. hasta terminar de ver como leches va algo :evil: pero bien.

PD: Y que no habia comentado, gracias a todos por saludar :wink:

14
CC65 / Tutorial para comenzar a programar C en C64
« en: Septiembre 30, 2010, 10:54:45 »
Carlos muchisimas gracias y me ha quedado mas claro imposible ^^
Anoche empece a suponer que seria algun tema de rango de memoria a usar "como te plazca" pero como no terminaba de dar con ello pues tenia ahi la duda y ahora me ha quedado mucho mas claro y si, la pagina de devili me la estoy mirando entera, poco a poco que tampoco quiero acabar aburrido antes de tiempo pero va bien la cosa ^^

15
CC65 / Tutorial para comenzar a programar C en C64
« en: Septiembre 30, 2010, 01:12:17 »
Gracias ^^ y justo ando mirando ahora la de las i's (devili.iki.fi) y me gusta como viene explicado si bien, y si no es molestia claro, estaria muy bien el poder tener info de primera mano y en castellano, aunque entiendo perfectamente ingles. Como tu veas. Yo ahora voy a pobar a crear 8 sprites, darles diferente color a cada y animarlos automaticamente. Luego mirare para hacer que choquen entre si.

Páginas: [1] 2