Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Реплика Innovation SSI 2001 |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 * 7 8 9 | Печать |
scg |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 марта 2018 8:25 Сообщение отредактировано: 28 марта 2018 22:26
Ежели кому для реплики Innovation SSI-2001 нужен проигрыватель SID файлов для относительно слабой машины, то можно скачать тут. К сожалению, ssid_w9x_1_2b1 не заработал на моем 133-м пне должным образом, в то время как Cubic Player играет эти SID'ы безо всякого напряга да еще и с эмуляцией синтезатора. Поскольку, исходники у Кубика открытые, я взял модуль SID'а, отрезал симуляцию, добавил командную строку и получил консольную программулю, которая заработала довольно шустро. Может даже на 486-м каком-нибудь потянет. Из минусов - принципиально не умеет играть RSID: для cycle accurate симуляции ресурсы-то в основном и нужны. К сожалению, пока только под Win9x, хотя, изначально собирался сделать под DOS. Так и не разобрался как выделить память размером с сегмент или немного больше. |
Escalibur
Advanced Member
Откуда: Москва Всего сообщений: 945 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 12 окт. 2017 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 марта 2018 8:41 Сообщение отредактировано: 26 марта 2018 8:42
scg написал: scg, копайте в сторону Unreal mode. Правда, это для 386+ не разобрался как выделить память |
Fagear
Advanced Member
Откуда: Москва, САО Всего сообщений: 1228 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 янв. 2010 |
scg написал: Отлично! Правда ссылка у меня не работает ("ERR_NAME_NOT_RESOLVED"). Поскольку, исходники у Кубика открытые, я взял модуль SID'а, отрезал симуляцию, добавил командную строку и получил консольную программулю, которая заработала довольно шустро. |
scg |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 марта 2018 23:35 Сообщение отредактировано: 28 марта 2018 22:26 Хотелось бы разобраться с 640 килобайтами, которые хватит всем. Escalibur Очень странно. У меня хост резолвится даже в корпоративной сети, которая через Европу идет. Попробуйте напрямую по IP скачать: Fagearhttps://78.107.250.145/download/ssi-2001/osp2001-win-0.2.zip |
scg |
Зарелизил версию 0.2 osp2001-win. Нашел досадный баг с выпаданием в кору, если открывается файл с незнакомым форматом. Ссылки поправил. |
Fagear
Advanced Member
Откуда: Москва, САО Всего сообщений: 1228 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 янв. 2010 |
scg написал: Скачал. Видимо, провайдер дурил ранее. Зарелизил версию 0.2 osp2001-win. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 29 марта 2018 0:16 Сообщение отредактировано: 29 марта 2018 0:22
scg написал: А с чем конкретно возникли проблемы? Так и не разобрался как выделить память размером с сегмент или немного больше. Используются вот эти функции: http://www.datadoctor.biz/data...age23.html Единственный нюанс, который я помню, это что по умолчанию DOS запускаемой программе (особенно это касается COM-файла) выделяет всю доступную память, и, соответственно, выделить её функцией 48h не получится. Помнится, я её сначала освобождал, а потом заново выделял. :-) Как-то так:
Первая функция (4ah) уменьшает уже выделенную память, вторая её выделяет. Естественно, число 1000h подходило для моей маленькой программы, у Вас оно будет другое. |
scg |
uav1606 написал: Этого я не знал. С другой стороны, во-первых, не понятно, сколько нужно оставить памяти, тем более, что программа использует димамическое выделение объектов. А во-вторых, я правильно понимаю, что по умолчанию вся доступная память доступна для аллокатора c++? Однако, у меня не получается выделить 2 блока по 64К: по выходу из программы появляется о шибка о проблемах с памятью и невозможностью запустить command.com. На самом деле памяти нужно не очень много: 64K - RAM, 64K - ROM и IO, еще 64K временно на загрузку файла, плюс немного на динамические структуры и объекты. 640К действительно должно хватить, но не хвататет. Сейчас смотрю в сторону EMS. Единственный нюанс, который я помню, это что по умолчанию DOS запускаемой программе (особенно это касается COM-файла) выделяет всю доступную память, и, соответственно, выделить её функцией 48h не получится. Помнится, я её сначала освобождал, а потом заново выделял. :-) |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 29 марта 2018 14:16 Сообщение отредактировано: 29 марта 2018 14:18
А в C++ Вы потом память освобождаете через free? В конце программы? |
scg |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 29 марта 2018 14:45 Сообщение отредактировано: 29 марта 2018 14:46
uav1606 Разумеется. Только не через free(), а через delete. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 * 7 8 9 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Реплика Innovation SSI 2001 |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |