Просмотр полной версии : ZXLin
Просьба протестировать сию поделку. Сообщать только об ошибках. Пока ничего добавляться нового не будет, поджимают сроки.
Перед запуском надо покопаться в инишнике и поменять опции на звук (если надо) и разрешение видео в фулскрине (FullScreenSize)
Клавиши управления:
alt+alt+enter- fullscr/windowed
alt+alt - loose focus in windowed mode (return focus by clicking)
f1- options
f3- open file (snapshot or image to drive A)
f4- fast settings (memory type, example of cuilib)
f12- reset to basic128 (+shift - reset to trdos)
Раскладка клавиатуры как в UnrealSpeccy
а чего бинарник? секретные технологии? ;)
...не смог запустить, слишком много зависимостей от динамических либ. фигня типо libidn еще ладно, но компилить еще одну libstdc++... о, нет...
попробуй эмуль статически собрать.
потому что там для того чтобы собрать сорцы, надо ставить еще больше прог %)
где выставлять сборку в статике? чета не задумывался по этому поводу, зато радовался маленькому размеру бинарника %)...
потому что там для того чтобы собрать сорцы, надо ставить еще больше прог %)
где выставлять сборку в статике? чета не задумывался по этому поводу, зато радовался маленькому размеру бинарника %)...
указывать -static при линковке.
дааа, требования по либам нехилые :rolleyes:
kde особенно. около половины kde-шных прог не компилятся на версиях kde, отличных от той, под которую писались, даже если формально они считаются совместимыми -__-
около половины kde-шных прог не компилятся на версиях kde, отличных от той, под которую писались, даже если формально они считаются совместимыми -__-
отож блин... еще неизвестно к каким прогам принадлежат те или иные либы. чувствую, в итоговом проекте вместо 200к получу 20метров бинарник %))
Dut_Norshi
17.05.2006, 03:26
Выложите исходники пожалуйста. Хочется скомпилировать и посмотреть на эту программу. Очень интересно.
Выложите исходники пожалуйста. Хочется скомпилировать и посмотреть на эту программу. Очень интересно.
Пожалуйста. Единственная просьба- особо не распространять исходы по причине их сырости и незавершенности.
В файле main.cpp в строчках
int main(int argc, char *argv[])
{
#ifdef _DEBUG_
chdir("/home/vitamin/prog/zxlin/result");
#endif
Configure::loadIni("zxlin.ini");
//parse command line
поменять путь на свой. по этому пути должны лежать инишник и ромы.
Достаточно много взято из US (thx 2 SMT), о чем совершенно открыто заявляю %)
собрал :)
* по компиляции:
- при линковке не добавляется -lSDL
- в src нет симлинков на list.h и list.i из LIBS
- kde-либы нигде не используются, но зачем-то инклюдятся, линкуются и тянут за собой кучу зависимостей %)
* по работе:
- AY ведет себя странно -- звучит как-то не так, шипит
- фуллскрин не пашет, просто меняется размер окна, причем с нарушением пропорций спековского экрана. (надо SDL_FULLSCREEN добавлять к флагам для SDL_SetVideoMode)
- при опросе кемпстона эмуль пишет "mouse"
- какие-то глюки в эмуляции z80. к примеру, в интро к marauder128 от golden eagle на заднем фоне ползет мусор.
а в целом весьма симпатично :)
собрал :)
* по компиляции:
- при линковке не добавляется -lSDL
наверное пропало из конфига- я убивал одну папку, может там все и лежало... без нее естесно собираться не будет %)
- в src нет симлинков на list.h и list.i из LIBS
это наверное глюк при удалении из тарбола лишних файлов. симлинки должны быть на все файлы из каталога ../LIBS
- kde-либы нигде не используются, но зачем-то инклюдятся, линкуются и тянут за собой кучу зависимостей %)
какие именно? вроде qt юзаю, не знаю чьи либы она еще тянет %) точнее кто именно кого тянет
* по работе:
- AY ведет себя странно -- звучит как-то не так, шипит
заметил, но коренных отличий от оригинального US не нашел, разве что у меня частота AY жестко привязана к частоте процессора- поменяй число тактов за инт и получишь повышение тональности %)
- фуллскрин не пашет, просто меняется размер окна, причем с нарушением пропорций спековского экрана. (надо SDL_FULLSCREEN добавлять к флагам для SDL_SetVideoMode)
это я знаю. просто у мя была жестокая борьба с глюками SDL (периодические глюки в многопоточном режиме). представляешь какого это после зависаний проги в полноэкранном режиме перегружать иксы? ;) это ж не отладка, это дурдом ромашкина! поэтому сделал софтверный фуллскринн. надо прописывать его размеры в конфиге. да и переключение туда-сюда при вызове окошек настроек/открытия не очень хороши. в перспективе думаю сделать все это опционально, да и OpenGL подключить не мешает...
- при опросе кемпстона эмуль пишет "mouse"
гм... странно. надо проверить
- какие-то глюки в эмуляции z80. к примеру, в интро к marauder128 от golden eagle на заднем фоне ползет мусор.
может быть. заметил еще что не загружается Test4.30 с диска (там хитрая ксорка), но списал это на ошибки бетадиска...
а в целом весьма симпатично :)
пасиб %) это мой диплом, так что еще одно спасибо за багрепорты.
TODO:
save sna (+sna48k)
read/write fdi
kempston joy
save scrshot
пока все что планируется, на большее нет времени и желания пока.
какие именно? вроде qt юзаю, не знаю чьи либы она еще тянет %) точнее кто именно кого тянет
configure поверяет наличие kdeшных либ, в options.cpp включаются kdeшные инклюдники (две первые строки), ну и при линковке делается -lkdeui (которая тянет за собой прочие радости). ооо, а в файле zxlin.desktop написано "A simple KDE Application" :rolleyes:
хотя используешь ты действительно только qt.
наверно, kdevelop или kstudio юзаешь? они любят kde-шные либы всюду пихать.
заметил, но коренных отличий от оригинального US не нашел, разве что у меня частота AY жестко привязана к частоте процессора- поменяй число тактов за инт и получишь повышение тональности %)
вот загружаю, к примеру, сборник диззей от legacy, там в интре первые пару десятков секунд монотонное ритмичное тынц-тынц, у тебя просто гудение. жму пробел -- музыка замолкает, но по всем каналам идет мусор (негромкое шуршание-потрескивание).
и вообще, AY звучит в целом похоже, но как-то странно, точно говорю.
btw, а какая связь между числом тактов за инт и частотой процессора? O__o
пасиб %) это мой диплом, так что еще одно спасибо за багрепорты.
ого, круто... круче диплома по спектрумовской тематике, наверно, только аналогичная работа может быть :)
configure поверяет наличие kdeшных либ, в options.cpp включаются kdeшные инклюдники (две первые строки), ну и при линковке делается -lkdeui (которая тянет за собой прочие радости).
options.cpp генерится автоматически по xml-ке формы настроек... блин надо в qt designer'e покопаться... %)
ооо, а в файле zxlin.desktop написано "A simple KDE Application"
дык, через мастер создавал-то. больше года назад. с тех пор скелет почти не менялся, в смысле проект и конфиг.
хотя используешь ты действительно только qt.
наверно, kdevelop или kstudio юзаешь? они любят kde-шные либы всюду пихать.
kdevelop 3.x. По сравнению с 2.x- манна небесная. в том не было даже шестнадцатеричного вида(!) в отладчике. представляешь какого было отлаживать ядро процессора и встроенный дебаггер?
вот загружаю, к примеру, сборник диззей от legacy, там в интре первые пару десятков секунд монотонное ритмичное тынц-тынц, у тебя просто гудение. жму пробел -- музыка замолкает, но по всем каналам идет мусор (негромкое шуршание-потрескивание).
цифровой музон чтоли? я подозреваю что у меня неправильная дешифрация идет. отсюда и мусорок иногда проскаккивает
btw, а какая связь между числом тактов за инт и частотой процессора? O__o
прямая. считается что они питаются от одного генератора, частота которого равна примерно 50*TicksPerInt. вот такая байда %)
ого, круто... круче диплома по спектрумовской тематике, наверно, только аналогичная работа может быть
хе. а работа у меня- программирование микроконтроллеров. ветер в ту же сторону дуеть %))
цифровой музон чтоли? я подозреваю что у меня неправильная дешифрация идет. отсюда и мусорок иногда проскаккиваетне, музон обычный... насчет шума, он остается после музонов, когда к портам AY обращений уже нет -- больше похоже, что где-то буфер не обнуляется. у SMT такое было в первом варианте новой версии AY-либы.
насчет шума, он остается после музонов, когда к портам AY обращений уже нет -- больше похоже, что где-то буфер не обнуляется. у SMT такое было в первом варианте новой версии AY-либы.
я вывел в индикаторы канал шума, посему замечаю на некоторых программах, что уровень остается после того, как мелодия закончилась (столбик торчит). и еще наблюдаются шумы изза того, что самый нижний отдаваемый от АУ уровень достаточно высок. но непонятно тогда почему он меняется, раз шумы раздаются... надо будет протрассировать
Просьба протестировать сию поделку. Сообщать только об ошибках. Пока ничего добавляться нового не будет, поджимают сроки.
Перед запуском надо...
Установить X.org? :-(
Установить X.org? :-(
Ну у кого как %) можно текстовый режим эмулировать в графическом. а вот графический в текстовом... %)
boo_boo
у нас появились конкуренты ? ;)
зы. кста скоро будет аффигитительный мега апдейт.
Vitamin
молодец! больше эмулей, хороших и разных.
boo_boo
у нас появились конкуренты ?
никакой конкуренции. просто сижу тут, примус починяю, никого не трогаю %)
молодец! больше эмулей, хороших и разных.
угу! см.выше про конкуренцию %)
у нас появились конкуренты ? ;)
милостью божией! ,)
зы. кста скоро будет аффигитительный мега апдейт.
ооо, неужто дизасм заюзаешь? ;)
Сообщение от fk0
Установить X.org? :-(
Ну у кого как %) можно текстовый режим эмулировать в графическом. а вот графический в текстовом... %)
У меня XFree 4.3.0. И пока X.org в дебиан не появится мне заниматься сексом с еего установкой нет никакого желания.
У меня XFree 4.3.0. И пока X.org в дебиан не появится мне заниматься сексом с еего установкой нет никакого желания.а причем тут X.Org? ты бинарник сабжевого эмуля пытаешься запустить? не прокатит с вероятностью 90% даже с xorg'ом, собирай из сорцов ;)
Новая версия:
+загрузка sna48
+загрузка scl
+списывание sna128 (f2)
+загрузка раскладки клавиатуры
+загрузка палитр
*переделан немного АУ
+джойстик
+скриншоты в бмп (f8)
Удалил все предыдущие вложения в этой ветке, посему кидаю наисвежайшую версию с чистой совестью %)
Пришлось пережать в рар с потерей информации по правам доступа...
Ура! Я это сделал! Первый (по крайней мере, из известных мне) эмулятор, поддерживающий DMA Ultra Sound Card!!! Эмуляция не полная (поддержаны только целевые режимы ПДП и таймеров, а также нет системы прерываний), но вполне работает переделанный под него ProDigi. Кто переплюнет? :)
Эмуляция ресурсоемкая, первая пробная версия жутко тормозила на athlon1700, сейчас жрет 50% ресурсов (немного больше чем обычно, учитывая вывод звука через ALSA).
CityAceE
05.09.2006, 01:39
Удалил все предыдущие вложения в этой ветке, посему кидаю наисвежайшую версию с чистой совестью %)
Лучше удали и это вложение и помести его в свой самый первый пост этой темы. Там его будет гораздо проще найти. За одно можешь первый пост поправить, дописав в него все доработки.
со страшной силой пытаюсь собрать эмулятор:
- сначала configure ругался на kdeшные headerы. поставил.
- configure отработало
- make выпало в ошибку, т.к. нету SDL.h, поставил, но тогда почему configure этот пакет пропустил?
- make снова в ошибке. нужен cuilib.h счас буду исходники править, штоб ему правильное месторасположение указать.
мелочи конечно, но с точки зрения юзера хотелось бы чтоб таких огрехов не было, а то кроме тебя никто твоим эмулем пользоваться не будет, так как собрать не сможет
/bin/sh ../libtool --silent --tag=CXX --mode=link g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -o zxlin -R /usr/lib -R /usr/lib -R /usr/lib/qt3//lib -R /usr/X11R6/lib -L/usr/lib -L/usr/lib/qt3//lib -L/usr/X11R6/lib ay.o beeper.o computer.o context.o cpu.o cpu_funcs.o dac.o debugger.o disasm.o dump.o dumpeditor.o editor.o iomanager.o keyboard.o main.o memory.o mouse.o soundmanager.o textmatrix.o ula.o wordeditor.o zxlin.o configure.o gfxcontrol.o betadisk.o cuilib.o UI.o ini.o options.o -lkdeui
soundmanager.o: In function `SoundManager::startFrame()':
soundmanager.cpp:(.text+0xbe): undefined reference to `SDL_GetTicks'
soundmanager.cpp:(.text+0xd0): undefined reference to `SDL_GetTicks'
zxlin.o: In function `Zxlin::Zxlin()':
zxlin.cpp:(.text+0x4d): undefined reference to `SDL_Init'
zxlin.cpp:(.text+0xab): undefined reference to `SDL_ShowCursor'
zxlin.cpp:(.text+0xf1): undefined reference to `SDL_GetError'
zxlin.o: In function `Zxlin::Zxlin()':
zxlin.cpp:(.text+0x13d): undefined reference to `SDL_Init'
zxlin.cpp:(.text+0x19c): undefined reference to `SDL_ShowCursor'
zxlin.cpp:(.text+0x1e1): undefined reference to `SDL_GetError'
надоело бороться, рассказывай как компилить
:)
godexsoft
05.09.2006, 11:01
со страшной силой пытаюсь собрать эмулятор:
- сначала configure ругался на kdeшные headerы. поставил.
- configure отработало
- make выпало в ошибку, т.к. нету SDL.h, поставил, но тогда почему configure этот пакет пропустил?
- make снова в ошибке. нужен cuilib.h счас буду исходники править, штоб ему правильное месторасположение указать.
мелочи конечно, но с точки зрения юзера хотелось бы чтоб таких огрехов не было, а то кроме тебя никто твоим эмулем пользоваться не будет, так как собрать не сможет
man aclocal
man autoconf
man automake
man aclocal
man autoconf
man automake
эх, неа, все равно тамже вылетает, давайте-ка уж поподробнее плиз
Q-Master
05.09.2006, 14:09
Ну и где вложение?
со страшной силой пытаюсь собрать эмулятор:
- сначала configure ругался на kdeшные headerы. поставил.
- configure отработало
- make выпало в ошибку, т.к. нету SDL.h, поставил, но тогда почему configure этот пакет пропустил?
- make снова в ошибке. нужен cuilib.h счас буду исходники править, штоб ему правильное месторасположение указать.
мелочи конечно, но с точки зрения юзера хотелось бы чтоб таких огрехов не было, а то кроме тебя никто твоим эмулем пользоваться не будет, так как собрать не сможет
действительно, Vitamin, процедура сборки страшная, как моя жизнь -- уж лучше простой makefile, чем такое configure... может, написать тебе нормальные скрипты -- выкинуть kde, который не используется все равно, и добавить автоопределение того, что действительно нужно? (правда, тогда на "автогенерацию" этого дела kdevelop'ом, или чем ты это делаешь, придется забить, и дальше уж только ручками.)
NovaStorm
05.09.2006, 16:40
"undefined reference to `SDL_бла-бла-бла" говорит о том, что SDL не прилинкована. Пока в сорцах не копался, но возможно грабли в том что возвращает конфигурялка SDL по запросу о библиотеках(если эта информация вообще используется).
boo_boo: где почитать про человеческие makefile? а то юзаю то, что мне накрутил мастер создания... кдешные либы вроде как не используются, но тянутся... голым компилем из консоли не пользуюсь, все в kdevelop делаю.
а ошибки линковки лечатся установкой соответствующих пакетов (SDL_develop-...) и прописыванием (если по каким-либо причинам не прописались) в makefile -LSDL
в аттаче свежая версия с сорцами (буду кидать все-таки в конец, потому как последнее сообщение обычно и читают, да и логика не сбивается). Что нового:
-добавлена поддержка вывода звука через ALSA, OSS, none (то, что прописывается в конфигурационном файле, можно писать auto, эмуль будет сам пытаться найти подходящий вывод звука)
-добавлена поддержка расширенных команд управления эмулятором (включаются/отключаются из меню по f4):
0xed,0xfc - выпадение в отладчик на следующей команде
0xed, 0xfd - проверка поддержки расширенных команд (а==1 => поддерживаются)
0xed, 0xfe - число тактов от начала инта в dehl (de- старшие 16 бит)
0xed, 0xff - число тактов от начала старта эмуля в de'hl'dehl
-добавлена поддержка DMA UltraSoundCard. Сырая, приколоченная гвоздями в код (в смысле не отключишь), но работает Prodigi под нее, хотя и не очень хорошо...
-большие различия в звуке между AY и YM
-разные мелкие переделки
[eugene@sysop zxlin]# automake
configure.in:32: required directory ./admin does not exist
configure.in: required file `admin/install-sh' not found
configure.in: required file `admin/missing' not found
src/Makefile.am: required file `admin/depcomp' not found
configure.in:38: required file `admin/config.guess' not found
configure.in:38: required file `admin/config.sub' not found
Makefile.am: required file `./COPYING' not found
configure.in:74: required file `doc/Makefile.in' not found
configure.in:75: required file `doc/en/Makefile.in' not found
configure.in:76: required file `po/Makefile.in' not found
configure.in:54: required file `admin/ltmain.sh' not found
[eugene@sysop zxlin]#
а при запуске zxlin, того который в result, вылетает в корку, хоть я его и из под рута запустил, т.е. с правами - все ок:
[root@sysop result]# ./zxlin
Reading zxlin.ini
Hardware surfaces: No
Window manager: Yes
Accelerated HW->HW blits: No
Accelerated HWColorkey blits: No
Accelerated HWAlpha blits: No
Accelerated SW->HW blits: No
Accelerated SWColorkey blits: No
Accelerated SWAlpha blits: No
Accelerated color fill: No
Total video mem: 0 kB
Current color depth: 32 bits
ALSA lib pcm_dmix.c:802:(snd_pcm_dmix_open) unable to open slave
Trying ALSA: Ok!
Loading ROM pentagon.rom:0 : Ok!
Loading ROM pentagon.rom:1 : Ok!
Loading ROM trdos.rom : Ok!
zxlin: pcm.c:1129: snd_pcm_writei: Assertion `pcm' failed.
Aborted (core dumped)
в целом уже лучше - окошко хоть на мгновение, но появляется
:)
Q-Master
06.09.2006, 11:45
boo_boo: а где ваш эмуль-то? Что-то тема та загнулась...
boo_boo: где почитать про человеческие makefile?
http://www.linux.org.ru/books/GNU/automake/automake-ru_toc.html
http://www.linux.org.ru/books/GNU/autoconf/autoconf-ru_toc.html
boo_boo: а где ваш эмуль-то? Что-то тема та загнулась...
ZEmu? Вроде еще и года не прошло, как Sinus собирался новую версию выкатить ;)
А так эмуль ИМХО вполне рабочий. Отладчика только не хватает... Sinus, када отладчик приделаешь, я дизасм в z80ex всобачил, моя совесть чиста :rolleyes:
godexsoft
11.09.2006, 10:29
boo boo, что посоветуешь из емулятров и кросасмов для никсов?
сейчас юзаю fuse.. устраивает, но думаю может быть есть и лучще.
что можешь сказать о пакете z80asm? оно хоть както бзабельно вне своей среды?
Спасибо.
boo boo, что посоветуешь из емулятров и кросасмов для никсов?
сейчас юзаю fuse.. устраивает, но думаю может быть есть и лучще.
что можешь сказать о пакете z80asm? оно хоть както бзабельно вне своей среды?
про эмуляторы -- fuse глючен. у меня не раз подвисал в нестандартных ситуациях. и эмуляция ВГ там кривая, да и z80 не идеальная, ULA тоже так себе.
я юзаю ZEmu (что неудивительно ;) ). z80, ВГ и ULA(пентагон) на высоте. но он без отладчика и не работает с tap/tzx.
сабжевый ZXLin всерьез не испытывал, но в целом -- хороший универсальный эмуль, заточенный под любителей GUI.
остальные юниксовые эмули -- фигня...
про асмы -- z80asm не пробовал. юзаю SjASMPlus и вполне доволен. WLA DX еще, кажется, был весьма ничего, но там нет встроенной поддержки спековских образов дисков/ленты и тп специфики (что лечится дополнительными скриптами/утилитами)
уффф... немного отошёл от работы ;)
но он без отладчика
потихонечку добавляю. внешне напоминает STS
и не работает с tap/tzx
.. а оно надо? в принципе можно будет добавить.
кста, если есть время (ибо я ухожу из дома в 09:30 и прихожу в 23:30), посмотри демку Anamnesis на ZEmu. у мну не работает ;) есть идеи почему?
(прада для того чтоб запустить на анриле надо тоже долго плясать с бубном, но всё таки в анриле работает)
Vitamin
звиняй что в твоей теме про оффтопик распрягаю, но действительно нет тайму, я так, на 15 секунд на форум залез и все.
.. а оно надо? в принципе можно будет добавить.
полезная штука... время от времени возникает потребность посмотреть или дискофицировать фирменную игруху, или наоборот в тап чего-то пересобачить
кста, если есть время (ибо я ухожу из дома в 09:30 и прихожу в 23:30), посмотри демку Anamnesis на ZEmu. у мну не работает ;) есть идеи почему?
уххх.. будет отладчик -- разберемся ))
йоу ;)
2 vitamin:
нее, сборка zxlin это не просто ужас, а ужас-ужас-ужас. уж хрен с тем, что в изначальном виде даже configure не работает, но вот где options.h? ага, его надо ручками генерить из options.ui посредством uic...
а потом еще делать из него options.h.moc
также надо ручками включать эксепшены, прописывать недостающие либы.. и тп
что-то, видимо, я сделал не так (а как надо?) -- эмуль запускается, но не реагирует на клавиши, кроме F1-F12, причем при нажатии F1 вылетает в сегфаулт.
подозреваю, большинство народу, пытавшегося скомпилить сабж, просто забило на это дело после нескольких десятков минут извращенного секса :(
Сей ужас был сгенерен мастером кдевелопа :)
Сейчас потихоньку вручную переписываю все автомаки и прочая. Есть проблемы с двухшаговой компиляцией пользовательского интерфейса... Пока не разобрался до конца как ее победить.
Сей ужас был сгенерен мастером кдевелопа :)
Сейчас потихоньку вручную переписываю все автомаки и прочая. Есть проблемы с двухшаговой компиляцией пользовательского интерфейса... Пока не разобрался до конца как ее победить.
что именно, генерация moc-файла?
я писал авто* к qt-шной программе, могу глянуть, как там было :)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot