Page 1 of 2

TS-Conf на ReVerSE-U8

PostPosted: Wed, 22.07.2015 00:43:54
by TS-Labs
Имеется у кого-нить рабочая?
Нашел в закромах: http://rghost.net/8VCy2Mfnj
Зашил - развертка на ВГА есть, экран черный, на клаву не реагирует.

Re: TS-Conf на ReVerSE-U8

PostPosted: Wed, 22.07.2015 09:03:42
by MVV
Шей последнюю 0.2.8
Робусу привет.

Re: TS-Conf на ReVerSE-U8

PostPosted: Wed, 22.07.2015 14:03:20
by TS-Labs
Взял отсюда:
https://github.com/mvvproject/ReVerSE-U ... t_file.jic
Прошил. Черный экран.

Re: TS-Conf на ReVerSE-U8

PostPosted: Mon, 27.07.2015 17:37:33
by MVV
Т.к. на U8 не формируется DQM (всегда 0), не подскажешь как обойтись без него? Пробовал BURST TERMINATE, почему-то не хочет работать. Это чтобы не паяться с DQM SDRAM.
Делал при записи так:
Code: Select all
            when "11100" =>               -- s1C
               case bsel_int is
                  when "00" =>
                     sdr_cmd <= SdrCmd_xx;
                     sdr_a <= "001" & address(8 downto 0) & '0'; --FIRST BYTE A(0) = 0
                     sdr_dq(7 downto 0) <= data_in(7 downto 0);
                  when "01" =>
                     sdr_cmd <= SdrCmd_wr;   -- WRITE (A10 = 1 enable auto precharge; A7..0 = column)
                     sdr_a <= "001" & address(8 downto 0) & '0'; --FIRST BYTE A(0) = 0
                     sdr_dq(7 downto 0) <= data_in(7 downto 0);
                  when "10" =>
                     sdr_cmd <= SdrCmd_wr;
                     sdr_a <= "001" & address(8 downto 0) & '1'; --FIRST BYTE A(0) = 1
                     sdr_dq(7 downto 0) <= data_in(15 downto 8);
                  when "11" =>
                     sdr_cmd <= SdrCmd_wr;
                     sdr_a <= "001" & address(8 downto 0) & '0'; --FIRST BYTE A(0) = 0
                     sdr_dq(7 downto 0) <= data_in(7 downto 0);
                  when others => null;
               end case;
               state <= "11101";         -- s1D
            when "11101" =>               -- s1D   
               sdr_dq(7 downto 0) <= data_in(15 downto 8);
               case bsel_int is
                  when "00" =>
                     sdr_cmd <= SdrCmd_xx;
                  when "01" =>
                     sdr_cmd <= SdrCmd_bt;
                  when "10" =>
                     sdr_cmd <= SdrCmd_bt;
                  when "11" =>
                     sdr_cmd <= SdrCmd_xx;
                  when others => null;
               end case;
               state <= "10111";         -- s17

https://github.com/mvvproject/ReVerSE-U ... /sdram.vhd

Re: TS-Conf на ReVerSE-U8

PostPosted: Wed, 29.07.2015 12:49:47
by TS-Labs
Отключаешь авто-пречардж и делаешь закат солнца вручную: 1) активейт, 2) врайт (1 или 2 байта - в зависимости от того кто пишет проц или дма), 3) пречардж.
И да, перетащи контроллер на 133МГц - сэкономишь на длительности бурста.

Re: TS-Conf на ReVerSE-U8

PostPosted: Wed, 29.07.2015 13:13:55
by MVV
Нужно будет попробовать, если не пойдет, то придется паять проводок. Да, и ещё, вопрос - можно ли втиснуть запрос от GS или DMA Sound, а то без цифры не весело как-то.

Re: TS-Conf на ReVerSE-U8

PostPosted: Wed, 29.07.2015 13:33:08
by TS-Labs
Если буду заниматься конфой под реверс, то добавлю цифровой звук. На еве оно не добавлябельно.

Re: TS-Conf на ReVerSE-U8

PostPosted: Wed, 29.07.2015 14:50:39
by Sergey78
А что, есть софты для конфы, использующие ГС?

Re: TS-Conf на ReVerSE-U8

PostPosted: Wed, 29.07.2015 19:32:01
by MVV
Sergey78 wrote:А что, есть софты для конфы, использующие ГС?

Есть, очень классный Wild Commander. Вот бы для VS1053 плагинчик к нему ещё...

Re: TS-Conf на ReVerSE-U8

PostPosted: Wed, 29.07.2015 20:06:48
by TS-Labs
MVV wrote:Вот бы для VS1053 плагинчик к нему ещё...

Где описание портов?

Re: TS-Conf на ReVerSE-U8

PostPosted: Thu, 30.07.2015 00:22:18
by MVV
TS-Labs wrote:Где описание портов?

Пример:
Code: Select all
; Тест проигрывания MP3 v0.0.1

; Port #xx04 Data Buffer (write/read)
; Port #xx05 Command/Status Register (write/read)

; Data Buffer (write/read):
;   bit 7-0   = Stores read/write data

; Command/Status Register (write):
;   bit 7   = XSC      0: активен
;   bit 6   = XDCS      0: активен
;   bit 5   = mode      0: режим SCI/SDI; 1: STREAM 32bit(левый канал + правый канал)
;   bit 4-0   = Reserved

; Command/Status Register (read):
;    bit 7   = BUSY      1: Занято, идет передача; 0: Свободно
;    bit 6   = DREQ      1: Запрос новых данных; 0: Занято
;   bit 5-0   = Reserved

   ORG #8000
        DI

; Отключение SYSTEM_AUDIO потока звука от AY, GS....

        LD A,%11000000
        OUT (#05),A

        CALL WAIT

        LD A,%01000000   ; SCI
        OUT (#05),A

        LD D,#02      ; Write
        CALL VS_RW
        LD D,#00      ; SCL_MODE
        CALL VS_RW
        LD D,#48      ; SM_LINE1 & SM_SDNEW & SM_RESET
        CALL VS_RW
        LD D,#04
        CALL VS_RW

        CALL WAIT
        CALL WAIT
        CALL WAIT

        LD A,%11000000
        OUT (#05),A

        CALL WAIT

        LD A,%00000000   ; SDI
        OUT (#05),A

        LD HL,#8100             ; Адрес MP3 файла "ROCKET"
        LD BC,18252             ; Длина MP3 файла "ROCKET"
        CALL VS_STREAM          ; Проиграть

        LD BC,2048
CLS     LD D,0
        CALL VS_RW
        DEC BC
        LD A,C
        OR B
        JR NZ,CLS

        LD A,%11000000
        OUT (#05),A

        CALL WAIT

        LD A,%00000000
        OUT (#05),A


        LD HL,TABLE
        LD BC,44
        CALL VS_STREAM


; Подключить SYSTEM_AUDIO поток для вывода звука от AY, GS...
        LD A,%00100000          ; XCS=0 XDCS=0
        OUT (#05),A
        RET

VS_STREAM
        LD D,(HL)
        CALL VS_RW              ; Передача в VS1053
        INC HL
        DEC BC
        LD A,B
        OR C
        JR NZ,VS_STREAM
        RET

VS_RW   IN A,(#05)
        OUT (#FE),A
        RLCA
        JR C,VS_RW
        RLCA
        JR NC,VS_RW
        LD A,D
        OUT (#04),A

VS_RW1  IN A,(#05)
        OUT (#FE),A
        RLCA
        JR C,VS_RW1
        RLCA
        JR NC,VS_RW1
        IN A,(#04)
        RET

WAIT    LD BC,0
LL0     DEC BC
        LD A,C
        OR B
        JR NZ,LL0
        RET

; Обычный заголовок PCM с безконечной длиной для SYSTEM_AUDIO
; См. мануал VS1053b стр.51 9.6 Feeding PCM data
TABLE   DB #52,#49,#46,#46,#FF,#FF,#FF,#FF      ; REFF....
        DB #57,#41,#56,#45,#66,#6D,#74,#20      ; WAVEfmt
        DB #10
        DB #00,#00,#00,#01,#00,#02,#00

        DB #80,#BB,#00,#00                      ; 48kHz
        DB #00,#EE,#02,#00

        DB #04,#00
        DB #10,#00
        DB #64,#61,#74,#61                      ; data
        DB #FF,#FF,#FF,#FF

http://zx-pk.ru/showpost.php?p=621709&postcount=897

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 04.10.2015 22:49:59
by MVV
Небольшое обновление TS-Conf для reverse u8

TS-Conf build 20151004
.доработан контроллер SDRAM (автор shurik-ua)

теперь проводочек который припаивали к выв.39 SDRAM можно отпаять и выв.39 посадить на землю - то есть вернуть в первоначальное положение )

Re: TS-Conf на ReVerSE-U8

PostPosted: Fri, 27.11.2015 23:44:00
by Merlin2010
Залил эту конфу в свой U8 - есть проблема с чтением ROM. Ни с одной из имеющихся SD карт (четыре штуки) не грузится ROMS/ZXEVO.ROM ( SD card, FAT32. Форматировал и с разбиением на разделы и без - все равно.
Файл в папке есть, но ядро или сразу пишет absent или зависает на загрузке Rom (F12 при этом перезапускает процесс заново но всё равно висит). Куда копать?
Эти же карточки отлично работают в других конфигурациях U8.

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 29.11.2015 23:07:30
by MVV
Merlin2010 wrote:Залил эту конфу в свой U8 - есть проблема с чтением ROM.

Перепрошил ts-conf (build 20151004) для U8, описанную выше проблему не обнаружил (не удалось повторить), проверил на двух платах и парой SD (FAT32). Т.к. с момента сборки прошивки никто не отписался по этой проблеме, могу предложить, что проблема только у Вас одного. Копайте loader, добавив код проверки загрузки файла с SD... У меня имя папки и файла в нижнем регистре - "roms/zxevo.rom".

Re: TS-Conf на ReVerSE-U8

PostPosted: Sat, 05.12.2015 00:36:22
by biyixuj
Прошивал, проблемы не наблюдаю.

Re: TS-Conf на ReVerSE-U8

PostPosted: Sat, 09.04.2016 20:32:04
by kasper
А у меня REVERSE U8 на ПЛИС с индексом I7N, конфигурация не заработала, проект менял под нее, ПЛЛ на grade 7 поставил... Проблема с SDRAM, если судить по начальному экрану, в 1 трети в каждом нечетном столбце не пишутся 1 в D2 и D4, во 2 трети D7 и D5((. SDRAM сдул, поставил новую - ситуация почти таже, правда единицы иногда пишутся. Куда смотреть кто бы подсказал? Не хочется сдувать I7N и ставить C8N.

Re: TS-Conf на ReVerSE-U8

PostPosted: Sat, 09.04.2016 23:47:14
by TS-Labs
Хм... Почему я не удивлен?

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 10.04.2016 00:46:14
by TS-Labs
MVV, как ты там сделал эмуляцию 16-битного доступа? Я бы сделал бурст из 2-х адресов с маскированием записи.

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 10.04.2016 18:10:27
by kasper
Так там и есть burst из 2 адресов. Почему именно 2 бита, и именно эти биты не успевают считаться или записаться на I7N при определенных адресах. А маскирование записи - имеется ввиду использование сигнала DQM?

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 10.04.2016 18:11:10
by kasper
А MVV куда то пропал, видно ему уже не интересно (((

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 10.04.2016 18:22:43
by TS-Labs
kasper wrote:А маскирование записи - имеется ввиду использование сигнала DQM?

Да.

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 10.04.2016 18:57:52
by kasper
Стоп, у меня в исходнике
when "00011" | "01010" => -- s03 s0A
sdr_cmd <= SdrCmd_re; -- REFRESH
state <= state + 1;
when "10001" => -- s11
sdr_cmd <= SdrCmd_ms; -- LOAD MODE REGISTER
sdr_a <= "000" & "0" & "00" & "010" & "0" & "000"; -- BURST (2byte) read/write
state <= state + 1;

но это не burst, а последовательное чтение.
Придется наверное проводок паять на DQM. Версия контроллера от shurik_ua у меня не работает, а разобраться в чем дело не получается((

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 10.04.2016 19:11:13
by kasper
Там несколькими постами выше у merlina такая же проблема, скорее всего. Глюки SDRAM не попали на экран, и он их не заметил. А так как из ОЗУ читается чушь - получается зависание.

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 10.04.2016 20:07:58
by TS-Labs
Без DQM в принципе тоже можно реализовать, раз он не припаян.
Просто выбирать из 3 вариантов при записи:
- если пишем только по А0=0, то ставим адрес хххххх0, прерываем бурст после 1 байта,
- если пишем только по А0=1, то ставим адрес хххххх1, прерываем бурст после 1 байта,
- если пишем по 2 адресам, то ставим адрес хххххх0, бурст идет 2 байта.
Учитывая, что 16-битное обращение всегда по смежным адресам, риска перехода на другой ROW нет.
Должно работать, если по времянкам все в порядке.

Re: TS-Conf на ReVerSE-U8

PostPosted: Sun, 10.04.2016 22:48:12
by MVV
kasper wrote:Версия контроллера от shurik_ua у меня не работает, а разобраться в чем дело не получается((

Проверил на двух платах, работает. Что за память у тебя на плате? Попробуй проверить тестом во вложении...