PDA

Просмотр полной версии : Портирование Stop the Express



nzeemin
01.03.2017, 22:15
Портирование игрушки Stop the Express с МС-0515 на УКНЦ.

https://github.com/nzeemin/uknc-stopexpress/raw/master/screenshot/demoscreen.png

Видео демо-режима:

http://www.youtube.com/watch?v=66ETuJ9uO6s

Исходники: https://github.com/nzeemin/uknc-stopexpress

https://nzeemin.github.io/stopexpress.html

Titus
01.03.2017, 22:55
Товарищи, вы когда-нибудь растянете экран до нормального соотношения сторон? )

Никита, убери из эмулятора навсегда такой режим, чтобы не поддаваться соблазну ни тебе, ни Хоботу. Наплодили инет кучей растянутых скриншотов, блин.

PheeL
01.03.2017, 23:14
Спокойно! Это УКНЦ High Definition. Чтобы на плазме норм смотрелось. В детстве мечтал о таком!

Titus
01.03.2017, 23:34
Спокойно! Это УКНЦ High Definition. Чтобы на плазме норм смотрелось. В детстве мечтал о таком!

Это мне напоминает ситуацию, когда приходишь к друзьям или соседям, а они купили телек 16:9, и смотрят на нем растянутые программы, которые 4:3. И говоришь им человеческим голосом - вы что, не видите, что изображение растянуто? А они и отвечают - разве? А вроде все нормально.
Такой режим отображения я бы разрешил включать в эмуляторах только по рецепту врача при расходящемся узкоглазии.

MacBuster
01.03.2017, 23:42
Это полукадр! А два полукадра это уже 3D :)

NEO SPECTRUMAN
02.03.2017, 00:04
Это мне напоминает ситуацию, когда приходишь к друзьям или соседям, а они купили телек 16:9, и смотрят на нем растянутые программы, которые 4:3. И говоришь им человеческим голосом - вы что, не видите, что изображение растянуто? А они и отвечают - разве? А вроде все нормально.
...да бывают такие... ИМБЕЦИЛЫ

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


...хотя с таким же успехом некоторые клепают софт
не учитывая тот факт, что потом на реале изображение растянится на 150%...

Titus
02.03.2017, 00:14
но в данном случае
при портировании с одной платформы на другую
такое может происходить и без кривости эмулятора
(тк пиксели не везде квадратные...)
а исправить это без сильной переделки уже не так просто...

Безусловно. Но в данном случае имеет место именно то, что я описал. И это не кривость эмулятора. У него есть нормальный режим и не один. Этому я придумал отныне и впредь термин 'узкоглазие пользователей'.

NEO SPECTRUMAN
02.03.2017, 00:16
Ну оно еще как бы в процессе портирования
и только завелось?

а портируется с чего оно?

Titus
02.03.2017, 00:21
Ну оно еще как бы в процессе портирования
и только завелось?

а портируется с чего оно?

Да при чем тут портирование. Портируется экспресс с MS-0515 на УКНЦ.
Но в эмуляторе УКНЦ некоторые любители (не буду показывать пальцем, а только напишу их имена - Никита, Хобот, а может еще кто-то), включают сплюснутый экран.
Как итог - интернет наводнен узкими скриншотами программ с УКНЦ. Вбей в яндексе что-то типа 'база игр укнц' и увидишь кучу испорченных сплюснутых скриншотов.

NEO SPECTRUMAN
02.03.2017, 00:27
Как итог - интернет наводнен узкими скриншотами программ с УКНЦ.
Да ладно тебе...
...пойди лучше в тему там где из за... ..ладно пока пробная версия я сильно обзываться не буду...
"эмулятор" сида не работает практически везде где его пытаешься запустить...:v2_dizzy_priest:

shattered
02.03.2017, 01:03
Товарищи, вы когда-нибудь растянете экран до нормального соотношения сторон? )

Никита, убери из эмулятора навсегда такой режим, чтобы не поддаваться соблазну ни тебе, ни Хоботу. Наплодили инет кучей растянутых скриншотов, блин.

да нет наверно :)

(нужное подчеркнуть)

SKcorp.
02.03.2017, 04:47
Это мне напоминает ситуацию, когда приходишь к друзьям или соседям, а они купили телек 16:9, и смотрят на нем растянутые программы, которые 4:3. И говоришь им человеческим голосом - вы что, не видите, что изображение растянуто? А они и отвечают - разве? А вроде все нормально.
Такой режим отображения я бы разрешил включать в эмуляторах только по рецепту врача при расходящемся узкоглазии.

Да, и еще в EmuStudio Вашем сделать автоматическое переключение видеоконтроллеров только по рецепту узкоглазых врачей,
а то интернет наводнен образами, где вперемежку игры от УК-НЦ, от ДВК под КГД и под КЦГД и на реале хрен поймешь работает оно или
нет и по какой причине.

PS: И да, в UKNCBtl в каком бы режиме не отображалось - скриншотится всегда растянутое.

Titus
02.03.2017, 09:15
У меня всегда на рамке окна написано - что за режим (КЦГД, КГД и т.д.).

nzeemin
02.03.2017, 12:12
Да при чем тут портирование.
Действительно.

- - - Updated - - -

Позлю вас ещё одним ускоглазым скриншотом:
https://img-fotki.yandex.ru/get/54522/7448436.9/0_a6370_bcc6569b_orig.png

Vamos
02.03.2017, 19:00
На бис!

Но строго говоря я уже очень давно просил привести в соответствие в UKNCBTL графические режимы, тот который называется "Normal Height" там отсутствует второй полукадр, поэтому картинка скорее сплюснута а не растянута и этот режим называется чересстрочная развертка или interlaced, а "Double Interlaced" это прогрессивная развертка, там картинка правильная как на мониторе и название у режима должно быть "progressive scan". А для любителей 16:9 следующий режим "upscaled to 1,5" можно написать как 16:9 и всем все будет понятно.
Для соответствия картинки как на ТВ в первый режим надо добавить второй полукадр.

- - - Добавлено - - -

А я и забыл что пользуюсь старой версией :)

Для последней версии UKNCBTL

"640 х 288 Standart" - должно быть "640 х 576 Interlaced" или "TV" со вторым полукадром (грубо говоря каждая строка должна рисоваться дважды)
"640 х 576 Interlaced" - должно быть "640 х 576 Progressive scan" или "Monitor"
дальше на любителя

Titus
02.03.2017, 19:51
Замечу, что в большинстве компьютеров, подключаемым к PAL телевизорам или мониторам, чересстрочная развертка отсутствует, как класс.
Ее просто нет. Оба полукадра одинаковые. Поэтому, говорить о развертке, как interlaced - некорректно.
Она всегда прогрессивная, с вдвое меньшим относительно interlaced вертикальным разрешением.

Vamos
02.03.2017, 21:04
PAL это система кодирования цвета и к развертке самого изображения никакого отношения не имеет, у мониторов вообще нет декодера цветности.

bigral
02.03.2017, 22:36
Замечу, что в большинстве компьютеров, подключаемым к PAL телевизорам или мониторам, чересстрочная развертка отсутствует, как класс. Ее просто нет. Оба полукадра одинаковые. Поэтому, говорить о развертке, как interlaced - некорректно.
Она всегда прогрессивная, с вдвое меньшим относительно interlaced вертикальным разрешением.

А как монитор эту картинку светит, изображение светится на одном и том же месте (т.е. между строками всевремя темный зазор на котором должен бы светится другой полукадр)? На скоко я понимаю для того чтобы достичь реального interlaced должен быть кадровый синхроимпульс разный, для четного и нечетного полукадра.

Titus
02.03.2017, 22:58
А как монитор эту картинку светит, изображение светится на одном и том же месте (т.е. между строками всевремя темный зазор на котором должен бы светится другой полукадр)? На скоко я понимаю для того чтобы достичь реального interlaced должен быть кадровый синхроимпульс разный, для четного и нечетного полукадра.
Все верно. А у компьютеров все кадры четные (или нечетные).

hobot
03.03.2017, 00:01
Позлю вас ещё одним ускоглазым скриншотом:
перс в игре наглый такой )
сразу видно - спектрумист! )

Нормально всё со скринами в UKNCBTL !
А в EmuStudio я постоянно комбинацию клавиш для скрина получения забываю )))

Просто обрабатывать чаще лень, чем не лень )
То что эмулятор делает честный скрин по разрешению 640Х288 это разве плохо?

http://savepic.net/8987407.png

http://savepic.net/8988431.png

NEO SPECTRUMAN
03.03.2017, 00:23
На скоко я понимаю для того чтобы достичь реального interlaced должен быть кадровый синхроимпульс разный, для четного и нечетного полукадра.
То есть на zx80 дрыгая длину кадрового синхроимпульса можно будет получить интерлейс????


о что эмулятор делает честный скрин по разрешению 640Х288 это разве плохо?
это конечно хорошо
но еще лучше было
если бы он делал и так и так

Titus
03.03.2017, 00:39
То есть на zx80 дрыгая длину кадрового синхроимпульса можно будет получить интерлейс????
Можно получить дрожание картинки. Оно тебе надо? )

NEO SPECTRUMAN
03.03.2017, 01:06
Можно получить дрожание картинки. Оно тебе надо? )
Почему нет?
Оно же такое вырвиглазное...

hobot
03.03.2017, 01:14
Почему нет?
Эффект землетрясения - когда топает ящер по планетке БУМ(дрожание картинки врубили) - БУМ(дрожание картинки вырубили) - сделали скрин-шот )))

MacBuster
03.03.2017, 01:28
То есть на zx80 дрыгая длину кадрового синхроимпульса можно будет получить интерлейс????
Не только «можно получить», но и получили (http://www.sinclairzxworld.com/viewtopic.php?t=1541).

CityAceE
03.03.2017, 02:36
То что эмулятор делает честный скрин по разрешению 640Х288 это разве плохо?
Но при таком разрешении на экране монитора мы видим вот такую картинку! Так что это точно не хорошо!

http://storage3.static.itmages.ru/i/17/0302/h_1488497681_6935364_3dee6a1b2f.png

polikarpov76
03.03.2017, 08:50
В логотипе 'ITA' нужно три знакоместа со Спектрума инвертировать. А так здорово получилось!

hobot
03.03.2017, 16:39
Но при таком разрешении на экране монитора мы видим вот такую картинку! Так что это точно не хорошо! Станислав, совсем не понял ваш комментарий? Картинка которую вы приложили похожа
на реал, у УК-НЦ 640х288 точек, но родные мониторы масштабировали это из соотношения сторон 4:3
Эмулятор UKNCBTL при нажатии кнопки "сделать скрин шот" - не зависимо от выбранного типа рендеринга пользовательского интерфейса (экрана) - картинку в файл пишет из внутреннего своего "видео ОЗУ" размером
640х288 - а дальше дело автора публикации - масштабировать или выкладывать в сеть растянутые картинки.

Кстати говоря ваш скриншот - чем плохо то? То же не понятно, если честно.

В целом - мне все эти (в очередной раз) споры о пропорциях и разрешениях напоминают о войне с Титусом
в плане РГБ ГРБ в теме граф.редактора ) А именно бесполезной тратой времени. Есть реальное разрешение
видео озу машинки с которым работает программист (в лице Никиты) и например я - который любит картинки
из эмулятора выкладывать. Я последнее время не трогаю Y вообще, а X делаю = 400 (см. мой пост выше),
Никита - скорее всего просто для экономии времени сразу отправляет готовые скрины в сеть вот и все дела.

nzeemin
03.03.2017, 17:25
Больше скриншотов, хороших и разных!
https://img-fotki.yandex.ru/get/93917/7448436.9/0_a6381_756947b9_orig.png

Фон уже скроллируется, но пока нету птиц и врагов, не опрашивается клавиатура итд.

BYTEMAN
03.03.2017, 17:39
а больше цветов нереально сделать?

nzeemin
03.03.2017, 17:54
а больше цветов нереально сделать?

Сначала логику хочу сделать, хотя бы бОльшую часть, потом тайлами займусь.
Будут 4-цветные тайлы -- как в Lode Runner.

hobot
03.03.2017, 21:04
BYTEMAN, ты кстати на свой 6022 трилогию LODE RUNNER для УК-НЦ перетащи!
У тебя там на сборниках среди лабиринтов только самый первый MAIN8F - который звался тогда ещё )

OrionExt
04.03.2017, 02:41
Машинки. DEC были уже не удел. Вот и развлекали будущих ракетчиков – ерундой.
А как еще детей приобщить, к этому делу.

- - - Добавлено - - -

Абсолютна не игровая машина)

- - - Добавлено - - -

Не можно мучатся синдромам утенка. Это военка.

nzeemin
05.03.2017, 17:24
Первая неиграбельная дема.
Работает демо-режим, не до конца.
НЕ работает клавиатура, играть пока нельзя.

hobot
05.03.2017, 19:01
nzeemin, ха! я мысленно уже некоторое время пытался для файла с игрой имя в RT-11 наиболее информативное подобрать и что бы с уже существующими не особо пересекалось. В итоге EXPRES - единственное на чём остановился и тут демка EXPRES.SAV (http://zx-pk.ru/attachment.php?attachmentid=59946&d=1488723833)

- - - Добавлено - - -

nzeemin, размер файла будет увеличиваться или это полная игра и изменения будут только внутри этого файла?

Специально для ув. доктора гонорис кауза Титуса картинка (вот увидите он всё равно будет ворчать!)

http://savepic.net/9019040.png

nzeemin
05.03.2017, 19:11
nzeemin, размер файла будет увеличиваться или это полная игра и изменения будут только внутри этого файла?

Вообще исходная игра даже меньше размером.
Но в конце там несколько массивов, таких как экран план, экран факт, распакованная демо-последовательность, и я не знаю как ассемблеру сказать что тут есть нечто но не надо под него место в файле резервировать. Точнее, не трачу пока время на то чтобы с этим разбираться.
Поэтому размер может ещё вырасти -- логика ещё не вся перенесена, но бОльшая часть сделана.
Да, ещё тайлы увеличатся вдвое когда станут цветными.

Дальше остаётся ещё как минимум:
- доделать демо-режим
- сделать обработку клавиатуры
- сделать цветные спрайты

hobot
05.03.2017, 19:46
Дальше остаётся ещё как минимум:
- доделать демо-режим
- сделать обработку клавиатуры
- сделать цветные спрайты

могу на любом этапе позапускать на реале
скорость игры и клавиатуру проверить на вменяемость управления,
пока особого нечего двухцветную дему на реале гонять?

nzeemin
05.03.2017, 19:54
могу на любом этапе позапускать на реале
скорость игры и клавиатуру проверить на вменяемость управления,
пока особого нечего двухцветную дему на реале гонять?

Спасибо, hobot.
Да, пока особо смысла нет.

hobot
05.03.2017, 20:06
Спасибо, hobot.
Даешь больше игр на УК-НЦ хороших и разных ! )))

- - - Добавлено - - -

хочу добавить, что подозрительно быстро пролетает экран с персонажами в конце демы )

- - - Добавлено - - -

грунт внизу и движение состава просто волшебно выглядят и для УК-НЦ даже не привычно как-то )

nzeemin
05.03.2017, 20:16
хочу добавить, что подозрительно быстро пролетает экран с персонажами в конце демы )
Недоделка это. В оригинале демо дольше идёт, ну и пауза на этом экране конечно должна быть.


грунт внизу и движение состава просто волшебно выглядят и для УК-НЦ даже не привычно как-то )
Да, но по грунту -- у меня подозрение что он вообще не в ту сторону скроллируется (проверю позже).
А по движению состава и обновлению экрана вообще -- нет синхронизации с vblank, поэтому на стоп-кадрах видны эффекты неполного скроллирования.

- - - Updated - - -

Исходного кода -- того что идёт на компиляцию -- получилось уже на 122 КБ, и ещё будет.

hobot
05.03.2017, 20:17
Да, но по грунту -- у меня подозрение что он вообще не в ту сторону скроллируется (проверю позже). ха, да да вроде )

nzeemin
24.03.2017, 21:52
Конвертирую тайлы в цветные.
Напомню, игра будет в 4-х цветах -- изменяются только два плана из трёх.
Вот два варианта.
На самом деле это один вариант, но с разным "цветом знакоместа" -- тайлы тут одинаковые.
Склоняюсь к первому варианту -- нормальный белый цвет и привычные "УКНЦшные" цвета.

https://img-fotki.yandex.ru/get/60881/7448436.9/0_a6b72_38b93901_orig.png

https://img-fotki.yandex.ru/get/40987/7448436.9/0_a6b71_e8297bba_orig.png

- - - Updated - - -

И после некоторой доработки:

https://img-fotki.yandex.ru/get/98813/7448436.9/0_a6b73_b793d19a_orig.png

NEO SPECTRUMAN
24.03.2017, 22:07
Чота как то вырвиглазно

а нельзя такую палитру?

****************
****************
****************
****************

мож лучше будет

и кажется мне без разукраски костюма было лучше
как там в оригинале?

https://upload.wikimedia.org/wikipedia/ru/e/e9/Stop_The_Express.png
по ходу есть...

мож если нарисовать волосы лучше станет...

nzeemin
24.03.2017, 22:16
Чота как то вырвиглазно
Ну уж как есть


а нельзя такую палитру?
Я по сути могу выбирать только из двух палитр что я показал выше -- с синим фоном и чёрным фоном.


мож если нарисовать волосы лучше станет...
Да, возможно. Но они будут розовые ;-)

NEO SPECTRUMAN
24.03.2017, 22:18
Да, возможно. Но они будут розовые ;-)
а если на оборот синий верх
фиолетовый низ




Я по сути могу выбирать только из двух палитр что я показал выше
нету недокументированной 3-й как в CGA ?)))))))))

Titus
24.03.2017, 23:02
Если есть разногласия, то выбор цветовой палитры перед игрой)

NEO SPECTRUMAN
24.03.2017, 23:06
Если есть разногласия, то выбор цветовой палитры перед игрой)
проще сделать 2 версии и не морочить голову
по моему зелено желтой тоже можно неплохо разукрасить
цвета у нее не такие резкие

nzeemin
25.03.2017, 00:08
Неиграбельное демо -- цветные спрайты, в остальном то же что уже было раньше.

UPDATE: Перезалил zip -- добавил EXPRES.BIN для запуска из картриджа ПЗУ.

nzeemin
27.03.2017, 16:30
В аттаче новая версия.
Демо теперь идёт дольше -- доходит до второй части, но там бага с движением "привидений", поэтому выглядит так что ГГ ведёт себя дебильно.
Сделана первая попытка обработки нажатий от клавиатуры.
Если играете в эмуляторе -- включите NumLock -- управление работает на цифровых клавишах.
В целом управление пока ужасное, если не сказать хуже.
Если держать клавишу то идут автоповторы -- за счёт этого можно двигаться влево-вправо, но трудно остановиться.
В общем, тут ещё предстоит значительная работа по улучшению.

- - - Updated - - -

hobot, в принципе было бы неплохо проверить на реале в плане скорости работы.

MacBuster
27.03.2017, 21:41
Смотрю я на это, «Шестой» да и только.

nzeemin
27.03.2017, 23:05
Смотрю я на это, «Шестой» да и только.

Вот здесь мы с вами перестали понимать друг друга.

- - - Updated - - -

Запилил видео демо-режима: https://www.youtube.com/watch?v=66ETuJ9uO6s


https://www.youtube.com/watch?v=66ETuJ9uO6s

MacBuster
27.03.2017, 23:50
Вот здесь мы с вами перестали понимать друг друга.
Не может такого быть. Шестой (https://youtu.be/Pxlp_uvl0ak?t=3592).

nzeemin
30.03.2017, 19:03
Первая уже хоть как-то играбельная версия.

Обработка клавиатуры доработана следующим образом.
Клавиши 1, 2, 3, 4, 6 -- после нажатия клавиша считается удерживаемой. Т.е. например нажимаешь 4 -- и ГГ всё время бежит влево.
Клавиши 7 и 9 (прыжок влево/вправо) -- после нажатия заменяются на 4 / 6 и дальше считаются удерживаемыми. Т.е. после прыжка продолжается движение в ту же сторону.
Теперь постоянно держать клавишу НЕ надо, всё рассчитано на короткие нажатия.

Поправлена ошибка с неправильным движением привидений во второй фазе -- в вагоне.
Замечена ошибка с неправильным выводом предупреждения о том что скоро появится балка.

Дальше собираюсь разобраться с выпусканием змея, сделаю под это удобные клавиши.

- - - Updated - - -

О как. Бага с выводом транспоранта CAUTION -- это не бага моей конвертации, а бага портирования на МС0515 -- там она тоже должна проявляться (впрочем, пока не проверял).

- - - Updated - - -

Ещё есть баги во второй части -- в вагоне, с ними тоже разбираюсь.

nzeemin
30.03.2017, 21:53
Вот эта версия уже по-настоящему играбельная, потому что можно отстреливаться птице-змеями.

Маппинг клавиш пока сделал такой:
- цифровая клавиатура -- движение, как и раньше
- "< ," и "0" -- лечь влево и выпустить змея
- "> ." и "." -- лечь вправо и выпустить змея
- "ВВОД" -- движение вправо и выпустить змея
- другие клавиши, например ПРОБЕЛ -- можно использовать чтобы остановиться

Выпуск змея можно совместить с любой командой движения -- с прыжком например.
Собственно задумался о том какие ещё клавиши нужно размапить.

Бага с транспорантом CAUTION поправлена.
Остались баги, относящиеся ко второй фазе (в вагоне) и к завершению игры.

- - - Updated - - -

Игрушку надо испытать на реальной машине, чтобы оценить скорость игры -- насколько приемлемо получилось.
Хорошо бы ещё и сравнить с оригиналом на ZX Spectrum.

nzeemin
31.03.2017, 21:01
Эта версия уже полноценная, исправлены все найденные баги.
Фазу "на вагоне" я проходил сам.
Фазу "в вагоне" я "проходил" через uknc-testbench.
Буду ещё полировать -- есть несколько моментов которые хочется доделать, но уже ничего принципиального.

- - - Updated - - -

За время портирования на УКНЦ, нашёл и исправил три ошибки портирования на МС-0515:
1. просто опечатка, практически не повлиявшая на геймплей -- забыли поставить '#' перед константой, сам таким грешу
2. отсутствие нужного вызова подпрограммы вывода спрайта -- повлияло на транспорант CAUTION, ставший нечитаемым
3. лишнее присваивание, возможно отладочное -- полностью испортило завершающий ролик.

MacBuster
31.03.2017, 22:22
Здорово! Ещё бы маску для спрайтов добавить, чтобы не было черных квадратов вокруг.

hobot
03.04.2017, 17:05
http://savepic.net/9159598.png
http://s00.yaplakal.com/pics/pics_original/3/0/1/1252103.jpg

NEO SPECTRUMAN
03.04.2017, 17:28
ОМФГ!!!!!

nzeemin
03.04.2017, 18:22
http://savepic.net/9159598.png

Режим "РЖД" походу.

hobot
04.04.2017, 18:45
Режим "РЖД" походу
http://pic.pdp-11.ru/thumbs/20170404152705890.png (http://pic.pdp-11.ru/?v=20170404152705890.png) - не знаю, меня стандартная для 0511 палитра ГРБ всегда раздражала (может потому что время от времени действительно приходилось с цветным монитором за УК-НЦ сидеть - портить глаза), ИМХО: по прежнему градации считаю оптимальным видеорежимом для УК-НЦ.
Тут ещё момент играет настроек утилиты "COLS.SAV" - и чёрным цветом экрана\знакоместа.
В общем ИМХО: как только цвет 061 заменяешь 060 всё с цветами более менее смотрибельно становиться.

Но это сработает только вот с такими программами, если же программа полностью подминает под себя
ПП (соответственно все цвета и клавиатуру), от таких утилит как COLS, KEYS, CLAV - уже толку ноль,
поскольку при старте программа всё инициализирует(например цвета) с нуля сама, так как надо автору.


Игрушку надо испытать на реальной машине, чтобы оценить скорость игры -- насколько приемлемо получилось.
Видел! Машинка подключена = надо только EXPRES.SAV перегнать - займусь в выходные наверное?
В общем сразу отпишусь. Странно, что "счастливые" обладатели очень удобного и рабочего контроллера + эмулятора флопа от Я. не спешат, что то проделать столь простую в их ситуации операцию. Ну может им и не интересно вовсе, откуда мне знать? )))

- - - Добавлено - - -

Что есть .BIN - файл в архиве?

nzeemin
04.04.2017, 19:52
Что есть .BIN - файл в архиве?

Так образ картриджа же.

hobot
04.04.2017, 20:28
Так образ картриджа же.
тем более странно, что до сих пор никто на реале не прогнал.

- - - Добавлено - - -


мож лучше будет

мож если нарисовать волосы лучше станет...

http://pic.pdp-11.ru/thumbs/ns01.png (http://pic.pdp-11.ru/?v=ns01.png)

http://pic.pdp-11.ru/thumbs/ns02.png (http://pic.pdp-11.ru/?v=ns02.png)

http://pic.pdp-11.ru/thumbs/nsbw.png (http://pic.pdp-11.ru/?v=nsbw.png)

- - - Добавлено - - -

легкий оффтоп с нестандартной политрой )
https://www.ozon.ru/context/detail/id/29073920/

nzeemin
07.04.2017, 20:26
Если вдруг кому интересно -- сопоставление кода Z80 и PDP11:


8166: 3A 1C C0 LD A,(LC01C) ; 002530: MOVB @#100034, R0
8169: FE 02 CP 02h ; 002534: CMPB R0, #000002
816B: CA 25 87 JP Z,L8725 ; 002540: BNE 002546
; 002542: JMP 006202 ; Переход к игровому циклу: падение человечка с поезда
816E: B7 OR A ; 002546: TSTB R0
816F: C2 6C 85 JP NZ,L856C ; 002550: BEQ 002556
; 002552: JMP 005160
8172: 3A 1D C0 LD A,(LC01D) ; 002556: TSTB @#100035 ; демо-режим?
8175: B7 OR A ; /
8176: 28 0E JR Z,L8186 ; 002562: BEQ 002612 ; да => переходим
8178: CD 91 AA CALL LAA91 ; 002564: CALL 034226 ; Клавиатура
817B: B7 OR A ; \
817C: C2 69 80 JP NZ,L8069 ; 002570: BEQ 002576 ; нет нажатия => переходим
; 002572: JMP 001774 ; есть нажатие => переходим
817F: 3A 1D C0 LD A,(LC01D) ; 002576: MOVB @#100035, R0 ; берём признак демо-режима
8182: 3C INC A ; 002602: INCB R0 ; (100035) = 377 ?
8183: CA 69 80 JP Z,L8069 ; 002604: BNE 002612 ; нет => переходим
; 002606: JMP 001774
8186: 3A 6D C0 L8186: LD A,(LC06D) ; 002612: CMPB @#100155, #000012 ; вагон < 10. ?
8189: FE 0A CP 0Ah ; /
818B: DA 1B 81 JP C,L811B ; 002620: BLO 002364 ; да => повтор
818E: 01 0F 07 LD BC,070Fh ; 002622: MOVB #000017, @#100041 ; Положение человечка X = 15.
8191: ED 43 21 C0 LD (LC021),BC ; 002630: MOVB #000007, @#100042 ; Положение человечка Y = 7
8195: AF XOR A ; 002636: CLR @#100044
8196: 32 25 C0 LD (LC025),A ; /
8199: 32 24 C0 LD (LC024),A ; /
819C: 32 29 C0 LD (LC029),A ; 002642: CLRB @#100051
819F: 3D DEC A ; \
81A0: 32 28 C0 LD (LC028),A ; 002646: MOVB #000377, @#100050 ; DX = -1 -- влево

bigral
07.04.2017, 22:51
Получается что плотность кода у pdp11 ниже чем у i8080, в итоге на сколько длиннее вышел код? По тактам pdp11 тоже проиграл? Неплохо бы еще портонуть с atari800 boulder dash!

hobot
08.04.2017, 01:13
nzeemin, я помню про прогон на живой машине! Работаю над этим )))


bigral, на УК-НЦ есть две глючные версии БОЛДЕР_ДАШ, и если уж делать нормальную
плавную версию для УК-НЦ с отзывчивым управлением - проще наверное взять вариант игры для БК0010?

- - - Добавлено - - -


Получается что плотность кода у pdp11 ниже чем у i8080, в итоге на сколько длиннее вышел код? По тактам pdp11 тоже проиграл?
Это чисто спортивное изучение? Просто не понятно смысл сравнений, длины кода, такты. PDP11 остаются и баста! )
А все остальное приходит и уходит ) Но если это кого то развлекает - никто не против )

- - - Добавлено - - -

Кстати на БК есть ещё хоррор версия БОЛДЕР-ДАШ ) С черепами и "страшным названием" - ууууууууу

Titus
08.04.2017, 01:18
Если вдруг кому интересно -- сопоставление кода Z80 и PDP11:
Качество кода наводит на мысль, что перевод был вручную, или полу-вручную.
В противном случае пришлось бы предположить наличие сверхнавороченного интеллектуального рекомпилятора)

hobot
08.04.2017, 01:23
Качество кода наводит на мысль
Лучше бы это навело вас на мысль ув. д.г.к. сделать что нибудь графическое для УК-НЦ (только не очередной тест).
Никита очень правильно так 1 игру в год плавно пытается релизить - 1 человек на всей планете )
Никита мы с тобой ! (УК-НЦшники планеты Земля).

MacBuster
08.04.2017, 01:24
Получается что плотность кода у pdp11 ниже чем у i8080, в итоге на сколько длиннее вышел код? По тактам pdp11 тоже проиграл?

PDP-11 выигрывает только по числу команд, и то - до поры до времени. Принимая во внимание число тактов на команду и торможение ЦП/ПП всем чем только можно, получается что УК-НЦ со своими двумя процессорами на 8 и 6мГц едва-едва может догнать спек с одним Z80 на 3,5мГц.

hobot
08.04.2017, 01:43
Titus, на спектруме столько годных бродилок для УК-НЦ, что же вы теряетесь ? )
Я вот хотел бы на живой машинке (УК-НЦ) иметь --->Sir Lancelot - ну супер же игра! ) И звук там супер и уровни и
УК-НЦшных мощей хватить должно, с много-цветами на УК-НЦ Titus, вы точно сделаете красиво! )

- - - Добавлено - - -

Кстати говоря не совсем понятно почему авторы болдеров (обоих) для УК-НЦ в таком "поганом" состоянии выпустили игры, может им уже плевать тогда было - будет в это играть кто то или нет?
Оба варианта игры практически не играбельны, управление не отзывчивое, игра легко вылетает
в @@@СТОП@@@, а в другой герой почти всегда делает лишний ход и его едят и пришибает )))

Titus
08.04.2017, 02:23
PDP-11 выигрывает только по числу команд, и то - до поры до времени. Принимая во внимание число тактов на команду и торможение ЦП/ПП всем чем только можно, получается что УК-НЦ со своими двумя процессорами на 8 и 6мГц едва-едва может догнать спек с одним Z80 на 3,5мГц.
Все именно так)

nzeemin
08.04.2017, 13:14
Получается что плотность кода у pdp11 ниже чем у i8080, в итоге на сколько длиннее вышел код? По тактам pdp11 тоже проиграл?

Это всё в общем-то не столь важно.
УКНЦ имеет относительно большой экран, даже в режиме 320x288 и 4 цвета это 23040 байт -- сравните с экраном Спектрума.
Из ЦП экран доступен только через порты, и доступно только два плана из трёх (4 цвета), причём на каждую линейку 8x1 пикселов это всегда две операции записи в порты -- поставить адрес, записать данные. Поэтому на формировании экрана УКНЦ тормозит очень сильно.
Правильнее работать с экраном через ПП -- экран доступен непосредственно, все три плана (8 цветов). Тем более, что переложить формирование экрана на ПП -- это значит разгрузить ЦП для выполнения остальной работы.

В частности, Stop the Express на УКНЦ правильно было бы делать так: актуализацию экрана (напомню, там обновляется не весь экран, а только изменённые тайлы) делать в ПП каждые 1/50 секунды, по прерыванию -- картинка должна стать плавнее, без артефактов неполного скроллинга. При такой реализации, возможно, работало бы даже быстрее чем на ZX Spectrum. Но реализовать такой принцип -- это почти с нуля переписать всю игру.


Неплохо бы еще портонуть с atari800 boulder dash!
Я пробовал раскапывать Bruce Lee на Atari 8-bit, там более простой процессор, но код сильно завязан на хардварную специфику машины, чтобы понимать что происходит, нужно хорошо знать работу многих устройств. В общем, усилий много, а выхода мало. Портировать со Спектрума намного проще.

hobot
08.04.2017, 15:23
nzeemin, запустил на реале - работает!
Сразу несколько нюансов :
1. только на реале заметил курсор - хорошо бы его гасить всё таки )
2. управление довольно чуткое, скорость игры ИМХО: приемлемая, но:
во первых мне трудно о скорости судить - потому что нет ориентира, возможно с усложнением препятствий
скорость будет слишком шустрой - но на самом деле для такой динамичной игры вроде нормально
3. если нажимаю пробел во время демо пишет READY и понеслась - обратно в демо уже нет возврата?
Даже если попытки все кончаются по циклу игра перезапускается в демо режим не возвращается?

Могу сделать фотки - для коллекции (первый запуск на реале) и видео (для оценки скорости), надо?

Про скорость - в случае с LODE RUNNER - я знал что хотеть от скорости игры - в случае с экспрессом
могу только предполагать, что на текущей скорости все уровни будут проходимы (кидать в гадов птичкой-безумный сценарий!) Кстати гады шустрые со спины подкрадываются моментом - я управление пока не освоил (слоупочу)

nzeemin
08.04.2017, 15:57
hobot, спасибо!
Фотки -- да, было бы здорово. Видео -- только если тебе будет не напряжно -- но по нему можно будет оценить скорость.
По скорости -- желательно рядом на PC в эмуляторе ZX запустить оригинальную игру и сравнить скорость прохождения демо до какого-то момента, например до входа в вагон, но это конечно сложно в плане синхронизации. Ну или секундомером замерить то же самое. Но если будет видео -- я по нему смогу оценить.
Вообще главное что на реале играбельно.
Про замечания -- отмечу себе, постараюсь доделать.

hobot
08.04.2017, 16:05
но по нему можно будет оценить скорость.
так фотки и видео одной мыльницей делаются ) Сделаю и ссылку дам (на тубе у меня аккаунта нет, просто выложу фото+AVI файл куда нибудь)

Про замечания -- отмечу себе, постараюсь доделать.
главное что меня радует - управление чуткое, персонаж слушается вроде бы норм. Добивает когда в игра где
динамика например "ПИТОН" какой нибудь - змей поворачивает только когда уже кровь из ногтей )))

Всё, ожидайте ссылку на мультимедию )
У видео будет время проигрывания - по нему можно будет ориент.

- - - Добавлено - - -

с Лоде кстати такая же история - управление на реале гораздо более чуткое, чем в эмуляторе! Что сказочно меня порадовало в своё время! )

MacBuster
08.04.2017, 17:52
По скорости -- желательно рядом на PC в эмуляторе ZX запустить оригинальную игру и сравнить скорость
Как можно сравнивать скорость с эмулятором?

nzeemin
08.04.2017, 18:28
Как можно сравнивать скорость с эмулятором?

Здесь я предлагаю сравнить работу игры на реальном УКНЦ с эмулятором Спектрума на PC.
Насколько я знаю, Спектрум хорошо изучен, все тайминги известны, и его эмуляторы достаточно хорошо отражают реальную скорость работы.

MacBuster
08.04.2017, 18:55
и его эмуляторы достаточно хорошо отражают реальную скорость работы.
Не позволяйте ввести себя в заблуждение, знание особенностей работы отнюдь не означает способность автора эмулятора это адекватно и точно отразить. Эмуляторы написаны «не пойми как и незнамо под что». Сравнивать надо с настоящим фирменным 48к спеком - со всеми его особенностями тактирования и артефактами доступа к нижней области памяти. В противном случае сравнение не будет иметь практического смысла.

hobot
08.04.2017, 20:12
nzeemin, сам не понял как появилась надпись "GAME OVER" )

http://pic.pdp-11.ru/thumbs/vlcsnap2017040819h40m17s484.png (http://pic.pdp-11.ru/?v=vlcsnap2017040819h40m17s484.png)

К сожалению не получился ровный ролик от 1-го одинакового кадра до другого - у меня тут все "пальчики" мёртвые и
аккум. нет - только зарядн. устр. - только начав снимать мыльница вырубается. Сегодня больше ничего пока не сделаю.

Вот тут две "не равные" AVI
http://archive.pdp-11.org.ru/vid/ - строго временная ссылка (все файлы по этой ссылке обязательно будет удалены!)
- на фотки вообще не стал "последние крохи" энергии тратить, а выше - это стоп кадр из коротенького видео.

- - - Добавлено - - -

И да! У меня мыльница ещё из тех, что с ПАЛЬЧИКОВЫМИ работает! Отличное качество (для меня!) аппаратик делает.
https://market.yandex.ru/product--canon-powershot-a720-is/1264442 - с производства давно снята, меня для моих нужд.
устраивает )


http://storage5.static.itmages.ru/i/17/0408/s_1491671447_4496144_92f475e554.jpg (https://itmages.ru/image/view/5635631/92f475e5)

nzeemin
08.04.2017, 20:32
Залил на ютюб:

https://www.youtube.com/watch?v=sc0jTqVKd_8

BYTEMAN
09.04.2017, 10:17
Не позволяйте ввести себя в заблуждение, знание особенностей работы отнюдь не означает способность автора эмулятора это адекватно и точно отразить. Эмуляторы написаны «не пойми как и незнамо под что». Сравнивать надо с настоящим фирменным 48к спеком - со всеми его особенностями тактирования и артефактами доступа к нижней области памяти. В противном случае сравнение не будет иметь практического смысла.
Спектрумы эмулятся на 99,9%, если не на 100.

MacBuster
09.04.2017, 13:07
Спектрумы эмулятся на 99,9%, если не на 100.
Я не против того чтобы вы считали так и предлагаю завершить обсуждение этого вопроса.

Тем не менее хочу сказать, что на самом деле процент эмуляции ниже 95 и этот порог вряд ли будет преодолен. Есть особенности и ошибки, допущенные при реализации «исходной архитектуры» в виде схемы, которые приводят, например, к следующим проявлениям:

1) На фирменных машинах некоторые комбинации одновременно нажатых и удерживаемых клавиш (от трех и более) считываются неверно. Причем на 48к и на 128к моделях комбинации клавиш разные.

2) При обращении на чтение к порту с определенными адресам останавливается ЦП и в результате рассинхронизации происходят две неожиданности
а) считывается содержимое памяти (ОЗУ), а вовсе не значение данных из порта,
б) спек замедляет работу.

3) На экране неправильно отображается Flash при определенных комбинациях значений данных в видеопамяти. Это не «снег».

В современных понятиях п.2 это вообще уязвимость первого приоритета.

На самом деле таких особенностей больше, но эти проще всего объяснить.

NEO SPECTRUMAN
09.04.2017, 16:18
1) На фирменных машинах некоторые комбинации одновременно нажатых и удерживаемых клавиш (от трех и более) считываются неверно. Причем на 48к и на 128к моделях комбинации клавиш разные.
Ну попробуй на ПЦ нажать еще некоторые комбинации клавишь...
пока у ПЦ не будет нормальных клавиатур с возможностью отслеживать точно штук 8 нажатых клавиш
браться за эмуляцию этого бесполезно


На самом деле таких особенностей больше, но эти проще всего объяснить.
где про это почитать с примерами
особенно интересует пункт 3
и "особенностей больше"


мне когда то попадалось упоминание какого то эффекта с атрибутами...
но я забыл где...

MacBuster
09.04.2017, 16:31
Ну попробуй на ПЦ нажать еще некоторые комбинации клавишь...
Запросто - у меня есть механическая игровая, которая позволяет до 8 кнопок одновременно нажимать. Их допустимое число даже настраивается, правда не знаю зачем (в самой клавиатуре, нажатием Fn + что-то ещё).


где про это почитать с примерами
В одном месте вряд ли есть, но по частям точно можно собрать. Ищите сайты с разбором работы и воспроизведением ULA.

- - - Добавлено - - -


мне когда то попадалось упоминание какого то эффекта с атрибутами...
Возможно это про постоянно яркую точку в левом (или правом?) верхнем углу знакоместа при использовании Flash.

NEO SPECTRUMAN
09.04.2017, 16:32
Запросто - у меня есть механическая игровая, которая позволяет до 8 кнопок одновременно нажимать. Их допустимое число даже настраивается, правда не знаю зачем (в самой клавиатуре, нажатием Fn + что-то ещё).
ну это у тебя
а у 95% других пользователей ее нет

и кетайцы продолжают клепать ****** миллиардами....
вот жму вверх+вниз+влево и уже пищит...

bigral
09.04.2017, 18:23
Чето Вы господа в какие-то "дебри" ушли удалившись максимально от практической стороны вопроса (естественно 100% эмуляция тут ненужна для доводки УКНЦ версии до "рабочего" вида).

По сути:
на сколько я понимаю, для нормально работающей игры, при формировании нового кадра изображения, важен момент 100%-го обновления всех обновляемых фрагментов экранного ОЗУ ДО! высвечивания этих самых фрагментов. Т.е. в нашем случае нужен пример кода в котором ПП обрабатывает прерывание возникающее ВСЕГДА в один и тот же момент формирования кадра. А далее нужно проанализировать ВСЕГДА ли успеет ПП выводить нужные изменнеия на экран до того как "луч монитора" их покажет. Если не успевает то может стоит подобрать другой видеорежим? Может ли УКНЦ показать графику "в текстовом" режиме путем замены знакогенератора по ходу луча? (по сути быстрый режим "графики" у ПК8000,MSX,ATARI8bit,C64,NES,SEGA... всего-то ускоритель "текстового режима" реализованного в стиле КР580ВГ75). Кроме того ход самой игры а значит и работа ЦП долны быть синхронизированны с выводом графики, возможно ли генерировать с помощью ПП прерывание для ЦП? ну или от видеоадаптера? (впрочем если нет, то ЦП может poll механизмом опрашивать память и ждать сигнала от ПП).

Блин, ну всем давно известно что УКНЦ это "просранные полимеры" Научного Центра, но все же... интересна ЦИФРА! на сколько процентов он хуже того же спекки в играх? Неужели 2-й хоть и более медленный процессор + видеоконтроллер с кучей режимов никак нельзя применить?

hobot
09.04.2017, 20:00
Блин, ну всем давно известно что УКНЦ это
http://s.rimg.info/1cf797f228a3cf3b006480d28c06f709.gif


bigral, не надо холивар устраивать. Никто не хуже и не лучше. УК-НЦ машина из другой плоскости от спектрума )


Неужели 2-й хоть и более медленный процессор + видеоконтроллер с кучей режимов никак нельзя применить? Не знаю что вы имеете в виду, но повторяя себя и свои многократные посты снова опишу
некий движок, которые опытные разрабы из команды 609школы и общежития МГИЭТ сделали для менее опытных,
что бы улучшить качество и упростить разработку "правильных" программ для УК-НЦ.
Там было два модуля и библиотеки процедур и функций к ним, плюс для отдельных модуля инициализации (начальных установок) + граф.редактор спрайтовый + муз.ред. Модули и библиотеки различались по направленности
для ЦП и ПП. Там было практически всё готовое для уст. и настройки палитр, планов, переключения страниц + процедура которая гоняла играла музредовские нотки (кайф полный!) + такие переменные ассемблерные как например S$PRESS:: - если 0 шифт отжат, если 1 шифт нажат и таких пресс были на все все все все кнопки (в том числе СТОП, УСТ - т.е. системные управляющие). Как только запускались модули инициализации весь аппаратик
подчинялся уже не RT-11, а программисту - автору игры или программы, но были и процедуры корректного возврата в систему по завершению игры. Некоторые игры по некоторым признакам я вижу на этом движке (на самом деле по авторам!) Как-то так. + совсем совсем позже ещё и звукогенератор с софтом всё таки рабочий удалось пощупать, так
что нормально всё на УК-НЦ ) Зачем вам "призраки" какие-то - мне не ясно, и постоянная тяга спектрумистов писать,
что спектрум самый на свете шмектрум привычное уже дело. Но надо же всё таки здравый смысл не покидать на

nzeemin
09.04.2017, 20:57
Гифка со скринами в процессе разработки. Ну это типа как в конце фильма неудачные дубли.
Кстати, спрашивали про раскрасить волосы -- оно тут тоже есть.

https://img-fotki.yandex.ru/get/197741/7448436.9/0_a850c_686d084e_orig

hobot
09.04.2017, 21:13
оно тут тоже есть. ))) Волосы? ))))))))))))


Ну это типа как в конце фильма неудачные дубли.
то есть допиливания какое-либо не будет?

nzeemin
09.04.2017, 21:27
то есть допиливания какое-либо не будет?

Будет. Это я так, развлекаюсь.

hobot
09.04.2017, 22:40
Будет.слежу за темой, реал под рукой )

hobot
21.11.2018, 09:46
nzeemin, то есть играбельного варианта пока нет? или пропустил-забыл что то?