IORD по какой схеме? по схеме ZST или стандартный от Ленинград-1 с ЛЛ1 ?
Если по схеме Ленинграда то он не катит - надо добавить выборку порта более точно.
и если выборка по адресу есть - то можно снизить сопротивление резисторов до 470 ом.
Вид для печати
IORD по какой схеме? по схеме ZST или стандартный от Ленинград-1 с ЛЛ1 ?
Если по схеме Ленинграда то он не катит - надо добавить выборку порта более точно.
и если выборка по адресу есть - то можно снизить сопротивление резисторов до 470 ом.
На выборку порта ФФ идет чистый IORD(думаю в данном случае это не столь важно).
На выборку клавы и джойстика доработанный(без доработки порт фф вообще никак не увидеть, т.к. джойстик забивает шину).
---------- Post added at 01:00 ---------- Previous post was at 00:54 ----------
Кто нибудь знает, есть ли в природе программа по которой на 100% точно до такта можно настроить инт(положение и длительность) как на фирменном Спектруме-48
Есть ли у вас машина? Если есть - вы на заправке тоже пытаетесь заправить ее вставив одновременно 4 пистолета в горловину бака?
По поводу настройки как в оригинальном 48к - их выпускалось какминимум 4 варианта моделей только самим Синклер ресерч - не говоря о множестве местных клонов во многих странах зарубежья. Проблема в том что не во всех фирмах производителях ПО были именно ZX Spectrum 48 by Sinclair Research c резиновой клавой. Поляки - писали игры на униполбритах, испанцы на амстрадах, американцы на таймексах. и какбы не было 100% соответствия таймингов.
Самое главное - почему не будет у вас соответствия - отсутствие так называемой contented memory. Медленной памяти в Ленинграде тупо нет - и код выполняемый в разных адресах памяти - выполняется с одинаковой скоростью. А в оригиналах это не так - посему количество тактов от начала бордера - будет разным для обоих частей памяти.
Посмотрите тут по форуму была тема об клоне SpeccyBob и его продолжении компьютере Crome. Вот в последнем клоне человек провел афигительную работу по правильной эмуляции ULA всех таймингов и всех эффектов оригинального спека. Плюс он же - издал книгу о внутреннем устройстве оригинальной ULA плюс получил схему этой самой ULA с применением высокократного микроскопа и построением по схеме соединений в кристалле - электрической принципиальной схемы.
Ознакомьтесь. Он кстати очень хорошо там прошелся по инту, эмуляции ФФ порта и эффекта СНЕГ который тоже применялся в некоторых играх но не виден ни на одном нашем клоне.
Сорри - память подводит! не Chrome a Harlequin. Читать тут : http://www.zxdesign.info/
формирователь Wait : http://www.zxdesign.info/docs/waitGen-1.17.pdf
тут указано как он тестил тайминги и каким софтом http://www.zxdesign.info/softwareTest.shtml
тут еще немного софта для тестов http://wizard.ae.krakow.pl/~jb/qaop/tests.html
---------- Post added at 23:07 ---------- Previous post was at 22:21 ----------
Добавлю еще ссылок http://scratchpad.wikia.com/wiki/Floating_bus
это описание работы порта FF.
А это анализ его работы : http://www.zxdesign.info/contentionTest2.shtml
---------- Post added at 23:11 ---------- Previous post was at 23:07 ----------
Вот еще : http://ramsoft.bbk.org.omegahg.com/floatingbus.html
это к слову о приближении Ленинграда-1 к оригиналу - надо либо реализовать все что есть по ссылкам и получить оригинал, либо не парить мозги себе и другим. Ибо без полной переделки схемы - оригинал не выйдет. И да - почитайте хоть что-то по схемотехнике.
С Wait каждый раз атрибуты считываются из разных мест.
95 = 01011111 (цвета 011 и 111) .Цитата:
В общем от 11000 до 20000 пролистал, кроме 95 и 15 ничего не нашел.
15 = 00001111 (цвета 001 и 111)
Попробуйте по моей схеме с задержкой бордера и простую программу для проверки порта атрибутов #FF:
10 PRINT IN 255; " "; : GO TO 10
При запуске программы на экран будет выводиться последовательность цифр, где наряду с 255 должны иногда проскакивать 56 (цвета 111 и 000).
Если менять цвета атрибутов экрана командами PAPER=... и INK =..., то значения должны соответственно меняться.
Пока мы предполагаем, что программа выполняется в быстрой памяти и у Ленинграда WAIT убран.
Мы как раз и приближаемя к нему. Только там человек делал с нуля, а у нас уже Ленинград в качестве базы есть.Цитата:
Посмотрите тут по форуму была тема об клоне SpeccyBob и его продолжении компьютере Crome. Вот в последнем клоне человек провел афигительную работу по правильной эмуляции ULA всех таймингов и всех эффектов оригинального спека. Плюс он же - издал книгу о внутреннем устройстве оригинальной ULA плюс получил схему этой самой ULA с применением высокократного микроскопа и построением по схеме соединений в кристалле - электрической принципиальной схемы.
Ознакомьтесь. Он кстати очень хорошо там прошелся по инту, эмуляции ФФ порта и эффекта СНЕГ который тоже применялся в некоторых играх но не виден ни на одном нашем клоне.
Сорри - память подводит! не Chrome a Harlequin. Читать тут : http://www.zxdesign.info/
Вот это может пригодиться для проверки.Цитата:
формирователь Wait : http://www.zxdesign.info/docs/waitGen-1.17.pdf
тут указано как он тестил тайминги и каким софтом http://www.zxdesign.info/softwareTest.shtml
тут еще немного софта для тестов http://wizard.ae.krakow.pl/~jb/qaop/tests.html
Как раз отсюда программу floatspy.tap Ratibor и запустил.Цитата:
Добавлю еще ссылок http://scratchpad.wikia.com/wiki/Floating_bus
это описание работы порта FF.
А это анализ его работы : http://www.zxdesign.info/contentionTest2.shtml
Вот еще : http://ramsoft.bbk.org.omegahg.com/floatingbus.html
Мы уже достаточно близко приблизились к оригиналу.Цитата:
это к слову о приближении Ленинграда-1 к оригиналу - надо либо реализовать все что есть по ссылкам и получить оригинал, либо не парить мозги себе и другим. Ибо без полной переделки схемы - оригинал не выйдет. И да - почитайте хоть что-то по схемотехнике.
Да до фонаря, в данном конкретном случае, можно вообще 1 ногу ир22 на землю посадить пока отстраиваю. Клава, джойстик и т.п. просадят резисторы порта ФФ и он им никак мешать не будет. Главное клаву с джойстиком доработать, а я это сделал. А полностью правильно дешифрировать его труда не составляет - одна ла2 и делов то, только все это баловство.
Не важно где кто что и как делал, важен фирменный ZX Spectrum 48 by Sinclair Research c резиновой клавой.
Все это мелочи.
Важен телевизионный кадр:
http://www.zxdesign.info/images/hvidtime.png
Также известно когда инт должен в кадре приходить:
The ZX Spectrum generates an interrupt at the start of each TV frame, so that's one every 50th of a second. The traditional description is that the interrupt occurs when the electron beam is in its fly-back to the top of the screen. Careful measurement has shown that on a standard 48K ZX Spectrum exactly 14336 T-states pass from the interrupt generation to the first display byte is being sent to the TV. Many programs rely on this timing to function properly, and it is often used in conjunction with the floating bus behaviour.
http://www.zxdesign.info/images/intTiming.png
И память тут не при чем, все от тактов проца считается. Все это в Ленинграде можно добится минимальными переделками. Поправить кадровую и положение инта.
Никто не собирается из ленинграда делать фирменный спектрум.
Всего лишь более-менее надо подогнать инт и дешифрацию портов клавы, джойстика и фф. Ну и вайт по возможности.
---------- Post added at 03:55 ---------- Previous post was at 03:35 ----------
zst, остались еще заморочки с магнитофонным входом.
Вот выдержка из доки по доработке ленинграда-2:
http://i034.radikal.ru/1109/ec/6c80b4001430.jpg
в 128ой модели порта #FF уже не было и arcanoid был переиздан,задержка при отображении экрана там была сделана по другому
Первое предложение справедливо только для безвайтовых машин.
В вайтовых машинах количество тактов генератора НЕ ВСЕГДА равно количеству тактов команд - многие команды из-за прихода сигнала WAIT могут занимать другое количество тактов. по ссылкам был рассчет реального количества тактов процессора. ибо бордюрные еффекты формируются не реальными тактами CLK, а рассчетом продолжительности каждой команды в цикле вывода бордюрной картинки.
посему сомнительна цель _Ratibor_ публикующего сомнительной работо способности схемы, не признающего правила соединений. Но упорно отстаивающего ошибочную точку зрения. И опять повторю свой тезис - точного соответствия сигналов таки не удастся добиться без кардинальной переработки схемы Ленинград-1. А с переработкой количество порезов - соединений будет нерационально высоко со сборкой самого Ленинграда - проще действительно собрать другой комп.
Как вариант не колхозить на логике и применить какую нибудь CPLD на 44 контакта.
к ZST я как бы вопросов вообще не имел. Зря принял мои слова на свой счет. Что до (недословно) "чуть подрихтуем инт и вэйт" - ну как раз и получится кай или пентагон :)
Хотя мне кажется что производство Кай - с учетом его измененной схемотехники но используемой идеологии Ленинград(а), таки более рационально.
---------- Post added at 03:39 ---------- Previous post was at 03:36 ----------
Ну скорее всего уже по HALT синхронизировались как и демостроители. Хотя тут : http://ramsoft.bbk.org.omegahg.com/floatingbus.html
таки утверждают что в 128к то что мы называем FF портом так же присутствует. хотя возможно что речь идет о первом варианте 128к до того как проект купила фирма Амстрад( если не путаю).
А нет ли ссылок на оригинальные TAP или TZX версии обоих вариантов арканоида?
Прежде чем писать всякий бред, научись читать.
И какие это я правила соединений не признаю ?
А схемы я выкладывал, дак это все отсюда взяты.
И еще раз специально для танкистов - нет цели собрать оригинальный спектрум из ленинграда, а всего лишь исправить грубые ошибки и минимально доработать для того чтоб хоть как то приблизится к нормальной работе.
И это практически все уже сделано.
Там не формирователь Waita, а игра с тактовой. Что и предлагал в упрощенном виде Kirill Frolov, чью схему я приводил выше, причем она работает.
---------- Post added at 13:31 ---------- Previous post was at 12:58 ----------
В общем проинвертировал /BORDER
Теперь при запуске теста:
ULA TYPE: 48K
IM2 T_OFS: 29 t-states
IN() TIME: 14347 t-states
IN() BYTE: 65
I/O PORT: 255
Соответственно 64 в 14346
btime, stime, ulatest3 - все три после запуска сбрасывают комп.
zst
В общем пока вот как соединил + резисторы на выходах ир23:
http://s60.radikal.ru/i170/1109/13/2bba8e03214e.jpg
Точно, в Ленинграде /BORDER инверсный, по сравнению с BRD в KAY-е.
Интересно, в 14345 какое значение?Цитата:
Теперь при запуске теста:
ULA TYPE: 48K
IM2 T_OFS: 29 t-states
IN() TIME: 14347 t-states
IN() BYTE: 65
I/O PORT: 255
Соответственно 64 в 14346
Если добавить триггер, то будет как раз 13347 и не будет левых значений атрибутов.
Тогда текущая схема доработки без резисторов будет выглядеть так:
http://s61.radikal.ru/i172/1109/4a/6eb37aff3d17t.jpg
65, но может и 64. До этого 2-3 раза показывает 15, а потом FF. А выше от 64 и дальше.
В этой проге как то не очень стабильно бывает показывает.
Вот в ulatest3 там сразу всю карту показывает, но она при запуске сбрасывает комп. Может не совсем корректно в WAV конвертируется, хотя пробовал раза три. Пробовал другой прогой конвертить, там вообще после загрузки пишет ошибку. Попробовал сейчас плагин для винампа, который сразу проигрывает tap файл - тоже после загрузки сброс.
---------- Post added at 18:14 ---------- Previous post was at 17:24 ----------
А может сперва инт подогнать немного, а потом уже порт ФФ.
А то вроде считается от инта, а он немного не на месте.
Если триггер не ставить, то читаться данные будут сразу как кончится бордер в строке. Но в этот момент данные еще неправильные. Сначала выставляется адрес со счетчиков, потом RAS и CAS, а уже затем читается реальный байт атрибутов из ОЗУ и записывется в ИР23.
Может добавить отдельную микросхему памяти для быстрой памяти, раз без WAIT глючит на некоторых процессорах?
Да глючит то не изза проца, а из-за памяти(а может еще изза 155 серии).
Тот же Harlequin безвайтовый собран с быстрой памятью, но весь на микросхемах HC, да и то для задержки там мудрили с тактами.
ИМХО ну его нафиг этот вайт пока. Как с интом разберусь и ФФ, помудрю опять с тактами.
---------- Post added at 20:29 ---------- Previous post was at 19:33 ----------
Нашел 1533тм2 и спаял точно по этой схеме.
Итог - тот же только в профиль.
Разницы пока не вижу в общем.
помедленнее бы ТМ2 чтобы задержка на ней была по существеннее. 555(а то и 155) самое то - 1533 думаю шустровата больно.
---------- Post added at 18:23 ---------- Previous post was at 18:20 ----------
Или попытаться второй элемент этой тм поставить в качестве повторителя.
Все это шаманство с бубном, надо сперва составить список программ, игр и демок, чтоб по ним визуально оценивать. Из тех что сдесь приведены работает только одна - floatspy. А btime, stime, ulatest3, fusetest не работают на Ленинграде.
Вычитал что в Mask III - Venom Strikes Back (1988)(Gremlin Graphics) используется мультиколор в надписи на верху. Ну и полоса бордюрная внизу для инта.
Полоса на бордюре выше экранной примерно на столькоже как в Aqua Plane.
А мультиколор вверху - разницы не заметил что в моем варианте, что в варианте zst.
Вот как то так :)
P.S. В общем пишите кто знает в каких прогах, демах, играх можно проверить инт и порт ФФ.
И желательно описать что там должно быть и в каком месте, а так же где скачать, желательно в tap.
P.P.S. Вот тут собрано 5 разных арканоидов, вернее арканоид то один и тотже, а вот синхронизация разная(SpeedLock 2, SpeedLock 5 и т.п.).
Судя по скринам Aquaplan после полной доводки тактирования, вайтирования и интирования в компьютере Арлекин - полоска и у него выше. Хотя все остальное - шок и так далее - великолепно. Посему мысли 2 - надо достать хоть один оригинал 48к чтобы на нем запустить именно акваплан. мысль вторая - возможно в акваплане и не должно оно совмещаться.
опрос порта #FF был в игре Cobra, позже её как и арканоид переиздали. также смотрите игры Fire и SideWize. в игре sentinel после старта замеряется кол-во тактов за прерывание (три варианта для 48/128/+3) и идёт скролл на бордюре.
Ewgeny7 проверил на ZX SPECTRUM+ - бордюр на месте, как и положено.
Вот фото акваплана:
http://scorpion-zs.narod2.ru/DSCN9122.JPG
Брал файл с WOSa.
Harlequin вроде тоже допилили (http://www.zxdesign.info/testSuccess.shtml), но каким-то непонятным способом.
Ага - значит я смотрел более старую статью - в ней он еще Шок тестил.
А по поводу непонятного способа - там они такты считали хитро както и типа судя по описанию - у Арлекина есть небольшое отличие в 2 такта. Но вроде оно не повлияло особо.
Там Int вот как формируется:
http://s016.radikal.ru/i336/1109/ba/d77236030bf1.jpg
Кстати - ZST а можеш померять(посмотрет осцилом) частоту клока на процессоре, сигнал WAIT и INT на этом спек+ ?
Да INT у нас уже нормальный. Там схема в два раза сложнее, чем в Ленинграде.
Только у оригинального клона при обращении к медленной памяти и к порту #FE во время работы видеоконтроллера происходит задержка. За счет этого горизонт в Акваплане появляется позже (от момента INT), чем если бы задержки не было. Или после INT программа работает в медленной памяти или часто обращается к #FE.
Но в Harlequin WAIT не используется.
---------- Post added at 22:40 ---------- Previous post was at 22:39 ----------
У меня нету оригинального. Я чисто теоретически рассуждаю, a Ratibor экспериментирует.
вот тут по тактам все описано __http://sblive.narod.ru/ZX-Spectrum/SpeccyBob/SpeccyBob.htm
и фотки правильно работающих программ есть
zst, надо бы еще вот какой момент прояснить:
Привожу два отрывка из брошурки но настройке Ленинграда.
http://i044.radikal.ru/1109/b5/6de892501400.jpg
http://s015.radikal.ru/i332/1109/89/babbf5fa2e8a.jpg
Сейчас у меня стоит кварц на 14 Мгц, а D4 распаян по формуле приведенной в главе 6,
хотя в таблице из первой главы получается как для 13.5 Мгц.
Да и схема как бы в общем расчитана на 14.5 Мгц.
И где правда ?
Это раз.
Два: Даже если настроим синхру, а кварец будет отличный от 14.5 Мгц, то все равно фигня получается.
По моей просьбе Ewgeny7 запустил Aquaplane на своем реале, подключенном через тв-тюнер.
Вот как выглядит на моем Ленинграде без WAIT начало игры Vectron (есть рисунок на бордере):
http://s15.radikal.ru/i189/1109/4e/94ad57075606t.jpg
---------- Post added 20.09.2011 at 00:06 ---------- Previous post was 19.09.2011 at 23:59 ----------
Там неточные данные и у Ленинграда проблемы с настройкой счетчиков. Кварц лучше использовать на 14 МГц, как в большинстве клонов - зачем лишние трудности.
Я подобрал положение перемычек для 14 МГц так, чтобы было ровно 448 точек в строке. Конденсатор на 6 выводе ЛЛ1 обязателен. Без него VGA&PAL не работал, а он был настроен ровно на 448 точек. Также можно измерить частоту строчных синхроимпульсов. Если счетчики настроены неправильно, то частота будет сильно отличаться от 15625 Гц. Хотя телевизор может и показывать. Подозреваю, что некоторые Ленинграды у людей неправильно настроены и бордюрные эффекты показывают неправильно.
Если бы было не ровно, то и изображение в бордюрных эффектах типа DARK STAR не было бы правильным даже при подключении к телевизору.
А какие точные ?
Дело не в трудностях, главное чтоб его заставить правильно работать.
Как выставлены перемычки и какой кондер ?
У меня тестер простенький, не знаю насколько точно частоту меряет,
проверил сейчас им - 15.52 кГц.
Ну когда я вайт отрезал у меня тарелка правильно была нарисована и не дергалась.
Входы счетчика D4 К555ИЕ7 настроены для кварца 14 МГц (10 вывод на +5В, а 1,9,15 - на землю). У меня в старом Ленинграде было так и работает, хотя во многих описаниях - не так.
Конденсатор 560 pF между выводами 6 и 7 микросхемы К555ЛЛ1 (настройка количества тактов в строке = 896).
Если бы было не правильно, то вертикальные линии на бордере не получились бы.Цитата:
У меня тестер простенький, не знаю насколько точно частоту меряет,
проверил сейчас им - 15.52 кГц.
Ну когда я вайт отрезал у меня тарелка правильно была нарисована и не дергалась.
У меня также.
Так что вот эта формула получается правильная:
http://s015.radikal.ru/i332/1109/89/babbf5fa2e8a.jpg
Дело не в трудностях, главное чтоб его заставить правильно работать.
Тут дело вот в чем - меняя кварц и переделывая D4 под определенный кварц мы во всех случаях получаем одинаковый синхроимпульс, но тактовая то проца во всех случаях будет разная. Вот тут то и получаем рассинхрон бордюрных эффектов и т.п.
Включил сейчас MAGIC-05.
Запустил тест инта - инт приходит вовремя, вторая светху желтая полоска на экране идеально совмещена с белой на бордюре. Но длинна инта чуть длиньше чем у ленинграда с доработанным интом, но в пределах нормы(гдето в середине НОРМА).
Загрузил игру Aqua Plane.
Горизонт на бордюре выше по отношению к экранному чем у ленинграда.
И что-то мне кажется что совмещение горизонтов зависит от длинны инта.
Что на ленине-1, что на MAGIC-05 инт приходит в одно и тоже время, но длинна разная. У MAGIC-05 инт чуть длиннее и соответственно горизонт на бордюре чуть выше. Вот как то так.
Длительность INT в "Магик-05" задается параметрами RC-цепочки C7,R61 (33 nF, 360 Om)Цитата:
Сообщение от _Ratibor_
и входными параметрами микросхемы D24 (ЛА3).
Для уменьшения длительности INTа можно попробовать уменьшить емкость C7
или подобрать резистор R61, поставив вместо него подстроечник килоОм на 2.