PC-01 Lviv

It is currently 28 Mar 2024, 14:19

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 39 posts ]  Go to page Previous 1 2 3
Author Message
PostPosted: 22 Jan 2013, 00:01 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Quote:
to vinxru Вы злой и недобрый программист! На "Львове" никто-никто, никогда-никгода не использвоал порт С3
кроме системного биоса 1 раз при старте :-) а с какой целью контроллер перепрограммируется в этой игре?
Я бы не был столь категоричен, что никто и никогда. Я-то смог припомнить этот прикол! ;)

Через порт C3 удобно изменять состояние отдельных битов для порта C2, сохраняя неизменным состояние остальных. Короче, смотрим "Таблица 5. Оперирование битами" у КР580ВВ55:
Quote:
Каждый из восьми битов канала C может быть независимо от других установлен или сброшен с помощью специальной команды вывода, посылаемой в регистр управления. Это свойство канала C облегчает программирование в случае, когда биты канала C используется для управления передачей данных по каналам A или B. Формат команды приведен в табл. 5.

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 22 Jan 2013, 09:11 
Offline

Joined: 23 Aug 2012, 12:28
Posts: 123
Quote:
На "Львове" никто-никто, никогда-никгода не использвоал порт С3.
Во всех своих околомузыкальных поделках использовал порт C3. Использование обращения к C2 в случаях, когда нужно изменить его отдельный бит выглядит странным и громоздким, т.к. сначала нужно прочитать C2, установить нужное значение бита, потом записать. Вместо этого можно просто записать в С3.


Top
   
PostPosted: 22 Jan 2013, 11:54 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
Quote:
с какой целью контроллер перепрограммируется в этой игре?
Переключается видеорежим.
Quote:
Я бы не был столь категоричен, что никто и никогда.
Ну, в моей практике это первый раз, поэтому и впал в ступор. :) Знал бы, что такое бывает - обратил бы внимание, а так пришлось дизассемблировать и по чуть-чуть дебагать.


Top
   
PostPosted: 23 Jan 2013, 15:54 
Offline

Joined: 07 Dec 2010, 16:54
Posts: 227
Quote:
Quote:
На "Львове" никто-никто, никогда-никгода не использвоал порт С3.
Во всех своих околомузыкальных поделках использовал порт C3. Использование обращения к C2 в случаях, когда нужно изменить его отдельный бит выглядит странным и громоздким, т.к. сначала нужно прочитать C2, установить нужное значение бита, потом записать. Вместо этого можно просто записать в С3.
Да, всё так, но поскольку это не система "разделяемого времени", а смысловая нагрузка битов порта известна, то сложилась практика, когда сразу пишут в C2. Кстати, на IPM PC в своё время была беда с использование портов видеоконтроллера: порты у EGA только на запись, лишь появившийся позже VGA позволял получить своё состояние, так что приходилось хранить в памяти "теневые значения", которые и записывались потом в нужные регистры EGA.
Quote:
Ну, в моей практике это первый раз, поэтому и впал в ступор. Знал бы, что такое бывает - обратил бы внимание, а так пришлось дизассемблировать и по чуть-чуть дебагать.
я, когда писал эмулятор, первоначально реализовал флаги в произвольном порядке. Тоже потом случайно выяснилось, что какая-то из программ переключает видеорежим примерно таким образом:
Code:
stc
.....
push psw
.....
ral
.....
pop psw
out c2
последовательность команд разумеется не дословная и явно в коде не выделялась, а получалась по ходу действия, но общий смысл такой (записать бит переноса (или чётности) в C2 для переключения видеорежима).


Last edited by sadfsdfsdaf on 23 Jan 2013, 16:02, edited 1 time in total.

Top
   
PostPosted: 23 Jan 2013, 16:01 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Использование обращения к C2 в случаях, когда нужно изменить его отдельный бит выглядит странным и громоздким, т.к. сначала нужно прочитать C2, установить нужное значение бита, потом записать. Вместо этого можно просто записать в С3.
Кстати, авторы штатного ПО ко "Львову" такими тонкостями не заморачивались. Просто фигачили в порт нужные сейчас значения. Отсюда все эти приколы с непонятными щелчками и прочими звуками при работе графических процедур, непонятные баги при выводе на принтер.

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 23 Jan 2013, 16:09 
Offline

Joined: 07 Dec 2010, 16:54
Posts: 227
Quote:
Просто фигачили в порт нужные сейчас значения. Отсюда все эти приколы с непонятными щелчками и прочими звуками при работе графических процедур, непонятные баги при выводе на принтер.
только в местах где используют 0/2 и FD/FF, если бы придерживались одного стиля - такого бы не произошло, но с другой стороны... RAKETA.LVT станет совсем беззвучной :-)


Top
   
PostPosted: 23 Jan 2014, 07:59 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Позабыл отписаться, что так называемый vixru выложил в открытый доступ исходники своей версии "Color Lines". Вот как это подает автор:
Quote:
Не нашел последней версии. Это слегка глючные версии, может быть когда нибудь я исправлю их и даже перенесу Линии на другие компьютеры.

В комплекте компилятор Си, причем версия то же не последняя. Может быть когда нибудь потом я его перепишу и доведу до совершенства.
Пару горьких слов про авторский компилятор Си. Карнавала не будет, поскольку исходники компилятора надежно уничтожены:
Quote:
Я выкинул почти все паяльные принадлежности, детали, реактивы. Удалил с жестких дисков все проекты, в том числе исходники компилятора Си для 8080. А из LJ удалил 95% всех постов.
Даже не хочу комментировать этот поступок... :(

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 24 Jan 2014, 14:20 
Offline
User avatar

Joined: 13 Feb 2012, 15:32
Posts: 341
Location: Россия
Quote:
Позабыл отписаться, что так называемый vixru выложил в открытый доступ исходники своей версии "Color Lines". Вот как это подает автор:
Quote:
Не нашел последней версии. Это слегка глючные версии, может быть когда нибудь я исправлю их и даже перенесу Линии на другие компьютеры.

В комплекте компилятор Си, причем версия то же не последняя. Может быть когда нибудь потом я его перепишу и доведу до совершенства.
Пару горьких слов про авторский компилятор Си. Карнавала не будет, поскольку исходники компилятора надежно уничтожены:
Quote:
Я выкинул почти все паяльные принадлежности, детали, реактивы. Удалил с жестких дисков все проекты, в том числе исходники компилятора Си для 8080. А из LJ удалил 95% всех постов.
Даже не хочу комментировать этот поступок... :(
ПОТЕРЯ ПОТЕРЬ !!! было бы первое апреля ... я бы все понял ... но так !!!! обидно !!!!

в том числе исходники компилятора Си для 8080 блин была мысль под pascal переделать :(

зы.
ХТО ИХ ГЕНИЕВ ПОЙМЕТ ? :?


Top
   
PostPosted: 24 Jan 2014, 23:07 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
ХТО ИХ ГЕНИЕВ ПОЙМЕТ ? :?
Насколько я понял ситуацию, синька и понты - лучшее объяснение 90% поступков "русских гениев". Но это я пишу на правах оффтопа. Частное мнение, так сказать.

А компилер реально жалко. Хотя vinxru имел большие планы по части второй версии продукта. Думаю, теперь уже можно об этом рассказать. Вот парочка душевных цитат из переписки:
Quote:
Новая версия компилятора кстати будет написана на Прологе.
Она должна будет сама оценить систему команд процессора и построить самые оптимальные конструкции команд.
И одновременно прорабатывать миллионы вариантов программ
И на каждой строке программы перемещать переменные между памятью и регистрами так, что бы код был как можно быстрее.

[...]
я опишу каждую команду процессора, как микро операции.
И программа транслируется в микрооперации
Останется только подобрать нужные команды.
то есть уровень, еще меньше чем ассемблер

[...]
Я регил разделить компилятор на две части. Первая программу из Си преобразует в что то похожее на Форт.
Это часть уже почти работает.
А вторая из Форта в машинный код, перебирая миллионы вариантов.
У нас сейчас 64-х битные 6-ядерные 3 ГГц процессоры
вот и пускай поработают :)

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 39 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