Сейчас переключил Сизифа на +3e, и реально он видит и TR-DOS и карту памяти. Только синтаксис команд у +3e тот ещё...
Вид для печати
Сейчас переключил Сизифа на +3e, и реально он видит и TR-DOS и карту памяти. Только синтаксис команд у +3e тот ещё...
Плеер я знаю только WildPlayer, и я его пропатчил чтобы не тянуть ZC :)
Если всё упирается в копиры, то это тоже вопрос решаемый.
Написать код ПЛИС для поддержки не легко, а очень легко. Меняются только номера портов и пара бит статуса.
Но я бы не хотел тянуть в Сизиф все возможные фичи, стандарты и порты, если только в этом нет реальной необходимости.
В качестве экспериментальной опции - а будет ли это работоспособно, если одну карту сделать доступной двумя путями одновременно ?
Учитывая то, что подмножества ПО, работающие с ZC и с Divmmc пока не пересекаются, есть шанс, что будучи реализованными на одной машине они и не подерутся )
Ну так будет фишка же
- - - Добавлено - - -
Ну так будет фишка же
Что-то с форумом. Вчера отвечал с телефона, глюкануло. Сегодня не могу отредактировать - зависает наглухо при попытке правки поста...
Заменил настройку NO OS на ZC. Как-то так получается: https://cloud.err200.net/s/GPiQkstZmNJ6J86
Fatall можно, оказывается, через HEGLUK прямо с ZC пускать.
upd починил ссылку
Отмотал пару страниц ветки назад, понял, что читал невнимательно и задавал вопросы, на которые уже ответили. Бывает с недосыпа, прошу прощения.
Вот кстати и вырисовываются кандидатуры на заполнение пустот в ПЗУ...
Всем привет, и особенно Uzix!
я почти стал счастливым обладателем Sizif-512. "Почти" - потому что плата уже пришла, а корпус с клавиатурой от "резинки" еще в пути. И нужно будет перепаять пару разъемов..
Вопрос к автору этой замечательной машинки.. даже два вопроса:
1) планируется/возможно ли внедрение поддержки Kempston Mouse? через тот же PS/2, например? Знаю, что в Next через один разъем можно и мышь и клавиатуру подключить, и даже вместе через переходник.
2) возможно ли внедрение noflic-режима для вывода видео? насколько я знаю так умеет как минимум плата mb03+. Было бы классно и в нашей машине такой режим иметь.
Понял. Спасибо за ответ!
Релиз прошивки v20211204:
* Добавлена возможность сохранения настроек во флеш (на данный момент поддержаны только микросхемы SST39SF0x0);
* Добавлена настройка для отключении индикации обращения к SD на бордюре и звуком;
* Добавлена опция для (небольшого) увеличения яркости картинки;
* Добавлено загрузочное меню при удержании кнопки CS при подаче питания;
* Добавлен NE GLUK в меню загрузки;
* DivMMC (ESXDOS) автоматически отключается если к ZX-BUS подключен контроллер BDI (TRDOS);
* Реализован Z-Controller (ZC) для работы с SD;
* Режим DivMMC NO-OS заменён на ZC;
* РОМ +3e заменён на версию от nihirash с поддержкой ZC;
* Чуть переделано меню.
https://github.com/UzixLS/zx-sizif-5...ag/fw-20211204
Это просто праздник какой-то (c)
Я немного опоздал с предложением, было бы здорово на PS/2 назначить режимы частоты процессора на F1-F5 (3.5-14), а Magic перенести правда пришлось бы, например на F11 к паузе. Может, на следующий релиз?
О! За неё то я и не подумал. Спасибо! С перемычкой все заработало. Теперь она должна быть установлена постоянно?
И еще спрошу про звук. У меня треск сильный идет на телевизор. Подключение по кабелю от Sega MD II на SCART. В кабеле по каналам RGB были распаяны RC цепочки. Я по советам с этой ветки запаял сигналы RGB напрямую на SCART. Мне кажется шум в звуковом канале после этого несколько возрос. Но вряд ли основная причина в этом. Можно как-то пофиксить проблему?
Можно снять, сохранённые данные останутся.
Самая вероятная причина - некачественный кабель, высокое сопротивление земляного провода. Я столкнулся с этой проблемой (но с композитным кабелем), решил так:
https://s.micp.ru/thumb/2PI9P.jpg
Евгений, а по клавиатуре какое мнение?
Частоту процессора выставлять, не входя в меняю, кнопками F1-F5...
Удобно же...
- - - Добавлено - - -
Я взял по совету товарища старый vga кабель, в котором часть жил заземлена с оплёткой. Помучался с пайкой, но результат оправдал. Правда, кабели готовые попадаются с алюминиевой оплёткой и проводами, которые не паяются. Я первый кабель порезал зря, он оказался таким. Со вторым всё заработало. Из половины сделал кабель на скарт для Сизифа, из второй - для Карабаса.
Yes !
Мне тоже удалось перепилить DivMMC в ZC в прошивке ревизии A, благо написано все тем же автором (Uzix, спасибо еще раз, я теперь еще и в верилог потихоньку погружаюсь) и гитхаб отлично отображает диффы версий - раскинул сравнение на две стороны (split) и изменения видно сразу.
Итог: запустил FATALL с флопа, вижу карту через ZC и могу копировать во все стороны. Правда карта отформатирована в FAT32, а fatall показывает, что это FAT16 - поэтому допускаю возможность факапа файловой системы, но пока обошлось.
Чтоб записать фаталл на физический флоп, пришлось сгонять в магазин за LM311, дособрать tape in и загрузить fatall через тапку с "ленты" в память, а потом сохранить на флоп )))
ROM-версию фаталла пока не осваивал. Кто в курсе - она автономная или требует параллельную страницу со стандартным ПЗУ ? Если первое, то я ее зашью вместо теста. Если второе, надо подумать, как правильно зашить, чтоб другая страница тоже работала.
Чтоб машина стартовала в меню128, потребовалось SD_CD вместо слота карты вынести на отдельный вход ПЛИСки и переключать вручную, то есть сейчас при вставленной карте _руками_ выбирается два режима старта: DivMMC либо 128/TRDOS, где доступен ZC (в предыдущей лаптоп-поделке я выносил его на клавиатурный контроллер и назначал на F-клавишу, имхо это даже удобнее, чем карту дергать туда-сюда).
Собственно, ZC доступен и в режиме DivMMC, только когда ESXDOS работает с картой, а софт для ZC через порты ZC пытается ее инитить, все ломается, что и ожидалось. (Или я чего-то не уловил и это можно обойти ?)
Uzix, у вас в последней версии для revD WildPlayer работает ?
А теперь вишенка на торте: классическую прошивку DivMMC от Mario Prato переточить в ZC тоже совсем несложно. Надо только подумать, получится ли это применить с пользой )
Upd: скачал WDC, с ним поставляется тестер SD-карты в ZC, (ZCtst0.2), в общем, он у меня карту SD на получившемся ZC не видит... Как у других с этим ?
Пора уже свой форк делать :)
Для fatall нужен 48 бейсик. Думаю, можно его зашить вместе с fatall в кусок ПЗУ с тестами, главное по правильным смещениям всё разложить.
Работает и пропатченная под DivMMC версия (с отключенным BDI, само собой), и обычная 0.333 с ZC при запуске с дискеты/готека. Спектрум без WildPlayer был бы мне не особо нужен :D
Запустил этот тест из состава WDC1_3F, минуту бежал прогресс бар, потом вывел это:
https://s.micp.ru/thumb/55BZ1.png
Хз что это значит. Сам WildCopier карту видит.
А как ром-фаталл управляет страницами ПЗУ ? То есть вот он запустился из 0000-3fff, себя куда-то там наверх развернул, дальше (видимо) хочет включить в нижние 16к бейсик 48 - и что нам ему для этого нужно дать ?
Хм. У меня оба случая мимо, причем на обеих машинах (с флопом и без флопа) (((Цитата:
Работает и пропатченная под DivMMC версия (с отключенным BDI, само собой), и обычная 0.333 с ZC при запуске с дискеты/готека. Спектрум без WildPlayer был бы мне не особо нужен :D
Для корректности определения карты в ZC фиксил формирование данных, читаемых из 77h таким образом:
wire [7:0] zc_data = {7'b0000000, ~sd_cd}; //+
(если sd_cd=0 (работает esxdos+divmmc) то в ZC из 77h читается 1 ("нет карты"), если sd_cd=1 (режим 128+флоп), то in(77h) дает 0 - вроде все правильно).
Может и впрямь надо поискать какую-то особую олдскульную карту <2гб с обязательно форматнуть в FAT16 ?
Еще вот на этом фрагменте мозг сломал:
При каждом обращении процессора к порту 57h (или EBh для divmmc) spi_cnt выставляется в 1110 и на каждый такт ck7 увеличивается на 1, пока не достигнет значения 1000 (тогда его деактивирует spi_cnt_en). По логике ZC тут должно формироваться 8 тактов spi clock для чтения байта из карты, я насчитываю 10 (F,0,1,2,3,4,5,6,7,8 - стоп).... Как это работает ?Код:reg [3:0] spi_cnt;
wire spi_cnt_en = ~spi_cnt[3] | spi_cnt[2] | spi_cnt[1] | spi_cnt[0];
assign cpuwait = ~spi_cnt[3];
always @(posedge clk28 or negedge rst_n) begin
if (!rst_n)
spi_cnt <= 0;
else if ((port_eb_cs || port_57_cs) && (bus.rd || bus.wr))
spi_cnt <= 4'b1110;
else if (spi_cnt_en && ck7)
spi_cnt <= spi_cnt + 1'b1;
end
И тут еще есть cpuwait,видимо он для того, чтоб добавлять вейтовые такты процессору на операцию ввод-вывода (но я тоже не нашел, где). Этого нет в revA - может в этом разница ?
:v2_confu:
Видимо это значит, что во все проходах теста все хорошо и ругаться не на что. У меня ругается красным в одну строку.Цитата:
Запустил этот тест из состава WDC1_3F, минуту бежал прогресс бар, потом вывел это:
...
Хз что это значит. Сам WildCopier карту видит.
Все-таки попробую поискать другую карту, мои трансценды, видимо, кошерными не являются )
Mick проделал большую работу по дизасемблированию кода, можно поспрашивать у него: https://zx-pk.ru/threads/7238-fatall...l=1#post890293 .
Не понял, зачем инвертировать? sd_cd - сигнал наличия sd карты. Когда карта вставлена, этот сигнал физически замыкается на землю и становится 0.
По документации на ZC:
Т.е. инвертировать не надо.Код:Порт конфигурации 77h
На запись:
bit 0 – питание SD-карты (0 – выключено, 1 -
включено)
bit 1 – управление сигналом CS
bit 2..7 – не используются
На чтение:
bit 0 – если 0 – SD-карта установлена, 1 – SD-карта
отсутствует
bit 1 - если 1 – то на карте включен режим Read
only, если 0 – режим Read only не включен
bit 2..7 – не используются.
Можно долго голову ломать, лучше для начала посмотреть в тестбенче :)
https://s.micp.ru/thumb/Ehwib.png
Это нужно только для 14МГц
У меня он формируется не со слота карты, а с внешнего,скажем так, переключателя, чтоб при вставленной карте можно было выбрать запуск не divmmc, а меню128+trdos, и тогда работает встроенный bdi.
Поскольку ZC используем в паре с bdi, то он нам нужен именно когда sd_cd=1, чтоб включился bdi. А zc при этом в младшем бите должен видеть 0 для осознания вставленной карты - поэтому и инвертирую.
Если в режиме divmmc (sd_cd=0) запускать софт для zc, по идее он сразу должен видеть единицу в младшем бите порта 77h и правильно думать, что карты для него нет.
Магическая штука ! Действительно 8 - с 0го по 7й. Все правильно.Цитата:
Можно долго голову ломать, лучше для начала посмотреть в тестбенче
Здравствуйте.
Никак не разберусь с обозначением индуктивности 220u/0.2A .
Это 220 или 22 микрогенри ? Обычно аббревиатура uH, а здесь просто u.
Поясните, пожалуйста.
Спасибо.
Owl, 220µH (220 мкГ)
У меня тож пока не заработало.
На левой панели WP вроде активный значок HD, но а самой панели ничего нет и всё висит, даже на кнопки Q и W не реагирует.
Поскольку в обоих случаях это переделано из драйвера zc, то предположу, что в нем есть какие-то упрощения в инициализации или в обмене с картой, которые работают не на всем - драйверу-то лет много.
Uzix, а у вас на каких картах работает исправленный wp_divmmc? Или может есть статистика, на каких не заработало ?
Евгений, а можете образ своей SD-карты залить куда-нибудь, а то может мы что не так делаем?
Вот образ с esxDOS, Wild Player и одной мелодией для карты SD >=256Мб:
Вложение 76653