| Начален сайт Сандъците  | "Библиотека Сандъците" | МОЖЕ ДА ПОДКРЕПИТЕ ФОРУМА С ДАРЕНИЕ >ТУК<

Автор Тема: CMOS Интерфейс за Правец 8 от иБей  (Прочетена 16525 пъти)

0 Потреб. и 3 Гости преглежда(т) тази тема.

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #30 -: 30 Март, 2022, 23:43:38 »
До тук всичко беше на PAL (или 60-херцовия PAL наречен NTSC 4.43), но сега подкарах и стандартния NTSC 3.58:

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #31 -: 07 Април, 2022, 22:08:33 »
Най-после подкарах и Wolfenstein 3D с видео на PAL/NTSC, музика, клавиатура и джойстик. Клипчето е на PAL, защото изглежда по-добре. На NTSC има известни артефакти когато има ръбове с висок контраст. За разлика от другите игри които показах на предишните страници тази игра не се върти през емулатор, а е компилирана директно. Това е защото ESP32-то не е достатъчно мощно да емулира 386 DX/33 PC.


Неактивен iss

  • Квантов електрон
  • ***
  • Публикации: 207
  • Населено място: SF
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #32 -: 07 Април, 2022, 23:01:30 »
Добре е!

А скоро ще можеш да си пуснеш и Правец-8Д! :crazy:


Неактивен TheHungry

  • Квантов електрон
  • ***
  • Публикации: 478
  • Населено място: Пловдив
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #33 -: 07 Април, 2022, 23:05:20 »
Добре е!

А скоро ще можеш да си пуснеш и Правец-8Д! :crazy:


Късно е

https://www.sandacite.com/forum/index.php?topic=2100.msg13947#msg13947
"I really do like SOLDERING as my programming language."  Bob Pease

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #34 -: 07 Април, 2022, 23:56:39 »
Добре е!

А скоро ще можеш да си пуснеш и Правец-8Д! :crazy:

...

И аз мислих нещо подобно когато още не бях сигурен на къде ще тръгне това проектче. :)

Имах план да портна емулатор на Apple IIe и Орик. Обаче в крайна сметка реших че ефекта се губи когато това което се емулира е много близко по възможности до самия Apple II+ или Правец 82. Сега философията е да се слагат само неща които разширяват възможностите на Правеца. В това се обедих още повече когато заедно със Sega и Nintendo емулаторите бях портнал и емулатор на Atari 400/800, който беше в същата библиотека. Малко след като го подкарах реших да го разкарам, след като видях че програмите и игрите са почти същите като на Apple II.

Другото е че вече удрям лимит на това което мога да събера, така че мисля да приключвам със софтуера и да направя платката.

Неактивен iss

  • Квантов електрон
  • ***
  • Публикации: 207
  • Населено място: SF
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #35 -: 08 Април, 2022, 01:03:17 »
Късно е

Ти пък не даваш човек да се изфука!  :D
Все пак моя емулатор е по-по-най ! ;).

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #36 -: 13 Април, 2022, 22:21:31 »
Оказа се че има още малко място, та реших да направя един последен порт, този път на най-култовата ретро игра. Ето напредъка до тук:

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #37 -: 26 Април, 2022, 23:00:20 »
Този порт се оказа доста сложен, особено в съжителство с Wolfenstein 3D. И двете игри са написани на стар стил C и масово използват глобални статични променливи. Те хем заемат памет даже и когато не се използват, хем са с едни и същи имена и си пречат, тъй като кода е писан от едни и същи хора.

Наложи се също да добавя и динамични палитри към композитното видео. Wolfenstein 3D използва само една 8-битова палитра (256 цвята), която съдържа всички цветове които се появяват на екрана. Doom обаче има 14 различни палитри и постоянно ги сменя. Например когато стреляш в тъмна стая, за момента стаята светва заради огъня който излиза от дулото. Този ефект синковците го постигат чрез смяна на цялата палитра в която всички цветове са по-светли. Или пък когато стрелят по теб всичко става по-червено – пак смяна на палитрата в която всички цветове са тонирани в червено.

Другия проблем е че все още не мога да подкарам музиката, а без нея Doom просто не е Doom. Музиката е складирана в самите файлове на играта в MIDI формат. Това е много прост формат и само определя кой инструмент коя нота за изсвири и кога. (Bсе едно че само натиска клавишите на йоника.) Как точно звучи определен инструмент вече е работа на MIDI синтезатора, какъвто ESP32 няма.  Това означава че трябва да се емулира софтуерно посредством библиотека като Timidity, която изисква звуците на около 200 различни инструмента да са складирани в директория на SD картата. За сега все още не съм сигурен дали ще успея да подкарам MIDI синтезатора и ако тръгне дали няма да натоварва процесора прекалено много и да забави играта значително. Другата възможност е някак си да го направя да работи през Ad Lib, както е при музиката на Wolfenstein 3D, която вече съдържа софтуерен емулатор на YM3812 FM синтезатора на Yamaha. Качеството е ужасно, но изобщо не натоварва процесора, а и звучи някак си по-автентично през говорителя на Правеца.

Едно от нещата което ме изненада е скоростта с която тази игра върви. На пълен екран работи поне толкова бързо колкото Wolfenstein 3D, ако не и по-бързо! Аз на времето се бях сдобил с използван 386 DX/33 MHz и много добре си спомням че беше достатъчно бърз за Wolfenstein 3D, но не и за Doom. Можеше да върти Doom, но екрана трябваше да се свие значително за да работи добре. На пълен екран правеше само 2-3 кадъра в секунда. Един приятел с по-големи финансови възможности по това време имашe 486 DX/66 MHz и при него вече беше идеално.  Това беше между 1993 и 1996 г. Разрових се из Нета и се оказа че сорса на този порт е в оптимизиран доста години след като излиза и тази оптимизация го прави около 3 пъти по-бърз от оригиналния Doom. Като се сетя какви пари се хвърляха през 1993 г. са само да имаш 486 и то главно заради Doom, a то можело просто да бъде по-добре оптимизиран и да си работи идеално на 386 DX/33!

Много се задълбочих, така че спирам. Ето клипче на прогреса да тук. Има звуковите ефекти, но без музика. Все още има и редица други проблеми, повечето от които са свързани с недостиг на памет заради глобалните статични променливи, което не е проблем, но изисква време да се направят динамични.


Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #38 -: 15 Май, 2022, 22:06:56 »
Опита ми да добавя софтуерен MIDI синтезатор тотално се провали, обаче накрая успях да подкарам музиката с MP3-ки. Използвах Audacity да конвертирам MIDI файловете в MP3 формат с дискретизация 22050 Hz и 64 килобита/секунда битрейт. В този формат натоварването на процесора е минимално и изобщо не забавя играта. MP3-ките се зареждат от SD картата.

« Последна редакция: 15 Май, 2022, 22:30:03 от CVT »

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #39 -: 29 Май, 2022, 20:33:26 »
Днес реших да видя как изглежда всичко това на Правешките монитори. Тъй като картината е цветна беше доста "щрихирано", затова добавих опция за черно-бял монитор при която предварително конвертирам палитрата в градиенти на сивото по формулата 29,9% червено + 58,7% зелено + 11,4% синьо. Мисля че се получи доста добре, поне на ВКП 170. ВМЧ 001 обаче по никакъв начин не може да покаже повече от 4 градиента по едно и също време, така че не е много подходящ.

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #40 -: 05 Юни, 2022, 23:04:04 »
Добавих и доста елементарен видео плейър. Видеата може да са на SD картата или да се стрйимват от URL. Ще сложа кличпе по-нататък, тъй като в момента плейбека има проблем с насечен звук.

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #41 -: 22 Юни, 2022, 21:52:38 »
Винаги съм се чудел защо няма приложение на научен калкулатор за компютрите от семейството на Apple II. Има някакви опити в текстов режим, но нищо подобно на това което виждаме в по-късните графични операционни системи. Затова реших да потърся нещо вече написано за ESP32, но се натъкнах единствено на ученически упражнения.

След това започнах да търся нещо за Sega или Nintendo от вида "домашна бира" (homebrew), което да въртя през емулаторите. Оказа се че за Ниндендо някакъв пич е написал много странен калкулатор, който подържа единствено експоненциален запис. Иначе си има log, exp, x^y, корен квадратен, sin, cos, tan, asin, acos, atan, acot, както и хиперболичните им аналози. Селекцията става с джойстика и тъй като няма място за всички бутони на екрана, втория бутон на джойстика сменя функциите на някои от бутоните.

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #42 -: 09 Юли, 2022, 22:46:06 »
След доста сериозна оптимизация вече Правеца има и видео плейър. Може да възпроизвежда клипчета свалени от Тубата и конвертирани в mpeg1 формат с разрешение 320x192.


Неактивен lz1tka

  • Квантов генератор
  • ****
  • Публикации: 596
  • Населено място: Костинброд
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #43 -: 10 Юли, 2022, 11:56:32 »
Всичко изглежда прекрасно и идеята за Дуум върху Правеца е едно от най добрите неща които съм виждал,въпроса е дали ще публикуваш разработката в свободен достъп заедно с софтуера или решиш да го продаваш?
73!

Неактивен CVT

  • Адронен колайдер
  • *****
  • Публикации: 1354
  • Населено място: София
Re: CMOS Интерфейс за Правец 8 от иБей
« Отговор #44 -: 10 Юли, 2022, 19:58:33 »
Благодаря, колега!

След като направя платката мисля да пусна няколко пробни бройки в иБей за да видя дали ще има достатъчно интерес за да си заслужава да ги продавам. Със сигурност обаче рано или късно ще пусна всичко на свободен достъп. Пазара е ограничен и с низходяща тенденция, така че даже и да има интерес в началото доста бързо ще бъде наситен, след което не виждам никакъв смисъл да я държа затворена. Освен това може би около 95% от софтуера идва от различни отворени проекти, а аз просто го събрах, опростих и оптимизирах.

Иначе хардуерно е супер проста и евтина - състои се от един ESP32 WROOVER модул който е около 12 лева и е най-скъпия елемент, четири чипа на обща цена около 2 лева, едно реле, две RCA букси и две букси за говорителчето, един слот за SD карта и няколко резистора и кондензатора. Няма да има никакви SMD елементи, а чиповете и ESP32 модула ще са на цокли за лесна сглобка.

 

ПОЛЕЗНИ ВРЪЗКИ

Начален сайт "САНДЪЦИТЕ" Библиотека "Сандъците"
ОТГОВОРНОСТИ: Всички мнения във ФОРУМА са лични мнения на техните автори и не отразяват официалното становище на собствениците му.
   Copyright: Освен ако не е посочено друго, съдържанието на този сайт е лицензирано под:
  Creative Commons Attribution License.
  Текстът на договора за ползване на български
Copyright © 2011 - Сандъците - сайт и форум за стара електроника - За контакти  

Партньори:  | Форум за конспирации, уфология и мистика | Кактус БГ |