Вход

Просмотр полной версии : ZXLin



Vitamin
16.05.2006, 01:04
Просьба протестировать сию поделку. Сообщать только об ошибках. Пока ничего добавляться нового не будет, поджимают сроки.

Перед запуском надо покопаться в инишнике и поменять опции на звук (если надо) и разрешение видео в фулскрине (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

boo_boo
16.05.2006, 02:25
а чего бинарник? секретные технологии? ;)
...не смог запустить, слишком много зависимостей от динамических либ. фигня типо libidn еще ладно, но компилить еще одну libstdc++... о, нет...
попробуй эмуль статически собрать.

Vitamin
16.05.2006, 20:57
потому что там для того чтобы собрать сорцы, надо ставить еще больше прог %)
где выставлять сборку в статике? чета не задумывался по этому поводу, зато радовался маленькому размеру бинарника %)...

boo_boo
16.05.2006, 23:10
потому что там для того чтобы собрать сорцы, надо ставить еще больше прог %)
где выставлять сборку в статике? чета не задумывался по этому поводу, зато радовался маленькому размеру бинарника %)...
указывать -static при линковке.
дааа, требования по либам нехилые :rolleyes:
kde особенно. около половины kde-шных прог не компилятся на версиях kde, отличных от той, под которую писались, даже если формально они считаются совместимыми -__-

Vitamin
17.05.2006, 00:07
около половины kde-шных прог не компилятся на версиях kde, отличных от той, под которую писались, даже если формально они считаются совместимыми -__-
отож блин... еще неизвестно к каким прогам принадлежат те или иные либы. чувствую, в итоговом проекте вместо 200к получу 20метров бинарник %))

Dut_Norshi
17.05.2006, 03:26
Выложите исходники пожалуйста. Хочется скомпилировать и посмотреть на эту программу. Очень интересно.

Vitamin
17.05.2006, 10:32
Выложите исходники пожалуйста. Хочется скомпилировать и посмотреть на эту программу. Очень интересно.
Пожалуйста. Единственная просьба- особо не распространять исходы по причине их сырости и незавершенности.
В файле 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), о чем совершенно открыто заявляю %)

boo_boo
17.05.2006, 14:35
собрал :)

* по компиляции:
- при линковке не добавляется -lSDL
- в src нет симлинков на list.h и list.i из LIBS
- kde-либы нигде не используются, но зачем-то инклюдятся, линкуются и тянут за собой кучу зависимостей %)

* по работе:
- AY ведет себя странно -- звучит как-то не так, шипит
- фуллскрин не пашет, просто меняется размер окна, причем с нарушением пропорций спековского экрана. (надо SDL_FULLSCREEN добавлять к флагам для SDL_SetVideoMode)
- при опросе кемпстона эмуль пишет "mouse"
- какие-то глюки в эмуляции z80. к примеру, в интро к marauder128 от golden eagle на заднем фоне ползет мусор.

а в целом весьма симпатично :)

Vitamin
17.05.2006, 22:54
собрал :)
* по компиляции:
- при линковке не добавляется -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

пока все что планируется, на большее нет времени и желания пока.

boo_boo
18.05.2006, 00:17
какие именно? вроде 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


пасиб %) это мой диплом, так что еще одно спасибо за багрепорты.

ого, круто... круче диплома по спектрумовской тематике, наверно, только аналогичная работа может быть :)

Vitamin
18.05.2006, 00:33
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. вот такая байда %)


ого, круто... круче диплома по спектрумовской тематике, наверно, только аналогичная работа может быть
хе. а работа у меня- программирование микроконтроллеров. ветер в ту же сторону дуеть %))

boo_boo
18.05.2006, 02:38
цифровой музон чтоли? я подозреваю что у меня неправильная дешифрация идет. отсюда и мусорок иногда проскаккиваетне, музон обычный... насчет шума, он остается после музонов, когда к портам AY обращений уже нет -- больше похоже, что где-то буфер не обнуляется. у SMT такое было в первом варианте новой версии AY-либы.

Vitamin
18.05.2006, 09:55
насчет шума, он остается после музонов, когда к портам AY обращений уже нет -- больше похоже, что где-то буфер не обнуляется. у SMT такое было в первом варианте новой версии AY-либы.
я вывел в индикаторы канал шума, посему замечаю на некоторых программах, что уровень остается после того, как мелодия закончилась (столбик торчит). и еще наблюдаются шумы изза того, что самый нижний отдаваемый от АУ уровень достаточно высок. но непонятно тогда почему он меняется, раз шумы раздаются... надо будет протрассировать

fk0
18.05.2006, 16:01
Просьба протестировать сию поделку. Сообщать только об ошибках. Пока ничего добавляться нового не будет, поджимают сроки.

Перед запуском надо...

Установить X.org? :-(

Vitamin
18.05.2006, 16:53
Установить X.org? :-(
Ну у кого как %) можно текстовый режим эмулировать в графическом. а вот графический в текстовом... %)

Sinus
18.05.2006, 19:58
boo_boo
у нас появились конкуренты ? ;)

зы. кста скоро будет аффигитительный мега апдейт.

Vitamin
молодец! больше эмулей, хороших и разных.

Vitamin
18.05.2006, 20:22
boo_boo
у нас появились конкуренты ?

никакой конкуренции. просто сижу тут, примус починяю, никого не трогаю %)



молодец! больше эмулей, хороших и разных.
угу! см.выше про конкуренцию %)

boo_boo
18.05.2006, 22:09
у нас появились конкуренты ? ;)
милостью божией! ,)


зы. кста скоро будет аффигитительный мега апдейт.
ооо, неужто дизасм заюзаешь? ;)

fk0
19.05.2006, 14:42
Сообщение от fk0
Установить X.org? :-(

Ну у кого как %) можно текстовый режим эмулировать в графическом. а вот графический в текстовом... %)

У меня XFree 4.3.0. И пока X.org в дебиан не появится мне заниматься сексом с еего установкой нет никакого желания.

boo_boo
20.05.2006, 04:49
У меня XFree 4.3.0. И пока X.org в дебиан не появится мне заниматься сексом с еего установкой нет никакого желания.а причем тут X.Org? ты бинарник сабжевого эмуля пытаешься запустить? не прокатит с вероятностью 90% даже с xorg'ом, собирай из сорцов ;)

Vitamin
21.05.2006, 02:46
Новая версия:
+загрузка sna48
+загрузка scl
+списывание sna128 (f2)
+загрузка раскладки клавиатуры
+загрузка палитр
*переделан немного АУ
+джойстик
+скриншоты в бмп (f8)

Vitamin
05.07.2006, 21:16
Удалил все предыдущие вложения в этой ветке, посему кидаю наисвежайшую версию с чистой совестью %)

Пришлось пережать в рар с потерей информации по правам доступа...

Vitamin
04.09.2006, 16:14
Ура! Я это сделал! Первый (по крайней мере, из известных мне) эмулятор, поддерживающий DMA Ultra Sound Card!!! Эмуляция не полная (поддержаны только целевые режимы ПДП и таймеров, а также нет системы прерываний), но вполне работает переделанный под него ProDigi. Кто переплюнет? :)
Эмуляция ресурсоемкая, первая пробная версия жутко тормозила на athlon1700, сейчас жрет 50% ресурсов (немного больше чем обычно, учитывая вывод звука через ALSA).

CityAceE
05.09.2006, 01:39
Удалил все предыдущие вложения в этой ветке, посему кидаю наисвежайшую версию с чистой совестью %)
Лучше удали и это вложение и помести его в свой самый первый пост этой темы. Там его будет гораздо проще найти. За одно можешь первый пост поправить, дописав в него все доработки.

sysop
05.09.2006, 10:44
со страшной силой пытаюсь собрать эмулятор:
- сначала 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

sysop
05.09.2006, 11:54
man aclocal
man autoconf
man automake

эх, неа, все равно тамже вылетает, давайте-ка уж поподробнее плиз

Q-Master
05.09.2006, 14:09
Ну и где вложение?

boo_boo
05.09.2006, 15:02
со страшной силой пытаюсь собрать эмулятор:
- сначала 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 по запросу о библиотеках(если эта информация вообще используется).

Vitamin
05.09.2006, 18:47
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
-разные мелкие переделки

sysop
06.09.2006, 06:33
[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
08.09.2006, 16:24
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
11.09.2006, 11:57
boo boo, что посоветуешь из емулятров и кросасмов для никсов?
сейчас юзаю fuse.. устраивает, но думаю может быть есть и лучще.

что можешь сказать о пакете z80asm? оно хоть както бзабельно вне своей среды?

про эмуляторы -- fuse глючен. у меня не раз подвисал в нестандартных ситуациях. и эмуляция ВГ там кривая, да и z80 не идеальная, ULA тоже так себе.
я юзаю ZEmu (что неудивительно ;) ). z80, ВГ и ULA(пентагон) на высоте. но он без отладчика и не работает с tap/tzx.
сабжевый ZXLin всерьез не испытывал, но в целом -- хороший универсальный эмуль, заточенный под любителей GUI.

остальные юниксовые эмули -- фигня...

про асмы -- z80asm не пробовал. юзаю SjASMPlus и вполне доволен. WLA DX еще, кажется, был весьма ничего, но там нет встроенной поддержки спековских образов дисков/ленты и тп специфики (что лечится дополнительными скриптами/утилитами)

Sinus
16.09.2006, 19:33
уффф... немного отошёл от работы ;)


но он без отладчика
потихонечку добавляю. внешне напоминает STS


и не работает с tap/tzx
.. а оно надо? в принципе можно будет добавить.

кста, если есть время (ибо я ухожу из дома в 09:30 и прихожу в 23:30), посмотри демку Anamnesis на ZEmu. у мну не работает ;) есть идеи почему?
(прада для того чтоб запустить на анриле надо тоже долго плясать с бубном, но всё таки в анриле работает)

Vitamin
звиняй что в твоей теме про оффтопик распрягаю, но действительно нет тайму, я так, на 15 секунд на форум залез и все.

boo_boo
17.09.2006, 00:21
.. а оно надо? в принципе можно будет добавить.

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


кста, если есть время (ибо я ухожу из дома в 09:30 и прихожу в 23:30), посмотри демку Anamnesis на ZEmu. у мну не работает ;) есть идеи почему?

уххх.. будет отладчик -- разберемся ))

йоу ;)

boo_boo
10.11.2006, 12:20
2 vitamin:
нее, сборка zxlin это не просто ужас, а ужас-ужас-ужас. уж хрен с тем, что в изначальном виде даже configure не работает, но вот где options.h? ага, его надо ручками генерить из options.ui посредством uic...
а потом еще делать из него options.h.moc
также надо ручками включать эксепшены, прописывать недостающие либы.. и тп

что-то, видимо, я сделал не так (а как надо?) -- эмуль запускается, но не реагирует на клавиши, кроме F1-F12, причем при нажатии F1 вылетает в сегфаулт.

подозреваю, большинство народу, пытавшегося скомпилить сабж, просто забило на это дело после нескольких десятков минут извращенного секса :(

Vitamin
11.11.2006, 00:35
Сей ужас был сгенерен мастером кдевелопа :)
Сейчас потихоньку вручную переписываю все автомаки и прочая. Есть проблемы с двухшаговой компиляцией пользовательского интерфейса... Пока не разобрался до конца как ее победить.

boo_boo
11.11.2006, 16:51
Сей ужас был сгенерен мастером кдевелопа :)
Сейчас потихоньку вручную переписываю все автомаки и прочая. Есть проблемы с двухшаговой компиляцией пользовательского интерфейса... Пока не разобрался до конца как ее победить.
что именно, генерация moc-файла?
я писал авто* к qt-шной программе, могу глянуть, как там было :)