Плата центрального недопроцессора nedoCPU-32
Moderator: Shaos
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Начал городить опенсорцную либу:
https://github.com/shaos/xorlib
У автора осциллографа также разрешения спросил заюзать его код...
https://github.com/shaos/xorlib
У автора осциллографа также разрешения спросил заюзать его код...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
А вот на большом ТВ подсветка не выглядит столь привлекательной 
Видимо придётся диод втыкать, чтобы было как на ZX - чёрный не должен подсвечиваться...

Видимо придётся диод втыкать, чтобы было как на ZX - чёрный не должен подсвечиваться...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Короче задачу вижу так - разрабатываю простейшую схему на основе PIC32 (по сути уже готова), которую кто угодно с некривыми руками может собрать на бредборде, далее делаю опенсорцную либу на сях, пишу пару-тройку игр (в том числе 3D) - опять же на сях, а остальное сделает заинтересовавшийся народ - как идея?Shaos wrote:Можно примерно подсчитать стоимость минимального игрового компьютера на PIC32, если бы пользователь собирал его сам на бредборде (по ценам DigiKey):
IC1: PIC32MX170F256B-I/SP - $4.49
LED1: красный светодиод 5 мм - $0.15
C1,C2: ненужны, если питаемся от батареек
C3,C4,C6: 0.1uF (ceramic) - 3*$0.24 = $0.72
C5: 10uF (ceramic) - $0.49
C7: ненужен, если питаемся от батареек
C8,C9: ненужны
R1: 10 Ohm - $0.10
R2: 10 kOhm - $0.10
R3,R4: 470 Ohm - 2*$0.10 = $0.20
X5: хедер для PICkit3 - примерно $0.20
S1-S7: кнопка ресета и игровые кнопки - 7*$0.12 = $0.72
Резисторы для кнопок - 6*$0.10 = $0.60
RCA разъёмы (звук и видео) - 2*$1 = $2 (примерно)
Резисторы для звука и видео - 5*$0.10 = $0.50
Держатель для двух пальчиковых батареек - $1 (плюс-минус)
Две пальчиковые батарейки - 2*$1 = $2 (примерно)
Всего $13.27 плюс бредборда и проводочки (ну скажем ещё $5) - по моему очень неплохо...

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Banned
- Posts: 397
- Joined: 04 Jan 2013 10:09
- Location: 95.24.178.158
Re: Плата центрального недопроцессора nedoCPU-32
Звучит уже как глас вопиющего в пустыне...Shaos wrote:...а остальное сделает заинтересовавшийся народ - как идея?

Может быть, сначала спросить:"Народ, а у вас есть эти самые PIC32 на 64 MHz?"
P.S. Я, кстати, что-то кварца в списочке компонентов не заметил...
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Незнаю как у вас, а у нас они легко доставаемы (и разгоняемы до 80 МГц)...
P.S. Генератор там встроенный на 8 МГц из которого получаются внутренние частоты периферии и ядра (в нашем случае 32 МГц и 64 МГц).
P.S. Генератор там встроенный на 8 МГц из которого получаются внутренние частоты периферии и ядра (в нашем случае 32 МГц и 64 МГц).
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Попробую ка я программно генерить "NTSC color burst" - если у японца получилось, то и у меня получится 
P.S. Первое, что надо сделать, это заюзать внешний кварц 14.31818 МГц вместо внутреннего осциллятора, чтобы задать точную частоту этого самого "NTSC color burst", которая должна быть ровно 3.579545 MHz...
P.P.S. Пока попробовал обмануть телевизор SONY путём тонкой подстройки частоты встроенного генератора клока и подбором резисторов глядя в осциллограф (получилось что-то похожее на вот это) - хотелось повторить CGA-трюк, но вышло нечто разноцветное - выводилась чёрно-белая картинка 768x200, захватывающая в том числе и "color burst" левым краем - видимо таки нужен точный кварц

P.S. Первое, что надо сделать, это заюзать внешний кварц 14.31818 МГц вместо внутреннего осциллятора, чтобы задать точную частоту этого самого "NTSC color burst", которая должна быть ровно 3.579545 MHz...
P.P.S. Пока попробовал обмануть телевизор SONY путём тонкой подстройки частоты встроенного генератора клока и подбором резисторов глядя в осциллограф (получилось что-то похожее на вот это) - хотелось повторить CGA-трюк, но вышло нечто разноцветное - выводилась чёрно-белая картинка 768x200, захватывающая в том числе и "color burst" левым краем - видимо таки нужен точный кварц

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
От подсветки кусочков строк думаю придётся отказаться - этот Compare Output нужен будет для смещения "NTSC color burst" вниз (можно ещё им же внешнюю схемку задержки включать, чтобы немного сдвинуть фазу color-burst-a относительно всего остального для получения более аутентичных цветов)...Shaos wrote:А вот на большом ТВ подсветка не выглядит столь привлекательной
Видимо придётся диод втыкать, чтобы было как на ZX - чёрный не должен подсвечиваться...
P.S. А пока вроде красивее, чем у японца получается - у него 5 ног на формирование видео уходит и основная зубодробилка написана на асме - у меня всего 3 ноги и всё на сях, кроме того по максимум задействована связка DMA+SPI для разгрузки проца!
P.P.S. Вот ещё про CGA-трюки статья: http://nerdlypleasures.blogspot.com/201 ... phics.html
P.P.P.S. Есть проблема (см. http://hackaday.io/post/2279 глава 9) - DMA в PIC32 произвольно выбирает моменты, когда надо выплёвывать слова, соответственно те цветовые изменения, что видны на вышеприведённой картинке, связаны не с нестабильностью генератора, а с тем, что DMA сам сдвигает фазу на 120 градусов каждые 32 пиксела!!!

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
На самом деле таки проблема была в неточности внутреннего генератора - как только подключил правильный внешний кварц (14.31818 МГц) и пересчитал все задержки под него (частота проца уменьшилась до 57.27272 МГц), то всё заработало 

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Хоть цвета справа немного и размазались, но в целом получилось - даже удалось какую-то степень схожести с CGA-трюками получить 
Наверное уже можно прямо так и оставить - не двигая никуда фазу color-burst-a...
P.S. Суть трюка в том, что ради экрана 640x200 пришлось ещё слева в каждую строку добавить 96 пикселов color-burst-a (9*4=36 пикселов) и пустоты перед видео (ещё 60) - т.е. всего получается в памяти картинка 736x200, которая занимает 18 килобайт! Это между прочим 28% всего ОЗУ самого большого PIC32 в DIP-e! Цветовое разрешение по горизонтали в 4 раза меньше чёрно-белого, т.е. вместо 640 получаем 160 (т.к. каждый цвет требует 4 чёрно-белых пиксела для самогенерации), да и чёрно-белое разрешение желательно сделать 320, чтобы цвета по ошибке не подхватывались...
P.P.S. Вот такая палитра получилась (усреднял по фотке), которую с какой-то погрешностью можно переложить на EGA-цвета:
Цветов на самом деле 15, т.к. серый 0101 идентичен серому 1010 (в CGA они были разные возможно из-за разной ширины чётных и нечётных пикселов)...

Наверное уже можно прямо так и оставить - не двигая никуда фазу color-burst-a...
P.S. Суть трюка в том, что ради экрана 640x200 пришлось ещё слева в каждую строку добавить 96 пикселов color-burst-a (9*4=36 пикселов) и пустоты перед видео (ещё 60) - т.е. всего получается в памяти картинка 736x200, которая занимает 18 килобайт! Это между прочим 28% всего ОЗУ самого большого PIC32 в DIP-e! Цветовое разрешение по горизонтали в 4 раза меньше чёрно-белого, т.е. вместо 640 получаем 160 (т.к. каждый цвет требует 4 чёрно-белых пиксела для самогенерации), да и чёрно-белое разрешение желательно сделать 320, чтобы цвета по ошибке не подхватывались...
P.P.S. Вот такая палитра получилась (усреднял по фотке), которую с какой-то погрешностью можно переложить на EGA-цвета:
Code: Select all
#000000 - 0000 - black (no color) -> EGA 0 (black)
#205CA0 - 0001 - gray-blue ~> EGA 1 (blue)
#7030C0 - 0010 - dark purple ~> EGA 5 (magenta)
#6870E4 - 0011 - sky blue -> EGA 9 (bright blue)
#883020 - 0100 - dark brown ~> EGA 4 (red)
#545054 - 0101 - gray (no color) ~> EGA 7 (white)
#CC5494 - 0110 - pink ~> EGA 12 (bright red)
#A440EC - 0111 - light purple ~> EGA 13 (bright magenta)
#0C5420 - 1000 - dark green -> EGA 2 (green)
#2CA884 - 1001 - light gray-green ~> EGA 3 (cyan)
#585460 - 1010 - gray (no color) -> EGA 8 (gray)
#147CE8 - 1011 - light blue -> EGA 11 (bright cyan)
#989838 - 1100 - yellow (identical to color burst) -> EGA 14 (yellow)
#24BC38 - 1101 - light green -> EGA 10 (bright green)
#C86030 - 1110 - light brown -> EGA 6 (brown)
#A098B0 - 1111 - white (no color) -> EGA 15 (bright white)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Видимо от режима 256x200 с почти что квадратными пикселами (и круглыми окружностями) придётся отказаться (ну не натягивается он на частоту 57.27272 МГц) - в результате остаются только ПЦ режимы - 320x200 да 640x200 с цветом и без...
P.S. Вот окончательная отцентрированная версия тестовых цветов для 640x200 (на широкоэкранном ТВ растянуто и близко к 16:9):
P.S. Вот окончательная отцентрированная версия тестовых цветов для 640x200 (на широкоэкранном ТВ растянуто и близко к 16:9):
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
С другой стороны 256x200 тоже можно оставить как вариант - ведь с ним всё быстрее и без кварца можно обойтись...Shaos wrote:Видимо от режима 256x200 с почти что квадратными пикселами (и круглыми окружностями) придётся отказаться (ну не натягивается он на частоту 57.27272 МГц) - в результате остаются только ПЦ режимы - 320x200 да 640x200 с цветом и без...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Вот, например, что можно сделать с этими 15 цветами в 160x200 - растянуто до 640x480 для сохранения пропорций 
P.S. Размер этого GIF-файла 160x200 составляет 9281 байт, а несжатая картинка 160x200 с 16 цветами весит 16000 байт...

P.S. Размер этого GIF-файла 160x200 составляет 9281 байт, а несжатая картинка 160x200 с 16 цветами весит 16000 байт...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Про либу теперь в другом месте:Shaos wrote:Начал городить опенсорцную либу:
https://github.com/shaos/xorlib
У автора осциллографа также разрешения спросил заюзать его код...
viewtopic.php?f=81&t=10948
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
А ещё можно портануть AGI-интерпретатор и крутить некоторое количество старых квестов от сьерры 
http://sarien.sourceforge.net/screenshots/page1.php
Там и цвета подходящие, и разрешение

http://sarien.sourceforge.net/screenshots/page1.php
Там и цвета подходящие, и разрешение

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Плата центрального недопроцессора nedoCPU-32
Ой, а цветов то там сильно больше!
Оказалось, что в чётных и нечётных строках один и тот же паттерн генерит разные цвета!!!
Например паттерн жёлтого (четвёртый цвет снизу) разбивается на красный и зелёный и процессор моего ТВ склеивает их вместе так, что оно видится как жёлтый (если оставлять соседнюю строчку чёрной - то будет видны красный или зелёный в зависимости от того в чётной мы строке или нечётной):

Оказалось, что в чётных и нечётных строках один и тот же паттерн генерит разные цвета!!!
Например паттерн жёлтого (четвёртый цвет снизу) разбивается на красный и зелёный и процессор моего ТВ склеивает их вместе так, что оно видится как жёлтый (если оставлять соседнюю строчку чёрной - то будет видны красный или зелёный в зависимости от того в чётной мы строке или нечётной):
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net