Так он до ret m не доходит. Там чуть-чуть до reti, на нём и выходит.
Вид для печати
ret m это когда из обработчика выйдет. В общем причина понятна. Дело в процессоре и формирователе инта на DD53. Сейчас проверил на пентеве простенькую программку:
Все это выполняется при включенных прерываниях, а обработчик прерываний меняет цвет бордюра. В эмуляторе бордюр постоянно мигает, на реале цвет меняется где-то раз в 10-15 секунд. То есть во время выполнения команды LD A,R прерывание не срабатывает. А на КАЕ длительность ИНТа 2 цикла M1 и он не срабатывает в цикле LD A,R:RET M:JR $-3Код:LOOP: DUP 10000
LD A,R
EDUP
JP LOOP
а должна быть 1, если прерывания разрешены. Похоже исправили очень просто - команды не реагируют на прерывание.Цитата:
If an interrupt occurs during execution of this instruction, the parity flag contains a 0
Blade, ну вот и разобрались. :)
Сделал пропатченную прошивку КАЯ. Это идея VELESOFT'та по обезглючиванию команды LIST в TR-DOS'е. Всё подробно расписано вот тут. Использовал вариант патча by savelij.
Прошивка сделана на положение перемычки JP5 в 10-11.
#0000- #3FFF Basic 128
#4000- #7FFF Basic 48 (HL' patch)
#8000- #BFFF Service KRAMIS v.03
#C000- #FFFF TR-DOS v5.04T (HL' patch)
Так же пропатчен BASIC_48 таким же VELESOFT'овским патчем (на всякий случай).
Прошивка проверена, всё работает офигенно! Командой LIST теперь можно пользоваться безбоязненно, прерывая её в любом месте и без проблем выходя по RETURN. Прошивка в аттаче.Цитата:
All this ZX ROMS contain patch for refresh value of register HL' after return from machine code to ZX rom. With this patched roms work all tr-dos versions correct.(after break LIST command ZX don't crash after command RETURN).
PATCH IN ZX ROMS:
ORG #2D34
CALL PATCH
ORG #3C97 ;(adress can be different on some ZX roms)
PATCH
EXX
LD HL,#2758
EXX
JP #2AB6
Может будут у кого мысли.
Игра сразу после полной загрузки (мигнул красный бордер) сбрасывается в BASIC_48 (или через некоторое время). Только при включенном TURBO и на недавно включенном компе (холодный). Если выключить TURBO, то нет никаких проблем даже на холодном компе. Комп сбрасывается на участке кода, который ожидает PRESS ANY KEY. Выяснилось с помощью ТЕНЕВИКА.
Вот код.
В остальном комп работает исключительно надёжно.Цитата:
LOOP: EI
HALT
XOR A
IN A,(#FE)
CPL
AND #1F
JR NZ, LOOP
Были мысли, что встроенный контроллер PS/2-клавы всё-таки генерит в этом случае и при включенном TURBO кучу WAIT'ов, хотя залита безвейтовая прошивка v1.3 и это как-то заглючивает комп, но сегодня отключил ps/2-клаву и подключил механическую (caro говорит, что если клава не подключена к контроллеру, то он полностью отключается от схемы и не оказывает ни какого влияния), но комп всё равно сбросился. Если комп прогревается, то при включенной ТУРБО, время до сброса значительно увеличивается.
goodboy, не, это не оно. У меня всё запускается из CONVER COMMANDER, а там я сделал RES 4,(IY+1). Хотя проверил, конечно. Всё равно сбрасывается в ТУРБО.
Нужен совет.
Вчера КАЙ сглючил и ужЕ не первый раз. При нажатии на РЕЗЕТ, ПРОФ-РОМ начал очень не стабильно загружаться. У меня ПРОФ-РОМ доработан так и так. Т.е. при РЕЗЕТ у меня начинало то грузился ПРОФ-РОМ, то стандартная прошивка КАЯ, вне зависимости от положения переключателя. В какой-то момент ПРОФ-РОМ вообще перестал загружаться. Разобрал комп, Вытащил платку с ПРОФ-РОМ и вот что увидел. При включении на экране матрас, НО по нему мельтешат помехи в виде красных знакомест и пикселей. Что-то твориться на шине данных. Выключаю ТУРБО и помехи пропадают. Полностью вынимаю все платы расширения из компа (даже вытащил AY из панельки) - 0 на массу, всё тоже самое.Ну может чуть меньше. Замеряю питание на МС в компе - 4.87В (или 4.78В, уже не помню) - маловато вроде. Пытаюсь слегка деформировать плату в разных местах для выявления возможного неконтакта - безрезультатно. Зажимаю в руке одножильный провод и начинаю тыкать его на выводы панельки ПЗУ, отвечающие за шину данный. Только дотрагиваюсь до D7 как матрас заливает красным, на D6 чуть меньше. Были ещё два разряда, которые давали такой же эффект, но менее заметно. Разряду D5, к примеру, было вообще пофиг на подключение проводника - матрас не менялся. Отзвонил резисторную матрицу, подтягивающую ШД на +5В (она у меня на 10 кОм) - обрывов резисторов нет. В какой-то момент опять включил питание и глюк практически пропал. Поставил обратно платку ПРОФ-РОМ - комп нормально загрузился. Замеряю напряжение на в компе - чуть выросло, стало почти ровно +5В. Опять загрузил комп платами - замечательно работает.
Что это было и в чём возможная причина? Или БП (ATX) дурИт и иногда выдаёт чуть заниженную напругу от которой комп начинает не стабильно работать, или надо уменьшить номинал резисторной матрицы, подтягивающую ШД. Поставить туда 4.7 кОм.
Какие будут ещё мысли?
p.s. Тест стабильности ШД by Ковалевский может работать весь день без единого сбоя.
В ТУРБО-режиме глючат только разряды D7-D6 (сильно) и D1-D2 (слабо). Достаточно подтянуть их к +5В резистором на 5 - 6.8 кОм (сейчас 10 кОм) и глюки пропадают. Надо будет как-нить матрицу целиком поменять.
p.s. Чуть не спалил весь комп из-за неправильно вставленной платы ГС - не в ту сторону её сместил относительно 1-го контакта (плата под 30-ти-ламельный разъём). Завоняло палёным, но быстро отключил питание. Вроде пронесло - всё работает. Скорее всего, начал подгорать печатный проводник на плате КАЯ.
Так и есть. Вот последствия. Сгорел проводник +12В к слоту с ГС. Всё работает, даже ВГ93 не пострадала.
http://photo.qip.ru/photo/softfelix/.../101866731.jpg
http://photo.qip.ru/photo/softfelix/.../101866738.jpg
Восстановлю проводник и заодно поменяю подтяжку ШД на 4.7 кОм. Не слишком мало будет? К сожалению, есть матрицы только такого номинала. Туда бы 6.8 кОм - 7.5 кОм - 8.2 кОм, но таких нет, а на дискретных не хочется.
Блин, вся проблема была из-за сломавшегося китайского переключателя. Подвижный контакт внутри вообще не переключался. Из-за этого адресный вход старшего разряда флешки висел в воздухе и собирал от длинного провода к переключателю все наводки.
http://lib.chipdip.ru/153/DOC000153045.jpg
А матрицу на Шине Данных заменил на 4.7 кОм. Теперь в ТУРБО-режиме при вытащенной ПЗУ на матрасе нет ряби.
Что-то тема про KAY совсем заглохла, поэтому Оп-ля вуаля!
Ля ля ля. Я свой еще собираю.
Будет ли осуществляться производство сих плат?
Апну темку.
Напишу сюда, ибо, к сожалению, отдельной темы конкретно по Z-CONTROLER'у нет, а тут он применяется совместно КАЙем.
Допаял сегодня полностью Z-CONTROLLER. Делался он долго и мучительно - почти год. Уж больно дефицитная комплектуха оказалась для него. Но спасибо zorel'у за плату ("Набор платок для апгрейда") и комплектующие (вот только недавно получил запрограммированную КР1878ВЕ1 и слот для SD-карты). EPM7128 любезно презентовал Ewgeny7.
http://photo.qip.ru/photo/softfelix/.../102985733.jpg
http://photo.qip.ru/photo/softfelix/.../102985750.jpg
Сперва думал, что плата не работает, но всё дело оказалось приоритете слотов КАЯ. Очень важно, что бы плата SMUC'а имела приоритет (по слотам) выше, чем плата Z-CONTROLLER'а, иначе SMUC не детектится. Короче, плата замечательно заработала в КАЕ. Проверил PS/2-клаву, NEMO-IDE и SD-карту - всё работает. Даже странно, ибо были большие сомнения в работоспособности К561КТ3. Забыл проверить мышь, ну да ладно, потом как-нить... (проверил - мышь тоже работает). Вот что ещё вспомнил: нужно обязательно отключить PS/2-клаву от интегрированного в КАЙ контроллера на ATMega48! Прошивка для ATMega должна быть последняя - v1.3, с полным отключением контроллера от схемы при не подключенной клавиатуре.
В процессе проверки...
http://photo.qip.ru/photo/softfelix/.../102985715.jpg
http://photo.qip.ru/photo/softfelix/.../102985716.jpg
http://photo.qip.ru/photo/softfelix/.../102985723.jpg
К сожалению, плата вряд ли приживётся в моём КАЕ, т.к. плата NEMO-IDE есть и работает плата ZXMC2. В Z-CONTROLLER'е был бы интересен интерфейс SD-карты.
p.s. Купил тут в нашей Микронике, по случаю, одну КР1818ВГ93 (чуть более 50-ти рублей, завод - буква Э). Так вот эта МС работает значительно лучше в ТУРБО-режиме (7MHz) в FUT'е и с 3.5'-дисководом ALPS.
http://ru.pc-history.com/wp-content/...r_181_vg93.jpg
Ранее стояла КР1818ВГ93 заводом "диодик в кружкЕ", но она почти всегда выдавала No disk в FUT'е на дисководе ALPS при включенном TURBO.
http://strelax.users.photofile.ru/ph.../165662340.jpg
p.p.s. Скоро буду дублировать печатные проводники питания +5В и GND на плате КАЕ дополнительными медными проводниками. Из-за заполненности всех слотов КАЯ дополнительными платами, на отдельных микросхемах платы напруга падает до +4.72В - в ТУРБО-режиме плата иногда подглючивает.
Вот этот глюк немного локализовал. Если из слота КАЯ XS6 (самый высокий приоритет) удалить "ёлку" ZX-BUS_TEE с воткнутыми в неё ZXMC2 и GS, то на холодном компе в ТУРБО всё работает нормально - ничего не сбрасывается.
Что ещё обнаружилось. Есть сборник DIZZY 1...7, где заставки-картинки подгружаются по any key. Так при холодном компе эти any key нажимаются сами - всё прогружается само без единого нажатия на клаву и затем игра сбрасывается.
Есть пока только одна мысль. ZX-BUS_TEE с ZXMC2 и GS (+в нём платка на 2МБ) даёт приличную просадку +5В на плате КАЯ около слота XS6. Из-за этого в ТУРБО что-то начинает подглючивать пока комп не прогреется. Если при загрузке игры создаётся впечатление, что сами нажимаются кнопки - может так подглючивать встроенный контроллер клавы на ATMega48?
у меня на профи поведение zxmc2 в случае ожидания нажатия "эни кея", так же само как будто "нажимается" в турбо режиме.
и именно "эни кея", а когда конкретные клавиши опрашиваются, то норм всё работает.
может Камилю написать?
---------- Post added at 02:00 ---------- Previous post was at 01:55 ----------
Кстати, у меня срабатывает только сам "эни кей".
потом после загрузки игры норм идут.
Вот-вот, у меня тоже самое!
Отпишусь в тему по ZXMC. Как-никак, ужЕ у двоих такое наблюдается.
Вставлял в ёлку ZX-BUS_TEE только ZXMC2 - холодный комп тоже сбрасывается, но чуть реже, чем вместе с GS. Видимо, дело действительно в ZXMC2. Может она так кучу /WAIT'ов генерит? А с прогревом компа у тебя эти глюки не уходят? У меня минут 10...15 комп поработает и эни-кей перестаёт срабатывать в ТУРБО.
Вобщем щас проверил..
И на холодном компе и на прогретом, поведение одинаково.
Грел полтора часа.
Подумываю переразвести контроллер дисковода от Кая, чтобы работал не только на нем.
1. Пробовал подключить к LENINGRAD-2012. Без доработки платы компьютера не заработал. Причина - нестандартное использование сигнала WAIT в контроллере дисковода. (http://www.zx.pk.ru/showthread.php?p=514490#post514490)
2. Можно добавить на плату микросхемку DC-DC 05V->12V.
3. Можно добавить стандартный генератор 8 МГц вместо странной схемы.
4. Уточнить серии микросхем логики - а то тут такой ералаш.
...
У кого есть идеи по доработке платы на основе собственного опыта эксплуатации ?
zst, так мы это год назад обсуждали :) :http://zx-pk.ru/showpost.php?p=513037&postcount=1154. И далее по топику. В принципе, добавить нечего. Если сильно ковырнуть схемотехнику, то это ужЕ будет не НЕМО-FDC.
Доработка на ЛЕ4.
Там ток нужен около 20 мА. Можно взять узел из Скорпиона.
Подскажите на что можно заменить DD38,DD52 К(Р)1533ИР22 (DIP-20)
Мне zst прислал обе нерабочие.
В магазинах 1533 серии нет (ну разве что под заказ 3-4 нед.), могу выбрать из 533, К555, КР531.
У неё корпус - планар, да и дорогущая, наверное (желтая).
Должна быть быстрая. Сюда бы КР1533... Можно поставить КР531, но прямо на её выводы питания надо повесить блокировочный конденсатор. И греться она будет довольно сильно. Только на неё ещё сверху должна напаиваться ИР23 для порта FF.
А эту наоборот лучше использовать К555. Она работает на порт принтера (внешний разъём) и предполагает нагрузку на довольно длинный кабель, а как выяснилось, 555-ая серия так работает надёжней (тот же НЕМО-ИДЕ, работа на плоский шлейф).
Для Beta Turbo есть доработка, где напаивается бутербродом ЛЕ4, так вот у нее остается 1 неиспользованный элемент. По схеме все выводы висят в воздухе. Это же запрещено? По ПДФам входы напрямую кидаются на +5в, а что с выходом делать не описано.
Или оставить как есть в воздухе?
Накопилось еще несколько вопросов.
1. Beta Turbo надеюсь не многослойная плата? А то я там дырку просверлил в месте где нет дорожек с обеих сторон.
2. Можно так провода проводить?, я их уложил вплотную и параллельно к резисторной сборке чтоб не болтались
http://s3.hostingkartinok.com/upload...59c70ae8ca.pnghttp://s6.hostingkartinok.com/upload...38e0dabe63.png
3. Совместима ли модифкация ЛЕ4 с той что в пдф с диодом для СБРОСа? Я делал как у алекса немо на фото, с диодом, резистором и джампером, а потом уже на ЛЕ4 наткнулся и ее тоже сделал.
4. В пдфке для кая сказано что недопустимо затекание флюса на контакты SIMM и разъемов. Вроде купил крутой флюс, но он все равно попадает, и особенно прячется под самим разъемом. Хоть я и иголкой микрокапли наношу, он попадает внутрь через отверстие и прячется между разъемом и платой куда я не могу подлезть..
Можно ли плату просто целиком в ведро с ацетоном окунуть чтоб сразу все отмыть?
Нет.
Да.
Да.
В ацетон не надо - слишком сильный растворитель. Может разъесть покрытие дискретных резисторов, оболочки электролитических конденсаторов и т.п. Достань где-нить технического спирта. Только не метиловый!
Апну темку, а то тишина тут. :)
Нужна помощь коллективного разума для фикса одного маленького, но неприятного глючка КАЯ, который присутствует только в ТУРБО-режиме и на НЕ прогретой машине. ТУРБО _выключили_ и пофиг какой комп - только включили или работает уже долго - всё стабильно.
Проблема со слотом XS6 в КАЕ. Этот слот с _наивысшим_ приоритетом /IORQ на плате КАЯ и он был добавлен дополнительно при модернизации платы из этого топика. В оригинальном КАЕ три слота. Немного про этот (XS6) слот: на ламель В17 приходит /IORQ прямо от Z80. На все остальные слоты /IORQ приходит через буферный элемент DD56.1 (КР1533ЛЛ1).
Вот схема подключения слотов в КАЕ:
http://photo.qip.ru/photo/softfelix/.../106017403.jpg
Вот физическое расположение слотов на плате:
http://photo.qip.ru/photo/softfelix/.../106017407.jpg
Проявление глюка.
1. Если прямо в XS6 воткнуть классический GS (General Sound), то он там вообще не работает в ТУРБО-режиме. Более того, попытка загрузить MOD в Z-PLAYER'е приводит к зависанию программы, вплоть до RESET'а. Повторяемость 100%. Сам комп работает тоже не очень стабильно. ТУРБО выключили - всё работает. Про кривое формирование IORQGE в данной версии GS, я в курсе, но читаем далее...
2. Вставили в XS6 ёлку-расширитель ZX BUS-TEE и в её 1-ый слот воткнули GS. В ТУРБО всё сразу заработало. _Чуть_ подглючивает, но с прогревом компа всё работает очень стабильно.
3. Прямо в слот XS6 воткнули ZXMC2 (в ней IORQGE, вроде, сделан корректно, хоть и сАдит линию npn-транзистором). В ТУРБО комп чуть подглючивает: сами нажимаются клавиши только при опросе "press any key" в программах. Иногда программы зависают или сбрасываются в BASIC_48. От прогрева, вроде, не зависит - подглючивает всегда.
4. Вставили в XS6 ёлку-расширитель ZX BUS-TEE и в её 2-ой слот воткнули ZXMC2. Вышеописанные глюки только на холодном компе в ТУРБО. Прогрелись - всё работает стабильно.
Вот так сейчас у меня собрано на постоянку. В XS6 ёлка-расширитель ZX BUS-TEE (в ней диспетчер IORQGE собран на 74F32), в 1-ом слоте GS, во 2-ом слоте ZXMC2.
http://photo.qip.ru/photo/softfelix/.../106017414.jpg
http://photo.qip.ru/photo/softfelix/.../100531083.jpg
В силу конструкции корпуса, по другому распихать платы не могу, да и работает всё нормально после прогрева. Предлагайте варианты, как более точно локализовать причину глюков в ТУРБО на не прогретом компе. Где-то позорный конденсатор надо впихнуть. Только вот куда?...
иорк подтяни к земле попробуй.. на проце прям.. кондером конечно же..
щас гляну у себя какую емкость ставил..
---------- Post added at 23:10 ---------- Previous post was at 23:02 ----------
вообщем посмотрел.
сделано так: ИОРК подтянут к плюсу питания резистором 10ком и к земле кондером. на кондере написано 122. (1200 пФ вроде как).
---------- Post added at 23:12 ---------- Previous post was at 23:10 ----------
ну и там же еще стоит кондер 0.1 мкФ между плюсом и землей.
все сделано прямо под процессором на нижней стороне платы.
Жестоко... В смысле, /IORQ, который прямо от Z80. По логике его и нужно задержать, ибо он всегда приходит самый первый, а задержки появляются в диспетчере IORQGE (на плате КАЯ и ZX BUS TEE) и в формирователях на платах расширения (особенно, если они сделаны криво - GS).
Но в реале у меня получается по другому. В 1-ый слот ZX BUS TEE воткнули GS и он уже начинает работать! А разница (если GS воткнуть сразу в XS6) только в задержанном IORQGE на двух элементах 74F32, а это всего примерно 11...12 нс.
А у тебя тоже самое было?
---------- Post added at 23:15 ---------- Previous post was at 23:12 ----------
Ага, понятно.... А как дошёл до такого апгрейда? Тоже были аналогичные глюки? Расскажи подробней!
та были глюки с "эникеем" в турбе..
помнишь наверно, пересекались в теме по ZXMC..
да и вообще были глюки и с музыкой АУ даже. в турбе конечно же.
и с НемоИДЕ тоже..
вообщем всё что связано с портами - глючило в турбе.
ох скока я нервов извел блин)
а щас кнопку "турбо" отключаю тока когда демы смотрю (для которых критично)..
пс: а дошел как.. даже не знаю. ну всё как будто уже было перепробовал.. дай думаю и это сделаю)
вообщем пробуй, пиши потом.
Так у тебя ведь Профи? И ZXMC2 подключен через активный расширитель от solegstar'а?
Короче - сейчас полная стабильность в турбе?
о.к. Попробую задержать /IORQ только для ZX BUS TEE, а если не поможет, то буду пробовать задержать IORQGE от диспетчера в ZX BUS TEE на слот XS6.
ну да. у меня Профик + расширитель от solegstar-a (спс ему кста еще раз)).
вообщем вот фотка ибо тел под рукой (с него и пишу).
http://sderni.ru/208397
в турбе щас всё просто отлично!
мой Профик щас работает просто идеально))
кстати, с твоей подачи слушаю щас музыку СаунДрайв ))
ибо включил. раз уж добрался)
Extreme Tracker.. кста, был у меня самой самой тестовой прогой. если уж он не пойдет в турбе, то и остальное не пойдет..