Портировать Boulder Dash на ПК-01 Львов
Re: Портировать Boulder Dash на ПК-01 Львов
Хочешь вот еще это рассмотри
viewtopic.php?f=3&t=347&p=5187&hilit=DaDither#p5180
viewtopic.php?f=3&t=347&p=5187&hilit=DaDither#p5180
Re: Портировать Boulder Dash на ПК-01 Львов
Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра 
С DaDither я тоже не преуспел - оно, похоже, заточено только на большие картинки и не умеет конвертить исходную картинку без искажений.

С DaDither я тоже не преуспел - оно, похоже, заточено только на большие картинки и не умеет конвертить исходную картинку без искажений.

Re: Портировать Boulder Dash на ПК-01 Львов
ну я же тебе полно всего предоставил чтобы понять как оно устроено или же процедуру VarSprite как-то куда-то "прикрути"/ "перекрути". Главное чтобы было понятно как это делается! А по поводу во Львов адццкое... ну я то не знаю как оно у других то! Когда-то толи про ДЕНДЮ то ли еще про какую-то приставку читал, так там один полноцветный спрайт выводится так сказать тремя спрайтами в наложение, один из них "только синий" видимо 1-цвет (синий) есть, 0 - нет цвета. Второй и третий "только красный" и "только зеленый"! короче RGB послойно тремя спрайтами. Такое есть ?... В ДЕНДИ будто бы? (могу чего-то путать). Насколько это все удобно или не удобно - не знаю, не пробовал! В ПК-01, явно неудобно что нужна кратность ширины по 4 пикс. это точно ацкое! порой не сильно разгонишся, - или спрайты сильно маленькие или сильно большие! Да и передвижение по горизонтали игрушек на 4 пиксела, - попробуй что-то подобное River Raid написатьZorko wrote: 06 Jun 2021, 17:00 Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра
вот когда-то тему создавал...
Игра River Raid на Atari, написать на ПК-01 Львов...
viewtopic.php?f=3&t=147&hilit=River
сколько споров то там было всевозможных, почитай на досуге или хотя бы бегло прошвырнись!
Re: Портировать Boulder Dash на ПК-01 Львов
Я, как всегда, пропустил всю веселуху.Zorko wrote: Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра
С DaDither я тоже не преуспел - оно, похоже, заточено только на большие картинки и не умеет конвертить исходную картинку без искажений.
Может, это поможет?
http://pc01.lviv.ua/utils/image.html
Re: Портировать Boulder Dash на ПК-01 Львов
я такое уже кидал для Зорко где-то в темах!Zelya wrote: 07 Jun 2021, 11:27 Я, как всегда, пропустил всю веселуху.
Может, это поможет?
http://pc01.lviv.ua/utils/image.html
Re: Портировать Boulder Dash на ПК-01 Львов
Любопытно. Спасибо, Zelya. Правда, уже буду своей утилитой.
У меня последнее место на конкурсе. Видимо, это намёк, что надо положить болт на ретро-игры.
Мдя. Тем более, что две игры явно похуже моей.
Так что мы будем портировать игру-аутсайдера.
А я ночью сделал неплохой прорыв. Всё, как хотел ALS - кубики из мусора бегают, уже можно играть.
Два вопроса.
1. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться?
2. Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT)
3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
У меня последнее место на конкурсе. Видимо, это намёк, что надо положить болт на ретро-игры.
Мдя. Тем более, что две игры явно похуже моей.
Так что мы будем портировать игру-аутсайдера.
А я ночью сделал неплохой прорыв. Всё, как хотел ALS - кубики из мусора бегают, уже можно играть.
Два вопроса.
1. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться?
2. Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT)
3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
- Attachments
-
- Bolder16K-Lviv-0.0.5.zip
- (27.21 KiB) Downloaded 1109 times
Re: Портировать Boulder Dash на ПК-01 Львов
Если я не ошибаюсь, то 0xEC00, и копируется в ОЗУ при старте компа в 0xB0001. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться?
Никак. Ну, или я не знаю. Хотя скорее всего: никак.Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT)
Нет.Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
Re: Портировать Boulder Dash на ПК-01 Львов
Ну и не расстраивайся! Как говорят, - главное не выигрыш, а участие!
Или у тебя какие-то надежды были связанные с конкурсом ?
Или же на конкурс "болт положить!" "
Думаю все на своё усмотрение!
Если звёзды зажигают, значит это кому-то нужно!
Вот и тут - если те две игры хуже твоей, а у тебя последнее место - значит это кому-то так нужно!
А детали можно ? т.е. посмотреть это все где ? сайт какой ? таблица занятых мест... игры какие у кого и т.д.
Можешь так и вписать в заставку игры!
Остальных я не думаю, что это как-то опечалит, если игрушка на ПК-01 нормально работать будет!
Не, ну я имели виду ДЛЯ_НАЧАЛА (чтобы посмотреть) кубики из "мусора" можна...Zorko wrote: 07 Jun 2021, 18:40 А я ночью сделал неплохой прорыв. Всё, как хотел ALS - кубики из мусора бегают, уже можно играть.
Или ты все таки так и оставишь ?
Zorko wrote: 07 Jun 2021, 18:40 1. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться?
Ты я вижу ХТМЛ-помощью моей брезгуешь пользоваться
Справочник ПЗУ-ПК-01 в HTML
viewtopic.php?f=8&t=376&p=5116#p5116
а там есть вот такое:
Сам не знал!Знакогенератор: CHR 000-127
$B000/45056|dCHR_000_127
Знакогенератор: CHR 128-255
$B400/46080|B400
Ну если Зеля не знает...Zorko wrote: 07 Jun 2021, 18:40 2. Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT)
то и я думаю что - НЕТУ ТАКОГО! Точнее - не знаю чтобы такое было!
Точно нет!Zorko wrote: 07 Jun 2021, 18:40 3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
Re: Портировать Boulder Dash на ПК-01 Львов
ДОП.
Программа "ЧАСЫ", процедуры задержки и т.д.
viewtopic.php?f=8&t=398
не устраивает ?
Там процедура где-то вроде на 50 тактов отрегулированная есть, сейчас гляну.
А чем тебя, что-то отсюдаZorko wrote: 07 Jun 2021, 18:40 3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
Программа "ЧАСЫ", процедуры задержки и т.д.
viewtopic.php?f=8&t=398
не устраивает ?
Там процедура где-то вроде на 50 тактов отрегулированная есть, сейчас гляну.
Re: Портировать Boulder Dash на ПК-01 Львов
Вот оно:
если не понятно МАДЛом то, сеqчас "перебью" на асм... находу...
вот и все! в квадратных скобках такты команд
дважды LDA(DelayT), она по 13 тактов, чтобы "выйти" на ровно_50_тактов!
Ну и выходит если задать в HL = 50000 = 1 сек
Code: Select all
//Задержка в 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};
Code: Select all
//Задержка в 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 сек
Re: Портировать Boulder Dash на ПК-01 Львов
Мне нужен таймер такого вида: запомнил время, потом за фрейм игры может быть выведено пять тайлов, а может быть сто. А потом в конце фрейма смотришь: на сколько задержать, чтобы компенсировать неравномерную нагрузку. Чтобы не было чрезмерного ускорения, если мало монстров, к примеру. Т.е. для плавности.
Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать. Ну, в принципе, приемлемо. Может задержка вообще не понадобится.
А скорость на Львове будет проседать больше, чем на Спеке. Но надеюсь, что только в моменты самых больших скоплений монстров и массового падения камней/алмазов.
Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать. Ну, в принципе, приемлемо. Может задержка вообще не понадобится.
А скорость на Львове будет проседать больше, чем на Спеке. Но надеюсь, что только в моменты самых больших скоплений монстров и массового падения камней/алмазов.
Re: Портировать Boulder Dash на ПК-01 Львов
Ну да! Без счетчика тут не обойтись!Zorko wrote: 07 Jun 2021, 22:16 Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать. Ну, в принципе, приемлемо. Может задержка вообще не понадобится.
Ну конечно! Команды по тактам "тяжелее" то!Zorko wrote: 07 Jun 2021, 22:16 А скорость на Львове будет проседать больше, чем на Спеке. Но надеюсь, что только в моменты самых больших скоплений монстров и массового падения камней/алмазов.
И с каждой лишней командой это скажем в два раза ощутимие чем лишняся команда на том же спектруме!
А ты на мой МАДЛ гонишь!
Будет готова игрушка можна попробовать оптимизировать согласно оригинала (т.е. исходника)так сказать!!
Re: Портировать Boulder Dash на ПК-01 Львов
По поводу конкурса
http://www.bytemaniacos.com/?page_id=3826
не поленился все скачал и рассмотрел
bolder.zip dungeon.zip oneway.zip yakp16.zip
ну не знаю...
Мне булдер больше всего понравился!
Остальные ну никак нет!
Может конечно это связано с тем, что она была моей любимой игрой детства! Но все таки...
http://www.bytemaniacos.com/?page_id=3826
не поленился все скачал и рассмотрел
bolder.zip dungeon.zip oneway.zip yakp16.zip
ну не знаю...
Мне булдер больше всего понравился!
Остальные ну никак нет!
Может конечно это связано с тем, что она была моей любимой игрой детства! Но все таки...
Re: Портировать Boulder Dash на ПК-01 Львов
Инфа про ОЗУ есть и в мануале:Ты я вижу ХТМЛ-помощью моей брезгуешь пользоваться
http://lvovpc.ho.ua/files/program.html
Но Зорко интересовался ПЗУ.
Либо написать процедуру-пустышку, которая по времени отрабатывает, как процедура тайла. А дальше, просто идем по списку активных объектов. Если надо рисовать - рисуем, если нет - вызываем пустышку.Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать.
Re: Портировать Boulder Dash на ПК-01 Львов
а-а-а-а... так вон откуда я содрал инфуZelya wrote: 08 Jun 2021, 15:17 Инфа про ОЗУ есть и в мануале:
http://lvovpc.ho.ua/files/program.html
всего ведь не упомнишь !
Ясно.
Не-е-е-е Zelya, думаю не очень и тот случай! Не та игрушка!Zelya wrote: 08 Jun 2021, 15:17 Либо написать процедуру-пустышку, которая по времени отрабатывает, как процедура тайла. А дальше, просто идем по списку активных объектов. Если надо рисовать - рисуем, если нет - вызываем пустышку.
Там понимаешь ли, если будут падать сотни алмазов то и так быстродействия хватать не будет, без каких либо задержек...
т.е. если бы это было фиксированных (до) скажем 10 объектов в движении, то можна бы было применять такие проц-пустышку...
ну или разве что - если больше 10 объектов то вообще задержки не нужно, а если до 10 объектов, - то "добивать" до 10 пустышками не хватающих объектов.
А не заморочливо это всё ?!
А вообще, почему бы не "обкатать" ту процедуру задержки которую я предложил в 50мс. ?
Code: Select all
//Задержка в 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=50000 = 1 сек
если убрать ОБЕ "LDA(DelayT)" (которые для "выравнивания" на 50мс.) то диапазон будет еще лучше, правда HL=65535 (максимально возможное числи) будет менее 1 секунды.
Who is online
Users browsing this forum: No registered users and 1 guest

