PC-01 Lviv

It is currently 20 Apr 2024, 19:01

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 37 posts ]  Go to page Previous 1 2 3
Author Message
PostPosted: 22 Apr 2021, 20:04 
Offline

Joined: 20 Apr 2021, 05:09
Posts: 100
Quote:
Но все-таки, хотелось бы централизированный мануал.
Я честно попытался описать процесс установки z88dk, даже дополнил пару моментов по просьбе Kakos Nonos'а (надеюсь, человек, известный в кругах КР580-машинок?), вычитавшего статью. Но мне это до сих пор кажется довольно исчерпывающим, ведь для программистов писано.

Буду рад, если ткнёте носом чего там надо дополнить.

Я обязательно добавлю вырезанную из журнала статью в K580Dev/Docu, также, как и, наверно, исходник "Охоты на лис". Может ещё чего-то напишем.

Quote:
Ну да бог с ним. Про опитимизацию использование среды можно будет поговорить потом. Давайте лучше о родном ПК-01 :).
С меня основные функции по вводу/выводу, спрайтам и т.д. Да?
В идеале было бы конечно здорово.

Но надо продумать вот этот самый момент с размещением кода, работающего с графикой, в ОЗУ выше 7FFF. У меня родилось самое топорное решение: программа из двух блоков, как на Спектруме. Загрузчик читает их каждый в свой участок памяти.

Чуть более хитрое и навороченное решение: кусок кода один, но часть кода при инициализации переносится в память выше адреса 7FFF. Всё это можно обставить настройками и сделать опциональным.

Есть некоторые шансы, что удастся ручным скриптом сконфигурировать линкер, чтобы он разместил код по нужным кускам памяти самостоятельно, но он тогда создаст "дырку" из нулей в середине кода. Кстати, такую "дырку" он по любому создаст для данных. Достаточно глянуть на собранный бинарь "Охоты на лис". Я не нашёл как это отключить, и вообще можно ли.

Так что пока что кручу в голове эту проблему. Сделать надо красиво и за раз идеально, чтобы потом никто не подкопался. ;) А мыслей нет, тем более, компиль у нас несколько чужеродный. Хотя чего там - раз для 8080, то конечно родной!

Quote:
Zorko, тебе точно весело ? :-)
В принципе, не очень. Но ты бы знал как это получилось. Всё нахрен 32-битное, z88dk 32-битный напрочь. Сижу на 32-битной XP. Доки на среду по традиции программистов обновляю раз в три года.

И тут вдруг - бац! - решил забабахать подсистемку для КР580. Радостно потирая руки от того, что z88dk недавно научили генерить под него код. Ура! К этому времени плавно перешёл на 7-ку, которая, понятно, 64-битная. Без всякой задней мысли и злостных теорий заговора супротив твоего винта и твоей XP, als, честно. А тут вона как всё повернулось. :(


Top
   
PostPosted: 22 Apr 2021, 21:31 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Слушай, Zorko, а что порядочные программисты страдают манией искать проблему там где её нет и быть не может ?! :-)
Это я к твоим текстам по поводу _одним_куском_с_нулями_ или двумя_кусками_но_без_нулей.
Да как получится так и делай!
Конце-концов, ну что ты думаешь мне например сложно какой-то конвертер наДельфинить для слияния или разделения кусков ?! Тем более наверное можно тебя попросить в те куски добавлять метки типа "конец куска" которые не будут коду "мешать"..
Не над тем голову "ламаешь"! :-) Ну если хочешь, "ламай" дальше! :-)
Quote:
В принципе, не очень. Но ты бы знал как это получилось. Всё нахрен 32-битное, z88dk 32-битный напрочь. Сижу на 32-битной XP. Доки на среду по традиции программистов обновляю раз в три года.

И тут вдруг - бац! - решил забабахать подсистемку для КР580. Радостно потирая руки от того, что z88dk недавно научили генерить под него код. Ура! К этому времени плавно перешёл на 7-ку, которая, понятно, 64-битная. Без всякой задней мысли и злостных теорий заговора супротив твоего винта и твоей XP, als, честно. А тут вона как всё повернулось. :(
Та ладно! Не "отмазуйся"! :-)
Ты посмотри темы с моим участием (темы мною созданные) и посмотри сколько всего другими участниками на меня "вылито"! За что ?! Про что ?! Сложно поверить что заговора никакого нет! :-)
И вот явился на форум Zorko...
Казалась бы, ну я ж, ну ничего ж, плохого человеку не сделал! Ну ровным счётом НИ-ЧЕ-ГО! Но он тоже оказывается участник заговора нацеленного против меня, моего компа, винта и т.д.! Да и еще "отмазы" "лепит", что никакого заговора то нет! Да и при этом порядочным программистом, сам себя называет!.... Ну как тут в всеобщий заговор то не верить! :-) :-) :-) :-) :-) :-)


Top
   
PostPosted: 22 Apr 2021, 21:39 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
Quote:
При попытке поставить оценку игрушке выдаёт вот такое:
Fixed


Top
   
PostPosted: 22 Apr 2021, 21:44 
Offline

Joined: 18 May 2016, 19:55
Posts: 426
Zelya, всё! Заработало! Поставил! Там видно!


Top
   
PostPosted: 23 Apr 2021, 01:42 
Offline

Joined: 20 Apr 2021, 05:09
Posts: 100
Quote:
Слушай, Zorko, а что порядочные программисты страдают манией искать проблему там где её нет и быть не может ?! :-)
Это я к твоим текстам по поводу _одним_куском_с_нулями_ или двумя_кусками_но_без_нулей.
Да как получится так и делай!
Понимаешь, я ещё сам не знаю как сделать, чтобы второй кусок был по произвольному адресу, у нас всё же не асм, тут директивы ORG нет.

Не исключаю, что кто-то из вас, добре поднатаскавшись в zcc, разберётся с ним куда покруче меня.

Quote:
ну что ты думаешь мне например сложно какой-то конвертер наДельфинить для слияния или разделения кусков ?! Тем более наверное можно тебя попросить в те куски добавлять метки типа "конец куска" которые не будут коду "мешать".
Так у меня нет доступа к этим кускам напрямую. Этим всем z88dk'шный линкер ведает.

Quote:
Ты посмотри темы с моим участием (темы мною созданные) и посмотри сколько всего другими участниками на меня "вылито"! За что ?! Про что ?!
Сорян, но я не всё тут успел прочесть :) Но если чувствуешь, что к тебе неравнодушны, так это ж плюс тебе в карму ;)


Top
   
PostPosted: 23 Apr 2021, 17:08 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
Quote:
Но надо продумать вот этот самый момент с размещением кода, работающего с графикой, в ОЗУ выше 7FFF.
Может держать функции вверху по конкретному адресу, а компилить только их вызовы?


Top
   
PostPosted: 23 Apr 2021, 21:23 
Offline

Joined: 20 Apr 2021, 05:09
Posts: 100
Ну да, так. А как ещё иначе можно?
Бинарь нашей гипотетической программы после компиляции будет устроен примерно так:

goto main
[модуль1]
[модуль2]
[модуль3]
[библиотечные функции библиотеки1]
[библиотечные функции библиотеки2]
[библиотечные функции библиотеки3]
[данные]
:main
[стартовый код главного модуля]

Возможны вариации, может я не всё правильно понял. Может там данные будут после каждого модуля с кодом. Но для нашей задачи это непринципиально. Если мы будем иметь функции отрисовки графики, а проект будет достаточно крупным, то они могут и сами попасть в конец кода и оказаться в том ОЗУ, в котором они работают (выше 7FFF). Но если бинарь меньше этого размера, то нужно будет их перенести. Сейчас мне пришло в голову что-то вроде пустого модуля, состоящего из одних нулей. А возможно, что мы как-то сможем смухлевать через блок данных, создав, например, крупный пустой неиспользуемый массив. Всё это надо пробовать. Возможно, я к этому позже вернусь. Поэтому хочу извиниться, что так раззадорил и в кусты, но всё же это вы энтузиасты Львова, а я так, консультант по Оберону. Который малоинтересен ;)

Но на вопросы отвечу и с подсистемой помогу. Повторюсь, сильная вероятность, что я что-то буду делать для Львова, а пока что осваиваю SGDK.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 37 posts ]  Go to page Previous 1 2 3

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