Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   Некоторые результаты (http://zx-pk.ru/showthread.php?t=1377)

ASDT 12th September 2006 21:01

Например, можно доработать "ZX OPEN ROM" (кажется)
для работы с файлами ч-з СОМ.
И входную схему доработать до определения подключения
достаточно просто ....
"Кстати, зачем для СОМ иметь контроллер?"
Скорость поболее, буферизация ...
Но можно и софтово.

James DiGreze 13th September 2006 05:38

Ну, если исключить использование м/ф вообще, то достаточно подключить к цифровым входу и выходу, например, max232cpe или простенькой схемки на дискретах. А про автодетект забудь, ибо любое подключенное устройство RS232 может тебе дать "0" на входе ;)
Имхо, все же наверно лучше использовать отдельный порт для СОМ...

А вообще, с контроллером не только быстрее, но и надежнее, плюс там используются линии управления протоколом, и программная поддержка гораздо проще.

ASDT 13th September 2006 06:46

"подключенное устройство RS232 может тебе дать "0" "
Т.е. оно само что-то даёт ... без твоего участия ...
ИИ наверное ....

"достаточно подключить к цифровым входу и выходу,"
О том и речь ... Но магнитофон никак не ограничен - или-или ...

James DiGreze 13th September 2006 10:01

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

И есть еще один подлодный камень - тактовая частота Спека "турбо/не турбо" (я видел еще и мага турбо на 14МГц... Но это уже оффтоп ;)) Т.е. нужно определиться с задержками в программе для каждого режима.

ЗЫ: Вообще-то это вполне реально, правда скорости большой не получишь. У ИНФОРКОМа была книжица "Периферия своими руками", в ней была схемка "ZX Lprint III" (или что-то типа того). Так вот в этой схеме RS232 реализован программно, только сидит не на порту м/ф.

ASDT 13th September 2006 10:43

"этот момент может что-то идти по линии... " Заблуждение ... :)
А если воткнуть в сет.розетку, то может сгореть ...

"да и согласовывать их нуно." Пара диодов спасёт ... :)

"реализован программно, только сидит не на порту м/ф."
Смысл в том, что бы делать минимальные доработки,
а остальное - софтово.

caro 13th September 2006 11:26

Quote:

Originally Posted by ASDT
Смысл в том, что бы делать минимальные доработки,
а остальное - софтово.

В прошивке ZX Spectrum 128 изначально встроены процедуры работы
с софтовым RS232.
Code:

L0121  jp  L06d8        ; RS232 input
L0124  jp  L07ca        ; RS232 output (1)
L0127  jp  L08a3        ; RS232 output (2)

Максимальная скорость 9600 бод.

Аппаратно RS232 подключается через порт A(регистр 14)
музыкального сопроцессора.

ASDT 13th September 2006 11:43

"В прошивке ZX Spectrum 128 изначально встроены процедуры "
Вот типа того ...

"Максимальная скорость 9600 бод."
Можно спокойно до 19200, кажись ...

"через порт A(регистр 14)
музыкального сопроцессора."
Тока он не везде есть, а порт магнитофона - везде.

fan 13th September 2006 12:16

Quote:

Originally Posted by caro
В прошивке ZX Spectrum 128 изначально встроены процедуры работы
с софтовым RS232.

Код:
L0121 jp L06d8 ; RS232 input
L0124 jp L07ca ; RS232 output (1)
L0127 jp L08a3 ; RS232 output (2)

Эээ , а где сидят процедуры MIDI выхлопа ?

caro 13th September 2006 12:45

Quote:

Originally Posted by fan
Эээ , а где сидят процедуры MIDI выхлопа ?

Code:

L0118  jp  L012d        ; Keypad scan
L011b  jp  L0a05        ; Play music strings
L011e  jp  L11a3        ; Send to MIDI


fan 13th September 2006 13:02

10X !!!

Mike 13th September 2006 13:04

Даёшь миди секвенсор на спеке !!! :eek:

Кстате, аксакалы, а сколько сериальных портов способен "прокачать" спек, пусть турбированный (7Mhz), на запись при максимальной скорости в 31,250 ? Скажем если это будут сериалы как на мультекарте ? Это видимо в первую очередь вопрос к Caro, как к разработчику данного девайса.

fan 13th September 2006 14:05

Человечий MIDI интерфейс уже делает один товарищ , но я чёто не могу на его сайт попасть %( Если кто вкурсах что нового на сайте , то дайте плиз знать .

Собсно вот - http://zx.pk.ru/showthread.php?t=3609

Mike 13th September 2006 14:49

Quote:

Originally Posted by fan
Человечий MIDI интерфейс уже делает один товарищ , но я чёто не могу на его сайт попасть %( Если кто вкурсах что нового на сайте , то дайте плиз знать .

Собсно вот - http://zx.pk.ru/showthread.php?t=3609

Нового там особенно ничего нет.

Тут даже вопрос скорее в ПО. А вообще есть готовые MIDI интерфейсы с RS-232, RS-422, LPT портами. Остаётся только поддержать их на спеке. С LPT например MOTU делали, c сериальными - Opcode, Emagic... Мой OpCode Studio 4 (8 in, 8 out) например подключается по двум RS-422, по одному тоже может. А собран он вообще на 6501 что ли, плюс четыре 40-ногие микрухи UART, точно не помню какие. Тот же спек практически по мощностям.

fan 13th September 2006 16:19

Quote:

Originally Posted by Mike
Нового там особенно ничего нет.

Нет нового ? Юморист ;) И это при том что схемы аппаратного UART MIDI так и не существоволо до недавнего времени :v2_lol:

Mike 13th September 2006 16:49

Quote:

Originally Posted by fan
Нет нового ? Юморист ;) И это при том что схемы аппаратного UART MIDI так и не существоволо до недавнего времени :v2_lol:

Это не Midi UART, а просто UART, обычные сериальные порты и им уже много лет. Миди это же и есть сериальное соединение, тот же COM, только на сколько я помню - токовая петля. Да и моему интерфейсу уже более десяти лет. Такой вот девайс: http://k5000.org/gear/Studio4_front.jpg :)

ASDT 13th September 2006 20:00

"схемы аппаратного UART MIDI так и не существоволо до недавнего времени "
UART - это UART(железный/софтовый), MIDI - это MIDI (железо, протокол?)
И попутно, может кто ответит ...
Насколько нужен бордюр, т.е. если его не делать - каковы
потери ... Может на примерах ....

Mike 13th September 2006 20:59

Quote:

Originally Posted by ASDT
И попутно, может кто ответит ...
Насколько нужен бордюр, т.е. если его не делать - каковы
потери ... Может на примерах ....

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

fan 14th September 2006 00:16

Quote:

Originally Posted by Mike
Это не Midi UART, а просто UART, обычные сериальные порты и им уже много лет. Миди это же и есть сериальное соединение, тот же COM, только на сколько я помню - токовая петля.

UART MIDI есть не просто UART , а UART передающий данные по мидишному протоколу . Тот товарищь делает именно мидишный интерфейс , а не что то иное (к томуже он использует однокристалку, а не отдельный чип).

James DiGreze 14th September 2006 08:01

Quote:

Originally Posted by ASDT
Насколько нужен бордюр, т.е. если его не делать - каковыпотери ... Может на примерах ....

Имхо, нужен. Пример: загрузка с магнитофона... ;)
Quote:

Originally Posted by Mike
Я считаю, что на классическом спековском видеорежиме он должен остатся, единственно, что можно его уменьшить в 2-4 раза по толщине с каждой стороны, если это не сложно конечно.

Верхний и нижний убрать вообще проблематично.
А боковые можно, но за счет потери квадратных точек. Т.е. можно сделать точки как черточки, но, думаю, это никого не устроит.

P.S. UART (Universal Asyncronus Receiver Transmiter) - отдельный чип или часть МК, т.е. преобразователь данных "параллельные<->последовательные", а протокол называется RS232C. MIDI - это стандарт подключения муз.инструментов к компутеру. Включает в себя описание как аппаратной части, так и протокола взаимодействия.

ASDT 14th September 2006 08:30

По бордюру:
Просто переделывая ленинград, дошел до портов ...
И совсем не хочется делать "ненужную часть" порта ФЕ :)
Область бордюра будет заполнена с доп страниц (свыше 128к).
СОМ:
Сейчас у меня зашит простой загрузчик по СОМ, программу
"подготовки" данных добить и можно отлаживать софт на железе.
Поэтому интересует вопрос с протоколом прямого доступа
к файлам ... Я могу и сам придумать, но если есть готовые решения ...

Mike 14th September 2006 11:33

Quote:

Originally Posted by fan
UART MIDI есть не просто UART , а UART передающий данные по мидишному протоколу . Тот товарищь делает именно мидишный интерфейс , а не что то иное (к томуже он использует однокристалку, а не отдельный чип).

Это СОВЕРШЕННО ОБЫЧНЫЙ UART. И ему всё равно, что передавать/принимать, MIDI-сообщения, с модемом работать или с мышкой. Все отличия миди-интерфейса только электрические и закличаются в соединении по токовой петле. Миди-интерфейс под COM-порт - это пара микрух рассыпухи.

fan 14th September 2006 12:31

Quote:

Originally Posted by Mike
Это СОВЕРШЕННО ОБЫЧНЫЙ UART. И ему всё равно, что передавать/принимать, MIDI-сообщения, с модемом работать или с мышкой. Все отличия миди-интерфейса только электрические и закличаются в соединении по токовой петле. Миди-интерфейс под COM-порт - это пара микрух рассыпухи.

Я уже не понимаю с чего спор пошёл %) Поэтому по пунктам -

На спеке никогда небыло "открытого" аппаратного UART , и темболее UART MIDI (Засекреченные и почившие в бозе вместе с софтом схемы не в счет).

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

Может обычный UART и можно заставить работать с чем угодно , но речь шла о конкретной реализации MIDI интерфейса выше упомянутым товаририщем . (Если у кого есть желание предложить свою конкретную рализацию MIDI интерфейса и писать под неё софт , то флаг в руки ;) , пока я вижу только одного :\ ).

Короче - спор вызван филосовским вопросом "теоритические и практические реализации" %) Практических небыло/почили в бозе , а теоритических я в данном случии не принимаю , ибо давно всё говорят , а до дела только сейчас дошло :( .

ASDT 14th September 2006 12:58

" рализацию MIDI интерфейса и писать под неё софт"
Т.е. главное не реализация, софт под неё ... Всё верно. :)

fan 14th September 2006 13:10

Quote:

Originally Posted by ASDT
Т.е. главное не реализация, софт под неё ... Всё верно.

Не будет стандартизированого железа , не будет софта :D Именно поэтому я настаиваю прежде всего на конкретной практической реализации , а не теоритической ;)

ASDT 14th September 2006 14:00

"прежде всего на конкретной практической реализации "
Поддерживаю! Как только будет реализация - будет "стандарт"

Mike 14th September 2006 16:08

Вообщем так:

На плате Caro есть сериальный порт ? Есть. Можно увеличить их количество до четырёх ? Явно можно. Потянет ли спек 4-е потока по 32.250 ? Не знаю, надеюсь на ответ. Можно ли дать этим портам электрическую совместимость с MIDI ? Даже не вопрос, таких схем полно и они примитивные. Вывод: если у спека хватит быстродействия, а я подозреваю, что хватит, то дело остаётся за софтом и будет обычный секвенсор. Разве это не рулез ? :) Путь он даже будет в трекерном виде.

Далее ещё интерестнее. Так как уже существуют промышленные миди-интерфейсы с подключением по сериальным и параллельным портам, то опять же дело остаётся за софтовой поддержкой.

Вот собственно и вся идея.

fan 14th September 2006 18:23

Quote:

Originally Posted by Mike
На плате Caro есть сериальный порт ?

Там уже "залоченная" однокристалка , и на мидишный протокол можно "переключиться" только путём изменения прошивки (сырков которой кстати нету).

Ronin 14th September 2006 19:16

Quote:

Originally Posted by Mike
Потянет ли спек 4-е потока по 32.250 ? Не знаю, надеюсь на ответ

калькулятор потерялся наверно :) 32250 бит/с * 4 = 129000 бит/с = 16125 байт/с
3500000 / 16125 = 217 тактов/байт... ну типа потянет еще и не столько :)

Quote:

Originally Posted by fan
Там уже "залоченная" однокристалка , и на мидишный протокол можно "переключиться" только путём изменения прошивки (сырков которой кстати нету).

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

зы// а чего не сделать внешний разчетверитель сериал порта. Камилевский контроллер вроде должен 115200 держать - каждому по 28800 достанеца. можно в этот разчетвиритель и всякие мидишные протоколы вшить, а в Спек он будет лить уже понятный только софтине поток (ну самим придумать какой).

ASDT 14th September 2006 19:39

Раз уж так ... Про бордюр ещё мнение отпишите ... :)

ZEK 14th September 2006 23:30

Quote:

Originally Posted by ASDT
Раз уж так ... Про бордюр ещё мнение отпишите ...

Это ты не подумавши сказал

fan 15th September 2006 01:58

Quote:

Originally Posted by ASDT
Раз уж так ... Про бордюр ещё мнение отпишите ...

ИМХО нужен .

ASDT 15th September 2006 04:09

"ИМХО нужен "
Если можно с примером. Т.е. такая прога ....

fan 15th September 2006 12:55

Quote:

Originally Posted by ASDT
Если можно с примером. Т.е. такая прога ....

Любая какая только может грузиться с патефона (точнее с любого аудио носителя) , ибо без бордюра трудно будет понять что происходит ;) (особенно когда юзаешь турбо загрузчики x4 ;) ).

Mike 15th September 2006 17:53

Quote:

Originally Posted by fan
Там уже "залоченная" однокристалка , и на мидишный протокол можно "переключиться" только путём изменения прошивки (сырков которой кстати нету).

Мидишный протокол к железу не какого отношения не имеет. Ничего там перепрошивать не надо. Тут только софт нужен.

Mike 15th September 2006 17:56

Quote:

Originally Posted by Ronin
зы// а чего не сделать внешний разчетверитель сериал порта. Камилевский контроллер вроде должен 115200 держать - каждому по 28800 достанеца. можно в этот разчетвиритель и всякие мидишные протоколы вшить, а в Спек он будет лить уже понятный только софтине поток (ну самим придумать какой).

Вполне разумно. Такой вариант давно уже применяют. Собственно это и есть сериальный миди-интерфейс, как у меня стоит. Единственно, что у меня по двум сериалам на восемь входов и восемь выходов с балансировкой траффика этих двух сериальных потоков. Хотя и на одном сериале тоже работает.

fan 15th September 2006 19:48

Quote:

Originally Posted by Mike
Мидишный протокол к железу не какого отношения не имеет.

Ну да , а скорость передачи сама какнить выстатся :v2_lol:

Mike 16th September 2006 18:53

Quote:

Originally Posted by fan
Ну да , а скорость передачи сама какнить выстатся :v2_lol:

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

fan 16th September 2006 21:44

Quote:

Originally Posted by Mike
Как софтина скажет, так будет.

Сэр , вы однако юморист :D У нас (т.е. на мультикарте by Caro) намертво залоченная однокристалка (сменить скорость можно только после изменения прошивки), а не отдельный UART чип которым можно вертеть как угодно .

Southern Bear 16th September 2006 21:54

Quote:

Originally Posted by fan
сменить скорость можно только после изменения прошивки

Очень сильно сомневаюсь. (#F8EF & #F9EF)

caro 16th September 2006 23:14

Quote:

Originally Posted by fan
Сэр , вы однако юморист :D У нас (т.е. на мультикарте by Caro) намертво залоченная однокристалка (сменить скорость можно только после изменения прошивки), а не отдельный UART чип которым можно вертеть как угодно .

Чип конечно не отдельный, но UARTом можно вертеть как угодно :)

В ZXMC эмулируется подключение к Спектруму
ISA-модема по схеме Кондратьева. Базовый
адрес портов модема со стороны Спектрума = F8EFh.
Скорость работы RS232 устанавливается точно
также, как и в IBM-ке установкой коэффициента
деления (КД) по такой схеме:
КД ---- Скорость
1 ------ 115200
2 ------ 57600
3 ------ 38400
4 ------ 28800
6 ------ 19200
12 ----- 9600
24 ----- 4800
48 ----- 2400
96 ----- 1200
192 ---- 600
и т.д.

Для установка скорости:
1) 7-ой бит порта FBEFh устанавливается в 1 (DLAB=1);
2) В порт F8EFh записывается младший байт КД;
3) в порт F9EFh записывается старший байт КД;
4) бит DLAB сбрасывается в 0.
Code:

SER_P    equ  0F8EFh
; 1) задать скорость = 19200 бод
        ld        bc,SER_P+3*100h
        ld        a,80h                ;DLAB=1
        out        (c),a                ;(FBEFh)=80h
        ld        b,SER_P/100h+1
        xor        a
        out        (c),a                ;(F9EFh)=00h
        dec        b
        ld        a,6                ;Divisor=6(19200)
                                ; 12(9600)
                                ; 24(4800)
                                ; 48(2400)
        out        (c), a                ;(F8EFh)=06h
        ld        b, SER_P/100h+3
        ld        a, 0                ;DLAB=0
        out        (c), a                ;(FBEFh)=0



All times are GMT +4. The time now is 17:40.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.