Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 12:48

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: [BF] графическое расширение GR/
СообщениеДобавлено: Вс июн 03, 2007 19:37 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
пока только в версии OS=DOS16

имитируется простая монохромная графика на черно-белом ЖКИ (VGA 320x200 MONO)

Код:
#include <dos.h>
#include <conio.h>

REGS i,o;

uchar far *SCR=(uchar far *)MK_FP(0xA000,0x0000);

#define GR_Xsz  320
#define GR_Ysz  200
#define GR_BACK 0x07
#define GR_FORE 0x00


Код:
void gr_cls()   { for (uint i=0;i<(uint)(GR_Xsz*GR_Ysz);i++) SCR[i]=GR_BACK; }
void gr_on()    { i.x.ax=0x13; int86(0x10,&i,&o); gr_cls(); }
void gr_off()   { i.x.ax=0x03; int86(0x10,&i,&o); }
void gr_Xsz()   { assert(Dp<Dsz); D[Dp++]=GR_Xsz; }
void gr_Ysz()   { assert(Dp<Dsz); D[Dp++]=GR_Ysz; }
void gr_set()   { assert(Dp>=2); uint y=D[--Dp],x=D[--Dp];
                  assert(x<GR_Xsz); assert(y<GR_Ysz); SCR[y*GR_Xsz+x]=GR_FORE; }
void gr_clr()   { assert(Dp>=2); uint y=D[--Dp],x=D[--Dp];
                  assert(x<GR_Xsz); assert(y<GR_Ysz); SCR[y*GR_Xsz+x]=GR_BACK; }
void gr_qkey()  { assert(Dp<Dsz); D[Dp++]=kbhit(); }
void gr_key()   { assert(Dp<Dsz); D[Dp++]=getch();
                  if (D[Dp-1]==0) D[Dp-1]=getch()<<8; }

Код:
void EXT_GR()
{
op=M[Ip++];
switch (op) {
        case 0x00: gr_on(); break;      case 0x01: gr_off(); break;
        case 0x02: gr_cls(); break;
        case 0x03: gr_Xsz(); break;     case 0x04: gr_Ysz(); break;
        case 0x05: gr_set(); break;     case 0x06: gr_clr(); break;
        case 0x70: gr_qkey(); break;    case 0x71: gr_key(); break;
        default: gr_off();
                 fprintf(stderr,"\nGR %.4X: D2 %.2X\n",Ip-2,op); abort();
}
}


Код:
: gr/   CREATE C, DOES> 0xD2 b, C@ b, ;

0x00 gr/ gr/on
0x01 gr/ gr/off
0x02 gr/ gr/cls

0x03 gr/ gr/Xsz      ( -- n )
0x04 gr/ gr/Ysz      ( -- n )

0x05 gr/ gr/set      ( x y -- )
0x06 gr/ gr/clr      ( x y -- )
0x07 gr/ gr/get      ( x y -- flag )

0x70 gr/ gr/?key   ( -- flag )
0x71 gr/ gr/key      ( -- scancode )

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 03, 2007 19:38 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Код:
\ демо: мигание экраном, необходимо расширение gr/

{ BLINK
   gr/on               \ включение графики
   begin
      gr/Ysz 0 # do         \ \ закраска
         gr/Xsz 0 # do
            i j gr/set
         loop
      loop            \ /
      gr/Ysz 0 # do         \ \ очистка
         gr/Xsz 0 # do
            i j gr/clr
         loop
      loop            \ /
   again
}

save" BLINK"

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 03, 2007 19:39 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Код:
\ демо: случайная закраска экрана (белый видео-шум), необходимо расширение gr/

{ BLINK
   gr/on               \ включение графики
   begin
      gr/Ysz 0 # do         \ \ закраска
         gr/Xsz 0 # do
            1 # rnd if
               i j gr/set
            else
               i j gr/clr
            endif
         loop
      loop            \ /
   again
}

save" PSHSH"

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 03, 2007 19:46 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Да, такими темпами скоро будет оконная система ...

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 04, 2007 00:22 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
вопрос писал(а):
Да, такими темпами скоро будет оконная система ...

А надо-то рисование вертикальных и горизонтальных линий да вывод текста ;)
Прямоугольники - пишем циклами линий.
Приведенного достаточно для изображения простой оконной системы.
+ рисование изображений - и система изображеня становится продвинутой ;)

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 04, 2007 00:29 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
Приведенного достаточно для изображения простой оконной системы.
прокрутка, масштабирование, позицуионирование, взаимодействие с др. окнами?

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 04, 2007 00:45 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
вопрос писал(а):
прокрутка,

тоже можно добавить ;) , а заодно добавить "взять участок экрана" (если в одном из понимаемых видов картинок, то показывать можно функцией "показать картинку"=="рисование изображений")
вопрос писал(а):
масштабирование,

для простых систем не нужно, для сложных - должно делаться либо системой построения изображения, либо функция для программного/аппаратного масштабирования.
вопрос писал(а):
позицуионирование,

выполняется автоматически - как задано в программе рисования.
Или имеется ввиду мышка - получение координат? - Отдельные ф-ции обслуживания устройства указания.
вопрос писал(а):
взаимодействие с др. окнами

имеется ввиду изображение активности окна и прозрачность?
активность - перерисовкой, а прозрачность - аналогично масштабированию ;)

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 04, 2007 06:55 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Ну, так уже всё готово!

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 05, 2007 07:14 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Депутат Виктор Алкснис заявил о намерении готовить проект обращения к президенту Владимиру Путину «О необходимости создания и внедрения современной отечественной операционной системы». 14 мая, 2007

http://www.securitylab.ru/news/295887.p ... #nav_start

P.S. Вот где точно флуда много в отзывах к страничке:)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 05, 2007 09:04 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Там и Форт-машину упоминают, в качестве национального проекта :D Ну все, жди вороха "стандартов"... :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 05, 2007 09:18 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Главное в этих вещах, опять-таки, отсутствие пакета "цели-задачи-возможности-результаты". Всем упала кнопка "Пуск", на которой в исходном варианте написано "Run" - не по-нашенски! Надо срочно заменить на "Пуск" с последующим уже переводом на все языки мира, чтобы гордились. При этом все российские программисты засаживаются за написание прикладного софта под новую ОС, потому что иначе она будет нужна разве что двум-трем случайно забежавшим военным НИИ. Кстати, упомянутые НИИ и сами, бывает, неплохо решают проблему ОС. Если же писать супермонстра, совместимого с Windows и Linux сразу, то для конечного пользователя разницы никакой, деньги потрачены, а Microsoft за это время напишет "Vista-II Plus", и опять надо догонять. В существующем же варианте весь мир работает на весь мир (и Россию в том числе). Потому что за смешные деньги я получаю на свой комп мощную ОС с поддержкой кучи приложений, и могу быстро написать продукт для продажи, который имеет хорошие шансы быть востребованным, поскольку написан для ОС, имеющей распространенность в глобальных масштабах.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 05, 2007 09:38 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
Там и Форт-машину упоминают, в качестве национального проекта :D Ну все, жди вороха "стандартов"... :))
Ну нет, Форт ось должна быть интернациональной, хотя бы потому, что я не в России живу. Да и национальные проекты в известных странах - ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 05, 2007 23:36 
Не в сети

Зарегистрирован: Сб янв 27, 2007 22:00
Сообщения: 106
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
могу быстро написать продукт для продажи, который имеет хорошие шансы быть востребованным, поскольку написан для ОС, имеющей распространенность в глобальных масштабах.

Вообще-то Алкснис ставит целью новой системы не возможность для г-на Хищника быстро заработать денег, а информационную безопасность, использование в обороне и технологический прорыв.
То есть своя система нужна:
1) для гарантии, что в ней нет закладок от "Майкрософта" типа тех, что оказались на французских ракетах, купленных Хуссейном
2) для гарантии, что в ней нет люков, через которые информация уходит куда-нибудь в ЦРУ
3) для создания собственных квалифицированных кадров, которые могут решать сложные задачи.
Это несколько другие приоритеты.
Задача вполне решаема, особенно если не изобретать велосипеды, а ограничиться доработкой Линукса, как сделали китайцы.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 05, 2007 23:50 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Цитата:
Задача вполне решаема, особенно если не изобретать велосипеды, а ограничиться доработкой Линукса, как сделали китайцы


А че в нем такого недоработанного?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июн 06, 2007 00:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
yz писал(а):
Вообще-то Алкснис ставит целью новой системы не возможность для г-на Хищника быстро заработать денег, а информационную безопасность, использование в обороне и технологический прорыв.

Что в России прекрасно решено. Только вот к ОС для домохозяек и секретарш это не имеет отношения. А Алкснис хочет именно заработать денег, а точнее, вытянуть их из бюджета.
yz писал(а):
То есть своя система нужна:
1) для гарантии, что в ней нет закладок от "Майкрософта" типа тех, что оказались на французских ракетах, купленных Хуссейном

Ну, если французы поставили в ракеты софт от Microsoft-а.... деградирует Запад... :)
yz писал(а):
2) для гарантии, что в ней нет люков, через которые информация уходит куда-нибудь в ЦРУ

Через какие такие физические каналы передачи? Антенну прибор сам вырастит? Или высунет манипулятор и найдет в чистом поле оптоволоконный кабель?
yz писал(а):
3) для создания собственных квалифицированных кадров, которые могут решать сложные задачи.

И при чем тут написание кучи тупых драйверов под китайско-тайваньское железо? Чем еще забиты ОС для массового потребления?

И вообще, чем больше общаюсь с российскими разработчиками, которые занимаются реальными системами спецназначения, тем больше встречаю спектр мнений от недоумения до неприятия и раздражения. Microsoft ведет свою политику создания потребностей: ОС - это Windows, процессор - это x86. И все это, оказывается, хайтек!!! Более того, изначально офисная система (IBM = International Business Machines), оказывается, теперь не игровая приставка - печатная машинка - суррогатный медиацентр - хранилище фотографий, а Система Оборонного Назначения. Куда там российским процессорам с 5-й приемкой, которые, несмотря на вопли подростков-геймеров, все-таки существуют и ставятся в реальные устройства. Специально просил зеленоградцев сформулировать мнение - а если бы вот в Зеленограде поставили современный фаб? Реакция примерно одинаковая: "а на кой он нам сдался - экологию гробить, что ли?". Что характерно, ни о рабочих местах, ни о каком-то хайтеке речь у работающих в российской электронной промышленности просто не идет. Не потому, что им наплевать, а как раз потому, что они прекрасно представляют, что мир Wintel - мир искусственно раздутый по значимости, чтобы обеспечить Интелу и Майкрософту объем продаж. Рынок процессоров для настольных систем - 4% от рынка процессоров вообще. Прописью - четыре. Значимость Windows для государственных технологий - не нулевая, а отрицательная. Она отвлекает действительно квалифицированных специалистов от работы по превращению этого полуфабриката (стоимостью от 65 у.е.) в комплекс ПО стоимостью до нескольких тысяч долларов (бухгалтерский пакет, САПР, АСУП - все то, что в ассортименте есть российского производства). В итоге никто не видит в упор простой картины - Microsoft поставляет на рынок полуфабрикат по смешной цене и берет массовостью продаж. Российские квалифицированные программисты могут, не заморачиваясь поддержкой мышки и флеш-дисков, разработать программный продукт для финансиста, технолога или конструктора, стоимостью в сотни раз больше. И кто в этой связке сырьевой придаток? Кто поставляет полуфабрикат, а кто - конечный продукт? Но нет, так неинтересно, потому что на конкретные продукты, требующие повседневной и кропотливой работы, надо обращать внимание, и финансировать их обычным порядком. Куда проще кинуть клич "даешь", и на волне популизма со стороны массы полупрофессиональных юзеров хапнуть деньги из бюджета под дутый проект. Заодно не забыть выделить отдельной строкой расходов "издевательства над Гейтсом". Сделать, разумеется, некому, потому что ядра-то давно есть, и гораздо лучше приспособленные под конкретные важные применения, а вот на доведение до коммерчески красивого варианта надо очень много организационно-маркетинговой работы. Windows 3.11 с ходу еще можно сделать, Windows XP/Vista - вряд ли. В итоге, путаясь в куче огрехов, сделанных в коде индусами от MS (а мы же делаем "совместимое с Windows!"), квалифицированные российские программисты с кучей усилий таки доведут эту разработку до конца. В процессе чего MS уйдет еще дальше, и сделает нам ручкой. А освободившийся рынок САПР, финансовых, биллинговых и моделирующих систем займут в это время поделия тех же индусов... к их вящей радости...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB