Просмотр полной версии : Портирование игры "Last Mission" на УКНЦ
Опять вы программистов тупыми выставляете :)
После сборки на эмуляторе свободно 338 блоков.
Специально сделал диск с максимумом свободного места , засвизиный зачищенный.. до посинения..
- - - Добавлено - - -
А в случае с большим файлом как у меня 83 блока, по моему хвост файла не читает и когда программная секция снизу сразу стартует в косомос, а если сверху то испорчены спрайты, но запускается. Как-то так...
Специально сделал диск с максимумом свободного места
Это фраза ничего не говорит о том, скоко вещать в граммах.
Результат dir/free в студию ;)
Опять вы программистов тупыми выставляете
Я уже достаточно прилично провозился с Готеком - проблем не заметил. И. Если бы это была проблема в Готеке - скорее всего она проявлялась бы в ошибках чтения и записи или порче файловой системы. Не хватает места на диске - это достаточно интеллектуальная ошибка ;)
- - - Добавлено - - -
А в случае с большим файлом как у меня 83 блока
Соберите с картой памяти, пришлите мне - с программной секцией внизу и наверху - гляну - может что подскажу
Я уже достаточно прилично провозился с Готеком
Именно с УКНЦ?
На БК11 у меня никиких проблем с ним нет, пишет и читает.. А с УКНЦ нужно разбираться.
Есть ли в контроллере ГМД УКНЦ коррекция записи?
И не нужно сразу столь авторитетно заявлять, что GOTEK не причем.. нужно разобраться.. коли проблема есть.
- - - Добавлено - - -
Записал свою программу на другой диск где 1200 свободных блоков, вуаля.. запустилась на реале без проблем..
А вы говорите код кривой..
Именно с УКНЦ?
С УК-НЦ меньше, в основном, когда авторскую прошивку новую тестировали. Пофайловое и образом диска копирование с проверкой
Есть ли в контроллере ГМД УКНЦ коррекция записи?
Она не будет играть никакой роли в случае Готека - он оперирует именно логическими блоками, а не физическими или дорожкой
И не нужно сразу столь авторитетно заявлять, что GOTEK не причем
Я не говорил, что он не причём, я сказал, что по симптомам - сильно не похоже. Потому что помимо Готека и MACRO-11 c LINK-11 на УК-НЦ работает ещё мать, контроллер флопов и ось с драйвером (пока) непонятного происхождения. По поводу последнего - слишком много умельцев правили исходники RT, собирали и распространяли свои поделки. Из личного опыта - с такими поделками надо быть осторожным - достаточно не предсказуемы. Ну и плюс работа под эмуляторм - это ещё не показатель
- - - Добавлено - - -
А вы говорите код кривой
И этого тоже я не говорил - я сказал, что - из личного опыта - слишком часто программисты валят причину проблемы на всё, что угодно, кроме своего кода. Я сначала свою программу исследую под микроскопом. Конкретный пример - написание драйвера контроллера CF для RT - автору платы я постоянно говорил - я не уверен, что проблема в железе. По факту - помимо банальных ошибок (типа MOV 340, @#PS), нашлась куча косяков в программировании контроллера - потому что хрень разберёшься в документации, ну и читать нужно тоже внимательно. В железке нашлась ровно одна ошибка - вектор был прошит неинвертированным.
он оперирует именно логическими блоками, а не физическими или дорожкой
Он-то может оперирует, а после 50й дорожки контроллер от него другого ждет..
Возможно это настраивается в файле IMG.СFG.
Единственное, что я сейчас определил:
1. Проблема не в коде. (Можно было еще неделю сидеть и репу чесать)
2. Косяк зависит от расположения файла раньше он был записан с 54 дорожки, сейчас выше.. (ну или где-то в этом направлении).
Попробую сделать HFE или дискету запишу.. короче методом исключения.. может контроллер кривой.. согласен вариантов много.
Он-то может оперирует, а после 50й дорожки контроллер от него другого ждет..
Мало вероятно.
Только команда записи при достижении цилиндра (а не дорожки - цилиндр - это две дорожки) с новым значением тока записи выставляет в регистр флажок. Но Готеку это по барабану.
Технически, что может быть - на разных цилиндрах разная частота чтения записи - длина дорожки разная, а количество бит или переходов MFM одно и тоже. Возможна какая то рассинхронизация - из за разбега параметров микросхем контроллера. То есть если писать на физический диск и через этот же контроллер читать - то всё тип-топ, а если Готек с его идеальностью сигналов при чтении - то фик её знать.
Могу только сказать, что на моих двух контроллерах для ДВК и одного контроллера УК-НЦ с той прошивкой, которые мы тогда сочли окончательной - проблем не было
нужно разобраться.. коли проблема есть.
Hunta https://zx-pk.ru/threads/29643-portirovanie-igry-quot-last-mission-quot-na-uknts.html?p=1015988&viewfull=1#post1015988 - вот это образ из Готека S_V_B !!! Лучше 1 раз увидеть, как вообще так?
у меня готек ждёт подключения - я уже волноваться начинаю про него...
Лучше 1 раз увидеть, как вообще так?
До выходных я занят на работе, в выходные чую будут иметь нетрадиционный секс с консольным портом, Э85 и осциллографом (если б он, имею ввиду консольный порт, заработал - то как бы полегчало, но поскольку эта сволочь выдрючивается...), так что не уверен, хватит ли моральных сил на УК-НЦ
- - - Добавлено - - -
у меня готек ждёт подключения - я уже волноваться начинаю про него
Да, забыл написать - это была девственная RT-11 и мой драйвер MZ
Технически, что может быть - на разных цилиндрах разная частота чтения записи - длина дорожки разная,Не бывает. Частота там строго одна. Это на винчестерах поновее, чем MFM, для внутренних цилиндров уменьшают частоту и, соответственно, количество секторов на дорожке. А у дискет меняется только плотность записи - в реале, вестимо, но Готеку это должно быть по барабану.
но Готеку это должно быть по барабану.
В чем же тогда по вашему может быть проблема? Хотя может в конкретном готеке проблема, как-то он странно себя ведет.. на других пока быстро проверить не получится я их уже в корпуса других компов имплантировал.. (хирургически :)) на выходных проверю
- - - Добавлено - - -
Как лучше сделать воспроизведение звуков?
Изначально привязал к 100му вектору, а теперь по нему же проверяю КСИ.. в итоге дергается когда звук идет..
Как лучше сделать воспроизведение звуков?
Изначально привязал к 100му вектору, а теперь по нему же проверяю КСИ.. в итоге дергается когда звук идет..
Что значит 'звук идет'? Как у тебя генерится звук?
Что значит 'звук идет'? Как у тебя генерится звук?
Фоновая музыка когда играет, переделал все на 304 вектор, работает..
https://yadi.sk/d/jEQ69u_Zu0PYYQ
(музыка.. для примера)
- - - Добавлено - - -
Но таким образом не очень удобно спецэффекты выводить, для каждого нужно делать массив "частота-длительность", передавать адрес массива..
С процедурными звуками у меня пока всякая непотребщина получается.
Нужно всего 3 звука: лазер - птиуу, взрыв - бубухх, и лифт - вжжжж :)
и чтобы тоже по прерыванию работали без всяких sob иначе опять затыки будут.
а фоновая музыка наверно лишняя..
CodeMaster
13.06.2019, 08:46
а фоновая музыка наверно лишняя..
Может и не лишняя, но она традиционно должна быть настраиваемой опцией (для тех у кого Турбо-УКНЦ).
Может и не лишняя, но она традиционно должна быть настраиваемой опцией (для тех у кого Турбо-УКНЦ).
Что за турбо-УКНЦ? )
CodeMaster
13.06.2019, 14:37
Что за турбо-УКНЦ? )
Которую сделают на FPGA после реверса ВМ2.
Которую сделают на FPGA после реверса ВМ2.
Боюсь, что у всех этих разогнанных новоделах совместимость будет хуже, чем у эмуляторов)
Если весь софт писался под примерно одну скорость процессора, и многие задержки делались программным способом, представляю, что будет с в итоге)
CodeMaster
13.06.2019, 15:44
Если весь софт писался под примерно одну скорость процессора
S_V_B пишет суть есть новую игру. И когда появятся отключаемые x2 и x4 Turbo, будет возможность выбрать под что писать. Ибо негоже, что есть железные Спектрумы на 20 МГц (для которых нет софта ;-), но нет Турбо УКНЦ.
У меня крутится мысль - чтобы добиться плавности нужно измерять среднее время игрового цикла.. те.. крутить счетчик по сетевому тайимеру, если меньше дожидаться разницы.
Есть моменты (когда нет сдвига спрайтов, кратный адрес) цикл проскакивает быстрей и получается подергивание..
Эта же фишка должна и разные частоты уровнять..
Привет друзья.
Довести до "ума" порт все таки не получится.. скорострельности котострофически не хватает... что-то придется убирать. (восемь спрайтов уже тормозит..неприятно).
Я наивно полагал, что укнц может посоревноваться с XT (Увы).
Либо переносить графику в ПП (хотя там места нет) и использовать "спрайтовый механизм"... тоже сомнительно (с черным фоном)..
Мысли если есть... в студию.
- - - Добавлено - - -
Да.. если в ПП .. кнопки могут залипать и от музыки отказаться.
SuperMax
20.08.2019, 17:32
Привет друзья.
Довести до "ума" порт все таки не получится.. скорострельности котострофически не хватает... что-то придется убирать. (восемь спрайтов уже тормозит..неприятно).
Я наивно полагал, что укнц может посоревноваться с XT (Увы).
Либо переносить графику в ПП (хотя там места нет)
можно пояснить почему там нет места ? 22КБ должно быть
и если использовать контроллер AZ то можно освободить еще память (тк АZ работает на шине ЦП)
imho:
исходя из архитектуры УКНЦ, правильно графику поместить в ПП
а "мозги" - те логику в ЦП
по таймеру производить синхронизацию - те ЦП дает команду ПП сдвинуть спрайт итд
код в ПП будет минимальный - все остальное под спрайты
ну и ЦП периодически добавляет - перекачивает новые спрайты в памяти ПП
Да.. если в ПП .. кнопки могут залипать и от музыки отказаться.
ну на БК-0010 справлялись и с музыкой и с графикой так что и на УКНЦ тоже можно
да, вопрос - есть измерения скорости ?
1. ЦП->ПП
2. ПП: RAM->VRAM
3. ПП: VRAM->VRAM
эти данные могут облегчить распределение задач
БЛА-БЛА.. пробовали писать.., я уже второй год пишу.. В ЦП... память уже кончалась. в ПП если переносить.. ее не хватит, если регистровым.. смысла нет.
OrionExt
20.08.2019, 17:58
ПАЧАМУТут видимо ты слабо шпилишь. В железе.
по таймеру производить синхронизацию - те ЦП дает команду ПП сдвинуть спрайт итд
там все "немножечко сложнее"
Что вы подразумеваете под "сдвинуть спрайт" на УКНЦ?
- - - Добавлено - - -
Вот.. я так и подумал..... советчиков дофига.. но блин.. хоть один бы попробовал.
OrionExt
20.08.2019, 18:11
SuperMax, Кстати стыриный IDE-MSX ночами не сниться? Ты хотя бы на плате разборов упомянул? Барыга.
И до сих пор носит гордо – админа. Ох zx-pk.
Зачем вы гадите в моей теме?
- - - Добавлено - - -
Если готовы предложить IDE для тестирования.. рассмотрим :)
OrionExt
20.08.2019, 18:21
Извените, zx-pk должны знать своих героев (пробудился копипастер)
Извените, zx-pk должны знать своих героев (пробудился копипастер)
Вот это я вообще не понял..? Подробнее плз.. Сссылки и прочии объяснения.
OrionExt
20.08.2019, 18:28
Это долгая история. Не засоряйте себе мозг.
Копипастеры тоже люди. Хотят общаться :)
Извените, zx-pk должны знать своих героев (пробудился копипастер)
Вот это я вообще не понял..? Подробнее плз.. Сссылки и прочии объяснения.
Копипастеры тоже люди. Хотят общаться
Дык вроде я топикстартер.
- - - Добавлено - - -
Забудем...
На БК есть игруха ... помоему АССАСИН . похожая на нашу.. которая на 10% не тянет на то что уже сделано.. (94 уровня)...
но весь смысл.. таскать за собой.. этот гребаный танк.
- - - Добавлено - - -
У меня сложилось впечатление что кроме хобота... интересующихся.. человек пять.. на сим забьем на сей проект.. ( у меня на AMIGE 500... IDE... УРААА)
а для чего созданы эти УКНЦ если они такие убогие ?
Для "РОГАЛИКОВ" если они такие ващее терминальные...
Дайте... чтиво... будут рогалики
- - - Добавлено - - -
В моей среде... "терминальное".. это предсмертное состояние... сори...
- - - Добавлено - - -
БКшку можно повторить... а все остальное. большой вопрос .. демку можно сдать используя таблицу строк..
SuperMax
20.08.2019, 21:33
Зачем вы гадите в моей теме?
кто-то видимо на солнышке перегрелся - не обращайте внимания
этому гражданину покоя не дает санрайз:
https://zx-pk.com/forum/viewtopic.php?f=7&t=2932
Если готовы предложить IDE для тестирования.. рассмотрим :)
не IDE а AZ - https://zx-pk.ru/threads/30596-uknts-az-variant-kontrollera-psevdodiskov-na-mikro-sd-dlya-uknts.html
но в качестве спонсорской помощи разработки игры
те чтобы работа продолжалась - ну и что бы было можно было "съесть" всю память ПП
годится такая формулировка ?
если да, то из новой партии плат выделю готовый комплект с софтом
годится такая формулировка
Годится. Только не будем называть эту игрушку портом (точной копией), скорее всего нужно будет от чего-то отказаться.
SuperMax
21.08.2019, 09:40
Годится. Только не будем называть эту игрушку портом (точной копией), скорее всего нужно будет от чего-то отказаться.
нет проблем - я потому и пишу - разработка.
Ибо негоже, что есть железные Спектрумы на 20 МГц (для которых нет софта ;-), но нет Турбо УКНЦ. под который так же нет и не будет адекватного софта ) Железная логика спектрумиста?
Не уверен, что графика в ПП будет быстрее... но можно наверно раскрасить фон. Сделать что-то среднее с MSX.
S_V_B,
SuperMax, ха! На самом деле - исторический момент ) Игра привязанная к конкретной железке - этот так по билгейтсовски тока для УК-НЦ )
S_V_B, как автор волен пилить что угодно подо и на чём угодно - любое творчество это есть хорощо и только творчество для УК-НЦ и под RT-11 - есть очень очень весьма хорощо ))) Кстати - о рогаликах! Если "символьный" - "терминальный"(от слова терминал!) вариант по твоему - не катит, так вы же мастер спрайтов??? ) Нет сюжета сценария или интереса к такому жанру - это другой вопрос ) Ребята вы называете УК-НЦ убогим просто потому , что вам философия PDP-11 не пошла, ибо она не предусматривала любовь к проектам в стиле спектрума = верх,вниз, влево, вправо и файер, джойстики и фоновую музыку, УК-НЦ - всё таки немного для других задач машинка, разве нет?
- - - Добавлено - - -
S_V_B, в эмуляторе демка с музыкой шикарна! Мне очень понравилась, к сожалению сейчас на живой машинке у меня снова заминка с выводом изображения (временно не куда просто), так что пока я сам в эмуле "при живой машинке под рукой в принципе).
, что вам философия PDP-11 не пошла,
Мне очень нравится философия, писать на ассемблере одно удовольствие.... разрабы УКНЦ еслиб не затупили...насчет видео.
А РОГАЛИКИ мне тоже нравятся.. но нас всего пятеро... не думая что стоит с этим заморачиваться.., а last mission это дело принципа.. :)
- - - Добавлено - - -
На меня и так как на дурака смотрят.. люди с "двумя высшими" образованиями.., а так и руку некому подать:(
На меня и так как на дурака смотрят - люди делятся на три категории, одни умеют считать до трёх, а другие не умеют )))
"Люди делятся на 10 категорий - те, которые знают двоичную систему и те, которые - нет"
вы называете УК-НЦ убогим просто потому , что вам философия PDP-11 не пошла, ибо она не предусматривала любовь к проектам в стиле спектрума = верх,вниз, влево, вправо и файер, джойстики и фоновую музыку, УК-НЦ - всё таки немного для других задач машинка, разве нет?
и для каких задач сейчас УК-НЦ может применяться ?
У меня сложилось впечатление что кроме хобота... интересующихся.. человек пять.. на сим забьем на сей проект.. ( у меня на AMIGE 500... IDE... УРААА)
а давай ты не будешь бросать ладно?
я вот тоже слежу
shattered
22.08.2019, 14:47
и для каких задач сейчас УК-НЦ может применяться ?
для любых, которые угодны автору софта. например, можно btc майнить, как на apple ][
У меня сложилось впечатление что кроме хобота... интересующихся.. человек пять.. на сим забьем на сей проект.. ( у меня на AMIGE 500... IDE... УРААА)
Ну это зря. И то что мало народа - не повод.
Не бросай, лучше уж тогда упрощай.
С игрушками всегда так - минимум в 2-3 раза больше времени уходит чем думаешь в начале.
SuperMax
22.09.2019, 17:06
Годится. Только не будем называть эту игрушку портом (точной копией), скорее всего нужно будет от чего-то отказаться.
итак - контроллер в полном комплекте готов к отправке
фото контроллера v 1.01
https://pic.maxiol.com/thumbs/1569160942.3232235619.azuk1011.jpg (https://pic.maxiol.com/?v=1569160942.3232235619.azuk1011.jpg)https://pic.maxiol.com/thumbs/1569160970.3232235619.azuk1012.jpg (https://pic.maxiol.com/?v=1569160970.3232235619.azuk1012.jpg)
прошу адрес в личку
итак - контроллер в полном комплекте готов к отправкеЭто контроллер дисковода для УКНЦ?
скорее контроллер+эмулятор дисковода
Это контроллер дисковода для УКНЦ?
Это контроллер диска AZ
SuperMax
24.09.2019, 20:36
Это контроллер дисковода для УКНЦ?
как уже было сказано это контроллер диска AZ, основной отличительно способностью которого является установка в слот СА и возможность подключения сетевой карты.
подробнее описано в этой теме: УКНЦ + AZ - вариант контроллера псевдодисков на микро-SD для УКНЦ. (https://zx-pk.ru/threads/30596-uknts-az-variant-kontrollera-psevdodiskov-na-mikro-sd-dlya-uknts.html)
ps: контроллер отправлен. я думаю и другие заинтересованные в проекте могут оказать свою спонсорскую помощь.
как уже было сказано это контроллер диска AZ,
Расшифруй для чайника, что такое диск AZ на УКНЦ) Никогда такого не видел)
диск AZ на УКНЦ)
Со стороны УК-НЦ - блочное устройство со случайным доступом размером (до) 32 Мб. Со стороны платы - файлы размером (до) 32 Мб, в которых сохраняется записываемая информация по принципу образа, хранящиеся на sd карте, доступом к которым со стороны УК-НЦ управляет микроконтроллер.
Ну а так же аппаратный загрузчик.
Это что-то стандартное для УКНЦ? Где почитать про AZ, если стандарт?
Как запускается? Откуда берется драйвер? Какова последовательность работы при включении УКНЦ?
Где почитать про AZ
Здесь есть тема
SuperMax
25.09.2019, 03:15
Это что-то стандартное для УКНЦ? Где почитать про AZ, если стандарт?
Как запускается? Откуда берется драйвер? Какова последовательность работы при включении УКНЦ?
подробнее описано в этой теме: УКНЦ + AZ - вариант контроллера псевдодисков на микро-SD для УКНЦ. (https://zx-pk.ru/threads/30596-uknts-az-variant-kontrollera-psevdodiskov-na-mikro-sd-dlya-uknts.html)
Основная страничка поддержки проекта [инструкции, техническое описание, обновления фирмвари]
Контроллер псевдодиска на MicroSD (https://forum.maxiol.com/index.php?showtopic=5388)
Контроллер псевдодиска на MicroSD на шину МПИ: особенности версии для УКНЦ (https://forum.maxiol.com/index.php?showtopic=5491)
Контроллер псевдодиска на MicroSD для УКНЦ: сборка и наладка конструктора контроллера (https://forum.maxiol.com/index.php?showtopic=5492)
Продажа
Версия контроллера для УКНЦ (https://zx-pk.com/forum/viewtopic.php?f=7&t=14197)
Версия контроллера для ДВК (https://zx-pk.com/forum/viewtopic.php?f=7&t=13392&p=129030#p129030)
Это что-то стандартное для УКНЦ? Где почитать про AZ, если стандарт? А главную тему Макс не указал. Ту самую, где вся история этого контроллера, от того момента, когда я его задумал, до того, когда Макс его напечатал и запаял. Это все здесь (https://zx-pk.ru/threads/28134-kontroller-psevdodiska-na-sd-karte-dlya-dvk.html?p=929034&viewfull=1#post929034), и сочинялось для ДВК. И только когда ДВК-шная плата была готова, у нас с Максом возникла мысль попробовать прицепить ее к УКНЦ, результаты в теме про AZ для УКНЦ.
Переделал опрос клавиатуры:
https://yadi.sk/d/VMfmfbZ4g1Rl5Q
Отказался от управления стрелками, сделал Q,A,O,P.
Во первых они не пересекаются при отжатии, во вторых в оригинальной игре такое управление.
Единственное P пересекается с пробелом, но это не критично, что-нибудь придумаем.
Переделал опрос клавиатуры:
https://yadi.sk/d/VMfmfbZ4g1Rl5Q
Отказался от управления стрелками, сделал Q,A,O,P.
Во первых они не пересекаются при отжатии, во вторых в оригинальной игре такое управление.
Единственное P пересекается с пробелом, но это не критично, что-нибудь придумаем.
Хорошо бы сделать, чтобы вновь нажатая клавиша имела приоритет над предыдущими.
Т.е. если держишь влево, потом не отпуская ее нажимаешь вверх, то вверх имеет приритет.
И наоборот, если держишь вверх, потом не отпуская ее нажимаешь, влево, то влево имеет приоритет.
Оно вроде бы так и работает.. кроме влево-вверх, странно :)
Надо погонять еще не понял..
- - - Добавлено - - -
В любом случае управляемость стала лучше.
Отказался от управления стрелками, сделал Q,A,O,P.
Всё бы хорошо, но на УКНЦ не QUERTY, и для управления QAOP придётся левую руку загибать, а пальцы на правой перекрещивать.
Для какой-то из игрушек на УКНЦ я использовал 1/Q и 9/0 - так и на PC и на УКНЦ будет удобно.
Вообще-то, нормальные игрушки на PDP-11 используют для управления персом цифровую клавиатуру. Конкретно: влево - 4, вправо - 6, вверх - 8, вниз - 5, стрелять влево - 7, стрелять вправо - 9. У LAND'а (он же HELL) на Э-85 еще есть действие "подпрыгнуть", на это употреблялась клавиша ПФ2 (над восьмеркой). На УКНЦ, по всей видимости, для этого можно задействовать клавишу над восьмеркой, с минусом и знаком деления.
Не знаю наcчет нормальных игрушек для PDP-11 я ищу коды клавиш которые не пересекаются при отжатиии.., а то что было на PDP-1 малоинтересно..
Сейчас на реале посмотрю.. выберу что не пересекается
Не знаю наcчет нормальных игрушек для PDP-11
попробуй дополнительную клавиатуру в режиме ДКЛ и без него,
управление по направлению цифрами действительно есть классика!
алфавитки по любому другие нужны для реала, сам смотри иначе пальцы не удобно расположить
Вернул обратно стрелками управление, переделал, теперь одновременное нажатие кнопок отрабатывается:
https://yadi.sk/d/VMfmfbZ4g1Rl5Q
Вернул стрелки потому что в других "общеупотребимых" комбинациях все равно будут пересекаться коды отжатия..
Перенес отрисовку фона в ПП. Нужно только палитру подобрать. Посмотреть варианты оригинала на других платформах например MSX.
В других проектах можно полностью 8мицветный фон делать.
https://yadi.sk/d/VMfmfbZ4g1Rl5Q
теперь можно летать по диагонали
Вернул стрелки потому что в других "общеупотребимых" комбинациях все равно будут пересекаться коды отжатия..А они нужны, коды отжатия? По большому-то счету?
А они нужны, коды отжатия? По большому-то счету?
Когда одновременное нажатие обрабатываешь нужны. Как раз то что вверх и вниз одновременно редко нажимаешь косяк не очень заметен.
теперь можно летать по диагонали
Замечательно!!!
Кстати, наводка - печатать спрайты можно еще быстрее, если для каждой ширины спрайта сделать свою процедуру печати.
Кстати, наводка - печатать спрайты можно еще быстрее, если для каждой ширины спрайта сделать свою процедуру печати.
Здесь многовато спрайтов разных размеров.
На будущее если сам что-то буду делать то конечно унифицирую спрайты (8,16...).
S_V_B, а в этом проекте они (спрайты) не кратны 2-ум ? ну да желательно именно 8,16,32 - восьмёрка
наше всё )
при такой палитре
https://pic.maxiol.com/thumbs2/1572014315.1520060733.20191025143316463.png (https://pic.maxiol.com/?v=1572014315.1520060733.20191025143316463.png&dp=2)
голубой цвет информационной панельки раздражает. А вот игровой экранчик явно красивее в таких красках.
Из за не явных рахмеров спрайта (судя по всему) есть момент "не явного" цепляния за элемент перегородки (между двух черепов при небольшом смещении ), который не пропускает наш агрегат и ступорит его на высоте ползающей молнии, которая в это время "по теории" вспарывает ему металлическое животик.
- - - Добавлено - - -
А они нужны, коды отжатия? По большому-то счету?
для игр нужны, например игровой сценарий где шарик пинает пружинка - пока кнопка нажата пружинка анимационно накручивается сжимаясь всё сильнее, а значение стартовой скорости планомерно увеличивается , бац отпустили кнопку - угу как полетело! в общем для игровых сценариев очень нужно.
- - - Добавлено - - -
S_V_B, ты оптимистично из раза враз ориентируешся на мифические RGB-УК-НЦ, ребята
где вы видели такие машины живьём с конвейра без переделок и доработки криворукими радиогубителями?
У меня стоял цветной монитор дома и через меня прошло около 10-15 машин и все были GBR - а теперь поделитесь вашим опытом тех лет, где вы видели RGB правильные??????????
почитайте доки к фокалу и бейсику - красный цвет везде везде указан как [стюдень о]062
из раза враз ориентируешся на мифические RGB-УК-НЦ
В UKNCBTL нужно по умолчанию GRB поставить, я все время забываю переключать.
В UKNCBTL нужно по умолчанию GRB поставить, я все время забываю переключать.
слушай, а когда переключишь вруби РЫЦАРЯ - мсиксовского и погляди как отличная игра становиться абсолютно
не играбельной!!! и вот кто в классе был счастлив, обычный чел за любым РМУ или "счастливчик" за единственным цветным дисплеем - при условии установки ИТО90 пакета по сети на всех!!! )))
Родные ч.б квадратные мониторы - выдавали чёткую красивую градации, при этом антибликовый экран имели кстати ))) Мне и с колокольчиком от БК повезло - он градации моей УК-НЦ показывал исключительно красиво (!)
вруби РЫЦАРЯ - мсиксовского и погляди как отличная игра становиться абсолютно не играбельной!!
Товарищи кто писал этого рыцаря не озадачились сделать переключение палитры, я думаю его и сейчас не сложно вылечить.. но это не значит что нужно выкидывать цветной монитор :)
Просто два слова в коде поменять..
Мне еще проще я в своей программе учту все варианты, могу даже лишних добавить :)
Мне еще проще я в своей программе учту все варианты, могу даже лишних добавить
Не забудь поддержать 128-цветный режим)
Не забудь поддержать 128-цветный режим)
не забудь про эмулятор Титуса )
Не забудь поддержать 128-цветный режим)
Если не сложно скиньте кусок исходника, я его хоть сейчас вставлю :)
Разбирательства с таблицей строк я все время отодвигаю "на потом"..
Не могу себя заставить продолжить написание игровой логики.. вот пока и выдумываю "косметические улучшения"..
Работа будь она не ладна.. не дает сосредоточиться :)
Если не сложно скиньте кусок исходника, я его хоть сейчас вставлю
Исходника чего? )
Исходника чего? )
128-цветного режима
Вариант палитры под MSX.
Для разнообразия можно менять палитру на каждом этаже.
Вариант палитры под MSX.
Для разнообразия можно менять палитру на каждом этаже.
вот на твоём скрине то самое место, где наш кораблик не явно цепляется за один или другой "череп" и застревает, а молния прямо по нему ползает! засада! )
не явно цепляется за один или другой "череп" и застревает
Все прекрасно проходит, на реале тоже.
- - - Добавлено - - -
Погоняй эту:
https://yadi.sk/d/VMfmfbZ4g1Rl5Q
Скриншот скинь, что-то не пойму за что там цепляется. Не за что вроде.
Скриншот скинь, что-то не пойму за что там цепляется. Не за что вроде.
я же пишу - цепляется при не большом смещении за правый или левый череп и ходу выше не даёт,
при этом - это край спрайта видимо, сейв стэйт для эмулятора
http://archive.pdp-11.org.ru/vid/zacep.uknc
- момент когда вверх не пускает, если сместишься ближе к левому зацепишься за него - почему границы спрайта так далеко от размеров ракеты????
Понял про что ты. То что вплотную подойти к черепку нельзя, это и в оригинале так. Дело в том, что тайлы размером 8 точек соответственно и проверка идет с шагом в 8 точек, а тайл черепка с краю прорисован на 4 точки... соответственно место вроде выглядит пустым но там тайл.. значит занято.
место вроде выглядит пустым но там тайл.. значит занято.
ты очередному забросившему игру из за таких вот мелких багов будешь объяснять ?
а если такие зацепы ещё в более критичных местах всплывут, ох далече до релизу, с меня
любая поддержка, только вот "живая" машинка пока в сторонке.
я не критикую, я просто знаю, что красиво и чётко с чутким управлением и соответствием ожидаемому поведению картинки игрушки - сделали Сегу - одной из самых популярных приставок всех времён )
И как обидно терять "пройденные" секторы и начинать уровень с начало из за уголка да ещё и "не видимого"
- - - Добавлено - - -
о что вплотную подойти к черепку нельзя,
да на фига мне вплотную к черепу??? не пускат вверх (ты что не читаешь меня???
загрузи стейт и сразу жми вверх - я вот об этом !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!
- - - Добавлено - - -
пол беды если бы там не было "молнии" пока игрок будет спасаться она его или покалечит или убьёт,
как думаешь на какой раз он просто бросит играть в такое?
сразу жми вверх
кто тебе мешает сдвинуться или поехать по диагонали?
И как обидно терять "пройденные" секторы и начинать уровень с начало из за уголка да ещё и "не видимого"
Я объяснил же, что в оригинальной игре сделано именно так, и единственный выход это перерисовать тайл чтобы он стал шире.. но и без этого там все прекрасно проходит.. если не тормозить :)
- - - Добавлено - - -
Запусти в DOSBox, только скорость убавь Ctrl+F11
https://yadi.sk/d/y4l9MXGP6gTyTg
S_V_B, нет я не буду оригинал гонять ибо эту игру никогда не видел до этого, узнал о ней от тебя и выбирал её не я. я не понимаю почему в прямоугольник вписанная ракета (спрайт) имеет границы с таким запасом? я же транслировал спрайты для своих проектов в Магнифайере для УК-НЦ когда-то = все спрайты были кратны 2 по X & Y - далее я всегда старался, что бы границы (рамка) визуально совпадала с картинкой - я конечно не программист и проверку совпадения я всегда "не оптимально так" высчитывал по координатам левого верхнего угла спрайта!!! эх, потерян движок и редактор - я бы показал как там было относительно удобно для любого,
любой школяр мог простейшее граф. ПО делать - конечно проекты уровня "Рыцаря" - это уже глубже там
были PPL CPL шапки-ини-исходники ))) Плохо, что похоже никто не щупал эту разработку - в итоге UKLOAD - убогий знают все, а реальный проект как будто не было, и со "Страной Монстров" та же песня.
Дело не в спрайтах и тайлах, а в представлении того же фона в памяти. Ты же не думаешь, что проверяется каждая точка на экране?
В памяти это массив всего 40х17 байт.. соответственно и ограничения на дискретность проверки.
Дело не в спрайтах и тайлах, а в представлении того же фона в памяти.
извини - тут я тебе не советчик и не оценю беседу, поскольку в моём понимании
я со спрайтами оперировал как с символами.
у меня есть прямоугольник с координатами левого верхнего
мне понятно, что "супер-оптимайз-профи" пишут супер хитро и видеостроки там какие-то
но я же не программер, я смотрю что от молнии сбежать можно нажав вверх 1 раз, переждать и потом свалить когда молния уползёт, а тут бац вверх то и низя )))
- - - Добавлено - - -
если считаешь, что это не баг - ты автор , тебе виднее
Сделал интерактивную "шпаргалку" по палитрам:
https://yadi.sk/d/4-LHUGBcjP3_cQ
Сделал интерактивную "шпаргалку" по палитрам:
Я не понял, что ты сделал)
Но вспомнил, что ты просил исходник работы со 128 цветами.
Я не понял, что ты сделал)
Программка в которой можно визуально подобрать-поменять палитру (получить значения).
Но вспомнил, что ты просил исходник работы со 128 цветами
или тут (та же версия - листинг программы)
http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/titus_paltestUKNC/
- - - Добавлено - - -
Программка в которой можно визуально подобрать-поменять палитру (получить значения совсем не знаю, что за мультиколор там? получить значения чего?
получить значения чего?
Значение тех двух волшебных цифр которые ты сам наугад перебирал чтобы изменить палитру.
Сверху нарисованы стандартные цвета, снизу меняются при изменении битов в тетрадах.
Хочешь например изменить красный цвет на желтый.. смотришь где сверху красный.. и под ним устанавливаешь биты G и R.. (снизу отобразится текущий желтый цвет).
Берешь получившиеся значения (два слова) и записываешь в ячейки 2470 и 2472 или подставляешь в свою программу смены палитры.
или подставляешь в свою программу смены палитры.
да нет у меня никакой своей программы, была бы я бы не приставал, а колупался бы с ней )
прежде чем в указанные ячейки отправлять, там наверняка подготовительная часть страниц на 5
ассемблера, причём отдельно по ПП и ЦП )
да нет у меня никакой своей программы,
сам же писал:
"не помню в каком конкретно CPL или PPL за палитру стартовую отвечали две
большущие переменные в которые при INI то ли посылались то ли какое то другое действие происходило
два длиннющих двоичных числа
я эксперементировал так,
писал в эту палитру 0, рисовал на экран
потом делал inc пока не набиралось значение этих длиннющих двоичных чисел и полуяалась эффект
повления скажем заставки из мглы ))) "
Это и есть те два "длиннющих" числа :)
сам же писал:
да я не отрицаю, так и было, но этих стартово-настроечных исходников увы нет и восстановить их надежды 0
если редактор Магнифайер и библиотека для работы с таблицей спрайтов ассемблере\паскале была официальным ПО от разр. 609шк(затем F-BIT), то ppl.(mac,obj) и cpl.(mac,obj) создавались последовательно
одним супер_гуру на моей домашней машинке в плане обучения паскалистов "низкому уровню" и возможности программно полный контроль над клавиатурой и экраном передать программисту + там же были улучшенные вспомогательные по работе со шрифтами, музыкой и спрайтами процедуры и при этом (в отличие от UKLOAD) - это не требовало резидентой части в памяти ПП и весило меньше и весело было ) Повесить на красный "СТОП" игровую паузу - я считаю очень круто в плане программирования для УК-НЦ.
Но вспомнил, что ты просил исходник работы со 128 цветами
Можно в двух словах объяснить "физику процесса", пока не начал тупо переписывать.
Можно в двух словах объяснить "физику процесса"
https://zx-pk.ru/threads/20686-mnogo-tsvetov-na-uknts!.html
нет там "физики процесса" :(
S_V_B, а ты тест палитры на своей реальной машинке запусти и сфотай экран, пожалуйста ! )
Можно в двух словах объяснить "физику процесса", пока не начал тупо переписывать.
В исходнике каждая строчка с комментарием. Ну почитай)
И почитай тему, ссылку на которую дал хобот)
Titus, а что за "наводка" от Алексея упоминается в теме и где то она есть в виде текста?
Titus, а что за "наводка" от Алексея упоминается в теме и где то она есть в виде текста?
Ты о чем?
[quote="Titus;1032588"]
>Ты о чем?
Первый свой пост в теме по ссылке перечитай и уточни о чём ты )))
Первый свой пост в теме по ссылке перечитай и уточни о чём ты )))
По какой ссылке-то? )
- - - Добавлено - - -
Все понятно о чем ты)
Благодаря наводке Alex_K удалось выяснить, что на УКНЦ гораздо больше цветов, нежели всегда считалось
Наводка как раз о том, что есть дополнительные биты яркости. А где она упоминается в тексте - не помню)
Наводка как раз о том, что есть дополнительные биты яркости. А где она упоминается в тексте - не помню)
Техническое описание (http://www.emuverse.ru/downloads/computers/UKNC/docs/uknc-to.pdf), страница 45, таблица 14.
Я так понимаю, что на большинстве машин (у которых нет яркости) это работать не будет?
Я так понимаю, что на большинстве машин (у которых нет яркости) это работать не будет?
Это не будет работать на некоторых машинах с КВАНТ-овской схемотехникой, там где не запаяна микросхема ЛП9 или ЛН2, да еще шесть резисторов. В данном варианте возможно только восемь основных цветов. Но это исправимо, разводка на плате есть, достаточно впаять. А вот на платах со схемотехникой СЭМЗ выводы с P0 по P2 висят в воздухе и не используются, поэтому возможны только 16 цветов (одновременно только восемь).
P0 по P2 висят в воздухе и не используются, поэтому возможны только 16 цветов (одновременно только восемь).
Но мы можем и там допаять)
Но мы можем и там допаять)
Да, перерезав часть дорожек, да допаяв навесным монтажем в воздухе недостающие элементы.
Ещё бы какой добрый человек создал бы тему в которой популярно объяснил что нужно делать.
Для не электронщиков, как довести до ума УКНЦ в "домашних условиях".
Цены бы такому добродетилю не было :)
Ещё бы какой добрый человек создал бы тему в которой популярно объяснил что нужно делать.
Для не электронщиков, как довести до ума УКНЦ в "домашних условиях".
Цены бы такому добродетилю не было
всё это уже публиковали и в разделе это есть.
и фотки, и обсуждение, и инструкции.
Видел только обсуждения.. ни к чему не приведшие..
https://zx-pk.ru/threads/12562-vosstanavlivaem-uknts.html
https://zx-pk.ru/threads/15681-problemy-s-videovykhodom-unkts.html
https://zx-pk.ru/threads/15895-uknts-i-scart.html
https://zx-pk.ru/threads/20752-glyuki-uk-nts-obrezaet-izobrazhenie-sleva-i-sverkhu.html
https://zx-pk.ru/threads/20221-uknts-na-6106-dajot-tolko-zeljonyj.html
https://zx-pk.ru/threads/18780-uknts-palitra-i-videovykhod.html
https://zx-pk.ru/threads/20222-uknts-parametry-razvertki.html
Ну и чего ты мне накидал???
Какие-то непомерно длинные темы по восстановлению плат УКНЦ.
Ты бы по такой инфе взялся запаять недостающее?
Я же о чем говорил.. конкретная тема.. восстановление управления яркостью.. две фото до и после.. на после подписать номиналы резисторов...
Закрепить тему навечно в шапке форума.. чтобы не утонула.. и не искать потом мучительно каждому страждущему..
как-то так.
Возможно в тех темах где-то и мелькнет зерно истины... но у меня нет столько времени чтобы перебирать все скрупулезно.
Ну и чего ты мне накидал???
ты напомнил мне начало самое у Стругацких "ЖУК В МУРАВЕЙНИКЕ", спасибо! )
- - - Добавлено - - -
Ты бы по такой инфе взялся запаять недостающее?
ни за что )
randomizer
03.11.2019, 23:20
Нужных номиналов резисторов у меня не оказалось когда полез паять.
Поэтому у меня запаяно по паре последовательно соединенных резисторов вместо одного.
На сайте miklab.ru (https://miklab.ru/) есть нормальная схема. Правда он не доспупен на данный момент.
https://i.ibb.co/pP6PP6D/DSC-0182.png (https://ibb.co/pP6PP6D)
То что нужно! И без лишних слов.
Допаял ЛН2
вот то что было до:
https://pic.maxiol.com/thumbs2/1573231244.531173042.def.png
вот что стало после:
https://pic.maxiol.com/thumbs2/1573231338.531173042.mod.png
В эмуляторе :
https://pic.maxiol.com/thumbs2/1573232456.531173042.20191108230002.png
Что может быть не так?
А вот так на другой машине (у которой изначально была яркость) там стоит микросхема ЛП9
https://pic.maxiol.com/thumbs2/1573234970.531173042.old.png
Судя по картинке - проблема с яркостью по синему каналу.
randomizer
09.11.2019, 14:26
Фото с ЭЛТ монитора. Качество не ахти, фотографировал с телефона, но примерно ясно как выглядит.
https://i.ibb.co/JB7qT7L/DSC-0204.jpg (https://ibb.co/JB7qT7L)
И да, явно с синим каналом что-то. Либо в ЛН2 логический элемент неисправен, либо с резисторами напутано.
Я изначално ставил ЛП9, но с ней яркости инвертированны.
поменял ЛН2, заработало:
https://pic.maxiol.com/thumbs2/1573488928.531173042.new.png (https://pic.maxiol.com/?v=1573488928.531173042.new.png&dp=2)
randomizer
получается у тебя машина RGB, а у меня GRB
получается у тебя машина RGB, а у меня GRB
У тебя самая правильная машина) И теперь еще и шикарная палитра)
Теперь можно продолжать эксперименты с палитрами :)
randomizer
11.11.2019, 19:39
получается у тебя машина RGB, а у меня GRB
На мониторе отдельный BNC разъем на каждый цвет. Я красный с зеленым несколько раз местами менял.
Как они там сейчас стоят затрудняюсь сказать. Единственный ориентир - в Lode Runner портированном Никитой с БК кирпичи красные.
Теперь можно продолжать эксперименты с палитрами
Все таки это не совсем палитра. Есть базовая палитра в 16 цветов. А а остальное по моему просто управление температурой базовой палитры.
А а остальное по моему просто управление температурой базовой палитры
Ну хоть что-то.
Все таки это не совсем палитра. Есть базовая палитра в 16 цветов. А а остальное по моему просто управление температурой базовой палитры.
Что значит не совсем? Все палитры в мире - это управление температурой базовой 8-цветной палитры)
Ребят, я залез ещё раз, посмотрел по ТО.
Вот как выглядит первое слово регистра управления цветом:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Y R G B Y R G B Y R G B Y R G B
Если мы смотрим на стандартную палитру, в которую основная часть экрана устанавливается на меню загрузки и в меню УСТ, то видим что первое слово там такое: 135230, то есть,
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Y R G B Y R G B Y R G B Y R G B
1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0
----------- ----------- ----------- -----------
При этом это видно, что в записи битов мы получаем YRGB.
Если же поменять биты R и G - порядок бит в записи будет YGRB.
Получается, что в UKNCBTL палитры обозначены верно.
Ещё раз, речь не про то, какая палитра "правильная" или более распространённая.
Речь просто про обозначение в меню эмулятора - я вижу что оно соответствует порядку бит.
randomizer
11.11.2019, 22:55
Если брать конкретно мой экземпляр который подлючен к монитору - он GRB. Есть такая штука как sync-on-green (https://en.wikipedia.org/wiki/Component_video_sync), на моей плате можно подмешать синхросмесь как раз к зеленому(в раскладке GRB). И по схеме PL2-G, PL1-R, PL0-B
Но GRB не соответствует ни тех описанию, ни естественности последовательности RGB. Поэтому даже не осознавая этого я остановился на порядке RGB :)
Было бы неплохо если всем кто что то делает в расчете на цветной монитор использовать RGB последовательность ;)
- - - Добавлено - - -
Что значит не совсем? Все палитры в мире - это управление температурой базовой 8-цветной палитры)
Т.е. идет управления яркостью цветовых компонент сразу для всех 8-ми цветов. Что несколько разочаровывает.
Т.е. идет управления яркостью цветовых компонент сразу для всех 8-ми цветов. Что несколько разочаровывает.
Как раз не для всех, а для конкретной компоненты R, G или B. Есть и общая яркость. Это и позволяет получить такое количество цветов.
Чтобы не перестраивать таблицу строк для изменения яркости RGB можно менять первые три бита ячейки 2462.
Заодно можно переключить в режим 320 точек: BIS #20,@#2462
Для одной строки можно поменять либо палитру, либо яркость - потому что это разные регистры - управления отображением и управления цветом.
А так, крутить палитрой или яркостью можно довольно быстро, изменение одного или двух слов на строку в памяти ПП.
Но перед этим конечно нужно подготовить переделанный список строк - так чтобы все теги были 4-словные.
Почему нельзя?
четырехсловный элемент регистр отображения(с указателем на пустую строку), четырехсловный элемент регистр палитры(с указателем на пустую строку), двухсловный с указателем на видимую строку.. и.т.д. для всех строк.
Вопрос был в другом, из-за многократного увеличения таблицы строк не будет ли тормозить вывод на аппаратном уровне (моргать например)?
На вопрос "Зачем?":
Таким образом можно сделать кучу замечательных эффектов: градиент, движущийся градиент,"ЭЛТ растр"...
Почему нельзя?
четырехсловный элемент регистр отображения(с указателем на пустую строку), четырехсловный элемент регистр палитры(с указателем на пустую строку), двухсловный с указателем на видимую строку.. и.т.д. для всех строк.
Как тут понимать "с указателем на пустую строку"?
Насколько я понимаю, каждый элемент списка строк указаывает на адрес с данными, соответственно, каждая строка выводится на экран, нельзя сделать элемент, который не выводит строку - за исключением строк которые "не влезают в экран" сверху и снизу и поэтому не видны.
Как тут понимать "с указателем на пустую строку"?
оговорился - на невидимую строку. например 177460. (как в стандартной таблице)
- - - Добавлено - - -
или будут пропуски строк?
просто я подумал, что если видео контроллер видит что перед ним регистр отображения или палитры, он его меняет и не включает в счетчик строк.
или будут пропуски строк?
просто я подумал, что если видео контроллер видит что перед ним регистр отображения или палитры, он его меняет и не включает в счетчик строк.
Изменение палитры или отображения - не отменяет отображение строки на экране)
Единственный случай, когда тебе может потребоваться пропустить строку, это когда ты собираешься поменять И регистр отображения, И регистр палитры одновременно.
Единственный случай, когда тебе может потребоваться пропустить строку, это когда ты собираешься поменять И регистр отображения, И регистр палитры одновременно.
Я про это и говорю. И будет ли при этом пропуск видимых строк?
Я про это и говорю. И будет ли при этом пропуск видимых строк?
Строки не пропускаются никогда, они отображаются всегда.
Просто иногда, чтобы поменять что-то в палитре и регистре отображения одновременно, требуется вывести пустую строку (т.е. в которой все пикселы выключены), или две пустых строки, чтобы поэтапная смена параметров не отобразилась в виде какофонии на экране.
Строки не пропускаются никогда, они отображаются всегда......... требуется вывести пустую строку
Тогда на экране отобразится пустая строка (я имел в виду на экране будет пропуск)?
Тогда на экране отобразится пустая строка (я имел в виду на экране будет пропуск)?
На экране отобразится та строка, которую ты укажешь.
У контроллера нет понятия 'пустых строк'. В строчке всегда отображается линейный фрагмент памяти. Если в памяти на этом месте будут нули, то строка будет выглядеть пустой) Я не знаю, как еще обьяснить)
Посмотри исходник теста палитры, там комментарии на каждой строке, и попробуй вникнуть)
Посмотри исходник теста палитры, там комментарии на каждой строке)
Такую фишку (смену сразу двух регистров) можно использовать только в статическом паттерне, а еще лучше с одинаковыми строками которые можно адресовать "одну ко многим"..
если я правильно понял исходник.
- - - Добавлено - - -
В динамичной картинке такой фокус не пройдет..
- - - Добавлено - - -
У контроллера нет понятия 'пустых строк
а как же
Ячейки с 2270 по 2362 - 15 неотображаемых видеострок
2474,2476 - разделительная видеострока между верхней информационной
строкой и экраном пользователя/установки. Адрес начала
видеопамяти - 177460 (длина видеостроки - 120(8))
а как же
Ячейки с 2270 по 2362 - 15 неотображаемых видеострок
2474,2476 - разделительная видеострока между верхней информационной
строкой и экраном пользователя/установки. Адрес начала
видеопамяти - 177460 (длина видеостроки - 120(8))
Полный кадр в УКНЦ содержит 312 видеострок. Отображаемых из них только 288, остальные 24 приходятся на обратных ход луча по кадру и не отображаются, но всё равно должны быть описаны в таблице видеострок. С самого верха не отображаются первые 19 видеострок таблицы, потом идут 288 отображаемых, ну и остальные 5 также не отображаются.
Вообще-то по стандарту должны не отображаться 24 видеостроки, но разработчики почему-то сделали 19, в итоге на всяких ТВ-тюнерах не видно первые 5 отображаемых видеострок.
Разобрался, посмотрел таблицу строк которая на емуверсе в RAMLIST.
Спецэффекты отменяются :(
У нас препод говаривал: "я уже двадцать лет сопромат вам дебилам вдалбливаю.. уже сам потихоньку разбираться начал" :)
24 приходятся на обратных ход луча по кадру и не отображаются
В них и можно что угодно менять, но толку то - один раз и для всего экрана.
Хотя если игровой экран разделен на части.. между ними можно впихнуть.
Вообще было бы здорово где-то описать всё вместе что происходит в УКНЦ по видео - формат видеокадра со всеми частотами, список строк и тэги, палитры, много цветов итп.
Вообще было бы здорово где-то описать всё вместе что происходит в УКНЦ по видео - формат видеокадра со всеми частотами, список строк и тэги, палитры, много цветов итп.
Тут такая незадача.. пока не знаешь..очень нужно, а когда постигнешь дзен.. то и нафиг..
Я постараюсь в игрушку побольше интересных фич воткнуть и исходник расписать.
- - - Добавлено - - -
Зря по моему они регистры к адресам привязали.. малость бестолково получилось.
Если бы как я первоначально понял, когда встретил в таблице регистр-изменил его-и дальше пошел.. было бы гораздо круче.
В них и можно что угодно менять, но толку то - один раз и для всего экрана.
Хотя если игровой экран разделен на части.. между ними можно впихнуть.
Да, эффективно будет только если экран разделить на части, и для каждой части свою палитру.
через-строчная яркость:
https://pic.maxiol.com/thumbs2/1574242385.1388899422.20191120150754.png (https://pic.maxiol.com/?v=1574242385.1388899422.20191120150754.png&dp=2)
через-строчная яркость:
Это ненужный эффект)
Зато как телевизор "Рубин" и если не яркость чередовать, а палитры будет нет так "вырвиглазно" :)
S_V_B,
Это ненужный эффект),
http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/ELITE/
Люди добрые подскажите методику вычисления свободной памяти.. на AZ драйве не запускается.. моя программа.. чтобы не считать блоки.. и др... чтобы после загрузки понять сколько в данной конфигурации free memory, а не то что у тебя загружено.. по адресу nn то-то.. а по другому... короче "MEM /C/P"
S_V_B, а если в итоге так сложиться, что придётся твою игрушку оформлять с мин. системой что бы в память влезала - ты сильно расстроишься ?
- - - Добавлено - - -
на AZ драйве не запускается.. моя программа..
а что пишет то? ты случаем AZ в ПП не затираешь? я AZ не юзал, эмулятора его нет, а паять рабочие платы я не возьмусь ради AZ - ))) вкусно, но дорого ! шикарно, но муторно (при наличии готека и флэшь IDE - да мне бы и дискет хватило бы для счастья , если честно (зык-зык)
- - - Добавлено - - -
утилиту от Oldskool напомнил
Peripheral Processor Memory Manager v.2.00 by Tiger
*
MEM v.2.00 /H for brief help
*/H
PPU Memory Manager v.2.00. Produced by Tiger (LDN)
Use following switches:
/I Memory info
/F:addr Free memory segment beginning on octal addr
/U Free all memory
/V Interrupt vectors info
/R Restore standard vector values
/H This text
Ya welcome with yo questions on phone: 376-84-01, Dennis
*/I
╙╣╣╣╣╣╣╣╣╣╚╣╣╣╣╣ ╣╣╚╣╣╣╣╣╣ё
╥ Address ╥ Size ╥ Free ╥
╔╣╣╣╣╣╣╣╣╣╟╣╣╣╣╣ ╣╣╟╣╣╣╣╣╣╝
╥ 023660 ╥ 000710 ╥ * ╥
╥ 024576 ╥ 000176 ╥ * ╥
╥ 025002 ╥ 052762 ╥ ╥
╕╣╣╣╣╣╣╣╣╣║╣╣╣╣╣ ╣╣║╣╣╣╣╣╣╧
Total: 000003 segments, 052762 free bytes.
*
Я расстоюроюсь очень.. поскольку в ней потеряется смысл.. летать и убивать зверюшек.. уже можно... но весь смысл этого лабиринта в том что ты должен таскать за собой танк.. который снабжает тебя энергией...(те нужно отслеживать.. в какой комнате танк.. на нем ли .. есть ли лифт.. для танка..)..... долбаный лазер.. мне не нравится.. для хреновой тучи пулек тоже нужно массив и отдельную обработку.. короче нужно еще 10к.... и вообще я задумался над версией №3..... чтобы унифицировать все.. я как-то разделил игрока и врагов-это не верно.. нужно просчитывать все отдельно, а по сотому вектору выводить общий список (чтобы выводить только изменения на экран.. список объектов и признак выводить-нет)... тогда мы выиграем еще..
- - - Добавлено - - -
а что пишет то? ты случаем AZ в ПП не затираешь?
AZ как раз находится в ЦП.. и сообщение, что не хватает памяти.. немного не информативно.. хочу знать сколько.. без танцев
AZ как раз находится в ЦП.. и сообщение, что не хватает памяти.. немного не информативно.. хочу знать сколько.. без танцев
SH MEM
оформляй запуск через COM файл - что бы выгружал всякие SL-ли )
S_V_B, создай .COM файл и в нём пиши UNLO все ненужные .SYS и\или SE SL OFF,
а последней командой запускай игру, запуск ком.файла @<ИМЯ УСТр-ва :> <ИМЯ ФАЙЛА>
- - - Добавлено - - -
S_V_B, посмотри настройку для USR - NOSWAP актуально только для реальных дискет, поэтому переинач на SE USR SWAP
- - - Добавлено - - -
AZ как раз находится в ЦП..
хм...хорошо это или плохо?
хм...хорошо это или плохо?Хорошо. Во-первых, конфликтов с загружаемиыим в ПП материалами не может быть в принципе и, во-вторых, ИМХО, драйвер AZ меньше, чем MZ.
аааааааааааааааааааа
https://youtu.be/fpJPphtE9so
- - - Добавлено - - -
Хорошо. Во-первых, конфликтов с загружаемиыим в ПП материалами не может быть в принципе и, во-вторых, ИМХО, драйвер AZ меньше, чем MZ.
это очень хорошо! )
Вопрос к электронщикам: возможно ли прикрутить к УКНЦ звук через параллельный порт, например:
https://pic.maxiol.com/thumbs2/1576391859.630666996.1bf17bab54bdc0591e2.jpg (https://pic.maxiol.com/?v=1576391859.630666996.1bf17bab54bdc0591e2.jpg&dp=2)
На ПЦ доступ:
"The AY chip is accessable thru two ports - 0x0378 and 0x037A. The 0x0378 is data port and 0x037A is control port."
Как это будет выглядеть для УКНЦ (порты)?
ссылка на первоисточник:
https://habr.com/ru/post/218763/
Вопрос к электронщикам: возможно ли прикрутить к УКНЦ звук через параллельный порт, например:
Я, хоть и не электронщик, но сразу тебе скажу - железо можно, нужен софт. И нужно учесть, что у УКНЦ по умолчанию протокол принтера - ИРПР (https://zx-pk.ru/threads/16148-uknts-parallelnyj-port.html). Это Центроникс мехом вовнутрь.
железо можно, нужен софт
Не вижу проблем. Для этого и спрашиваю. Вполне простая штука, спаяю, на ПЦ опробую, потом и на УКНЦ перенести софт можно.
Я просто не в курсе ЛЕ, ИР и пр. как на УКНЦ это в железе будет и как к порту обращаться. Для ПЦ все просто, я выше написал.
- - - Добавлено - - -
Очевидное преимущество -
1. людям не нужно будет УКНЦ вскрывать.
2. Простота (в отличии от предложений ММ).
- - - Добавлено - - -
Нужно авторитетное мнение и в идеале к схеме пририсовать LPT УКНЦ и сказать, что регистр (порт) NN - register select, NN+1 - register data
регистр (порт) NN - register select, NN+1 - register data
http://hobot.pdp-11.ru/BIBLIOTEKA/uknc_rsvu_djvu.rar - по ссылке документ "Работа с внешними устройствами" что то пригодиться возможно тебе?
- - - Добавлено - - -
в дистр. RT-11 так же есть исходник драйвера печати, вдруг то же поможет?
исходник драйвера печати, вдруг то же поможет?
Лучше бы с железкой кто-нибудь помог, с программой разберемся.
Не вижу проблем. Для этого и спрашиваю. Вполне простая штука, спаяю, на ПЦ опробую, потом и на УКНЦ перенести софт можно.
Я просто не в курсе ЛЕ, ИР и пр. как на УКНЦ это в железе будет и как к порту обращаться. Для ПЦ все просто, я выше написал.
Кстати, вот это "Ввод и вывод звука через АЦП и ЦАП" из ж. "Персональный компьютер УКНЦ" №1 1994 год (http://uknc.narod.ru/DOC/PK_UKNC_1-94.doc) никак не пригодится?
Кстати, вот это "Ввод и вывод звука через АЦП и ЦАП" из ж. "Персональный компьютер УКНЦ" №1 1994 год никак не пригодится?
Подобный вывод будет занимать все время процессора. А так как еще и скорость процессора в разных моделях может быть разной, то и звук будет выводиться разной тональности.
Подобный вывод будет занимать все время процессора.
Поэтому мы и не рассматриваем ЦАП (Covox) - только AY.
Covox еще память жрет немеряно, которой у нас нет (было бы что-то вроде SMK-512), а так смыла нет Covox городить.
В итоге схема уже есть нужно только к УКНЦ подключить :)
В итоге схема уже есть нужно только к УКНЦ подключить
снова макароны - проводки и очередная плата без корпуса прямо на столе? брррррр менталитет непобедим?
снова макароны - проводки и очередная плата без корпуса прямо на столе? брррррр менталитет непобедим?
Менталитет некоторых - точно не победим. Толком не прочитали, знакомые слова вырвали из контекста - и вагон советов, тележка мнений
снова макароны - проводки и очередная плата без корпуса прямо на столе
Да действительно Hobot, прежде чем бырркать стоило ознакомится, тем более по тексту я как раз акцентировал внимание, что не нужно вскрывать драгоценную тушку и тянуть провода.
Плата самодостаточна, воткнул в разъем ИРПР и забыл.
Да действительно Hobot, прежде чем бырркать стоило ознакомится, тем более по тексту я как раз акцентировал внимание, что не нужно вскрывать драгоценную тушку и тянуть провода.
Плата самодостаточна, воткнул в разъем ИРПР и забыл.
ладно, с хунтой понятно - человека тяжолой судьбы за час не перевоспитаешь, но ув. тов. S_V_B ?
Похоже это вы не внимательно моё сообщение прочитали, разжовывать, оправдываться не вижу смысла.
https://youtu.be/RXoL5996f3s -(про видео) это вот то о чём я упоминал на образах от доктора г.к.Титуса
вагон советов - где?
телега мнений - да моё мнение о вас Хунта неизменно, только вот беда, не в моих силах вам помочь, вам психолог (пока ещё) нужен, профессионал, усиленная терапия и возможно специфические практики\тренинги...
не в моих силах вам помочь
ржунимагу
Похоже это вы не внимательно моё сообщение прочитали
снова макароны - проводки и очередная плата без корпуса прямо на столе? брррррр
Куда же внимательней, если речь о той плате которую я хочу подключить... то нет там никаких макарон.
И причем тут двухголосая перделка, речь же про AY-3-8910.
И чем плохо мое желание слышать в игрушке не "кхрр-кхррр",а "пиууу-пиуу" :)
видео) это вот то о чём я упоминал на образах от доктора г.к.Титуса
Двухголосый синтезатор занимает все время процессора.
А AY - нет, и качество имеет значительно выше.
Куда же внимательней, если речь о той плате которую я хочу подключить... то нет там никаких макарон. а ты в П-порт её вгонять собрался как?
И чем плохо мое желание слышать в игрушке не "кхрр-кхррр",а "пиууу-пиуу"
А чем плохо моё желание корпуса красивого вместо платы голой?
А чем плохо моё желание корпуса красивого вместо платы голой?
В чем проблема? Рисуешь в автокаде и печатаешь на 3D принтере - любого цвета.
Или у кого возникнет бизнес-идея и он сделает готовое устройство - покупаешь у него..
Сидя на диване - ничего не вырастет :)
- - - Добавлено - - -
а ты в П-порт её вгонять собрался как?
Как??? Берешь правой рукой (если правша) и вставляешь (без чрезмерных усилий) :)
а ты в П-порт её вгонять собрался как?
Автогеном (с) Анекдот
В чем проблема? Рисуешь в автокаде и печатаешь на 3D принтере - любого цвета.
Или у кого возникнет бизнес-идея и он сделает готовое устройство - покупаешь у него..
Сидя на диване - ничего не вырастет
менталитет непобедим
вот ты повозмущался непонятно о чём, а моё сообщение ни капли смысла не утратило и не зачем было шуметь
Я не могу понять о чем дебаты??
Аксиома:
1. Для PC устройство сделано и работает.
2. ПП укнц ни чем не отличается от pc кроме того,что инвертирован.
Вопрос был прост: доработать схему для УКНЦ (добавить инвертор, пририсовать распиновку ПП укнц) и все.. или сказать "это не сработает" и объяснить почему.
Вопрос был прост: доработать схему для УКНЦ (добавить инвертор, пририсовать распиновку ПП укнц) и все.. или сказать "это не сработает" и объяснить почему.
Зачем тебе инвертор, если инвертировать можно программно? Лишние микросхемы только.
randomizer
16.12.2019, 19:00
вагон советов - где?
телега мнений - да моё мнение о вас Хунта неизменно, только вот беда, не в моих силах вам помочь, вам психолог (пока ещё) нужен, профессионал, усиленная терапия и возможно специфические практики\тренинги...
Товарищъ hobot знатный троль как оказывается. Как по вашему мнению, у скольких людей вы отбили желание писать что то на форуме? Вроде мечтаете что кто то придет и начнет творить для УКНЦ и при этом же отбиваете желание у творческих людей обсуждать что то на форуме. Вы уж определитесь в своих желаниях.
Зачем тебе инвертор, если инвертировать можно программно?
Лучше один раз припаять микросхему чем каждый раз инвертировать программно и тратить такты.
Товарищъ hobot знатный троль как оказывается.
Да лана, какой из него троль? Человеку просто нечем заняться. Программирует - так себе, RT знает - только со шпаргалками, паяльник - орудие пытки, чем ещё человеку заняться? Ходит, пристаёт ко всем - можно я тебя поем? :)
Я может и сам осилю эту штуку за месяц другой методом проб и ошибок но есть же люди для которых это дело получаса, а я бы тем временем дальше писал с учетом данного улучшения :)
Лучше один раз припаять микросхему чем каждый раз инвертировать программно и тратить такты.
Какие такты? Не придумывай) У тебя на подготовить данные для AY уйдет в 1000 раз больше тактов, чем на инверсию)
И кроме того, ты для себя разве только делаешь? Если для всех, то думай об экономии чужих микросхем, плат и времени)
p.s.: Люди для того и придумали программирование, чтобы избавляться от лишних корпусов) А ты наоборот)
Люди для того и придумали программирование, чтобы избавляться от лишних корпусов) А ты наоборот)
Люди также придумали акселераторы и прочие плюшки чтобы избавить нас от лишнего программирования :)
- - - Добавлено - - -
Если для всех, то думай об экономии чужих микросхем, плат и времени)
на мой сугубо непрофессиональный взгляд - инвертор это что-то за "три рубля пучок" :)
Поэтому и спрашиваю проффи...
Товарищъ hobot знатный троль как оказывается
поздравляю с фундаментальным открытием, я всё думал полетит от вас кал в меня ещё или нет...
и вот нате вам...бабах! и главное мораль в конце - совет что делать и как мне теперь быть...
Мои мечты, прямые ссылки, некоторые комментарии - только ради улучшить ситуацию,
болезненно воспринимающие люди с проблемами - имхо: хотящие странного, считающие
наличие "отладчика" в эмуляторе - самой главной фишкой - и если для кого то это не так
смирится с этим им сложно по всей видимости. В любом случае - сильно сомневаюсь, что мои
посты могут творческому человеку чем то помешать? Вам видимо застрял мой пост в теме эмулятора?
Ну так тролль скорее вы судя по ответу, да к тому ещё и хам ) Но и это я мимо пропускаю ибо
для несчастных, Хоботом обиженных, обруганных и обездоленных нету средства.
Люди также придумали акселераторы и прочие плюшки чтобы избавить нас от лишнего программирования
Именно лишнего) А тут лишним будет инвертор.
По теме.
Как я вижу на схеме УКНЦ, на разьем принтера выведен порт А через инвертор с открытым коллектором, выведен порт B напрямую, младшая часть порта C напрямую, и старшая часть порта C через инвертор открытым коллектором.
Я бы подключил AY к порту B (DA0..DA7), а так же минимальные управляющие выводы на младшую часть порта C. А именно - BC1 и BDIR (на PC0 и PC1). Таким образом, мы бы получили полное управление AY.
К сожалению на разьем принтера не выведен ресет, поэтому хорошо бы сделать цепь сброса AY по включению питания, чтобы не получить гудение в каналах при включении УКНЦ, т.к. я не уверен, что AY самосбрасывается по включению питания.
Резисторы на шине в предложенной схеме, как я понимаю, - это защита, чтобы не накосячить и не включить выход на выход. Но можно без них обойтись.
Кроме того, на разьеме принтера нет питающих напряжений, значит придется их брать с других разьемов.
Так же желательно подмешать штатный звук УКНЦ к миксеру каналов AY.
Из чипов я рекомендую использовать AY, а не Yamah'у.
S_V_B, да ладно, зачем ты взъелся на пустом месте? Что тебе сразу вот прям не ответили то и так что ты спросил? Да погоди немного же! Сейчас предпраздничный ажиотаж, повтори запрос с фоткой как актуальный по прежнему и просто дай время пусть БКашники прочтут, мои и Арсения ссылки просто как доп.информация шли,
или это и есть "тот самый троллинг и отбивание охоты от меня идущий, творческих людЭй гнитущий?"
т.к. я не уверен, что AY самосбрасывается по включению питания.
гудит.
Из чипов я рекомендую использовать AY, а не Yamah'у.
по распиновке одинаковы, но на али как раз нашел только YM.
- - - Добавлено - - -
На ардуине уже собрал плеер с SD - поет, классно :)
- - - Добавлено - - -
Почти готов LPT вариант:
https://pic.maxiol.com/thumbs2/1576515702.630666996.ymlpt.png (https://pic.maxiol.com/?v=1576515702.630666996.ymlpt.png&dp=2)
Буду на PC гонять пока с УКНЦ не прояснится.
В общем, посмотрел я, какие сигналы на каких разьемах, и вердикт для легкого подключения AY неутешителен.
1. За питанием надо лезть на разьем сетевой карты или одного из слотов.
2. За сбросом туда же.
3. Чтобы микшировать звук AY со стандартным звуковым выходом, нужно лезть на видеоразьем.
Итого, получается, что лучше уж сделать AY для одного из слотов расширения)
- - - Добавлено - - -
А я бы пошел таким путем:
По-скольку видеоразьемов два (XP3 и XP4), и они полностью дублируют друг друга, то один из них я бы использовал как порт со всеми необходимыми сигналами - земля, +5, reset (init), и выход звука. Тогда карточка расширения с AY будет вставляться в два эти разьема и все.
Итого, получается, что лучше уж сделать AY для одного из слотов расширения)
Для меня ЭТА плата "синица в руках", про "журавля" я уже несколько лет слышу, кончится так: 200 корпусов мелкоты, восьмислойная плата и процессор ВМ2 как вспомогательный :)
Самое неприятное это плата для разъема расширения, эту можно и на макетке собрать.
А я бы пошел таким путем:
По-скольку видеоразьемов два (XP3 и XP4), и они полностью дублируют друг друга
Давайте пойдем таким путем. :)
- - - Добавлено - - -
Питание можно внешнее, ГОТЕК и ГБС все равно от одного блока питаются, добавим еще провод (Это не макарон -это питание :))
Питание можно внешнее, ГОТЕК и ГБС все равно от одного блока питаются, добавим еще провод (Это не макарон -это питание )
Без ресета тоже не обойтись, т.к. будет гудеть после каждого сброса компа.
Titus, на видео (если не ошибаюсь) есть вывод звука? Можно ли в таком случае и стандартные звуки, и звуки в старых играх гнать через новую доп. звукавуху?
Titus, на видео (если не ошибаюсь) есть вывод звука? Можно ли в таком случае и стандартные звуки, и звуки в старых играх гнать через новую доп. звукавуху?
Можно и нужно.
Заказал на али большую кольцевую лампу с увеличителем, теперь смогу паять без матюков :)
Ув. Titus, поправьте пожалуйста схему (с использованием ресета, спикера и питания с видео),а я спаяю и опробую.
Потом можно в SL6 нарисовать и будет народный звук :)
SuperMax
23.12.2019, 12:30
Заказал на али большую кольцевую лампу с увеличителем, теперь смогу паять без матюков :)
зря
лампы-лупы это тупиковый вариант, проверено.
надо брать микроскоп типа МБС-9/10
Набросал свое видение, как бы я подключил AY к УКНЦ.
Но чисто в теоретической части, т.к. никогда не подключал AY, тем более к УКНЦ.
В схеме используется YM-2149, хотя я бы использовал AY-3-8910 (8912).
Но AY не умеет делить тактовую частоту на два, поэтому его не получится тактировать подобным образом, так как кварцев меньше, чем на 1.8МГц особо нет, придется использовать делитель, т.е. лишнюю микросхему. Ну, и для AY ножку /SEL надо оставить в воздухе.
Как видно из схемы, сигналы придется брать с 3-х портов.
С порта принтера берем основные сигналы. С видеоразьема берем звук. Ну и с XP1 (сетевая карта) берем сигнал сброса INIT.
Почему используется порт В?
- - - Добавлено - - -
Осталось разобраться что писать в 177103.
Я так понимаю программирование AY будет заключаться в следующем:
mov XX,@#177103
mov reg,@#177101
mov YY,@#177103
mov data,@#177101
Нужно узнать XX и YY.
Где можно почитать про 177103? с налету не нашел.
Почему используется порт В?
Потому что на порту А стоит буфер с открытым коллектором, который не подходит для работы с AY.
- - - Добавлено - - -
Нужно узнать XX и YY.
Где можно почитать про 177103? с налету не нашел.
Сначала тебе надо настроить ВВ55.
Для этого нужно включить все порты на вывод.
Для этого надо в порт 177103 вывести 0x80.
- - - Добавлено - - -
Запрограммировав порт один раз, больше его трогать не надо.
Теперь вывод в AY.
Вывод каждого регистра - это 4 операции:
1. Выводим в 177102 (порт C) 0x00 (BC1 = 0, BDIR = 0). Так мы подготавливаем шину, деактивируя ее.
2. Выводим в 177101 (порт B) номер регистра (0..15).
3. Выводим в 177102 0x03 (BC1 = 1, BDIR = 1). Так мы передаем адрес регистра в AY.
4. Выводим в 177102 0x00 (BC1 = 0, BDIR = 0). Так мы опять подготавливаем шину, деактивируя ее.
5. Выводим в 177101 данные для регистра (0..255).
6. Выводим в 177102 0x02 (BC1 = 0, BDIR = 1). Так мы записываем данные в регистр AY.
Все!
И так для всех 15 регистров. Или для меньшего числа, если не используется огибающая и всякое такое.
Теперь вывод в AY.
Вывод можно оптимизировать, я думаю, но сперва надо попробовать, чтобы все заработало так.
Соберу на макетке попробую, 555ЛЕ1 пойдет вместо 74HC02?
Соберу на макетке попробую, 555ЛЕ1 пойдет вместо 74HC02?
Не могу сказать, т.к. кварцевые генераторы я не проектировал, и не знаю, какие кварцы с какими логическими элементами хорошо работают. Попробуй и все)
Titus, пара вопросов по схеме :
1. BC2(28) на другой схеме подключен к +5 через резистор 10к на вашей нет.
2. Зачем на А8(25), А9(24) - VCC и GND?
и нужен ли на CLOCK кондер на 10nF?
1. Можно без резистора.
2. Посажены, чтобы не шуметь от помех.
Я не знаю, зачем там кондер)
Логично было бы вывести RESET и SPEAKER на тот же разъем, но насколько я понял все свободные пины на земле?
Пока не представляю как это сделать более удобным.
Логично было бы вывести RESET и SPEAKER на тот же разъем, но насколько я понял все свободные пины на земле?
Пока не представляю как это сделать более удобным.
Я думаю, что сначала надо чтобы приставка заработала. А потом уже думать, как оптимизировать.
Спаял. Нужно проверять. Чтобы не инвертировать в уме нужно каждый шаг через COMB пропускать.. как то громоздко будет
MOV R0,-(SP)
MOV #200,R0
COMB R0
MOV R0,@#177103
MOV #0,R0
COMB R0
MOV R0,@#177102
MOV #6,R0
COMB R0
MOV R0,@#177101
MOV #3,R0
COMB R0
MOV R0,@#177102
MOV #0,R0
COMB R0
MOV R0,@#177102
MOV #31.,R0
COMB R0
MOV R0,@#177101
MOV #2,R0
COMB R0
MOV R0,@#177102
- - - Добавлено - - -
В порт пишем слово, а значимый только младший байт?
- - - Добавлено - - -
Нужно записать такую последовательность:
R6=31, R7=7, R8=16, R9=16, R10=16, R12=18, R13=0
Будет вроде как выстрел...
В порт пишем слово, а значимый только младший байт?
В порт пишем только БАЙТ.
После записи в порт нужно NOPы вставлять?
Программа паникует
R8...R9... - это откудова ересь такая???:mad_std:
После записи в порт нужно NOPы вставлять?
Программа паникует
Как это паникует?
- - - Добавлено - - -
- это откудова ересь такая???
Это регистры AY, не переживай)
CodeMaster
27.12.2019, 21:40
Как это паникует?
Эмулятор наверное.
Нет на эмуляторе нормально все, на реале вываливает паник дамп.
Скриншоты, и исходник в студию.
Исходник выше. только повторяется для всех регистров. Вставил в рабочий обработчик процессов в ПП.
- - - Добавлено - - -
PGM1: ; программа-процесс
MTPS #200
MOV R0,-(SP) ; Сохранение R0
MOV #COMMW/2,@#177010
MOV @#177014,R0
CMP #1,R0 ; Убираем курсор, уст. палитры
BEQ 1$
CMP #2,R0 ; переключаем экран
BNE 11$
..........
..........
..........
JMP 9$
1$:
MOV R0,-(SP)
MOV #200,R0
COMB R0
MOVB R0,@#177103
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #6,R0
COMB R0
MOVB R0,@#177101
MOV #3,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #31.,R0
COMB R0
MOVB R0,@#177101
MOV #2,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #7,R0
COMB R0
MOVB R0,@#177101
MOV #3,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #7,R0
COMB R0
MOVB R0,@#177101
MOV #2,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #8.,R0
COMB R0
MOVB R0,@#177101
MOV #3,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #16.,R0
COMB R0
MOVB R0,@#177101
MOV #2,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #9.,R0
COMB R0
MOVB R0,@#177101
MOV #3,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #16.,R0
COMB R0
MOVB R0,@#177101
MOV #2,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #10.,R0
COMB R0
MOVB R0,@#177101
MOV #3,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #16.,R0
COMB R0
MOVB R0,@#177101
MOV #2,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #11.,R0
COMB R0
MOVB R0,@#177101
MOV #3,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #16.,R0
COMB R0
MOVB R0,@#177101
MOV #2,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #12.,R0
COMB R0
MOVB R0,@#177101
MOV #3,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #18.,R0
COMB R0
MOVB R0,@#177101
MOV #2,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #13.,R0
COMB R0
MOVB R0,@#177101
MOV #3,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177102
MOV #0,R0
COMB R0
MOVB R0,@#177101
MOV #2,R0
COMB R0
MOVB R0,@#177102
MOV (SP)+,R0
JMP 9$
..........
..........
..........
9$:
MOV #COMMW/2,@#177010 ;Очистим коммуникационную ячейку..
CLR @#177014 ;
10$: MOV AdrPgm,@#7124 ; Поставить в очередь процессов
MOV #1,@#7100 ; Потребовать обслуживания
MOV (SP)+,R0 ; Восстановить
MTPS #0
JMP @#174170 ; Перейти к диспетчеру процессов
- - - Добавлено - - -
?MON-F-Trap to 10
PANIC DUMP
R0 000040
R1 000000
R2 133632
......
SP 000774
PC 131176
Исходник выше пишет словами.
Нужен весь исходник и скомпилированный .сав тоже.
MOVB R0,@#177103
почему словами?
- - - Добавлено - - -
и еще по моему CLOCK не запустился, попробую с ардуино клок без кварца и ЛЕ1 запустить
Я кажется нашел проблему, в ПП наверно память кончилась. Вставлял в исходник с игрой, там в ПП много пихается. Сейчас сделал пустую заготовку для ПП - запускается нормально, но молчит.
Вместо кварца подключу ардуину (проверенный вариант), тогда будем дальше разбираться.
MOVB R0,@#177101
Читайте ТО, там написано, что "ОСОБЕННОСТЬЮ РАБОТЫ С РЕГИСТРАМИ ЯВЛЯЕТСЯ ТРЕБОВАНИЕ ОБРАЩЕНИЯ К УКАЗАННЫМ АДРЕСАМ С ПЕРЕДАЧЕЙ ИНФОРМАЦИИ В МЛАДШЕМ БАЙТЕ (В Т.Ч. ПО НЕЧЕТНЫМ АДРЕСАМ).". А это возможно только при словном обращении, в байтовой команде при обращении к нечетному адресу выводимый байт передается в старшем байте (разряды 15-8).
С ПЕРЕДАЧЕЙ ИНФОРМАЦИИ В МЛАДШЕМ БАЙТЕ (В Т.Ч. ПО НЕЧЕТНЫМ АДРЕСАМ)."
Ну то есть по простому - MOV R0,@#177101
Недостаток - такое возможно не на всех процессорах PDP-11 и 1801-1811-1831.
Более универсальный способ - не использовать нулевой бит в дешифраторе адреса, то есть обращение к (байтовым) регистрам пойдёт по чётным адресам. Недостаток этого метода - "окно" обращения к регистрам становится в два раза больше. Но если следовать рекомендациям по в/в в PDP-11, на это можно смело забить.
Ещё более универсальный метод - в блоке обращения к устройству с байтовыми регистрами - перекидывать старший байт в младший при (байтовой) записи по нечётным адресам. Недостаток этого метода - поскольку PDP-11 не знает об этом ничего - она всё равно будет для нечётного байта выдавать данные в старшем байте, то есть - программа должна обеспечить это. То есть в MOVB R0,@#177101 записываемые данные должны быть в старшем байте R0
Ну то есть по простому - MOV R0,@#177101
Недостаток - такое возможно не на всех процессорах PDP-11 и 1801-1811-1831.
Более универсальный способ - не использовать нулевой бит в дешифраторе адреса, то есть обращение к (байтовым) регистрам пойдёт по чётным адресам. Недостаток этого метода - "окно" обращения к регистрам становится в два раза больше. Но если следовать рекомендациям по в/в в PDP-11, на это можно смело забить.
Ещё более универсальный метод - в блоке обращения к устройству с байтовыми регистрами - перекидывать старший байт в младший при (байтовой) записи по нечётным адресам. Недостаток этого метода - поскольку PDP-11 не знает об этом ничего - она всё равно будет для нечётного байта выдавать данные в старшем байте, то есть - программа должна обеспечить это. То есть в MOVB R0,@#177101 записываемые данные должны быть в старшем байте R0
А при чем тут все процессоры PDP-11? В данном случае идет речь конкретно об УКНЦ, о работе с параллельным портом, который расположен на магистрали ПП. И это особенность архитектуры, её и надо учитывать при программировании параллельного порта в УКНЦ.
И это особенность архитектуры, её и надо учитывать при программировании
По тому, что написал человек в коде, становится понятным, что он плохо себе представляет, что где куда и когда передаётся. И в следующий раз он на не УК-НЦ шном процессоре напишет код как под УК-НЦ-шный и опять будет удивляться - а чего она молчит. Поэтому и написАл так, как написАл
А это возможно только при словном обращении,
Я вше уже спрашивал
В порт пишем слово, а значимый только младший байт?
мне ответили:
В порт пишем только БАЙТ.
По тому, что написал человек в коде, становится понятным, что он плохо себе представляет,
вы токма рака за камень заводите.. как обычно впрочем..
Блесните эрудицией.. напишите чтобы заиграло :)
Блесните эрудицией.. напишите чтобы заиграло
Зачем? Ваш проект - вы и пишите, у меня свои проекты есть, в них и пишу
вы токма рака за камень заводите.. как обычно впрочем..
а вам, как обычно, писАть - только время тратить. Ок, дальше сами
В порт пишем слово, а значимый только младший байт?
Да, в порт записываем слово командой MOV, а значение должно содержаться в младшем байте. У процессоров 1801ВМ2/1806ВМ2 есть ещё такая особенность - при записи командой MOV для приёмника формируется только цикл ЗАПИСЬ, а при использовании команды MOVB для приёмника формируется цикл ЧТЕНИЕ-МОДИФИКАЦИЯ-ЗАПИСЬ, чтение и модификация естественно фиктивные, но на это тоже надо обращать внимание, если регистры отличаются по чтению и записи.
Ок, дальше сами
Могли бы не утруждаться так.. :)
Могли бы не утруждаться так
Вот теперь и не буду
мне ответили:
Слушай Alex_K, он правильно говорит)
Я совсем забыл, что у нас PDP)
С новым годом дорогие друзья, спасибо всем кто мне помогает в дейстивтельно бесполезном и сложном деле... ретропрограмминге...
Отдельное спасибо Alex_K, Titus, Hobot... и даже Хунта за его вредность .:)
Всех благ вам
randomizer
03.01.2020, 19:41
Вам видимо застрял мой пост в теме эмулятора?
Ну так тролль скорее вы судя по ответу, да к тому ещё и хам )
Не причина, а то что меня тригернуло:
Просите отписаться об успехах: https://zx-pk.ru/threads/29130-gotek-dvk-uk-nts-i-vse-vse-vse.html?p=1034243&viewfull=1#post1034243
пишу о возникших трудностях(как говорится - не ошибается тот кто ничего не делает)))...
hobot понимает что его советы оказались бесполезны https://zx-pk.ru/threads/29130-gotek-dvk-uk-nts-i-vse-vse-vse.html?p=1034636&viewfull=1#post1034636
По моему начиная хамить ты просишь хамства в ответ...ладно...проехали...
Предлагаю обоюдно игнорировать сообщения друг-друга, а если от каких то из них подгорит писть в личку и не засорять форум. Хотя бы просто что бы не просить модераторов убирать мусор с форума.
Человек очень хочет быт полезным, но с его уровнем знаний "Шпаргалки only" - тяжёлое это дело.
А тут ещё и за мусорник прилетает..
Ув. Titus, не могли бы вы мне объяснить работу YM со стороны электрической (пока ожидаю 74HC02 .. с Али)...
DA0-DA7 - Порт B (Байт данных).
BC1- бит 0 порта С
BDIR - бит 1 порта С..
Что есть BC1 и BDIR и как мы переключаем между выбором регистра и данными регистра...
И что есть BC2 и почему оно всегда равно 1?
- - - Добавлено - - -
PS. Хунту прошу не возбуждаться... читать умею, но когда открываю даташиты.. наступает приступ дислексиии (не тому учили) :)
Что есть BC1 и BDIR и как мы переключаем между выбором регистра и данными регистра...
И что есть BC2 и почему оно всегда равно 1?
Ну открой же документацию на AY или YM)
BC1, BC2, BDIR - все вместе задают режим работы шины.
По-скольку нам нужны не все режимы, а только некоторые, мы вешаем BC2 на 1.
BC1 = 0, BDIR = 0 - шина не активна
BC1 = 1, BDIR = 0 - чтение данных
BC1 = 0, BDIR = 1 - запись данных
BC1 = 1, BDIR = 1 - установка адреса
Беда в том, что я не особо представляю что такое "шина"..
Что такое установка адреса??
- - - Добавлено - - -
Ну открой же документацию на AY или YM)
открывал :)
Беда в том, что я не особо представляю что такое "шина"..
Что такое установка адреса??
Шина - это DA0-DA7.
Чтобы передать данные в AY или считать из него, сперва нужно установить на шине адрес регистра, в который ты хочешь записать данные. А затем на эту шину уже выставить нужные данные, либо же считать их, если ты читаешь данные с AY.
Я не думаю, что по примеру Хунты нужно отсылать.. к истокам электротехники :)
Все наверно уместится в два предложения :)
- - - Добавлено - - -
нужно установить на шине адрес регистра
адрес регистра = номер регистра?
адрес регистра = номер регистра?
да
Хе.. я думаю что есть вселенский заговор электронщиков.. по придумыванию ненужных сущностей :) Дабы не допустить не сведующих :)
- - - Добавлено - - -
Хуже только математики.. которые описывают сферического коня в вакууме.. не особо представляя зачем это им сейчас нужно :)
Каюсь.. до сих пор не осознал сущность мнимой единицы..
Заговора нет) Просто так оно работает)
Был заговор.. если почитать книжки по программированию когда их математики писали (60-80гг)... и когда уже поколение программистов писать научилось:)
я думаю что есть вселенский заговор электронщиков.. по придумыванию ненужных сущностей
Когда у тебя ограничение по количеству ног микросхемы.. или разъёма на плате... А не как современные программисты - гигабайт туда-гигабайт сюда.. И не так извратишься.
Мышление немножко другое.. для меня регистр это объект (абстрактный не привязанный проводами), а для электронщика ячейка по такому-то адресу.
Поэтому электронщики наверное дальше драйверов и не задумываются..
для меня регистр это объект
а ты сразу представляй режим "отладка" УК-НЦ и всё на свои места встанет )
Именно поэтому электронщики по прежнему платят в ресторанах, а не разносят блюда гостям ;-)
Поэтому электронщики наверное дальше драйверов и не задумываются..
Они задумываются, как всю эту хню запихать в кристалл (с определёнными характеристиками и количеством выводов) и при этом чтоб она ещё и работала. И до всяких (надуманных программистами) объектов им дела нет. Потому как в современных компах (точнее - в большинстве созданных процессорах) никакими объектами и не пахнет. Биты в разных комбинациях плюс некоторые команды на эти комбинации смотрят как на числа.
А все процы, в которых пытались заложить что то объектно-ориентированное - благополучно не взлетели. Из тех, про которые хоть что то читал - получались медленные и горячие.
электронщики по прежнему платят в ресторанах
Бросьте сказать... каста людей "в белых халатах, читающих перфоленты на лету".. кончилась не успев начаться.. сейчас на C# домохозяйка что угодно напишет.
То же и с электронщиками. А освоить имеющиеся гигабайты.. на ассемблере могут наверное только 10000000 китайских программистов за чашку риса :)
А освоить имеющиеся гигабайты..
так это не по теме, извиняюсь )
Регистры - это и есть ячейки памяти , регистры устройств позволяют
задавать режимы работы устройств читать писать данные и управлять. Где бы были программисты знающие только "высокий уровень" ? Ведь микропрограммы и всякие там нанодатчики и сегодня надо программировать, тут только с регистрами напрямую.
УК-НЦ учит визуально воспринимать регистры как ячейку памяти, наглядным режимом отладки ИМХО. Ну и конечно, как это называется "абстрактное мышлЕние" , "плюрализм материалов", "скважность" мать её так и процент заполнения сигнала никто не отменял, осциллографом меня тяпни не поможет )))
сейчас на C# домохозяйка что угодно напишет.
Что угодно не напишет. Но разработка на высоком уровне стала гораздо легче и быстрее, чем раньше. Меньше надо понимать в программировании, а просто знать систему и правила пользования библиотеками.
А вот на счет электроники сомневаюсь. Без знаний нюансов, сложную систему не сделаешь.
Но тоже думаю, что стало легче чем раньше, т.к. доступны законченные кирпичики (микроконтроллеры, в которых все включено, и прочее).
Можно долго перечислять кого (нормального) сейчас не найти... электронщика, слесаря, токаря... все можно менять блоками.. думать при этом не обязательно.
А если учесть, что последние двадцать лет никого не учили.. то скоро будет совсем весело, когда последние старики на пенсию уйдут :)
- - - Добавлено - - -
Поправка, (насчет не учили)... сейчас огромное количество неграмотных людей с двумя "высшими" образованиями.. не считающих себя ущербными.
- - - Добавлено - - -
УК-НЦ учит визуально воспринимать регистры как ячейку памяти
Кто бы говорил :) (Я ж не про то, что я не понимаю что есть регистр, а про шины, адреса на шине.. корпуса мелкой логики и провода.)
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot