PDA

Просмотр полной версии : Портированные игры



Tim0xA
17.07.2009, 12:33
Кто-нибудь знает, с каких ПК были портированы эти игры?

Химия (http://www.sensi.org/~svo/scalar/ware/142/)
http://sensi.org/~svo/scalar/media/s/himiya1.png http://sensi.org/~svo/scalar/media/s/himiya2.png

Helicopter (http://www.sensi.org/~svo/scalar/ware/166/)
http://sensi.org/~svo/scalar/media/s/helicopt1.png http://sensi.org/~svo/scalar/media/s/helicopt2.png

Ramiros
22.04.2010, 07:39
Химию мне кажется со спека портанули судя по графике.

Tim0xA
22.04.2010, 12:20
Химию мне кажется со спека портанули судя по графике.
Или с MSX. Химия вышла из недр Счетмаша вместе с кучей портированных MSX-игр. Но если для всех остальных найдены аналоги, то для этой - нет.

Jons
22.04.2010, 12:46
Геликоптер, если портирован то скорее всего либо с Комодоре либо с БК, графон подходит под оба, но я не уверен

esl
22.04.2010, 15:20
про химию - 100% видел такую на MSX (даже играл на настоящей в нее)
название не помню :(
попробовал найти - не получилось быстро...

кстати, писали что "создатель" "однокласников" - в свое время занимался портированием игр в счетмаше ...

Tim0xA
22.04.2010, 17:04
про химию - 100% видел такую на MSX (даже играл на настоящей в нее)
название не помню
Оригинал игры был англоязычный?


кстати, писали что "создатель" "однокласников" - в свое время занимался портированием игр в счетмаше ...
Он в московском Счетмаше работал, а игры портировали в Кишиневском. Хотя может он не для Вектора портировал...

esl
23.04.2010, 00:14
Оригинал игры был англоязычный?


Он в московском Счетмаше работал, а игры портировали в Кишиневском. Хотя может он не для Вектора портировал...

насколько помню - да англоязычная

а про попкова - я собственно в контексте корвета в свое время эту инфу и нашел ...

"
На заре своей трудовой деятельности в течении 6 лет делал игры и системный софт для компьютеров на 8080 процессоре. Если кто-то видел Корвет с заставкой "(c) НииСчетМаш" - к этому я тоже приложился. Ну а если кто-то видел игры для Корвета, Вектора, Суры, и подобных, "адаптированные" с Ямахи MSX, как правило с заставкой "Amata", то многое из этого непосредственно я и делал.
"
откуда брал (http://internetno.net/2006/08/15/odnoklassnikiru-sotsialnyie-seti-seychas-poydut-kak-gribyi-posle-dozhdya/)

правда Amata я не встречал ...

ivagor
23.04.2010, 15:12
Если бы не непонятная Amata, то можно было бы считать, что известен один из авторов конверсий MSXных игрушек для Вектора, Корвета и ПК8000 (может и для ПК8002).

esl
23.04.2010, 16:42
надо бы ему написать :)
а вдруг ответит :)
может даст контакты еще кого, или хоть фамилии назовет ...

bigral
27.04.2010, 01:02
надо бы ему написать :)
а вдруг ответит :)
может даст контакты еще кого, или хоть фамилии назовет ...

1. интересуют в первую очередь конечно наработки "технологий" портирования хотя мемеары тоже;
2. имеют ли отношение к портированию игр на Вектор разработчики перекомпилятора (писанного на паскале) msx игрушек под msdos?
3. имеют ли отношение к этому разработчики компьютера АЛЕСТА?

esl
27.04.2010, 03:06
1. интересуют в первую очередь конечно наработки "технологий" портирования хотя мемеары тоже;
2. имеют ли отношение к портированию игр на Вектор разработчики перекомпилятора (писанного на паскале) msx игрушек под msdos?
3. имеют ли отношение к этому разработчики компьютера АЛЕСТА?

у меня сейчас нет времени этим (перепиской) заниматься.
есть желающие ?

а по вопросам
2 - на 90% думаю нет. это отдельные люди, если память не изменяет - Friends Software
их список игр - абсолютно другой ...

Tim0xA
28.04.2010, 11:20
Малобюджетный недоPAC-MAN (http://retrocomp.narod.ru/games/vector/indian.zip)
Не удержался, рекомпилировал на i8080. Но есть пара глючков - неверно отображается образ главгероя и во время поедания яблока весь интерфейс мерцает. Вечером попробую разобраться что к чему, но если ты быстрее найдешь в чём дело, я буду не против :)

Код естественно пока неоптимизирован, только из-под рекомпилятора, еще "горячий"...

ivagor
28.04.2010, 17:51
Выложил на сайт версию Indian для КР580 (ссылка в предыдущем моем посте указывает на новую версию). Для маньяков рядом (на той же страничке) лежит исходник.
Лучше запускать в VV 6.16 (или старше), т.к. b2m иногда "щелкает" (MSXная версия в соответствующем конфиге эмулятора тоже щелкает, так что я считаю это именно проблемой эмулятора).

b2m
28.04.2010, 20:38
Для маньяков рядом (на той же страничке) лежит исходник.
Лучше запускать в VV 6.16 (или старше), т.к. b2m иногда "щелкает" (MSXная версия в соответствующем конфиге эмулятора тоже щелкает, так что я считаю это именно проблемой эмулятора).

Не поленился, скачал исходник. Очень уж хотелось разобраться, почему "b2m иногда щелкает". Стал разбираться, наткнулся на такой шедевр:


L5B05: push psw
mov a, d
cpi 007h
jnz L5B11 ; jr nz, L5B11
mov a, e
ani 03Fh
ori 080h
mov e, a
L5B11: call L0093
pop psw
ret

Скажу лишь, что процедура L0093 записывает один из регистров AY и ожидает в A номер регистра, а в E - значение.

После исправления


L5B05: push psw
mov a, d
cpi 007h
jnz L5B11 ; jr nz, L5B11
mov a, e
ani 03Fh
ori 080h
mov e, a
mov a, d ; вот тут этого явно нехватает :)
L5B11: call L0093
pop psw
ret

щелчки пропали.

ivagor
28.04.2010, 21:25
b2m, спасибо, что нашел ошибку, но вопрос был не о наличии ошибки в оригинале, а о том, что в b2m эта ошибка приводит к сильно выраженным щелчкам, а в Blue MSX и VV - нет.
Tim0xA, можешь проверить на реале?

b2m
28.04.2010, 23:43
А я не сглаживаю недостатки эмуляции выходными фильтрами. Я продолжаю с ними бороться :)

Tim0xA
30.04.2010, 01:05
Tim0xA, можешь проверить на реале?
Может я не до конца уловил, о каких щелчках идет речь, но IMHO у b2m звук шагов главгероя слышен более выразительно, а также при старте (после нажатия на пробел) слышны пощелкивания. Это те отличия от VV, которые я заметил.
Что касается реального Вектора с AY, то при старте щелчков никаких не слышно, звук шагов тише, чем у b2m.
IMHO, VV более соответствует реалу.

ivagor
30.04.2010, 04:50
у b2m ... при старте (после нажатия на пробел) слышны пощелкивания.

Что касается реального Вектора с AY, то при старте щелчков никаких не слышно,
Спасибо, я именно про это спрашивал. Раз на реальном AY (или YM?) щелчков не слышно, то не удивительно, что HUDSONовцы проморгали ошибку в звуковой подрограмме.

b2m
30.04.2010, 09:45
звук шагов тише, чем у b2m
Оригинально :) Я думал, громкость должна была зависеть от установленного уровня громкости того устройства, через которое выводится звук.

ivagor
30.04.2010, 10:02
Извините, что пишу очевидные вещи, но громкость шагов относительно других звуков зависит от варианта микширования каналов AY на реале и в эмуляторе. Т.к. общепринятой схемы нет, то разная громкость звуков разных каналов - не баг, а фича.

ivagor
30.04.2010, 14:16
Выложил поправленную (по рецепту b2m) версию игрушки. Теперь неточность в эмуляции AY не проявляется, но я все же надеюсь, что со временем b2m поправит эмулятор на эту тему.

b2m
30.04.2010, 14:36
Да исправил я уже. Можно было не выкладывать поправленную версию игрушки.

ZEman
01.05.2010, 06:50
изза какихто щелчков развели тут тему..
хотя эмулятор рамироса мне всёравно больше нравится, красивый, удобный и гемороя меньше.

Ramiros
01.05.2010, 20:56
хотя эмулятор рамироса мне всёравно больше нравится, красивый, удобный и гемороя меньше.

Я пальщен конечно :) но наверное это неументное сравнение, ведь у b2m мультиэмулятор.

ivagor
21.08.2010, 17:06
Если Вы умеете рисовать и являетесь фанатом Вектора или другого советского компа (подробнее см. ниже) - не проходите мимо!

Была такая фирма Hudson, и делала она (в основном) малобюджетные игрушки, в т.ч. для MSX. Эти игрушки в связи с "однотипностью" и простотой движка пользовались большой популярностью у рекомпиляторов на Векторе, ПК8000 (Веста, Сура, Хобби), ПК8002 (Эльф) и ПК8010/20 (Корвет). На данный момент на Вектор (и ряд других советских компов) бригадой в составе Tim0xи и меня перенесено 5 (на некоторые 6) игрушек этой серии. Графика исходных вариантов игрушек затачивалась под MSXный SCR2 со всеми его ограничениями (не более двух цветов для байта). На векторе же есть "цвет на точку", но он не используется. Вот графика из 5 игрушек (названия картинок соответствуют названиям игрушек):
200352003620039
Сами рекомпилированные игрушки можно найти или на моем сайте (см. подпись) или на сайте Tim0xи (http://vector06c.narod.ru/).
Оригиналы кто-то выложил здесь (http://files.mail.ru/08CIV6). На всякий случай лучший эмулятор msx (http://bluemsx.com/).

Видно, что графика состоит из тайлов 8x8, иногда сгруппированных в блоки 16x16 и даже больше. Если Вы можете "облагородить" графику для какой-то из игрушек - сообщите мне!

Фанатам других советских восьмибиток:
Орион-ПРО - можно, как и для вектора, ориентироваться на 16 цветов на точку, а можно даже замахнуться на HiRes и увеличить разрешение по горизонтали в 2 раза.
Корвет - понятное дело, 8 цветов на точку (надо отметить, что во всех представленных игрушках в оригинале используется не более 8 цветов, хотя на MSXе могли бы использовать и 15). Как и для ориона-про можно сделать HiRes.
Львов-ПК01 и Башкирия-2М - 4 цвета на точку.

Графику, над которой я сам успел надругаться, буду убирать.
23.08.2010 - Убрал Fire Rescue
24.08.2010 - Убрал Driller Tanks

ivagor
21.08.2010, 20:01
Пока бомберман сделал для ПК8000 и 8002, ориона, -про, специалиста и _MX, а до вектора не добрался.
А что была - это для гладкости речи :)

Tim0xA
07.09.2010, 14:54
ВНЕЗАПНО выяснилось, что игра Battle Tank (http://www.sensi.org/~svo/scalar/ware/145/) (слева) - не что иное, как порт игры Lonesome Tank (http://www.generation-msx.nl/msxdb/softwareinfo/87) (справа)

http://sensi.org/~svo/scalar/media/s/btank2.png http://images.generation-msx.nl/software_game/32a8e56d_m.png

---------- Post added at 14:54 ---------- Previous post was at 14:39 ----------


Неожиданно разрешился вопрос портирования игры Химия (http://www.sensi.org/~svo/scalar/ware/142/) (слева). Оказалось, что это Merlin (http://www.generation-msx.nl/msxdb/softwareinfo/3225) (справа).

http://sensi.org/~svo/scalar/media/s/himiya2.png http://images.generation-msx.nl/software_game/65db4a10_m.png

Tim0xA
09.09.2010, 22:23
Фирма HUDSON очень почитаема нами с точки зрения рекомпиляции, т.к. создавала очень простые для адаптации игры. В списке перечислены созданные и изданные этой фирмой игры Developed and Published Games (http://www.gamefaqs.com/features/company/10642.html)

ivagor
02.10.2010, 12:37
Почитал ветку про КР580 и, в частности, следующее сообщение:

Делать многопроцессорник на 8080 (я поразумеваю семейство, а не конкретно с какой маркировкой и чьего производства будет чип) ИМХО несколько бестолку.
Все равно работать будет один, а остальные будут курит
Возникшие по ассоциации мысли решил запостить в этой теме.
Портированные с MSX игры являются ярким примером программ, которые могли бы очень активно использовать многопроцессорность (в основном при обновлении экрана, но не только), если бы на векторе было несколько 580ВМ80.
А если было бы несколько z80 - их можно было бы плотно загрузить эмулятором MSX (да и не только MSX).

b2m
02.10.2010, 13:57
ivagor, зная частично, как работает ПК8002, можно предположить, что практически без тормозов на Векторе могло бы работать целых три процессора. Хотя, если память могла бы работать на удвоенной (утроенной и т.п.) частоте, то можно и больше процессоров сделать.

ivagor
02.10.2010, 14:13
зная частично, как работает ПК8002, можно предположить, что практически без тормозов на Векторе могло бы работать целых три процессора
Я тоже так думаю, только (занудная поправка) "с такими же тормозами, которые есть и с одним процессором" :). А на ПК6128Ц - 2 проца.
Да и на Орионе-ПРО есть резервы по доступу к памяти, особенно в видеорежимах использующих не более 32 Кб памяти.

Tim0xA
27.07.2012, 17:11
Незавершенная из-за недостаточной производительности процессора версия игры "Athletic Land" с MSX. Известна также под названием "Park". Выкладывается, как есть, не пропадать же добру.

http://www.sensi.org/~svo/scalar/ware/862/

http://sensi.org/~svo/scalar/media/s/park1.png http://sensi.org/~svo/scalar/media/s/park2.png

esl
27.07.2012, 19:05
крутотеть !
а исходники доступны ?

Tim0xA
27.07.2012, 19:08
а исходники доступны ?
К сожалению, исходников именно этого векторовского порта нет (
Есть только исходники самой рекомпилияции с Z80 на i8080.

esl
27.07.2012, 19:48
собственно они и интересуют то !

а чего тормозит ?
спрайты ?
вроде же там не столько много изменяющихся тайлов ?

Tim0xA
27.07.2012, 20:47
собственно они и интересуют то
См. в аттаче

Скомпилированный файл parki.msx можно запускать в эмуляторе b2m через File-Open, если прописать в emu.ext:



msx.filter="MSX"

msx : loader {
config="MSX"
loadaddr=4000
cmd[0].start=no
}

Ramiros
28.07.2012, 10:57
местами подтормаживает, но вполне играбильно :)

esl
28.07.2012, 13:37
местами подтормаживает, но вполне играбильно :)

на сцене с фонтанами - тормозит сильно

esl
30.07.2012, 19:30
Копаюсь внутри,
Понятно чего так выглядят деревья и пр.
там в теории можно сделать нормально

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

очень много обращения в видеопамять напрямую,
всетаки оно заточено под спрайты и тайлы.
если делать "эмулятор" VDP и должно тормозить :(

но в теории можно сделать

перетянул в IDA code/data, стало намного приятнее.

esl
07.08.2012, 23:51
Зацепил меня этот парк, с чего бы это даже не скажу
воспоминание детства !!!

в общем результаты на сегодня таковы
в IDA почти полностью разобранный PARK

все инициализации фонтов и прочих экранных штук разобраны
отрисовка всего и уровней и справйтов тоже разобранно

не разобран (но внешне должен компилится) логика уровней

вот результаты картинок которые возникли в результате разбора
https://dl.dropbox.com/u/490774/PARK_ART.zip

(это дамп VRAM из которого и реконструированна картинка)
видно почему в векторовской версии так выглядят фоны (в папаке BW)

что понятно из исходника
1) четко видно как отрисовываются фоны, можно оптимизировать
2) все подвижные элементы - каждый свой спрайт
3) четкое/ие места где спрайты на экран бросаются, до этого вся работа в памяти

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

в общем, что спецы посоветую
у меня запал уже спал, так что моя активность будет очень маленькой
и в любом случае она бы меня интересовала в контексте Корвета ;)

так что если есть желающие - могу поделиться тем что наработалось
вдруг совместными усилиями что-то и полчиться

p.s. в отдельную бы темку это, но вот куда ???


36826 36827
3682836825

Vadim
08.08.2012, 06:47
так что если есть желающие - могу поделиться тем что наработалось
вдруг совместными усилиями что-то и полчиться

Мне интересны разобранные исходники игры. Хочу сделать порт на профи.

Tim0xA
08.08.2012, 08:54
у меня запал уже спал, так что моя активность будет очень маленькой
и в любом случае она бы меня интересовала в контексте Корвета
У меня на сайте в разделе "Рекомпиляции" есть игра "Driller Tank" с иходниками для Корвета. Желающим это может помочь в адаптации "Парк"-а и ускорит работу в разы.

esl
12.08.2012, 15:26
продолжаю про парк ...

Сегодня сгенерил и поправил асм
т.е. в ром для MSX можно скомпилить

скомпилил его sjasmplus - заработало
вставил в начале кучку db, скомпилил - заработало
выкучил кучу db (всякие там фонты и прочее) и перенес в конец, скомпилил - заработало

вставил в начале области данных кучку db, скомпилил - заработало

конечно не все тестил, но стартует, музыку играет, начальные уровни работают

правда еще есть непонятности с самим sjasmplus
область данных там вся ds
а он ее добавляет 0 к бинарнику

---------- Post added at 15:26 ---------- Previous post was at 15:21 ----------


У меня на сайте в разделе "Рекомпиляции" есть игра "Driller Tank" с иходниками для Корвета. Желающим это может помочь в адаптации "Парк"-а и ускорит работу в разы.

спасибо, это видел, музику посмотрю

а с экраном явно очень простые
гораздо интереснее в корветовских ITAExpress & Pacman
там хитрый вывод, 3 типа символов, с разным типом заполнения

и вывод спрайтов в pacman достаточно приличный есть
(целых 6 спрайтов, там кстати расспаковыные спрайты занимают 24к)
и там по 4 сдвига каждого а не по 8

Tim0xA
12.08.2012, 19:58
Сегодня сгенерил и поправил асм
т.е. в ром для MSX можно скомпилить
То, что ром не работает в MSX - так и должно быть. Т.к. для бОльшего быстродействия при замене команд Z80 я специально использую модифицирующийся код. А так как в MSX игра запускается с картриджа (фактически ПЗУ), то разумеется, что модификация кода там не происходит, отсюда и глюки. В эмуляторе b2m есть возможность запустить ром в области ОЗУ (я чуть ранее давал правку конфига), поэтому именно он используется для отладки.

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

PPC
12.08.2012, 20:57
Кроме этого, все процедуры оптимизированы по быстродействию с учетом того, что на Векторе команды выполняются за количество тактов кратное 4-м. Т.е., например, при рекомпиляции в зависимости от количества итераций цикл может автоматически развернуться или нет. Поэтому при переносе на другую платформу, это тоже нужно учитывать, т.к. то, что хорошо для Вектора, не обязательно будет лучшим выбором для другой платформы.
А вообще, по моему скромному разумению, программирование Вектора - есть перманентный акт великого шаманства. Даже Michael Abrash с его Graphics Programming Black Book и извратами с кодом для Кваки рядом в изощрениях не стоит. Вектор - это такая удивительная платформа, где "ничего нельзя, но если очень хочется, то - можно". Сколько под него программаю, и это ощущение не проходит.

esl
12.08.2012, 21:20
То, что ром не работает в MSX - так и должно быть. Т.к. для бОльшего быстродействия при замене команд Z80 я специально использую модифицирующийся код.

я наверное не совсем точно выразился ;)
я разобрал ОРИГИНАЛЬНУЮ MSX ROM версию парка
Ваш исходник был точкой отсчета так сказать
из него перенес метки и структуру (то что перенеслось)

после этого ручками в IDA разбирал что и как
и вот этот исходник из IDA я и скомпилил сегодня

а по поводу "поправил" эт скорее про другое
например в IDA у меня отдельный сегмет для MSX VRAM
с метками для каждой строки, каждого символа PGT & PGC
там метки вид
LD DE,PGC3_12
LD DE,VL13+12h

их и преобразовал в константы вида

LD DE,PGC3+(12*8)
LD DE,VLINE+(13*32)

теперь надо отдельно делать Z80->i8080
но есть идея как СИЛЬНО облегчить себе жизнь
LST файл должен очень помочь

а то что писал выше - тесты что похоже оно более мение нормально дизассемблировалось ибо сдвиг кода/данных на вид не влияет на работоспособность



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

крутотень редкая
буду поглядывать в Ваш исходник, аж интересно стало

esl
13.08.2012, 00:29
получается таки по LST файлу детектить z80 инструкции

вот статистика по park
это сколько раз встречается в исходнике

уже заменил
jr -> jp
djnz -> dec b;jp nz
ldir -> call _ldir_
все работает


[["jr", 372],
["djnz", 42],
["ldir", 15],


["bit", 54],
["ld", 43],
["set", 7],
["res", 6],
["rr", 6],
["out", 5],
["dec", 4],
["neg", 4],
["exx", 4],
["sbc", 2],
["reti", 2],
["pop", 2],
["add", 2],
["inc", 1],
["rl", 1],
["im", 1],
["push", 1],
["cp", 1]]

причем работа с IX похоже только в муз плеере

bit - надо менять более обдуманно, сохранять A нужно делеко не всегда

в общем работа ползет потрошку

Tim0xA
13.08.2012, 09:54
я разобрал ОРИГИНАЛЬНУЮ MSX ROM версию парка
Теперь ясно. Тогда может будет интересно посмотреть, прилагаю свой дизассемблерный Z80 код.

TAL
14.08.2012, 10:02
А не лучше ли будет написать что то свое похожее, чем разгребать чужой код? Да и графику можно оптимизировать для использования всех возможностей Вектора.

esl
14.08.2012, 10:11
А не лучше ли будет написать что то свое похожее, чем разгребать чужой код? Да и графику можно оптимизировать для использования всех возможностей Вектора.

возможно, но, графику в MSX играх можно оптимизировать и так достаточно не сложно

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

в свое время на корвете (и на векторе тоже вроде)
хорошие порты ямаховских игр задали планку качества
и на корвете до них мало кто смог дотянуться
на векторе вроде с этим получше, но все равно - порты это пример

а вообше игровая механика - штука тонкая
например в pacman фирменном каждый соперник имеет свою логику
и даже есть целые стратегии как уходить от каждого из них
есть ОГРОМНЫЙ документ с описанием
кстати к сожалению на корвете/векторе цвета убили при портировании :(

Tim0xA
14.08.2012, 14:10
А не лучше ли будет написать что то свое похожее, чем разгребать чужой код?
Тут я полностью согласен с esl. Точно воссоздать игровую механику довольно сложно. Скорее всего это получится уже совсем другая игра "по-мотивам". IMHO, если стоит задача сделать аналог, то же проще именно портировать, чем переписать заново. Хотя есть прецедент, когда игра была переписана и динамика игры совершенно не пострадала. Это "Exolon". На форуме есть интервью с автором http://zx.pk.ru/showthread.php?t=11067. Это очень качественная работа.


например в pacman фирменном каждый соперник имеет свою логику и даже есть целые стратегии как уходить от каждого из них
У меня была своя стратегия, которая позволяла чисто механически проходить первые 2 или три этапа практически неуязвимо. Когда я попробовал эту стратегию на MSX, все было точно также. И в "Warp & Warp" тоже можно было выкосить практически всех врагов тупо бегая вокруг укрытия против часовой стрелки и непрерывно стреляя. В "Putup"-е без сноровки иногда бывает трудно нажать одновременно прыжок и движение влево-вправо. Думалось, что это глючок игры. Но нет, в версии для MSX все точно так же. Это к вопросу о точности переноса механики игры. Никакое переписывание этого не даст. Только портирование кода. И что главное, в этом случае, игры сохраняют свое первозданное очарование и не выглядят тупыми подделками!


кстати к сожалению на корвете/векторе цвета убили при портировании
Не знаю, как на других платформах, но на Векторе в версиях от ПО"Счетмаш" цвет действительно сделан абы-как. Но в рекомпиляциях "новой волны" цвет почти соответствует оригиналу. Вот на примере "Color ball"-а:

1) версия MSX
http://s018.radikal.ru/i514/1208/fe/8c6c93cacc5f.jpg

2) версия ПО "Счетмаш"
http://s019.radikal.ru/i620/1208/b7/d5b6bf403ccb.jpg

3) "новая волна"
http://s017.radikal.ru/i424/1208/9d/772e7f3af486.jpg

esl
14.08.2012, 14:41
Не знаю, как на других платформах, но на Векторе в версиях от ПО"Счетмаш" цвет действительно сделан абы-как.


я про цвет писал именно в контексте pacman
про остальные игры - имхо близко к реальному - хорошо
но они делали тоже вполне приемлеммо ;)

вот тот текст про который я говорил
pacmandossierl (http://home.comcast.net/~jpittman2/pacman/pacmandossier.html)

там 4 цвета, и КАЖДЫЙ имеет свое поведение
при портировании они убили цвета, и отличить их нет способа ;)

но я про это узнал только прочитав статью

и думаю что авторы порта даже не думали про это
ибо реализовать на Корвете/Векторе думаю вполне реально


Blinky: The red ghost's character is aptly described as that of a shadow and is best-known as “Blinky”. In Japan, his character is represented by the word oikake, which means “to run down or pursue”. Blinky seems to always be the first of the ghosts to track Pac-Man down in the maze. He is by far the most aggressive of the four and will doggedly pursue Pac-Man once behind him.

Pinky: Nicknamed “Pinky”, the pink ghost's character is described as one who is speedy. In Japan, he is characterized as machibuse, meaning “to perform an ambush”, perhaps because Pinky always seems to be able to get ahead of you and cut you off when you least expect it. He always moves at the same speed as Inky and Clyde, however, which suggests speedy is a poor translation of the more appropriate machibuse. Pinky and Blinky often seem to be working in concert to box Pac-Man in, leaving him with nowhere to run.

Inky: The light-blue ghost is nicknamed “Inky” and his character is described as one who is bashful. In Japan, he is portrayed as kimagure, meaning “a fickle, moody, or uneven temper”. Perhaps not surprisingly, Inky is the least predictable of the ghosts. Sometimes he chases Pac-Man aggressively like Blinky; other times he jumps ahead of Pac-Man as Pinky would. He might even wander off like Clyde on occasion! In fact, Inky may be the most dangerous ghost of all due to his erratic behavior. Bashful is not a very good translation of kimagure, and misleads the player to assume Inky will shy away from Pac-Man when he gets close which is not always the case.

Clyde: The orange ghost is nicknamed “Clyde” and is characterized as one who is pokey. In Japan, his character is described as otoboke, meaning “pretending ignorance”, and his nickname is “Guzuta”, meaning “one who lags behind”. In reality, Clyde moves at the same speed as Inky and Pinky so his character description is a bit misleading. Clyde is the last ghost to leave the pen and tends to separate himself from the other ghosts by shying away from Pac-Man and doing his own thing when he isn't patrolling his corner of the maze. Although not nearly as dangerous as the other three ghosts, his behavior can seem unpredictable at times and should still be considered a threat.

Tim0xA
14.08.2012, 15:43
там 4 цвета, и КАЖДЫЙ имеет свое поведение
О как! Я не знал, это интересно. Помотрел в версии для MSX - точно цветные, не обращал внимания ))

К слову, когда я в первый раз играл в "Pacman" на MSX, то это было на "зеленом" ученическом мониторе. Мне любой цвет был бы в радость )) А вообще, "Pacman" - это моя вторая компьютерная игра, в которую я играл. Первой был "Galaxian". Было это в далеком 1986 году. Пару лет назад были попытки портировать "Galaxian" на Вектор, но потом эта работа была заброшена и ivagor сделал версию для ПК-8002, т.к. эта машинка идеально подходит для портирования с MSX.

В приложении версия для ПК-8002.

esl
14.08.2012, 16:31
;)
у меня первая MSX игра была King's Valley, до сих пор помню как час сидели и не прошли первый уровень ...

любофф детства
тоже 16к рома ....

esl
15.08.2012, 22:51
Очередные обновления
пора что-то решать ;)
подскажите, где на форуме можно сделать специальную тему про это ?
где буду описывать что есть
и потом от нее можно будет ссылки на порты сделать ?

сделал репозиторий на bitbucket
https://bitbucket.org/esl/park_dissassm
там и веду работы, так сказать
т.е. оно достаточно актуально

та же есть локальная вики, можно там доку писать ...

там будут мои активные работы
и при необходимости дам права желающим, можно будет форкать и делать порты

что сейчас сделано
исходник частично разбит на файлы,

инициализация фонтов,
отрисовка всех фонов
и инициализация врагов
функции вывода врагов на экран
музыка

частично сделан переход в сторону 8080
но не весь
jr->jp
всякие там ld de,(xxxx)
и по мелочам
но пока с этой работой остановился, ибо для z80 машинок она не нужна и может пока подождать

т.к. исходники уже СИЛЬНО перепаханы а оно на вид работает, дизасм вроде достаточно неплох

что в репозитории
база для IDA с которой все и началось
исходный ASM который скомпилился
напиленый асм
картинки на которых есть все три знакогенератора (чтоб как справочник использовать)

скриптики которые помогают портировать на 8080 (выводят комманды которох нет в i8080)

моя идея была - в эмуляторе не делать полной эмуляции VDP
а оставить только логику игрушки а весь вывод перехачить

и картики брать уже не из кода, а из картинок знакогенератора

как-то так

и еще совсем не понятно насколько правильно оставлять это в открытом доступе
ибо всякие там копирайты ...

можно сделать приватный репозиторий, но народ должен иметь опыт работы.

ivagor
22.08.2012, 09:46
кстати к сожалению на корвете/векторе цвета убили при портировании :(
Для вектора есть версия с 3мя цветами спрайтов. Для этого просто задействована еще одна плоскость, так что для корвета такой вариант не пойдет, тем более все равно цветов маловато. Можно было сделать больше цветов, но для этого нужны были другие процедуры (потом в другой игрушке попробовал), а pacman был практически моим первым околоMSXным опытом.

svofski
05.09.2012, 10:57
Вот ведь совершенно портабельная на Вектор игра. Почти все на черном фоне, перерисовки за спрайтами минимум (хотя шляпа то и дело по кирпичу проезжает). Вся логика ограничена "кататься от стенки до стенки", или "мигать раз в Х кадров". Порты есть на все возможные системы от Atari 2600 до PC. Никому не охота заняться? ;)
http://www.youtube.com/watch?v=_zbg9rs5QZY

x-code
05.09.2012, 16:55
Вот ведь совершенно портабельная на Вектор игра. Почти все на черном фоне, перерисовки за спрайтами минимум (хотя шляпа то и дело по кирпичу проезжает). Вся логика ограничена "кататься от стенки до стенки", или "мигать раз в Х кадров". Порты есть на все возможные системы от Atari 2600 до PC.

На Векторе есть практически точно такая же игра под названием Амбал (http://sensi.org/~svo/scalar/ware/440/), даже анимация змеи и черепа в ней один в один как на видео.

esl
05.09.2012, 17:21
тут на форуме один участник сделал ее порт на ZX

svofski
05.09.2012, 17:34
На Векторе есть практически точно такая же игра под названием Амбал (http://sensi.org/~svo/scalar/ware/440/), даже анимация змеи и черепа в ней один в один как на видео.

Да, но это просто игра, сделанная отдаленно по мотивам и играть в нее совсем не так приятно. На Векторе можно сделать не хуже, чем на Атари.

Монтесума есть для ColecoVision, что суть MSX без клавиатуры, так что опыт портирования может оказаться полезным. Есть еще какие-то самодельные бразильские порты именно на MSX, но я не понял ни где их найти, ни чем они лучше. Насколько я смог понять из обрывочных записей в блогах 2006-2008 годов, автор одного из портов сгинул, а автор второго решил выпустить результат на картридже. Тоже, правда, сгинул. Осталась только Ютуба, но в ней фальшиво звучит Кукарача. Проклятье просто какое-то!

ivagor
05.09.2012, 18:53
ColecoVision, что суть MSX без клавиатуры
Все же звуковой чип отличается, хотя и не принципиально.
И можно еще упомянуть SG-1000 (http://en.wikipedia.org/wiki/SG-1000). Большинство игр на этих платформах одинаковые, буквально несколько штук не было на MSX, но сейчас их уже вроде все портанули.



Есть еще какие-то самодельные бразильские порты именно на MSX, но я не понял ни где их найти, ни чем они лучше.
Приложил 2 варианта - предварительный и окончательный (хотя может был и более окончательный, я сейчас уже не помню).

Между прочим, на ТИА-МЦ есть ведь своеобразный украинский ответ Athletic Landу - "Конек-горбунок" и уже для 580ВМ80 (эмуляция есть в emu). Хотя 1 в 1 на вектор его было бы перенести непросто.

svofski
05.09.2012, 19:05
О, прикольно, что ты их выцепил. Но если уж делать, то по-моему лучше с оригинала. Огрехи MSX-ной версии видны даже по ютубе.

Edit: не хотел сказать, что я стану воротить нос от MSX-ного порта на Векторе ;)

ivagor
05.09.2012, 20:11
Но если уж делать, то по-моему лучше с оригинала.
Мне тоже так кажется. Бразильский товарищ там лишнего добавил. Но были порты с этих приставок и с минимальным вмешательством (других товарищей), например Bomb Jack с сеги.
К слову в монтезуме (и на калеке и на msx) меня лично раздражает плохая вписываемость в лестницы с правой стороны.

svofski
05.09.2012, 20:32
Это не оттого, что оригинал был заточен на 320 точек в строке, а все калекоподобные были потом подточены на 256? А ведь есть еще Монтесума на Atari 2600, это вообще не для людей со слабым воображением ;)

ivagor
05.09.2012, 21:21
Это не оттого, что оригинал был заточен на 320 точек в строке, а все калекоподобные были потом подточены на 256?
Не знаю, но скорее все же оригинал был (не могу без занудства) под 160 точек.

svofski
05.09.2012, 21:29
160 и 320 это одно и то же =)

ivagor
06.09.2012, 10:09
Еще можно упомянуть версию для Сеги Master System, там графика другая (своеобразная).

Упоминавшийся Ambal интересен (мне) тем, что это одна из немногих игрушек, хорошо использующих графические возможности вектора, хотя может в реализации игрового процесса и есть шероховатости. Есть еще игрушка по мотивам Ambala - Death in the Pyramid (http://www.sensi.org/~svo/scalar/ware/79/)

x-code
06.09.2012, 12:18
Интересно, какое железо на Yamaha MSX, отсутствующее на "Векторе", позволяло делать вот такие игры:

Zanac Gameplay Video (http://www.youtube.com/watch?v=LpjYiTIm3hE)
Metal Gear Gameplay Video (http://www.youtube.com/watch?v=JrJmYsMCcCQ&feature=relmfu)

(эти обе игры - одни из самых известных на MSX-платформе, и раз их не портировали на "Вектор", наверняка на то были существенные аппаратные ограничения)

svofski
06.09.2012, 12:44
Не знаю, были на MSX тайлы? Подозреваю, что были, как и на всех компьютерах того времени. По сути, игровое поле сделано в текстовом режиме. Это позволяет сделать очень быстрое обновление игрового поля. На Векторе есть аппаратная прокрутка, но с ней все не так просто: перерисовывать целиком 8*4 строк 50 раз в секунду для векторовского процессора — серьезная задача. Но хуже того, все статические части экрана должны быть перерисованы целиком каждый кадр, чтобы стоять на месте. Настоящее зазеркалье. Это практически сводит все преимущества аппаратной прокрутки на нет.

И спрайты, которые на Векторе могут быть реализованы только программно. Каждый движущийся объект должен быть перерисован каждый кадр. Если под ним что-то есть, это надо сложить с маской спрайта и вывести заново. На процессоре 8080 это чудовищно медленно. На Векторе можно рисовать по слоям, но это нас очень быстро лишает цветов. Например, можно сделать, чтобы белый был независимым от остальных цветов — тогда рисовать белые спрайты будет очень просто, но полезных цветов для игрового поля останется только 8. Добавляем еще один "спрайтовый слой", получаем 4 цвета для поля, 4 для спрайтов.

Поэтому большинство игр для Вектора либо не очень цветные, либо не очень часто обновляют экран. Но все равно существует множество игр, которые на Векторе могли бы быть очень хорошими, если бы они для него были ;)

---------- Post added at 13:44 ---------- Previous post was at 13:42 ----------


Еще можно упомянуть версию для Сеги Master System, там графика другая (своеобразная).

У меня отношения с этими играми чисто ностальгические. Графика с Атари меня умиляет, она мне кажется гармоничной и естественной, а от SMS версии мне хочется родиться обратно.

ivagor
06.09.2012, 12:56
Metal Gear все же для MSX2
Лучший вектор для игрушек - это ПК6128Ц. У него только 2 недостатка: очень маленькая распространенность и отсутствие кое-какой периферии.

PPC
06.09.2012, 14:32
Добавляем еще один "спрайтовый слой", получаем 4 цвета для поля, 4 для спрайтов.

Мне кажется, это почти единственный "сбалансированный" по цветам режим для Векторовских игр. Всё-таки, 8 цветов и "быстрые" спрайты без маскирования - это не так уж и плохо. Есть только одна тонкость, и связана она с прокруткой экрана. Пожалуй, можно ухитрится написать движок с плавной вертикальной прокруткой, используя аппаратный скролл и цветовую схему выше (игра Полёт-не в счёт, там uni-planar спрайты, а нужны будут bi-planar). Проблема есть с горизонтальным скроллом - видна перерисовка уровня. Не смертельно, (на многих платформах видел и похуже) но-неприятно. Собственно, я и наколбасил вот это, http://sensi.org/~svo/scalar/ware/865/, чтобы оценить "мырганье" при перерисовке bi-planar уровня. Для себя счёл мырганье неприемлемым, и пришлось делать фрейм-буфер, что сразу ограничило количество цветов до 4х. Это было не такое простое решение, и, возможно мырганьем в горизонтали для некоторых игр можно и пренебречь.
Плавное движение спрайтов вполне возможно, правда с дискретизацией на 2 пиксела, а не на 1. Тогда и фаз надо в памяти хранить по 4 на спрайт. Их обязательно надо просчитать заранее (по-крайней мере, я храню все 8 фаз в памяти квазидиска), иначе быстродействие будет убито сдвигами. Естественно, всё чтение с квазидиска в видеопамять, - только стеком (включая и уровень и спрайты). Для оптимизации по быстродействию, байты в спрайтах можно хранить "змейкой". Прогнал тут тест на своём движке, и убедился что 12 спрайтов размером 32x32 пиксела плюс главный герой 24x64 - предел после которого начинает чувствоваться лёгкое замедление.
Есть ещё одна тонкая тонкость - sprite clipping. Негоже, когда спрайты болтаются по экрану, а потом исчезают на краю целиком. Проблема в том, что для клиппинга, даже на границах байт нужны отдельные стековые процедуры, и они значительно медленнее.
И всё-же, предложенная цветовая схема 4x4 наверное - самое то.

---------- Post added at 07:32 ---------- Previous post was at 07:14 ----------


Интересно, какое железо на Yamaha MSX, отсутствующее на "Векторе", позволяло делать вот такие игры:

Zanac Gameplay Video (http://www.youtube.com/watch?v=LpjYiTIm3hE)
Metal Gear Gameplay Video (http://www.youtube.com/watch?v=JrJmYsMCcCQ&feature=relmfu)

(эти обе игры - одни из самых известных на MSX-платформе, и раз их не портировали на "Вектор", наверняка на то были существенные аппаратные ограничения)
Если честно, то с Metal Gear я проблем в смысле аппаратных ограничений
не вижу. Zanac в таком виде невозможен потому как на Векторе аппаратно прокручивается весь экран, и меню придётся убрать. Если делать программную прокрутку, не думаю что хватит быстродействия. Всё-таки у MSX - 9918 видеопроцессор с аппаратной поддержкой спрайтов и видеопамять в 2 раза меньше.

ivagor
06.09.2012, 14:37
4 цвета для поля, 4 для спрайтов
Если в виде 4 для фона+3 для спрайтов, то это многие использовали: Ambal (и Ко), Гротоход, вроде еще что-то было

К сожалению оригинальная придумка SESа - 8 цветов для полэкрана с даблбуфферингом была им реализована только в демке. В игрушке можно было бы получить 8 цветный фон + 8 цветные спрайты, пусть и ценой быстродействия. Но у него T-REX и без этого крутой получился.

PPC
06.09.2012, 14:56
Если в виде 4 для фона+3 для спрайтов
Спасибо за уточнение, правильно, для спрайтов только 3, потому как один бит уходит на прозрачность.


К сожалению оригинальная придумка SESа - 8 цветов для полэкрана с даблбуфферингом была им реализована только в демке. В игрушке можно было бы получить 8 цветный фон + 8 цветные спрайты, пусть и ценой быстродействия. Но у него T-REX и без этого крутой получился.
А можно пояснение, в чём суть идеи?

ivagor
06.09.2012, 15:06
в чём суть идеи?
Одна плоскость выделяется под маску - верхняя половина 00, нижняя FF или наоборот. Когда приходит время переключить отображаемый буфер - меняем палитру и сдвигаем картинку в нужное положение.
Можно таким макаром организовать и чересстрочный вариант (вроде SES такого извращения не предлагал).

svofski
06.09.2012, 15:08
К сожалению оригинальная придумка SESа - 8 цветов для полэкрана с даблбуфферингом была им реализована только в демке. В игрушке можно было бы получить 8 цветный фон + 8 цветные спрайты, пусть и ценой быстродействия. Но у него T-REX и без этого крутой получился.

Поясни, пожалуйста, оригинальную придумку. Не будучи совсем в теме, трудно составить четкую картину того, что именно и где. Какой-нибудь коварный мультиколор и щелканье страницами квазидиска посреди хода луча?

---------- Post added at 16:08 ---------- Previous post was at 16:07 ----------

Ааа, это чтобы можно было "спокойно" перерисовывать 25 кадров в секунду вместо 50.

ivagor
06.09.2012, 15:15
Ааа, это чтобы можно было "спокойно" перерисовывать 25 кадров в секунду вместо 50.
Не только, если быстродейтвия хватит (что, конечно, вряд ли) можно и 50 (а можно и 16 и 12 и т.д). Независимая от FPS фишка - возможность перерисовывать любую часть области вывода (пусть и уменьшеной в 2 раза), без мигания.
А 6128 мне как раз очень импонирует 4мя возможными полноцвентыми и полноразмерными экранными буферами. В т.ч. и проблемы с полноэкранным скроллингом можно решить.

svofski
06.09.2012, 15:41
А 6128 мне как раз очень импонирует 4мя возможными полноцвентыми и полноразмерными экранными буферами. В т.ч. и проблемы с полноэкранным скроллингом можно решить.

[канюч]Понятно, но для меня он не является чем-то реальным. Я знаю, что вот он был и все такое, но не то. Примерно как АЫ прикрученное к Вектору. Знаю, что это несправедливо по отношению к хорошему компьютеру.[/канюч]

ivagor
06.09.2012, 15:53
Аналогия между очень редким 6128 и свободно покупаемым и подключаемым к любому вектору AYком мне не совсем понятна. Тогда и квазидиск и дисковод надо исключать из оборота. Как-то слишком хардкорно.
Сделать что-то крутое для голого вектора - в этом есть своя прелесть, но зачем ограничиваться только этим минимальным вариантом.

PPC
06.09.2012, 16:13
Мне тоже кажется, что ничего зазорного в делать под 6128 нет.
Но!!! (мой канюч): тот-же самый софт должен работать и под стандартным Вектором. Пусть с урезанными цветами и пропуском фич, но работать должен. У 6128, как я понимаю, аналог i8085, и там с точки зрения программера вся разница - только в наличии RIM и SIM.
Сразу возникает вопрос. А программно возможно отличить, бежит ли софт на 06ц или 6128? Возможно, попытки переключения страниц через 0Eh и записи с последующим чтением и есть такой тест, но я немного не в курсе, у 6128 квазидиск - стандартная поставка, или расширение, как у 06ц. Правда, наличие квазидиска легко проверяется таким-же макаром через порт 10h. Его, как я понимаю оба компа поддерживают одинаково, или нет?

Ещё вопрос насчёт видеопамяти в 6128. Видеоконтроллер читает все переключенные 32K из квазидиска, или возможны варианты с переключением отдельных плоскостей? Вообще хорошо-бы инфу по портам 6128 где-нибудь нарыть.

ivagor
06.09.2012, 16:37
Но!!! (мой канюч): тот-же самый софт должен работать и под стандартным Вектором. Пусть с урезанными цветами и пропуском фич, но работать должен.
У нас с Tim0xой с Lode Runnerom почти так и получилось.


Сразу возникает вопрос. А программно возможно отличить, бежит ли софт на 06ц или 6128?
Можно отличить по флагам, причем благодаря Денису Кущу (спасибо ему за это) способ проверен на реале. Tim0xе я этот тест посылал, со временем, надеюсь, он его выложит в картотеку.


у 6128 квазидиск - стандартная поставка, или расширение, как у 06ц. Правда, наличие квазидиска легко проверяется таким-же макаром через порт 10h. Его, как я понимаю оба компа поддерживают одинаково, или нет?
Стандартный квазидиск к 6128 все же не подключить. Было ли для него свое (совместимое со стандартным векторовским) расширение ОЗУ - это только астраханские инсайдеры могут рассказать. Но у 6128 все же есть 128 Кб на борту + КНГМД - не так уж плохо.


Вообще хорошо-бы инфу по портам 6128 где-нибудь нарыть.
Руководство по эксплуатации ПК-6128Ц (http://sensi.org/~svo/scalar/ware/507/)

---------- Post added at 19:37 ---------- Previous post was at 19:35 ----------


У 6128, как я понимаю, аналог i8085, и там с точки зрения программера вся разница - только в наличии RIM и SIM.
Это не совсем так.
1. Пресловутые mov r,r; inr r; dcr r выполняются на нем за 4, а не за 8 тактов.
2. Есть небезынтересные недокументированные (вернее плохо документированные) команды.

svofski
06.09.2012, 16:44
Аналогия между очень редким 6128 и свободно покупаемым и подключаемым к любому вектору AYком мне не совсем понятна.
Это не совсем аналогия, это просто под общей скобкой один канюч на темы, которые мне лично не нравятся: АЫ, квазидиск, все, что не лежало в заводской коробке. АЫ я не могу, биологическая несовместимость, типа аллергии на рыбу и арахисовое масло: другие пусть, а для меня это не еда. А что до всего остального, то я просто примериваю на себя. У меня нету настоящего Вектора, но если бы был, я скорее всего не стал бы к нему приделывать ничего внешнего, кроме того, что требуется для сопряжения с телевизором и, может быть, геймпадом. Он мне интересен своими ограничениями. Квазидиск, где он? Я видел один в середине 90-х. Сейчас это железка-призрак из эмулятора. Почему бы (виртуально) не приделать еще к Вектору внешний модуль со спрайтами и оверлеями, например, объявить его таким же реальным, как квазидиск, поддержать в эмуляторе и портировать на него игры с Ямахи? А реальные Векторы еще пока есть, это значит, что если я напрягусь, я смогу все-таки выцарапать откуда-то реал и поиграть в игру для нерасширенного Вектора.

6128 тут в общем ни при чем, просто попал под раздачу потому, что во внутреннем моем кеше он у меня там же примерно, где квазидиск, снежный человек и уфология, но обидеть его сравнением с АЫ я не хотел :)

esl
06.09.2012, 16:46
объясните плиз
"для оптимизации по быстродействию, байты в спрайтах можно хранить "змейкой"."

остальное понятно ;)

p.s. zanac ex - это обычный msx тайловый screen 2
скрол - познакоместный
со спрайтами похоже играются

вот дампы VDP моими тулзами
https://dl.dropbox.com/u/490774/yg_zanac0.png
https://dl.dropbox.com/u/490774/yg_zanac1.png

PPC
06.09.2012, 16:52
Спасибо, ivagor. Интересно, оказывается у 6128 видеоконтроллер использует память на борту, а не на квазидиске. Я просто не знал. Занятно.

ivagor
06.09.2012, 16:59
Квазидиск, где он? Я видел один в середине 90-х. Сейчас это железка-призрак из эмулятора.
Может в этом дело. Квазидиск то я видел (и трогал :) ) много раз, а последний раз всего несколько (пару?) лет назад, так что для меня он совершенно реален.


Почему бы (виртуально) не приделать еще к Вектору внешний модуль со спрайтами и оверлеями
"Тогда" такого не было, в этом и разница.
Правда граница когда закончилось это "тогда" у каждого м.б. своя :)

---------- Post added at 19:59 ---------- Previous post was at 19:55 ----------


вот дампы VDP моими тулзами
Чтобы по быстрому оценить, как в интересующей MSXной игрушке что сделано, я раньше использовал meisei (http://tsk-tsk.net/)

esl
06.09.2012, 17:05
ух ты, за meisei спасибо !
полезно!

PPC
06.09.2012, 17:07
объясните плиз
"для оптимизации по быстродействию, байты в спрайтах можно хранить "змейкой"."

esl, Нечётные колонки байт в спрайте расположены наоборот, свеху вниз. Также колонки спрайта для нечётных плоскостей расположены в спрайте справа-налево. Вот здесь я приводил сырец:

http://zx.pk.ru/showpost.php?p=388228&postcount=14
А вот его дальнейшая оптимизация для двух плоскостей
http://zx.pk.ru/showpost.php?p=392196&postcount=21

Когда с одной колонкой покончено, меняем направление копирования в видеопамять с инкремента на декремент. Тоже самое - с переходом к отрисовке следующей плоскости: колонки байт в нечётных плоскостях отрисовываются всегда справа налево (в чётных - слева направо).
Учтите, что в проге нужно 2 ветки отрисовки - для спрайт с чётным и нечётным количеством байтовых колонок. Вот ROBOTZ все, без исключения, спрайты так и рисует и хранит.

esl
06.09.2012, 18:55
эх на векторе с битплоскастями красота ;)
на корвете их впихнути в 16к и регистр выбора
правда местами умный, но например приходится отдельным проходом стирать :(

svofski
06.09.2012, 20:40
Насколько умный? Можно записать в четыре плоскости одной операцией? На Векторе нет, хотя физическая структура памяти это позволяет. Если бы только чуть-чуть подумали.

esl
07.09.2012, 00:00
он удобный для paint & pset & point
но имхо не очень для заполнения тайлов/спрайтов

имеем 48к, 3 битплана по 16к, в адресном пространстве 16к
дальше есть регистр цветности (NCREG) в котором задается режим работы

1) color mode
запись
в NCREG записывается код цвета
а далее при записи в видеопамять для тех битов что стоят в 1 записывается "ЦВЕТ"
там где "0" остается то что было
(супер для ставить точки нужным цветом)
при чтении записываем цвет для сравнения в другие биты NCREG)
далее при чтении байта - 1 стоят в тех битах у которых цвет совпал с заданным

PAINT в дисковом бейсике ну ОЧЕНЬ быстрый
в том что в ПЗУ - редкий тормоз

2) послойный режим
запись
в NCREG выбираем плоскости с которыми работаем
и значение которое будет записано (0 или 1)
при записи байта в выбранные битплоскости там где стоят 1 пишем выбранное значение

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


и еще есть отдельный регистр в котором выбираем страницу которая отображается на экране
и с которой работаем
(но эт если стоят РУ5 а не РУ6)

-----
сложно описывать словами
вот ссылка на код моего эмулятора
GZU_Write/GZU_Read (http://pastebin.com/P811qhri)
там все просто ;)

а вот ссылка на руководство программиста (http://pastebin.com/bYwqN55Y)
-----
c послойным режимом проблемма в том что пишется не байт а устанавливаются биты в значение
т.е. чтобы записать нужное значение нужно сначала "стереть" байт (правда можно одной записью стереть все 3 плоскости)
а только после этого записывть нужное значение

MAF
07.09.2012, 01:41
Интересно, какое железо на Yamaha MSX, отсутствующее на "Векторе", позволяло делать вот такие игры:
Видеопроцессор и апаратные спрайты.

esl
07.09.2012, 09:54
Видеопроцессор и апаратные спрайты.

я бы про zanac сказал что скорее тайловая графика и спрайты
сам по себе VDP как отедльный юнит имеет и минусы ;)

x-code
20.09.2012, 13:41
А вот еще неплохой вариант игрушки для портирования, правда, с ZX:
http://www.youtube.com/watch?v=7IFtV7tdSvE

Fatax какбе намекает, что технически это возможно

svofski
22.09.2012, 15:23
Вектор настолько эзотерическая платформа, что вряд ли стоит бояться по этому поводу. При практическом отсуствии железа не понятно даже как обосновать то, что скачанный набор байтов является программой, а не просто случайным мусором.

Babasha
22.09.2012, 17:41
А на "Вектор" случаем "Конька Горбунка" с ТИА-МЦ1 не портировали? Все таки и разрешение близкое, да и сама платформа на том же процессоре...

x-code
24.09.2012, 13:06
А на "Вектор" случаем "Конька Горбунка" с ТИА-МЦ1 не портировали? Все таки и разрешение близкое, да и сама платформа на том же процессоре...

Процессор-то такой же, но в ТИА-МЦ1, насколько я помню, запилили аппаратную поддержку спрайтов и тайловой графики, а эмулировать все это на "Векторе" программным способом скорости явно не хватило бы.

P.S. Хех, у меня такие мысли еще в подростковом возрасте были...

Babasha
25.09.2012, 23:20
Процессор-то такой же, но в ТИА-МЦ1, насколько я помню, запилили аппаратную поддержку спрайтов и тайловой графики, а эмулировать все это на "Векторе" программным способом скорости явно не хватило бы.

P.S. Хех, у меня такие мысли еще в подростковом возрасте были...

Возможности ТИА-МЦ1 я знаю - как-никак я первым нарыл его схему по которой и написали эмуль позже когда удалось считать прошивку "Конек Горбунок" и естественно я понимаю что всех возможностей этой платформы Вектор не вытянет, но вот именно Конька я думаю вытянуть сможет при желании (игра не такая уж и сложная относительно платформы оригинала)

Blade
25.09.2012, 23:28
Babasha, а схема ТИА-МЦ1 осталась?

Babasha
25.09.2012, 23:55
Babasha, а схема ТИА-МЦ1 осталась?

Схему выкладывал на форуме сайта romov.net году в 2006ом... Позже тот форум накрылся медным тазом по вине хозяина... Но думаю копия должна остаться у посетителей форума emu-russia.net - по крайней мере вся тусовка с ромовнет переползла туда

x-code
26.09.2012, 15:54
но вот именно Конька я думаю вытянуть сможет при желании (игра не такая уж и сложная относительно платформы оригинала)

Я правильно помню, что там 16-цветные спрайты на 16-цветном фоне?

P.S. Судя по видео геймплея (http://www.youtube.com/watch?v=6UKsrJpJvvo) на YouTube, вроде бы, ни на одном экране не бывает больше 3х движущихся объектов (падающие яблоки - исключение, но они маленькие по размеру). Если заранее "развернуть" все спрайты и маски к ним, а также использовать развернутые циклы, то тактов за одно прерывание может и хватить для отрисовки.

esl
26.09.2012, 18:04
судя по этому геймплее (http://www.youtube.com/watch?v=jAmUmK7VfM8&feature=related) делать ее мало смысла :(
оно слабоиграбельно

x-code
27.09.2012, 18:15
судя по этому геймплее (http://www.youtube.com/watch?v=jAmUmK7VfM8&feature=related) делать ее мало смысла :(
оно слабоиграбельно

Ну-у никто же не мешает не делать порт 1-в-1, а сделать игру "по мотивам".

P.S. Представляю себе упоминавшийся выше "Montezuma Revenge" с Коньком-Горбунком в главной роли :rolleyes: (уровни призовой игры в видео чем-то напомнили именно эту игру, ну и еще немного "Адскок")

x-code
04.12.2012, 18:06
Тут вот умельцы сделали версию Portal: Prelude для программируемого калькулятора TI-83: http://habrahabr.ru/post/161329/#habracut

А уж на Векторе, при желании, можно вполне пристойную версию запилить.

ivagor
25.01.2013, 14:11
В описании игрушки Rockford (http://sensi.org/~svo/scalar/ware/173/) написано, что она адаптирована с IBM. Кто-нибудь может дать ссылку на IBMовский прототип?

b2m
25.01.2013, 14:21
Первая же ссылка в гугле: http://gamegraveyard.net/game.php?id=236

goodboy
25.01.2013, 18:44
В описании игрушки Rockford (http://sensi.org/~svo/scalar/ware/173/) написано, что она адаптирована с IBM. Кто-нибудь может дать ссылку на IBMовский прототип?
есть и на спектруме http://www.worldofspectrum.org/infoseekid.cgi?id=0004214

ivagor
28.10.2017, 17:08
В emu есть конфиг Vector06c-smp, а программ под него нет. Вернее они есть, но эффект от 2х процов там не сильно заметен. В рейкастере, например, было бы сразу четко видно. Но надежды на переделку чего-то крутого под этот конфиг уже нет, выкладываю что есть.
Это 3 портированные игрушки, которые в "одноядерном" варианте несколько подтормаживают. В 2х ядерном уже пободрее. В Fire Rescue и Bomber Man распараллелено обновление экрана (верхняя половина на одном проце, нижняя - на другом). В Tank Battalion на 2й проц вынесено рисование спрайтов. Пусть будут, это такой забавный курьез.

NEO SPECTRUMAN
28.10.2017, 17:40
Vector06c-smp,
реквестирую ссылку на описание доработки

ivagor
28.10.2017, 17:53
Эта штука реализована только в эмуляторе, хотя она придумывалась с оглядкой на возможность аппаратной реализации. В v06cc я бы наверно это впилил (но не буду), а для реализации на "древней" элементной базе мне точно знаний и умений не хватит. Описания нет, его надо написать.

NEO SPECTRUMAN
28.10.2017, 17:58
Печально
а я ужо обрадовалсо... :v2_dizzy_sleep2:

ivagor
28.01.2018, 13:55
Чего только не бывает. В 2008 году в статью wiki (https://ru.wikipedia.org/wiki/Tank_Battalion) про Tank Battalion внесли упоминание про векторовскую конверсию (http://sensi.org/scalar/ware/2/). А в 2017 некий Grey.earth (https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:G rey.earth) решил удревнить дату конверсии с 2008 до 1988.

svofski
28.01.2018, 14:21
Капец.. Поправил на 2008. Посмотрим, что будет.

LeoN65816
25.06.2018, 19:44
Вариант для портирования - Star Blazer (https://www.youtube.com/results?search_query=star+blazer+apple+ii) - очень интересная и простая игруха. Даже в чёрно-белом варианте (http://agatcomp.ru/Gamez/StarBlazer.shtml) она очень красивая и захватывающая. А на Векторе можно еще спрайты по плоскостям раскидать и раскрасить (отдельная плоскость для самолётика, отдельная для летающих врагов, отдельная для наземных врагов, отдельная для наземных объектов).

svofski
25.06.2018, 22:13
Симпатичная игрушка. Архетип жанра, наверное, Scramble. В принципе на Векторе есть несколько симпатичных горизонтальных шутеров в категории flight (http://sensi.org/scalar/categories/flight/), но я буду очень рад еще одному :D

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

Кстати из портабельных игрушек, раз у нас тут вишлист, мне очень симпатична Space Taxi (https://www.youtube.com/watch?v=cEcxgPvmQqU) на c64. Вроде не требовательная к железу, а геймплей захватывающий.

Айтемы из вишлиста иногда сбываются (http://zx-pk.ru/threads/9154-kakoj-igry-ne-khvataet-na-vektore.html?p=173283&viewfull=1#post173283), надо только 10 лет подождать.

ivagor
01.08.2018, 17:13
Доработал Lode Runner (https://yadi.sk/d/eeEG4D1z3ZoG3E). Изменил раскладку клавиатуры под реал. Приложил скоростные wavы. И самое значимое для меня самого - существенно уменьшил тормоза между уровнями в версии без кваза.

svofski
01.08.2018, 19:15
:v2_thumb: Обновил в (http://sensi.org/scalar/ware/809/) картотеке.

KTSerg
02.08.2018, 08:26
Доработал Lode Runner. Изменил раскладку клавиатуры под реал. ...
А что там за "прозрачные" стены, начиная с 5го уровня? На карте они ни как не отмечены.
В какой-то похожей игре (не помню уже название, возможно с Йети путаю) была возможность пробивать стены падая, в этой игре такой возможности нет?

ivagor
02.08.2018, 09:01
А что там за "прозрачные" стены, начиная с 5го уровня?
Это повторение MSXного оригинала, не ошибка переноса на вектор.


В какой-то похожей игре (не помню уже название, возможно с Йети путаю) была возможность пробивать стены падая, в этой игре такой возможности нет?
Предполагаю, что речь про rise out (msx рулит!), в lode runnere такой возможности нет, насколько я знаю. В rise out "пробивание" выражается в том, что ходить по таким элементам можно, а если на них упасть, то они не задержат игрока и он пролетит ниже.

KTSerg
02.08.2018, 09:42
Это повторение MSXного оригинала, не ошибка переноса на вектор.
...
Ясно.
Ещё момент.
В предыдущей версии, что-то нажимал (на реале), и появлялся выбор уровня. А сейчас вроде уже всю клаву передавил (пока в эмуляторе), не нашел. Мне приснился выбор уровня, или сейчас (в эмуле) найти не могу?

ivagor
02.08.2018, 09:57
Меню - АР2 (эту клавишу и курсор не менял, emu - Esc, VV - PgDn).
В меню COMMAND (на реале С/Ц, в эмуляторах W/Ц). Дальше или курсор влево/вправо или RECALL (на реале R/Р, в эмуляторах H/Р) и можно выбрать номер уровня в диапазоне 01-76.

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

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

KTSerg
01.09.2018, 08:35
Доработал Lode Runner (https://yadi.sk/d/eeEG4D1z3ZoG3E). Изменил раскладку клавиатуры под реал. Приложил скоростные wavы. И самое значимое для меня самого - существенно уменьшил тормоза между уровнями в версии без кваза.
Вот Ёлки зелёные... только после подключения Вектора к телевизору, обратил внимание, что во время игры нет ни каких звуков...

ivagor
01.09.2018, 12:12
обратил внимание, что во время игры нет ни каких звуков
У версий для 06Ц звук через AY/YM. У версии для 6128 - через ВИ53. Для пересаживания таймерного звука в версию для голого 06Ц нужно освободить некоторое количество памяти. Это возможно, но для для этого надо подумать. Думать не хочется, поэтому пока так. А в версии для 06Ц+Бакркарь оставил AY, т.к. считал, что если и будут пробовать на реале, то через комбодивайс или шадок, а там AY есть.

KTSerg
02.09.2018, 05:24
У версий для 06Ц звук через AY/YM. У версии для 6128 - через ВИ53. ...
Да собственно ничего страшного.
У меня вообще-то есть (так называемый) AY, правда я его подключал сам, и соответственно адреса доступа к нему "не стандартные". Нужно просто дешифратор адреса поменять...

А что значит в описании игры "R-Sound 2" ?
Это модификация? Не нашел описания именно 2-го.

ivagor
28.04.2019, 12:26
А что значит в описании игры "R-Sound 2" ?
Это модификация? Не нашел описания именно 2-го.
Не видел раньше этого вопроса.
Как я понимаю, получил распространение именно "R-Sound 2" у которого на плате есть свой кварц для генерации частоты 1.75 МГц или в этом районе. А "R-Sound 1" брал 1.5 МГц с разъема ПУ. Мне именно этот вариант нравится больше. Корректировать делители в проигрывателе не так сложно, зато тактирование таймера и AY из одного источника дало бы возможность для шестиканальных мелодий.