PC-01 Lviv
http://pc01.lviv.ua/forum/

Лабиринт (игра для ПК-01 Львов)
http://pc01.lviv.ua/forum/viewtopic.php?f=3&t=260
Page 2 of 3

Author:  Zelya [ 14 Apr 2014, 14:46 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
Ты ЛС читал ? :-) Просил подтвердить. А ты молчишь :-) ну не хош - как хош :-)
Если письмо из папки "исходящие" попало в паку "отправленны" - значит читал :). Думал, кололся, но поборол. Вы, Александр, использовали устаревшую версию формата SAV, но вобщем-то, она схожа с новой, так что віпарсать удалось, хотя кое-какие непонятки остались. Надеюсь, игра работает нормально.

ПС Взял на себя смелость назвать файл SASLAB (для львова - только 6 символов)
Attachment:
labirint.lvt [38.37 KiB]
Downloaded 686 times

Author:  sas9568635 [ 14 Apr 2014, 15:02 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Ух-ты ! Зачепись! Zelya Спасибо огромное !
Правда размер получился не «детский», но то всё фигня... :-)
может даже и хорошо что одним куском... можно написать редактор уровней который будет генерить полностью ЛВТ взяв эту ЛВТ за шаблон. Ну это при условии что кому-то это интересно.

Мож и звуки напишите.... :-)

На будущее...
Если чего-то напишу иль создам то может в какой-то нормальный формат а не в SAV ? т.е. Есть ли формат (для ПОЛНОГО ДАМПА всего RAM,VRAM, PORTS, Registrs) и его описание ТОЛКОВОЕ, который «устроит всех» ? Могу тупо в отедельные куски-файлы сбрасывать байт-в-байт ну типа ХЕКС иль как оно там называется. Как ПЗУ сбрасывается один-к-одному
Quote:
ПС Взял на себя смелость назвать файл SASLAB (для львова - только 6 символов)
:-) Спасибо!

Author:  Zelya [ 14 Apr 2014, 15:42 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
Есть ли формат (для ПОЛНОГО ДАМПА всего RAM,VRAM, PORTS, Registrs)
Вопрос: зачем ПОЛНЫЙ ДАМП?

Author:  sas9568635 [ 14 Apr 2014, 15:57 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Zelya
Ну я свой компилятор задумывал для того, что бы он всё абсолютно мог настраивать и ROM и RAM и порты и регистры, что бы можно было установить начальные значение. Ужеж делать, - так делать.

Ну вот допустим:
Создаешь ты картинку (заставку) как хош и где хош главное чтобы она была на экране. Далее сохраняешь в мой формат. Компилятор открывает его как шаблон и компилирует исключительно код программы на тот шаблон, и сохраняет. Получается, что когда открываешь файл то у тебя на экране заставка как в аерокобре например, а далее она не нужна воовсе, ни в памяти не в видеопамяти(!) как ты такое сделаешь ЛТВ-шкой?
Начальные значения (состояни) ячеек памяти как ты такое сделаешь ЛТВ-шкой? Это всё програмно писать надо мол зануляю такие ячейки. А если это нужно всего лишь при запуске программы нафиг я буду код писать который будет занулять мне штук 200 данных находящихся "в разброд" по памяти.

Author:  Zelya [ 14 Apr 2014, 16:02 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
Ну я свой компилятор задумывал для того, что бы он всё абсолютно мог настраивать и ROM и RAM и порты и регистры, что бы можно было установить начальные значение. Ужеж делать, - так делать.

Ну вот допустим:
Создаешь ты картинку (заставку) как хош и где хош главное чтобы она была на экране. Далее сохраняешь в мой формат. Компилятор открывает его как шаблон и компилирует исключительно код программы на тот шаблон, и сохраняет. Получается, что когда открываешь файл то у тебя на экране заставка как в аерокобре например, а далее она не нужна воовсе, ни в памяти не в видеопамяти(!) как ты такое сделаешь ЛТВ-шкой?
Начальные значения (состояни) ячеек памяти как ты такое сделаешь ЛТВ-шкой? Это всё програмно писать надо мол зануляю такие ячейки. А если это нужно всего лишь при запуске программы нафиг я буду код писать который будет занулять мне штук 200 данных находящихся "в разброд" по памяти.
В таком случае, Ваш компилятор будет создавать программы только под эмуляторы, не имея никакого отношения к реальному железу. Такие программы вряд ли вызовут хоть какой-нибудь интерес, так как они будут несовместимы с ПК-01. По-хорошему, рисунок Вы должны рисовать из файла. Ну, или делать свой загрузчик, но это совсем другая песня.

Author:  sas9568635 [ 14 Apr 2014, 16:14 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
В таком случае, Ваш компилятор будет создавать программы только под эмуляторы, не имея никакого отношения к реальному железу.
Ну да. Согласен. А сильно ли это нужно, чтобы программа шла на реальном железе ?!
Есть ли реальные примеры, что кто-то РЕАЛЬНО использует реальный львов не только для того, чтобы что-то попробовать или проверить мол как оно на реале. Я думаю(думал), что реальный Львов врядле кто будет использовать, чтобы имменно играться (зависать) на игрушках, а не для проб.
Я не прав ?
Quote:
Такие программы вряд ли вызовут хоть какой-нибудь интерес, так как они будут несовместимы с ПК-01.
Ну если это действительно так, что интерес исключетельно в совместимости с реалом, дак в будущем буду имметь в виду! Эту игру я тоже могу бы сделать одним куском т.е. данные сместить к самой проге, но я об этом как-то не задумывался. А сейчас это уже и не нужно! :-) Спасибо Zelya!
Quote:
По-хорошему, рисунок Вы должны рисовать из файла. Ну, или делать свой загрузчик, но это совсем другая песня.
Для реала, ДА! Согласен! Так и нужно!

Author:  Zelya [ 14 Apr 2014, 16:23 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
Ну да. Согласен. А сильно ли это нужно, чтобы программа шла на реальном железе ?!
А зачем тогда вобще писать под ПК-01 Львов, если оно даже с ним не совместимо? Придумывайте себе собственные эмуляторы, с любыми возможностями, пишите под них игры. Никто не запрещает, только сомневаюсь, что кому-то это будет интересно.
Quote:
Ну если это действительно так, что интерес исключетельно в совместимости с реалом, дак в будущем буду имметь в виду! Эту игру я тоже могу бы сделать одним куском т.е. данные сместить к самой проге, но я об этом как-то не задумывался.
Вопрос не в том, чтобы "склеивать" куски. Я в Вашей игре ничего не склеивал. В некотором приближении, представьте себе LVT формат - это просто кусок RAM, без БИОСа, без видео, без регистров и портов. Все кроме этого куска программы в неопределенном состоянии и должно быть заполнено самой программой. Едиснтвенные дополнительные три параметра: начало программы, конец программы и адрес старта.

Author:  sas9568635 [ 14 Apr 2014, 16:52 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
В некотором приближении, представьте себе LVT формат...
Я знаю как устроен этот формат, но получается, чтобы в него создвать моим компилем, дак проще всего "тупо" куском всю память т.е. 0000 до 44000 (иль сколько там правильно возможно) в файл, независимо от того, сколько занимает программа. Потому что врдуг окажется ситуация как у меня с Лабиринтом т.е. одна часть - от нуля до хххх вторая - от 32768 до yyyy.
Всю память одним куском так пойдет ?
Кстати какой последний возможный адрес для использования в программе и в ЛВТ?
(этож надо чтобы и на стек не попадало и т.д.)

===================================================
Всё! Война форматов окончена ! :-) Вот игра во всех возможных форматах в одном архиве!
Attachment:
Labirint.7z [75.44 KiB]
Downloaded 711 times
Содержание архива: labirint.e3 Labirint.emu labirint.lvt labirint.rss Labirint.SasLVE labirint(e3).sav Labirint.Sav
Надеюсь это окончательная "точка" по этой игре.. :-)
Запасная ссылка: http://file.oboz.ua/download.php?fid=996400

Author:  Zelya [ 14 Apr 2014, 17:48 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
Всю память одним куском так пойдет ?
Ну, оно после моей переделки так и есть. Я просто вырезал лишнюю память сверху.
Quote:
Кстати какой последний возможный адрес для использования в программе и в ЛВТ?
49151
Quote:
(этож надо чтобы и на стек не попадало и т.д.)
Стек можно пересунуть куда угодно командой LXI SP

Author:  sas9568635 [ 14 Apr 2014, 18:00 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Да я не про то...
перегружаешь ты комп. У тебя стек становиться образно 49000, грузится васик стае «плавает» туда сюда скажем от 48990 до 49000. делаешь команду Bload. ПРОЦЕДУРЫ ЧТЕНИЯ ВСЕ РАВНО ВЕДЬ ИСПОЛЬЗУЮТ СТЕК! И тут вдруг :-) стек становиться 48998 а читаемым бай в эту область 48998- 49000 загрузит своё значение. И ппц комп висит! Понял о чём я ?

Author:  Zelya [ 14 Apr 2014, 18:10 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
Да я не про то...
перегружаешь ты комп. У тебя стек становиться образно 49000, грузится васик стае «плавает» туда сюда скажем от 48990 до 49000. делаешь команду Bload. ПРОЦЕДУРЫ ЧТЕНИЯ ВСЕ РАВНО ВЕДЬ ИСПОЛЬЗУЮТ СТЕК! И тут вдруг :-) стек становиться 48998 а читаемым бай в эту область 48998- 49000 загрузит своё значение. И ппц комп висит! Понял о чём я ?
А, ну да. В таких случаях, когда программа очень большая нужно свой загрузчик писать. Либо в несколько файлов бить. Загрузился один, перекинул стек, вызвал Bload.

Author:  sas9568635 [ 14 Apr 2014, 18:14 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Ну дак вопрос тотже от 0 до 49151 стеку мешать не будет ? Даже при его использовании программой чтения ? Bload
Мне нужно надежное значение скажем 49000 надёжно ? проверялось ? Твой рик сколько занимает ?

Author:  Zelya [ 14 Apr 2014, 18:22 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
Мне нужно надежное значение скажем 49000 надёжно ? проверялось ? Твой рик сколько занимает ?
Этим вопросом, пока не задавался. Но "надежное значение" будет меньше 45000.

Author:  sas9568635 [ 14 Apr 2014, 18:30 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Спасибо! Дла начала пойдет такой ответ!
А ты можешь выложить (пусть даже не сейчас) процедуры минусования из регистровой пары регистровую пару ну или из числа ворд число ворд как это делается? через заем(переполнение) как его используют этоТ флаг ? Ох как мне это нужно было в игрушке, но постоянно огибал как мог.

Author:  Zelya [ 14 Apr 2014, 18:52 ]
Post subject:  Re: Лабиринт (игра для ПК-01 Львов)

Quote:
Спасибо! Дла начала пойдет такой ответ!
Я имел ввиду, что меньше 45000, но какое число я не знаю. Может 44500, может больше. Нужно потыркать.
Quote:
А ты можешь выложить (пусть даже не сейчас) процедуры минусования из регистровой пары регистровую пару ну или из числа ворд число ворд как это делается?
Я такое никогда не использовал. Но как-то так, приблизительно:
Code:
	LXI H, 256
	LXI D, 255

	MOV A,L
	SUB E
	MOV L,A
	MOV A,H
	SBB D
	MOV H,A

Page 2 of 3 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/