Página 2 de 4

Re: Nuevo core zx48

Publicado: 22 Dic 2020, 12:34
por Kyp
Actualizo el core a la v2.0:
- Usa la implementación del chip AY de Jotego
- Turbosound con mixer seleccionable ACB/ABC (F8).
- esxDOS v0.8.8 (no olvidar actualizar los archivos de la tarjeta SD)

https://github.com/Kyp069/zx48.zxuno/releases/tag/2.0

6-in-1

Publicado: 20 Ene 2021, 22:19
por azesmbog
на основе версий zx48 и zx128 (спасибо автору за них!) собрал несколько версий:
zx48 VGA/TV
zx128 VGA/TV
zx48 VGA\TV + zx128 VGA\TV + Pentagon VGA\TV
+ SAA1099 конечно. В режиме Pentagon работает хорошо, не тормозит:)
Режим Пентагона - номинальный, тайминги бордюра надо переделывать немного, но пока еще не придумал совсем правильно.
В режиме zx48 тест conteded memory проходит идеально, спасибо еще раз за это Kyp :gracias!:
ах да, esxDOS v0.8.7
Если кого то заинтересует - могу собрать и с esxDOS v0.8.8 - но без проверки)

Re: 6-in-1

Publicado: 21 Ene 2021, 10:38
por desUBIKado
azesmbog escribió:
20 Ene 2021, 22:19
zx48 VGA\TV + zx128 VGA\TV + Pentagon VGA\TV
+ SAA1099 конечно. В режиме Pentagon работает хорошо, не тормозит:)
Hola azesmbog. Estaría bien un core 48 + 128 + Pentagon con soporte SAA1099 y esxDOS 0.8.8. Kyp ya sintetizó una beta privada del core 128K con soporte SAA1099, pero no sonaba bien, así que si el tuyo lo hace correctamente sería genial. Por otra parte, también estaría bien que pudieses meter soporte para el kempston mouse. Es una cosa que tiene pensado hacer kyp en el futuro, pero que aun no lo tienen las versiones de sus cores que ha publicado.

Re: Nuevo core zx48

Publicado: 21 Ene 2021, 12:45
por Kyp
Puestos a pedir...

1. Azesmbog, si tienes una versión del SAA actualizada... ¿me la pasas para incluirla en mi core?
2. Me gustaría hacer una versión de mi core implementando un Pentagon. ¿Dónde hay información sobre los timings?
3. Estoy mirando como implementar el k-mouse, no parece complicado pero ya puestos a hacer bidireccional la comunicación con los dispositivos PS/2 quiero reescribir parte el módulo del teclado.

Más cosas...

Para comprobar el funcionamiento del core de 128K estaba usando los tests ULA128 y scroll17, y la demo paralactika. Con la FPGA todo parece funcionar correctamente, o eso creo, pero se me ocurrió probar el test ULA128 en un 128K y en un +2 real y sale esto:
ula128.jpg
Azesmbog, ¿este test es tuyo? En ese caso... Si quieres hacer algún ajuste al test yo puedo contrastarlo con un Spectrum real.

Y una última petición para los gurús del Z80... Sobre el test ULATST3M. Ese test no funciona en el 128K, se cuelga. No se si está el fuente disponible, pero estaría muy bien si se pudiera adaptar para que funcione en un 128K. No solo que funcione, también ajustarlo a los timings del 128K.

Re: Nuevo core zx48

Publicado: 21 Ene 2021, 20:15
por azesmbog
Kyp escribió:
21 Ene 2021, 12:45
¿este test es tuyo? En ese caso... Si quieres hacer algún ajuste al test yo puedo contrastarlo con un Spectrum real.
Да, это мой тест, я его делал в 2012 году - 9 лет назад.
У меня есть фотография за 2016 год , думаю с реала:
Imagen
Очень похоже на Ваш скриншот.

Но делал я этот тест и проверял в эмуляторах. Вот основные эмуляторы:
Imagen

В SpecEmu - два варианта со "снегом" ( очень похоже что у Вас тоже "снег" на экране) и без снега.
Es.pectrum бордюр вообще вправо сдвинут ( у вас - влево)
Остальные эмуляторы более-менее показывают одиинаковую ровную картинку.

Насколько я знаю, по этому тесту стараются выравнивать картинку не только в FPGA (Next, MiSTer , etc.) но и на мелкой логике собранные компьютеры - Harlequin128 видел вроде с этим тестом)

Поэтому тест то я наверное смогу переделать, но под какой эмулятор то делать, чтобы мне было в чем проверять? Это раз.
Во вторых - можно оставить так , как есть, или найти другой тест, на который можно ориентироваться еще.
И еще одно предложение - сделать два варианта zx128 - правильную (как у Вас) и "неправильную" - как у меня в тесте.
Или хотя бы проверить еще на нескольких компьютерах. Тогда уже придется беспокоить производителей и писателей эмуляторов :)
Выбирайте :) Но если надо - я могу попытаться сделать тест под Ваш вариант - добавить +4 такта

По SAA1099 - я использую тот же самый модуль, который я Вам уже предоставлял.
У меня одна проблема. Тактовая частота должна быть 8 MHz, но если я синтезирую такую частоту - у меня очень плохой звук, даже для моих ушей :veoestrellas: . Поэтому я синтезирую тактовую частоту для этого чипа 7 MHz, это немного ниже, чем требуется, но звучание мне нравится больше.

scroll17 - тоже мой тест. Вот видео с реала
phpBB [media]

тут конечно больше проверяется атрибутная бегущая строка, но верхняя часть тоже почти правильная.
На мой взгляд немного дрожит верхняя часть, это значит такты немного "гуляют" - но в данном случае это не особо важно, я тут не синхронизировал до такта.

Upd: все же я нашел ПРАВИЛЬНЫЙ! эмулятор!!!
http://www.inkland.org.uk/inkspector/index.htm
мой тест в режиме zx128 - работает идеально!
Imagen
этот же тест в режиме Zx Spectrum +2 работает точно как у Вас.
Из чего можно сделать элементарный вывод - тайминги zx128 и тайминги Spectrum +2 различаются!!! Немного, но это так.
Надеюсь на этом вопрос закрыт?)))

Re: 6-in-1

Publicado: 21 Ene 2021, 23:22
por azesmbog
desUBIKado escribió:
21 Ene 2021, 10:38
Estaría bien un core 48 + 128 + Pentagon con soporte SAA1099 y esxDOS 0.8.8.
Ядро с esxDOS 0.8.8. ( не проверял, т.к. у меня esxDOS 0.8.7. и все устраивает :)
Дополнительные клавиши управления:
F10 - reset Pentagon
F11 - reset zx48
F12 - reset zx128

Остальные кнопки как обычно. F8 не стал делать, не вижу особого смысла переключать каналы. лучше сделать по желанию или ACB каналы или ABC
Кемпстон мышь тоже не вижу особого смысла. Это хорошо в ядре EXP27 и +3
Но хотя игр с поддержкой мыши немало. Можно потом подумать.

SAA1099 лучше проверять в режиме Pentagon (F10) - там тактов побольше, и тормозит поменьше.
В папке BPLUGINS есть файл. Для чего - догадайтесь сами :)

Ну и собственно ссылка на файлы:
https://drive.google.com/drive/folders/ ... sp=sharing
Kyp escribió:
21 Ene 2021, 12:45
2. Me gustaría hacer una versión de mi core implementando un Pentagon. ¿Dónde hay información sobre los timings?
можно в других проектах посмотреть, но если в двух словах-
1.Организация памяти как в zx128 - тот же самый порт
2.Организация экрана немного иная, длина строки как в zx48 - 224 tacts:)
Imagen
3. Бордюр немного иной. я на нем в основном застрял. он не 4-х тактовый, а одно-тактовый
Такая конструкция

Código: Seleccionar todo

reg[7:0] attrOutput;
wire attrOutputLoad = hCount[2:0] == 4;
always @(posedge clock) if(ce) if(attrOutputLoad) attrOutput <= { videoEnable ? attrInput[7:3] : { 2'b00, border }, attrInput[2:0] };
не подойдет, тут бордюр обновляется каждый 4-й такт, а надо - каждый первый. Надо тут переделывать. У меня не очень получается :) Если обновляю каждый такт - тогда атрибуты на одно знакоместо сдвинуты :(
4. Вся память и порты - uncontended, торможения нет, это проще делать :)
Это основное, остальное - мелочи, в процессе можно доделать.

Re: Nuevo core zx48

Publicado: 22 Ene 2021, 19:04
por Kyp
azesmbog escribió:
21 Ene 2021, 23:22
F8 не стал делать, не вижу особого смысла переключать каналы. лучше сделать по желанию или ACB каналы или ABC
Después de muchas pruebas yo tampoco creo que sea de mucha utilidad, por lo que oigo se usa más ABC así que lo dejo así por defecto.
azesmbog escribió:
21 Ene 2021, 23:22
Кемпстон мышь тоже не вижу особого смысла
El soporte de ratón es muy útil si se va a usar la ROM +3e
azesmbog escribió:
21 Ene 2021, 23:22
можно в других проектах посмотреть
Los timings de esa imagen son parecidos pero no iguales a los del core de sorgelig para mist o de mcleod para zx-uno.

Estoy haciendo una prueba en base a la imagen con los siguientes parámetros:
hCount: 0..447
vCount: 0..319

wire hSync = hCount >= 320 && hCount <= 351;
wire vSync = vCount >= 240 && vCount <= 255;

wire hBlank = hCount >= 320 && hCount <= 385; // ¿383?
wire vBlank = vCount >= 240 && vCount <= 257;

wire int = !(vCount == 239 && hCount >= 320 && hCount <= 391);

También he modificado el código para que se pueda actualizar el borde en cada pixel.

Con esos valores...

La imagen sale un poco desplazada a la derecha y abajo.
paralactika.TRD para Pentagon se ve bien aparentemente
OSCOSS.TRD se ve con fallos
- una parte en que salen barras verticales de colores la zona central parece desplazada a la derecha respecto a la zona del borde
- una parte que sale una chica en blanco y negro con barras horizontales, cuando van lentas se ve bien pero cuando van más rápido parece que en el borde izquierdo no llena la línea completamente

No se con qué más probar. ¿Sabéis de algún test o demo para hacer más pruebas?

Re: Nuevo core zx48

Publicado: 22 Ene 2021, 19:22
por azesmbog
Kyp escribió:
22 Ene 2021, 19:04
No se con qué más probar. ¿Sabéis de algún test o demo para hacer más pruebas?
ну я же в pack несколько тестов для Pentagon положил!?
Самый точный тест для бордюра - это демонстрация RAGE. Ориентируемся на него.
Можете конечно запустить оригинальную, но боюсь вы не дождетесь окончания :) Но оно там есть.
Поэтому в моем сборнике уже финальная сцена. Изображение в финале должно выглядеть так:
Imagen

Как добьетесь такого изображения - можно сказать Pentagon эмулирован верно.

Re: Nuevo core zx48

Publicado: 22 Ene 2021, 22:00
por Kyp
Alfo falla :mecagonto:
0122215417S-Video.jpg
0122215458S-Video.jpg

Re: Nuevo core zx48

Publicado: 22 Ene 2021, 22:06
por azesmbog
Для альфы очень неплохо))
Теперь сдвигаем бордюр относительно экрана :)))