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