Так как с написанием Корвета у меня небольшие проблемы
и я уже в течении нескольких недель не в состоянии найти
причины кое каких глюков, я решил состряпать чего нибудь
попроще и склепал Львов!
http://speccyland.net/index.php?opti...=196&Itemid=21
Вид для печати
Так как с написанием Корвета у меня небольшие проблемы
и я уже в течении нескольких недель не в состоянии найти
причины кое каких глюков, я решил состряпать чего нибудь
попроще и склепал Львов!
http://speccyland.net/index.php?opti...=196&Itemid=21
ILoveSpeccy,
А как Вы "боретесь" с клавиатурой? Латинская раскладка на "Львове" - JCUKEN, что совсем не похоже на QWERTY. Я в своей адаптации эмулятора Калашникова хочу дописать "переключалку" - или расположение клавиш верное (для игр) или надписи на клавишах (для печатания).
Пока я раскладку сделал как на клаве писика, тоесть латинские буквы совпадают с теми что на клаве, а кириллица соответственно к ним привязана. тоесть раскладка отличается от оригинальной, но я уже успел к ней привыкнуть. Так что я проблемы из этого не делаю. Хотя можно отлавливать нажатие кнопок РУС/ЛАТ и менять табличку соответствий. Тоесть это сделать очень даже реально!
ILoveSpeccy,
Проблема в том, что дефолтная раскладка - латинская. Если привязать клавиши по надписях, то будут проблемі в играх. Например, для ПК-01 J, F могут использоваться как вверх-вниз (аналог Q, A). А вот на современной клаве, J, F уж никак не ссответствуют своим положениям. Более того, по личному опыту знаю, что в некоторых особо изощренных в управлении играх получается полный бардак. Так что РУС\ЛАТ совсем не спасает.
тогда сделать наклейки на кнопки как в оригинале :)
Или слелать по нажатию кнопки (например num) временное переключение J,F,Q,A на стрелки
Сегодня я выложил исходники проекта у себя на сайте www.speccyland.net
Мож кому пригодится!
ILoveSpeccy, Посмотрел исходники, вполне красиво написано, как для пробы пера. Единственное замечание, переменные делаются все мелкими буквами, а константы и сигналы, крупными. А так вполне прилично. Буду еще ковырять. Еще раз -- Спасибо!
Исходниками кто-нибудь может поделиться?
Привет,
исходники лежали у меня на сайте, но за последние 3 месяца мою страницу на юмле 2 раза хакнули. Времени совсем нет разбираться что к чему, поэтому я выкачал текущее состояние страницы и пока всё стер. Постораюсь по-возможности выложить тут исходники.
С уважением
Дмитрий
ILoveSpeccy, zebest, спасибо. ILoveSpeccy, я подумал, что Вы решили забить на ретрокомпьютеры и удалили сайт, а то бы адресовал вопрос по исходникам Вам.
Просто пытаюсь изучать ПЛИСы методом погружения.
С клавиатурой в проекте что-то не то. Пробовал на двух девбордах (DE1 и DE2-115) - клавиши иногда "залипают" и продолжают печатать даже когда не нажаты.
Может я использую старый/неправильный вариант
Вдвое уменьшил (до 16,25 МГц) клок на клавиатуру - все стало ОК
Просто инверсия клока 32.5 МГц на клавиатуру тоже решает проблему. Ewgeny7, спасибо!
"Учебный" львов + звук + "магнитофон" + палитра - и в принципе можно пользоваться. Временно выложил sof для de1-soc тут.
Исходники пока не выкладываю, т.к. отдельные моменты желательно сделать более корректно.
Учебный это, имхо, когда без звука, магнитофона и палитры, а получившийся вариант уже почти как настоящий. По современным стандартам еще надо бы загрузку с SD, но я вряд ли буду это делать. Самый простой вариант - сплагиатить у b2mа его "дос"/запускалку от РК86, звук я уже оттуда сплагиатил.
Почему нет смысла в записи видео (тем более у меня нечем) и звука с текущего варианта - здесь нет эмуляции тормозов реала, т.е. будет примерно как в emu, только частота проца другая (надо наверно поменять).
Из интересных видеоэффектов здесь ILoveSpeccy реализовал "как бы чересстрочность", а так и видеорежим имеет мало общего с оригиналом.
Попробовал еще на de2-115. К сожалению тут не удалось подобрать клок, при котором клавиатура работала бы стабильно. Т.е. для общего случая клавиатуру надо доделывать/переделывать.
sof для de2-115. По возможностям эта версия аналогична ранее выкладывавшемуся варианту для de1-soc (палитра, звук, загрузка с "магнитофона"). Повтор клавиатуры пропал после изменения в ps2.vhd FILTER_SIZE c 4 на 2
Ну и версия для DE1, тоже с палитрой, звуком и магнитофоном. Версия sdramная, т.ч. пойдет на любых de1
Старые версии удалил, обновленную для de1 выложил в папку. Видимых изменений в этой версии нет, просто изнутри немного навел порядок. Похоже модуль 8255 MikeJ не безупречен, пришлось реализовать хак. Если вдруг кто будет пользоваться - для экономии времени можно использовать при загрузке файлы в 1,5 раза более быстрые, чем стандартные, штатный bload их переваривает.
Заметил продолжение темы...
Для корректной работы клавиатуры должно хватить увеличения значения фильтра в PS/2-контроллере.
Я глюков с клавиатурой как-то не ловил, не припомню.
-------------
извеняюсь, увидел что уже игрались с этим параметром
Попробовал сделать торможение при обращении к ОЗУ. Вроде неравномерное (разное для ОЗУ и ПЗУ/портов) торможение раньше в эмуляторах львова не встречалось, я успел первым :) Кончено, не как в оригинале, но по эффекту вроде получилось близко. Выложил в упомянутую выше папку. В архиве кроме sofа еще wav, записанный с DE1 - xtab2 NeoSpectrumanа (записано два проигрывания)
Переделал развертку под возможности моего тюнера и с прицелом (потом) на тв
http://i.imgur.com/sFEV2J4.png
Правда теперь не все мониторы будут рады, т.к. 50 Гц
Попутно выяснилось, что в video.vhd (в оригинале и в моих плагиатских версиях) была небольшая помарка - самая нижняя строка рисовалась вверху
Расскажи плиз как ты игрули грузишь в львов плисовый???
Пока что суровое ретро - через линейный аудио вход, wavы проигрываю на компе.
Может все же соберусь приделать xsd b2mа. Прикинул так: можно немного хакнуть бейсик и одной из команд запускать "дос", который можно разместить в небольшом подключаемом/отключаемом пзу. В основном все ясно, но это скучно, видео мне интереснее
---------- Post added at 18:01 ---------- Previous post was at 16:53 ----------
Обновил архив, добавил readme и переключение VGA/компонент по SW0
---------- Post added at 18:05 ---------- Previous post was at 18:01 ----------
Забыл написать в readme, что на пины {GPIO_1[18],GPIO_1[17],GPIO_1[16]} выведена "композитная синхра". Это мне было нужно для подключения к тюнеру, до того как сделал компонент. Для vga и компонента это не нужно, потом уберу.
В ходе упражнений с вектором нарисовался еще вариант загрузки программ - можно предварительно грузить программу в sram через control panel, потом заливаем sof львова и запускаем прогу. В принципе те, у кого нормально работает панель от de1 могут попробовать такой подход с последней версией, она как раз sramная (не специально, просто пробовал). Только программа не должна пересекаться с бейсиком в начале и с системными переменными в конце памяти. Запускать удобно с помощью бажного lista
LISTадрес--
По хорошему, чтобы не было ограничений по адресам загрузки, стоит грузить панелью не сразу в основную память, а по другим адресам и переделать какой-нибудь оператор бейсика, чтобы он переписывал в основную память и запускал программу
---------- Post added at 01:14 ---------- Previous post was at 00:14 ----------
Попробовал (на de2-115, с панелью de1 сейчас нет желания разбираться) - работает. Но ограничения
еще жестче, я забыл, что при ресете портится озу в районе 80C0h. Т.е. для универсальности надо делать вариант с переписыванием
---------- Post added at 01:16 ---------- Previous post was at 01:14 ----------
Еще на всякий случай напомню, что sram (на de2-115 и de1) 16 битный, поэтому адрес загрузки в панели нужно указывать деленный на 2
А куды у львова tapein заходит? Беглый взгляд показал что на C4 8255-ой... тоесть я сделал так: PPI_C0_I_PC(4) <= TAPEIN;
Но чегото не грузит. Хватит просто CLOAD + enter?
На экране при загрузке чтото происходит? Выводится имя программы?
У меня ступор полный :)
я сделал так же. Там были (и есть) какие-то странности с 8255 (порт B почему-то не читается штатным образом, пришлось хакнуть), но порт C у меня сейчас читает нормально
Загрузка и запуск кодовых программ
BLOAD"",R
При начале загрузки должен написать имя загружаемой программы, а в остальном ход загрузки никак не виден (никаких полос или чего-то подобного)
---------- Post added at 14:24 ---------- Previous post was at 13:58 ----------
Вспомнил, что сначала у меня вариант
не работал, и я и эту штуку хакал, потом я дешифрацию портов немного переделал и заработало
Выложил версию для DE2-115 с возможностью загрузки .LVT через Control Panel. Да, для этой девборды можно было не страдать фигней с панелью, а с учетом большого озу в плис просто грузить туда (нечто вроде внешнего пзу), но так я промоделировал версию для de1. Только вот мне вспомнилось, что когда я запускал новые версии control panel для de1 там не было поддержки SRAMа. Может в самой последней версии SRAM вернули
Все же сделал для DE1 sdramную версию с загрузкой .lvt через control panel. Версия 1.00 панели у меня работает и нравится мне больше 2.0.x. Загрузка происходит значительно быстрее, чем версией 2.1.1 в SRAM DE2-115
Смущает только один момент - если я правильно понимаю, в процессе замены sofа панели на sof львова sdram не регенерируется. С другой стороны современный sdram крепкий и выдерживает и не такое. В принципе я много-много раз убеждался, что содержимое sdrama на de1 при обновлении sofа остается. В общем 100% уверенности нет, но на первый взгляд работает :)
Выложил все в ту же папку
Насчет исходников я планирую как со специалистом - если хватит задора, то переведу основной файл и видео на верилог и тогда выложу. Если не хватит - выложу как есть.
---------- Post added at 18:33 ---------- Previous post was at 18:31 ----------
Это было бы очень круто, особенно если с исходниками!
Нашел целую кучу косяков в старом проекте. Переписал некоторые части.
Теперь нет проблем с клавиатурой и правильная дешифрация IO портов по битам A4 и A3! Как приведу в божеский вид, выложу...
Обновил версию для DE1, точнее её "софтовую" часть. Теперь через панель можно загружать не только машиннокодовые lvt, но и на бейсике
Прикрутил дос b2mа для загрузки с sd карты. Теперь может грузить с магнитофона, sd или с предварительно залитого через control panel файла. Ссылка
---------- Post added at 16:59 ---------- Previous post was at 16:30 ----------
Выложил в ту же папку видео с примером работы с sd. Там же его можно и просмотреть
Очень хорошие новости! Ждём сырков... Ну или хотябы ROM'а с возможностью загрузки с карты ;)