PDA

Просмотр полной версии : Компьютер "Башкирия-2М": Реализация на ПЛИС(DE1)



b2m
21.11.2010, 15:58
В начале лета я начал делать Башкирию-2м на DE1 (правда, с июля до октября забрасывал этот проект из-за нехватки времени). А сейчас всё более-менее работает. Всё как обычно сам сделал, включая процессор ВМ80. Единственное, что позаимствовал из Altera DE1 SDK (как и svofski), это инициализацию звукового кодека.

Santechnik
22.11.2010, 10:27
b2m, отлично! Все больше и больше компов на ПЛИСе появляется!

Error404
23.11.2010, 14:14
Надо-же, какое совпадение. Я тоже в начале лета начал делать Башкирию-2м на DE1, и с июля до октября тоже забрасывал этот проект из-за нехватки времени :) А сейчас всё более-менее работает. Только я всё как обычно сам сделал, включая процессор ВМ80. Единственное, что позаимствовал из Altera DE1 SDK (как и svofski), это инициализацию звукового кодека.

Нижнюю инверсную строчку выводит сама Башкирия или из кода ПЛИС?

b2m
23.11.2010, 15:12
Error404, ты что, никогда Башкирию-2м в моём эмуляторе не запускал? :) Конечно же Башкирия. А если тебя заинтересовала надпись "SD Card", то сразу отвечу, что я просто переписал БИОС CP/M-а, чтобы он работал с образами дисков на SD-карточке. Правда есть одно существенное ограничение - образ не может быть дефрагментирован. Кроме того, номер начального сектора каждого образа вычисляется на этапе загрузки БИОСа с той-же SD-карточки и на данный момент можно только ручками в дебугере изменить, чтобы другой образ использовать (по-умолчанию, доступны только первые два образа). К счастью (или к сожалению) на данный момент есть всего два образа с готовыми программами.

Error404
23.11.2010, 15:52
Error404, ты что, никогда Башкирию-2м в моём эмуляторе не запускал? :) Конечно же Башкирия. А если тебя заинтересовала надпись "SD Card", то сразу отвечу, что я просто переписал БИОС CP/M-а, чтобы он работал с образами дисков на SD-карточке. Правда есть одно существенное ограничение - образ не может быть дефрагментирован. Кроме того, номер начального сектора каждого образа вычисляется на этапе загрузки БИОСа с той-же SD-карточки и на данный момент можно только ручками в дебугере изменить, чтобы другой образ использовать (по-умолчанию, доступны только первые два образа). К счастью (или к сожалению) на данный момент есть всего два образа с готовыми программами.

Т.е. образ лежащий прямо на ФАТе, а не в собственном разделе? 800к?
А какая схема подключения SD используется (эмулируется в ПЛИС)?
Не наблюдается ли такого - некоторые карточки работают, а некоторые - нет? Я на схеме подключения от MSX попробовал примерно с десяток разных карт (все 1-2 Гб), работает примерно только половина, что конечно не есть гуд.

b2m
23.11.2010, 16:20
Раз уж мы начали про Башкирию, может отделить последние сообщения в другую тему?


Т.е. образ лежащий прямо на ФАТе, а не в собственном разделе? 800к?
Да, причём поскольку цепочка FATа не используется, то не играет роли, какой FAT. У меня, например, SD вообще под FAT12 отформатирована :)


А какая схема подключения SD используется (эмулируется в ПЛИС)?
Ну а сам-то как думаешь? Конечно же MSX-вариант, тем более, что у меня в эмуляторе он уже реализован. Т.е. я сначала на эмуляторе отлаживал, а уж потом в ПЛИСину засовывал.


Не наблюдается ли такого - некоторые карточки работают, а некоторые - нет?
Ну, у меня старинная карта на 32Мб, так что проблем с ней нет, а другие пока не пробовал. Хотя поначалу тоже был затык - не нравилась ей слишком частая посылка команд инициализации (CMD0,CMD55,ACMD41), т.е. пока не поставил вывод лишнего 0FFh перед выводом команды - выдавала ошибку.

svofski
24.11.2010, 00:09
Да и svofski все же надо сначала спросить если он не против использования этих блоков от его Вектора в этом проекте.

Как я могу быть против, если у меня русским по-английскому написано, что использовать можно и нужно везде, где только получится =)

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

P.S. Santechnik — отличный проект, так держать! =)

Error404
24.11.2010, 10:46
Раз уж мы начали про Башкирию, может отделить последние сообщения в другую тему?


Может, и отделить...




Ну а сам-то как думаешь? Конечно же MSX-вариант, тем более, что у меня в эмуляторе он уже реализован. Т.е. я сначала на эмуляторе отлаживал, а уж потом в ПЛИСину засовывал.

Ну, у меня старинная карта на 32Мб, так что проблем с ней нет, а другие пока не пробовал. Хотя поначалу тоже был затык - не нравилась ей слишком частая посылка команд инициализации (CMD0,CMD55,ACMD41), т.е. пока не поставил вывод лишнего 0FFh перед выводом команды - выдавала ошибку.

А в каком конкретно месте добавлял FF?

b2m
24.11.2010, 12:40
А в каком конкретно месте добавлял FF?
Непосредственно перед выводом кода команды. Дело было так: команда CMD0 возвращала нормальный результат, а вот после CMD55 выдавалась ошибка "illegal command", что ставило меня в тупик. Тактовая частота получалась где-то 143КГц, что не должно было быть проблемой, а после CMD0 вроде кроме ответа R1 ничего не выдаётся. Так что это так и осталось загадкой.

---------- Post added at 14:40 ---------- Previous post was at 14:35 ----------

Ewgeny7, раздели, пожалуйста, тему на две.

Ewgeny7
24.11.2010, 12:52
раздели, пожалуйста, тему на две.
Слушаюсь, мой повелитель! :v2_dizzy_ghost:

b2m
27.11.2010, 12:16
Выложил у себя на сайте файлы для запуска Башкирии-2М на DE1. Если что-то не получается, просьба ногами не пинать, а сообщить тут. :)

Ewgeny7
27.11.2010, 13:01
b2m, судя по списку покупателей, сейчас у народа на руках присутствует u10(u9) (http://www.zx.pk.ru/showthread.php?t=13223) помимо DE1. Может стоит провести эксперимент с переносом на эту платформу? А лучше - при разработке сразу учитывать эту возможность.
Из ограничений - один кварц 50Мгц, static RAM 512, нет flash, VGA три бита на канал.
Слот SD разумеется присутствует.
Уложится "Башкирия" в эти рамки?
Также интересно было бы увидеть на u10 "Вектор", но это уже к другому аффтару :)

b2m
27.11.2010, 13:24
Уложится "Башкирия" в эти рамки?
Вполне. Сложность только в том, что этой платы у меня нет, и скорее всего не будет. Железячник из меня никакой, мне подходят только устройства "воткнул в комп и работай", типа DE1.

Ewgeny7
27.11.2010, 13:29
Железячник из меня никакой, мне подходят только устройства "воткнул в комп и работай", типа DE1
Тут, собственно, принцип такой же :) А платку тебе Влад с удовольствием соберет.
Если не хочешь сам ковыряться с новым железом - просто мог бы учитывать ресурсы u10 при разработках, а народ (включая меня) с удовольствием перенес бы твои проекты.

svofski
27.11.2010, 15:49
Теоретически Вектор способен все свои частоты сделать сам из одного 50МГц источника. На практике у меня были какие-то трудности, преодоление которых я отложил в довольно долгий ящик. Фазовый аккумулятор в Векторе применяется для генерации цветовой поднесущей.

Ewgeny7
27.11.2010, 17:34
Теоретически Вектор способен все свои частоты сделать сам из одного 50МГц источника.
PLL не используется?

b2m
27.11.2010, 19:03
У меня PLL используется, но только для режима 800х600@60Гц, в этом режиме мне потребовалась 20МГц. Но в принципе, можно этот режим выкинуть, и тогда будет только 50МГц. Всё равно многие ЖК-мониторы поддерживают 800х600@50Гц, да и на реальной Башкирии кадровая 50Гц.

Ewgeny7
27.11.2010, 19:11
b2m, сорцы Башкирии в текущем состоянии есть где-нить?

b2m
28.11.2010, 00:07
У меня есть :)
Придёт время - выложу на сайте.

svofski
28.11.2010, 22:37
PLL не используется?

Используются.

b2m
30.11.2010, 10:41
Придёт время - выложу на сайте.
Ну вот, не прошло и полгода. Добро пожаловать на сайт :)

fifan
30.11.2010, 19:06
b2m, связка k580wm80a+b2m_kbd даёт только порт клавиатуры или есть другие функции?

Ewgeny7
30.11.2010, 19:45
Неприятная ботва - шина данных 16 бит. Я было начал на восьмибитку переделывать, но застрял в модуле видео. Пока не вкурю как он работает в деталях, делать что-то бесполезно...
b2m, перепиши под шину 8 бит, пока проект не разросся :) А недостающий старший адрес можно как раз на выборку старших 8 бит данных прицепить, чтобы полчипа памяти не терять :)

b2m
30.11.2010, 23:37
Неприятная ботва - шина данных 16 бит. Я было начал на восьмибитку переделывать, но застрял в модуле видео. Пока не вкурю как он работает в деталях, делать что-то бесполезно...
А у вас шина данных у SRAM 8-ми битная? Мне 16-ти битная очень даже подошла, т.к. для 8-ми точек нужно 2 байта из ОЗУ пересылать, по одному биту на точку от каждого байта. Ты тогда просто добавь ещё одно состояние к vid_state, и считывай побайтно в vid_data (в top-level модуле).


b2m, перепиши под шину 8 бит, пока проект не разросся :) А недостающий старший адрес можно как раз на выборку старших 8 бит данных прицепить, чтобы полчипа памяти не терять :)
А разве там надо что-то переписывать? Просто привязка к SRAM-у будет немного по другому выглядеть (сам-же говоришь, вместо lsb/msb сделать ещё один старший бит адреса).

---------- Post added at 00:19 ---------- Previous post was at 00:03 ----------

Попробуй так:


assign SRAM_ADDR = vid_rd ? {1'b0,vid_state[0],1'b0,~ppa1_c[7],vid_addr[13:8],vid_addr[7:0]+ppa1_b} : {1'b0,sram_msb,npage[2:1],addrbus[13:0]};
...
wire vid_rd = vid_state==3'b010||vid_state==3'b011;
...
case (vid_state)
3'b000: vid_state <= vid_drq && ~vid_exdrq ? 3'b001 : 3'b000;
3'b001: vid_state <= 3'b010;
3'b010: vid_state <= 3'b011;
3'b011: vid_state <= 3'b100;
default: vid_state <= 3'b000;
endcase
if(vid_rd) begin
if(vid_state[0]) vid_data[15:8] <= SRAM_DQ; else vid_data[7:0] <= SRAM_DQ;
end;



---------- Post added at 00:53 ---------- Previous post was at 00:19 ----------


b2m, связка k580wm80a+b2m_kbd даёт только порт клавиатуры или есть другие функции?
Вопрос не понят. Клавиатура в Башкирии-2м отображается на память, если выбрана соответствующая карта памяти.

---------- Post added at 01:37 ---------- Previous post was at 00:53 ----------

Эх, надо было присвоение vid_data внутрь case засунуть, было бы понятнее :)

case (vid_state)
3'b000: vid_state <= vid_drq && ~vid_exdrq ? 3'b001 : 3'b000;
3'b001: vid_state <= 3'b010;
3'b010: begin vid_state <= 3'b011; vid_data[7:0] <= SRAM_DQ; end;
3'b011: begin vid_state <= 3'b100; vid_data[15:8] <= SRAM_DQ; end;
default: vid_state <= 3'b000;
endcase

Ewgeny7
01.12.2010, 10:22
А что нужно давить после старта, чтобы запустить диски .срм с SD-карты?
На экране вижу нечто вроде меню монитора.

fifan
01.12.2010, 10:54
Да и образы cpm на что похожи? Какой их формат? А вообще интересно модуль вм80 в одном файле видеть.

b2m
01.12.2010, 11:06
А что нужно давить после старта, чтобы запустить диски .срм с SD-карты?
На экране вижу нечто вроде меню монитора.
Уже работает? Ишь-ты :)
На пустую карту записать boot.rom и два образа диска. Монитор вначале пытается загрузить с карты boot.rom, и если успешно, то запускает его, иначе вываливается в монитор (он довольно убогий, нет даже команды вывода дампа). Формат карты - любой FAT, а т.к. сама цепочка FATа не используется, то файлы не могут быть фрагментированы, это достигается записью на пустую карту.

---------- Post added at 13:06 ---------- Previous post was at 13:04 ----------


Да и образы cpm на что похожи? Какой их формат?
Те-же самые, которые лежат на сайте в разделе download и которые используются для эмулятора. boot.rom скачать там-же, где и исходники.

Ewgeny7
01.12.2010, 11:50
Уже работает? Ишь-ты
Работает. Только "шумы" на экране видны. Пытаюсь разобраться откуда они.

---------- Post added at 11:50 ---------- Previous post was at 11:46 ----------


На пустую карту записать boot.rom и два образа диска.

а т.к. сама цепочка FATа не используется
С этого места уточни - у тебя идет прямое чтение секторов начиная с N-ного, без поиска расположения файла на диске?
Если так, то с какого сектора у тебя размещен файл .rom?

b2m
01.12.2010, 13:02
Работает. Только "шумы" на экране видны. Пытаюсь разобраться откуда они.
Э... А память точно быстрее 20нс?


С этого места уточни - у тебя идет прямое чтение секторов начиная с N-ного, без поиска расположения файла на диске?
Если так, то с какого сектора у тебя размещен файл .rom?
Алгоритм такой:
1. читаем нулевой сектор, если это MBR, а не загрузочный сектор, читаем загрузочный сектор самой первой партиции.
2. вычисляем, где корневая директория, и ищем в ней BOOT.ROM
3. если найден, вычисляем номер первого сектора BOOT.ROM, грузим его и запускаем
4. BOOT.ROM догружает следующие пару секторов на место БИОС CP/M, а затем ищет аналогичным образом в корневом каталоге файлы с расширением .CPM, вычисляет их начальные секторы и сохраняет в массиве внутри БИОС CP/M
5. наконец, производится горячий старт CP/M, при котором догружается остаток CP/M с первого образа диска.

Ewgeny7
01.12.2010, 13:08
Э... А память точно быстрее 20нс?
10нс


Алгоритм такой:
Т.е. то, что файл может располагаться в разных секторах на разных картах - учтено?
У меня пока не читает, к сожалению. Только Монитор на экране.

b2m
01.12.2010, 13:20
А есть другие карты? Может я чего неправильно делаю, но с моей 32Мб картой работает. Я использую в качестве параметра смещение сектора, потому как чтобы работать с номерами секторов, надо вроде какую-то команду давать. А по-умолчанию, вроде, должно быть смещение.

К сожалению, какую-либо диагностику не удалось уместить в монитор. Там была несложная подпрограмма загрузки с флоппи-диска, я кое-как уместил на её месте загрузку BOOT.ROM c SD-карты. Первое время, конечно, была просто загрузка сектора и распечатка его на экране. Потом добавил загрузку определённого сектора и запуск его, а этот сектор уже распечатывал несколько "нужных" мне секторов.

Ewgeny7
01.12.2010, 13:28
А есть другие карты?
Попробовал на двух, которые были под рукой.
Пытаюсь фотку на форум вкорячить :)

Ewgeny7
01.12.2010, 13:31
Во. Снимал на мобильник, извиняй :)

b2m
01.12.2010, 13:37
Вроде всё правильно :) А как ты поступил с VGA-выходом? У башкирии по 2 бита на цвет, я их просто дублировал до 4-х. Причём в палитре в ч/б режиме задаётся 2 бита градации серого, а в цветном - по 2-бита на каждый цвет RGB. А как ты из 2-х бит 3 получил?

Ewgeny7
01.12.2010, 14:07
Нашел я где собака порылась :)
Имеем замечательный экран, и до кучи - цветной :)
У нас старший видеобайт читался с Z-шины, отсюда и снег.
Цвета верные?
Текст - зеленый, курсор - красный, полоска меню внизу - голубая.

Копаю, что там с SD приключилось...

Ewgeny7
01.12.2010, 14:08
А как ты поступил с VGA-выходом?
casex ({vout,color_mode})
2'b0x: {r,g,b} = {3'b000,3'b000,3'b000};
2'b10: {r,g,b} = {pclr[1:0],1'b0,pclr[1:0],1'b0,pclr[1:0],1'b0};
2'b11: {r,g,b} = {pclr[3:2],1'b0,pclr[5:4],1'b0,pclr[7:6],1'b0};
endcase

b2m
01.12.2010, 15:13
Цвета верные, разве что немного ярче, чем у меня, но это уже от монитора зависит. А в ч.б. режиме должно быть так: курсор ярко-белый, текст белый, полоска внизу серая. Это я к тому, что цветной режим практически не использовался, и цвета во многих программах выглядят мягко говоря не к месту. Не было у нас цветных мониторов...

---------- Post added at 17:13 ---------- Previous post was at 16:57 ----------


Копаю, что там с SD приключилось...
Может CS у тебя инвертированный (тот, что SD_DAT3 называется) или другие сигналы?
Интересно, как ты копаешь, осцилографом? Или программу набиваешь? :)

Ewgeny7
01.12.2010, 15:29
Интересно, как ты копаешь, осцилографом?
Не, я уже дома, а копаю я на работе :)
Проверил, правильно ли я подвёл сигналы, правильно ли записал на карту, не удалил ли в сорцах что-нить полезное...
Пока ничего не накопал :( Всё должно работать. Сигналы на карту идут напрямую, без инверсий.

---------- Post added at 15:29 ---------- Previous post was at 15:27 ----------

надо "маячки" в исходнике ставить. Хотя бы бордюр окрашивать (как я делал на отладке SD в u10_speccy). Или просто точки на экран.

b2m
01.12.2010, 18:02
Кстати, ты на какой частоте проц гоняешь? 2МГц или максимальной? На максимальной инициализация будет слишком быстрой для SD-карты.

Ewgeny7
01.12.2010, 18:27
2МГц или максимальной?
Номинальной :)
Вероятно, 2Мгц.
Вот вам всем картинко, и аттачем файлы прошивки для u9.
Имеется - ВГА цветное, SD (обязательно простой FAT. FAT32 даже не пробуйте), клавиатура PS/2, звук, магнитофонный вход на GPI :). Сброс сделан замыканием 1-2 контактов на J1 (RST#).
Спасибо b2m за сей интересный комп :)
Да, во втором архивчеге файлы для SD. первым на чистую карточку заливаем файлик .rom, затем пару .cpm.

Добавлен архив с конфигом для U10.
Сброс - Scroll Lock,
Черно/белый режим - замыкаем контакты GPIO 1 и 2,
Звук - GPIO 1 и 3,
Магнитофонный вход - GPIO 1 и 4.

b2m
01.12.2010, 19:12
В чём проблема-то была? Неужели с FAT32 не работает? Надо будет посмотреть, что можно сделать, наверняка переполнение 16-битной арифметики (у меня-то FAT12 :) )
Кстати, порядок заливки файлов на SD роли не должен играть.
Сделал бы ты ещё переключение цвет/ч.б., а то во многие игры противно играть будет :)

Ewgeny7
01.12.2010, 19:35
Сделал бы ты ещё переключение цвет/ч.б., а то во многие игры противно играть будет
на плате нету свободных пинов GPIO. Если только на клавиатуру повесить...
Кстати, почему для ввода цифр нужно шифт удерживать?

b2m
01.12.2010, 20:04
Кстати, почему для ввода цифр нужно шифт удерживать?
Незнаю. Видимо, потому-что они в нижнем регистре. Фиксировать нижний регистр можно нажав его с левым Alt-ом (на реале клавиша с кругляшком левее пробела). Но тогда буквы маленькие будут :)
Есть ещё одна клавиша-модификатор, аналог NumLock но без фиксации, на реале была справа от пробела, я её на правый Ctrl повесил. Тогда цифры можно будет на доп. клавиатуре вводить. Зафиксировать можно аналогично, левым Alt-ом. В нижней строке отображается текущее состояние клавиш-модификаторов.

Ewgeny7
01.12.2010, 22:03
b2m, а бейсик какой-нить есть для "башкирии"?
Сделал сброс на "Scroll Lock". Комбинацию кнопок для включения русского шрифта так и не нашел ;)

---------- Post added at 22:03 ---------- Previous post was at 22:02 ----------

Да, графика в играх понравилась. Очень напоминает игровые автоматы перестроечных времен :)

Error404
01.12.2010, 22:05
b2m, а бейсик какой-нить есть для "башкирии"?
Сделал сброс на "Scroll Lock". Комбинацию кнопок для включения русского шрифта так и не нашел ;)

---------- Post added at 22:03 ---------- Previous post was at 22:02 ----------

Да, графика в играх понравилась. Очень напоминает игровые автоматы перестроечных времен :)

В CP/M полно бейсиков ваще-то. Есть даже от Билла Гейтса. :)

Ewgeny7
01.12.2010, 22:15
В CP/M полно бейсиков ваще-то. Есть даже от Билла Гейтса.
Хотелось бы "родной".
Да и не знаю, какой из сипиэмовских на нём заработает без глюков.

Error404
01.12.2010, 22:23
Хотелось бы "родной".
Да и не знаю, какой из сипиэмовских на нём заработает без глюков.

Родной небось с магнитофона надо грузить. :rolleyes:
В текстовом режиме наверное любой CPM-вариант заработает.

Ewgeny7
01.12.2010, 22:26
В чём проблема-то была? Неужели с FAT32 не работает?
Подтвердилось. На той же карте, но в ФАТ32 не фурычит.


Родной небось с магнитофона надо грузить.
Это будет большая жаль :(

b2m
01.12.2010, 22:27
b2m, а бейсик какой-нить есть для "башкирии"?
Есть, он на диске с игрушками, на второй стороне, т.е. если игрушки у тебя на A:, то бейсик на B:, и называется он XY.COM (исходный вариант назывался XY-Basic). А файлы с расширением .HCB это бейсиковские программы.


Сделал сброс на "Scroll Lock". Комбинацию кнопок для включения русского шрифта так и не нашел ;)
На реале она была между клавишей-фиксатором и пробелом, но на IBM клавиатуре слева только клавиша Win свободная, а ею пользоваться неудобно. Поэтому я повесил клавишу "Алф" на F11, рядом с клавишей "Стоп" F12. Ещё там некоторые буквы на F6-F9, т.к. буквенное поле клавиатуры Башкирии на одну клавишу шире.

Ewgeny7
01.12.2010, 23:12
Заигрался :)
Очень интересная машинка. При ограниченном количестве программеров столько разностороннего софта! :)

А запись данных (файлов) на SD поддержано, или только чтение?

b2m
01.12.2010, 23:26
Заигрался :)
Очень интересная машинка. При ограниченном количестве программеров столько разностороннего софта! :)
Я рад, что тебе понравилась наша работа 20-ти летней давности :) Жаль только, что это практически весь софт. Был ещё Е-Практикум, но у меня не сохранился.
А говорили, что срок жизни программы - не больше 5-ти лет ;)


А запись данных (файлов) на SD поддержано, или только чтение?
Вообще-то делал. Вопрос только, насколько стабильно это всё работает. Чтение-то уже в достаточной мере проверено, а вот запись я толком не проверял. С другой стороны, лишняя запись для SD-карты наверное не лучшим образом сказывается, особенно если это одно и то-же место (каталог, например).

ILoveSpeccy
22.05.2011, 00:02
b2m,

а нельзя ли поправить ROM, чтобы bootrom и образы дисков считывались
не из корневого каталога, а из папки "b2m" на карте?

С уважением

b2m
22.05.2011, 16:02
Можно подправить boot.rom, чтобы он искал образы дисков в подкаталоге, но загрузку самого boot.rom, которая располагается вместо драйвера ВГ93 в ROM-е, вряд-ли можно поправить, не пожертвовав чем-то. Загрузчик boot.rom и так кое-как поместился на месте драйвера.

Хотя, после сброса можно подставлять другой ROM, а после загрузки boot.rom включать нормальный, но надо доделывать эту фичу в исходниках для DE1.

В таком случае можно было бы вообще отказаться от boot.rom и даже сделать выбор образов дисков.

ivagor
29.12.2013, 19:00
У меня иногда после ресета на экране кое-где виден "мусор". Вроде никто на такое не жаловался, мой экземпляр de1 кривой?

---------- Post added at 21:00 ---------- Previous post was at 20:58 ----------

Пользуюсь 60 Гц режимом (50 Гц старый монитор не тянет).

ivagor
29.12.2013, 21:30
При включенном SW8 (повышенное быстродействие) много раз ресетил - только один раз была одна мусорная точка.

b2m
30.12.2013, 14:41
У меня иногда после ресета на экране кое-где виден "мусор". Вроде никто на такое не жаловался, мой экземпляр de1 кривой?
Во-первых, поздравляю с приобретением DE1 :)
А насчёт "мусора" - не знаю, позапускай другие проекты для DE1, если проблем не будет, значит у меня в проекте где-то "гонки", и на твоём чипе выигрывает не тот, кто должен.

ivagor
16.02.2014, 19:30
После перевода проца на SDRAM (видео осталось на SRAM) заработало. Проблема, как я писал в других ветках, в SRAM на моей плате.

ivagor
25.02.2014, 23:46
Владельцам новых DE1 (которые не хотят все переводить на SDRAM) возможно будет интересно узнать о некоторых действиях (http://atariage.com/forums/topic/213827-potential-new-hardware/page-14#entry2929716), которые они могут произвести для обуздания SRAMа EDBLL.
Попробовал много проектов и:
1. Резисторы в qsf добавляются, а set_input_delay - нет. Может его надо в sdc?
2. Резисторы помогают, но не на 100%, что бы там не писали буржуи. Что интересно - b2m это единственный попробованный мною проект, который после добавления резисторов как бы нормально заработал (игрушки работают и не мусорят), но полной уверенности даже в рамках b2m нет, т.к. в других проектах помогло в разной степени.

tnt23
26.02.2014, 01:24
set_input_delay относится к SDC:

http://quartushelp.altera.com/13.0/mergedProjects/tafs/tafs/tcl_pkg_sdc_ver_1.5_cmd_set_input_delay.htm

ivagor
26.02.2014, 08:21
Возможно я тороплюсь, но чудо практически произошло. Проекты b2mа Б2М и РК86 работают (стучу по голове, станешь тут суеверным).
Только константы я подобрал другие: min 1, max 2. С -1.5 есть проблемы.
Надо еще учесть, что с TimeQuestом я пытался разобраться, но не могу сказать, что успешно. Поэтому возможно create_clock я сделал не совсем так как надо. Но пока работает :)

tnt23
26.02.2014, 15:31
Полезная статья на английском про не такой уж страшный ТаймКвест:

Demystifying Timing Constraints

http://retroramblings.net/?p=515

svofski
26.02.2014, 15:39
Specifying timing constraints in Quartus is a bit of a black art
Okay...

ivagor
12.03.2014, 14:22
Пара слов про новые DE1 и SRAM EDBLL.
1. Резисторы добавлять нужно.
2. Если соблюдались тайминги срама, то все может и сразу заработать. Мне пока такие случаи не попадались (т.е. скорее всего заработает, но с ошибками). Чтобы избавиться от ошибок:
2.1. Или подбираем timing constraints
2.2. Или используем доступ к срам организованный по аналогии со сдрам - в первом такте выставляем адрес и т.д.
Т.е. EDBLL сама по себе неплохая, тем более ECC, но внезапная и непродуманная замена на неё на DE1 - это очень нехорошо со стороны терасиковцев. Они даже панель управления не адаптировали и примеров под новый срам не приложили.

Если мегатурба не нужна, то можно использовать SDRAM, тем более такой вариант легче на DE0 или на другие дешевые платки перенести. b2m любезно выложил на своем сайте SDRAMную модификацию.

Bacar
25.07.2014, 13:33
Поддержу слегка старую тему. Как-то пришлось несколько лет проработать с классом, кажется из 16 машин Башкирия-2М. В сети было 2 главных машины (с дисководами) и по 7 подчиненных. Осталось с тех пор ПО, созданное в виде образов дискет программой Teledisc. В интернете не встречал, если будет кому-то интересно, ПО могу выложить для скачивания.

Bacar
25.07.2014, 13:57
Ошибки не припомню, много лет уже прошло ) Зато классы были укомплектованы, так сказать "от производителя". Помимо самих машин - полная документация, которая к сожалению не сохранилась и ПО - скорее всего полный комплект из того, что было. И игры и системные программы.

Bacar
25.07.2014, 17:27
Выкладываю одним архивом: http://rghost.ru/57086812
Программу teledisk, к сожалению, запустить не удалось. У меня Win7-X64. Установил По-быстренькому Virtual Box, проставил WinXP Sp3, там так же не запускается. Возможно надо еще глубже уйти назад во времени - до Win95 или DOS 6.22, или может проверить другую версию teledisk (исходная у меня не сохранилась - скачал первое что попалось на глаза). Но сегодня Последняя Пятница Июля. День Сисадмина, так что возьмусь за Teledisk всерьез наверное чуть позже. Всех Админов - с праздником!

P.S. Надеюсь, образы битыми не окажутся - все же прошло примерно 14 лет, как они у меня хранятся и переезжают с компьютера на компьютер, коих было не мало.

---------- Post added at 16:27 ---------- Previous post was at 16:15 ----------

Вот .. Версия, скачанная тут: http://www.classiccmp.org/dunfield/img54306/teled216.zip
под VirtualBox запустилась. Формат файлов td0 она должна понимать.

esl
25.07.2014, 18:11
Cконверил их в FDI (dosbox + tdcvt), дальше не стал ибо ...

забавно, тексты там в ISO 8859

диски с 80x1024x5
ARHIVE.FDI
GRED.FDI
SYST_ALL.FDI
судя по логу на всех есть сектора с ошибкой

PRV.FDI - первые два трека
■ TRACK: PhisCyl: 0, PhisSide: 0, Sec: 1

+ Sector: C: 0, H:1, R: 4, Len:1024, Syn: 2 pl=1024
■ TRACK: PhisCyl: 0, PhisSide: 1, Sec: 5

+ Sector: C: 0, H:0, R: 1, Len:1024, Syn: 2 pl=1024
+ Sector: C: 0, H:0, R: 2, Len:1024, Syn: 0 pl=1024
+ Sector: C: 0, H:0, R: 3, Len:1024, Syn: 2 pl=1024
+ Sector: C: 0, H:0, R: 4, Len:1024, Syn: 0 pl=1024
+ Sector: C: 0, H:0, R: 5, Len:1024, Syn: 0 pl=1024
■ TRACK: PhisCyl: 1, PhisSide: 0, Sec: 2

+ Sector: C: 1, H:1, R: 1, Len:1024, Syn: 2 pl=1024
+ Sector: C: 1, H:1, R: 2, Len:1024, Syn: 0 pl=1024
■ TRACK: PhisCyl: 1, PhisSide: 1, Sec: 5


диск BAS-PRV.FDI
Cyl:1-Cyl:60 1024x5
Cyl:61-Cyl:79 512x9 (в основном)
много ошибок в 512байтных секторах

диск KLW.FDI
..Cyl:59 1024
Cyl:60.. 512 (в основном)

SYSTEM1.FDI
формат 80x256x16

в архиве FDI & логи tdcvt

Bacar
25.07.2014, 19:54
Черт.. Даже не ожидал, что все так плохо )
Оригиналов дискет достать уже не смогу - не осталось. Но именно с этих архивных копий - я постоянно дискеты собственно и записывал. И они прекрасно работали на самих компьютерах. Что-ли всё же попробовать с ними повозиться...

Bacar
25.07.2014, 20:47
В FDI вроде бы сконвертил без вопросов: http://rghost.ru/57090102
Может что то получится выдернуть таким образом?

---------- Post added at 19:47 ---------- Previous post was at 19:38 ----------


сохранилось множество материала
Я тут наконец-то вдумчиво прочитал ветку - и наткнулся на сайт от пользователя B2M - если я правильно понял - от разработчика множества игр. И сильно засомневался - есть ли на моих дискетах что-то новое )
Хорошо, что в разных местах сохраняются такие редкие вещи.

Bacar
25.07.2014, 22:56
Хм.. Поковырял запасы старых дискет. Похоже нашел записанные дискетки с этих образов, которые я использовал на Башкирии-2М. Вопрос - какой то смысл пытаться их прочесть есть?

b2m
31.07.2014, 16:13
Разыскивается Е-Практикум, который у меня не сохранился. Если есть на дисках (а оно должно быть, если это диски от производителя), то стоит повозиться.

b2m
31.07.2014, 19:42
Выкладываю одним архивом: http://rghost.ru/57086812
Кто-нибудь может выложить на более долгоживущий хостинг? А то я не успел скачать.