AY-3-8500 на ZX-Uno

Dudas, cuestiones, sugerencias y peticiones en general sobre el proyecto / Questions and requests about the project
azesmbog
Mensajes: 275
Registrado: 17 Feb 2016, 23:07

AY-3-8500 на ZX-Uno

Mensaje por azesmbog » 10 Oct 2019, 12:48

Для общего сведения
http://www.pong-story.com/gi8500.htm
https://en.wikipedia.org/wiki/AY-3-8500
Декапинг и по-транзисторная схема в HDL
https://nerdstuffbycole.blogspot.com/20 ... art-1.html
Идеальный вариант для повторения в UNO - телевизионный выход.
Для UNO-vga не пойдет, если только скандаблер сделать.
Это то, что смог запустить я:
Imagen
Во-первых - почему то двоится набранный результат, возможно потому что нет биток.
Ну и во вторых - я так и не понял, как подключить биты управления для игроков :((
А так да, клавиатуру PS/2 я задействовал, сброс F12 с нее сделал, можно сделать переключение режимов, но без бит - дальнейшее не имеет смысла.
Если кого то заинтересует этот проект - исходниками поделюсь, вернее моими переделками, а вот почему криво работает - это надо разбираться или автора спрашивать, я не специалист в HDL

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

Re: AY-3-8500 на ZX-Uno

Mensaje por mcleod_ideafix » 10 Oct 2019, 15:21

OOOOOOOOOOOOOOOOOOOOH!!!! This is so cool!
I can´t see any HDL description, though :(

Found it!
https://gitlab.com/TheProgrammerIncarna ... es/ay38500
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

azesmbog
Mensajes: 275
Registrado: 17 Feb 2016, 23:07

Re: AY-3-8500 на ZX-Uno

Mensaje por azesmbog » 10 Oct 2019, 17:07

del
Última edición por azesmbog el 31 Ene 2020, 13:41, editado 4 veces en total.

Avatar de Usuario
Kyp
Mensajes: 213
Registrado: 18 May 2016, 20:16

Re: AY-3-8500 на ZX-Uno

Mensaje por Kyp » 10 Oct 2019, 22:38

Vaya, no quería decir nada hasta terminarlo, pero tengo un diseño casi terminado. La implementación me la he inventado basándome en mis observaciones y la poca información que viene en el datasheet sobre los timings. Estaba probando unos encoders rotatorios para las palas porque por teclado no es lo mismo. A ver si lo termino y lo subo.

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

Re: AY-3-8500 на ZX-Uno

Mensaje por mcleod_ideafix » 11 Oct 2019, 03:01

Tranqui! Tengo demasiados frentes abiertos como para meterme ahora en el AY-3-8500. Me interesa, eso sí, la info que se ha puesto aquí del decapado y la implementación que se ha hecho partiendo de la netlist de transistores. Lo que pasa es que dicha implementación es... como si cogieras un programa en código máquina y lo "decompilases" a C. O sea, lo que leo es Verilog, pero es un amasijo de ecuaciones y relojes locales complicado de sintetizar.
Prefiero esperarme a ver qué tal ha salido el tuyo :)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

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

Re: AY-3-8500 на ZX-Uno

Mensaje por mcleod_ideafix » 11 Oct 2019, 03:06

Kyp escribió:
10 Oct 2019, 22:38
Estaba probando unos encoders rotatorios para las palas porque por teclado no es lo mismo. A ver si lo termino y lo subo.
Probablemente no te den suficiente resolución. Una solución que se me ocurre es usar dos ratones (el puerto PS/2 admite dos dispositivos, y nada impide que ambos puedan ser ratones)

Otra opción es usar potenciómetros, pero actuando sobre un temporizador (quizás con un 555) que iría todo conectado al puerto de joystick.

Usando encoders rotatorios se me ocurre usar los Driving Controller del Atari 2600, que podrías conectar directamente al puerto de joystick del ZXUNO. Usa codificación Gray y si mal no recuerdo, la resolución es de 22,5 grados (4 bits)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Kyp
Mensajes: 213
Registrado: 18 May 2016, 20:16

Re: AY-3-8500 на ZX-Uno

Mensaje por Kyp » 11 Oct 2019, 23:47

mcleod_ideafix escribió:
11 Oct 2019, 03:01
Lo que pasa es que dicha implementación es... como si cogieras un programa en código máquina y lo "decompilases" a C. O sea, lo que leo es Verilog, pero es un amasijo de ecuaciones y relojes locales complicado de sintetizar.
Prefiero esperarme a ver qué tal ha salido el tuyo :)
Uff, si. Menudo lio de ecuaciones. Mi implementación es muuuucho más clara :D

azesmbog
Mensajes: 275
Registrado: 17 Feb 2016, 23:07

Re: AY-3-8500 на ZX-Uno

Mensaje por azesmbog » 31 Ene 2020, 13:30

ImagenImagen
ImagenImagen
ImagenImagen

-- Keyboard inputs:
--
-- R, F12 : Reset
-- W/S : Player 1 up/down
-- UP/DOWN : Player 2 up/down
-- SPACE : Serve Ball
-- V : Toggle Manual Serve
-- C : Toggle Paddle Size
-- X : Toggle Ball Speed
-- Z : Toggle Ball Angle
--
-- Game Select Buttons:
-- F11 : Tennis, Soccer, Handicap, Squash, Practice, Rifle 1, Rifle 2

-- F10 : Color Select Buttons
--
-- Joystick support not yet implemented. (может когда нибудь, лень :) А надо ли вообще?
--
-- Alt-Ctrl-Bcsp - Global Reset (можно и просто BcSp :)

TV выход тоже не особо сложно сделать, но повторю вопрос - надо ли ?? Так то TV должно работать без проблем, но тогда надо прилепить переключатель TV\VGA, а тоже лень %:)))))))

ах да, все исходники у автора проекта
https://nerdstuffbycole.blogspot.com/
Adjuntos
Core40.zx1
(336 KiB) Descargado 79 veces

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

Re: AY-3-8500 на ZX-Uno

Mensaje por mcleod_ideafix » 31 Ene 2020, 17:57

I can just say COOOOOOOOOL! This was my first home videogame I saw on my TV.
Curious about how you implemented original analog controls. May I suggest to use two PS/2 mice, one for each player? (the PS/2 connector of the ZXUNO allows for two PS/2 devices. It's up to the FPGA to determine which kind of device they must be, so no problem for the two of them implementing the same kind of device.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
avlixa
Mensajes: 7
Registrado: 19 Dic 2018, 08:40

Re: AY-3-8500 на ZX-Uno

Mensaje por avlixa » 01 Feb 2020, 15:53

Hola, estoy implementando el mismo core para ZXDOS,
Mcleod, el control es sencillo si miras el manual es un circuito RC que se pone a cero con cada sincronismo vertical y según el valor de la resistencia se carga más o menos rápido generando diferente posición de la paleta. Solo es cuestión de guardar la posición en un registro y realizar el cambio de 0 a 1 según la posición.
Adjuntos
Captura de pantalla de 2020-02-01 15-49-19.png

Responder