Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Запасной форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Реплика Innovation SSI 2001
RSS

Реплика Innovation SSI 2001

Воссоздание участниками форума этой ISA8 карты.

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 8 9
Печать
 
scg
Newbie


Всего сообщений: 108
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2017
Зарелизил версию 0.2 osp2001-win. Нашел досадный баг с выпаданием в кору, если открывается файл с незнакомым форматом. Ссылки поправил.
Fagear
Advanced Member


Откуда: Москва, САО
Всего сообщений: 1228
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 янв. 2010
scg написал:
[q]
Зарелизил версию 0.2 osp2001-win.
[/q]
Скачал. Видимо, провайдер дурил ранее.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
scg написал:
[q]
Так и не разобрался как выделить память размером с сегмент или немного больше.
[/q]
А с чем конкретно возникли проблемы?
Используются вот эти функции:
http://www.datadoctor.biz/data...age23.html
Единственный нюанс, который я помню, это что по умолчанию DOS запускаемой программе (особенно это касается COM-файла) выделяет всю доступную память, и, соответственно, выделить её функцией 48h не получится. Помнится, я её сначала освобождал, а потом заново выделял. :-) Как-то так:


  mov ah,4ah
  mov bx, 1000h
  int 21h
  
  mov ah, 48h
  mov bx, 100
  int 21h
  
  mov Buf1Addr, ax


Первая функция (4ah) уменьшает уже выделенную память, вторая её выделяет. Естественно, число 1000h подходило для моей маленькой программы, у Вас оно будет другое.
scg
Newbie


Всего сообщений: 108
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2017
uav1606 написал:
[q]
Единственный нюанс, который я помню, это что по умолчанию DOS запускаемой программе (особенно это касается COM-файла) выделяет всю доступную память, и, соответственно, выделить её функцией 48h не получится. Помнится, я её сначала освобождал, а потом заново выделял. :-)
[/q]
Этого я не знал. С другой стороны, во-первых, не понятно, сколько нужно оставить памяти, тем более, что программа использует димамическое выделение объектов. А во-вторых, я правильно понимаю, что по умолчанию вся доступная память доступна для аллокатора c++? Однако, у меня не получается выделить 2 блока по 64К: по выходу из программы появляется о шибка о проблемах с памятью и невозможностью запустить command.com. На самом деле памяти нужно не очень много: 64K - RAM, 64K - ROM и IO, еще 64K временно на загрузку файла, плюс немного на динамические структуры и объекты. 640К действительно должно хватить, но не хвататет. Сейчас смотрю в сторону EMS.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
А в C++ Вы потом память освобождаете через free? В конце программы?
scg
Newbie


Всего сообщений: 108
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2017
uav1606
Разумеется. Только не через free(), а через delete.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Может, тогда попробуете через malloc и free? А то насчёт delete я вообще не уверен, под DOS'ом не пользовался. Если что, я сейчас про Turbo С++.
scg
Newbie


Всего сообщений: 108
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2017
uav1606 написал:
[q]
Может, тогда попробуете через malloc и free?
[/q]
Как это ни странно, помог farmalloc() и только с huge указателем. Причем, превод компилятора в huge режим эффекта не давал. Пришлось менять типы указателей по всему коду. Удалось выделить два буфера для эмулятора процессора и загрузить файл SID. Посмотрим, что будет дальше.
scg
Newbie


Всего сообщений: 108
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2017
Готов релиз для DOS версии: https://stdio.ru/download/ssi-2001/osp2001-0.1.zip
Поскольку исходники Open Cubic Player распространялись под лицензией GPL2, то я тоже обязан их опубликовать.
Исходный код и последние релизы можно найти здесь: https://stdio.ru/download/ssi-2001/

Было бы неплохо, если бы кто-нибудь проверил минимальную конфигурацию машины, на которой DOS проигрывателя cохранит работоспособность.
По поим ощущениям 20-30МГц должно хватить. Запас производительности можно прикинуть нажатием кнопки 'F' (Fast Forward). В этом случае симуляция не синхронизируется с таймером и идет с максимально возможной скоростью. Также, если запустить программу с ключом /V (verbose), то в строке времени отобразится поле TE (Timer Error). Его значение увеличивается каждый раз, когда прерывание от таймера приходит раньше чем завершится обработка предыдущего - то есть тормозит симуляция.
Fagear
Advanced Member


Откуда: Москва, САО
Всего сообщений: 1228
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 янв. 2010
scg написал:
[q]
Было бы неплохо, если бы кто-нибудь проверил минимальную конфигурацию машины, на которой DOS проигрывателя cохранит работоспособность.
[/q]
Не сочтите за рекламу, но именно этим я сейчас займусь онлайн, вот тут.
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 8 9
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Реплика Innovation SSI 2001
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS