Цитата Сообщение от char Посмотреть сообщение
через кемпстон делай
Через кемпстон, к сожалению, нельзя:
- во первых некоторые клоны не имеют кемпстона.
- во вторых для синхронизации всё равно нужна обратка (в примере программы не показана)

- - - Добавлено - - -

Цитата Сообщение от bigral Посмотреть сообщение
Если предположить что разрабатывается устройство для zx edge connector-а, то в схему такого устройства обычно ставят ROM (называют shadow rom) и порты и\или регистры отраженные на память в диапазоне 0-3fff, данного железа хватает чтобы читать\писать данные куда угодно (fdd, ide, mmc, serial т.д.). DivIDE, TRDOS, Interface1 все сделанны таким образом. Если чтото и делать то надо делать совместимым с существующими програмными интерфейсами (для того чтобы опять не переделывать загрущики...).
Я не гуру. Я - велосипедист. Это фигня в первую очередь размышление для отечественных клонов у которых нет zx edge. Эдакий плохонький суррогат дисковода.
Это для того чтобы прочитал случайно чувачок, вспомнил детство, сходил в гараж, достал свой ленинград 1, припаял в него четыре проводка от ардуинки за 150 рублей и радовался жизни.
Если же передо мной маньяк спектрума, у которого FDD + IDE + MMC, то ему эта тема противопоказана: тот же divIDE гораздо быстрее, совместимее и уже есть в наличии.
Просто чувачок, вспомнивший детство, если увидит цену на divIDE и посчитает количество проводков которые надо ему припаять... и подумает что лучше купить пивка и не мучится ностальгией.

P.S. тема родилась как возможное решение проблемы загрузки бета-бейсика , а также сохранением программ на флешку.
Как бы если есть вариант проще и дешевле - рекомендуйте. И с чистой совестью похороним эту тему.

- - - Добавлено - - -

Цитата Сообщение от Бука Посмотреть сообщение
Уже давно изобретен "велосипед", см https://sites.google.com/site/interface1bis/home
Правда дофига хотят - 44 евро...
Дык вот именно, про то и речь. Ардуинка в 20 раз дешевле и если нет системного разъёма, то и паять в 20 раз легче.
А скорость загрузки - ну в 2-3 раза дольше

- - - Добавлено - - -

Цитата Сообщение от blackmirror Посмотреть сообщение
Это 8-уровневое дерево ветвлений, в сумме на всех уровнях в нём 255 условных переходов, и 256 команд загрузки всевозможных значений байта на последнем уровне. Для него сойдёт любой флаг для которого есть условный переход. Но если 7й разряд не меняет своё значение, то код krt17 намного проще и короче. Также через TapeOut нужно передавать сигнал готовности к чтению байта, а в начале выдать синхросигнал для настройки скорости обмена, чтобы Z80 не подавился данными.
Спасибо что подсказали про дерево ветвлений. Я практиковался в кодах Z80 только в прошлом веке, поэтому могу не увидеть некоторые особенности.
Просто в вашем случае получается очень приличный блок кода. Если этот код будет размещён во внешнем ПЗУ то размеры не критичны.
А изначальная задумка была в том, чтобы минимизировать вмешательство в схему спектрума (типа те кто способен припаять ПЗУ, могут припаять и другую схемку, которая в 20 раз быстрее).
Если же такой драйвер загружать в оперативу через LOAD "", то во первых это будет довольно чувствительно по времени, а во вторых - займёт драгоценную память, которой может не хватить при загрузке какой-то здоровой программы.

Соглашусь что код krt17 попроще и наверное стоит его взять за основу.
Ну или как компромисс: простой загрузчик загружает два варианта кода. Если есть возможность - пользуется быстрым но длинным, если нет возможности - пользуется медленным но коротким. В любом случае чтобы определить достаточность скорости надо сначала поэкспериментировать.

Про TapeOut не написал для краткости. Возможно им придётся дёргать не раз на байт а даже раз на бит. Ну или припаять ещё один проводок ардуинки на IORQ.
Пока ни устройства ни программы нет. Пока это просто задумка.