Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Разное (http://zx-pk.ru/forumdisplay.php?f=90)
-   -   Компьютер "Агат-7": Реализация на ПЛИС (DE1) (http://zx-pk.ru/showthread.php?t=16282)

Santechnik 2nd July 2011 18:53

Компьютер "Агат-7": Реализация на ПЛИС (DE1)
 
1 Attachment(s)
Как я и обещал - очередной проект. Начал делать Агат-7 на ПЛИС. Это был первый компьютер, за которым я посидел, и было это в Компьютерном центре на Дмитровском шоссе в Москве где-то в середине 80-х.
Так что я с удовольствием приступил к этому проекту.
Компьютер состоит пока только из 32К памяти, подключенной клавы PS/2 и текстового режима АЦР-32. Для вывода на монитор использую режим 1024х768@65Гц, который идеально подходит под агатовские 256х256 (или даже подобие 512х256 в АЦР-64) путем троекратного повторения строк.
Комп пока в самом начале пути, но уже запускается и работает в Сисмоне. Фотку прилагаю. Сделать еще надо много: остальные видео-режимы, звук, магнитофонный вход/выход, прикрутить дисковод на SD, расширить память, сделать ячейку 121 и много чего другого. Буду рассказывать о прогрессе здесь и, конечно, задавать вопросы.:v2_wink2: По окончании выложу проект целиком. А пока вопросы:
1) У Мымрина упоминается про возможность установки по 64 или 128К на основной плате и каждой плате расширения. Интересно насколько это использовалось в серийном производстве? Я думаю, что для совместимости достаточно будет сделать стандартные 32К плюс еще 2 платы расширения по 32К каждая (итого 96К). Были ли программы, которым надо больше?
2) Есть ли у кого-то оригинальная прошивка ПЗУ с Сисмоном? Та которую я нашел поломана - выводит Apple-11 вместо АГАТ в начале. Хочется настоящую.
3) Строчные буквы в знакогенераторе. Насколько я понял, Агат-7 не выпускался со строчными буквами. Все что было, это самоделки. Это так?

И еще хочу поблагодарить создателей сайта про Агат - deka.ssmu.ru/er/agat/ за настоящий кладезь информации об этом компьютере. :v2_thumb:

Sergei Frolov 2nd July 2011 19:20

3) Выпускался со строчными.

AlexBel 3rd July 2011 00:16

1 Attachment(s)
Quote:

Originally Posted by Santechnik (Post 396775)
Как я и обещал - очередной проект. Начал делать Агат-7 на ПЛИС. Это был первый компьютер, который я потрогал и было это в Компьютерном центре на Дмитровском шоссе в Москве где-то в середине 80-х.
Так что я с удовольствием приступил к этому проекту.

Какое-то время назад (год-полтора) я начал делать "Агат" на DE1. На последний момент работал процессор, видеоконтроллер 32х32 и криво работала клавиатура. Несколько раз брался за проект и откладывал то за неимением времени, то сил, то желания. Теперь, видимо, можно окончательно забросить :)

Прилагаю файлы ПЗУ, которые я использовал в проекте. Монитор - правильный. В ПЗУ шрифтов был огрех с начертанием одного символа, не помню, какого, но, вроде бы, исправил. А, может, и нет, но это мелочь...

Кстати, в качестве эмулятор а дисковода на SD-карте - посмотри проект Алекса Фрида, у него в Apple ][ на DE1 эмулируется Шугарт...

1. Делай 32кБ + ДопОЗУ 32к + ПсевдоПЗУ 32к. И все будет ОК.
2. ПЗУ, как писал, приложил.
3. Вроде как пытались на "Семерке" вводить и маленькие и большие, но сам не видел, впервые увидел на "Девятке". Программы, которые я видел под "Семерку" пишут буквами одного регистра, т.е. только заглавными. Возможно, я не видел те, что используют и те и другие...

GARNIZON 3rd July 2011 00:36

1) Мало использовалось. На моей памяти это только Штатный копировщик, от этого зависело за сколько проходов пройдет копирование. ОС "Спрайт" понимает у семерки 640Кб и вроде даже больше. И еще пару программ.
В эмуляторе реализовано все это, можете взглянуть.
http://deka.ssmu.ru/er/agat/Soft/winEmul.shtml

2) Вот тут есть: http://deka.ssmu.ru/er/agat/Hard/roms.shtml и еще в эмуляторе другие версии.

3) Конечно самоделок было много, но есть официальный в 256 знаков. Таких семерок тоже предостаточно было выпущено. Есть проги которые хотят именно его.
http://deka.ssmu.ru/er/agat/Apps/Wordmaster.shtml
В последний год выпуска на АГАТ-7 ставили знакогенератор от АГАТ-9.

Кстати в семерке вовсю использовались совмещения видео-режимов с помощью таймерных прерываний. Например совмещение текста с графикой в рапире (РЖМ("ВК"");) и разных обучалках.

Если нужна более подробная инфа – пишите, мой адрес есть на сайте.

Santechnik 3rd July 2011 04:28

Спасибо. Тогда раз программ требующих больше 96К нет, то на этом и ограничусь. Сисмон и знакогенератор поменял. Теперь должны быть и строчные, но пока не могу проверить. Сегодня попробую прикрутить звук и магнитофонный вход/выход. Тогда можно будет загрузить тесты и вместе с ними доделывать память и остальные видео режимы.

GARNIZON 3rd July 2011 09:18

Обратите внимание: ранние программы для семерки не знали о существовании знакогенератора в 256 символов и зачастую использовали адреса как из нижней так и верхней половинки. Таким образом, вместо надписей на экране получалась белиберда из псевдографики. Т.е. чтоб охватить весь список программ одним знакогенератором не ограничится.
То же самое относится и к цвету. Ранние программы не учитывали бит яркости и писались с расчетом на 8 цветов (на самом то деле 16).

Santechnik 4th July 2011 17:10

На данный момент еще сделано:
1) Таймерные прерывания. Только вместо 50Гц сделано 65Гц, т.к. они привязаны к кадровой развертке (она у меня 65 вместо 50) и наверняка используются в том хитром режиме совмещения текста и графики. А вместо 500Гц сделал 496Гц - так удобнее делить было :rolleyes: Дальше посмотрим как на практике будет это работать.
2) Сделал 2 знакогенератора - полный и старый. Выбор переключателем на плате.
3) Добавил бит яркости. Можно отключить его выключателем на плате и тогда все цвета одинаково яркие (и их всего 8).
4) Магнитофонный вход/выход. "Магнитофонит" нормально. Считывает то, что сам же записал, правильно. Записанный с этого выхода файл был скормлен в эмулятор где тоже считался прекрасно.
4) Кое-какие мелкие шероховатости подчистил.

Ну и вопросы появились:
1) На данном этапе для продолжения нужны тесты, чтобы я мог проверить насколько правильно я подключаю дополнительную память и как хорошо (или плохо) работают видео-режимы. Какие тесты для этого подойдут, где взять и как мне их "замагнитофонить" в комп :) ?
2) Вопрос по пультам и мыши. Чтобы их приделать нужно паять плату расширения (хоть и простую). Они вообще на Агате-7 где-нибудь нужны были? Или совсем ничего не потеряю если про них забуду?
3) Читал сегодня про Ячейку.121. Пока в непонятках как ее режим 280х192 впихнуть в 1024х768 и пропорции сохранить :v2_confu: Буду еще думать. Она вообще нужна? Вроде есть уже на DE1 Apple-][, чтобы проги такие запускать, а на Агате полно прог и своих и уже адаптированных. Какие ваши мнения?

PS Ко мне можно на "ты". :v2_dizzy_vodka2:

Кирлиан 4th July 2011 17:40

Quote:

Originally Posted by Santechnik (Post 397127)
2) Вопрос по пультам и мыши. Чтобы их приделать нужно паять плату расширения (хоть и простую). Они вообще на Агате-7 где-нибудь нужны были? Или совсем ничего не потеряю если про них забуду?

Пульты = джойстик.

Насчет мышки - не знаю. Семерку не использовал, а на Агат-9 мышку юзал весьма активно и по делу.

Sergei Frolov 4th July 2011 17:41

1) Есть стандартный тест памяти АГАТа. Я когда-то писал тестовую программу, она проверяет конфигурацию и выводит на экран (сидит в бут-секторе)
2) В АГАТе есть стандартные PADDLES, которые сидят на стандартном разъеме. Мышь особо не нужна.
3) Ячейка 121 - это по сути Apple ][, тоже не нужен.

GARNIZON 5th July 2011 08:03

Таймерные прерывания в агатах жестко привязаны к работе видеоконтроллера.
Частота NMI всегда равна 50 Гц и они происходят во время обратного хода развертки.
А вот с IRQ все несколько сложнее. На семерке длительность IRQ гораздо больше, чем на девятке.
По крайней мере, гораздо больше ложных (повторных) вызовов обработчика IRQ. В эмуляторе подобраны значение длительности равное 700 тактов для семерки и 100 - для девятки. Прерывания для семерки происходят каждые 16 строк изображения с кратностью 20 относительно NMI (с учетом невидимых на экране строк).

"замагнитофонить" тесты не получится, агат не спектрум, ему надо в памяти полноценную ДОС.
общее представление об этом можно тут взять:
http://www.phantom.sannata.ru/forum/...w&o=&st=30

Пожалуй, только тест Сергея Фролова подойдет для этой цели
http://deka.ssmu.ru/er/agat/Apps/Testfrs.shtml
он сам по себе в Boot сидит.
Его нет на сайте (я не успел пока и половины выложит того, что есть), если надо пришлю.

В яч121 смысла нет конечно.

Пульты иногда используются в играх.

Мышь на семерке была только одна, это Увк-01, её еще иногда ошибочно называют мышкой от БК0010.
Но на самом деле Марс к системе МЭП (откуда БК) отношения не имел и это делалось просто как абстрактный ТНП.
Так вот в отличии от девятки (где мышка использовалась вовсю и в куче пакетов) на семерке пожалуй можно вспомнить только Маусграф Ромы Бадера:http://www.chipinfo.ru/literature/radio/199801/p28.html


All times are GMT +4. The time now is 01:06.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.