PDA

Просмотр полной версии : Сделан Спектрум на FPGA. Круче Спринтера?



alexfreed
03.02.2006, 12:30
Ну вот, я сделал то что некоторое время собирался - Спектрум на FPGA.
В первом приближении. Или нулевом. Что успел за пару дней.

Кому интересно, пара картинок на
http://www.mirrow.com/FPGApple/ZX/

но пока интересного не много.


Пока есть и работает:

1. CPU на том же FPGA. В турбо режиме 28 МГц. Можно и 56, но не пробовал.

2. Видео идет на VGA. Вдвое быстрее каждая строка, но строки сдвоены.
Т.е. на кадр должно быть правильное число тактов.

3. Interrupt ровно 9.2 мкс. После кадрового импульса.

4. Клавиатура от PC. Причем скажем BACKSPACE делает SHIFT и 0 одновременно.

4. ROM пока от 48-го. И вот почему. Я использую встроенную память (block RAM) вместо ROM, поскольку он инициализируется при запуске. Но только
там всего 24К, так что на 16 хватает, а на 32 - нет.
Зато на плате мегабайт статической памяти. Хватит и на ROM тоже, но надо загружать с чего то.

Задумка такая: делается маленький загрузчик (там где сейчас ROM от 48-го) который загрузит память из Compact Flash. Он у меня уже физически приделан - остался от игр с Apple 2. А дальше эта память делается активной и происходит сброс. Можно даже предлагать больше одного варианта прошивки, как на эмуляторах.

Теперь хочу немного помощи. По какой "схеме" подключать флешку мне все равно. Т.е. на какие адреса вешать. А вот где взять прошивку которая бы позволяла грузить с такого "винта" если не все, то хотя бы многие программы?

Когда доведу до ума, прошивку FPGA здесь выложу. У меня плата фирменная за $100, но при большом желании можно и сделать. Если только есть кому паять чипы с 144 ногами. Но зато один такой чип и все!

CHRV
03.02.2006, 14:09
Когда доведу до ума, прошивку FPGA здесь выложу. У меня плата фирменная за $100, но при большом желании можно и сделать. Если только есть кому паять чипы с 144 ногами. Но зато один такой чип и все!
Ну до Спринтера пока далековато, но проект конечно очень интересен.
Но много вопросов:
1) АУ?
2) ВГ93 (по идее надо скрещивать с проектом Камиля)?
3) Клава (см. пункт 2);
4) ZX-BUS? (а нужен ли он вообще).

Ну и чтобы "круче Спринтера" быть нужен сбоку какой нить простенький АРМ для загрузки конфигураций. (А затем и для акселерации и для еще чегонить типа USB, Ethernet, FlashCards).

alexfreed
03.02.2006, 14:31
Но много вопросов:
1) АУ?
Сделаю. Мне только реальный нужен чип. Кажется ты же ими и торгуешь? Я попросил приятеля в Москве для меня купить. Места в FPGA еще вагон.


ВГ93 (по идее надо скрещивать с проектом Камиля)?

Я так понял что Камиль делает на AVR. Наверное можно и ВГ93 в FPGA запихать. Но опять же мне совершенно негде его найти реальный. Только мне бы хотелось понять нельзя ли обойтись. Я понимаю что многие проги лезут в 93 напрямую. Но только фирменые проги не должны. Значит можно наверое их грузить из IDE?


Клава (см. пункт 2);

Не понял. Я сделал обратное преобразование: стоит стандартная клава а проц видит якобы матрицу 8х5.


4) ZX-BUS? (а нужен ли он вообще).
Лично мне особо нечего туда вставлять. А так внешних ножек сколько хочешь.

ZEK
03.02.2006, 14:33
AVR корка ресурсов по мелочам хавает ZX Card туды лезет малой кровью
VG93 скоро уже в альфе выйдет :)

И еще паяльная "станция" мелкопростенькая стоит 80 америкаских рублей

CHRV
03.02.2006, 15:13
AVR корка ресурсов по мелочам хавает ZX Card туды лезет малой кровью
VG93 скоро уже в альфе выйдет :)

И еще паяльная "станция" мелкопростенькая стоит 80 америкаских рублей
Неа ну это понятно что производство такого дела, это не для среднего Спектрумиста.
Т.е. токо готовую плату!

ZEK
03.02.2006, 15:34
Т.е. токо готовую плату!

Или как вариант голую плату ByteBlaster микруху и паяльную станцию одним комплектом для сборки (Флейм)

Надо выбрать модель протатип и по нему делать конфигурацию или че то типа unREAL Spectrum чтоб конфигурацию можно было любую из существующих выбирать в в микруху стартовую меньюшку с драйвером винта и ROM образы хранить на витне будет конфетка

CHRV
03.02.2006, 16:31
Или как вариант голую плату ByteBlaster микруху и паяльную станцию одним комплектом для сборки (Флейм)

Надо выбрать модель протатип и по нему делать конфигурацию или че то типа unREAL Spectrum чтоб конфигурацию можно было любую из существующих выбирать в в микруху стартовую меньюшку с драйвером винта и ROM образы хранить на витне будет конфетка
В Спринтере пошли по другому пути - была дефалтная конфигурация и был специальный загрузчик конфигураций. Но у них была строго Z80 архитектура.
В случае использования архитектуры "усе в ПЛМ + микроконтроллер для работы с периферией и загрузки конфигураций" можно эмулировать абсолютно любую архитектуру (даже которую сам придумаешь и с любой системой команд) лишь бы ПЛМ хватило.

Такой проект действительно очень интересен. Даже в плане как некий адвансед дев-боард. Но очень много именно софтверной работы и организационной.

Valen
04.02.2006, 01:19
А какая вертикальная развёртка подаётся на VGA?
Стандартная синклеровская 50Гц?
Для многих VGA это запредельная частота, там с 60Гц начинается.

Если всё-таки подаётся 50Гц, то было бы неплохо сразу сделать добавочный
режим с развёрткой, скажем 85Гц. Это уже на глаза давить не будет,
можно и текст мелкий почитать. (Для девелопера самое то.)
Вероятно 85Гц это оптимально. Если меньше - будет неприятно для глаз, если
больше - не все мониторы это потянут.


Конечно хотелось бы увидеть хоть какие-то видео-режимы, которые будут
по-лучше чем оригинальный синклеровский. Хотя бы сделать каждой точке
свой цвет. Ну это не к спеху, главное для начала 100 процентную эмуляцию
сделать.

Насчёт самостоятельной сборки и стоимости компонентов.
FPGA+её прошивка - ? $ (предположем что кто-то её запаяет)
метр статической памяти - ? $
Flash память - ? $
прочее - ? $

alexfreed
04.02.2006, 03:07
Стандартная синклеровская 50Гц?

Да, для начала чтобы все демки работали. Легко переключать на ходу.
Для LCD все равно 50 или 85. А если сделать 85, получится сильно нестандартное число тактов на кадр. А с прерыванием как? 50 или 85? А он должен быть привязан к КСИ?


Конечно хотелось бы увидеть хоть какие-то видео-режимы

Сколько угодно. Только скажите что софт поддержит. Наверное надо сделать 3 очевидных режима: 512 точек ч/б для текста, 80 символов с аппаратным знакогенератором и 256 точек с атрибытом на знакоместо.


Насчёт самостоятельной сборки и стоимости компонентов.

Собирать самому запаришся. Да и плату под чип где ножки через 0.5 мм утюгом не просто сделать. Так что для профессиональной сборки это. А всех деталей наберется на $20 - 25.
Кстати статической памяти можно бесплатно набрать со старых 486 плат - там она для кэша использовалась. И не обязательно 1 МБ. 256 должно хватить если есть
флешка- RAM disk ни к чему.

James DiGreze
04.02.2006, 07:26
А какая вертикальная развёртка подаётся на VGA?
Стандартная синклеровская 50Гц?
Для многих VGA это запредельная частота, там с 60Гц начинается.

Если всё-таки подаётся 50Гц, то было бы неплохо сразу сделать добавочный режим с развёрткой, скажем 85Гц. Это уже на глаза давить не будет, можно и текст мелкий почитать. (Для девелопера самое то.)
Вероятно 85Гц это оптимально. Если меньше - будет неприятно для глаз, если больше - не все мониторы это потянут.

Действительно, 50Hz для современных моников частота запредельная, и если не ошибаюсь, то минимум, по стандарту, 56Hz...
85Hz конечно, замечательный режим, но как быть с TFT LCD, где максимальная 75Hz?
Насчет синхронизации, то бишь - INT: Неплохо бы предусмотреть возможность переключать его частоту по принципу, если нужно - 50Hz, а если хочется строгой по-кадровой, то с привязкой к КСИ.

Вообще, имхо, проект заслуживает пристального внимания общественности ;)

Orionsoft
04.02.2006, 09:46
1) будет ли возможность прицеплять не только к VGA но и TV\EGA ?
2) скорость виртуального z80-28x2 - предел или можно еще в 2 раза увеличить ?
3) есть ли идея поддержать ВГ93 конфигурационно ?
т.е. или имитатор для работы с flash или живая вг с подключением реального дисковода ?.
4) планируется ли реализация поддержки винчестера по стандарту SMUC ?
5) тоже как и пункт 3 только про AY\YM
[emotions]
6) спектрум размером со спичечный коробок ? КРУТО !
7) Это-же zx-линукс и пусть каждый соберет себе ядро из предлагаемого конструктива !!!
[future]
8) добавляем еще одну fpga с z80@200MHZ по вкусу и мапим всю память
и начинаем распределенные вычисления
9) добавляем сеть\модем и миниатюрный спектрум\браузер становится
основой нашего нового мирового порядка-цифрового мира
мира справедливости на электронной основе

alexfreed
04.02.2006, 13:06
1) будет ли возможность прицеплять не только к VGA но и TV\EGA ?
Естественно. Можно даже переключать на ходу. Или 2 разные конфигурации.


2) скорость виртуального z80-28x2 - предел или можно еще в 2 раза увеличить ?


Можно и больше. Даже на дешевой FPGA (Spartan 3) можно получить больше. А на дорогой (Virtex) можно намного больше. Только зачем? Кроме того что прикольно :)

Например есть аппаратные умножители 18х18 бит. За единицы наносекунд. Только к чему?


4) планируется ли реализация поддержки винчестера по стандарту SMUC ?

Дай описание стандарта - поддержу. Был бы драйвер.

lvd
04.02.2006, 14:01
Например есть аппаратные умножители 18х18 бит. За единицы наносекунд. Только к чему?
К генерал соунду, видимо. Выводить надо на I2S цап, очевидно, а умножители пригодятся частоту пересемплировать и громкость модулять =) В принципе, то же самое и для АУка справедливо...

ZEK
04.02.2006, 18:27
Какой проц T80 или TV80?

Valen
04.02.2006, 18:30
Суммирую по базовым видео-режимам:
1. стандартный синклеровский экран 256*192
2. графический экран 512*192 - ч\б
(Адресацию, вероятно, можно взять уже существующию. Для полной совместимости
со старым софтом.)
3. текстовый экран 80*25 символов (с аппаратным знакогенератором)
(уточнить размер матрицы символа)


Вертикальная развёртка
для режимов 1,2
- 50Гц (для полной совместимости)
- 85Гц (для комфортного изображения на CRT мониторах)

для режима 3
- 85Гц

INT нужно иметь возможность привязывать или к 50Гц или к КСИ.


Насчёт предела в 75Гц на TFT LCD. Много ли таких мониторов в использовании?

James DiGreze
04.02.2006, 21:37
Суммирую по базовым видео-режимам:
Насчёт предела в 75Гц на TFT LCD. Много ли таких мониторов в использовании?
CRT работают и на 75Hz. А вот TFT LCD работающих на 85Hz, я лично, не встречал... Зачем городить еще режимы, если в одном можно поддержать 2 стандарта...
ЗЫ: В начале 90-х винчестеры к спектруму подключали, в основном, MFM/RLL, под видом "...зачем IDE, они дорогие, и ни у кого их нет...", а сейчас IDE - СТАНДАРТ ;)

geners
05.02.2006, 10:55
Вот теперь мона и про ZX-laptop подумать

Valen
05.02.2006, 15:03
[QUOTE=jdigreze]CRT работают и на 75Hz. А вот TFT LCD работающих на 85Hz, я лично, не встречал... Зачем городить еще режимы, если в одном можно поддержать 2 стандарта...
QUOTE]

Я вообще первый раз слышу про предел в 75Гц у TFT LCD мониторов.
Если это действительно так, то можно просто добавить эту развёртку в
список режимов - 50, 75, 85 Гц.

А возможно ли добавить в чип, VGA контроллер (на Верилоге сделаный)?
http://www.opencores.org - категория видео-контроллеры

James DiGreze
05.02.2006, 20:32
Вот теперь мона и про ZX-laptop подумать
Замечательная идея! Мне, лично, по душе! Главное что бы было open source!

Я вообще первый раз слышу про предел в 75Гц у TFT LCD мониторов.
Если это действительно так, то можно просто добавить эту развёртку в
список режимов - 50, 75, 85 Гц.

А возможно ли добавить в чип, VGA контроллер (на Верилоге сделаный)?
http://www.opencores.org - категория видео-контроллеры
Я - не истина в последней инстанции! ;)
И скорее сочуствующий... Но железо мне близко по душе, и я желаю развития... Однако, не все, что могут предложить разработчики, можно и должно подддерживать, так как стандарты на расширения разные, и тот кто первый предложит стандарт, тот и лидер... Т.о., если не будет поддержан тот, или иной стандарт, то я, лично, не буду, скорее всего, на него ориентироваться при написании своих проектов ;)
ЗЫ: Всё это БОЛЬШОЕ имхо... Но...

Valen
05.02.2006, 21:39
Я - не истина в последней инстанции! ;)
И скорее сочуствующий... Но железо мне близко по душе, и я желаю развития...
Ну и я такой :)

А про возможность вкючить в чип VGA контроллер, пусть автор ответит.
Есть ли в этом смысл\возможность.

alexfreed
06.02.2006, 04:27
Какой проц T80 или TV80?
TV80 с минимальным изменением для поддержки 3.5 МГц.

alexfreed
06.02.2006, 04:39
А про возможность вкючить в чип VGA контроллер, пусть автор ответит.
Есть ли в этом смысл\возможность.

Возможность точно есть. А что до смысла... поставьте сначала задачу. Например вы хотите 640х480 в 16 цветах? Не вопрос, даже готового core не надо - быстрее самому написать.
Только возникают вопросы:
1. 150К памяти на это пойдет. У нас есть конечно целый метр, только не быстро будет его заполнять. Разве что в турбо режиме.
2. Смысл именно "VGA" контроллера в том что поддерживаются регистры VGA под которые заточены драйверы. А у нас вроде с дровами туго. Так зачем нам эти регистры?

Можно сделать простенький аппаратный ускоритель с командами типа "нарисуй линию", "заполни прямоугольник желтым" и т.д. Только кто это поддержит? А несовместимые компютеры у меня на ARM всяко проще, быстрее и дешевле выходят.

Valen
06.02.2006, 19:10
Возможность точно есть. А что до смысла...

Смысл проекта, я так понял, это полная эмуляция синклера + некоторые
дополнительные расширения.
Причём делать эти расширения, надо хотя бы потому, что неразумно будет
оставлять свободное место в чипе.



Например вы хотите 640х480 в 16 цветах? Не вопрос, даже готового core не надо -
быстрее самому написать.
Только возникают вопросы:
1. 150К памяти на это пойдет. У нас есть конечно целый метр, только не быстро
будет его заполнять. Разве что в турбо режиме.

Да вот это неплохой режим для окошек (юзерский интерфейс).
Подрежимы - 75 и 85 Гц.
Палитра.
Но однозначно нужны какие-то базовые аппаратные операции.
Точка, линия, заполненный прямоугольник, копирование прямоугольника (спрайт),
копирование прямоугольника с прозрачным цветом (маска спрайта, это один из
цветов спрайта).
Прерывания по строке и по кадру.


Хотелось бы ещё динамический режим (для игр, дем)
320*240*16цветов (75 и 85Гц).
Полностью спрайтовый.

Если есть на open cores некое 2Д ядро, с приблизительно такими
возможностями, то можно его и поюзать.
Если нет, то сделать на своё усмотрение.




2. Смысл именно "VGA" контроллера в том что поддерживаются регистры VGA под
которые заточены драйверы. А у нас вроде с дровами туго. Так зачем нам эти
регистры?

Регистры нам ни к чему.

ZEK
07.02.2006, 00:26
TV80 с минимальным изменением для поддержки 3.5 МГц

Кстати TV80 очень интересная разработка, там есть трешка контстант и если их в сигналы переделать то можно будет на ходу переключать режимы проца z80 - Fast Z80 (это я так понял укороченые до немогу машинные циклы) там еще и GB но че это я не в курсе, и еще вроде в последних версиях TV80 по умолчанию цикл RFSH отключен и регистр R не чеко не считает вроде как несовместимость это все относится к вариациям TV80s и TV80n (наиболее близок к оригиналу по циклам шины)

И еще есть смысл наружу (за переделы TV80) вывести сигнаьчик инецирующий текущий режим прерывания. И потом всяким опереационкам и теневым мониторам удобней будет

Valen
07.02.2006, 14:29
Вот прайс
http://www.plis.ru/pic/pict/File/Chip.pdf

Укажи, плиз, какой именно Спартан-3 используется в проекте.

icebear
07.02.2006, 14:37
Кстати TV80 очень интересная разработка, там есть трешка контстант и если их в сигналы переделать то можно будет на ходу переключать режимы проца z80 - Fast Z80 (это я так понял укороченые до немогу машинные циклы) там еще и GB но че это я не в курсе,

GameBoy - там стоит проц на ядре Z80 с несколькими новыми командами. Кстати, там ещё должно быть что-то для i8080.


и еще вроде в последних версиях TV80 по умолчанию цикл RFSH отключен и регистр R не чеко не считает вроде как несовместимость это все относится к вариациям TV80s и TV80n (наиболее близок к оригиналу по циклам шины)

Видать разработчики метят в огород eZ80 :)


И еще есть смысл наружу (за переделы TV80) вывести сигнаьчик инецирующий текущий режим прерывания. И потом всяким опереационкам и теневым мониторам удобней будет

А что это даст? В Спектруме всё-равно используется штатно один тип прерываний, всякие ОС явно будут юзать IM2. Или я чего не понял?

Моё имхо: если уж ковырять старика Z80, то в сторону увелечения размера регистров и внешних шин + введение минимального набора арифметических операций. Грубо говоря, Z80 с 32-х разрядными регистрами, возможностью адресовать линейно больше 64К и команды типа MULT и DIV и т.п. При этом обязательно не пытаться копировать ни интел ни моторолу.

caro
07.02.2006, 15:30
Укажи, плиз, какой именно Спартан-3 используется в проекте.Судя по всему вот этот: XC3S200-4FT256C - стоимостью 18.7$

На базе него выполнен Starter Board, который входит в комплект стартового набора
на базе ПЛИС Spartan-3 и CPLD (HW-SPAR3-CPLD-DK).
Цена на Inline Group - 125$

ZEK
07.02.2006, 15:32
А что это даст? В Спектруме всё-равно используется штатно один тип прерываний, всякие ОС явно будут юзать IM2. Или я чего не понял?

Это хорошо будет если несколько прог загружеными в памяти держать и переключаться между ними, они могут разные режимы использовать и чтебы постоянно не реситься лучше знать чем на обум


При этом обязательно не пытаться копировать ни интел ни моторолу.
Ага луше всего это AMD 64 там очень красиво все реализованно :)


Видать разработчики метят в огород eZ80
А вот это можно будет потом под Spectrum коректно подправить чтобы траплов с портами не было

icebear
07.02.2006, 15:56
Судя по всему вот этот:

Тогда понятно, почему можно запихать всё, что можно. В 200К вентилей :)

icebear
07.02.2006, 15:58
Это хорошо будет если несколько прог загружеными в памяти держать и переключаться между ними, они могут разные режимы использовать и чтебы постоянно не реситься лучше знать чем на обум

Понятно. Я первоначальной идеи не понял. Теперь перечитал - понял :)


А вот это можно будет потом под Spectrum коректно подправить чтобы траплов с портами не было

Дык, все туда идём :)

icebear
07.02.2006, 16:07
Вот прайс
http://www.plis.ru/pic/pict/File/Chip.pdf

Укажи, плиз, какой именно Спартан-3 используется в проекте.

Это что, всё штучные цены??? Боже мой, пустите меня в этот рай!!!

alexfreed
08.02.2006, 14:14
Судя по всему вот этот: XC3S200-4FT256C - стоимостью 18.7$

На базе него выполнен Starter Board, который входит в комплект стартового набора
на базе ПЛИС Spartan-3 и CPLD (HW-SPAR3-CPLD-DK).
Цена на Inline Group - 125$


Он самый. ТОлько сколько стоит чип в корпусе с 256 выводами СНИЗУ не очень принципиально :))
Пойдет и XC3S200 в корпусе со 100 ногами. Могу и для Альтеры (Cyclon) синтезировать.

alexfreed
08.02.2006, 14:36
Последние достижения: приделан USB 2.0 интерфейс (плата от Digilent) через который за доли секунды пишется/читается вся память.

Теперь просьба ко всем: дайте/посоветуйте дрова чтобы загружать программы.
1. Для IDE/Compact Flash. ПОдключу по любым адресам.
2. Есть UART. Что будет работать?
3. Другие идеи?

Eltaron
08.02.2006, 18:28
2. Есть UART. Что будет работать?

rs232
хотя это, наверна, слишком банально :)

spensor
09.02.2006, 08:56
2. Есть UART. Что будет работать?

rs232
хотя это, наверна, слишком банально
Чтобы небыло банально, IrDA или MIDI. Больший смысл конечно у IrDA.

Orionsoft
09.02.2006, 11:33
а схема переходной платы сложна ?
много там чего ?

alexfreed
09.02.2006, 12:31
Чтобы небыло банально, IrDA или MIDI. Больший смысл конечно у IrDA.

Наверное я не умею выражать свои мысли кратко. Еще раз более развернуто.
Итак имеется замечательный клон 128-го, пока без AY, а остальное вроде есть.
Плюс USB канал по которому я умею читать/писать память. На ходу если надо.

Теперь проблема: как загружать программы кроме ручного ввода с клавиатуры.
UART легко добавляется, но надо софт для обоих концов. И вот я спрашиваю, нет
ли чего что помогло бы загружать файлы (скажем в формате TAP) через RS232.
Представляется несложным заменить код чтения с ленты на чтение из порта UART.

Дальше еще больше хотелось бы код для работы с IDE диском. Я могу его по любому адресу прописать, был бы драйвер. Есть?

spensor
09.02.2006, 12:51
Теперь проблема: как загружать программы кроме ручного ввода с клавиатуры.
UART легко добавляется, но надо софт для обоих концов. И вот я спрашиваю, нет
ли чего что помогло бы загружать файлы (скажем в формате TAP) через RS232.
Представляется несложным заменить код чтения с ленты на чтение из порта UART.
AFAIK есть софт для которого на Спеке имеется обычный TAPE-интерфейс (бит-порт), а на PC реализуется или через SoundCard или LPT. По идее должно работать. А UART разумнее под более интересные вещи оставить.


Дальше еще больше хотелось бы код для работы с IDE диском. Я могу его по любому адресу прописать, был бы драйвер. Есть?
Немного предвзято, но могу SMUC предложить. Распортовка известна и с софтом проблем, по большому счету, тоже нет (в том числе и firmware).

CHRV
09.02.2006, 12:52
Наверное я не умею выражать свои мысли кратко. Еще раз более развернуто.
Итак имеется замечательный клон 128-го, пока без AY, а остальное вроде есть.
Плюс USB канал по которому я умею читать/писать память. На ходу если надо.

Теперь проблема: как загружать программы кроме ручного ввода с клавиатуры.
UART легко добавляется, но надо софт для обоих концов. И вот я спрашиваю, нет
ли чего что помогло бы загружать файлы (скажем в формате TAP) через RS232.
Представляется несложным заменить код чтения с ленты на чтение из порта UART.
А нафига не проще сделать как положено через саундкарту, тем более примочки есть для этого (плагины к винамп). Магнитофонный вход практически одна нога, единственное схему сопряжения прийдется сделать.




Дальше еще больше хотелось бы код для работы с IDE диском. Я могу его по любому адресу прописать, был бы драйвер. Есть?
Есть помотри исходники драйверов под iSDOS для Немовского или Турбо2+ ИДЕ.
Свяжись с Максагором он поможет.

alexfreed
09.02.2006, 13:12
А UART разумнее под более интересные вещи оставить.

Одно другому не мешает. Пусть при вызове "загрузки с ленты" код слушает UART
и получает скажем содержимое TAP файла. Я могу конечно драйвер написать но лениво. Может уже есть что то?
А просто через саундкарту это понятно. Я так реальный спек загружаю. Но не очень хочется делать преобразователь уровня чтобы загружать МЕДЛЕННО. Через
UART и быстрее намного, и паять не надо.


Немного предвзято, но могу SMUC предложить. Распортовка известна и с софтом проблем, по большому счету, тоже нет (в том числе и firmware).

Предложи. Я возьму. Где?

alexfreed
09.02.2006, 13:17
Есть помотри исходники драйверов под iSDOS для Немовского или Турбо2+ ИДЕ.

Я так понял может очибочно что iSDOS грузится с диска трдосовского. Так?
А мне надо из биоса грузить - больше ничего нет.

Еще вопрос. Есть например "глюк" биос. С дисковыми функциями и т.д.
А есть что либо похожее для IDE? И как подключается доп ПЗУ? Что банки переключает?

spensor
09.02.2006, 13:40
Я так понял может ошибочно что iSDOS грузится с диска трдосовского. Так?
А мне надо из биоса грузить - больше ничего нет.
Если нет особых предпочтений, к содержимому BIOS, то firmware SMUC (ПрофПЗУ) свою функцию выполняет (управление образами TRD-дисков на винчестере, автозагрузку установленного диска). Если же нужно обязательно IS-DOS, то была версия зашиваемая в ПЗУ, но работать будет только ПО IS-DOS. Подобная же фишка была и в прошивке KAY-1024. Как реализовано в АТМ расскажут NedoPCшники.

Еще вопрос. Есть например "глюк" биос. С дисковыми функциями и т.д. А есть что либо похожее для IDE?
Есть - прошивка Влада Матлаша (была в теме "UUE файлы из FidoNet"). И опять же ПрофПЗУ.

И как подключается доп ПЗУ? Что банки переключает?
Это смотря на какой клон ориентироваться - Scorpion, ATM.

alexfreed
09.02.2006, 13:49
Если нет особых предпочтений, к содержимому BIOS, то firmware SMUC (ПрофПЗУ) свою функцию выполняет

нет особых предпочтений. Где только взять ПрофПЗУ? Я нашел файл
"SMUC на дискретных компонентах". Там про порты не густо, но немного есть.

spensor
09.02.2006, 14:12
Где только взять ПрофПЗУ?
Проще всего http://www.zxspectrum.it/, но можно и на форуме поискать, было в родственных темах "Scorpion с большим ПЗУ" и т.п.


Я нашел файл "SMUC на дискретных компонентах". Там про порты не густо, но немного есть.
Не густо??? Уж больше, это вряд-ли где найдешь. И так "кровью и потом" добыто. Хотя если есть конкретные вопросы, то отвечу. Правда сразу просьба в теме "SMUC на дискретных компонентах".

Ronin
09.02.2006, 16:59
Если же нужно обязательно IS-DOS, то была версия зашиваемая в ПЗУ, но работать будет только ПО IS-DOS.
Работать может любое ПО, загрузчик описан в документации ис-дос. Та штука которая прошита в ПЗУ KAY, просто грузит и запускает определенный сектор с винта.

CHRV
09.02.2006, 20:31
Если нет особых предпочтений, к содержимому BIOS, то firmware SMUC (ПрофПЗУ) свою функцию выполняет (управление образами TRD-дисков на винчестере, автозагрузку установленного диска). Если же нужно обязательно IS-DOS, то была версия зашиваемая в ПЗУ, но работать будет только ПО IS-DOS. Подобная же фишка была и в прошивке KAY-1024. Как реализовано в АТМ расскажут NedoPCшники.
В состав последний версии ПЗУ для Turbo2+ входит vTRDOS, позволяет запускать TRD образы с винта или из памяти и работать с ними как с дискетой. Описание и все остальное на atmturbo.nedopc.com

alexfreed
10.02.2006, 11:55
Проще всего http://www.zxspectrum.it/

Спасибо нашел. Ну, блин, и наворочено...


Не густо??? Уж больше, это вряд-ли где найдешь

Не густо было в том документе который у меня был. А тут сделал поиск на форуме на "SMUC" и нашел много инфы. Главная непонятность была с выбором страниц проф пзу. Оказалось что таки не просто...

Зато нашел на сети проэкт "divIDE" и к нему "fatware" которое вроде как позволяет грузить программы с диска с FAT. И объем пзу всего 8 К. И документировано все. Наверное начну именно с него.

Valen
12.02.2006, 21:21
Вероятно "divIDE" подойдёт. Доки и софт открыты.
Трапы на ТР-ДОС вызовы тоже задокументированны.
Нужно будет делать firmware, которое будет эмулировать ТР-ДОС диск,
расположенный в файле АТА дэвайса.


Насчёт FPGA чипа.
Есть ли полный аналог такого чипа в TQFP корпусе?
(Чтоб впаять без проблем)

Orionsoft
12.02.2006, 23:19
Есть ли полный аналог такого чипа в TQFP корпусе?
(Чтоб впаять без проблем)

даёшь TQFP !

spensor
13.02.2006, 10:14
Главная непонятность была с выбором страниц проф пзу. Оказалось что таки не просто...
Само-собой know-how! Но не так чтобы уж и "безбашенно", все реализуемо в рамках ПЛИС, и вентелей занимает немного.

Зато нашел на сети проэкт "divIDE" и к нему "fatware" которое вроде как позволяет грузить программы с диска с FAT. И объем пзу всего 8 К. И документировано все. Наверное начну именно с него.
Это конечно неплохо, только для пользователей TR-DOS не подходит - ни одну TRDOS-прогу без адаптации не запустишь. В принципе, напоминает ситуацию на заре "прикручивания" интерфейса TR-DOS - все проги были написаны под ленту и для работы с диском требовали адаптации:(
Ну как знаешь, мое дело предложить.

CHRV
13.02.2006, 10:27
Вероятно "divIDE" подойдёт. Доки и софт открыты.
Трапы на ТР-ДОС вызовы тоже задокументированны.
Нужно будет делать firmware, которое будет эмулировать ТР-ДОС диск,
расположенный в файле АТА дэвайса.
А че наше как обычно "не гоже", и у Кая есть прошивка для запуска ТРД и у Турбо2+ оно есть, и гораздо лучше документирована, и по русски, и автора моно попинать, и исходники не проблема достать. FAT правда нет, зато Unreal мулить умеет хард, а вот тулзичку по перекидыванию из файла эмулятора на реальный диск(и обратно) было бы полезно написать (посекторно).
Я вот логики ну никак такой понять не могу. Опять же зачем мулить Скорпион у которого никто толком не знает как работает СМУК, когда есть клоны у которых все открыто и документировано.



Насчёт FPGA чипа.
Есть ли полный аналог такого чипа в TQFP корпусе?
(Чтоб впаять без проблем)
Шаг ножек 0.5мм "без проблем"- крутой вы чел однако.

spensor
13.02.2006, 11:00
А че наше как обычно "не гоже"
Почему негоже? Alexfreed поинтересовался решениями, и каждый предлагает варианты - каждый "купец" должен сам рекламировать свой товар. Решение от NedoPC ничуть не хуже SMUC, как верно и обратное, но оба решения неидеальны.


Опять же зачем мулить Скорпион у которого никто толком не знает как работает СМУК, когда есть клоны у которых все открыто и документировано.
Вообще то, проблема в том, что действующий клон всего один (у ewgeny7) и вполне возможно, что это траблы конкретного образца. А с документацией на SMUC уже все не так плохо, как год назад.


Шаг ножек 0.5мм "без проблем"- крутой вы чел однако.
Согласись, что BGA уж точно дома не припаяешь, а с TQFP еще можно попробывать. Как вариант, правда возни очень много, да и смотрится не очень, можно взять материнку от PC и вырезать участок платы (с хорошей переферийной областью) с посадочным местом под TQFP, ну а дальше проследить куда идут проводники и припаяться к оным. Одним словом реализуемо.
А если будет разведенная плата или платы-преходники, то припаять опытному монтажнику со среднестатистическим паяльником и тонким жалом становится очень даже "без проблем".

SfS
13.02.2006, 11:30
Согласись, что BGA уж точно дома не припаяешь, а с TQFP еще можно попробывать.

Знаю умельцев, впаивавших BGA дома. Сам не пробовал.

А с TQFP вообще не представляю какие могут быть проблемы. Впаивал я их 176 ног корпуса. Дома на кухонном столе. 38 плат причем. И никаких проблем... Это только кажется на первый раз трудно - на самом деле все довольно просто.

alexfreed
13.02.2006, 12:04
Есть ли полный аналог такого чипа в TQFP корпусе?
(Чтоб впаять без проблем)

Вроде есть TQFP 144. Тоже имхо не для утюжной технологии...
И еще в древности было надо 3 питания на процессоры. 8080 на пример. Потом стало достаточно 5 вольт. А вот теперь для FPGA снова надо 3 питания...

alexfreed
13.02.2006, 12:13
А че наше как обычно "не гоже"

Мне не очень принципиально наше-не наше. Весь вопрос в простоте и документации. Так вот DIVIDE вроде хорошо документирован.


и у Кая есть прошивка для запуска ТРД и у Турбо2+

Про Кая я мало что знаю а вот у Турбо2+ действительно вроде все просто и документировано по железу. Осталось понять какой минимум софта нужен для загрузки с IDE. Может Максагор подключится к беседе?

Насчет SMUC я согласен - не зачем наверное, если Турбо2+ дает ту же функциональность.

Пока что сделал согласно пожеланиям трудящихся вход для "магнитофона". Вполне грузятся TAP файлы через звуковую карту. Но я по прежнему считаю это извращением при наличии USB 2.0 интерфейса на 48 МЕГАБАЙТ в сек!

На картинке оный интерфейс. А маленький чип - serial EEPROM. Я с него биос гружу при запуске.

Новости проэкта начинаю помещать на
http://mirrow.com/FPGApple/FPGA_Speccy.html

Там есть картинка как смотрится на VGA мониторе.

CHRV
13.02.2006, 12:18
Вроде есть TQFP 144. Тоже имхо не для утюжной технологии...
И еще в древности было надо 3 питания на процессоры. 8080 на пример. Потом стало достаточно 5 вольт. А вот теперь для FPGA снова надо 3 питания...
Вроде только два (2.5 и 3.3).
У Спартана-2 если не ошибаюсь корпус QFP при такой емкости есть только на QFP240.

Утюжная технология не тянет конечно.
Платки QFP0.5-208 в чип дипе есть.

КТото тут предлагал выпиливать чипсеты :). Ну-ну у них слоев то как минимум четыре у платы, и все проводники не отследишь.

Самый по моему мнению интересный путь это сделать некую платформу со следующим набором вещей:
1) FPGA
2) Микроконтроллер для работы с периферией и загрузки FPGA
3) Память FLASH и SDRAM или/и SRAM
4) Все необходимые разьемы интерфейсов
5) Пара слотов для расширения
6) Схема прошивки Микроконтроллера
7) небольшое монтажное поле.
Заказать такие платы уже собранными и на них спокойно реализовывать...
Где бы токо денег надыбитЬ :)

spensor
13.02.2006, 12:19
Знаю умельцев, впаивавших BGA дома. Сам не пробовал.
Вообще с трудом представляю, но похоже зря Роман всех пугает - все можно сделать.

Вроде есть TQFP 144. Тоже имхо не для утюжной технологии...
Хоть сам и не пробывал :(, но знакомый утверждает, что PQFP-208 с использованием покупных фоторезистов и печати лазерным принтером на пленке реализуемо.

И еще в древности было надо 3 питания на процессоры. 8080 на пример. Потом стало достаточно 5 вольт. А вот теперь для FPGA снова надо 3 питания...
А какие проблемы? Сейчас всю схему можно запитать от 3,3В (буферные элементы 74AC также от 3,3В будут работать). Вопрос только в источнике питания - вместо 5 на выходе должен иметь 3,3В.
Хотя предела совершенству нет - лет через 10 вообще от 0,7В будет питаться:)

spensor
13.02.2006, 12:28
КТото тут предлагал выпиливать чипсеты. Ну-ну у них слоев то как минимум четыре у платы, и все проводники не отследишь.
Слоя то четыре, только "внутренние" это питание, так что следить не нужно - нужно просто оборвать. Но вариант применим в безвыходной ситуации, если нет плат-переходников. А тут как известно "голь на выдумку хитра".


Насчет SMUC я согласен - не зачем наверное, если Турбо2+ дает ту же функциональность.
Ваше право.

alexfreed
13.02.2006, 12:29
А какие проблемы? Сейчас всю схему можно запитать от 3,3В

К сожалению для Spartan 3 нужно как минимум 3.3 для периферии и 1.2 для "core".
Может и можно обойтись без 2.5 вольт если не планируется 2.5 в стандарт для сопряжения использовать, а может и нельзя. Не уточнял. Не то что это очень сложно: просто надо учитывать необходимость регуляторов для проэктирования своей платы.

alexfreed
13.02.2006, 12:35
Вроде только два (2.5 и 3.3).
У Спартана-2 если не ошибаюсь корпус QFP при такой емкости есть только на QFP240.

Spartan 3 сделан по другой технологии. 90 нм. И напряжение для "core" другое. Зато есть 200000 вентилей в корпусе с 144 ногами. И даже со 100 ногами.

CHRV
13.02.2006, 12:37
К сожалению для Spartan 3 нужно как минимум 3.3 для периферии и 1.2 для "core".
Может и можно обойтись без 2.5 вольт если не планируется 2.5 в стандарт для сопряжения использовать, а может и нельзя. Не уточнял. Не то что это очень сложно: просто надо учитывать необходимость регуляторов для проэктирования своей платы.

АТХ блок питание имеет 3.3вольта стандартом. А для 1.2 и 2.5 использовать low-drop voltage regulator их щаз просто полно разных.

На счет что я всех тут пугаю, для меня например несложно припаять 0.5 QFP причем я сделаю это достаточно быстро у меня и жала есть специальные у станции. А вот любителю не советую - токо зальет контакты у достаточно недешевой микрухи.
Ну и плату вручную я хоть и могу такую сделать, но не буду - мне дешевле будет заказ сделать :).

Память и мелкоконтроллеров полно под 3.3вольта. Причем они дешевлее чем под 5в.

alexfreed
13.02.2006, 12:42
Итак появилась возможность загружать TAP файлы. Буду признателен если кто нибуть кинет мне демку с "хитрой" времянкой посмотреть насколько у меня все совместимо. Ведь у меня 32 КГц по строкам для VGA. То что я запускал идет нормально.

ZEK
14.02.2006, 01:26
Согласись, что BGA уж точно дома не припаяешь, а с TQFP еще можно попробывать.

Припоять можно если умеещ причем даже малой кровью - газовой горелкой за 10-12$ которая работает на газе от зажигалок. Но проблема в том что шарики посносяться у микрух как миниму с полсотни пока не научишся, и к тому же без трафорета шары не востановиш. И плату закрывать надо а то лак горит на ура. А чтобы припоять TQFP 144 ноги без паялки с помощью жала нелудящегося так это надо терпение и твердую руку иметь.

IMHO BGA припоять даже легче чем TQFP (В домашних условиях). Только плата будет стоить больше чем котелось наверное раз в 5 и то при учете хотябы мелкой серии.

А вообще флуд конкретный пошол, к сожаления у alexfreed уже готовя плата и вариаты расматривать как внешнюю память или ROM 27512 не имет смысла. В итоге я вижу это устройство максимум как Spectrum с 512Kb памяти c хранимыми в единственой микрухе мапяти и образы прошивок ROM, что-бы IDE подключить нодобно хотябы буферные элеметы нацепить (а то микруху жалко) опять-же все несовсем удобно, то есть покупаеш плату за 100 американских рубликов (гривнюшек) потом чтобы полноценный Spec со всеми желаемыми возможностями получить к нему еще и платка необходимо. Зато этот вариант безценный в плане отладки. Хотя у меня видется еще один вариант но логика подсказывает в стору творемия SMT это если ROM,IDE,FDD устройства будут емулиться в сторону USB а на PC будет ответная прога сервер тогда все реализуется на одной плате и легко, и с этого момента PC именуется не как иначе как АГРЕГАТ для удобства Spectrum или по другому SuperPuper-MegaSMUC device :)

И вопросих к alexfreed на платах стоит конфигурационное ПЗУ или ее с PC грузить постоянно надо?

CHRV
14.02.2006, 10:27
IMHO BGA припоять даже легче чем TQFP (В домашних условиях). Только плата будет стоить больше чем котелось наверное раз в 5 и то при учете хотябы мелкой серии.
Я про такой метод слыхал делаются дырки точно по месту шариков и кладут микруху и паяют как обычно, токо плату опять же заказывать надо и точность нужно высокая.


А вообще флуд конкретный пошол, к сожаления у alexfreed уже готовя плата и вариаты расматривать как внешнюю память или ROM 27512 не имет смысла. В итоге я вижу это устройство максимум как Spectrum с 512Kb памяти c хранимыми в единственой микрухе мапяти и образы прошивок ROM, что-бы IDE подключить нодобно хотябы буферные элеметы нацепить (а то микруху жалко) опять-же все несовсем удобно, то есть покупаеш плату за 100 американских рубликов (гривнюшек) потом чтобы полноценный Spec со всеми желаемыми возможностями получить к нему еще и платка необходимо. Зато этот вариант безценный в плане отладки. Хотя у меня видется еще один вариант но логика подсказывает в стору творемия SMT это если ROM,IDE,FDD устройства будут емулиться в сторону USB а на PC будет ответная прога сервер тогда все реализуется на одной плате и легко, и с этого момента PC именуется не как иначе как АГРЕГАТ для удобства Spectrum или по другому SuperPuper-MegaSMUC device :)
ЭЭЭЭЭ наверно эмуль то по проще юзать и бесплатнее. Если делать то полностью автономное устройство, причем я описал из каких компонент, но както все мимо прошло как обычно!

alexfreed
14.02.2006, 13:24
И вопросих к alexfreed на платах стоит конфигурационное ПЗУ
Да, стоит. И там даже есть свободное место для биоса, но мне удобнее было использовать отдельный 8-ногий чип.

ZEK
15.02.2006, 01:56
ЭЭЭЭЭ наверно эмуль то по проще юзать и бесплатнее. Если делать то полностью автономное устройство, причем я описал из каких компонент, но както все мимо прошло как обычно!

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


И там даже есть свободное место для биоса,
Это существенно облегчает реализацию

alexfreed
18.02.2006, 14:49
ЭЭЭЭЭ наверно эмуль то по проще юзать и бесплатнее.
Еще проще и еще бесплатнее совсем ничего не юзать :)
Как я понимаю, большинство проэктов тут делается для прикола.

Пока не сделал IDE в ожидании дров. Вроде все бы хорошо по системе Турбо2+, но почему-то как я понял ROM требует не меньше 1 МГ RAM? А почему? У меня есть всего 1 М SRAM, но часть идет вместо ROM.

Зато пока всунул в тот же чип эмуляцию AY-3-8910. И вроде даже играет. Для экономии резисторов на выходе :) и одного ЦАПа (внутри FPGA) суммирование происходит цифровым образом. Т.е. в левый канал идет А+1/2B,а в правый - Ц+1/2 Б. И к сожалению чип уже под завязку. Правда у меня вделан туда же "логический анализатор". Очень помогает при настройке.

На картинке фрагмент записи в мой "AY-3-8910".

CHRV
18.02.2006, 18:28
Пока не сделал IDE в ожидании дров. Вроде все бы хорошо по системе Турбо2+, но почему-то как я понял ROM требует не меньше 1 МГ RAM? А почему? У меня есть всего 1 М SRAM, но часть идет вместо ROM.
Если имеется ввиду virtTRDOS, то он действительно требует мег памяти RAM чтобы образ диска держать в памяти.

Valen
19.02.2006, 21:20
[QUOTE=alexfreed]И к сожалению чип уже под завязку. [QUOTE]
На расширенные видео-режимы места хватит?
По минимуму, сделай хоть 85 Гц развёртку для стандартного синклеровского экрана.

slava2005
24.03.2006, 12:58
Еще проще и еще бесплатнее совсем ничего не юзать
Как я понимаю, большинство проэктов тут делается для прикола.

А я вот после прочтения вашего проекта, захотел повторить подобное. Тем более давно хотел начать осваивать FPGA.

Не могли бы вы направить меня по нужному адресу, или немножко поделиться Вашей нароботкой.

Я планирую сделать на втором циклоне.

Спасибо

Orionsoft
04.04.2006, 22:31
Итальянцы отжигают !
Даёшь Dual-port ram !
ZX->VGA !
1 GB для загрузки снапшотов ! время загрузки - меньше секунды
теоритеческая возможность подключения LCD 320x240 !

Смотреть ссылку как отжигают итальянцы (http://www.zxbada.bbk.org/)

fan
05.04.2006, 00:54
Круто :)

sheltem
05.04.2006, 16:14
Супер!!!! :v2_clapp: Особенно нижняя сторна медали.....

jager
13.12.2006, 15:19
все заглохло с проектом?

homeness
03.01.2010, 19:19
Заглохо, а то, что есть работает очень криво. 1 игра из 10 запускается на DE1. MMC поднимается, вообще, чудесным образом. После молитвы. Тут многие говорят, что EP2C20 слишком мелкая для Speccy, но этот прожект занимает там 50%. Я думаю что в EP2C20 можно весь ATM2 засунуть и еще место останется, но никто не занимается этим :(

balu_dark
03.01.2010, 19:58
Некропостеры - очень плохие люди! я бы сказал - редиски!

Sayman
03.01.2010, 20:12
Ну и чтобы "круче Спринтера" быть нужен сбоку какой нить простенький АРМ для загрузки конфигураций
гыыы...чтобы быть ему круче спринтера, потребуется как минимум 256цветов на точку, аксель. звук 16бит стерео, кэш, винт и возможность смены конфигов налету...

homeness
03.01.2010, 20:19
Некропостеры - очень плохие люди! я бы сказал - редиски!

Ну не все же могут держать руку на пульсе времени :) К тому же, для DE1, кроме этого поделия, я ничего не нашел... :(

---------- Post added at 23:19 ---------- Previous post was at 23:17 ----------


гыыы...чтобы быть ему круче спринтера, потребуется как минимум 256цветов на точку, аксель. звук 16бит стерео, кэш, винт и возможность смены конфигов налету...

Там почти все это есть, я про DE1. Цветов 4096. Звук 24 бита/96 КГц стерео. И кэш и пр. Конфиги налету не поменять, правда.

fan
03.01.2010, 22:09
Если сделать все настройки через накрутку регистров , то менять что либо можно будет действительно на лету (а выбор начальной конфигурации производить через сетап (или менюшку), как обычно это и делается).
И покуда такое изменение конфигурации является частью архитектуры полностью внутри матрицы , не будет никакой заточки под конкретное железо (и как следствие лёгкий перенос под любую девборду).

Способ смены конфигурации как в спринтере , который является частью архитектуры , был актуален когда матрицы были маленькие и дорогие и давно себя изжил . (Теперь чтоб такое восстановить приходится рыскать в поисках полностью идентичного раритетного металлолома далеко не по демпинговым ценам).

fifan
08.01.2010, 04:29
У меня ссылка в первом посте не работает. Все ее обсуждают?

alexfreed
08.01.2010, 14:55
У меня ссылка в первом посте не работает. Все ее обсуждают?

Теперь тут:

http://alexfreed.com/FPGApple/ZXrevisited.html

Все исходники доступны.

homeness
08.01.2010, 17:36
IMHO, очень хороший стартап, надо развивать :) Я бы даже Z80 вынес на GPIO, для пущей духовности, но он на 3.3 работать не будет, а согласовывать... впрочем, это не важно. Эх, где бы времени свободного взять?

Павел Рябцов
15.02.2010, 08:16
alexfreed, Что нового за это время сделал?