nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Mar 2024 01:59



Reply to topic  [ 55 posts ]  Go to page 1, 2, 3, 4  Next
Project Spirit 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Вот обдумываю вариант компьютера в стандартный корпус ПЦ, который мог бы запускать софт от Спринтера, но не был бы 100% клоном Спринтера - например имел бы настоящий Z80, а внутри FPGA имел бы другой (виртуальный) проц - например тот же RISC-V (мой вариант Retro-V), который мог бы использоваться как графический сопроцессор и даже как запускатель операционки - т.е. системные вызовы из Z80 шли бы не в Sprinter DOS Estex или Sprinter BIOS, а в код написанный на сях и запускаемый внутренним процессором RISC-V!!! Полное наименование компьютера может быть скажем "8-bit Spirit" или "Spirit PC" или "Retro Spirit" или "Spirit Retro" чтобы аббревиатура в названии материнок была SR - типа SR2023 и т.д.

Attachment:
SpritRetroLogoOlga.png
SpritRetroLogoOlga.png [ 93.46 KiB | Viewed 3014 times ]
(лого по-быстрому нарисовано моей супругой-дизайнером в сентябре 2023 по мотивом логотипа петерсплюса)

Фичи прожэкта "Спирит":
  • Видеопамять (256кб или 512кб) должна полностью сидеть внутри FPGA (вместе с палитрами и динамическими знакогенераторами Спринтера);
  • Снаружи может быть основная память на той же плашке SIMM (до 64 Мб c 16-битным доступом и небольшим кэшем внутри FPGA);
  • ПЗУ с биосом и прошивкой FPGA (128кб или больше) также снаружи;
  • Настоящий проц Z80 (с максимальной частотой 20 МГц);
  • Часы реального времени (как на Спринтере);
  • Может быть даже настоящий AY;
  • А также ISA-слоты, чтобы все платы расширения, работающие на Спринтере могли бы работать и тут;
  • Для внешних накопителей надо будет предусмотреть интерфейсы IDE и SD-card (с которой будет работать fatfs скомпилированный под RISC-V);
  • Клава и мыша PS/2;
  • Возможно RS-232 прям на плате;
  • VGA разъём.

Выход видео сразу будет VGA 800x600 (4:3?) т.к. такие "неширокие" мониторы всё ещё продаются (на самом деле из-за особенностей устройства спринтеровской видеопамяти максимальное разрешение графики будет 768x576, а всё, что ширше будет бордюром):

Attachment:
Screenshot from 2022-09-06 02-11-52.png
Screenshot from 2022-09-06 02-11-52.png [ 81 KiB | Viewed 5681 times ]
Источник: http://tinyvga.com/vga-timing/800x600@60Hz

Возможность запуска ZX-софта также вполне может оставаться (причём TRD только по стандартным точкам входа TR-DOS и никаких дискет). Для "чистого" ZX возможно потребуется режим замедленного пиксельклока 33.33 МГц, чтобы было ровно 50 кадров в секунду вместо 60 (но это по видимому будет работать не на всех мониторах). Либо придётся химичить с преобразованием кадра из времянок ZX во времянки SVGA в FPGA на лету, сохраняя уже построенный кадр в промежуточном буфере при этом каждый 5й кадр будет повторяться 2 раза...

P.S. Hackaday-проект про ручной вариант Spirit Retro: https://hackaday.io/project/193074-spirit-retro-handheld

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


05 Sep 2022 18:52
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Вот тут я ещё приводил цифры по другим стандартными вариациям разрешения 800x600:
Code:
Mode name        Lines line  sync      back      active     front     whole frame
                 Total width pulse     porch     time       porch     period
                       (us)  (us)(lin) (us)(lin) (us) (lin) (us)(lin) (us) (lin)
VGA 800x600 56Hz 625   28.44  56  1    568  20   17177 604      -1*   17775 625
VGA 800x600 60Hz 628   26.40 106  4    554  21   15945 604      -1*   16579 628
VGA 800x600 72Hz 666   20.80 125  6    436  21   12563 604   728 35   13853 666


Mode name       Pixel sync      back  active front whole line
                clock pulse     porch time   porch period
                (MHz) (us)(pix) (pix) (pix)  (pix) (pix)
VGA 800x600 56Hz 36   2     72  125    806    21   1024
VGA 800x600 60Hz 40   3.2  128   85    806    37   1056
VGA 800x600 72Hz 50   2.4  120   61    806    53   1040

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


07 Sep 2022 02:15
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Shaos wrote:
Выход видео сразу будет VGA 800x600 (4:3?) т.к. такие "неширокие" мониторы всё ещё продаются (на самом деле из-за особенностей устройства спринтеровской видеопамяти максимальное разрешение графики будет 768x576, а всё, что ширше будет бордюром)

Выглядеть это может примерно вот так (это одна из моих "запредельных" GFF-картинок 368x288 увеличенная в 2 раза для того чтобы занять максимум площади разрешения 800x600):

Attachment:
GFF-368x288-DoubleX-5x4.jpg
GFF-368x288-DoubleX-5x4.jpg [ 167.78 KiB | Viewed 3177 times ]

А вот если подключить это к широкоэкранному монитору с соотношением сторон 16:9, то оно уже будет выглядеть растянутым:

Attachment:
GFF-368x288-DoubleX-16x9.jpg
GFF-368x288-DoubleX-16x9.jpg [ 220.9 KiB | Viewed 3177 times ]

Если скажем не увеличивать в 2 раза горизонтальное разрешение, то картинка сплюснется:

Attachment:
GFF-368x288-TrueX-16x9.jpg
GFF-368x288-TrueX-16x9.jpg [ 138.73 KiB | Viewed 3177 times ]

Однако если суметь найти способ горизонтальное разрешение увеличить в полтора раза, то оно начинает выглядеть вполне приемлимо:

Attachment:
GFF-368x288-OneAndHalfX-16x9.jpg
GFF-368x288-OneAndHalfX-16x9.jpg [ 182.59 KiB | Viewed 3177 times ]

В данном случае видимое соотношение сторон GFF-картинки на скрине примерно 1.28, что близко к нашим 5:4 (или 1.25, а вот более стандартные 4:3 это 1.333). Однако в этом случае горизонтальное разрешение из 800 превращается в 533, что не подходит для наших режимов высокой чёткости (стандартные 640 и далее вплоть до 736) и это значит, что если мы будем ориентироваться на современные мониторы с соотношением сторон 16:9, то для работы и со старым софтом, и с новым софтом, надо поддержать ДВА пиксельклока - на 800 пикселов в строке и на 533 пиксела в строке (в полтора раза меньше). Для этого скажем вместо 40 МГц в качестве основной частоты надо взять 80 и делить их либо на 2, либо на 3, либо на 4. Также теоретически расширение видеорежимов Спринтера в рамках существующей схемы нарезки видеопамяти способно покрыть 896x320 в пределе т.е. мы легко можем получить наши 800x300 целиком и без бордюра в новых софтах (либо полные 800x600 при задействовании расширенной до 512КБ видеопамяти). Причём интересный момент - "полуторное" разрешение 533x300 (наверное надо сделать 536x304 для круглого счёта) будет являться пропорциональным на мониторах с соотношением сторон 16:9 (т.е. пиксели в нём будут выглядеть квадратными в отличие от 800x300 или 800x600).

P.S. Что касается стандартных разрешений Спринтера, то они могут выглядеть так - стандартные 640x256 будут использовать стандартный для 800x600 пиксельклок 40 МГц:

Attachment:
STD-640x256-16x9.jpg
STD-640x256-16x9.jpg [ 58.75 KiB | Viewed 3167 times ]

а стандартные 320x256 - "полуторный" пиксельклок 26.66 МГц:

Attachment:
STD-320x256-16x9.jpg
STD-320x256-16x9.jpg [ 36.92 KiB | Viewed 3167 times ]

однако некоторые GFF-картинки (и новый софт) могут сразу требовать широкий экран, поэтому они будут использовать пиксельклок 20 МГц:

Attachment:
GFF-368x288HD-16x9.jpg
GFF-368x288HD-16x9.jpg [ 46.98 KiB | Viewed 3167 times ]

(возможно надо сделать допустимым вручную переключать SD/HD для LoRes графики скажем какой-то функциональной клавишей, а HiRes будет сразу использовать полный HD и его нельзя будет вручную переключить в SD)

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


10 Sep 2023 05:09
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Необходимость иметь максимальный пиксельклок (40 МГц) для HiRes режимов также означает, что даже если один квадрат экрана был заявлен как HiRes (в том числе обычный текстовый режим 80x32), то ВЕСЬ экран надо разворачивать во всю ширь:

Attachment:
STD-640x256-16x9-boot.jpg
STD-640x256-16x9-boot.jpg [ 14.76 KiB | Viewed 3145 times ]

Ещё момент - если "полуторный" пиксельклок рассчитан только на LoRes режимы, то там квадратики идут через один и в таком случае максимально возможная ширина будет 112/2*8=448 видимых LoRes пикселов из 533, соответственно в этом режиме будут пустые поля слева и справа (точнее там будет бордюр):

Attachment:
EXT-448x304-over553x304-16x9.png
EXT-448x304-over553x304-16x9.png [ 34.97 KiB | Viewed 3145 times ]

Надо подумать может оставить LoRes, который 256 цветов на пиксел, максимум как 448x288 (а то и вовсе 368x288 как сейчас в моих "запредельных" режимах на Спринтере), а полные 800x300 (800x600 при наличии 512КБ видеопамяти) будут только в 16-цветном режиме - можно прикинуть как вообще можно нарезать 800x300 в 768x256 байтах графической памяти - берём 256 строк по 400 байтов - и далее нам надо ещё 44 строки (48? 24 сверху и 24 снизу?) по 400 байт, которые можно накромсать половинками по 200 байт с отступом 0x238 (чтобы прибить половинки к правому краю зоны графики) - в итоге ещё останется место под спрайты (тайлы) 168x256 и 200x160 байт либо оставляем зону шрифтов нетронутой и уталкиваем графику в 704x256 байт видеопамяти, что даёт зону тайлов в 104x256 и 200x160 байт...

P.S. С другой стороны если уж ломать логику квадратиков в описателе графики, то можно расширить цикл обхода до предела, получив до 512 LoRes пикселов в строке (128 квадратиков), что даёт разрешение 512x288 с правильным широкоэкранным соотношением сторон 16:9

Attachment:
EXT-512x288-over553x300-16x9.png
EXT-512x288-over553x300-16x9.png [ 51.49 KiB | Viewed 3095 times ]

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


10 Sep 2023 15:12
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Shaos wrote:
Вот обдумываю вариант компьютера в стандартный корпус ПЦ, который мог бы запускать софт от Спринтера, но не был бы 100% клоном Спринтера - например имел бы настоящий Z80, а внутри FPGA имел бы другой (виртуальный) проц - например тот же RISC-V (мой вариант Retro-V), который мог бы использоваться как графический сопроцессор и даже как запускатель операционки - т.е. системные вызовы из Z80 шли бы не в Sprinter DOS Estex или Sprinter BIOS, а в код написанный на сях и запускаемый внутренним процессором RISC-V!!! Полное наименование компьютера может быть скажем "8-bit Spirit" или "Spirit PC" или "Retro Spirit" (или "Spirit Retro" чтобы аббревиатура в названии материнок была SR - типа SR2023 и т.д.).

Видеопамять (256кб или 512кб) должна полностью сидеть внутри FPGA (вместе с палитрами и динамическими знакогенераторами Спринтера)...

Для начала можно вообще сугубо FPGA решение на Verilog нагородить, отталкиваясь от того, что сконвертил КряКря пару лет назад и приделав к этой видеосистеме софткорку Retro-V...

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


10 Sep 2023 23:13
Profile WWW
Senior

Joined: 01 Jan 2022 04:34
Posts: 153
Location: USSR, Tashkent
Reply with quote
Shaos wrote:
Shaos wrote:
Вот обдумываю вариант компьютера в стандартный корпус ПЦ, который мог бы запускать софт от Спринтера, но не был бы 100% клоном Спринтера - например имел бы настоящий Z80, а внутри FPGA имел бы другой (виртуальный) проц - например тот же RISC-V (мой вариант Retro-V), который мог бы использоваться как графический сопроцессор и даже как запускатель операционки - т.е. системные вызовы из Z80 шли бы не в Sprinter DOS Estex или Sprinter BIOS, а в код написанный на сях и запускаемый внутренним процессором RISC-V!!! Полное наименование компьютера может быть скажем "8-bit Spirit" или "Spirit PC" или "Retro Spirit" (или "Spirit Retro" чтобы аббревиатура в названии материнок была SR - типа SR2023 и т.д.).

Видеопамять (256кб или 512кб) должна полностью сидеть внутри FPGA (вместе с палитрами и динамическими знакогенераторами Спринтера)...

Для начала можно вообще сугубо FPGA решение на Verilog нагородить, отталкиваясь от того, что сконвертил КряКря пару лет назад и приделав к этой видеосистеме софткорку Retro-V...


а может в ISA AT слот платку ? а адресацию портов на стм/авр/плис ?


11 Sep 2023 03:25
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
imsushka wrote:
Shaos wrote:
Shaos wrote:
Вот обдумываю вариант компьютера в стандартный корпус ПЦ, который мог бы запускать софт от Спринтера, но не был бы 100% клоном Спринтера - например имел бы настоящий Z80, а внутри FPGA имел бы другой (виртуальный) проц - например тот же RISC-V (мой вариант Retro-V), который мог бы использоваться как графический сопроцессор и даже как запускатель операционки - т.е. системные вызовы из Z80 шли бы не в Sprinter DOS Estex или Sprinter BIOS, а в код написанный на сях и запускаемый внутренним процессором RISC-V!!! Полное наименование компьютера может быть скажем "8-bit Spirit" или "Spirit PC" или "Retro Spirit" (или "Spirit Retro" чтобы аббревиатура в названии материнок была SR - типа SR2023 и т.д.).

Видеопамять (256кб или 512кб) должна полностью сидеть внутри FPGA (вместе с палитрами и динамическими знакогенераторами Спринтера)...

Для начала можно вообще сугубо FPGA решение на Verilog нагородить, отталкиваясь от того, что сконвертил КряКря пару лет назад и приделав к этой видеосистеме софткорку Retro-V...
а может в ISA AT слот платку ? а адресацию портов на стм/авр/плис ?
ISA будет сильно потом (и без стм/авр)

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


11 Sep 2023 08:50
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
При наличии 512КБ видеопамяти появляются 2 дополнительные видеостраницы для стандартных режимов (т.е. всего их станет четыре - 0,1,2,3), а также будет возможность получить полноценные 800x600 при 16 цветах на пиксел:

Attachment:
GFF-800x600HD-16x9.png
GFF-800x600HD-16x9.png [ 144.33 KiB | Viewed 3006 times ]


Attachment:
GFF-800x600HD2-16x9.png
GFF-800x600HD2-16x9.png [ 58.67 KiB | Viewed 3001 times ]

для сравнения 800х300 будут выглядеть так (с удвоенными строками будучи растянуты в 16:9):

Attachment:
GFF-800x300HD2-16x9.png
GFF-800x300HD2-16x9.png [ 32.98 KiB | Viewed 3001 times ]

к слову вот так я могу показать эту картинку на обычном Спринтере:

Attachment:
GFF-736x288HD2-16x9.png
GFF-736x288HD2-16x9.png [ 76.37 KiB | Viewed 3000 times ]

т.е. наверное по большому счёту полноэкранные режимы 800x300 и даже 800x600 по сути и не очень то требуются, а самым большим разрешением первое время может быть околоспектрумовополутекстовый Mode 0x01 с "бордюром":

Attachment:
GFF-768x288HD3-16x9.png
GFF-768x288HD3-16x9.png [ 51.19 KiB | Viewed 2938 times ]

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


11 Sep 2023 23:55
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Shaos wrote:
imsushka wrote:
Shaos wrote:
Shaos wrote:
Вот обдумываю вариант компьютера в стандартный корпус ПЦ, который мог бы запускать софт от Спринтера, но не был бы 100% клоном Спринтера - например имел бы настоящий Z80, а внутри FPGA имел бы другой (виртуальный) проц - например тот же RISC-V (мой вариант Retro-V), который мог бы использоваться как графический сопроцессор и даже как запускатель операционки - т.е. системные вызовы из Z80 шли бы не в Sprinter DOS Estex или Sprinter BIOS, а в код написанный на сях и запускаемый внутренним процессором RISC-V!!! Полное наименование компьютера может быть скажем "8-bit Spirit" или "Spirit PC" или "Retro Spirit" (или "Spirit Retro" чтобы аббревиатура в названии материнок была SR - типа SR2023 и т.д.).

Видеопамять (256кб или 512кб) должна полностью сидеть внутри FPGA (вместе с палитрами и динамическими знакогенераторами Спринтера)...

Для начала можно вообще сугубо FPGA решение на Verilog нагородить, отталкиваясь от того, что сконвертил КряКря пару лет назад и приделав к этой видеосистеме софткорку Retro-V...
а может в ISA AT слот платку ? а адресацию портов на стм/авр/плис ?
ISA будет сильно потом (и без стм/авр)

Кстати в ISA слот можно платку с Z80 воткнуть :mrgreen:
Правда слот придётся расширить (т.к. проц должен будет некоторыми ногами быть подключен к FPGA, который будет на материнке) - я где-то тут свою старую идею вроде озвучивал - берём ISA16 и расширяем короткую его часть до полноценных 62 контактов (вторых), т.е. к стандарту ISA16 добавляется 26 сигналов, которые мы можем использовать по своему усмотрению.

К процу на плату может быть установлено что-то ещё, что будет всегда напрямую к нему подключено, например 16КБ FastRAM - в этом случае процессор при необходимости сможет работать без FPGA (например в процессе перезагрузки оного). Кроме того на той же плате может находиться Serial EPROM с прошивкой для FPGA - т.е. теоретически могут быть другие процессорные платы, с другими процами и другими прошивками, которые будут превращать материнку Spirit в другой компьютер!

Получается если мы втыкаем в материнку Spirit плату Z80 с прошивкой где сидит видеоподсистема Спринтера и мой RISC-V вариант Retro-V, то получаем компьютер Spirit Retro-V/Z80, а если втыкаем плату с современным ускоренным 6502, то получаем компьютер Spirit Commo 2024 например, или даже Spirit PC86 с 8086 ;)

P.S. Вот вам ещё 16-цветных кaртинок 736x288, которые также теоретически могут на оригинальном Спринтере быть показаны:


Attachments:
OceanBeach2-16x9.png
OceanBeach2-16x9.png [ 145.12 KiB | Viewed 2900 times ]
ATARI800-16x9.png
ATARI800-16x9.png [ 89.91 KiB | Viewed 2900 times ]
GRAYGRLW-16x9.png
GRAYGRLW-16x9.png [ 118.17 KiB | Viewed 2900 times ]

_________________
:dj: https://mastodon.social/@Shaos
14 Sep 2023 23:14
Profile WWW
Senior

Joined: 01 Jan 2022 04:34
Posts: 153
Location: USSR, Tashkent
Reply with quote
зачем мучать материнку ?
есть корзина в которую вставляешь любой набор платок. z80/6502/8088/68000 и vga/cga/vdp9958/синклеровский экран/wifi/ethernet/multicard/......

типа s100 но на ISA16

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


и да, только последняя картинка приличная, по качеству


15 Sep 2023 04:35
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
А зачем мне корзина если я хочу стандартный корпус коих на каждом углу сотнями продают задёшево? ;)

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


15 Sep 2023 08:04
Profile WWW
Senior

Joined: 01 Jan 2022 04:34
Posts: 153
Location: USSR, Tashkent
Reply with quote
Shaos wrote:
А зачем мне корзина если я хочу стандартный корпус коих на каждом углу сотнями продают задёшево? ;)

АТХ ?
ну вот в него и корзину как у Alexandru Groza


15 Sep 2023 08:43
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
ITX/DTX - а чем мать то не угодила? На ней слоты - зачем корзина? :roll:

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


15 Sep 2023 11:28
Profile WWW
Senior

Joined: 01 Jan 2022 04:34
Posts: 153
Location: USSR, Tashkent
Reply with quote
Shaos wrote:
ITX/DTX - а чем мать то не угодила? На ней слоты - зачем корзина? :roll:


я плату с разьемами и больше ничего, называю корзиной
так и ЕС1840/1 было и в Искре-1256 и в S100

корзина - куда все складывается, не важно какие разьемы стоят


15 Sep 2023 11:39
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Ну а тут будет «корзина» с FPGA, SIMM-модулем и разъёмами - PS/2 и VGA :)
Ну и несколькими ISA-слотами напротив обычных дырок в корпусе
(с платы Z80 наверное даже можно высунуть в дырку классический краевой разъём ZX)

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


15 Sep 2023 13:24
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 55 posts ]  Go to page 1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 2 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.