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

Старый спектрумистский форум

Moderator: Shaos

Взять да и построить?

Да, поможем
5
36%
Да, строй сам
4
29%
Не, не надо
1
7%
Глупость какая
1
7%
А мне пофиг
3
21%
 
Total votes: 14
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: Недоспектрум

Post by jdigreze »

Некоторые режимы я прикручивал к своему KAY1024, некоторые туда просто нельзя прикрутить из-за особенностей работы счётчиков. Режим 512х192 делается довольно легко, для этого даже много памяти не надо, можно и в 48К поддержать.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Re:

Post by Shaos »

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:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум

Post by Shaos »

Ещё через год нашёл свои записки от 22 июня 2013 с принципиальной схемой :mrgreen:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re:

Post by Shaos »

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:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Re: Недоспектрум

Post by bigral »

Впоминается "нетленка" от NEMO, там где он написал что zx spectrum=телевизор, и мол те кто прикручивает мониторы с другим разрешением не ведают что творят.

Но что то в этом есть, а именно - чтобы избежать страшных франкенштейнов, таки не стоит сильно радикально менять спектрумовские стандарты. PAL экран 720x576 можно по идее влепить в какой нибудь нестандартный режим который нормально высвечивают все vga мониторы но и 50hz развертку тоже менять не стоит пожалуй.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум

Post by Shaos »

Таймекс 2068 был 60 Гц ;)

И потом сейчас сложно найти монитор, который понимал бы 15 кГц строчной...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Black_Cat
Doomed
Posts: 462
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Недоспектрум

Post by Black_Cat »

Shaos wrote:Таймекс был 60 Гц
Нет, только Timex Sinclair 2068 был NTSC, Timex Computer 2048/2068 были PAL/NTSC, но т.к. до американского рынка так и не дошли, то выпускались токо PAL.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум

Post by Shaos »

Ок, поправился :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум

Post by Shaos »

Shaos wrote:А что если взять да и построить на рассыпухе наикошерный спектрум, который 100% повторяет ВСЁ, включая чтение четвёрками? ;)
Концепция изменилась т.к. для "повторяет всё" есть Харлекин :no:
Мне было бы более интересно шагнуть в сторону, раздвинув рамки спектрумовости так сказать :)
А именно уйти в VGA (без скандаблеров) и на большие скорости (вплоть до 25.175 МГц) :roll:
Наш недоспектрум должен уметь работать с оригинальным ПЗУ ZX-спектрума, но по умолчанию в ПЗУ будет SE Basic IV 4.0 Anya - сначала одно-страничный вариант ПЗУ, а потом можно будет и двух-страничный прикрутить, который с поддержкой 512x192 режима - он правда не совсем в Таймекс-режиме работает, а в ZX Spectrum SE - там вторая видеостраница используется для графики на манер Спектрума-128 с переключением через порт #7ffd...
Я тут за главного - если что шлите мыло на me собака shaos точка net
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Re: Недоспектрум

Post by bigral »

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 ни у кого не вызывает интереса.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум

Post by Shaos »

Ну Пентагон ведь ушёл от PAL, введя новый «стандарт» 48.8 Гц и ничего - король демосцены типа ;)

И кстати в оригинальном британском спектруме видеопамять была на физически отдельных от основной памяти чипах :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум NEDOCON-48K и далее NEDOCON-56K

Post by Shaos »

Вобщем так - сначала будет NEDOCON-48K с 48КБ ОЗУ и 16КБ ПЗУ (с бейсиком для стандартной графики). А потом будет NEDOCON-56K с 56КБ ОЗУ (лишние 8КБ это теневые атрибуты) и 32КБ ПЗУ (с полноценным SE Basic IV Anya). Машинки предполагаются быть совместимыми с Таймексом 2068 по форматам графики (для 56K еще будет графика ZX Spectrum SE с теневой второй страницей) плюс будут иметься свои "экзотические" форматы. Видеорежимы будут переключаться по таймексовски - через порт 255 (#FF):

Code: Select all

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. (в новом недоспектруме может участвовать в настройке кадрового прерывания 50/70 Гц?)
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 - новый режим 320x200 с явными атрибутами 8x1 (несовместимо с бейсиком, но присутствует в 48К режиме, а в 56К можно будет использовать теневую видеостраницу, подцепляемую в последнюю четверть адресного пространства через #7ffd);
NEW MODE 5 - новый режим 320x200 с теневыми атрибутами 8x1 (несовместимо с бейсиком и в 48К этот режим будет ч/б т.е. без атрибутов);
OLD MODE 6 - монохромный режим высокого разрешения 512x192 по умолчанию как в Timex 2068 (цвет выбирается дополнительными битами порта 255, но 56К может подменять растровую графику из теневой памяти - см.ниже);
NEW MODE 7 - цветной режим высокого разрешения 640x200 с атрибутами в теневой странице 8x8, 8x4 или 8x2 программируемыми явно (несовместимо с бейсиком и на 48K этот режим будет ч/б т.е. без атрибутов).

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

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

P.P.S. В июне 2021 года немного изменил описание видеорежимов для большей логичности...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум NEDOCON-48K и далее NEDOCON-56K

Post by Shaos »

Подкорректировал предыдущее сообщение для пущего соответствия с "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: Select all

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 выглядит неспортивно...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум NEDOCON-48K и далее NEDOCON-56K

Post by Shaos »

для того чтобы сымитировать 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 Гц)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недоспектрум NEDOCON-48K и далее NEDOCON-56K

Post by Shaos »

Вот припаял осциллятор 36 МГц в корпусе SOJ на самодельный адаптер для платки видеосчётчиков, что чуть выше:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net