Вход

Просмотр полной версии : Интерфейс MIDI для ZX



newart
21.07.2007, 23:09
Фирма Скорпион довольно давно выпускала такой контроллер, даже был како-то софт. Видел кто-нибудь эту платку в живую?
Сложно сегодня ее воссоздать?

http://scorpion.ru/spectrum/hard/midi_SC.htm

Очень хочу midi клаву подрубить к спеку и рубиться на AY. =)

fan
22.07.2007, 16:09
Повторять девайс смысла нету , ибо софта нету .

Да полюбому нету смысла повторять , ибо вариантов реализации дофигища . Ибо сабж всего лишь UART + TIMER .
Та жа мультикарта от caro может фурычить как миди интерфейс (только не помню нужно ли менять кварц , но это обсуждалось , нужно лишь перечитать тему по карте ).

З.Ы. В MSX Turbo R , торчит UART 8251 и TIMER 8253 . ИМХО самый демократичный вариант если делать на рассыпухе . В скорпионовской платке похоже именно они и торчат .
З.З.Ы. Если кто то озвереет и вдруг напишет какойто софт под сабж , то предусмотрите возможность для накрутки настроек под разные типы UART (или хотя бы сырки оставляйте).

Добавлено через 1 час 8 минут
Ща перечитал скорпионовский монускрипт , как оказалось скорпионовский вариант именно на UART 8251 и TIMER 8253 :)
Востановить схему скорей всего не есть проблемма . А вот за софтом в стан партизанов придётся засылать главного скорпионовского маньяка ;)

З.Ы. У меня есть жудкие подозрения что софт от какойто буржуйской железки и слегка перепахан под скорпионовский вариант .

newart
22.07.2007, 22:23
Ща перечитал скорпионовский монускрипт , как оказалось скорпионовский вариант именно на UART 8251 и TIMER 8253
Востановить схему скорей всего не есть проблемма . А вот за софтом в стан партизанов придётся засылать главного скорпионовского маньяка
Нет желания попробовать?
Софт я нашел, хотя совершенно не предпологаю его использовать, хочу писать свой, под TS.

newart
22.07.2007, 23:49
В минимальном варианте я думаю хватит возможности прогрыванием pt3 музона с отключением любого канала, сохранением лога с midi клавитуры и менеджер/плеер семплов от vortex.
Тоесть берем например музон, отрубаем солирующий канал, выбираем на диске или из музона подходящий инструмент + орнамент, нажимаем PLAY и играем соляк сами на клавишах. Есть еще идейка задейтсвать в этом комплексе GS, но это уже совсем изврат. :)

Mike
23.07.2007, 00:07
Лучше просто сделать синтезатор управляемый по миди, либо с каналами расбросаными по миди-каналам, либо с вытесняющим управлением полифонией, либо обоими методами сразу. Что бы софтина просто имела управление параметрами синтеза с сохранением их на дискету. А писать тогда можно в чём угодно, в любом секвенсоре, вне зависимости от платформы и использовать, при желании, несколько спеков одновременно.

newart
23.07.2007, 00:49
Лучше просто
Совсем не просто. А если просто - сделай.
А пока что я даже не знаю где достать этот элементарный контролеер из трех микросхем и из нескольких тысячх посетителей форума только FAN что то вразумительное смог ответить, но этой инфы не достаточно, для не железячника.

fan
23.07.2007, 14:05
Нет желания попробовать?
Однозначно есть (покрайней мере схему попробую сочинить). Но пока думаю стоит подождать что скажет товарьщ Mikka_A , думаю ему проще вытрести инфу из сорпионщиков , чем нам рисовать схему ;)

Мне однозначно потребуетя помощь всех заинтересованных программистов и прочих маньяков , ибо я понятия не имею какой кварц торчит на плате (и как соеденины счётчики таймера между собой) и это можно выяснть только узнав как конкретно накручивается таймер (чего я сам врятле сделаю).

Для всех заинтересовонных в сабже вывалю кучку инфы по фунцеклированию применяемых тараканов и кусок схемы MSX Turbo R с миди интерфейсом закину (если нужно).


Софт я нашел
:v2_eek: :v2_eek: :v2_eek: Где ??? :v2_eek: :v2_eek: :v2_eek:


Совсем не просто.
Возможно проще чем кажется , ибо достаточно попсовые конструкции для самосборки в природе существуют - http://www.ucapps.de/mbhp_opl3.html .

Mike
23.07.2007, 23:51
Совсем не просто. А если просто - сделай.


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

newart
24.07.2007, 00:03
Я про аппаратную часть вообще ничего не говорил, у тебя видимо галюцинации. Я могу со своей стороны, сказать, как всё это должно выглядеть, как человек имеющий к таким вещам непосредственное отношение.
Суть твоего предложения я вообще не понял.
Но на всякий случай уточняю, меня интересует комплекс вида: ZX+AY+MIDI Keyboard. Поэтому всякие там OPL3 и т.д. неитересны нисколько, ибо проще купить синтезатор или юзать ноутбук.

ilyaspb
24.07.2007, 02:51
если софт все равно сочинять сами будете,то можно использовать
любую схему MIDI контроллера например:
http://www.msxarchive.nl/pub/msx/mirrors/hanso/hwdoityourself/midi.pdf
или от скорпиона принципиально?

newart
24.07.2007, 05:37
если софт все равно сочинять сами будете,то можно использовать
любую схему MIDI контроллера например:
http://www.msxarchive.nl/pub/msx/mir...rself/midi.pdf
или от скорпиона принципиально?
Нет, не принципиально. За схемку спасибо, только врядле рядовой Не железячник сообразит где искать на спектруме все эти сигналы. :)
Да и есть ли они все на шине-слоте?

Mike
24.07.2007, 15:00
Суть твоего предложения я вообще не понял.
Но на всякий случай уточняю, меня интересует комплекс вида: ZX+AY+MIDI Keyboard. Поэтому всякие там OPL3 и т.д. неитересны нисколько, ибо проще купить синтезатор или юзать ноутбук.

Моё предложение очень простое - написать софт, превращающий спек в синтезатор управляемый по MIDI. Соответственно потребуется графический интерфейс со всей рулёжкой и с возможностью сохранения/загрузки наруленного. И подключай себе midi-клавиатуру, хочешь на прямую в спек, хочешь в любой секвенсор, а секвенсор уже в спек.

fan
24.07.2007, 15:49
Экзотические тараканы от зилога на каждом углу не валяются ;)

Если всёравно из чего делать , то ZX_Multi_Card лучший вариант .

--------------------------------------------------------------------------
Навсякий случий если кто всётаки зохочет востановить скорпиновский вариант (путём ковыряния в проге) -
i8251 = КР580ВВ51 = 82C51
i8253(4) = КР580ВИ53 = 82C54
Описания на зверей можно искать по русским именам , фирменные мануалы скорей всего найдутся только по эроглифам 82C51 & 82C54 .

К передаваемому байту информации добавляется стартовый и стоповый биты (без контроля чётности). Скорость передачи 31,25 Кбит/с .
--------------------------------------------------------------------------
Товарищь Mikka_A !!!!! А-уууу !!!!! ;)

Mike
24.07.2007, 16:34
Экзотические тараканы от зилога на каждом углу не валяются ;)

Если всёравно из чего делать , то ZX_Multi_Card лучший вариант .

--------------------------------------------------------------------------
Навсякий случий если кто всётаки зохочет востановить скорпиновский вариант (путём ковыряния в проге) -
i8251 = КР580ВВ51 = 82C51
i8253(4) = КР580ВИ53 = 82C54
Описания на зверей можно искать по русским именам , фирменные мануалы скорей всего найдутся только по эроглифам 82C51 & 82C54 .

К передаваемому байту информации добавляется стартовый и стоповый биты (без контроля чётности). Скорость передачи 31,25 Кбит/с .
--------------------------------------------------------------------------
Товарищь Mikka_A !!!!! А-уууу !!!!! ;)

Ну да, я тоже думаю, что мультикарта придётся как нельзя более кстате.

PS. А почему тема во флейме оказалось ? Я тут пока не какого флейма не вижу, идёт обсуждение по теме, конкретного устройства для ZX и софта для этого устройства, тоже для ZX. Требую справидливости ! :mad:

newart
24.07.2007, 20:25
Если всёравно из чего делать , то ZX_Multi_Card лучший вариант .
И что с ней делать?

Mike
24.07.2007, 23:39
И что с ней делать?

Собрать миди-развязку и использовать как миди-интерфейс. Чего не понятного-то ? Миди это обычный сериал.

fan
25.07.2007, 01:24
И что с ней делать?
Нужно в той теме выспрость у товарища caro.
Не помню как там щаз делается в прошивке или со спека , но нужно лишь настроить UART и таймер под мидишный протокол (думаю caro про это расскажет вполне доступным языком).

В конечном итоге передача байта сводится к простопу пулянию в порт (и вероятно к проверке какого нить флага в какомнить региистре на тему передалось или нет). Приём байта вероятно начинается с отлова прерывания с последующим захавыванием принятого байта из карты (вероятно тоже нужно проверять флаг на тему приёма).

caro
25.07.2007, 10:06
Не помню как там щаз делается в прошивке или со спека , но нужно лишь настроить UART и таймер под мидишный протоколСейчас настройка скорости UART для совместимости со стандартным COM-портом определяется константами скорости:
1 - 115200
2 - 57600
3 - 38400
4 - 28800
и т.д по формуле: baud = 691200/(const*6) (с учетом работы MK от кварца на 11.0952 Мгц).
В этом ряду, как видно, скорость 31250, необходимая для MIDI не устанавливается.
Поэтому придется модифицировать прошивку и добавить возможность установки этой скорости.
Например можно одну из констант, которая задает не стандартную скорость,
задействовать для установки требуемой для MIDI скорости.
Предлагаю константу = 255, которая задает baud = 451,8
Скорость будет равна 691200/22 = 31418, что на 0.5% больше чем 31250.
Поскольку требование к скорости в MIDI определяется допуском +- 1%, это вполне допустимо.

Вечером нарисую схему преобразователя RS232<->MIDI и выложу в форум.

boo_boo
26.10.2007, 16:20
ну и чем дело кончилось?
вообще, подрубал реально кто-нить к спеку миди-клаву, или "да там всё просто, пробабушка тётки младшего четвероюродного брата одного знакомого спектрумиста рубила на сабже буги-вуги, схема и софт лежат на её домашней страничке, которая накрылась во время гибели атлантиды"? ;)

caro
26.10.2007, 16:56
ну и чем дело кончилось?
Схему я выложил: http://zx.pk.ru/attachment.php?attachmentid=5645&d=1185437721
Но поскольку реакции не последовало, прошивку пока не трогал.
У меня к сожалению ни одного MIDI-устройства нет, так что проверить работу не смогу.

boo_boo
26.10.2007, 20:06
Схему я выложил: http://zx.pk.ru/attachment.php?attac...5&d=1185437721 а такой MIDI будет Z80 вейтить?

fan
26.10.2007, 20:46
Песюк очень даже не плохой миди девайс ;)
Для отлова мидишных посланий можно юзать чёнить вроде MIDIMonitor , MIDI Input Viewer , ... Для передачи можно озать древнюю версию CakeWalk (сним в комлекте идёт виртуальная миди клавиатура). Можно ещё сконструлить PC keyboard to MIDI note controller adapter (юзает AT90S2313 / AT90S1200 , есть сырки) - http://www.borg.com/~jglatt/hardware/pc_keys/adapter.htm :D

caro
27.10.2007, 06:41
а такой MIDI будет Z80 вейтить?Да.

boo_boo
27.10.2007, 14:45
а подойдет ли вообще для рилтаймового музицирования MIDI через RS232 на ZXMC? а то ведь на стороне ZX надо разжёвывать MIDI-протокол, да еще вейты.. подозреваю, кроме этого разжёвывания ресурсов ни на что не хватит.
возникает мысль о МК, который может справиться сам с MIDI-протоколом, а ZX -- забирать уже готовые данные.
еще вариант -- раздербанить копеечный синтезатор, и перепаять его клаву на ZX-матрицу. конечно, будут только тупые noteOn/noteOff, но может оно и ничего :rolleyes:

Orionsoft
30.10.2007, 14:26
а где сказано , что эта штука играет через AY ?

newart
30.10.2007, 16:12
а подойдет ли вообще для рилтаймового музицирования MIDI через RS232 на ZXMC? а то ведь на стороне ZX надо разжёвывать MIDI-протокол, да еще вейты..
Поясните плиз, что такое этот ваш Wait? :)
И зачем оно надо и почему не сделать иначе.

caro
30.10.2007, 16:28
Поясните плиз, что такое этот ваш Wait? :)
И зачем оно надо и почему не сделать иначе.Уверяю всех что тот WAIT, о котором здесь идет речь в данном случае никакого значения не имеет.
При той скорости работы COM-порта, которая нужна для работы MIDI-интерфейса (31250 бод),
торможением Z80 при опросе портов RS232 в 5 мксек (~15 тактов процессора) можно пренебречь.
Сделать иначе можно, усложнив схему, но это не рационально, да и не имеет смысла.

newart
30.10.2007, 17:06
Уверяю всех что тот WAIT, о котором здесь идет речь в данном случае никакого значения не имеет.
При той скорости работы COM-порта, которая нужна для работы MIDI-интерфейса (31250 бод),
Спасибо Caro, успокоил. :)
Так карточка с работающим Midi уже производится-продается?

Добавлено через 20 минут
А какой вообще принцип работы с этим Midi портом, нужно програмно сколько то раз в прерывание проверять его состояние и принимать данные, которых больше 80 байт за прерывание быть не может?

Добавлено через 21 минуту

Но поскольку реакции не последовало, прошивку пока не трогал.
Ну так, карточки на руках нет, какая может быть реакция?
Ждем когда можно будет купить карточку с прошивкой.