PC-01 Lviv

It is currently 19 Apr 2024, 09:56

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 105 posts ]  Go to page Previous 1 2 3 4 5 6 7 Next
Author Message
PostPosted: 06 Jun 2021, 10:50 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Хочешь вот еще это рассмотри
viewtopic.php?f=3&t=347&p=5187&hilit=DaDither#p5180


Top
   
PostPosted: 06 Jun 2021, 17:00 
Offline

Joined: 20 Apr 2021, 05:09
Posts: 100
Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра :(

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

Image


Top
   
PostPosted: 06 Jun 2021, 17:22 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Quote:
Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра :(
ну я же тебе полно всего предоставил чтобы понять как оно устроено или же процедуру VarSprite как-то куда-то "прикрути"/ "перекрути". Главное чтобы было понятно как это делается! А по поводу во Львов адццкое... ну я то не знаю как оно у других то! Когда-то толи про ДЕНДЮ то ли еще про какую-то приставку читал, так там один полноцветный спрайт выводится так сказать тремя спрайтами в наложение, один из них "только синий" видимо 1-цвет (синий) есть, 0 - нет цвета. Второй и третий "только красный" и "только зеленый"! короче RGB послойно тремя спрайтами. Такое есть ?... В ДЕНДИ будто бы? (могу чего-то путать). Насколько это все удобно или не удобно - не знаю, не пробовал! В ПК-01, явно неудобно что нужна кратность ширины по 4 пикс. это точно ацкое! порой не сильно разгонишся, - или спрайты сильно маленькие или сильно большие! Да и передвижение по горизонтали игрушек на 4 пиксела, - попробуй что-то подобное River Raid написать :-)
вот когда-то тему создавал... :-)
Игра River Raid на Atari, написать на ПК-01 Львов...
viewtopic.php?f=3&t=147&hilit=River
сколько споров то там было всевозможных, почитай на досуге или хотя бы бегло прошвырнись! :-)


Top
   
PostPosted: 07 Jun 2021, 11:27 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
Quote:
Надо признать, что кодирование цветов во Львове аццкое! Я думал это сделать вручную, но это ж содом и гоморра :(

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


http://pc01.lviv.ua/utils/image.html


Top
   
PostPosted: 07 Jun 2021, 11:58 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Quote:
Я, как всегда, пропустил всю веселуху.
Может, это поможет?
http://pc01.lviv.ua/utils/image.html
я такое уже кидал для Зорко где-то в темах!


Top
   
PostPosted: 07 Jun 2021, 18:40 
Offline

Joined: 20 Apr 2021, 05:09
Posts: 100
Любопытно. Спасибо, Zelya. Правда, уже буду своей утилитой.

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

Так что мы будем портировать игру-аутсайдера.

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

Два вопроса.

1. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться?

2. Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT)

3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)


Attachments:
Bolder16K-Lviv-0.0.5.zip [27.21 KiB]
Downloaded 504 times
Top
   
PostPosted: 07 Jun 2021, 20:28 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
Quote:
1. В ПЗУ Львова, насколько я понимаю, есть шрифт. По какому адресу к нему можно надёжно обращаться?
Если я не ошибаюсь, то 0xEC00, и копируется в ОЗУ при старте компа в 0xB000
Quote:
Как правильно ждать обратного хода луча? (на Спектруме просто: одной командой HALT)
Никак. Ну, или я не знаю. Хотя скорее всего: никак.
Quote:
Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
Нет.


Top
   
PostPosted: 07 Jun 2021, 21:55 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
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. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
Точно нет!


Top
   
PostPosted: 07 Jun 2021, 22:03 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
ДОП.
Quote:
3. Есть ли на Львове аппаратный таймер? (подозреваю, что нет, но на всякий случай спрошу)
А чем тебя, что-то отсюда
Программа "ЧАСЫ", процедуры задержки и т.д.
viewtopic.php?f=8&t=398
не устраивает ?
Там процедура где-то вроде на 50 тактов отрегулированная есть, сейчас гляну.


Top
   
PostPosted: 07 Jun 2021, 22:12 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Вот оно:
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 сек


Top
   
PostPosted: 07 Jun 2021, 22:16 
Offline

Joined: 20 Apr 2021, 05:09
Posts: 100
Мне нужен таймер такого вида: запомнил время, потом за фрейм игры может быть выведено пять тайлов, а может быть сто. А потом в конце фрейма смотришь: на сколько задержать, чтобы компенсировать неравномерную нагрузку. Чтобы не было чрезмерного ускорения, если мало монстров, к примеру. Т.е. для плавности.

Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать. Ну, в принципе, приемлемо. Может задержка вообще не понадобится.

А скорость на Львове будет проседать больше, чем на Спеке. Но надеюсь, что только в моменты самых больших скоплений монстров и массового падения камней/алмазов.


Top
   
PostPosted: 07 Jun 2021, 22:39 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Quote:
Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать. Ну, в принципе, приемлемо. Может задержка вообще не понадобится.
Ну да! Без счетчика тут не обойтись!
Quote:
А скорость на Львове будет проседать больше, чем на Спеке. Но надеюсь, что только в моменты самых больших скоплений монстров и массового падения камней/алмазов.
Ну конечно! Команды по тактам "тяжелее" то!
И с каждой лишней командой это скажем в два раза ощутимие чем лишняся команда на том же спектруме!
А ты на мой МАДЛ гонишь! :-) Я ж его не для написания бухгалтерских програм делаю! :-) А для писания динамических игр для ПК-01!

Будет готова игрушка можна попробовать оптимизировать согласно оригинала (т.е. исходника)так сказать!!


Top
   
PostPosted: 07 Jun 2021, 23:08 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
По поводу конкурса
http://www.bytemaniacos.com/?page_id=3826
не поленился все скачал и рассмотрел
bolder.zip dungeon.zip oneway.zip yakp16.zip
ну не знаю...
Мне булдер больше всего понравился!
Остальные ну никак нет!
Может конечно это связано с тем, что она была моей любимой игрой детства! Но все таки...


Top
   
PostPosted: 08 Jun 2021, 15:17 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
Quote:
Ты я вижу ХТМЛ-помощью моей брезгуешь пользоваться
Инфа про ОЗУ есть и в мануале:
http://lvovpc.ho.ua/files/program.html

Но Зорко интересовался ПЗУ.
Quote:
Без аппаратного таймера надо заводить какой-то счётчик, который каждый вызов вывода тайла будет уменьшать.
Либо написать процедуру-пустышку, которая по времени отрабатывает, как процедура тайла. А дальше, просто идем по списку активных объектов. Если надо рисовать - рисуем, если нет - вызываем пустышку.


Top
   
PostPosted: 08 Jun 2021, 21:34 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
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 секунды.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 105 posts ]  Go to page Previous 1 2 3 4 5 6 7 Next

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron
Powered by phpBB® Forum Software © phpBB Limited