User Tag List

Страница 3 из 12 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 119

Тема: Корвет на ПЛИС ?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от eugeniusz Посмотреть сообщение
    ILoveSpeccy, есть ли прогресс? У меня-то нету никакого :-)
    Вчера вечером вспомнил про свой проект корвета на DE1. Отрыл сырки, запустил, побаловался немного. Решил по-возможности продолжить работу над проектом. Новостей пока нет. Немного прибрал сырки, и по ходу появилась пара идей, как оптимировать работу с графикой. Пока займусь этим.

    Если у кого нибудь есть плата Altera DE1 и желание "поиграться" с текущим проектом, могу выложить файлы для заливки в FPGA.
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос Сергею,
    палитра цветов Корвета в Вашем эмуляторе просто "на глаз" сделана?
    Цвета у меня в эмуле и на DE1 не такие как у Вас.

    Может кто подскажет как сделать красивую палитру 16 цветов в формате RGB по 8 бит на цвет?
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  4. #3

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    так, а там жеж как бы нет палитры ...

    там же просто RGBI

    или Вы про оттенки цветов ??

    в откуда взялитсь цифры в коде - не помню уже
    но там 8битная палитра

    вроде и у меня и у b2m цвета похожи ...
    Последний раз редактировалось esl; 16.05.2013 в 12:06.

  5. #4

    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    или Вы про оттенки цветов ??
    Да, я это имел в виду.
    У меня цвета получаются, как бы это описать, очень яркие. Не приятно смотрится картинка.

    В Вашем эмуляторе цвета "нежнее".

    Тогда я просто "передеру" их у Вас один-в-один!

    ---------- Post added at 10:16 ---------- Previous post was at 10:12 ----------

    Вчера отладил в симуляторе свой контроллер прерываний на VHDL. Вроде работает. Только доделать чтение из регистров осталось. Приоритетов нет. IRQ0 у меня первый, остальные после него по-очереди.
    В корвете вообще приоритеты прерываниям важны???

    В моём эмуляторе вообще только одно прерывание по VBLANK и из регистров всегда читается "0". Но софт, который я пробовал, вроде весь работал...
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  6. #5

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    Да, я это имел в виду.
    У меня цвета получаются, как бы это описать, очень яркие. Не приятно смотрится картинка.

    В Вашем эмуляторе цвета "нежнее".

    Тогда я просто "передеру" их у Вас один-в-один!


    можно попросить "электронщиков" посчитать цвета по схеме

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    Да, я это имел в виду.

    Вчера отладил в симуляторе свой контроллер прерываний на VHDL. Вроде работает. Только доделать чтение из регистров осталось. Приоритетов нет. IRQ0 у меня первый, остальные после него по-очереди.
    В корвете вообще приоритеты прерываниям важны???

    В моём эмуляторе вообще только одно прерывание по VBLANK и из регистров всегда читается "0". Но софт, который я пробовал, вроде весь работал...
    флаги, маски - нужны, вроде были глюки без них (на память приходит POPCORN)

    приоритеты вроде не используются, вроде смысла нет использовать

    у меня использовалось 2 (VBL+SERIAL (для мыши)

    хотя правильно надо бы
    обязательное
    VBL

    очень желательное
    TIMER2 (для плат с ОПТС2)

    очень желательное
    SERIAL (мышка)
    NET (для сети )

    вот описание с коментарием (где видел использование)

    >0 - запрос от дополнительных внешних устройств, подключенных к разъему РАСШИРЕНИЕ;

    ПЗУ ОПТС для определения подключенного внешнего блока пзу

    >1 - запрос от адаптера последовательного интерфейса (готовность приема);
    >2 - запрос от адаптера последовательного интерфейса (готовность передачи);

    1 - нужно для мышки

    >3 - запрос от адаптера локальной сети;

    нужно если реализовывать сеть

    >4 - запрос сигналом кадрового гасящего импульса VBL с частотой 50 Гц;

    обязательно, это основное прерывание

    >5 - запрос от канала 2 программируемого таймера;

    а с ним прикол, в оригинальных платах (ОПТС1), там на входе VBL, не очень полезно, и не видел использования
    в новых платах ОПТС2 там на входе ~HBL, и можно получить прерывание когда лучь пройдет нужную строку
    на сколько я знаю его использует АБРИС
    и игры от GoldSoft (без него они тоже работали, но графика мигает)


    >6 - запрос от интерфейса принтера;

    разве что в теории можно использовать для фоновой печати.

    >7 - запрос от контроллера НГМД.

    последнее я так и не понял как можно использовать, оно происходит через когда гаснет лампа выбора дисковода (3 сек после последнего обращения), как это можно использовать - я не понял

  7. #6

    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С прерываниями пока вроде всё ясно. Теперь по таймеру есть вопрос.
    Сергей, в Вашем эмуляторе не реализовано чтение у таймера ВВ53.
    Это как либо повлияло на совместимость с каким либо корветовским софтом?

    p.S. что с Вашим сайтом pk8020.narod.ru ???

    p.p.S сегодня полностью переписал код ВВ55. Как приду домой, буду прикручивать доделанный контроллер прерываний. Осталось немного до работоспособного клона корвета на FPGA...

    ---------- Post added at 20:30 ---------- Previous post was at 20:24 ----------

    Кстати, может ли реально пригодиться на FPGA-корвете реализация порта принтера, магнитофона, мыши, джойстика, сети, последовательного порта, порта расширения?
    Просто работы много требует, а будет ли смысл?

    Как допилю таймер и прерывания, останется только дисковод... Да и тот уже отлажен в си.
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  8. #7

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    Теперь по таймеру есть вопрос.
    Сергей, в Вашем эмуляторе не реализовано чтение у таймера ВВ53.
    Это как либо повлияло на совместимость с каким либо корветовским софтом?
    ух ты, а я и забыл
    для правильной эмуляции я бы теперь делал чтение ...
    тем более вроде есть готовые PIT для альтеры

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    p.S. что с Вашим сайтом pk8020.narod.ru ???
    переезд на ucoz ....

    при переезде все HTML стали =0
    хотя остальные файлы остались и качаются по прямым ссылкам

    уже месяц пишу в поддержку.
    они все сделаем, сделаем, в факе написано "не трогайте исходные файлы"
    вот я и жду, вдруг починят

    хотя похоже уже проще перезалить из бекапа

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    p.p.S сегодня полностью переписал код ВВ55. Как приду домой, буду прикручивать доделанный контроллер прерываний. Осталось немного до работоспособного клона корвета на FPGA...

    супер!

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    Кстати, может ли реально пригодиться на FPGA-корвете реализация порта принтера, магнитофона, мыши, джойстика, сети, последовательного порта, порта расширения?
    Просто работы много требует, а будет ли смысл?
    мое имхо

    >порта принтера по идее он и есть (последовательного порт),
    имхо нет смысла совсем, что печатать с корвета ???
    >магнитофона,
    почти нет, разве что есть желание с этим играться
    >мыши,
    есть несколько граф редакторов в которых она работает
    собственно эт обычный RS232
    >джойстика,
    имхо - нет, т.к. нет "сандартного" джойстика
    тот что на плате - "Аналоговый" не видел чтоб разводили на школьных машинах
    и тем более использовали
    в нескольких игрушках есть упоминание джойстика, но эт скорее экзотика
    тем более точно были и другие реализации
    т.е. имхо - нет
    >сети,
    разве что для экспериментов, хотя забавно, но там же токовая петля
    >порта расширения?
    опять же, если совсем много портов есть лишних, то было бы забавно
    но там же целых 25 бит портов
    вход прерываний
    таймер

    в реальной жизни есть мое описание внешнего ПЗУ
    есть некий набор "расширителя портов" с джойстиком и мышой (без поддержки софтом
    в общем. эт из серии "чтоб все было"

    вот таймер точно было бы полезно иметь полный
    и PIC тоже

  9. #8

    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Просидел до 4 утра, но PIC так и не удалось запустить. Смотрю логическим анализатором...
    ОПТС2.0. При разрешении прерывания процом 3 раза генерируется INTA, процом читаются байты 0xCD, 0xF0, 0xF7. Текущий адрес сохраняется в стёке и прыгаем по адресу. Короче вроде всё как надо. Но нет. Примерно через секунду после обработки первого прерывания, так и не выйдя в бейсик, экран заполняется девятками и висим.
    Пробовал также корку 8259 из исходников башкирии от b2m. Абсолютно такая же реакция.

    Может существует возможность как нибудь быстро диагностировать проблему?

    Пока я только один путь вижу, дампить по RS232 например всё, что пишет/читает проц и сравнивать с эмулятором на компе. Потом искать где расхождения и почему.
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  10. #9

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    Может существует возможность как нибудь быстро диагностировать проблему?
    Если пишешь на верилоге, то можно запустить в Icarus Verilog и сравнить с эмулятором. Тестовый модуль верхнего уровня пишется за 15 минут. Вот такой, например:
    Код:
    module test;
    
    reg[7:0] mem[0:127];
    
    wire[15:0] addrbus;
    wire[7:0] cpu_i = mem[addrbus];
    wire[7:0] cpu_o;
    wire cpu_ce = 1'b1;
    wire cpu_sync;
    wire cpu_rd;
    wire cpu_wr_n;
    
    reg reset;
    reg clk;
    
    k580wm80a cpu(.clk(clk), .ce(cpu_ce), .reset(reset),
    	.idata(cpu_i), .addr(addrbus), .sync(cpu_sync),
    	.rd(cpu_rd), .wr_n(cpu_wr_n), .odata(cpu_o));
    
    always #5 clk = ~clk;
    
    always @(posedge clk) if(~cpu_wr_n) mem[addrbus] <= cpu_o;
    
    initial begin
      $readmemh("k580test.hex", mem);
      $dumpfile("k580test.vcd");
      $dumpvars(2, test);
      reset = 1; clk = 0;
      #100
      reset = 0;
      #3000
      $finish;
    end
    
    endmodule
    Это я в своё время процессор тестировал, но в тест можно и других устройств напихать. Спецы с marsohod.org таким образом даже linux для ARM до промпта запускали.

  11. #10

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    ОПТС2.0. При разрешении прерывания процом 3 раза генерируется INTA, процом читаются байты 0xCD, 0xF0, 0xF7. Текущий адрес сохраняется в стёке и прыгаем по адресу.
    а что в памяти по адресe f7f0?
    должно быть c3 76 00 (jmp 0076)

    есть идея, что эти байты не записались в RAM (они копируются из ром на этапе инициализации)

    и еще вопрос, а работает ли CP/M после загрузки ?
    и ОПТС1 должен работать, там клавиатура работает не по прерываниям, они запрещены

    вот код обработчика из ОПТС2 в мнемонике i8080

    Код:
    RAM:0076 C3 94 0F                 jmp     Int_Periodical
    
    RAM:0F94          Int_Periodical:                         ; CODE XREF: RAM:0076j
    RAM:0F94 F5                       push    psw
    RAM:0F95 3A 6E F7                 lda     LutFlag
    RAM:0F98 B7                       ora     a
    RAM:0F99 C4 AF 0F                 cnz     UpdateLUT
    RAM:0F9C FB                       ei
    RAM:0F9D 3A 19 F7                 lda     SYMNBUF
    RAM:0FA0 B7                       ora     a
    RAM:0FA1 C4 7C 00                 cnz     INT_routine
    RAM:0FA4 F1                       pop     psw
    RAM:0FA5
    RAM:0FA5          _EOI:                                   ; CODE XREF: RAM:loc_70j
    RAM:0FA5 F3                       di
    RAM:0FA6 F5                       push    psw
    RAM:0FA7 3E 20                    mvi     a, 20h ; ' '
    RAM:0FA9 32 28 FB                 sta     PIC_RUS
    RAM:0FAC F1                       pop     psw
    RAM:0FAD FB                       ei
    RAM:0FAE C9                       ret
    а вот он-же в z80
    Код:
    RAM:007C          INT_routine:                            ; CODE XREF: RAM:0FA1p
    RAM:0076 C3 94 0F                 jp     Int_Periodical
    
    RAM:0F94          Int_Periodical:                         ; CODE XREF: RAM:0076j
    RAM:0F94 F5                       push    af
    RAM:0F95 3A 6E F7                 ld      a, (LutFlag)
    RAM:0F98 B7                       or      a
    RAM:0F99 C4 AF 0F                 call    nz, UpdateLUT
    RAM:0F9C FB                       ei
    RAM:0F9D 3A 19 F7                 ld      a, (SYMNBUF)
    RAM:0FA0 B7                       or      a
    RAM:0FA1 C4 7C 00                 call    nz, INT_routine
    RAM:0FA4 F1                       pop     af
    RAM:0FA5
    RAM:0FA5          _EOI:                                   ; CODE XREF: RAM:0070j
    RAM:0FA5 F3                       di
    RAM:0FA6 F5                       push    af
    RAM:0FA7 3E 20                    ld      a, 20h ; ' '
    RAM:0FA9 32 28 FB                 ld      (PIC_RUS), a
    RAM:0FAC F1                       pop     af
    RAM:0FAD FB                       ei
    RAM:0FAE C9                       ret


    ---------- Post added at 22:22 ---------- Previous post was at 22:16 ----------

    Цитата Сообщение от ILoveSpeccy Посмотреть сообщение
    Сергей, какими инструментами Вы пользуетесь. Я скачал книгу по ассемблеру 8080 инашел немного кода в инете. Но как мне сделать bin файл? Есть ли какой нибудь кросс-ассемблер для винды?
    Пробовать буду в эмуляторе (подгружать бинарник вместо ПЗУ) и на FPGA.

    ---------- Post added at 21:03 ---------- Previous post was at 21:02 ----------

    исходники ОПТС думаю тоже пригодятся.
    чуть позже выложу

    например http://home.comcast.net/~tasm/index.htm
    доки можно посмотреть на сайте Вектора
    http://vector06c.narod.ru/
    и их архиве софта http://asdasd.rpg.fi/~svo/scalar/categories/41/
    Последний раз редактировалось esl; 21.05.2013 в 14:16.

Страница 3 из 12 ПерваяПервая 1234567 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. SMUC на дискретах и ПЛИС
    от spensor в разделе Scorpion
    Ответов: 846
    Последнее: 02.05.2025, 08:36
  2. ПЛИС и всё что с ними связано
    от Sayman в разделе Для начинающих
    Ответов: 1909
    Последнее: 17.11.2024, 12:43
  3. ЮТ-88: Реализация на ПЛИС (DE1)
    от Santechnik в разделе ЮТ-88
    Ответов: 61
    Последнее: 13.05.2022, 08:22
  4. Вопрос по ПЛИС
    от Zloy в разделе Несортированное железо
    Ответов: 23
    Последнее: 17.10.2015, 17:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •