Вход

Просмотр полной версии : Минимальный рабочий эмулятор под DOS



Afavyt
20.09.2017, 08:32
Как было написано в http://zx-pk.ru/threads/1589-est-li-progi-pozvolyayushchie-delat-exe-fajl-iz-snapshota.html?p=27278&viewfull=1#post27278, у людей переодически бывают странные желания, вот и у меня есть странное желание: сделать загрузочную дискету с кучей игрушек. Если быть точным, то надо упихать 200 игр на 1 дискету. Не спрашивайте зачем.

Искомый эмулятор должен быть минимального размера, поддерживать tap (tzx уже будет явным излишеством), но в принципе подойдет и какой-либо формат снапшотов (z80, sna, не принципиально). Написан он должен быть на сишке или ассемблере х86. Очень желательно, если умеет загружать себя из бутсектора, так как тратить пусть несколько секторов на структуры FAT-а очень не хочется

Игрушки предполагается слить в один большой tap, который потом пожать в поточном режиме чем-то из семейства paq8/zpaq, потому доступность сорсов обязательна, чтобы можно было прикрутить распаковщик (и до кучи тем самым можно избавиться от файловой системы). Правда, я тут думал над полуручной конвертации во что-то своё. Уже написан вырезатель картинок из образов, чтобы уменьшить энтропию и тем самым улучшить компрессию, до резалки бейсик-загрузчиков пока не дошел, но мысли о своем универсальном лоадере и формате к нему не покидают меня.

Был найден и испробован Z.COM от Владимира Кладова, но под DosBox образ дискеты завести не удалось, под VMWARE работает, но так грузит процессор и тормозит, что игры совершенно неиграбельны, видимо ошибка при определении таймингов.

Был найден и испробован Warajevo, под DosBox работает отлично, хотелось бы бордюра, но в принципе доволен почти всем, есть сорсы... С комментариями на непонятном языке. Так и не понял, как запустить это без лаунчера, но я просто не ковырялся в исходниках, которые на паскале, да и хотелось бы чтобы оно весило поменьше.

Spectramine
20.09.2017, 10:52
Попробуйте эмулятор от Николая Шалаева: http://worldofspectrum.org/pub/sinclair/emulators/pc/russian/spec305.zip
дополнительные загрузчики: http://worldofspectrum.org/pub/sinclair/emulators/pc/russian/spec305.addition.zip
Он ко всему прочему ещё и на русском. И сорсы есть: http://worldofspectrum.org/pub/sinclair/emulators/pc/russian/spec305src.zip

drbars
20.09.2017, 11:31
ZX-Emul version 0.34 (PC/DOS) by Vladimir Yudin (143,111 bytes). [15/11/99]

Довольно точный эмуль под DOS. Когда-то давно им пользовался.

Afavyt
20.09.2017, 13:47
Попробуйте эмулятор от Николая ШалаеваЕму нужен экстендер (+200кб), да и у меня приложения под ним работают слишком быстро (тестировал на Cauldron 1). Интерфейс, конечно, крутой. Но как надо было додуматься сделать загрузчик тап-файлов в виде плагина?


ZX-Emul version 0.34 (PC/DOS) by Vladimir Yudin (143,111 bytes)
Нашел только http://lion17home.narod.ru/index.html - тут 0.30, исходников нет, но сам эмулятор очень даже годный.

skyther
20.09.2017, 15:21
http://bacteria.speccy.org/ie.htm

daniel
20.09.2017, 15:57
Не спрашивайте зачем.
Заинтриговал и "не спрашивайте"?

Afavyt
21.09.2017, 13:24
http://bacteria.speccy.org/ie.htmПод досбоксом совершенно оторванные от жизни тайминги, реакции на нажатие клавиши можно ждать секундами. А вот саунд, еще при отсутствии рома, просто потрясающий. Исходники на итальяно-английском суржике.


Заинтриговал и "не спрашивайте"?Просто я хочу засунуть 200 игр на одну дискету. И сделать ее загрузочной. А дальше уж как повезет, а что стало причиной этого желания - длинная и непонятная для непосвященных людей история.

ZX_NOVOSIB
21.09.2017, 13:35
Просто я хочу засунуть 200 игр на одну дискету
на какую дискету влезут 200 игр? :confused_std:

Spectramine
21.09.2017, 13:43
Да, это получается по 7.2Кб на игру при объеме дискеты 1.44Мб. Маловата будет. Хотя, если дискета 2.88Мб, 14.4кб на игру, уже что-то можно подыскать. А с Iomega вообще проблем нет.

Afavyt
21.09.2017, 13:53
на какую дискету влезут 200 игр? :confused_std:Ну, если взять самые маленькие игрушки с ВоСа, а некоторые там по 400 байт, то минимум получается где-то 200кб, а это влезет почти на любую дискету. Но это неинтересно. В моей выборке игр, в которые хочется играть, игр примерно на 10 мегабайт, вырезая заставки из которых, я смог утрамбовать это до 2.5 метров, но надо дописать распаковщик и приделать его к эмулю, что достаточно интересная идея.

Не, если у кого есть много свободного времени, какие-то идеи как это лучше дожать до 2 или 1.7 метра, желание потрахаться, написать свою недоОС с защищенным режимом и загрузчиком - могу рассказать подробнее. Точно интересно?

- - - Добавлено - - -


с Iomega вообще проблем нет.И челленджа тоже нет, увы.

goodboy
21.09.2017, 14:43
сделать загрузочную дискету с кучей игрушек.
а мешает использовать более современную плату которая бутится с флешки ?
и вообще зачем обязательно PC.
можно и на малине

Afavyt
21.09.2017, 15:42
а мешает использовать более современную плату которая бутится с флешки ?
и вообще зачем обязательно PC.
можно и на малинеЯ хоть и адепт клуба суровых извращений, но в данной игре требуется именно дискета.

Afavyt
26.09.2017, 18:27
В общем пока остановился на warajevo, шелл выкинул, научился запускать напрямую из командной строки (почему-то хелп был вхардкожен в исходники), пожал через apack получилось 39кб + 16 пзу. Работает, вроде бы корректно, из всего опробованного вроде бы даже не глючит, жаль бордюр криво эмулирует.

Сейчас думаю как к нему лучше распаковщик приделать.