Nuevo core: Apple II

Avatar de Usuario
mcleod_ideafix
Mensajes: 813
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Nuevo core: Apple II

Mensaje por mcleod_ideafix » 21 Nov 2015, 13:45

antoniovillena escribió:
mcleod_ideafix escribió: En el IBM PC, los joysticks analógicos se implementan usando un NE555 que usan como un oscilador de frecuencia variable, en donde la variación viene dada por la posición del potenciómetro interno del joystick. Así, diferentes posiciones del joystick darían diferentes frecuencias, que pueden medirse fácilmente desde la FPGA consiguiendo así un valor proporcional a la posición del joystick.
Pues los que yo llegué a programar (los que iban a la tarjeta de sonido) tenían un circuito RC donde la R era el potenciómetro de cada eje. Desde ensamblador tú metías un 1 para cargar el condensador y luego esperabas a que se descargara (el tiempo iba en función de la posición del potenciómetro). En función de ese tiempo calculabas la posición. Antes de jugar había que calibrar los ejes para que la posición intermedia tuviese un valor conocido.
Tienes razón: usan un NE555 pero no como oscilador, sino como monoastable, para bascular en el momento en que el condensador se descarga.
http://www.epanorama.net/documents/joys ... stick.html
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Nuevo core: Apple II

Mensaje por Quest » 21 Nov 2015, 14:00

El core actual de Apple II "simula" un joystick analógico "fake" (ver proceso "an_fake"), pero lo pineé mal y además se me olvidó de activar las pullups en las señales del joy digital. Estoy corrigiéndolo.

De paso estoy metiendo un pequeño añadido para poder elegir cargar hasta 10 imágenes de disco de la SD (se mantendría el formato RAW, eso sí) si las volcamos a la SD como un único archivo binario concatenado compuesto de 10 imágenes de disco .NIB (me estoy basando en la idea del port de Altera DE2 que usa switch para eso, pero yo lo estoy implementando por teclado)

De momento las pruebas van bien.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Lenko
Mensajes: 135
Registrado: 05 Oct 2015, 16:51

Re: Nuevo core: Apple II

Mensaje por Lenko » 23 Nov 2015, 11:11

Sólo entro para comentar que no sé si en el Dragon se utilizaba mucho, pero en Apple II hay muchos juegos que realmente sí que le dan uso al analógico del joystick.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Nuevo core: Apple II

Mensaje por Quest » 24 Nov 2015, 01:10

Apple II core TEST2

He actualizado el repo con el test2, que viene a solucionar / implementar lo comentado en el anterior post:

- Joystick funcional: Ya mapeado correctamente y con las pullups. Con un mando norma Atari, obtienes 1 botón (mapeado a botón 1) y con mando de Master System, obtienes botones 1 y 2 (a 1 y 2 respectivamente). Probado con éxito en estos juegos: Lode runner, Moon patrol, Mario Bros, Pacman, Zaxxon, Spy vs Spy, Karateka, etc.
- Manejo de hasta 10 imágenes de disco en una SD. Mismo sistema que antes para grabarlas, pero primero concatenando las 10 imágenes de disco en un único binario, y volcándolo posteriormente a la SD en RAW.
- Tecla Reset: Pulsando F12.

Para seleccionar la imagen de disco con la que quieres trabajar: Tras arrancar el core, pulsa SHIFT+Fx (siendo "Fx" la tecla de función de F1 a F10 que corresponde de la imagen 1 a la 10).

Se puede cambiar de disco en caliente y luego resetear con F12, aunque depende del programa/juego que esté corriendo al hacerlo, al resetear puede que no arranque del nuevo disco. Para asegurar que arranca, volver a iniciar el core o bien si estás en basic teclear: POKE 1011,224 y resetear con F12 o bien si estás en "*" (código máquina), teclear: C600G y luego resetear con F12.

Hay una imagen de SD con 10 discos lista para volcar (link externo y no vinculado al foro) aquí: http://fileshack.net/50o3s5yieank
Y un ZIP con los 10 .nibs sueltos para hacerte tu imagen: http://fileshack.net/8zljd40no78l


La lista de los que vienen ahí es: AppleDOS 3.3, Lode Runner, Mario Bros, Moon Patrol, Spy vs Spy, Zaxxon, Zork III, Choplifter, Karateka, Pacman

Por supuesto me disculpo por el código de novato que he metido para este tema. Hay muchas cosas de los lenguajes de descripción de hardware que aún no entiendo.

Subidos .bit de placas v3 y v2 (ésta última sin probar)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Responder