Вход

Просмотр полной версии : Интерфейс micro-SD карты для ZX Spectrum



Lisitsin
18.01.2015, 10:23
Здравствуйте!
Зародилась идея о разработке интерфейса micro-SD карты для ZX Spectrum для загрузки/выгрузки программного обеспечения. Планируется применение дисковой операционной системы SD-DOS от AVR ZX Spectrum, ( http://zx-pk.ru/showthread.php?t=23671) работающей с файлами под FAT32.
Проектная схема интерфейса во вложении. Конструктивно планируется как печатная плата с установленным Z80 и разъёмом для стыковки к панели DIP40 платы ZX Spectrum вместо ЦП. Используется ATMEGA128 в качестве управляющего процессора. Предусматривается также выход аудио для дальнейшего интегрирования эмулятора музыкального сопроцессора AY.
Планирую развести печатную плату схемы без предварительного макетирования. Хотелось бы при разработке избежать ошибок и подводных камней. Тему создал с целью консультации со специалистами в области железа ZX Spectrum, так как сам я таковым не являюсь.
Имеется желание чтобы устройство имело максимально широкую совместимость со всеми моделями ZXSpectrum.
Принцип работы - захват шин адреса/данных/управления ZX Spectrum сигналом ~BUSRQ и далее работа с памятью. Сразу возникает ряд вопросов:
1) как поддерживать регенерацию памяти во время захвата шин? Или же дисплейный контроллер сам поддерживает необходимую регенерацию? Возможно, захват шин придётся делать для записи/чтения одного байта, и затем отпускать шины для того, чтобы Z80 выполнил хотя бы одну команду и выполнил регенерацию памяти.
2) как избежать конфликта с дисплейным контроллером при обращении к памяти? В какое время надо обращаться к памяти и как отследить это время (по какому сигналу)?
3) как заставить Z80 в конце отгрузки SNA файла выполнить старт с необходимого адреса?

Выслушаю все рекомендации/замечания/критику специалистов в области схемотехники ZX Spectrum. Заранее благодарен !

CodeMaster
18.01.2015, 13:24
Есть уже, DivMMC называется.

Не совсем то


разъёмом для стыковки к панели DIP40 платы ZX Spectrum вместо ЦП

ZX_NOVOSIB
18.01.2015, 13:42
SD-DOS от AVR ZX Spectrum - поддерживает .TRD? Если нет, то нафига ради неё процессор выдирать. И какова целевая аудитория этого интерефейса? Кто куда и зачем его будет втыкать, если уже есть BDI, divIDE и пентева?

CodeMaster
18.01.2015, 13:46
если уже есть BDI, divIDE

Есть куча машин у которых нет слотов и пр. а МГТФить не интересно.


и пентева?

Пентева не Спектрум...

Lisitsin
18.01.2015, 13:53
Есть уже, DivMMC (http://www.retroplanet.gr/content/spectrum-divmmc) называется.


http://www.youtube.com

Может уже лучше сделать действительно нужное?

Да, хорошая штука. Но как я понял, работает она со старыми картами MMC? Хотелось бы сделать современный micro0-SD стандарт. И ещё: на мой взгляд, слишком громоздкая схема. Слишком много корпусов микросхем.
И ещё момент. Требуется слишком сложная доработка ZX Spectrum с применением МГТФ - вынос разъёма на корпус ZX Spectrum для стыковки этого девайса.
В предлагаемой же схеме максимум 2 корпуса. При распайке поверх Z80- вообще 1 микросхема. Не требует серьёзной переработки конструктива.
И ещё вопрос по совместимости с файловой системой FAT32

CodeMaster
18.01.2015, 14:09
И ещё вопрос по совместимости с файловой системой FAT32

У "правильных" спектрумистов должен быть запас мелких флешек ;-)

ZX_NOVOSIB
18.01.2015, 14:13
Есть куча машин у которых нет слотов и пр. а МГТФить не интересно.

Пентева не Спектрум...То что Пентева не спектрум знает уже даже ААА. Но если ты вместо процессора воткнешь эту штуковину, то у тебя получится спектрум что-ли? Спектрум это когда родимое 128-ое меню есть, это когда совместимость не страдает. А ты воткнешь эту штуку и у тебя ни 128-ого меню не будет, и некоторые игры, возможно, перестануть работать.

И что ты грузить будешь через эту штуковину? TRD она не понимает. А .sna и .tap можно с дикой скокростью грузить и через k7zx. И при этом спектрум остается спектрумом и ничего паять не надо.

Lisitsin
18.01.2015, 14:21
SD-DOS от AVR ZX Spectrum - поддерживает .TRD? Если нет, то нафига ради неё процессор выдирать. И какова целевая аудитория этого интерефейса? Кто куда и зачем его будет втыкать, если уже есть BDI, divIDE и пентева?

К сожалению, TRD пока не поддерживает. Кстати, очень интересует формат .TRD как раз чтобы реалзовать в SD-DOS, может поделится кто ссылочкой на описание?
ПРоц выдирать возможно и не надо, просто распаиваем плату поверх уже стоящего процессора. Устройство ориентировано на владельцев классических моделей ZX Spectrum), которые имеют желание расширить их функциональные возможности по загрузке/выгрузке ПО с учётом современных технологий

goodboy
18.01.2015, 14:24
Кстати, очень интересует формат .TRD как раз чтобы реалзовать в SD-DOS, может поделится кто ссылочкой на описание?
основная проблема не в формате TRD (он как-раз очень простой),
а в эмуляции м/с контроллера ВГ93

Lisitsin
18.01.2015, 14:26
То что Пентева не спектрум знает уже даже ААА. Но если ты вместо процессора воткнешь эту штуковину, то у тебя получится спектрум что-ли? Спектрум это когда родимое 128-ое меню есть, это когда совместимость не страдает. А ты воткнешь эту штуку и у тебя ни 128-ого меню не будет, и некоторые игры, возможно, перестануть работать.

И что ты грузить будешь через эту штуковину? TRD она не понимает. А .sna и .tap можно с дикой скокростью грузить и через k7zx. И при этом спектрум остается спектрумом и ничего паять не надо.

Может я не совсем верно изъяснился. Родной Z80 ни куда не девается. Он либо остаётся на плате и распаиваемся поверх него, либо Z80 устанавливается на плату интерфейса. В любом случае нет ни какой эмуляции Z80. Меню 128 остаётся на своём законном месте, и спектрум остаётся спектрумом.

CodeMaster
18.01.2015, 14:26
А .sna и .tap можно с дикой скокростью грузить и через k7zx

Откуда? Минимум с внешне болтающегося MP3-плейера, а сохранение?

Lisitsin
18.01.2015, 14:32
Т.е. не потребуется разбирать корпус и выпаивать Z80 с последующей установкой 40 pin панельки для установки девайса?


Ну у меня на плате (56мм х 70мм) U16 тоже немного - 6 корпусов :)

Идея конструктива такова:
Если Z80 намертво впаян в плату, то плата распаивается штырьками поверх Z80. То есть 40 паек без МГТФ.
Если Z80 установлен в панель - вынимаем его, устанавливаем в колодку платы интерфейса, саму плату штырьками вставляем в колодку Z80 на плате спектрума. То есть вообще без пайки.

---------- Post added at 14:32 ---------- Previous post was at 14:30 ----------


основная проблема не в формате TRD (он как-раз очень простой),
а в эмуляции м/с контроллера ВГ93

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

ZX_NOVOSIB
18.01.2015, 14:47
Может этот интерфейс и имеет право на жизнь. Раз он вообще без пайки, либо просто сверху на проц припаять, это любой осилит, кто хоть раз держал паяльник в руках. :)

Но гораздо круче было бы изобрести такой девайс:

-простота монтажа, так же как у сабжа, т.е. либо в панельку проца либо сверху на проц.
- тоже micro-SD
-сам девайс по сути являлся бы BDI с эмулятором дисковода.

Вот это была бы вещь!!! И пофиг какие-бы там микросхемы были и сколько их.

Lisitsin
18.01.2015, 14:52
Может этот интерфейс и имеет право на жизнь. Раз он вообще без пайки, либо просто сверху на проц припаять, это любой осилит, кто хоть раз держал паяльник в руках. :)

Но гораздо круче было бы изобрести такой девайс:

-простота монтажа, так же как у сабжа, т.е. либо в панельку проца либо сверху на проц.
- тоже micro-SD
-сам девайс по сути являлся бы BDI с эмулятором дисковода.

Вот это была бы вещь!!! И пофиг какие-бы там микросхемы были и сколько их.
Кстати говоря. У меня такое чувство, что в пердлагаемой схеме всё это можно с успехом эмулировать. Просто отслеживаем, когда проц обращается к портам ВГ93, захватываем шины и выполняем соответствующую операцию ввода/вывода.
И это всё при том, что основная функция остаётся на месте. То есть ATMEGA28 либо крутит SD DOS, либо эмулирует ВГ93

Tronix
18.01.2015, 14:58
Я бы тоже что-то такое хотел, хотя-бы что бы TAP файлы мнгновенно в память грузить, а то запаривает все-таки по 5 минут ждать загрузки с плеера. Пробовал я k7zx - не хочет мой Дуэт с ним работать, даж на низких скоростях. Или работает, но только с определенным софтом.

Я думал остановить процессор (Z80 архитектуру не изучал, но есть же у него WAIT какой-то или RESET) в это время влить в память TAP и запустить процессор. Желательно при этом чтоб он не затер память бейсиком. Проблема еще в том, как влить в память что-то. Короче надо читать доки, а мне лень -)

goodboy
18.01.2015, 15:04
отслеживаем, когда проц обращается к портам ВГ93, захватываем шины и выполняем соответствующую операцию ввода/вывода.
на первый взгляд это просто, но до сих пор находятся программы которые заваливают (неправильно выполняясь) софтовый эмулятор.
тут скорее проще использовать эмулятор дисковода.

Lisitsin
18.01.2015, 15:05
Я бы тоже что-то такое хотел, хотя-бы что бы TAP файлы мнгновенно в память грузить, а то запаривает все-таки по 5 минут ждать загрузки с плеера. Пробовал я k7zx - не хочет мой Дуэт с ним работать, даж на низких скоростях. Или работает, но только с определенным софтом.

Я думал остановить процессор (Z80 архитектуру не изучал, но есть же у него WAIT какой-то или RESET) в это время влить в память TAP и запустить процессор. Желательно при этом чтоб он не затер память бейсиком. Проблема еще в том, как влить в память что-то. Короче надо читать доки, а мне лень -)

Вот и я о том же. Просто учить матчасти на все существующие модели - это огромная затрата времени. А идея работы интерфейса именно такая: останавливаем процессор, издеваемся над памятью и запускаем его снова

Tronix
18.01.2015, 15:13
Вот и я о том же. Просто учить матчасти на все существующие модели - это огромная затрата времени. А идея работы интерфейса именно такая: останавливаем процессор, издеваемся над памятью и запускаем его снова

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

s_kosorev
18.01.2015, 15:16
Просто отслеживаем, когда проц обращается к портам ВГ93, захватываем шины и выполняем соответствующую операцию ввода/вывода.

Не совсем ясен принцип работы.

К примеру штатная ситуация BDI, процессор выполнил чтение инструкции по адресу #3Dxx, в этот момент должно быть заблокировано встроенное в плату ПЗУ и процессор должен читать из ПЗУ BDI, как такую ситуацию можно решить используя только захват шины?

Вторая ситуация, нужно прочитать данные из порта ВГ93

Третья ситуация, применима только к Spectrum 128, нужно отслеживать состояние порта #7FFD, так как логика подмены ПЗУ должна срабатывать когда подключено ПЗУ 48 бейсика

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

Lisitsin
18.01.2015, 15:27
Не совсем ясен принцип работы.

К примеру штатная ситуация BDI, процессор выполнил чтение инструкции по адресу #3Dxx, в этот момент должно быть заблокировано встроенное в плату ПЗУ и процессор должен читать из ПЗУ BDI, как такую ситуацию можно решить используя только захват шины?

Вторая ситуация, нужно прочитать данные из порта ВГ93

Третья ситуация, применима только к Spectrum 128, нужно отслеживать состояние порта #7FFD, так как логика подмены ПЗУ должна срабатывать когда подключено ПЗУ 48 бейсика

Я может не понял идеи, но как мне кажется нужен буфер между шиной данных процессора и шиной данных компьютера, и как раз на линии процессор-буффер и должно располагаться устройство эмулятор, т.е. без извлечения процессора я пока не представляю реализацию, поделитесь идеей
Вот, уже интерсно.
С первой ситуацией. Я не совсем понимаю, что происходит в реальном спектруме при обращении к адресам #3Dxx. Если объясните мне - буду премного благодарен! В любом случае, когда ЦП обращается к какому-то адресу, это можно отследить по состоянию шины адреса и сигналу ~MRQ.
Вторая ситуация - то же самое. Отслеживаем выставление на шину адреса номера порта ВГ93 и сигнала ~IORQ

goodboy
18.01.2015, 15:48
Я не совсем понимаю, что происходит в реальном спектруме при обращении к адресам #3Dxx.
вместо основного ПЗУ подключается TRdos`ное и начинается выполнение команд по этому адресу из него. как только адрес команды выходит из диапазона 0000-#3ffff всё возвращается на свои места.

Lisitsin
18.01.2015, 16:17
вместо основного ПЗУ подключается TRdos`ное и начинается выполнение команд по этому адресу из него. как только адрес команды выходит из диапазона 0000-#3ffff всё возвращается на свои места.

То есть, как я понял, как только старший байт адреса становится равным 3D, то включается ПЗУ TR DOS и работает. Как только управление выходит в облась ОЗУ, то снова подключается дамп ПЗУ, установленный в порте 7FFD. Правильно я понимаю?

ZX_NOVOSIB
18.01.2015, 16:18
Если эмулировать TR-DOS, то только вместе с эмулированием флопика!
Иначе опять фигня получится. Вон к divIDE написали ESXDOS и что? TR-DOS там работает, но криво. Если делать, то делать сразу нормально а не криво как в ESXDOS.

Lisitsin
18.01.2015, 16:24
Если эмулировать TR-DOS, то только вместе с эмулированием флопика!
Иначе опять фигня получится. Вон к divIDE написали ESXDOS и что? TR-DOS там работает, но криво. Если делать, то делать сразу нормально а не криво как в ESXDOS.
Да в принципе не проблема ... Только бы отследить вовремя обращение к портам ВГ. Проблема как раз в работе с ОЗУ.
Пока не уяснил, опять же, две вещи.
1) как обеспечить регенерацию памяти в режиме захвата шин, и надо ли?
2) как отследить момент, когда можно безболезненно обращаться к памяти в режиме захвата шин, чтобы избежать конфликта с дисплейным контроллером?

goodboy
18.01.2015, 16:25
То есть, как я понял, как только старший байт адреса становится равным 3D, то включается ПЗУ TR DOS и работает. Как только управление выходит в облась ОЗУ, то снова подключается дамп ПЗУ, установленный в порте 7FFD. Правильно я понимаю?
да,правильно. только как определяется прежнее ПЗУ я незнаю.

Lisitsin
18.01.2015, 20:15
Итак, у меня пока остаются вопросы с регенерацией памяти и вопрос с бесконфликтным доступом к памяти. Плиз, напишите кто что знает по этому поводу.

zebest
19.01.2015, 09:56
остаются вопросы с регенерацией памяти

4.7. Команда останова.

После выполнения команды останова процессор Z80 выполняет последовательность пустых (NOP) команд, пока не получит запрос на прерывание или сброс. Запросы как маскируемого, так и немаскируемого прерываний анализируются по переднему фронту тактовой частоты в такте T4 каждого машинного цикла команды NOP. В течение состояния останова процесс регенерации динамической памяти продолжает выполняться, поэтому такое состояние процессора может продолжаться сколь угодно долго без опасности потери данных.
Там же :

Регенерация динамической памяти, при этом активизируется и /MREQ, а адрес выдается на A0-A6. Процесс регенерации Z80 производит перебором 128 адресов, т.е. расчитан на организацию 16K-словами, в то время как микросхемы, имеющие объем 64K (565РУ5), требуют регенерации по 256 адресам.
http://mpsystems.narod.ru/help_06.htm

Lisitsin
19.01.2015, 18:07
Там же :

http://mpsystems.narod.ru/help_06.htm

Bus Request (input, active Low). Bus Request has a higher priority than
NMI and is always recognized at the end of the current machine cycle.
BUSREQ forces the CPU address bus, data bus, and control signals MREQ
IORQ, RD, and WR to go to a high-impedance state so that other devices
can control these lines. BUSREQ is normally wired-OR and requires an
external pull-up for these applications. Extended BUSREQ periods due to
extensive DMA operations can prevent the CPU from properly refreshing
dynamic RAMS.
Или я что-то не правильно понимаю ...

CodeMaster
19.01.2015, 19:33
Речь сейчас даже нейдет о готовности выложить от $50 до $200 за устройство

Откуда эти цифры?


Не лучше уже было-бы это время потратить только на доработку уже годами отлаженного группой людей DivMMC?

Его вместо проца не поставишь, а так его и в текущем состоянии можно использовать.


Процесс регенерации Z80 производит перебором 128 адресов

А там где регенерацию производит ULA/БМК?


565РУ5

РУ7 вроде бы вообще саморегенерируемые или только импортные?

Blade
19.01.2015, 19:50
Процесс регенерации Z80 производит перебором 128 адресов, т.е. расчитан на организацию 16K-словами, в то время как микросхемы, имеющие объем 64K (565РУ5), требуют регенерации по 256 адресам.
7х9 там матрица. 128 адресов надо для регенерации, иначе бы в спектруме быстрая память не работала.

zebest
19.01.2015, 20:05
А там где регенерацию производит ULA/БМК?
ну видимо своя схема собрана, кто же спорит, но запуск наверняка идет сигналом /RFSH.
За саморегенерируемые DRAM не слышал, если постоянно читать\писать память, возможно и не надо, а вот при простое - потекут ячейки без регенерации. imho добавлять?

s_kosorev
19.01.2015, 20:36
>> С первой ситуацией. Я не совсем понимаю, что происходит в реальном спектруме при обращении к адресам #3Dxx

Нужно вместо поступающих от встроенного на плату данных пзу, подставлять данные образа пзу из эмулятора, тоесть при чтении по адресу 3D12 процессору на шину данных будут поступать данные от ПЗУ, а нужно что бы шли от эмулятора

По второй ситуации тоже самое, при чтении к примеру из порта 3F, будут читаться данные от кемстон джойстика (адрес 1F из за неполной адресации читается по всем нечетным адресам) а нужно что бы читались данные эмулятора ВГ93

С последней ситуацией действительно проще всего, единственный нюанс что нужно правильно реагировать, на 2 бита адреса, A0 и еще какой то, вроде A15, значение остальных бит не важно


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


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

Lisitsin
19.01.2015, 21:08
Да ... Щас у меня голова уже опухнет ... Не лучше ли тогда сразу отслеживать обращение дисплейного контроллера к памяти по сигналу ~CAS непосредственно на памяти и сразу после него производить операцию записи/чтения? Но это дополнительный провод ... (((

s_kosorev
19.01.2015, 21:14
достаточно соблюдать циклы процессора, адекватно реагировать на сигнал синхронизации и wait, так поступает контролер DMA

daniel
20.01.2015, 19:14
Периферийное устройство вместо проца? интересно, где-то такое уже есть?
Для фирменных машин есть интерфейс IDE в виде платки вставляющейся вместо проца. Легко находится на ebay (+2e) по тех характеристикам искать надо...

goodboy
20.01.2015, 20:10
Для фирменных машин есть интерфейс IDE в виде платки вставляющейся вместо проца. Легко находится на ebay (+2e) по тех характеристикам искать надо...

http://www.casadosnerds.com.br/wp-content/uploads/2012/02/schematic-ZX2e.gif

http://s6.postimage.org/xal3yr6sx/P1030903.jpg

goodboy
20.01.2015, 20:44
экстрим это пентагон alone с этих фоток

CodeMaster
20.01.2015, 21:15
Для фирменных машин есть интерфейс IDE в виде платки вставляющейся вместо проца.

А на "нефирменных" что не заработает? Проц же такой же. И что за софт это поддерживает и как он грузится?

daniel
21.01.2015, 18:56
А на "нефирменных" что не заработает? Проц же такой же. И что за софт это поддерживает и как он грузится?
xбз. я просто это увидел на ибэе и удивился оригинальности и простоте конструкции.

---------- Post added at 18:56 ---------- Previous post was at 18:54 ----------

судя по названию "Universal..."должно везде работать.

Tronix
21.01.2015, 19:28
А что к нему подключать и где взять софт для работы с этим? IDE харды в пролете, значит остаются некоторые CF, умеющие IDE 8 bit....

creator
21.01.2015, 19:48
Всё здесь — сайт Pera Putnik (http://piters.tripod.com/zx.htm).

wbr
21.01.2015, 20:03
А что к нему подключать и где взять софт для работы с этим? IDE харды в пролете, значит остаются некоторые CF, умеющие IDE 8 bit....

Здесь .pdf - https://yadi.sk/i/ye9XAiX0e9HNw

daniel
21.01.2015, 20:06
А что к нему подключать и где взять софт для работы с этим? IDE харды в пролете, значит остаются некоторые CF, умеющие IDE 8 bit....
к этому девайсу ещё ПЗУ в комплекте идёт, соответственно вся поддержка в нём.
http://www.ebay.com/itm/8-Bit-IDE-Interface-for-ZX-Spectrum-2A-2B-3-3e-ROMs-/131409101675?pt=LH_DefaultDomain_186&hash=item1e9897c36b
а почему харды в пролёте?

ZX_NOVOSIB
21.01.2015, 20:29
Я считаю, что нет смысла изобретать велосипед, в том плане что нет особого смысла подключать к спекку жесткие диски, изобретать какие-то новые интерфейсы, новые файловые системы со своим форматом файлов и т.д. Ну я понимаю буржуев когда они изобретают divIDE (divMMC), потому что у них в своё время не хватило ума "приручить TR-DOS", но ведь мы же приручили его. Следовательно всё что нужно - это возможность легко и быстро прикручивать "Beta Disk Interface + флоппиэмулятор" к любому клону. Схема BDI есть, схема флоппиэмуля - тоже, надо только их объединить в один флакон, подумать как всё это удешевить, ну и предусмотерть возможность подключения реального дисковода(-ов). Ну и AY надо прикрутить до кучи :) Единственное, что неплохо бы "изобрести" - это возможность снять снапшот, и сохранить его куда нибудь, хоть на ту же карту памяти, на которой у нас образ трд записан, хоть на отдельную энергонезависимую микросхему (хотя бы несколько слотов для записи).

Флоппоэмуль походу как ни крути дорогая хреновина, поэтому для удешевления конструкции надо предусмотерть его опциональное подключение, чтобы накрайняк можно было хоть и без него, зато дешевле. И вообще 3.5 дисковод рулит, 1 в PC, второй к спектруму, стоит всё реально копейки, и никакой флоппиэмуль не нужен ))

Конечно неплохо было бы изобрести способ, которым легко и быстро любой 48 клон превращался бы в 128, но это походу нереально, увы. К счастью многих и 48+TRDOS+AY удовлетворит. Да и "голый" 128 клон найти не сложно. Прокаченый 128 клон (TRDOS+AY) найти сложно, а просто 128к - вполне реально.

daniel
21.01.2015, 20:36
OS +3e:
http://www.youtube.com/watch?v=O6pYJCwuuUA
http://www.youtube.com/watch?v=zQJAlyLaGvk

ZX_NOVOSIB
21.01.2015, 20:47
OS +3eну вот про это я и говорил. Чисто для себя можно изобретать что угодно, делать новые железяки, интерфейсы, оси, форматы. Это приносит человеку удовлетворение, повышает самооценку и его оценку в глазах окружающих. Но для обычного юзера - всё это излишняя суета. Вот нафига мне ОС +3е? Да я куплю BDI, подключу к нему дисковод и всё. Под TRDOS есть все игры, даже если удастся отыскать игру которой еще нет, то эту игру можно загрузить через магнитофон. Для нетерпеливых изобрели k7zx - 128-ой снапшот грузится за 40-60 сек, 48-ой еще быстрей.

Eltaron
22.01.2015, 00:35
для обычного юзера - всё это излишняя суета. Вот нафига мне ОС +3е? Да я куплю BDI, подключу к нему дисковод и всё.
+3e ориентирован на буржуев. А про BDI слышали только в Польше, Чехии и СССР. В самой Англии это был лишь один из кучи стандартов, и о нём быстро забыли.
Смотрел Searching for Sugar Man (http://www.kinopoisk.ru/film/654439/)? Документалка про музыканта, который записал один неудачный альбом, после чего бросил замузыку. А через 30 лет оказалось, что в ЮАР его альбом был популярней Элвиса, а сам он был символом борьбы с апартеидом. Вот Technology Research Ltd. в таком же положении оказались в 90-е :)

SoftLight
22.01.2015, 11:07
Вот Technology Research Ltd. в таком же положении оказались в 90-е :)
Тут на форуме не помню где пролетали сканы журнала 87 что-то года, посвященного Beta-Disk. Я почитал - там автор только начал выпускать журнал и буквально через год приходит новость, что контора Technology Research ликвидирована, вот уж он там сокрушался что мол беда печалька но мы уж как нибудь протянем годик на наработках... )))

Lisitsin
29.01.2015, 21:32
В общем, на сегодняшний день пока вот что имеется

s_kosorev
30.01.2015, 00:30
Хотелось бы уберечь от напрасной траты времени, что бы потом не пропал интерес к разработке, не увидел на схеме "врезки" между шиной данных компьютера и процессором (возможно я заблуждаюсь и не понял принципа работы).

Как себя ведет спектрум при чтении данных из ПЗУ трдос, в случае внешней платы.

1. Процессор выставляет адрес в области ПЗУ
2. Процессор выставляет сигналы rd и mreq
3. В случае отсутствия внешней платы, декодер на плате выставляет сигнал OE и CS для ПЗУ и на шину процессора поступают данные от ПЗУ
3а. В случае установки платы BDI и активном ПЗУ ТРДОС на системный коннектор приходит сигнал который блокирует сигнал CS (или OE что не важно) ПЗУ и на шину данных процессора не поступает никаких данных, этим пользуется контролер BDI и выставляет данные из своего ПЗУ, т.е. с моей точки зрения, данное решение не позволит реализовать чтение "виртуального" пзу трдос, чтение регистров "виртуальной" ВГ93, если в портами ВГ93 к примеру не так страшно, можно было бы эмулировать работу процедур трдос и сразу в память заливать данные секторов, то вот с эмуляцией ПЗУ уже сложнее

petrov1962
30.01.2015, 12:51
В общем, на сегодняшний день пока вот что имеется

Мне кажется, по габаритам устройство будет не очень удобно
стоять, например в Фениксе. Будут мешаться стоящие вертикально резисторы.

http://micklab.narod.ru/img/zxm_phoenix_10.jpg

Да и SD карту лучше через разъем вынести с платы.

wbr
30.01.2015, 21:49
В общем, почитав тему, понял, что народ не совсем понял что за приблуда изобретается и для чего она нужна.
По простому - это штука, которая по задумке должна дать вторую жизнь тысячам клонам Спектрума 48К, которые пылятся в кладовках и которые не имеют TR-DOS и AY.
Эта приблуда нужна тем, кто паяльник в руках держит не уверенно, а магнитофон сломался) а человек хочет утолить жажду ностальгии.
Короче, девайс предназначен для всех клонов Спекки, которые не имеют предусмотренной возможности для подключения современной периферии и для тех людей, которые не умеют/не хотят/боятся лезть в схему 150 ваттным паяльником, но хотят ностальгировать.
TR-DOS в данном случае заменяется SD-DOS от Василия Лисицына, который уже реализован в Aspect 128 AVR Spectrum. Форматы trd, scl и прочие могут быть поддержаны. Но позже. Для начала надо прототип собрать и заставить его работать с существующей операционкой.
Прошу людей, которые реально разбираются в вопросах обозначенных в первом посту, дать консультации!

goodboy
30.01.2015, 22:43
девайс предназначен для всех клонов Спекки, которые не имеют предусмотренной возможности для подключения современной периферии и как правило платы этих клонов размещены в таких корпусах что по-высоте просто не хватит места воткнуть расширитель.

wbr
30.01.2015, 23:22
и как правило платы этих клонов размещены в таких корпусах что по-высоте просто не хватит места воткнуть расширитель.

а это уже другой вопрос) перспективно можно предусмотреть вынос платы шлейфом.

SoftLight
30.01.2015, 23:35
Не до конца уловил, а чем новое устройство будет отличаться от zxmmc (http://www.probosci.de/zxbada/zxmmc/index.html)? Тем что встроена поддержка SD-DOS?
http://i57.fastpic.ru/thumb/2015/0130/f6/e75c97388193d2a804be8eb43a164df6.jpeg (http://imghost.in/img/2015-01/31/fvumluep0nzy6domua0cq64pf.jpg) http://i58.fastpic.ru/thumb/2015/0130/97/52467f73ac783fff201e3304e6c45e97.jpeg (http://imghost.in/img/2015-01/31/ey3rz65s2qclo3w1odyac3afl.jpg)

s_kosorev
31.01.2015, 07:19
SD-DOS это отлично, но есть нюансы, если игра подгружает файлы с диска то нужен образ ПЗУ трдос. Но кажется понял как без буфера обойтись, по идее достаточно сигнал rd прерывать, если его не пропускать от процессора на плату, по условию, то можно подсовывать процессору свои данные. Единственный нюанс это оригинальные компьютеры, где надо точно синхронизироваться иначе будет "снег" на экране.

Lisitsin
31.01.2015, 10:28
Не до конца уловил, а чем новое устройство будет отличаться от zxmmc (http://www.probosci.de/zxbada/zxmmc/index.html)? Тем что встроена поддержка SD-DOS?
http://i57.fastpic.ru/thumb/2015/0130/f6/e75c97388193d2a804be8eb43a164df6.jpeg (http://imghost.in/img/2015-01/31/fvumluep0nzy6domua0cq64pf.jpg) http://i58.fastpic.ru/thumb/2015/0130/97/52467f73ac783fff201e3304e6c45e97.jpeg (http://imghost.in/img/2015-01/31/ey3rz65s2qclo3w1odyac3afl.jpg)

Я сам хотел бы видеть в будущем устройстве следующие отличия:
поддержка современного стандарта карт micro-SD в замен устаревающему mmc. Далее - предусмотрена возможность эмуляции AY. Будем добиваться реализации эмуляции AY. Ну и SD DOS, конечно же, оптимизированная на поддержку файловой системы FAT32, а следовательно, открыт доступ к загрузке/выгрузке программ ZX Spectrum любого формата.

MVV
31.01.2015, 10:33
Не до конца уловил, а чем новое устройство будет отличаться от zxmmc?
Тем, что это новое устройство. А ещё, версий разных можно наделать на продажу для коллекционеров.
Цена та же будет что и на эти девайсы? Black Swift (http://habrahabr.ru/company/blackswift/blog/246673/) или Hardkernel (http://www.hardkernel.com/main/products/prdt_info.php) :)

CodeMaster
31.01.2015, 12:08
Цена та же будет что и на эти девайсы? Black Swift или Hardkernel

Причём тут сравнение тёплого с мягким?

MVV
31.01.2015, 16:23
Причём тут сравнение тёплого с мягким?
А что сравнивать? Может это: http://s.pikabu.ru/post_img/2013/06/18/0/1371499394_1631425158.jpg
Как быть с этим:

Далее - предусмотрена возможность эмуляции AY. Будем добиваться реализации эмуляции AY.
Вряд ли эмуляцию здесь кто-то одобрит, спросите к примеру у ААА :)
Планируется ли эмуляция TurboSound 2-х AY (6-каналов) и SounDrive (4-канала)?

На базе устройств, ссылки которые я дал выше, уже сделан zx-spectrum (ссылка (http://forum.odroid.com/viewtopic.php?f=108&t=6656)). Т.к. речь пошла о эмуляции, то лучше и дешевле эмулятор не сделаете:
http://forum.odroid.com/download/file.php?id=1312&sid=f4836e9251e3f15226e7103c8ee893d2 http://forum.odroid.com/download/file.php?id=1442&sid=f4836e9251e3f15226e7103c8ee893d2


Я сам хотел бы видеть в будущем устройстве следующие отличия:
поддержка современного стандарта карт micro-SD в замен устаревающему mmc.
DivMMC (http://benophetinternet.nl/hobby/vanmezelf/DivMMC%20EnJOY!%20+%20ESXDOS%200.8.5%20Manual.pdf) может работать с двумя установленными картами:

SD 1.0 — от 8 МБ до 2 ГБ;
SD 1.1 — до 4 ГБ;
SDHC — до 32 ГБ;

Поддерживает работу двух Floppy drives

Main ESXDOS features

Full FAT16/FAT32 read and write support
New BASIC commands
Additional commands in BIN folder: see "DOT" commands
Betadisk/TR-DOS emulation using .TRD files
TAPE emulation: reading and writing .TAP files
NMI menu: pressing H in the NMI menu brings up onscreen help


Advanced

Device and file system abstraction layer; uses drivers to access file systems
BASIC command integration using +3DOS headers for FAT file systems
Provides RST 8 hooks for user applications
POSIX-based API usable by .commands and external programs; functions available on rst $08: open, read, write, close, opendir, readdir, seek, sync, fstat, getcwd, chdir, unlink...
Support for seamless IM2 loading/saving, from BASIC and machine code
Possibility of getting absolute LBA sector and device on an opened file for direct I/O access
Can attach and auto-LOAD .TRD files (check help screen)
New/Updated Commands: .DivIDEo, .vdisk, .playwav, .dskprobe, .snapload, .gramon, .speakcz

Пишу, т.к. DivMMC уже давно работает в конфигурации Speccy на ReVerSE (http://zx-pk.ru/showpost.php?p=619825&postcount=896).

shurik-ua
31.01.2015, 16:37
Форматы trd, scl и прочие могут быть поддержаны. Но позже.
Дело не столько в форматах, сколько поддержка программ которые работают напрямую с ВГ, и у меня почему то ощущение что с наскока вы это не решите. Так вот чтобы не тратить время на решение уже решённых вопросов посмотрите уже существующее железо где это уже реализовано в полном объёме - а именно DivMMC.
Просто вы переизобретаете заново уже существующие девайсы.

CodeMaster
31.01.2015, 19:28
А что сравнивать? Может это:

Под "теплое и мягкое" поисковики нашли только это:

Ты раз пять редактировал этот пост, но смысла так и не понял. Хотя, скорее ты просто старательно делаешь вид, что не понимаешь...


Пишу, т.к. DivMMC уже давно работает в конфигурации Speccy на ReVerSE.

... ибо, почему ты это пишешь в каждой теме я уже понял, всё заканчивается рекламой ReVerSE

MVV
31.01.2015, 20:14
Ты раз пять редактировал этот пост, но смысла так и не понял. Хотя, скорее ты просто старательно делаешь вид, что не понимаешь...
Не понял то, что устройство способное эмулировать zx-spectrum в целом, будет подключаться к zx-spectrum и программно эмулировать дисковод на МК?
Я к тому, что такой эмулятор уже как-бы существует в Speccy2010, глянь обновляется ли прошивка?

... ибо, почему ты это пишешь в каждой теме я уже понял, всё заканчивается рекламой ReVerSE
ReVerSE упоминается потому, что благодаря этой песочнице я смог поработать с DivMMC, GS, SounDrive, Turbosound, Z-Controller, RTC, VM2413, SID6581... и с многими конфигурациями компьютеров не тратя кучу время и средств на разработку множества плат этих устройств и ПО.

CodeMaster
31.01.2015, 20:45
ReVerSE упоминается потому, что

Просто, твоя навязчивость может уже соперничать с продвижением Олегом во всех отношениях идейно правильного ЯВУ Оберон.


благодаря этой песочнице я смог поработать

Все рады за тебя, работай дальше, не мешай другим заниматься интересными для них вещами.

VELESOFT
01.02.2015, 23:32
Поддерживает работу двух Floppy drives

Main ESXDOS features

No, ESXDOS support all 4 floppy drives (TRD images with any size up to 1024kB or cutted TRD files)

selevo
13.07.2015, 14:25
что есть на текущий момент,устройство готово ?
Можно вообще последние вести публиковать в первом посте ?
Это избавит от подобных моему вопросов.
-
светлых мыслей.

Lisitsin
13.07.2015, 17:47
что есть на текущий момент,устройство готово ?
Можно вообще последние вести публиковать в первом посте ?
Это избавит от подобных моему вопросов.
-
светлых мыслей.

На сегодня устройство собрано и подключено. Предстоит удалённое написание ПО.

CodeMaster
30.08.2016, 07:13
Предстоит удалённое написание ПО.

В этом как всегда затык :-( ПО ты не сам пишешь или почему "удалённое"?

nihirash
24.03.2018, 17:51
На сегодня устройство собрано и подключено. Предстоит удалённое написание ПО.

Можно поинтересоваться, каков статус на данный момент?

Shofer
06.01.2021, 07:50
Хотя бы выложили схему железа

valerium
06.01.2021, 11:36
Существует вот такая (https://zx-pk.ru/threads/30269-emulyator-kontrollera-diskovoda-beta-disk-na-avr.html?p=1005019&viewfull=1#post1005019) разработка, эмулирует как раз bdi на avr+sd, исходно появилась в теме пентагона и для пентагона, но вполне успешно запускается на других клонах с кусочком контроллера bdi, у меня есть в виде решения на cpld epm3032 и atmega328p. Но автор ту разработку давно подзабросил, хотя было бы интересно объединить то, что есть здесь и то, что было в той теме.

Там все хорошо, но совместимость неполная - ВГ93 сэмулирована, видимо, частично.
Ну и там бы хотелось какой-то интерфейс для управления образами приделать, поставив более многоногий контроллер.. Может накинемся все вместе ?