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

Páginas: [1]
1
General / Re:Videos Commodore
« en: Abril 08, 2018, 10:42:52 »
En cuanto al C64 NTSC, no es mas rapido que el PAL, hay una diferencia en la velocidad de reloj pero es insignificante. Un C64 NTSC aparenta ser mas rapido simplemente porque en los juegos se suele colocar mucho codigo en las interrupciones que ocurren una vez por cuadro, esto causa que un juego PAL parezca funcionar mas rapido en uno NTSC, porque se ejecutara la rutina de interrupcion 60 veces por segundo en lugar de 50. Pero el proceso ira a la misma velocidad porque como dije la diferencia de reloj es minima.
Las lineas en PAL y en NTSC duran el mismo tiempo, de nuevo hay una diferencia pero es minima, para simplificar las cosas digamos que son iguales. Imaginemos que en lugar de ir al TV, las lineas de video se imprimen en una impresora, y que imprimimos las lineas que entrarian en 1 segundo. En NTSC habria 60 imagenes impresas, una abajo de la otra, y en PAL habria 50, pero el largo del papel seria el mismo, porque las lineas duran lo mismo (cabe la misma cantidad de lineas en 1 segundo tanto en PAL como en NTSC). Si las lineas duran lo mismo, y la resolucion del C64 siempre es de 200 puntos verticales en ambos sistemas, la diferencia tiene que estar en las lineas que sobran, es decir las lineas que forman los bordes inferior y superior, que si volvemos a las pantallas impresas, serian lineas que llenan el espacio entre dos pantallas con graficos.
Como el C64 PAL solo emite 50 imagenes por segundo, y la resolucion vertical es de 200 puntos, lo que ocurre es que le sobra mas lineas de borde que a un C64 NTSC, que debe mostrar 60 imagenes en el mismo tiempo y a la misma resolucion.
La unica forma en que el NTSC pueda mostrar mas imagenes con lineas de la misma duracion y en el mismo tiempo que el PAL, es reduciendo la cantidad de lineas que forman una imagen. Entonces el C64 PAL tiene 312,5 lineas mientras que el C64 NTSC tiene 262,5. Como la resolucion vertical de los graficos del C64 siempre es 200, lo que ocurre es que el PAL tiene un borde mayor, y el NTSC apenas tiene borde, y como dijimos que las lineas duran lo mismo, eso se traduce en que el PAL tiene mas tiempo en los bordes superior e inferior para procesar el codigo del juego.
Volviendo al caso de este juego en particular, lo que ocurre es que deben estar usando hasta el ultimo ciclo para generar los graficos y el sonido, aprovechando el tiempo del borde donde el VIC no interrumpe al procesador, y al correr este juego en NTSC, el tiempo de borde se reduce drasticamente, haciendo que no se termine de ejecutar el codigo de un cuadro antes de que llegue el proximo. Como el codigo esta tan optimizado les habra sido imposible generar 10 cuadros mas por segundo sin la ayuda del hard de la REU para acelerar el proceso.
Los siguientes usuarios dieron las gracias a este tema: marcos64

2
Puestos a pedir, por lo visto los cracks de Nostalgia tampoco cargan en sd2iec, si quieres mirarlo también sería un gran aporte para la comunidad, y quizás esta implementación valga para muchos juegos.
Los siguientes usuarios dieron las gracias a este tema: marcos64

3
Problemas Hardware y Software / Re:Ayuda para identificar un cartucho
« en: Febrero 03, 2018, 20:26:34 »
He estado haciendo un poco más de arqueología con tu cartucho.

El turbo de DISCO es el "TURBO DISK", aunque parece que tiene varios nombres, es un turbo muy clonado y está soportado por el SD2IEC. Del README del SD2IEC:

Código: [Seleccionar]
        Turbodisk
---------
Turbodisk is detected by the CRC of its 493 byte long floppy code and
the M-E address 0x0303. The same code seems to be used under various names,
among them "Turbodisk" (both 2.1 and 2.2) and "Fast-Load".
It is not known if there is an NTSC-compatible version of this fastloader.

Este turbo acelera la 1541 a 5.7x y el SD2IEC a 12.6x, según la wiki de SD2IEC.

El turbo de CINTA es el clásico TURBOTAPE-250.

El comando PUT para grabar con este turbo tiene 2 variantes:

- PUT "NOMBRE": guarda con la cabecera normal (8 segundos de piloto)

- PUT* "NOMBRE": guarda con cabecera ultra-corta (1 segundo de piloto)

Con GET se cargan los programas grabados con PUT/PUT*.
Los siguientes usuarios dieron las gracias a este tema: marcos64

4
General / Re:Nuevos juegos en desarrollo
« en: Febrero 01, 2018, 20:30:50 »
El VVVVV creo que hay una verson terminada, le quitaron la parte de historia y dejaron solo el juego pero no sé si realmente está completo.

Roguelike es como dice Cubelindo, juegos que tienes unas sola vida y que el mapa se genera de forma aleatoria, generalmente una mazmorra en los juegos originales, pero el concepto es ese: partidas únicas e irrepetibles.

Yo creo que el Spelunker de PC estará inspirado en el clásico Spelunky, pero esto lo digo porque es lo que pensé siempre, ni idea si es así o no.
Los siguientes usuarios dieron las gracias a este tema: marcos64

5
General / Re:Nuevos juegos en desarrollo
« en: Febrero 01, 2018, 16:17:45 »

Roguelike es un término de esos modernos para referirse a los juegos que guardan alguna similitud con el Rogue (Nethack, etc.) Básicamente, juegos difíciles donde las partidas son aleatorias, no se puede grabar, mueres infinitas veces y en subsiguientes partidas puedes ver "tus huesos" ;)

Seguro que hay una definición oficial por ahí

El Spelunky tiene historia, 4 "mundos" por los que vas avanzando, secretos ocultos, tiendas donde compras armas, ... En mi opinión es muy difícil (hay cosas que te matan sin más todas las vidas) pero muy divertido.

Y el VVVVVV efectivamente está en un punto raro con versiones que no son del todo satisfactorias, pero a mi es que me gusta tanto que no soy objetivo  ;D
Los siguientes usuarios dieron las gracias a este tema: marcos64

6
Mercadillo / Re:Mi mercadillo: juegos, cartuchos, cables...
« en: Enero 04, 2018, 22:10:21 »
Recibido todo el material.
Estupendamente embalado.

Todo perfecto, como siempre.
Los siguientes usuarios dieron las gracias a este tema: marcos64

7
Commodore Amiga / Tutorial Amiga A600 + Gotek china
« en: Octubre 25, 2017, 02:07:34 »
Hola!! Pues nada... Que me he comprado un Amiga!!! Concretamente este A600:



El Amiga es muy especial para mí porque es el ordenador que nunca pude tener. Cuando salió recuerdo que iba a "Galerías Preciados" después de las clases solo para verlo. Allí lo tenían, encima de un pedestal y casi siempre con la demo "Juggler", aquella del malabarista con las 3 bolas de espejo. Años más tarde mis padres decidieron comprar un PC (lo que al final resultó ser una buena decisión), así que durante bastante tiempo solo hice que babear en las tiendas viendo las demos y esos graficazos, que comparados con la CGA del PC eran increíbles... Y ahora, por fin es MÍIIIIOOOOO :D

El caso es que de los diskettes que me dio el vendedor no funcionan ni la mitad y los juegos que van, a excepción del Walker, son bastante birria. Así que le he comprado una Gotek, cómo no, la más barata de Aliexpress, por 14 eurillos (si desaparece el enlace, simplemente buscar SFR1M44-U100K).

Una vez desmontada dentro tiene esto:



Di por supuesto que el firmware que trae es el que emula una diskettera de PC, así que lo primero que hice fue intentar flashearla con el firmware "Cortex", que es el que emula la diskettera de Amiga... Pero no lo conseguí siguiendo las instrucciones del autor, así que escribo esto por si a alguien más encuentra problemas y le sirve.

Las instrucciones originales y el firmware están aquí.

Yo intenté seguir los pasos con el cable FTDI a 5V y todo conectado como dice, pero el programa de ST nunca me llegó a pasar de la primera pantalla con errores de que no podía reconocer el chip.

Investigando un poco llegué a una página de ST donde explican que los chips STM32F105 de 64 patas con código de fecha anterior a la 937 tienen un bug en el bootloader y no se pueden flashear con esas instrucciones. ¿Adivináis quién tiene un STM32F105 de 64 patas con código de fecha 727 (abajo a la izquierda)? Exacto... mi Gotek china de 14€:



Por suerte hay una forma alternativa usando un programador ST-LINK v2 (o su clon chino de Aliexpress, que cuesta 2€) usando las patas SWDIO y SWCLK del micro. Y la suerte es doble porque, al menos en mi placa, SWDIO y SWCLK están sacadas a unos taladros donde podemos soldar unos pines. Aquí se pueden ver:



Simplemente tenemos que conectar los pines 5V, GND, SWDIO y SWCLK del programador ST-LINK v2 a las correspondientes patas de la Gotek:



Además, ponemos un cablecillo del RESET a GND para evitar que la CPU arranque y el programa tome el control de las patas SWDIO/SWCLK (cable morado):



Para programarlo yo he usado el OpenOCD. Está para todos los SOs.

Código: [Seleccionar]
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c "init; reset halt; flash write_image erase unlock CortexAmigaFloppyEmulator_1.05a.hex 0 ihex; exit"

Lanzamos esa orden e inmediatamente desconectamos el cable morado para dejar a la CPU que arranque. Veremos algo como esto:

Código: [Seleccionar]
GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00135-g80299198 (2017-06-22-18:37)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v28 API v2 SWIM v7 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.238421
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08007900 msp: 0x20007c38
auto erase enabled
auto unlock enabled
Info : device id = 0x10016418
Info : flash size = 128kbytes
Warn : aligned end protect sector to a 2 sector boundary
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000003a msp: 0x20007c38
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000003a msp: 0x20007c38
wrote 63488 bytes from file CortexAmigaFloppyEmulator_1.05a.hex in 2.727592s (22.731 KiB/s)

Si queremos antes de programarlo podemos volcar el firmware original a un fichero con:

Código: [Seleccionar]
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c "init; reset halt; dump_image original-fw.bin 0 131072; exit"

Por último en thingiverse hay una pieza para imprimir en 3D con las medidas justas para meter el USB y acceder a los botones a través de la ranura de los diskette. Hay gente que le saca el cable plano y la Gotek queda colgando por ahí, pero a mí esta solución me parece mucho más elegante:



Así queda montada:





Con la tapa puesta: niquelao!!!!



A babear se ha dicho!!!!!! :D :D

Los siguientes usuarios dieron las gracias a este tema: marcos64

8
Sí, conozco los programas Azimuth a esos me refería en el post anterior, pero la verdad es que nunca me llegaron a funcionar del todo.

El tema es que tengo cintas grabadas de distintas fuentes (llamémoslo así por no llamarlos piratas :) ), y para cada cinta tenía que ajustar el cabezal para que me cargase.

Para fijar el cabezal usaba esmalte de uñas, quizás tengas razón y está muy suelto de tanto moverlo.

De todas formas creo que tanto el Datasette como las cintas quedarán almacenados en un cajón como testimonio de aquella maravillosa época, y daré paso a la nueva tecnología.
Los siguientes usuarios dieron las gracias a este tema: marcos64

Páginas: [1]