Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Что полезного можно написать для ДОС

5.3K
22 августа 2006 года
r000n_m
177 / / 26.02.2006
Прогу нужно писать. Реальный режим, ДОС :(. С+Асм, использование видео.

Проблема - не могу ничего придумать толкового, что на этом хозяйстве писать. Можно конечно и бестолковое, но на крайний случай.

Мне бы тему, одно дело - писать полезную вещь, другое - для галочки. Заинтересованность в проблеме сильно увеличивает скорость написания.

Просто не представляю, что полезного можно написать для ДОС

Помогите кто может, подкиньте идею...
Страницы:
240
22 августа 2006 года
aks
2.5K / / 14.07.2006
А можно вопрос не по теме. А зачем НУЖНо что то написать под ДОС? Причем как я понял неважно что. Просто любопытство раздирает, что это за причина такая? )
5.3K
22 августа 2006 года
r000n_m
177 / / 26.02.2006
Курсовая :)
240
22 августа 2006 года
aks
2.5K / / 14.07.2006
Странно кто такие задания дает. При том что давно морально и концептуально устаревшая ОС. =)
Ну напрши графическую оболочку? =))
Или чтонить типа X сервера=)
Аноним
По-моему из реально полезных вещей "для дос"
можно писать только эмулятор этого доса под win, типа
DosBox, но братьтакое задание на курсовую лучше не надо.
Сейчас Dos овские приложения используются реально только
в гос структурах и банках там вообще всё оченьзапущено
а для использованияпроги надо еедесятьраз утвердить у старых
толстых дядек власть имущих. Без их визы прогу просто недопустят
до работы. А у них позиция как правило такова:"Зачем менять
то что работает уже n лет?"
Так что не парься, пиши какой- нибудь мощный скринсейвер (3D)
и выглядит красиво и на препода действует(особо если он сделан
с тенями закраской Гуро и без OpenGL)
5.3K
22 августа 2006 года
r000n_m
177 / / 26.02.2006
[QUOTE=aks]Странно кто такие задания дает. При том что давно морально и концептуально устаревшая ОС. =)
[/QUOTE]
И я того же мнения.
252
22 августа 2006 года
koderAlex
1.4K / / 07.09.2005
Графичну оболочку с акселерацией под современны видяхи )
(с видео API)
5.3K
22 августа 2006 года
r000n_m
177 / / 26.02.2006
Гм. Не думаю, что с 16-битным кодом много путного выйдет
286
22 августа 2006 года
misha_turist
572 / / 28.11.2005
Напиши оболочку со всякими премочками, можно в тексте.....

Если в тексте делать будеш, то Turbo Vision (сзаранее извеняюсь за возможно неверное название) используй, будет и быстрее и проше, а самое главное надёжнее и более впечатляюще получится....

Забыл добавить, если на Borland Pascal пишеш!
5.3K
22 августа 2006 года
r000n_m
177 / / 26.02.2006
Не там нужно графику прямо в видеопамять
240
22 августа 2006 года
aks
2.5K / / 14.07.2006
r000n_m, графическую оболочку можно и 16-ти битную писать с прямым доступом в видеопамять.


[QUOTE=misha_turist]
Если в тексте делать будеш, то Turbo Vision
...
Забыл добавить, если на Borland Pascal пишеш![/QUOTE]
Turbo Vision, и в борландовских C++ компиляторах так же была =))
Кстати, не сочти за наезд, но попробуй мягкие знаки в конце глаголов ставить - прям сильно глаза режет. Все равно, что транслит в идентификаторах =))
286
22 августа 2006 года
misha_turist
572 / / 28.11.2005
Цитата:
Turbo Vision, и в борландовских C++ компиляторах так же была =))


Ну это другим воднее, я на C++, к сожалению, не пишу...))

Цитата:
Кстати, не сочти за наезд, но попробуй мягкие знаки в конце глаголов ставить - прям сильно глаза режет. Все равно, что транслит в идентификаторах =))


))) Да уж не сочту =), что есть, то есть... Я их и пробую ставить, но это у меня не всегда получается....((

5.3K
22 августа 2006 года
r000n_m
177 / / 26.02.2006
[QUOTE=koderAlex]Графичну оболочку с акселерацией под современны видяхи )[/QUOTE]
[QUOTE=aks]графическую оболочку можно и 16-ти битную писать с прямым доступом в видеопамять.[/QUOTE]

Под современные в 16-битном режиме? Адресовывать видеопамять в сотни метров? :D
240
22 августа 2006 года
aks
2.5K / / 14.07.2006
Ну акселерации никакой не надо юзать.
А про прямой доступ - сам же писал =))
Да и не сотни метров. А как думаешь раньше писали, довольствовались 64 килобайтами адресуемыми 16-битным указателем? =)
252
22 августа 2006 года
koderAlex
1.4K / / 07.09.2005
Пара пустяков . Если точнее , то 99 байт из тасма и в любой проге можно юзать :
asm{
mov edi,adr
mov fs(или gs):edi,data
}
примерно так ))
350
22 августа 2006 года
cheburator
589 / / 01.06.2006
[QUOTE=r000n_m]Под современные в 16-битном режиме? Адресовывать видеопамять в сотни метров? :D[/QUOTE]
Есть такая фишка. Переходишь в защищенный режим, создавая глобальную таблицу дескрипторов (GDT) таким образом, чтобы один из сегментов был 4-гигабайтным (стартовое смещение 0, предел 0xFFFFFFFF), загружаешь регистры fs и gs селектором этого сегмента. Затем выходишь из защищенного режима обратно в реальный. После этого ты спокойно можешь пользоваться всеми 4 Гб памяти через регистры fs и gs! Главное, после обратного перехода в реальный режим ничего в сами регистры fs и gs не писать. Вот такая фишка в 32-битных процессорах. Причем адресация в этом большом сегменте будет не типичная (16*сегмент + смещение), а просто 32-битное смещение (поскольку стартовый адрес нулевой). Т. е. можешь написать что-то типа того:
 
Код:
mov eax, <Любой физический адрес в пределах 4 Гб>
mov byte ptr fs:[eax], <Какой-то байт>

Фишка работает на всех 32-битных процах, начиная с 80386.

Ещё есть идея, придумай новую файловую систему и реализуй соответствующий файл-менеджер под ДОС. Отформатированная таким образом дискета не будет читаться нигде, кроме твоего файл-менеджера :) Помнится, в свое время я это сделал. Только с жесткими дисками лучше не экспериментируй...
286
23 августа 2006 года
misha_turist
572 / / 28.11.2005
Знаете, без обид конечо, но вы советуете написать: свои файловые системы, ГРАФИЧЕСКИЕ оболочки и т.п. .... Не забывайте, это всётаки КУРСОВАЯ, если мне помница, а тему на неё надо брать, что бы успеть...
Ведь доделання простая программа, гораздо лучше, чем не доделанная сложная....
350
24 августа 2006 года
cheburator
589 / / 01.06.2006
[QUOTE=misha_turist]Знаете, без обид конечо, но вы советуете написать: свои файловые системы, ГРАФИЧЕСКИЕ оболочки и т.п. .... Не забывайте, это всётаки КУРСОВАЯ, если мне помница, а тему на неё надо брать, что бы успеть...
Ведь доделання простая программа, гораздо лучше, чем не доделанная сложная....[/QUOTE]
Хм... А по-моему, разработать простенькую файловую систему и файл-менеджер под ДОС (с командной строкой) для нее - как раз дело для курсовой. Ты же не хочешь фигню типа Hello world? ФС это же не операционная система, не настолько уж и сложно... У меня это заняло где-то с недельку, максимум две.
К тому же можно найти реальное применение
12K
24 августа 2006 года
F0xes
1 / / 16.06.2005
Вообще лучше всего взять книгу "С для профессионалов" Шильда там мнгого всякой всячины
Я например графический интерфейс к базе данных писал с мышкой кнопками и окнами прикольно но надаедает
9
25 августа 2006 года
Lerkin
3.0K / / 25.03.2003
Ну, графика наверное, отпадает... Может быть, сетевую какую-нибудь заморочку?
5.3K
25 августа 2006 года
r000n_m
177 / / 26.02.2006
Нет, графика не отпадает. Оказалось, что даже в 16-битном режиме с использованием "окон" можно адресовывать много видеопамяти. У меня есть описание VESA 2.0, там сообщается, что можно выставить разрешение 1280х1024 true color и все это в DOS!

Правда такой режим я не ставил - в институте компы не потянут :)
367
25 августа 2006 года
Meatcoins
303 / / 18.01.2006
[QUOTE=cheburator]Есть такая фишка. Переходишь в защищенный режим, создавая глобальную таблицу дескрипторов (GDT) таким образом, чтобы один из сегментов был 4-гигабайтным (стартовое смещение 0, предел 0xFFFFFFFF), загружаешь регистры fs и gs селектором этого сегмента. Затем выходишь из защищенного режима обратно в реальный. После этого ты спокойно можешь пользоваться всеми 4 Гб памяти через регистры fs и gs! Главное, после обратного перехода в реальный режим ничего в сами регистры fs и gs не писать. Вот такая фишка в 32-битных процессорах. Причем адресация в этом большом сегменте будет не типичная (16*сегмент + смещение), а просто 32-битное смещение (поскольку стартовый адрес нулевой). Т. е. можешь написать что-то типа того:[/QUOTE]

Это называется Нереальным режимом!!!

[QUOTE=cheburator]
Ещё есть идея, придумай новую файловую систему и реализуй соответствующий файл-менеджер под ДОС. Отформатированная таким образом дискета не будет читаться нигде, кроме твоего файл-менеджера :) Помнится, в свое время я это сделал. Только с жесткими дисками лучше не экспериментируй...[/QUOTE]

А как придумать свою файловую систему и отформатировать в ней дискетку???????
5.3K
25 августа 2006 года
r000n_m
177 / / 26.02.2006
Что-то глюк у меня. При выводе в нулевое окно нулевой банк - ничего.

Функция вывода пикселя такая:
Код:
WritePixel proc ; void WritePixel(int x,int y, byte color);
        ;in:
        ; ax - x
        ; bx - y
        ; si - color   
        push ax
        push bx
        push cx


        xchg ax,bx
        xor dx,dx
        mul vmode_size_x
        add ax,bx
        jnc no_inc_page
            inc dx
        no_inc_page:
            ; dx - number of the window
            ; ax - number of pixel in window
        push ax
        call SetWindow     

        pop di
        mov ax,si
        stosb
       
        pop cx
        pop bx
        pop ax
        ret
    WritePixel endp


Подозреваю, что страшно туплю, но где??
286
25 августа 2006 года
misha_turist
572 / / 28.11.2005
А чем вам текстовая оболочка не нравится?
5.3K
25 августа 2006 года
r000n_m
177 / / 26.02.2006
[QUOTE=misha_turist]А чем вам текстовая оболочка не нравится?[/QUOTE]

По заданию должна быть графика + вывод bmp
5.3K
25 августа 2006 года
r000n_m
177 / / 26.02.2006
При записи в нулевое окно нулевой банк - реально запись происходит в ту же область экрана, которую занимает и первый банк.
Т.е. происходит наложение.
А то пространство, которое находится сверху области, занимаемой первым банком, пустое и не заполняется

То есть сверху экрана первая полоса - всегда черная, следующая - это две в одной, потом все нормально.
5.3K
25 августа 2006 года
r000n_m
177 / / 26.02.2006
[QUOTE=Meatcoins]А как придумать свою файловую систему и отформатировать в ней дискетку???????[/QUOTE]

Придумать как будут располагаться в секторах дискеты части файловой системы - заголовок, содержимое и т.п. Написать прогу для работы с этой ФС.
15K
25 августа 2006 года
10098
43 / / 25.08.2006
#include <stdio.h>
main(void)
{
printf("hello, world!\n");
}
:D
5.3K
25 августа 2006 года
r000n_m
177 / / 26.02.2006
[QUOTE=r000n_m]При записи в нулевое окно нулевой банк - реально запись происходит в ту же область экрана, которую занимает и первый банк.[/QUOTE]
Оказывается, это было из-за проверки текущего окна:
Код:
SetWindow proc
        ; in: dx - number
        [COLOR="Red"]cmp dx,current_window
                 je no_change_window[/COLOR]
                    xor bx,bx
                    mov ax,4F05h
                    int 10h
        [COLOR="Red"]       mov dx,current_window
            no_change_window:[/COLOR]
        ret
    SetWindow endp
350
25 августа 2006 года
cheburator
589 / / 01.06.2006
[QUOTE=10098]#include <stdio.h>
main(void)
{
printf("hello, world!\n");
}
[/QUOTE]
У тя компилятор ругнется, скажет: function must return a value, поэтому нужно писать void main (void) :)
15K
25 августа 2006 года
10098
43 / / 25.08.2006
gcc не ругается, проверено.
1.9K
25 августа 2006 года
[*]Frosty
278 / / 17.06.2006
2 10098 : Уже в Standart C нужно обязательно указывать, а если gcc не ругаеться, то это оставлено для совместимости с очень древними исходниками.
15K
25 августа 2006 года
10098
43 / / 25.08.2006
Ну и что главное что не ругается
2
26 августа 2006 года
squirL
5.6K / / 13.08.2003
автор - возьмите реализацию TCP/IP для DOS и разработайте клиентское приложение, которое сможет взаимодействовать с любой СУБД. такую программу с руками оторвут - магазины, те же банки... а видео - это все игрушки :) хотя - если нужно именно видео - попробуйте плеер написать. в интернете валяются тонны исходников AVI Player'ов для DOS.

[quote=pervoPROkodetz]
Сейчас Dos овские приложения используются реально только
в гос структурах и банках
[/quote]
я вот работаю в ОЧЕНЬ большой компании. не государственной и весьма не бедной. у нас для определенных задач используется DOS. причем - купленый у мелкософта. так что не спешите хоронить ДОС :)
[quote=pervoPROkodetz]
там вообще всё оченьзапущено
[/quote]
юноша, а вы работали в банках, что так уверенно говорите?
350
28 августа 2006 года
cheburator
589 / / 01.06.2006
[QUOTE=squirL]автор - возьмите реализацию TCP/IP для DOS и разработайте клиентское приложение, которое сможет взаимодействовать с любой СУБД.[/QUOTE]
А что, протокол обмена данными между СУБД и клиентом, ты думаешь, одинаковый для всех СУБД? Я так не думаю. Не зря же для клиентских приложений у каждой СУБД есть свой модуль (как правило, dll) и не зря придумали ODBC и другие универсальные стандарты. А драйверы ODBC для DOS произодители СУБД вроде не выпускают...
[QUOTE=squirL]такую программу с руками оторвут - магазины, те же банки... [/QUOTE]
Интересно, почему же раньше до этого никто не догадался?
[QUOTE=squirL]юноша, а вы работали в банках, что так уверенно говорите?[/QUOTE]
Думаю, речь здесь идет о большинстве случаев, а не о единичных исключениях.
2
29 августа 2006 года
squirL
5.6K / / 13.08.2003
[quote=cheburator]А что, протокол обмена данными между СУБД и клиентом, ты думаешь, одинаковый для всех СУБД?
[/quote]
имелось ввиду - для какой либо СУБД, а не с любой. неточно выразился.
[quote=cheburator]
Интересно, почему же раньше до этого никто не догадался?
[/quote]
ну почему же никто ;)
[quote=cheburator]
Думаю, речь здесь идет о большинстве случаев, а не о единичных исключениях.[/quote]
с точностью до наоборот.
286
29 августа 2006 года
misha_turist
572 / / 28.11.2005
Кстати по поводу операционок в банках.

Я вполне поверю, что в качастве рабочих лошадок в банках и больших конторах используется DOS и ему подобные системы, но в банкоматах и аппаратах приёма оплаты используется всеми НЕ любимый Windows....
Вот так вот...)))

p.s. Не обижайтесь за флут.
252
29 августа 2006 года
koderAlex
1.4K / / 07.09.2005
В нормальных банкоматах QNX стоит .
2
29 августа 2006 года
squirL
5.6K / / 13.08.2003
сам придумал??? банки не используют нелицензионное ПО - себе дороже. а знаешь, сколько QNX стоит для продакшн использования? разорится любой банк. во всех банкоматах, что я видел стоял Windows XP. в некоторых реликтах NT 4 либо OS/2
252
29 августа 2006 года
koderAlex
1.4K / / 07.09.2005
В живом виде видел и на сайтец можеш сходить .
2
29 августа 2006 года
squirL
5.6K / / 13.08.2003
сцылку в студию. и адрес банкомата. ты часом банкоматы с банковскими серверами не путаешь? :D
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог