nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 18 Jul 2019 01:21



Reply to topic  [ 75 posts ]  Go to page Previous  1, 2, 3, 4, 5
Недоспектрум NEDOCON-48K и далее NEDOCON-56K 

Взять да и построить?
Да, поможем 36%  36%  [ 4 ]
Да, строй сам 27%  27%  [ 3 ]
Не, не надо 9%  9%  [ 1 ]
Глупость какая 0%  0%  [ 0 ]
А мне пофиг 27%  27%  [ 3 ]
Total votes : 11

Недоспектрум NEDOCON-48K и далее NEDOCON-56K 
Author Message
God

Joined: 02 Jan 2006 03:28
Posts: 1387
Location: Abakan
Reply with quote
Некоторые режимы я прикручивал к своему KAY1024, некоторые туда просто нельзя прикрутить из-за особенностей работы счётчиков. Режим 512х192 делается довольно легко, для этого даже много памяти не надо, можно и в 48К поддержать.


05 Jan 2017 21:45
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Shaos wrote:
Shaos wrote:
Надумал я тут сделать универсальный модуль видеосчётчиков на шести 74F163 (может работать на частотах до 100 МГц) и одной 74F00, пригодный для всего с размером экрана вплоть до 2048x4096 пикселов :o

1 - GND
2 - CLK
3 - PX
4 - H0
5 - H1
6 - H2
7 - H3
8 - H4
9 - H5
10 - H6
11 - H7
12 - H8
13 - H9
14 - H10
15 - CCLR (positive output)
16 - /HCLR (output)
17 - V0
18 - V1
19 - V2
20 - V3
21 - V4
22 - V5
23 - V6
24 - V7
25 - V8
26 - V9
27 - V10
28 - V11
29 - /VCLR (output)
30 - HCLR (positive input)
31 - VCLR (positive input)
32 - VPP

P.S. Вот он: http://www.nedopc.org/nedopc/proj/nedovcnt.pcb (83K)

Image

Принципиальную схему перерисую чуть позже...

P.P.S. При частоте осциллятора 100 МГц (предел для 74F163), частота пиксельклока будет 50 МГц, что покрывает все режимы SVGA 800x600 (и даже один из режимов 1024x768).

............

Всё готово для пробного изготовления:

Image

Image

2 layer board of 3.71x1.61 inches (94x41mm) = 5.97 sqin.


Вот эти платки кстати у меня уже 3 года валяются сделанные - не пора ли спаять и попробовать? :roll:

Ещё 2 года прошло (т.е. всего 5) и я наконец-то спаял первую платку :kruto:


Attachments:
NDB-01.jpg
NDB-01.jpg [ 215.31 KiB | Viewed 1177 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
14 Jun 2018 23:22
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Ещё через год нашёл свои записки от 22 июня 2013 с принципиальной схемой :mrgreen:


Attachments:
NDB-01-sch.jpg
NDB-01-sch.jpg [ 157.66 KiB | Viewed 486 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
03 Jun 2019 22:39
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Post Re:
Shaos wrote:
Вобщем что лучше для VGA - маленький спектрумовский экран и большой бордюр в нестандартном разрешении 458x350:

Image

или большой спектрумовский экран и маленький бордюр в стандартном разрешении 320x200 (на самом деле строк 400 - каждая строка повторяется 2 раза):

Image

?

Первый вариант не требует изменения схемы - таже схема что работает с телевизором, будет работать и с VGA - поменяется только кварц и ПЗУ видеогенератора

Второй вариант требует изменения схемы - кроме нового кварца и ПЗУ ещё потребуется иное преобразование номеров строк в адреса видеопамяти т.к. имеем дублирование каждой спектрумовской строки.

Наверное надо попробовать оба варианта - первый прототип назвать VGASpeccy-1, а второй - VGASpeccy-2 :lol:

В обоих случаях будет частота кадров 70.09 Гц, но во втором каждая строка будет аппаратно повторяться дважды, ну и пиксельклок/цпуклок будут разные - 18 и 9 МГц (нетурба 4.5) против 12.589 МГц (нетурба 6.29)...

P.S. У меня уже были Z80 с предельной частотой 6 МГц, 8 МГц и 10 МГц, а сегодня я ещё прикупил Z80 в PLCC-корпусе 20 МГц :o

P.P.S. Кстати, а широкоэкранный ZX-Spectrum на пиксельклоке 25.175 МГц был бы неплохим концепт-девайсом, как считаете? :roll:


Attachments:
tetris640x350widex.jpg
tetris640x350widex.jpg [ 22.94 KiB | Viewed 470 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
04 Jun 2019 20:41
Profile WWW
Senior

Joined: 31 Mar 2012 17:50
Posts: 127
Location: 93.73.80.128
Reply with quote
Впоминается "нетленка" от NEMO, там где он написал что zx spectrum=телевизор, и мол те кто прикручивает мониторы с другим разрешением не ведают что творят.

Но что то в этом есть, а именно - чтобы избежать страшных франкенштейнов, таки не стоит сильно радикально менять спектрумовские стандарты. PAL экран 720x576 можно по идее влепить в какой нибудь нестандартный режим который нормально высвечивают все vga мониторы но и 50hz развертку тоже менять не стоит пожалуй.


05 Jun 2019 07:59
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Таймекс 2068 был 60 Гц ;)

И потом сейчас сложно найти монитор, который понимал бы 15 кГц строчной...

_________________
:eugeek: https://twitter.com/Shaos1973


05 Jun 2019 08:28
Profile WWW
Doomed
User avatar

Joined: 23 Nov 2007 16:53
Posts: 392
Location: Saint Petersburg, Russia
Reply with quote
Shaos wrote:
Таймекс был 60 Гц

Нет, только Timex Sinclair 2068 был NTSC, Timex Computer 2048/2068 были PAL/NTSC, но т.к. до американского рынка так и не дошли, то выпускались токо PAL.

_________________
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.


05 Jun 2019 11:05
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Ок, поправился :roll:

_________________
:eugeek: https://twitter.com/Shaos1973


05 Jun 2019 12:11
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Shaos wrote:
А что если взять да и построить на рассыпухе наикошерный спектрум, который 100% повторяет ВСЁ, включая чтение четвёрками? ;)
Концепция изменилась т.к. для "повторяет всё" есть Харлекин :no:
Мне было бы более интересно шагнуть в сторону, раздвинув рамки спектрумовости так сказать :)
А именно уйти в VGA (без скандаблеров) и на большие скорости (вплоть до 25.175 МГц) :roll:
NEDOCON должен уметь работать с оригинальным ПЗУ ZX-спектрума, но по умолчанию в ПЗУ будет SE Basic IV 4.0 Anya - сначала одно-страничный вариант ПЗУ, а потом можно будет и двух-страничный прикрутить, который с поддержкой 512x192 режима - он правда не совсем в Таймекс-режиме работает, а в ZX Spectrum SE - там вторая видеостраница используется для графики на манер Спектрума-128 с переключением через порт #7ffd...

_________________
:eugeek: https://twitter.com/Shaos1973


05 Jun 2019 23:00
Profile WWW
Senior

Joined: 31 Mar 2012 17:50
Posts: 127
Location: 93.73.80.128
Reply with quote
Shaos wrote:
Концепция изменилась т.к. для "повторяет всё" есть Харлекин :no:
Мне было бы более интересно шагнуть в сторону, раздвинув рамки спектрумовости так сказать :)
А именно уйти в VGA (без скандаблеров) и на большие скорости...

В том то и фишка высказывания NEMO, как только мы уходим от "спектрума" (в том смысле что спектрум это автомат генерирующий телевизионную развертку и адреса для видеопамяти при этом управляя процессором Z80 не давая ему работать в то время когда шина видео памяти занята вычиткой на экран) мы понимаем что вообще эта общая шина видеоконтроллера и процессора ущербна в любой другой инкарнации кроме той что есть "спектрум".

Т.е. "спектрум" это какая-то "золотая середина" которая делает логичной эту архитектуру, но только для PAL и только для 256x192... как токо начинаем менять эти параметры результат получается хуже чем в оригинале. Это такой "путь камикадзе": меняем разрешение, меняется требование к скорости videodram, надо ставить быструю память и тогда это вообще не ретро, ну да можно ширину шины увеличить, но тогда в любом случае z80 не будет успевать делать даже то что успевал оригинал, что явно мало по сравнению с c64/msx2. Если просто поменять тайминги, скажем 60hz кадровой или (7mhz z80) то кучу софта надо адаптировать изза того что он рассчитан на 50hz а большенство софта это игры и демы очень чуствительные к периоду int-a и скорости процессора.

ПЗУ от спектрума ничем особенным не ценно, другие компы не имеют его (amstrad, msx, orion) и ничего так, даже не стремятся его запускать, хотя могут его запускать (правда чтоб показать экран и реагировать на клавиатуру нужна адаптация).

Если уходить от спектрума, то надо делать раздельные шины для видео и для проца (как у MSX), ранее так не делали, потому что вначале 80-х иметь отдельную линейку dram только для экрана + нехилую логику раздельного доступа было посилам только японцам (ну или как в ibm cga за цену эквивалентную еще одному компьютеру).

Можно ли запилить комп на z80 20mhz, vga, без ускорителей и с отдельной видео шиной? Можно, но это будет шото типа IBM PC только с процессором Z80. Максмум что это "творение" сможет делать эквивалентно конфигу i8086-10mhz + VGA ну или шото типа AtariST520... как Вам известно, и первое и второе ни у кого не вызывает особенного интереса и возвышенных эмоций, потому что банальность. Так уж повелось что народ подсел на atari8bit, c64, msx2, amiga... а RAW POWER и BRUTE FORCE ни у кого не вызывает интереса.


06 Jun 2019 04:28
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Ну Пентагон ведь ушёл от PAL, введя новый «стандарт» 49 Гц и ничего - король демосцены типа ;)

И кстати в оригинальном британском спектруме видеопамять была на физически отдельных от основной памяти чипах :)

_________________
:eugeek: https://twitter.com/Shaos1973


06 Jun 2019 08:46
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Вобщем так - сначала будет NEDOCON-48K с 48КБ ОЗУ и 16КБ ПЗУ (с бейсиком для стандартной графики). А потом будет NEDOCON-56K с 56КБ ОЗУ (лишние 8КБ это теневые атрибуты) и 32КБ ПЗУ (с полноценным SE Basic IV Anya). Машинки предполагаются быть совместимыми с Таймексом 2068 по форматам графики (для 56K еще будет графика ZX Spectrum SE с теневой второй страницей) плюс будут иметься свои "экзотические" форматы. Видеорежимы будут переключаться по таймексовски - через порт 255 (#FF):
Code:
D0-2: Screen mode. 000=screen 0, 001=screen 1, 010= hi-colour, 110=hi-res
D3-5: Sets the screen colour in hi-res mode.
        000 - Black on white.     100 - Green on magenta.
        001 - Blue on yellow.     101 - Cyan on red.
        010 - Red on cyan.        110 - Yellow on blue.
        011 - Magenta on green.   111 - White on black.
D6:   If set disables the generation of the timer interrupt.
D7:   Selects which bank the horizontal MMU should use. 0=DOCK, 1=EX.

OLD MODE 0 - обычная спектрумовая графика 256x192 по адресу #4000 (на 56K можно будет еще переключаться на работу из теневой видеопамяти);
OLD MODE 1 - сдвинутая спектрумовская графика 256x192 по адресу #6000 (несовместимо с бейсиком, но на 56К может быть отчасти совместимо, если работать с теневой видеопамятью);
OLD MODE 2 - аппаратный мультиколор 256x192 с 8x1 атрибутами как в Timex 2068 (несовместимо с бейсиком, но на 56К может быть отчасти совместимо, если работать с теневой видеопамятью);
NEW MODE 3 - аппаратный мультиколор 256x192+ с теневыми атрибутами 8x1 (вариации переключаются дополнительными битами порта 255 и на 48K этот режим будет ч/б т.е. без атрибутов);
NEW MODE 4 - новый режим 288x224 с теневыми атрибутами 8x1 (несовместимо с бейсиком и на 48K этот режим будет ч/б т.е. без атрибутов);
NEW MODE 5 - новый режим 400x320 с теневыми атрибутами 8x8, 8x4 или 8x2 (несовместимо с бейсиком и будет только на 56K);
OLD MODE 6 - монохромный режим высокого разрешения 512x192 по умолчанию как в Timex 2068 (цвет выбирается дополнительными битами порта 255, а на 56K можно будет использовать теневую видеостраницу, подцепляемую в последнюю четверть адресного пространства через #7ffd);
NEW MODE 7 - новый широкоэкранный режим 512x256 с теневыми атрибутами 8x8, 8x4 или 8x2 (несовместимо с бейсиком и будет только на 56K).

В машине NEDOCON-56K добавится порт #7ffd для управления памятью (нужно для нормальной работы полноценного SE Basic IV):

D0-2: RAM bank (0-7) по адресу #c000 (5 и 7 подключают видеостраницы, а все остальные значения будут означать тот же самый кусок основного ОЗУ);
D3: переключает видеопамять откуда будет рисовать видеоконтроллер (main 0 or shadow 1);
D4: выбор ПЗУ (половинки SE Basic IV);
D5-7: не используется (в будущих моделях можно задействовать как 3 дополнительных бита для выбора страниц расширенной памяти как в Пентагоне-1024).

Вариации режимов на 56K могут выбираться дополнительными тремя битами порта #FF (D3-D5), которые в таймексовском режиме 6 выбирают цвет зада и переда, а в режимах с теневыми атрибутами будут делать следующее:

D3: переключает теневые атрибуты в режим RGB (полноценные 16 стандартных цветов EGA без мигания);
D4: разрешает регистр копирования теневых атрибутов #FC для режимов 3 и 4 (аля Специалист), а для режимов 5 и 7 включает четвертичные атрибуты;
D5: включает дополнительные знакоместа для режима 3 (превращая 256x192 в 288x200) и половинчатые атрибуты для режимов 5 и 7 (в данный момент D4 должен быть 0, если D5=1 для этих режимов, т.е. нельзя иметь одновременно и половинчатые, и четвертичные атрибуты).

P.S. на 56K объем теневой видеопамяти будет только 8 КБ и при ее подключении в область #C000 (через выбор банка 7) она займет только первую половину окна (#C000...#DFFF), а во вторую половину (#E000...#FFFF) будет подключена область #4000...#5FFF (т.е. основная видеопамять) - это сделано для того, чтобы была возможность сымитировать теневые видеорежимы "ZX Spectrum SE", оставаясь в рамках нашего 56-килобайтного лимита для ОЗУ

P.P.S. на 56K можно также поддержать режим аппаратного склеивания двух видеобуферов в экран 512x384 включая его поверх режима 6 скажем через неиспользованный ранее бит 5 порта #FE (и при чтении он также может быть задействован как индикатор, что склеивание включёно) - по идее этот режим склеивания можно применять и к обычному спектрумовскому экрану (с атрибутами 8x8 и 8x1) - тогда это будет настоящий "аппаратный гигаскрин" :mrgreen:

_________________
:eugeek: https://twitter.com/Shaos1973


08 Jun 2019 19:14
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Подкорректировал предыдущее сообщение для пущего соответствия с "ZX Spectrum SE"

Вобщем в NEDOCON-48K будет одна микросхема SRAM 32KB и ДВЕ микросхемы видеопамяти SRAM 8KB (плюс 16KB ПЗУ).
И в NEDOCON-56K также будет одна микросхема SRAM 32KB, но ТРИ микросхемы видеопамяти SRAM 8KB (плюс 32KB ПЗУ).
48K думаю сделать как можно более простым - с вейтом при обращении процессора в область видеопамяти.
Можно даже предусмотреть рукоятку управления тормозами ( она будет удлиннять вейты : )
А вот уже в 56K можно попробовать получить безвейтовость на низких частотах...

P.S. В обеих машинах предполагается Kempston-джойстик (порт #1F) и классический ZX-спектрумовский краевой разъём (по поводу разъёма для картриджа как в Timex 2068 я ещё не решил, но наверное можно в 56K его тоже организовать)

P.P.S. Музыкальный чип можно также как и в "ZX Spectrum SE" сделать доступным по двум наборам адресов - как в ZX-Spectrum 128 и как в Timex Sinclair 2068:
Code:
OUT (0xfffd) - Select a register 0-14.
IN  (0xfffd) - Read the value of the selected register.
OUT (0xbffd) - Write to the selected register.

OUT (0xf5)   - Select a register 0-14
IN  (0xf5)   - Read the value of the selected register
OUT (0xf6)   - Write to the selected register
------- см. https://faqwiki.zxnet.co.uk/wiki/ZX_Spectrum_SE

P.P.P.S. При разработке предполагается использовать доступную мелкую логику серий 74LS/74ALS/74F (никакой экзотики типа 74LS295 или 74LS298 и никакой мешанины с CMOS-чипами) плюс микросхемы программируемой логики ATF16V8 (или в крайнем случае ATF22V10), т.к GAL-ы больше не производятся, а использование больших CPLD или FPGA выглядит неспортивно...

_________________
:eugeek: https://twitter.com/Shaos1973


08 Jun 2019 22:12
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
для того чтобы сымитировать 50 Гц прерывания при 70 Гц кадровой частоты можно делать так:
1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
где единичка означает делаем прерывание по кадровому синхроимпульсу, а нолик означает не делаем
тут выходит 21 тактов кадровой частоты дадут 15 прерываний, что есть ровно в 1.4 раз реже или 70.08/1.4=50.06 Гц
и эту логику можно сделать включаемой тумблером (по умолчанию прерывания будут приходить с частотой кадров 70.08 Гц)

_________________
:eugeek: https://twitter.com/Shaos1973


09 Jun 2019 01:19
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17910
Location: Colorado
Reply with quote
Вот припаял осциллятор 36 МГц в корпусе SOJ на самодельный адаптер для платки видеосчётчиков, что чуть выше:


Attachments:
SOJ-36MHz-1.jpg
SOJ-36MHz-1.jpg [ 44.66 KiB | Viewed 306 times ]
SOJ-36MHz-2.jpg
SOJ-36MHz-2.jpg [ 30.48 KiB | Viewed 306 times ]
SOJ-36MHz-3.jpg
SOJ-36MHz-3.jpg [ 82.78 KiB | Viewed 306 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
11 Jun 2019 21:44
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 75 posts ]  Go to page Previous  1, 2, 3, 4, 5

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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.