nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 10:33



Reply to topic  [ 97 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 7  Next
Аппаратный эмулятор Радио-86РК на ESP8266 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
heavy wrote:
Единственное, с чем я не сталкивался - так это с генерацией цвета в ТВ-сигнале. Читал что-то про квадратурную модуляцию, но, насколько понимаю, для цветов Спека хватит просто двигать фазу цветовой несущей, верно ?

Это смотря чего генерить - NTSC легко (сам пробовал на PIC32), а вот с PAL будут проблемы т.к. он каждую строку крутит на 120 градусов по фазе - чистого программного цвета для PAL я у людей так и не увидел...

_________________
:dj: https://mastodon.social/@Shaos


03 Mar 2018 23:21
Profile WWW
Novelist

Joined: 03 Mar 2018 01:22
Posts: 32
Reply with quote
Shaos wrote:
Это смотря чего генерить - NTSC легко (сам пробовал на PIC32), а вот с PAL будут проблемы т.к. он каждую строку крутит на 120 градусов по фазе - чистого программного цвета я у людей так и не увидел

При учете мультисистемности современных телеков, думаю, можно и NTSC генерить.
К тому же у ESP8266 очень удобный модуль I2S. Ему можно не просто буфера скармливать, а цепочку буферов, при этом указывать в какие моменты он будет мне дергать прерывание, чтобы я готовил следующие буфера. Т.е. можно будет создать цепочку: синхра, цвет, яркость, гашение. При этом буфер для цвета генерить один раз на 8 строк. Синхра и гашение будут вообще одним буфером для всех строк. Это будет неплохо экономить ОЗУ.


03 Mar 2018 23:25
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Ну я в своё время не смог в России найти правильный (60 Гц) телек NTSC (в 2003 году), а сейчас в штатах (с 2004 года) не могу найти правильный (50 Гц) телек понимающий PAL, так что с видео режимами не всё так просто...

P.S. Тут у меня были только коммодоровский монитор, который сам по себе 50 Гц / 15 кГц но с RGB-входом, и самсунговский мультисистемный видеомагнитофон, генерящий очень хреновую картинку из PAL в NTSC (уже сгорел), ну и китайские мелкие ч/б-телеки с кинескопами, у которых частота кадров подкручивалась сзади, но это не считается, т.к. они не цветные...

_________________
:dj: https://mastodon.social/@Shaos


03 Mar 2018 23:40
Profile WWW
Online
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
heavy wrote:
Я обычно начинаю с эмуляции железа.

А не слишком ли затруднит чуть прдробнее рассказать о подходах к созданию программных эмуляторов железа ?

Я, при необходимости, функциональность одного железа другим (HDL) реализовываю, но периодически сталкиваюсь с тем, что вроде бы проще/логичнее было бы что-то программно сделать...


04 Mar 2018 00:08
Profile
Novelist

Joined: 03 Mar 2018 01:22
Posts: 32
Reply with quote
Записал небольшой видосик. Правда на мелком телеке (3.5"), на котором отлаживаюсь на столе.


04 Mar 2018 00:26
Profile
Novelist

Joined: 03 Mar 2018 01:22
Posts: 32
Reply with quote
newold86 wrote:
heavy wrote:
Я обычно начинаю с эмуляции железа.

А не слишком ли затруднит чуть прдробнее рассказать о подходах к созданию программных эмуляторов железа ?

Я, при необходимости, функциональность одного железа другим (HDL) реализовываю, но периодически сталкиваюсь с тем, что вроде бы проще/логичнее было бы что-то программно сделать...


Честно говоря, не знаю с чего и начать. В принципе эмуляция делается обычно макро-блоками. Я не делаю точной эмуляции микросхемы. Например, есть ИК57, мне от нее нужно только поймать команду на установку адреса для передачи. Просто обрабатываю запись в регистры ИК57 и когда мне приходят все данные команды, перенастраиваю свой видеоадаптер.
Мой первый эмулятор был для PIC16F84 как только они появились. У Микрочипа тогда был только mpasm, я же тогда сделал эмулятор под дос еще на паскале. Много чего тогда на этом эмуляторе отладил. Самое удобное в таких самодельных эмуляторах то, что можно доделать эмуляцию железа, чего обычно готовые эмуляторы не делают.

В общем по эмуляции лучше задавать вопросы, что просто так написать - хз.


04 Mar 2018 00:33
Profile
Online
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
heavy wrote:
В общем по эмуляции лучше задавать вопросы, что просто так написать - хз.

Да как раз в этом и проблема - чтобы задавать нормальные вопросы, нужно предмет более-менее понимать... Какой-то замкнутый круг получается...

Например, каким образом обеспечивается параллельная работа разных частей проекта ? Есть что-то типа глобального тактового сигнала ?


04 Mar 2018 00:56
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Эмуляция микрокомпьютеров как я понимаю пляшет от системы команд этого микрокомпьютера (как минимум я плясал всегда оттуда)

Есть более "запущенные" варианты, где, например, надо параллельно генерить звук - для этого, например, смотрим исходники эмуля emu80

_________________
:dj: https://mastodon.social/@Shaos


04 Mar 2018 01:44
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Тут люди уже и PC-XT на этой железяке запустили! :o

https://www.open-electronics.org/esp8266-pc-xt-emulator-with-cga-video-output/

_________________
:dj: https://mastodon.social/@Shaos


04 Mar 2018 03:17
Profile WWW
Novelist

Joined: 03 Mar 2018 01:22
Posts: 32
Reply with quote
Делаю клавиатуру, нужна помощь по ВВ55. Похоже, я что-то неправильно понимаю.
ВВ55 переводится в режим 0, т.е. просто 3 порта A,B,C.
Главный вопрос относительно светодиода РУС/ЛАТ. Монитор постоянно пишет в порт C значение 0, потом пишет в управляющий регистр 0x06 (ЛАТ) или 0x07 (РУС). Что соответствует сбросу и установке бита 3 регистра C. Т.е. в режиме "РУС" на светодиод идет меандр ? Или я как-то не так понял принцип работы порта C в ВВ55 ?


04 Mar 2018 06:07
Profile
Online
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
Кстати, а почему тема называется «аппаратный» эмулятор ?


04 Mar 2018 10:54
Profile
Novelist

Joined: 03 Mar 2018 01:22
Posts: 32
Reply with quote
newold86 wrote:
Кстати, а почему тема называется «аппаратный» эмулятор ?


А как его назвать, если он сам-в-себе, нужен только телек и клава ? Ведь РК86 на ПЛИС называете аппаратным эмулятором ? Чем тот же VHDL от Си отличается по сути дела ?


04 Mar 2018 11:47
Profile
Novelist

Joined: 03 Mar 2018 01:22
Posts: 32
Reply with quote
У меня тут новости. Позанимался сегодня пару часом эмулятором.
Сделал нормальную поддержку PS/2 клавы. При этом почкался с перекодированием раскладок. Т.ч. можно на РК86 писать так же, как нарисовано на кнопках клавы. По-моему удобно, хотя кому-то может показаться неправильным.
Все выложено на гитхабе. Завтра постараюсь еще видосик запилить на нормальном телеке и чтобы все было видно.


04 Mar 2018 11:49
Profile
Online
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
heavy wrote:
Чем тот же VHDL от Си отличается по сути дела ?

Это шутка такая ?


04 Mar 2018 21:57
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Ну по большому счёту VHDL - это язык программирования для эмуляции железа на сети LUT-ов...

_________________
:dj: https://mastodon.social/@Shaos


04 Mar 2018 22:29
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 97 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 7  Next

Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.