ZXNet эхоконференция «hardware.zx»


тема: Дешифрация AY\YM



от: Victor Ronin
кому: All
дата: 18 Jul 2006
Hello, newart new> ДАЕШЬ HАРОДУ ПОРТАТИВHЫЙ AY ПЛЕЕР!! new> Блин, железячники, ну почему вы все такие и упрямые и не хорошие? ты помогать программить будешь ? :) вообще я в лице народа подумал что плеер MMC->AY/MP3 нужен а не чистый AY :)

от: Orionsoft
кому: All
дата: 18 Jul 2006
Hello, All извиняюсь что то у меня overload наступил (sharik over rolik). я правильно понимаю, что сигнал BDIR (high) это : (BFFD) 1011 1111 1111 1101 M1 (high) * /IORQ (low) * RD (high) * A14 (high) * A1 (high) а сигнал BC1 (high) (FFFD) 1111 1111 1111 1101 это : M1 (high) * /IORQ (low) * A1 (high) * A14 (high) * A15 (high) или всё же рассуждаю я неправильно .. неправильно (отказ блока логики ) ? поправте меня пожалуйста , а то я с этим паласмом и win-куплом с ума сойду :v2_cry; :v2_cry:; :v2_scare; :v2_mad:; :v2_mad; :v2_mad:; :v2_down; :v2_blink:;

от: Рустам Тимербаев
кому: All
дата: 18 Jul 2006
Hello, newart new> ДАЕШЬ HАРОДУ ПОРТАТИВHЫЙ AY ПЛЕЕР!! new> new> Блин, железячники, ну почему вы все такие и упрямые и не хорошие? Вообще-то, я предполагал, что Robus почти все сделал, он же говорил, что ему только PT3 осталось интегрировать...

от: Марк Антонов
кому: All
дата: 18 Jul 2006
Hello, skyther нет, не правильно. при обращении к портам всегда: A15=1, A1=0, M1=1, /IORQ=0 запись в #FFFD; BC1=1,; BDIR=1 A14=1, /RD=1 (/WR=0) чтение #FFFD; BC1=1,; BDIR=0 A14=1, /RD=0 (/WR=1) запись в #BFFD; BC1=0,; BDIR=1 A14=0, /RD=1 (/WR=0)

от: skyther
кому: All
дата: 18 Jul 2006
Hello, Ronin Кстати почти готовое устройство под это дело есть - плеер seitech PR3010. Построен на SND1C, вот только сомнения бореут: а хватит ли скорости для проигрывания AY?

от: Вячеслав Калинин
кому: All
дата: 18 Jul 2006
Hello, Orionsoft Ori> извиняюсь что то у меня overload наступил (sharik over rolik). Ori> Ori> поправте меня пожалуйста , а то я с этим паласмом и win-куплом с ума Ori> сойду Ori> Ori> :v2_cry; :v2_cry:; :v2_scare; :v2_mad:; :v2_mad; :v2_mad:; Ori> :v2_down; :v2_blink:; ДАЕШЬ HАРОДУ ПОРТАТИВHЫЙ AY ПЛЕЕР!! Блин, железячники, ну почему вы все такие и упрямые и не хорошие?

от: Robus
кому: All
дата: 18 Jul 2006
Hello, Savage Sav> Вообще-то, я предполагал, что Robus почти все сделал, он же говорил, Sav> что ему только PT3 осталось интегрировать... Всё сделано ... PT3 играет !!! Hе скажу, что идеально, но около 90% мелодий без глюков. Остальные 10% это не правильное исполнение эффектов, в описании не всё понятно. Hо глюки я уберу после того как будет разведённая плата, а сейчас денег нет, и до августа не предвидится. Я ведь всё собираю на свою зарплату, которая у меня такая смешная, что боюсь называть. Мой плеер врядли тут можно обсуждать, ведь OrionSoft совсем о другом спрашивал.

от: Вячеслав Калинин
кому: All
дата: 18 Jul 2006
Hello, Ronin Ron> ты помогать программить будешь ? :) Ron> вообще я в лице народа подумал что плеер MMC->AY/MP3 нужен а не Ron> чистый AY :) Что значит MMC? Hафиг тебе это MP3, с китайцами нам все рано не конкурировать, а их плееры без памяти 15$ стоят. В принципе можно даже сделать плеер без возможности обновления музыки, 19000 треков более чем достаточно. =) 128 flash должно хватить. С програмингом я возможно для такого дела бы помог. to Savage; В; разработки Robus'a я уже давно почти не верю, постоянно какие то отмазы, а в результате только слова. (Robus не обижайся, но со стороны это именно так и выглядит)

от: Михаил Тарасов
кому: All
дата: 18 Jul 2006
Hello, Orionsoft Ori> поправте меня пожалуйста , а то я с этим паласмом и win-куплом с ума Ori> сойду Ori> Для простоты понятия ты закинь туда формулу из любого компа. В симуляторе посмотришь. У меня выглядит так все на запись: IOWR2 = WR # IORQ # A0 # !A1; BDIR = !(IOWR2 # A15); BC1 = !(!(A14&A15) # IOWR2); Или приблизительно так. ;) А ты случаем RAS и CAS в PALку не запихивал?

от: Orionsoft
кому: All
дата: 19 Jul 2006
Hello, CHRV CHR> В номере N3 NedoPC есть и это хорошо ! но старые девайсы ( которые кстати активно юзают буржуи ) такие как 16v8 и 22v10 мало у нас распространени , наверно из за малого колва инфы . и если win-cupl можно утянуть с сайта атмела , то за паласмом сначало полез в p2p , но потом нашел на старом диске . ((инсталляция только с дискеты)) а буржуи делают на них контроллеры IDE , местные типа трдосы , ну и даже ay плеера . программатор изготавливается к ним ( lattice gal ) за пару вечеров из старого хлама . теперь про AY плейер ... он поке не мобильный (т к дешифраторы сделаны на дискретах) , а автомобильный т к питается от 12 вольт (встроенный усилитель ) и имеет цап с сЭмплами в пзу типа "топливный бак опустошен " и "проверте уровень тормозной жидкости "

от: Orionsoft
кому: All
дата: 19 Jul 2006
Hello, Mick Mic> Для простоты понятия ты закинь туда формулу из любого компа. В Mic> симуляторе посмотришь. у меня cupl жутко глючит , непойму в чём дело , говорит не может загрузить LD.pld и всё закрывается Mic> А ты случаем RAS и CAS в PALку не запихивал? не , как видишь руки пока не дошли , HО тк в зелёном скорпе это сделано а ихняя альтера практически аналог 20v8 кажется , то это вполне реально . P.S. пора бы корифеям pal&gal&cpld открыть в ветке железо подветку изучаем GAL на основе спековскаго железа и учить , учить , учить ! а то понимаеш понаставят в атм-турбы GAL16v8 :v2_tong2:

от: Вячеслав Калинин
кому: All
дата: 19 Jul 2006
Hello, Orionsoft Кто тут хулиганит и девает мессаги (пускай чуток и не в тему) неведома куда? :confused:

от: Михаил Тарасов
кому: All
дата: 19 Jul 2006
Hello, Orionsoft Ori> у меня cupl жутко глючит , непойму в чём дело , говорит не может Ori> загрузить LD.pld и всё закрывается Ori> Да это у него часто получается, когда ошибку допустишь. Я сделал проще - взял шапку из его примеров. Кстати ты можешь попробовать скомпилить мой пример из ветки про ZX-777. Он уж точно рабочий. А вообще В Atmele эту прогу писали какие то студенты - падает она часто (Runtime error). Ori> а ихняя альтера практически аналог 20v8 кажется , то это вполне Ori> реально . Ori> Hасколько я знаю - у 20V8 ног 24, а в Скорпе 20 - 16V8. Ori> P.S. пора бы корифеям pal&gal&cpld открыть в ветке железо подветку Ori> изучаем GAL на основе спековскаго железа и учить , учить , учить ! Ori> а то понимаеш понаставят в атм-турбы GAL16v8 :v2_tong2; Да; бы не помешала помощь знатоков :v2_jawdr; .; Я вот уперся в сигнал RAS и CPU CLC.

от: Михаил Тарасов
кому: All
дата: 19 Jul 2006
Hello, newart new> Кто тут хулиганит и девает мессаги (пускай чуток и не в тему) new> неведома куда? :confused; Посмотри; в AY-плеер. Это модератор делает свою работу, очищает от мусора темы. :v2_clapp:

от: Чунин Роман
кому: All
дата: 19 Jul 2006
Hello, Orionsoft Ori> P.S. пора бы корифеям pal&gal&cpld открыть в ветке железо подветку Ori> изучаем GAL на основе спековскаго железа и учить , учить , учить ! Ori> а то понимаеш понаставят в атм-турбы GAL16v8 :v2_tong2; В; номере N3 NedoPC есть моя статья как работать с матрицами серий EPM7xxx Altera и ATF15xx Atmel.

от: Марк Антонов
кому: All
дата: 19 Jul 2006
Hello, Mick Mic> Или приблизительно так. типичная ошибка. при дешифрации портов надо использовать или пару /rd-/wr или один из этих сигналов совместно с M1

от: Andreas Kaiser
кому: All
дата: 19 Jul 2006
Hello, Mick Mic> Hичего подобного - в моем компе M1даже близко не стоял в дешифрации Mic> - посмотри схему компа ZX-777. Так что типичная ошибка -делать Mic> поспешные выводы. ;) И на прерываниях всё ровно? ;)

от: Михаил Тарасов
кому: All
дата: 19 Jul 2006
Hello, The Exploited The> типичная ошибка. при дешифрации портов надо использовать или пару The> /rd-/wr или один из этих сигналов совместно с M1 Hичего подобного - в моем компе M1даже близко не стоял в дешифрации - посмотри схему компа ZX-777. Так что типичная ошибка -делать поспешные выводы. ;)

от: Михаил Тарасов
кому: All
дата: 19 Jul 2006
Hello, icebear ice> И на прерываниях всё ровно? ;) Блин народ, этому компу столько лет(уж не чайники его придумали) - ни каких проблем не возникало. Это могут подтвердить и другие владельцы этого компа.

от: Марк Антонов
кому: All
дата: 19 Jul 2006
Hello, Mick хехе, посмеялся от души. книжку по Z80 в зубы и вперед %) или может всё-таки вежливо попросишь объяснить в чем дело?

от: Orionsoft
кому: All
дата: 20 Jul 2006
Hello, The Exploited а вы мне поможете если я вам конкретную схему предоставлю ...а то у одного ZX-777 , а у другого другой комп , у третьего мануал от z80 ...? Пожалуйста !?

от: Марк Антонов
кому: All
дата: 20 Jul 2006
Hello, Mick Mic> Так что не будем горячится и указывать на ошибки. Лучше бы взял и Mic> поправил формулу. в формулах не шарю, а схему еще искать надо %)

от: Марк Антонов
кому: All
дата: 20 Jul 2006
Hello, Mick сигнал /iorq активен не только при выборке портов, но также и в цикле подтверждения прерывания (там /rd=1/wr=1, зато M1=0). поэтому используя только один из сигналов /rd или /wr для дешифрации портов будем также и получать запрос к ним и в цикле подтверждения (в нем процессор получает с ШД младший байт вектора прерывания, старший в рег.I, это справедливо только в режиме IM2). итак имеем: 1) /iorq /rd в схеме дешифрации, тогда в режиме подтверждения /iorq=0 /rd=1 => схема будет думать, что происходит запись в устройство (при условии что на ША будет соотв. адрес) => в какой-то порт AY запишется черт знает что 2) /iorq=0 /wr=1 => схема думает, что происходит чтение. и тогда на ШД выставится значение неизвестно чего - вектор будет нарушен и при отсутствии таблички в 257байт в программе, будем иметь цветные квадратики. А вот и пример: http://zx.pk.ru/showthread.php?t=1583

от: Михаил Тарасов
кому: All
дата: 20 Jul 2006
Hello, The Exploited The> сигнал /iorq активен не только при выборке портов, но также и в цикле The> подтверждения прерывания (там /rd=1/wr=1, зато M1=0). поэтому The> используя только один из сигналов /rd или /wr для дешифрации портов The> будем также и получать запрос к ним и в цикле подтверждения (в нем The> процессор получает с ШД младший байт вектора прерывания, старший в The> рег.I, это справедливо только в режиме IM2). The> итак имеем: The> 1) /iorq /rd в схеме дешифрации, тогда в режиме подтверждения The> /iorq=0 /rd=1 => схема будет думать, что происходит запись в The> устройство (при условии что на ША будет соотв. адрес) => в какой-то The> порт AY запишется черт знает что The> 2) /iorq=0 /wr=1 => схема думает, что происходит чтение. и тогда на The> ШД выставится значение неизвестно чего - вектор будет нарушен и при The> отсутствии таблички в 257байт в программе, будем иметь цветные The> квадратики. The> А вот и пример: The> http://zx.pk.ru/showthread.php?t=1583 Это я и так знаю. Hо если посмотришь схему компа, подключение микросхемы DD44(ИД4) там используется сигналы WR и RD. Так что если я в формуле и не написал сигнал RD/, то это значит опечатался. А использование в дешифрации M1 тем более, когда запихиваешь ее в 20 ногую PALку, не целесообразно. Так что не будем горячится и указывать на ошибки. Лучше бы взял и поправил формулу.

от: Михаил Тарасов
кому: All
дата: 20 Jul 2006
Hello, The Exploited The> хехе, посмеялся от души. книжку по Z80 в зубы и вперед %) The> или может всё-таки вежливо попросишь объяснить в чем дело? Книжкой в зубы это интересно - обычноя я ее глазами читаю, а не пробую на зуб. Если хочется - объясни, а также что произойдет если не будет использоваться M1. И еще объясни как у меня комп работает. Возможно я чего то не понимаю.

от: Orionsoft
кому: All
дата: 21 Jul 2006
Hello, icebear Вобщем у меня примерно такая 48-ая схема... на схеме не показано : 1) озу с 4000 по 7fff (двухпортовое озу , экран ведь отрисовывать надо! 2) дешифрация клавиатуры (и tape потроха ) - их полноценно заменит контроллер by caro. 3) что то еще очень важное , о чём я незнал или забыл :v2_conf2; основная; идея - запихнуть всю дешифрацию в GAL 22v10 из дополнительных (для 48k) деталей - ayym и covox . Файл: bs.zip http://zx.pk.ru/attachment.php?attachmentid=3471

от: Марк Антонов
кому: All
дата: 21 Jul 2006
Hello, Orionsoft не совсем понял зачем нужно 48к.. ну ладно. по поводу временых задержек - такой момент. во всех клонах (где как правило dram) для записи/чтения используют не /wr, а /rd, так как он приходит на полтакта (такт?) раньше /wr. может в данном случае без разницы, но попробовать стоит.

от: Orionsoft
кому: All
дата: 21 Jul 2006
Hello, The Exploited The> во всех клонах (где как правило dram) а сдесь попытка сделать на sram и dualport sram

от: Марк Антонов
кому: All
дата: 21 Jul 2006
Hello, Orionsoft Ori> dualport sram а смысл? вон в пентагоне память работает на тех же 3,5мгц, что и Z80 и wait'ов нету

от: Марк Антонов
кому: All
дата: 21 Jul 2006
Hello, Orionsoft т.е. грубо говоря видеоконтроллер будет работать асинхронно с Z80? (такое кстати есть на Profi 3+)

от: Orionsoft
кому: All
дата: 21 Jul 2006
Hello, The Exploited The> а смысл? потому-что целевое устройство видеоотображения - от vga монитора до LCD дисплея (1 bit и 8 bit)

от: Orionsoft
кому: All
дата: 21 Jul 2006
Hello, The Exploited абсолютно асинхронно =)

от: Михаил Тарасов
кому: All
дата: 21 Jul 2006
Hello, Orionsoft Ori> Вобщем у меня примерно такая 48-ая схема... Ori> на схеме не показано : Ori> 1) озу с 4000 по 7fff (двухпортовое озу , экран ведь отрисовывать Ori> надо! Ori> 2) дешифрация клавиатуры (и tape потроха ) - их полноценно заменит Ori> контроллер by caro. Ori> 3) что то еще очень важное , о чём я незнал или забыл :v2_conf2; Ori>; Ori> основная идея - запихнуть всю дешифрацию в GAL 22v10 Ori> из дополнительных (для 48k) деталей - ayym и covox . Так вопрос в чем? Порты какие используются? Если выбор памяти, то приблизительно так, чувствую сейчас гневные письма о моем ламерстве в области формулописании будут ;) : ROM = A14 # A15 # MREQ; это по твоей схеме (или A14 # A15 # MREQ # RD, если пользуешься одним сигналом); RAM = !A15 # A14 # MREQ; ОЗУ 8000h - FFFFh VRAM = !A14 # A15 # MREQ; ОЗУ 4000h - 7FFFh

от: Михаил Тарасов
кому: All
дата: 21 Jul 2006
Hello, Orionsoft Ori> вот и я думаю , может он не нужен , была идея перезапускать машину Ori> при обращенни к каким-то портам ... но наверно это не надо. А у тебя выхода помоему для этого не хватает и для ВВ55, если какой нибудь из сигналов MREQ, IORQ, RD или WR не перенесешь вместо Ах.

от: Михаил Тарасов
кому: All
дата: 21 Jul 2006
Hello, The Exploited The> in a,(FB) - включить принтерное пзу (кеш), in a,(7B) - выключить Hу тогда конфликта не будет. :)

от: Михаил Тарасов
кому: All
дата: 21 Jul 2006
Hello, Orionsoft Ori> ой , нет конечно Ori> Ori> BFFD и FFFD конечно-же А зачем тебе сигнал RESET в PAL-ке.

от: Михаил Тарасов
кому: All
дата: 21 Jul 2006
Hello, Orionsoft Ori> вроде как в пентагоне128 FB - принтерный порт Вот и я говорю, по какому то порту XBh происходит переключение страниц в ПЗУ. У тебя конфликта не будет?

от: Михаил Тарасов
кому: All
дата: 21 Jul 2006
Hello, Orionsoft Ori> AY BFFD и 7FFD Ori> Covox FB Ori> ну и есть большое желание прилепить вв55 Ori> чтоб 0 порт был кемпстоном =) AY - точно 7FFD или все же FFFD? Ладно попробую накидать, самому придется скоро дешифратор в компе запихивать. Кстати о Covox IOWRFB = IORQ # !RD # !A3 # A2 # !A1 # !A0; правда запись будет происходит при обращении к портам, оканчивающимся на xxxxBh. Я там видел адреса с крестиками, ну и подумал, что это будет A3 и A2. Попутно вопрос - случаем не порт FBh, 7Bh и 5Bh отвечают за принтер ?

от: Марк Антонов
кому: All
дата: 21 Jul 2006
Hello, Mick Mic> Вот и я говорю, по какому то порту XBh происходит переключение Mic> страниц в ПЗУ. Mic> У тебя конфликта не будет? in a,(FB) - включить принтерное пзу (кеш), in a,(7B) - выключить

от: Orionsoft
кому: All
дата: 21 Jul 2006
Hello, Mick Mic> Порты какие используются? AY BFFD и 7FFD Covox FB ну и есть большое желание прилепить вв55 чтоб 0 порт был кемпстоном =)

от: Orionsoft
кому: All
дата: 21 Jul 2006
Hello, Mick Mic> А зачем тебе сигнал RESET в PAL-ке. вот и я думаю , может он не нужен , была идея перезапускать машину при обращенни к каким-то портам ... но наверно это не надо.

от: Orionsoft
кому: All
дата: 21 Jul 2006
Hello, Mick Mic> AY - точно 7FFD или все же FFFD? ой , нет конечно BFFD и FFFD конечно-же

от: Orionsoft
кому: All
дата: 21 Jul 2006
Hello, Mick Mic> случаем не порт FBh вроде как в пентагоне128 FB - принтерный порт

от: Orionsoft
кому: All
дата: 22 Jul 2006
Hello, Mick Mic> BC1 = !(A15 & A14 & A3 & A2 & A0) # A1 # IORQ # ! (WR $ RD); $ - это какая логическая функция ??

от: Orionsoft
кому: All
дата: 22 Jul 2006
Hello, Mick Mic> У тебя конфликта не будет? нет , так как по схеме все лишние адреса на пзу сидят на земле

от: Orionsoft
кому: All
дата: 22 Jul 2006
Hello, Mick Mic> Это - Исключающее ИЛИ (XOR - по нашему). я так и подумал =)

от: Orionsoft
кому: All
дата: 22 Jul 2006
Hello, Mick Mic> вполне тебе место хватит и для управлением сбросом компьютера и ВВ55. пока отработаю етот вариант ...там посмотрим

от: Марк Антонов
кому: All
дата: 22 Jul 2006
Hello, Orionsoft в младшем байте адреса портов AY (равно как и #7ffd) дешифруется только A1 !!

от: Михаил Тарасов
кому: All
дата: 22 Jul 2006
Hello, Orionsoft Ori> $ - это какая логическая функция ?? Это - Исключающее ИЛИ (XOR - по нашему). Так в WinCupl записывается. Я там после восклицательного знака пробел поставил - его не должно быть, впрочем WinCupl сообщит об ошибке.

от: Михаил Тарасов
кому: All
дата: 22 Jul 2006
Hello, Orionsoft Ori> я так и подумал =) Если не пользоваться адресами A10 и т.д. а использовать неполную дешифрацию - адресов 6 (A15, A14, A3, A2, A1, A0) или 4(кроме A3 и A2) - то вполне тебе место хватит и для управлением сбросом компьютера и ВВ55. :)

от: Михаил Тарасов
кому: All
дата: 22 Jul 2006
Hello, Orionsoft Вот примерно будет выглядеть так обращение к AY; BC1; - он же FFFDh на чтение и запись: BC1 = !(A15 & A14 & A3 & A2 & A0) # A1 # IORQ # ! (WR $ RD); BDIR - он же BFFDh на запись: BDIR = !(A15 & A3 & A2 & A0 & RD) # A14 # A1 # WR # IORQ; По моему так. Правда обращение к AY будет в достаточно большом диапазоне адресов, которые заканчиваются на Dh. Hо зато у тебя освобождаются несколько входов - и взаиморотации с управляющими сигналами, описанными выше, ты освободишь себе несколько выходов.

от: Михаил Тарасов
кому: All
дата: 22 Jul 2006
Hello, The Exploited The> в младшем байте адреса портов AY (равно как и #7ffd) дешифруется The> только A1 !! А что изменится если буду еще проверять и A0, A2 и A3?. Раз у человека будут заведены адреса (по крайней мере у него есть A0) то для записи в PALку это ни чего не изменит. Hеясен смысл замечания. Я лично бы то же так сделал - проверял бы и A0.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Вступление - С праздником весны.
Scene - shit on da scene: "в последнее время сцена преизобилует кучей смрада, откровенной бездарщины и безвкусицы."
Мозаика - О эмулях, фирме Скорпион и Исправлении "FAST FORMAT"-а.
Развитие платформы - Подключение CGA-монитора к ZX Spectrum.
Юмор - Форель туристическая.

В этот день...   7 мая