PC-01 Lviv http://pc01.lviv.ua/forum/ |
|
Портировать Boulder Dash на ПК-01 Львов http://pc01.lviv.ua/forum/viewtopic.php?f=20&t=399 |
Page 4 of 7 |
Author: | als [ 06 Jun 2021, 10:50 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Хочешь вот еще это рассмотри viewtopic.php?f=3&t=347&p=5187&hilit=DaDither#p5180 |
Author: | Zorko [ 06 Jun 2021, 17:00 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра С DaDither я тоже не преуспел - оно, похоже, заточено только на большие картинки и не умеет конвертить исходную картинку без искажений. |
Author: | als [ 06 Jun 2021, 17:22 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Quote:
Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра
ну я же тебе полно всего предоставил чтобы понять как оно устроено или же процедуру VarSprite как-то куда-то "прикрути"/ "перекрути". Главное чтобы было понятно как это делается! А по поводу во Львов адццкое... ну я то не знаю как оно у других то! Когда-то толи про ДЕНДЮ то ли еще про какую-то приставку читал, так там один полноцветный спрайт выводится так сказать тремя спрайтами в наложение, один из них "только синий" видимо 1-цвет (синий) есть, 0 - нет цвета. Второй и третий "только красный" и "только зеленый"! короче RGB послойно тремя спрайтами. Такое есть ?... В ДЕНДИ будто бы? (могу чего-то путать). Насколько это все удобно или не удобно - не знаю, не пробовал! В ПК-01, явно неудобно что нужна кратность ширины по 4 пикс. это точно ацкое! порой не сильно разгонишся, - или спрайты сильно маленькие или сильно большие! Да и передвижение по горизонтали игрушек на 4 пиксела, - попробуй что-то подобное River Raid написать вот когда-то тему создавал... Игра River Raid на Atari, написать на ПК-01 Львов... viewtopic.php?f=3&t=147&hilit=River сколько споров то там было всевозможных, почитай на досуге или хотя бы бегло прошвырнись! |
Author: | Zelya [ 07 Jun 2021, 11:27 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Quote:
Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра
Я, как всегда, пропустил всю веселуху.С DaDither я тоже не преуспел - оно, похоже, заточено только на большие картинки и не умеет конвертить исходную картинку без искажений. Может, это поможет? http://pc01.lviv.ua/utils/image.html |
Author: | als [ 07 Jun 2021, 11:58 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Quote:
я такое уже кидал для Зорко где-то в темах!
|
Author: | Zorko [ 07 Jun 2021, 18:40 ] | ||
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов | ||
Любопытно. Спасибо, Zelya. Правда, уже буду своей утилитой. У меня последнее место на конкурсе. Видимо, это намёк, что надо положить болт на ретро-игры. Мдя. Тем более, что две игры явно похуже моей. Так что мы будем портировать игру-аутсайдера. А я ночью сделал неплохой прорыв. Всё, как хотел ALS - кубики из мусора бегают, уже можно играть. Два вопроса. 1. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться? 2. Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT) 3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
|
Author: | Zelya [ 07 Jun 2021, 20:28 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Quote: 1. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться?
Если я не ошибаюсь, то 0xEC00, и копируется в ОЗУ при старте компа в 0xB000Quote: Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT)
Никак. Ну, или я не знаю. Хотя скорее всего: никак.Quote: Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
Нет.
|
Author: | als [ 07 Jun 2021, 21:55 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Quote:
У меня последнее место на конкурсе.
Ну и не расстраивайся! Как говорят, - главное не выигрыш, а участие!Или у тебя какие-то надежды были связанные с конкурсом ? Quote:
Видимо, это намёк, что надо положить болт на ретро-игры.
Или же на конкурс "болт положить!" " Думаю все на своё усмотрение! Quote:
Мдя. Тем более, что две игры явно похуже моей.
Если звёзды зажигают, значит это кому-то нужно!Вот и тут - если те две игры хуже твоей, а у тебя последнее место - значит это кому-то так нужно! А детали можно ? т.е. посмотреть это все где ? сайт какой ? таблица занятых мест... игры какие у кого и т.д. Quote:
Так что мы будем портировать игру-аутсайдера.
Можешь так и вписать в заставку игры! Себе на память о конкурсе! Остальных я не думаю, что это как-то опечалит, если игрушка на ПК-01 нормально работать будет! Quote:
А я ночью сделал неплохой прорыв. Всё, как хотел ALS - кубики из мусора бегают, уже можно играть.
Не, ну я имели виду ДЛЯ_НАЧАЛА (чтобы посмотреть) кубики из "мусора" можна... Или ты все таки так и оставишь ? Quote:
1. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться?
Ты я вижу ХТМЛ-помощью моей брезгуешь пользоваться Справочник ПЗУ-ПК-01 в HTML viewtopic.php?f=8&t=376&p=5116#p5116 а там есть вот такое: Quote: Знакогенератор: CHR 000-127
Сам не знал! или забыл! $B000/45056|dCHR_000_127 Знакогенератор: CHR 128-255 $B400/46080|B400 Quote:
2. Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT)
Ну если Зеля не знает...то и я думаю что - НЕТУ ТАКОГО! Точнее - не знаю чтобы такое было! Quote:
3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
Точно нет!
|
Author: | als [ 07 Jun 2021, 22:03 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
ДОП. Quote:
3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
А чем тебя, что-то отсюда Программа "ЧАСЫ", процедуры задержки и т.д. viewtopic.php?f=8&t=398 не устраивает ? Там процедура где-то вроде на 50 тактов отрегулированная есть, сейчас гляну. |
Author: | als [ 07 Jun 2021, 22:12 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Вот оно: Code: //Задержка в 50 тактов по идее 2 5000 000 /50 = 50000 = 1 сек LabelA(DelayT); Ar_(DelayT){13};Ar_(DelayT);{13}{для коректировки 50 тактов} HLm1;{5} ArH{5}; AoL{4}; GotoUnNot0(DelayT){10};если не понятно МАДЛом то, сеqчас "перебью" на асм... находу... Code: //Задержка в 50 тактов по идее 2 5000 000 /50 = 50000 = 1 сек DelayT: //LabelA(DelayT); LDA(DelayT) //Ar_(DelayT){13}; LDA(DelayT) // Ar_(DelayT);{13}{для коректировки 50 тактов} DCX H //HLm1;{5} MOV A,H //ArH{5}; ORA L // AoL{4}; JNZ(DelayT) //GotoUnNot0(DelayT){10};вот и все! в квадратных скобках такты команд дважды LDA(DelayT), она по 13 тактов, чтобы "выйти" на ровно_50_тактов! Ну и выходит если задать в HL = 50000 = 1 сек |
Author: | Zorko [ 07 Jun 2021, 22:16 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Мне нужен таймер такого вида: запомнил время, потом за фрейм игры может быть выведено пять тайлов, а может быть сто. А потом в конце фрейма смотришь: на сколько задержать, чтобы компенсировать неравномерную нагрузку. Чтобы не было чрезмерного ускорения, если мало монстров, к примеру. Т.е. для плавности. Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать. Ну, в принципе, приемлемо. Может задержка вообще не понадобится. А скорость на Львове будет проседать больше, чем на Спеке. Но надеюсь, что только в моменты самых больших скоплений монстров и массового падения камней/алмазов. |
Author: | als [ 07 Jun 2021, 22:39 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Quote:
Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать. Ну, в принципе, приемлемо. Может задержка вообще не понадобится.
Ну да! Без счетчика тут не обойтись!
Quote:
А скорость на Львове будет проседать больше, чем на Спеке. Но надеюсь, что только в моменты самых больших скоплений монстров и массового падения камней/алмазов.
Ну конечно! Команды по тактам "тяжелее" то!И с каждой лишней командой это скажем в два раза ощутимие чем лишняся команда на том же спектруме! А ты на мой МАДЛ гонишь! Я ж его не для написания бухгалтерских програм делаю! А для писания динамических игр для ПК-01! Будет готова игрушка можна попробовать оптимизировать согласно оригинала (т.е. исходника)так сказать!! |
Author: | als [ 07 Jun 2021, 23:08 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
По поводу конкурса http://www.bytemaniacos.com/?page_id=3826 не поленился все скачал и рассмотрел bolder.zip dungeon.zip oneway.zip yakp16.zip ну не знаю... Мне булдер больше всего понравился! Остальные ну никак нет! Может конечно это связано с тем, что она была моей любимой игрой детства! Но все таки... |
Author: | Zelya [ 08 Jun 2021, 15:17 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Quote: Ты я вижу ХТМЛ-помощью моей брезгуешь пользоваться
Инфа про ОЗУ есть и в мануале:http://lvovpc.ho.ua/files/program.html Но Зорко интересовался ПЗУ. Quote: Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать.
Либо написать процедуру-пустышку, которая по времени отрабатывает, как процедура тайла. А дальше, просто идем по списку активных объектов. Если надо рисовать - рисуем, если нет - вызываем пустышку.
|
Author: | als [ 08 Jun 2021, 21:34 ] |
Post subject: | Re: Портировать Boulder Dash на ПК-01 Львов |
Quote:
Инфа про ОЗУ есть и в мануале:
а-а-а-а... так вон откуда я содрал инфу http://lvovpc.ho.ua/files/program.html всего ведь не упомнишь ! Quote:
Но Зорко интересовался ПЗУ.
Ясно.Quote:
Либо написать процедуру-пустышку, которая по времени отрабатывает, как процедура тайла. А дальше, просто идем по списку активных объектов. Если надо рисовать - рисуем, если нет - вызываем пустышку.
Не-е-е-е Zelya, думаю не очень и тот случай! Не та игрушка! Там понимаешь ли, если будут падать сотни алмазов то и так быстродействия хватать не будет, без каких либо задержек... т.е. если бы это было фиксированных (до) скажем 10 объектов в движении, то можна бы было применять такие проц-пустышку... ну или разве что - если больше 10 объектов то вообще задержки не нужно, а если до 10 объектов, - то "добивать" до 10 пустышками не хватающих объектов. А не заморочливо это всё ?! А вообще, почему бы не "обкатать" ту процедуру задержки которую я предложил в 50мс. ? Code: //Задержка в 50 тактов по идее 2 5000 000 /50 = 50000 = 1 сек DelayT: //LabelA(DelayT); LDA(DelayT) //Ar_(DelayT){13}; LDA(DelayT) // Ar_(DelayT);{13}{для коректировки 50 тактов} DCX H //HLm1;{5} MOV A,H //ArH{5}; ORA L // AoL{4}; JNZ(DelayT) //GotoUnNot0(DelayT){10};определить число которое нужно в HL для задержки при разном кол-ве движущихся объектов и т.д. диапазон то процедуры очень хороший HL=50000 = 1 сек если убрать ОБЕ "LDA(DelayT)" (которые для "выравнивания" на 50мс.) то диапазон будет еще лучше, правда HL=65535 (максимально возможное числи) будет менее 1 секунды. |
Page 4 of 7 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |