Программирование под MS DOS 6.22
От: DMD Россия  
Дата: 16.12.06 15:25
Оценка:
Здравствуйте!
Начал делать новый проект, задача — написать эмуляцию устройства. Необходима разработка под ОС MS DOS 6. Вот сижу, думаю какой компилятор взять. Решил скомпильнуть старые исходники от того же проекта (под win32) — не пошло, слишком заметная разница между C++ Builder и Borland C++ 3. Вот и решил спросить: какой компилятор посоветуете выбрать для создания программ под ДОС, какие вещи необходимо учитывать, что такое DOS Extender и когда его необходимо использовать (я пока только догадываюсь , да и вообще — может кто сталкивался с какими-нибудь ловушками при программировании под DOS 16 — поделитесь.
Заранее спасибо!
Re: Программирование под MS DOS 6.22
От: dotidot Россия  
Дата: 16.12.06 22:08
Оценка:
Здравствуйте, DMD, Вы писали:

DMD>Здравствуйте!

DMD>Начал делать новый проект, задача — написать эмуляцию устройства. Необходима разработка под ОС MS DOS 6. Вот сижу, думаю какой компилятор взять. Решил скомпильнуть старые исходники от того же проекта (под win32) — не пошло, слишком заметная разница между C++ Builder и Borland C++ 3. Вот и решил спросить: какой компилятор посоветуете выбрать для создания программ под ДОС, какие вещи необходимо учитывать, что такое DOS Extender и когда его необходимо использовать (я пока только догадываюсь , да и вообще — может кто сталкивался с какими-нибудь ловушками при программировании под DOS 16 — поделитесь.
DMD>Заранее спасибо!

есть вполне вменяемый djgpp но он тока под какую-то 32битную прослойку для доса.
и еще не совсем ясно зачем писать эмулятор некоего устройства обязательно под дос? У вас есть некое оч. цен. дос ПО которое использует специфическое оборудование, которого уже нету, и вы пишите эмулятор этой железяки?

успехов
Re[2]: Программирование под MS DOS 6.22
От: sergey2b ЮАР  
Дата: 17.12.06 12:24
Оценка:
Здравствуйте, dotidot, Вы писали:

в порядки предпочтений
djgpp bc3.1 openwatcom, ms c
смотрите сайты freedos.org gnu/dos fd32 и поиском по русскому инету

не найдете напишите мне письмо я приглю ссылки
Re: Программирование под MS DOS 6.22
От: bnk СССР http://unmanagedvisio.com/
Дата: 17.12.06 16:21
Оценка:
Здравствуйте, DMD, Вы писали:

DMD>Начал делать новый проект, задача — написать эмуляцию устройства. Необходима разработка под ОС MS DOS 6.


Все-таки странная постановка задачи.. абсолютно уверены что хотите именно DOS?

DMD> Вот и решил спросить: какой компилятор посоветуете выбрать для создания программ под ДОС,


IMHO, если вам так уж необходимо работать с DOS в режиме 16-бит,
берите Borland C++ 3.1/4.5, автомат, ведро патронов, барабан, веревку... ну, вы знаете.

Для DOS-16 также можно иметь вполне "вменяемый" (c) C++ c поддержкой stl,
посмотрите Digital Mars <b>cross</b>-compiler, только отлаживаться, боюсь, придется принтфами...

> что такое DOS Extender и когда его необходимо использовать

Wikipedia: DOS Extender

> при программировании под DOS 16

Extender-ы были придуманы (~15 лет назад?) для 32-х битового режима, работают на процессорах начиная с ~286.
Re[2]: Программирование под MS DOS 6.22
От: DMD Россия  
Дата: 22.12.06 19:55
Оценка:
Всем привет, с наступающими праздниками и так далее...
Отвечу сразу блоком.
Проект необходимо писать под ДОС, так как в контроллере (в который затем будем заливаться проргамма) существует только ДОС-образная ОС с рядом прерываний... Контроллер из серии ADAM-4000 для промышленной автоматизации. Задача стоит — сэмулировать на этом контроллере процессор Z80/i8080 для учебных целей. Короче много всего накручено, много всего уже написано под 32-битный компилятор... Вот теперь надо написать под реальный режим все это. Ужас, но, чем больше работаю с этим, тем больше становится интереснее: так сильно все это отличается от Win32 программирования. Ну да ладно, не в этом суть.
Спасибо за ответы. Я просто хотел узнать какой компилятор генерит самый оптимизированный код по скорости выполнения. Ну да ладно. Кстати, а такой известный компилятор как Watcom C++? Можно ли его ещё где-нибудь скачать (только если там немного, хотя сам не верю в такое чудо)? Как он себя зарекомендовал? Правда ли он так хорош? Я спрашиваю потому, что в эмуляторе будет просчитываться модель и оптимизированный код от компилятора очень важен. А я слышал (и неоднократно), что Watcom C++ давал самый лучший код. Правда ли это?
И ещё: посоветуйте простую и мощную библиотеку для создания пользовательского интерфейса под ДОС (в текстовом режиме)? TurboVision брать не хочу, так как нет для неё описания (искал — не нашел конкретно для С++, да и она "заточена" под BorlandC++ (пытался построить её на MS C++ 7, но походу либо у меня руки крывоваты, либо я что-то не учел). Поэтому посоветуйте где можно скачать библиотеку в исходниках (желательно) для создания UI for DOS.

Заранее спасибо!
Re[3]: Программирование под MS DOS 6.22
От: bnk СССР http://unmanagedvisio.com/
Дата: 24.12.06 12:42
Оценка: 1 (1)
Здравствуйте, DMD, Вы писали:

DMD>Проект необходимо писать под ДОС, так как в контроллере (в который затем будем заливаться проргамма) существует только ДОС-образная ОС с рядом прерываний... Контроллер из серии ADAM-4000 для промышленной автоматизации. Задача стоит — сэмулировать на этом контроллере процессор Z80/i8080 для учебных целей. Короче много всего накручено, много всего уже написано под 32-битный компилятор... Вот теперь надо написать под реальный режим все это. Ужас, но, чем больше работаю с этим, тем больше становится интереснее: так сильно все это отличается от Win32 программирования.


Bender: My dream died even before it started...
Zoidberg: Welcome to my life! (Starts crying)


Почему бы вам не эмулировать Z80 под Windows? Мне, например, трудно представить,
какие могут быть в процедуре написания эмулятора Z80 для контроллере ADAM-4000
"учебные цели" кроме садизма...

DMD>Спасибо за ответы. Я просто хотел узнать какой компилятор генерит самый оптимизированный код по скорости выполнения. Ну да ладно. Кстати, а такой известный компилятор как Watcom C++? Можно ли его ещё где-нибудь скачать (только если там немного, хотя сам не верю в такое чудо)? Как он себя зарекомендовал? Правда ли он так хорош? Я спрашиваю потому, что в эмуляторе будет просчитываться модель и оптимизированный код от компилятора очень важен. А я слышал (и неоднократно), что Watcom C++ давал самый лучший код. Правда ли это?


Watcom действительно был очень хорош 10 лет назад...
вам же вроде уже дали ссылку на openwatcom — это он и есть. (N лет назад Watcom стал opensource)

DMD>И ещё: посоветуйте простую и мощную библиотеку для создания пользовательского интерфейса под ДОС (в текстовом режиме)? TurboVision брать не хочу, так как нет для неё описания (искал — не нашел конкретно для С++, да и она "заточена" под BorlandC++ (пытался построить её на MS C++ 7, но походу либо у меня руки крывоваты, либо я что-то не учел).


Описание на TurboVision — в хелпе для Borland.

Я почему-то так и подумал что на контроллере все будет. Поэтому ведро патронов, и т.д.
Насчет библиотеки не подскажу... (у вас нормальный дисплей? не индикатор?)

Почему бы вам просто не взять контроллер поприличнее —
чтобы на него linux или даже windows можно было поставить?
IMHO, большинство софта, написанного Advantech (который выпускает ADAM-4000) — нечто "вечноглючащее"...

А вообще, для этого ADAM-4000 Advantech выпускает специальную среду разработки
("графического программирования"), т.е. в контроллер зашивается ихняя программа,
которая выполняет написанные пользователем сценарии. Так что попытку сделать
из данного контроллера эмулятор Z80 можно рассматривать как нецелевое использование
имеющихся средств с отягчающими обстоятельствами. Заключение на срок от 1 года

По поводу разработки.
Я не очень представляю как вы с Watcom будете отлаживаться в контролеере.
Поэтому я бы посоветовал все же старый Borland, у которого был специальный модуль (TDR186 ?),
который можно залить в контроллер, потом подключиться через COM-порт, и отлаживаться.
Типа Remote Debugging в каменном веке
Re[4]: Программирование под MS DOS 6.22
От: dotidot Россия  
Дата: 24.12.06 14:38
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Почему бы вам не эмулировать Z80 под Windows? Мне, например, трудно представить,

bnk>какие могут быть в процедуре написания эмулятора Z80 для контроллере ADAM-4000
bnk>"учебные цели" кроме садизма...

хотелось бы отметить, что эмуляторы спектрума есть даже на яве для мобильных телефонов, если ничего не путаю, так что, написав его под "адама", в зал славы вы не войдете
Re[3]: Программирование под MS DOS 6.22
От: Daevaorn Россия  
Дата: 24.12.06 15:47
Оценка:
Здравствуйте, DMD, Вы писали:

DMD>И ещё: посоветуйте простую и мощную библиотеку для создания пользовательского интерфейса под ДОС (в текстовом режиме)? TurboVision брать не хочу, так как нет для неё описания (искал — не нашел конкретно для С++, да и она "заточена" под BorlandC++ (пытался построить её на MS C++ 7, но походу либо у меня руки крывоваты, либо я что-то не учел). Поэтому посоветуйте где можно скачать библиотеку в исходниках (желательно) для создания UI for DOS.


DMD>Заранее спасибо!

http://tvision.sourceforge.net/
Порт TVision на для GNU компиляторов. Есть документация
Re: Программирование под MS DOS 6.22
От: Daevaorn Россия  
Дата: 24.12.06 16:18
Оценка:
http://pdcurses.sourceforge.net/index.html
порт ncurses, в том числе и под ДОС
Re[2]: Программирование под MS DOS 6.22
От: sergey2b ЮАР  
Дата: 29.12.06 15:22
Оценка:
Здравствуйте, Daevaorn, Вы писали:

Обратитесь на
http://zx.pk.ru/

насколько я помню на форуме разработчики эммуляторов соглашались дать исходники эмуляторов

это что вспомнил сразу

http://z88dk.sourceforge.net/
http://www.komkon.org/~dekogel/misc.html
Re[3]: Программирование под MS DOS 6.22
От: sergey2b ЮАР  
Дата: 29.12.06 15:25
Оценка:
My email-id is :- 'kumar__v@hotmail.com'
8085.EXE — this is the executable program which can run

эмулятор для 8085/8080 написан на BC есть исходники

По доброму завиду вам.
Мне бы такую задачу а то всякую фигню дают
Re[3]: Программирование под MS DOS 6.22
От: DMD Россия  
Дата: 03.01.07 13:29
Оценка:
Всем спасибо! Я уже нашел хороший эмулятор, могу поделиться, если кому надо.
У меня вот тут затык, не знаю куда и думать, вернее в каком направлении.
Следующий код не работает под Вс3.1, но на ура работает под всеми другими компиляторами.
class I8080
{
   //......

private:
    typedef void (I8080::*OpcodeHandler)();

    typedef struct {
        OpcodeHandler   handler; //вот здесь получаю странную ошибку -
        //Error I8080.H 551: 'I8080::OpcodeHandler' is not accessible
        unsigned        cycles;
    } OpcodeInfo;
//......
}

Что характерно: все остальные компиляторы (а я отлаживал под Билдером 6, и под Визуалом 6) хавают код нормально. Может что-то поменялось в стандарте со времен ВС так, что я не могу обратиться внутри класса к typedef? причем если вынести typedef в public секцию, то код компилиться и вылетает на слудующей подобной вещице... Может какой ключик есть?
Заранее спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.