PDA

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



Страницы : [1] 2 3

Sinus
15.02.2006, 11:54
Как собрать последнюю стабильную версию эмулятора?

1) запустить из-под рута (или без рута, но через sudo):



Debian/Ubuntu: apt-get install make gcc git-core cmake libsdl-dev ruby-full
Gentoo: emerge -nv make gcc git cmake libsdl ruby
Suse: sudo zypper install ruby libsdl-dev


всё остальное уже без рута:

2) скачать http://detstwo.com/pub/zemu/zemu-0.99945-src.tar.gz
и куда-нибудь распаковать

3) войти в только-что распакованную папку (zemu-dist), и выполнить там
./build.sh

4) если нет ошибок, то эмуль собран и лежит в zemu-dist/result

----

Стабильные версии и бинари для Windows всегда можно скачать с http://detstwo.com/pub/zemu/
Желающих быть "на острие" приглашаю на https://github.com/mkoloberdin/zemu

----

Список людей, засветившихся в разработке (код, графика), в алфавитном порядке:

boo_boo
breeze
Doctor Max
Eltaron (winmobile version)
mastermind
Q-Master
restorer (аки sinus)
SMT

Striker
15.02.2006, 11:57
Славка, ты бы лучше написал на жабе прогу для мобилы, что б Ay - музаки слухать :)

Sinus
15.02.2006, 12:01
непонтово.
я вон лучше на PocketPC сделаю нормальный AyPlayer, ибо там нормальный C есть
(причём даже вполне себе GCC)

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

SMT
15.02.2006, 12:41
типа

void wd1793_set_nodelay(int nodelay)

Sinus
15.02.2006, 13:00
о! блин! ну я и слепой. сразу не заметил.
сенькс.
к вечеру попытаюсь выложить бету.

breeze
15.02.2006, 13:01
зы. хочу поругаться на e-mage и condommed.


LD A,#1D
OUT (#FD),A

это когда мультиколеры. :mad: кто так память переключает???

забыл ? :eek: это же школа RST7! :mad: оттуда и взято ;)

а так рулез! даёшь нормальный емуль под UNIX! :sleep:

Sinus
15.02.2006, 13:03
кста, бриз, попробуй (когда выложу) собрать под бздой.
вроде проблем быть не должно.
(у тя есть SDL и SDL dev ?)

зы. самое прикольное что и Satisfaction и Insult работали и до фикса.
видимо RST#7 делал чукта по-другому



LD A,#1D+#40 ; тогда A14 будет установлен
OUT (#FD),A

breeze
15.02.2006, 13:04
кста, бриз, попробуй (когда выложу) собрать под бздой.
вроде проблем быть не должно.
(у тя есть SDL и SDL dev ?)

SDL точно есть :) DEV тож при желании найдём ;) :eek:
можешь на мыло кинуть для теста :rolleyes:

Sinus
15.02.2006, 13:06
ну я сейчас на работе, а эмуль то дома.
вечером и кину. сюда.

Sinus
16.02.2006, 03:27
короче вот оно.
ридми в архиве.
это естессно tar.gz а никакой не zip.
необходим SDL (как dev так и он сам ^_~)

по сравнению с альфой (сюда не выкладывал) эмуль стал существенно тормознее (раза в 4) (зато гораздо читабельнее и приятней в программинге), по-этому для нормальной работы ниже 800mhz не рекомендуется.

фз. может возьмусь за дикий оптимайз. но тогда не так наглядно будет.
если у кого слабенькая тачка, вы скажите, я тогда старую версию выложу (ей 200mhz должно хватит по уши)

жду отзывов и предложений.

boo_boo
16.02.2006, 04:41
короче вот оно.
агаааа, и вправду работает :)
однако, музыка заметно отстает -- буфер уж очень здоровый :rolleyes:
ну эт фигня. а вот чего действительно очень не хватает, чтобы толком эмуль потестировать -- опций командной строки и поддержки инсталляции в системные директории: каждый раз идти в каталог с эмулем, прописывать в конфиге имя диска, а потом делать "./zemu" -- геморрой страшный :( .

ЗЫ а чего у тебя билдится все так мрачно? compile.sh какие-то, файлы от либ раскиданы в 2х местах, и все cpp инклюдятся в один главный? O__o

Sinus
16.02.2006, 12:49
агаааа, и вправду работает :)
однако, музыка заметно отстает -- буфер уж очень здоровый :rolleyes:

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



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

согласен. будет.


и поддержки инсталляции в системные директории: каждый раз идти в каталог с эмулем, прописывать в конфиге имя диска, а потом делать "./zemu" -- геморрой страшный :( .

терпеть ненавижу стандартное юниксовое расположение файлов.
я даже сам линукс перекомпиливал для моей великой цели: каждый т.н. пакет в своей папке. типа /opt/x11 , /opt/coreutils , /opt/gcc
вот. и я считаю что это правильно.

а чтоб не делать "./zemu" могу посоветовать юзать миднайт командир :p


ЗЫ а чего у тебя билдится все так мрачно? compile.sh какие-то,

потому что compile.sh мне понятней чем makefile ;)


файлы от либ раскиданы в 2х местах,

зато либа и h-ник к ней в своей папочке


и все cpp инклюдятся в один главный? O__o

ночь... спать хотелось...
переделаю в первую очередь.

boo_boo
16.02.2006, 13:12
терпеть ненавижу стандартное юниксовое расположение файлов.
я даже сам линукс перекомпиливал для моей великой цели: каждый т.н. пакет в своей папке. типа /opt/x11 , /opt/coreutils , /opt/gcc
вот. и я считаю что это правильно. а чтоб не делать "./zemu" могу посоветовать юзать миднайт командироригинально %) не, альтернативное мироощущение -- это круто, но поддержку инсталляции по стандартам можно ведь сделать, одно другому не мешает? я сам могу сделать, если тебе претит ;) отмазка про mc не катит -- все равно переться в каталог с эмулем; если каждую программу так запускать, то и времени больше ни на что не останется... разве что юзать всякие маздайные КДЕ с их ярлычками и прочую гуйню.
или понаписать идиотических шелл-скриптов для консоли/mc. так или иначе геморрой, и командная строка в пролете, это не гут! :(


потому что compile.sh мне понятней чем makefile ;)
ни целей, ни зависимостей, ни простоты настройки билда.. когда эмуль разрастется, это дело боком станет... впрочем, мейкфайлы написать никогда не поздно :rolleyes:

SMT
16.02.2006, 13:37
в либе для z80 объявление unsigned типов для MSVC должно быть как unsinged __int16, unsigned __int8, unsigned __int32. слово signed тоже есть, оно обычно не даёт никакого эффекта, кроме signed char - есть опция комстроки, которая все просто char делает unsigned

Sinus
16.02.2006, 13:38
оригинально %) не, альтернативное мироощущение -- это круто, но поддержку инсталляции по стандартам можно ведь сделать, одно другому не мешает? я сам могу сделать, если тебе претит ;)

претит ;) если хош - сделай.
помещу в основную ветку разработки ;)


отмазка про mc не катит -- все равно переться в каталог с эмулем;

фз. я неудобств не замечал (или я просто привык?)


если каждую программу так запускать, то и времени больше ни на что не останется... разве что юзать всякие маздайные КДЕ с их ярлычками и прочую гуйню.

ой... гуй... на суй ;)
сам юзаю IceWM - рулез фарева.

а вообще выбор диска будет в самом эмуле, так что не надо будет конфиги править.


или понаписать идиотических шелл-скриптов для консоли/mc. так или иначе геморрой, и командная строка в пролете, это не гут! :(

фанат коммандной строки?
фз. я могу только в коммандире каком-нить, ибо есть много всякого файла копировать, то шелл сосёт ;)


ни целей, ни зависимостей, ни простоты настройки билда.. когда эмуль разрастется, это дело боком станет... впрочем, мейкфайлы написать никогда не поздно :rolleyes:

а тут цель одна- получить эмуль.
и настраивать нечего.
вот так :p

если припрёт- напишу.

Sinus
16.02.2006, 14:03
в либе для z80 объявление unsigned типов для MSVC должно быть как unsinged __int16, unsigned __int8, unsigned __int32. слово signed тоже есть, оно обычно не даёт никакого эффекта, кроме signed char - есть опция комстроки, которая все просто char делает unsigned

эт к boo_boo скорее.
вот... типа такого:



typedef unsigned __int8 Z80EX_BYTE;
typedef signed char Z80EX_SIGNED_BYTE;
typedef unsigned __int16 Z80EX_WORD;
typedef unsigned __int32 Z80EX_DWORD;

SMT
16.02.2006, 14:10
точно!

boo_boo
16.02.2006, 18:22
в либе для z80 объявление unsigned типов для MSVC должно быть как unsinged __int16, unsigned __int8, unsigned __int32. слово signed тоже есть, оно обычно не даёт никакого эффекта, кроме signed char - есть опция комстроки, которая все просто char делает unsignedпасиб, пофиксил у себя :)

boo_boo
16.02.2006, 18:31
претит ;) если хош - сделай.
помещу в основную ветку разработки ;)
оке, займусь прямщаз


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


фанат коммандной строки?
фз. я могу только в коммандире каком-нить, ибо есть много всякого файла копировать, то шелл сосёт ;)
не, копирую я тоже в mc. а на большую часть остального - Ctrl-o ;) а вообще непонятно, как ты запускаешь эмуль+диск? (предположим, что ком. строка есть) -- каталог с эмулем в одну панель, каталог с файлом в другую, и лепишь строку запуска с полным путем к файлу? или все же мутишь шелл-скрипт? я с глюкалкой в былые времена скриптом справлялся, но в итоге решил, что проще влезть в сорцы, и сделать нормально

boo_boo
16.02.2006, 18:35
а тут цель одна- получить эмуль.
и настраивать нечего.
вот так :pыыыы, не, я не понимаю как можно жить как минимум без make clean и make dist, неужто все руками или скриптами? %)

Sinus
16.02.2006, 19:13
твоя юность часом не в досе прошла? если да, то ничего странного, там привыкаешь чесать левой пяткой правую подмышку ;)


только есть TR-DOS можно назвать досом ;)
пэцэт у мну совсем недавно появился. (правдя есть ещё амига, но это святое ;) )


не, копирую я тоже в mc. а на большую часть остального - Ctrl-o ;) а вообще непонятно, как ты запускаешь эмуль+диск? (предположим, что ком. строка есть) -- каталог с эмулем в одну панель, каталог с файлом в другую, и лепишь строку запуска с полным путем к файлу?

копирую файл в панельку с эмулём, смотрю, потом стираю.
или если совсем что-то часто юзаю, то пропишу в ext-файл в mc.

boo_boo
16.02.2006, 19:40
копирую файл в панельку с эмулём, смотрю, потом стираю.
или если совсем что-то часто юзаю, то пропишу в ext-файл в mc.маньячество :)

.. вот приделал инсталляшку, тяп-ляп, ну да ты отредактируешь, как больше нравится ;)

а) конфиги сперва ищутся в ~/.zemu/ (ибо каждый пользователь системы ИМХО имеет право на личный конфиг), после -- в текущей директории.
бе) если вместо compile.sh запустить от рута суперинтеллектуальный скрипт build_and_install.sh, то ромы и бинарник будут скопированы после компиляции в "подобающее место"(тм), и искаться ромы будут там же.

места своего вмешательства я пометил коментами со словом boo-boo.

Sinus
16.02.2006, 19:53
ыыыы, не, я не понимаю как можно жить как минимум без make clean и make dist, неужто все руками или скриптами? %)
а при компиле скриптом не создаётся левых *.o и прочей фигни.
по этому make clean наф не нужен ^_~
а make dist.. я сам запакую в tar.gz

boo_boo
16.02.2006, 19:57
а при компиле скриптом не создаётся левых *.o и прочей фигни.
по этому make clean наф не нужен ^_~
ачтотакое make dist ? ну да, фигни не создается, если все в один файл упихать ;)
make dist -- сделать дистрибутив, ну типа создать tar.gz с именем (и соотв. подкаталогом), содержащим версию, и всем что нужно внутри.

например в z80ex у мя 4 таргета -- shared, static, clean и dist.

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

Sinus
16.02.2006, 20:14
маньячество :)
.. вот приделал инсталляшку, тяп-ляп, ну да ты отредактируешь, как больше нравится ;)

ну да. есть пару идей. сейчас пойду домой, буду доделывать.



а) конфиги сперва ищутся в ~/.zemu/ (ибо каждый пользователь системы ИМХО имеет право на личный конфиг), после -- в текущей директории.


согласен.



бе) если вместо compile.sh запустить от рута суперинтеллектуальный скрипт build_and_install.sh, то ромы и бинарник будут скопированы после компиляции в "подобающее место"(тм), и искаться ромы будут там же.


только лучше путь к ромам всё же в каком-нибудь файле хранить.
бинарь должен быть максимально независимым от расположения файлов и максимально конфигурабельным.



места своего вмешательства я пометил коментами со словом boo-boo.
так как чувствую ещё пару недель (пока не доделаем или пока не заколебёт) работа предстоит плотная, давай так:

я - [rst]
ты - [boo]

т.е. в квадратных скобочках, а то у тя то с минусом, то через подчёркивание, поиском плохо искать ;)

зы. в новом билде так же вставлю обновлённый зетник и пофикшеный sndrender (там вроде что-то не обнулялось)

и если успею, то на корню переделаю ULA. ибо так как сейчас очень тормозно. можно сделать в раз 7 быстрее. и нужно ^_~

Sinus
16.02.2006, 20:18
#ifdef OFFTOPIC

кста давно хотел спросить, откуда аватарка?
так нашёл где или из анимехи (какой хотелось бы знать?) выдрал?

#endif

boo_boo
16.02.2006, 20:33
только лучше путь к ромам всё же в каком-нибудь файле хранить.
бинарь должен быть максимально независимым от расположения файлов и максимально конфигурабельным. вообщем да, в конфиг всобачить -- милое дело.


так как чувствую ещё пару недель (пока не доделаем или пока не заколебёт) работа предстоит плотная, давай так:

я - [rst]
ты - [boo]
ок

boo_boo
16.02.2006, 20:34
кста давно хотел спросить, откуда аватарка?
так нашёл где или из анимехи (какой хотелось бы знать?) выдрал?из "pita ten", розово-мармеладное такое каваище :)

Электрик
16.02.2006, 23:39
offtop on

кстати интересно, почему среди спектрумистов столько анимешников? :rolleyes:

offtop off

Sinus
17.02.2006, 12:08
#idef OFFTOPIC

Электрик: а фиг его знает.
но давай не засорять сильно тему. если хош пообсуждать аниме- добро пожаловать в личку.

#endif

boo_boo: новую бету выложить не успел (засмотрелся Genshiken-вещь для отаку), но вот что изменилось:

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

pckey1 pckey2 ... pckeyx = zxkey1 zxkey2 ... zxkeyx

то есть можно допустим чтоб ";" (Ж) было точка с запятой, а если с шифтом ":" - то будет двоеточие. рулязь ;)

пока всё. в понедельник подставлю новую зетку и пофикшеный аюгрик и если успею, то заоптимаюзю ULA.

ыщё сделаю файл-бровсер, чтоб имаджи подгружать и записывать.
и ещё 512кб хочу ^_~

тогда будет щасце и можно будет засесть на пару дней за правильную и конфигуримую улу.

boo_boo
17.02.2006, 13:28
изменилась структура файла keys.config, типа:

pckey1 pckey2 ... pckeyx = zxkey1 zxkey2 ... zxkeyx
рулезЪ )
а я думаю прикрутить загрузку/запись снепшотов... оно мне надо -- зетник тестировать. да, а можешь максимальную скорость вынести в конфиг а еще, хорошо бы, на какую-нибудь кнопку?

Sinus
17.02.2006, 13:35
эээ.. в смысле "макс скорость вынести в конфиг" - это изменить кнопарь что-ли или коеффициент максимальности?
если коефф. - то никак. оно иманно max, а не турбо.
а кнопари так конечно, сам хочу (я привык к numlock как в анриле ;) )

boo_boo
17.02.2006, 14:37
а кнопари так конечно, сам хочу (я привык к numlock как в анриле ;) )ну да, как в анриле :)

boo_boo
18.02.2006, 01:46
написал вот загрузчик z80 снапшотов. должон грузить файлы всех "стандартных" версий (те 16k, 48k и 128k версий 1,2,3)

ЗЫ. а ты инфу по уле откуда брал?

breeze
18.02.2006, 02:05
Ну что господа :eek:

После продолжительных боёв с компилятрами, сдлами , но с помощью матюгов и Pilot'а^FBN (за что ему огромное спасибо) нам таки удалось собрать сие чудо под FreeBSD 6 !!!! :eek:

http://fishb0ne.com/trashcan/scrshot2.jpg

Правда не без переделки некоторых кусков! кое чего переделали в сорцах (чуть) и в скриптах!!!! о как!

результат: как видно из скриншота мой P3 1200 не сильно нагружен ~43 - 48% однако! с умуляциаей траблы :( сбивается переодически синхронизация то у AY, то у видео :( но в целом не может не радовать что оно хоть запустилось !!!!!!! :rolleyes: Мультиколор в CONDOMMED RULIT! :sleep:

boo_boo
18.02.2006, 03:33
2breeze: а что, интересно, переделывать пришлось? вроде и компиляторы, и SDL на фре и на линухе одни и те же...

2Sinus: подправил грузилку z80 кое-где...

breeze
18.02.2006, 16:11
2breeze: а что, интересно, переделывать пришлось?

сорцы WG'шки и AY'ка пришлось собирать gmake - обычный make сразу в гудок послал, при сборке main'а нехватала кое-каких либ в include и так мелочи в систаксисе!

Sinus
20.02.2006, 13:42
ууу... сцука нах!!! убил пол дня фикся мультиколер в Rage.
так до конца и не пофиксил.

в эпилохе.
или нормально работает та часть где экран как бы круглым становится (на борюре)
или все остальные (прямоуголюник увел. до размера экрана на бордюре и мега часть с радиальными полосками).

такое ощущение что в части в "круглым скрином" добавляются тактов 80 где-то.
boo_boo, перепроверь плиз растактовки. может где описался?

самое абынное что даже в грёбанном фусе всё работает.
я ещё сегодня потуплю.

----

из хорошего: запись/загрузка *.z80 (пока только snap.z80), коммандная строка.

Sinus
20.02.2006, 13:43
breeze: так ты это, всё что исправлял для компайла под бздой, выложи.
включу в ветку.



однако! с умуляциаей траблы сбивается переодически синхронизация то у AY, то у видео
эээ... в смысле? звук прерывается или что?
а с видео оно вообще не может никакую синхру порвать. чисто принципиально.

boo_boo
20.02.2006, 16:07
такое ощущение что в части в "круглым скрином" добавляются тактов 80 где-то.
boo_boo, перепроверь плиз растактовки. может где описался?все может быть... а какие опкоды проверять, как там переброска/задержки сделаны?

breeze
20.02.2006, 21:33
breeze: так ты это, всё что исправлял для компайла под бздой, выложи.
включу в ветку.
эээ... в смысле? звук прерывается или что?
а с видео оно вообще не может никакую синхру порвать. чисто принципиально.

вот было бы очень не плохо что б ты зашел и глянул сам ;) может чего походу и подправили...

Sinus
20.02.2006, 23:07
все может быть... а какие опкоды проверять, как там переброска/задержки сделаны?
да там дофига всего ;) если есть виндофс под руками, посмотри там. а то я перешёл на 64bit архитектуру, так винда работать перестала :mad:

а линуха ничё так, сразу поднялась :p

наверное наваяю ещё и отладчик простенький, чтоб баги было лучше рассматривать (в ядре z80 конечно ;) )

boo_boo
21.02.2006, 05:41
да там дофига всего ;) если есть виндофс под руками, посмотри там. огосподи... лана, попробую в emuzwin под qemu потыркать ;) ... подробности давай -- какая часть какой демы?

Sinus
21.02.2006, 12:04
я ж писал- дема Rage от X-Trade.
там есть 3 решающих мультиколорных части, в самом конце.
типа идёт там демка, потом часть когда на экране картинка мультиколерная крутится, а внизу на бордюре скролл. вот короче когда там свинья будет крутиться, будет чёрный экран затем красный бордер и...

1) экран типа становится круглым. извраты на бордюре
2) экран типа ... увеличивается (тож на бордюре)
3) от центра экрана к краям идут чветные лучи (и на бордюре конечно тоже ^_~)

так вот, как ни крути тайминги, работает либо (1) либо (2) и (3).

давай я сегодня вечером тестовый релиз соберу и со снапшотом в нужном месте выложу. сам и посмотришь.

boo_boo
21.02.2006, 13:45
давай я сегодня вечером тестовый релиз соберу и со снапшотом в нужном месте выложу. сам и посмотришь. давай. а в анриле эта штука работает как надо, угу? а в фузе?

Sinus
21.02.2006, 15:03
в анриле работает.
в фусе фигово, но хоть одинаково фигово во всех частях.

так что у нас глюк ;)
или это я что-то не могу догнать, или тайминги глючат.
в ощем посмотришь, разберёшься.

Sinus
22.02.2006, 03:45
Итак, новая версия.
Описание изменений в файле readme.txt
зы. там ещё не написано, что можно параметром коммандной строки дать ему образ диска или хобету или снапшот (z80) и эмуль его загрузит

F9 - Load snapshot
F10 - Save snapshot
F11 - Max speed
F12 - Reset

F5-F8 - For internal use

boo-boo
а ещё там лежит snap.z80
загрузишь его, посмотришь на эффект (1)
далее когда будет эффект (2) и порвёт синхру, нажми F2.

в ощем F1- INT для эффекта (1)
F2 - для (2) и (3)

разница между ними ровно 80 тактов ;)

я ещё поколупаю, но может ты быстрее догадаешься (и к тому же у мну сейчас на работе прогруз нехилый)

boo_boo
22.02.2006, 15:02
Итак, новая версия.ты либы забыл в тарболл положить ,)
z80ex ИМХО не обязательно класть, можно ссыль дать в ридмях, и пусть народ сам ставит, а вот вг-шку взять особо неоткуда. и ромы -- их можно отдельным архивом.
а еще написать в ридмях, что конфиг надо в ~/.zemu класть.

Sinus
22.02.2006, 15:09
это я чисто для тебя выложил.

и кста z80ex я тоже буду прикладывать, ибо на сорсфорже может чё-нить изменится, а та версия которую я приложу 100% работает.

ты другое скажи, глюк видел?

зы. и кста, так как теперь абсолютно всё конфигурится из конфига, может тогда не в ~/.zemu/config.xml класть, а просто ~/.zemu_config.xml ? нэ ?

хотя с другой стороны юзер может хранить в директории ромы и диск-имаги.

boo_boo
22.02.2006, 15:48
ты другое скажи, глюк видел?

зы. и кста, так как теперь абсолютно всё конфигурится из конфига, может тогда не в ~/.zemu/config.xml класть, а просто ~/.zemu_config.xml ? нэ ? как же, знатный глюк :) прошерстю тайминги сегодня-завтра. насчет конфига ИМХО директория лучше, тк файла все же два -- сам конфиг и кнопки.

Sinus
22.02.2006, 15:50
как же, знатный глюк :) прошерстю тайминги сегодня-завтра.
ок.


насчет конфига ИМХО директория лучше, тк файла все же два -- сам конфиг и кнопки.
путь к keys.config тоже в конфиге задаётся :p
но я тоже тут подумал что директория лучше будет.

boo_boo
22.02.2006, 17:39
мдя. в доке, с которой брал тайминги, глюк оказался -- все инстхрюкции с половинками IX/IY там по 9 тактов %)
вот исправленная либа, попробуй с ней.

Sinus
23.02.2006, 04:53
уря! оно заработало!

boo_boo:
короче всё правильно, за исключением того что LD regL,nn и LD regH,nn по 11 тактов, а не по 8 ;)

вощем в новой версии довольно дофига всего добавилось.
теперь им даже можно пользоваться для просмотра демок ^_~

постарался всё описать в ридми.

зы. вроде бы несмотря на навороты, ускорил в 2 раза. ... или это меня плющит? ...

boo_boo
23.02.2006, 18:03
короче всё правильно, за исключением того что LD regL,nn и LD regH,nn по 11 тактов, а не по 8 ;) хе-хе, фенкс, я аутист, тормоз и search-n-replace addict %)
а то, что у шифта t=0 это так и задумано.


зы. вроде бы несмотря на навороты, ускорил в 2 раза. ... или это меня плющит? ... действительно в 2 раза быстрее :)
селектор файлов оч. милый :)

ЗЫ думаю в следующей версии z80ex добавить дизасм -- плохо без него...

ЗЗЫ а без спикера скушно... всобачить, что ли? ;)

Sinus
23.02.2006, 18:10
селектор файлов оч. милый :)
kawaii ^_~


ЗЫ думаю в следующей версии z80ex добавить дизасм -- плохо без него...
ага. я тоже так думаю.
вот полезность inline asm-a ещё можно обсудить, а дизасм надо добавить (благо делается просто)


ЗЗЫ а без спикера скушно... всобачить, что ли? ;)
наверное стоит.

---------------------------------------

сейчас я вижу два трабла:

1) если много звуковых устройств, то как там всякие буферы юзать? как миксить?

2) порты памяти надо чтоб из конфига брались

------------------

если есть что предложить по звуку, предложи.

а я пока займусь доапгрейдживанием файл-селектора и дизасмом (хочу на STS чутка похожим сделать).

boo_boo
23.02.2006, 18:51
насчет портов из конфига -- я над этим думал, и в результате додумался до офигительно универсальной схемы... основанной на вычислении выражений, состоящих из сигналов проца и битовой логики. плюс группы страниц произвольного размера с z-уровнями в менеджере памяти. в принципе вполне реализуемо, и любая модель памяти, включая кэш и атм-овские изыски, на это ложится, но ИМХО перемудрил :)

звук -- или юзать SDL-mixer, или руками, несложно совсем... надо только выловить глюк с опустошением буфера. гляну на досуге...

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

Sinus
23.02.2006, 19:11
трабл скорее не в том чтоб миксить, а вот в чем: аюгрик ложится в буфер. бипер тоже ложится в буфер. этот же буфер играется.
или делать 3 буфера (на бипер, аюгрик и тот который играется) = тормоза
или как-то с одним мутить

Titus
23.02.2006, 19:35
Предлагаю переименовать тему в "За стеклом 4: Личная переписка Синуса и Бу-Бу о повседневных буднях эмуляторописателей" ;)

SMT
23.02.2006, 20:44
трабл скорее не в том чтоб миксить, а вот в чем: аюгрик ложится в буфер. бипер тоже ложится в буфер. этот же буфер играется
если смогёте разобраться, зачем в SNDRENDER есть режим SND_EXTERNAL_BUFFER, то хороший бипер можно сделать в тот же буфер, что AY, тем же движком ;-)

boo_boo
25.02.2006, 05:31
Предлагаю переименовать тему в "За стеклом 4: Личная переписка Синуса и Бу-Бу о повседневных буднях эмуляторописателей" ;) жестко :)

boo_boo
25.02.2006, 05:40
полдня провозился, пытаясь заставить zemu нормально звучать (без чудовищного лага и спотыкательств). ни фига не вышло -- сначала грешил на лажовый (гранулярность ~10ms) SDL_Delay, потом на глюки в заполнении кольцевого буфера... подозреваю, что главный глюк -- аудиоподсистема SDL с ее муторным колбэком заполнения буфера. возможно, если аудио сделать отдельным потоком, поможет?..

к слову, fuse, который можно собрать с SDL-звуком, лагает поменьше, но в некоторых демках трещит и грузит проц на 100%. причем с драйвером по умолчанию ничего такого не делает.

breeze
25.02.2006, 17:42
полдня провозился, пытаясь заставить zemu нормально звучать

скажу по секрету, мне SDL сразу не понравился :rolleyes:

boo_boo
25.02.2006, 17:53
скажу по секрету, мне SDL сразу не понравился :rolleyes:ну, графические феньки там вполне на уровне. а вот остальное слишком уж заточено под написание игрулек -__-

Sinus
27.02.2006, 04:13
переделал звук.
разница между более старыми версиями и этой хорошо заметна на приложеном снапшоте.

есть и плохие фишки. оказывается Unreal (by KSA) работало только благодоря глюкам в коде ;) - надо фиксить.

и ещё. так как вчера я приехал с общебеларусской анимки и привёз много вкусненького аниме, новая версия может появится относительно не скоро ;)

ps. если типа звука нет, а в динамиках что-то щёлкает, то типа всё так задумано, скоро пофикшу :cool:

boo_boo
27.02.2006, 13:23
ИМХО звук много лучше не стал: лаг поменьше (но все равно заметный), зато заикается, это на плавных звуках видно (посмотри "бздям" в буте приложенном)... может, SDL-аудио просто надо уметь правильно пользоваться, но, подозреваю, он просто не подходит для эмуляторских нужд -- во всех эмуляторах с хорошим звуком, даже юзающих SDL для графики, звук сделан через нативные интерфейсы. при этом, конечно, портабельность теряется... но если она нужна, можно попробовать portaudio -- он спроектирован с расчетом на музыкальные программы, то есть на нормальную и предсказуемую синхронизацию..

маленький баг: если для диска А в конфиге прописан несуществующий путь, по f3 выбрать файл нельзя.

оффтоп: а что за вкусненькое аниме? :rolleyes:

Sinus
27.02.2006, 13:38
ИМХО звук много лучше не стал: лаг поменьше (но все равно заметный),

да ну наф! лаг стал аффигительно поменьше!


зато заикается, это на плавных звуках видно (посмотри "бздям" в буте приложенном)...

хм. приду домой- посмотрю.


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

короче фз. у мну ничего нигде не затыкается и не заикается.
можно конечно попробовать прямо в /dev/dsp лить. авось поможет.


маленький баг: если для диска А в конфиге прописан несуществующий путь, по f3 выбрать файл нельзя.

знаю. даже в ридми написано:
* пофиксить dirwork.cpp, а именно работу функции LevelUp (сейчас там есть малозаметные, но всё же крупные глюки)


оффтоп: а что за вкусненькое аниме? :rolleyes:

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

boo_boo
27.02.2006, 21:53
да ну наф! лаг стал аффигительно поменьше!стал, но все равно большой. запусти AY-версию batty, и пошпыняй мячик сначала в us или хоть во fuse, а потом в zemu ;)

Sinus
28.02.2006, 02:18
посмотрел бут. услышал только левые щелчки (буду разбираться). никаких завываний, заиканий и подвываний... что я не так делаю? ;)
а по поводу большого лага. ну попробую ещё уменьшить.
хотя как по мне (смотреть демки)- так вполне ;)

Sinus
28.02.2006, 02:23
#ifdef OFFTOPIC

а вот краткий список:

много манги
mindgame
trava
die buster ova 2
sentou yuosei yukikaze ova
ima ai ni yukimasu
kashou no tsuki
noien
to heart
honey & clover

и немного баянов:

bleach
twelve kingdoms
irresponsible capitan tylor ova

#endif

Sinus
05.03.2006, 03:14
итак, а вот и 0.04
абсолютно ничего нового за исключением звука ;)
протестте плиз!
а то я вот слушал этот бут через SDL, слушал через /dev/dsp, принёс на работу Unreal и слушал там.
не слышу ну никакой разницы (только что когда SDL иногда щелчки какие-то левые бывают)

Tee Hee Hee Hee Hee - su
^_~
(а я пошёл смотреть Pita Ten и ещё 200 гиг анимы... ааа! когда она закончится!!! чтоб за эмуль нормально взяться)

boo_boo
05.03.2006, 04:13
итак, а вот и 0.04
абсолютно ничего нового за исключением звука ;)
протестте плиз! о, клево! теперь если заменить wavplay.cpp на *см аттач*, выходит прям-таки рилтайм, с SDLским недозвуком не сравнить ;)

breeze
05.03.2006, 20:45
о, клево! теперь если заменить wavplay.cpp на *см аттач*, выходит прям-таки рилтайм, с SDLским недозвуком не сравнить ;)

Ну что!? почти мегарузл! :eek: Собрал я под FreeBSD бету2 :rolleyes: вещь! намного лучше чем было! однако в некоторых семплах проскакивает поскудное похрипование :o

если кому надо могу залить правленную версию под FreeBSD ;) я вообще хочу куррировать енту версию... :rolleyes:

Sinus
05.03.2006, 22:00
опаньки! половина пути к 0.1 уже пройдена ;)

boo_boo
заменил wavplay.cpp. вроде особо ничего не поменялось ^_~
можешь скинуть какой-нибудь софт где будет заметна разница между SDL-ным звуком и через /dev/dsp ? охота "прочувствовать" мощь нового фикса ;)

breeze
скидывай что ты там патчил.

зы. надо будет потом automake заюзать.

boo_boo
05.03.2006, 23:24
не поменялось, небось, потому, что в дровах для твоей звуковухи по умолчанию небольшие размер/кол-во фрагментов стоят. а у меня без этого лаг был здоровый.

..попытался бипер прикрутить, в тот же буфер, что и AY. прикрутил, вообщем-то, но с фичами -- 1) частота на слух чуть в стороне от нормальной, хз почему (хотя в игрульках и тп ничего не заметно, только если конкретно высоту бипов слушать). 2) SDL-звук с этой хренью не пашет ваапще :) наверно, какая-то мелочь, но у меня голова кругом идет от этих аудио-колбэков :rolleyes: в целом, кривовато звучит, но лучше чем ничего...
заодно еще чуть подправил wawplay -- явно выставляю 4 фрагмента размером во фрейм. у меня сейчас со всей этой дурью звук раздается СРАЗУ при нажатии на клавишу, без ощутимых задержек. (сравнить можно с глюкалкой).

вообщем вот, глянь. бипер я тупо влепил туда же где бордер, по-хорошему наверно его надо в какой-нить... как бишь вы, ООпщики это называете... КЛАСС :rolleyes:

ЗЫ имхо просто мейк проще юзать, чем автомейк )

boo_boo
05.03.2006, 23:35
а, вот еще -- мне в zemu оч не хватает нескольких простейших фишек:

- дописи бута к дискам
- флажка ком-строки для reset trdos при старте эмуля
- записи измененного диска (просто "диск изменен, записать? о-еее!/нафик")
- переключения в/из полного экрана по кнопке.
- пейдждовна в селекторе файлов

мне самому этим всем заняться, или подождать? в смысле, каждая фича в пару строчек кода, подозреваю что если ты все равно планируешь сделать что-то из этого, тебе будет проще самому написать, чем переделывать на свой манер то, что напишу я -- не ООПщик я, ни разу не ООПщик ;)

ЗЫ ой, пагедавн/пагеап появился! :)

SMT
06.03.2006, 08:19
попытался бипер прикрутить, в тот же буфер, что и AY. прикрутил, вообщем-то, но с фичами
послушай музыку типа Savage 1,2,3 или dizzy, и убедишься, что получилось большое гэ. (hint: надо завести 1 экземпляр объекта SNDRENDER чиста для бипера и пару переменных, на сколько байт заполнен буффер AY и на сколько - биперный. их брать из SNDRENDER/SNDCHIP)

boo_boo
06.03.2006, 23:31
послушай музыку типа Savage 1,2,3 или dizzy, и убедишься, что получилось большое гэ. (hint: надо завести 1 экземпляр объекта SNDRENDER чиста для бипера и пару переменных, на сколько байт заполнен буффер AY и на сколько - биперный. их брать из SNDRENDER/SNDCHIP)мда, что гэ, то гэ... а я думал легко отделаться, понадеявшись, что SNDCHIP выдает семплов ровно на фрейм :rolleyes:

boo_boo
07.03.2006, 03:50
оть, прикрутил к zemu спикер правильно, по заветам SMT :)

виндовости из wavplay.cpp выкинуты -- тк он малость поменялся, а протестировать я их не могу.

UPD. блин, опять лажа! минут пятнадцать все играет нормально, а потом начинает трещать -- очевидно, позиция чтения из буфера нагоняет позиции, по которым AY и спикер пишут данные. а какого черта она их нагоняет, когда я начинаю на фрейм раньше этих позиций, и беру ровно по фрейму семплов? и SNDRENDER тоже выдает в среднем фрейм. где-то я туплю -__-

SMT
07.03.2006, 07:48
очевидно, позиция чтения из буфера нагоняет позиции, по которым AY и спикер пишут данные. а какого черта она их нагоняет, когда я начинаю на фрейм раньше этих позиций, и беру ровно по фрейму семплов?не должно так быть, позиция апдейтится из переменной int64, которая считает сколько всего тактов проиграно от старта. возможно, end_frame для ay и beeper получает разные длины кадра

SMT
07.03.2006, 08:20
а, вижу в чем косяк, округление вот тут:
frameSamples = ((unsigned long)71680/*frame*/*44100/*sound freq*/) / 3500000 /*Z80 clock*/;
в каждом кадре надо выводить разное кол-во семплов (+-1), а не одинаковое

breeze
07.03.2006, 20:21
Предлагаю иконку к zemu :)

boo_boo
07.03.2006, 20:55
а, вижу в чем косяк, округление вот тут:
frameSamples = ((unsigned long)71680/*frame*/*44100/*sound freq*/) / 3500000 /*Z80 clock*/;
в каждом кадре надо выводить разное кол-во семплов (+-1), а не одинаковое блин, точно :) но теперь другая проблема вылезла, и вовсе странная -- все хорошо, проходит 15-20 минут, и спикер начинает заметно отставать от AY, дальше-больше... посмотрел на кол-во семплов: AY выдает в среднем 902.98, а спикер -- 903.03 семпла. юзаются SNDCHIP и SNDRENDER одинаково, кол-во тактов в end_frame тоже передается одинаковое ... O__o

boo_boo
07.03.2006, 21:36
Предлагаю иконку к zemu :) вау, клевая :)
Sinus, не хочешь сделать так, чтоб при запуске эмуля в уголке (на черном папере) появлялась иконка, и плавно исчезала? ;)

breeze
08.03.2006, 15:07
вау, клевая :)

я тут подумал :) может пора уже свою страничку сделать ? я тут даж десигн уже сфорганил ;) так сказать Offical Site - ZEMU


Sinus, не хочешь сделать так, чтоб при запуске эмуля в уголке (на черном папере) появлялась иконка, и плавно исчезала? ;)

я воот думаю уже можно и графику немного в емуле поменять ;) например вместо кубика синего и зелёного сделать - дискетку и лампочку турбо :) а когда будет hdd или cd соответсвенно из пиктограммы :)

boo_boo
09.03.2006, 03:01
вот, наконец-то спикер действительно прикручен, tnx, SMT! :) запутался уже где что менял в файлах, так что кидаю почти все.

Breeze: у тебя очень правильные мысли ИМХО :)

SMT
09.03.2006, 10:03
я только одного не понимаю - зачем все переменные/функции классов-устройств - static? так же нельзя поставить 2 ay-ка или типа того

Sinus
09.03.2006, 12:36
я только одного не понимаю - зачем все переменные/функции классов-устройств - static? так же нельзя поставить 2 ay-ка или типа того
ибо я переписывал с версии 0.01 где вообще не было классов ^_~
(а как известно указатели на не статические функции требуют лишних временных затрат (на написание обёрток), а мне было влом ^_~)
но это хорошая идея, надо переписать.

Sinus
09.03.2006, 12:38
вот, наконец-то спикер действительно прикручен, tnx, SMT! :) запутался уже где что менял в файлах, так что кидаю почти все.

оки доки! буду дома- заООПчу всё ;)
(и я так понимаю что под SDL-sound оно не работает? пофикшу тогда)

Sinus
09.03.2006, 12:40
я тут подумал :) может пора уже свою страничку сделать ? я тут даж десигн уже сфорганил ;) так сказать Offical Site - ZEMU

насчёт странички думаю подождать хотя бы версии 0.10 ;)


я воот думаю уже можно и графику немного в емуле поменять ;) например вместо кубика синего и зелёного сделать - дискетку и лампочку турбо :) а когда будет hdd или cd соответсвенно из пиктограммы :)
а вот графику хацю!
только дискетки надо 2- на запись (допустим синенькая) и на чтение (допустим красненькая). или таки пусть одна будет- что на запись, что на чтение?

boo_boo
09.03.2006, 12:45
оки доки! буду дома- заООПчу всё ;)
(и я так понимаю что под SDL-sound оно не работает? пофикшу тогда) не работает. то есть звуки раздаются, но фигоооовые :rolleyes:
подозреваю, чтоб с SDL-звуком что-то сносное вышло, надо выделить его в отдельный поток... и то не факт, что прокатит. впрочем, в эмуле AtariST "Hatari" как-то ухитрились его заюзать без особых глюков O__o

Sinus
09.03.2006, 12:51
SDL звук сам по себе и есть в отдельном потоке. он тильки callback вызывает.
ничаво, теперь вроде тайму свободного побольше стало, буду вкуривать.

(кста, SDL-ный метод с callback-ом более правильный, ибо так работает железо (есть два буффера на звуковухе, и когда один кончается, надо второй заполнить), только что в линухе (и в виднах наверное) и так уже обёртка написана, но допустим если на амигу портануть, так думаю SDL - самое то)

breeze
09.03.2006, 23:00
Ну вот как и обещал, нарисовал некоторые пиктограмки для емуля... правда 16x16 не получилось :( уж больно всё мелко... :mad: но вот 24x24 я думаю не сильно фатально...

http://www.fishb0ne.com/trashcan/zemu/floppy_read.gif чтение дискеты

http://www.fishb0ne.com/trashcan/zemu/floppy_write.gif соответственно запись ;)

http://www.fishb0ne.com/trashcan/zemu/hdd_read.gif чтение IDE

http://www.fishb0ne.com/trashcan/zemu/hdd_write.gif запись IDE

http://www.fishb0ne.com/trashcan/zemu/turbo_on.gif http://www.fishb0ne.com/trashcan/zemu/turbo_off.gif турба on/off

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

http://www.fishb0ne.com/trashcan/zemu/floppy.gif http://www.fishb0ne.com/trashcan/zemu/hdd.gif http://www.fishb0ne.com/trashcan/zemu/turbo_off.gif - а по необходимости уже зажигать какой-нибудь... :rolleyes:

breeze
10.03.2006, 01:11
насчёт странички думаю подождать хотя бы версии 0.10 ;)


можно конечно и подождать... :rolleyes:
но меня тут пробило на экшин :eek: так что я тут вот кое чего всё-таки набросал... :cool:

http://fishb0ne.com/zemu/templates/main.html

Sinus
10.03.2006, 11:27
недурственно. и даже совсем хорошо ;)

по поводу иконок: да, 24x24 как раз. вот 25x25 уже бы налазило на экран ;)
только я не буду делать анимацию иконок, просто будут мигать- это ведь типа точные индикаторы, когда зелёненький- значит стопудово чтение.

к воскресенью думаю выложу новый билд.
что там будет: иконки, работающий звук под SDL (думаю вообще переделать немного концепцию устройств которые выводят звук, чтоб меньще гемора было бы допустим GS добавить), запись trd-шников.

Sinus
10.03.2006, 11:33
зы. и ещё. SMT, ты тут?
можно ли как-нибудь просто узнать текущее состояние "дисковода" - запись, чтение или просто стоит?

boo_boo
10.03.2006, 14:03
зы. и ещё. SMT, ты тут?
можно ли как-нибудь просто узнать текущее состояние "дисковода" - запись, чтение или просто стоит? я не SMT, но -- в классе wd1793 поле state: состояние ВГ-шки. seldrive указывает на текущий дисковод, в нем (класс wd93_fdd) поле motor -- время до остановки мотора, если 0, то стоит.

я в C-шной обертке всего этого наружу не выводил, могу вывести. однако, раз zemu на c++ написан, можно и напрямую этот класс юзать.

Sinus
10.03.2006, 16:42
лучше какую-нибудь функцию, которая будет возвращать для текущего дисковода номер дорожки на которой стоит головка и что дисковёрт (ВГ-шка) делает: 0 - ничего, 1 - чтение, 2 - запись

boo_boo
10.03.2006, 20:54
лучше какую-нибудь функцию, которая будет возвращать для текущего дисковода номер дорожки на которой стоит головка и что дисковёрт (ВГ-шка) делает: 0 - ничего, 1 - чтение, 2 - запись вот. смотри в конце unreal_wd1793.h. извини, но ф-ий получилось 3 ;)

btw, глянул на realspectrum, он юзает allegro. звук -- такая же фигня как SDL-ный, тормозит и заикается чуть что.

breeze
10.03.2006, 21:00
недурственно. и даже совсем хорошо ;)

не может не радовать :eek:


по поводу иконок: да, 24x24 как раз. вот 25x25 уже бы налазило на экран ;) только я не буду делать анимацию иконок, просто будут мигать- это ведь типа точные индикаторы, когда зелёненький- значит стопудово чтение.

блин! ну и зря :( так было б хоть понятно что экшин какой-то идёт, а не повисло всё.... ты бы хоть фазы через трек менял, и анимация была б,...

boo_boo
12.03.2006, 01:50
Sinus, в догонку к вышеаттачнутой ВГ-шке -- замени там один файл (маленький, но полезный для любителей mc фикс) ;)

Sinus
13.03.2006, 02:29
заменил.
добавил возможность чтоб trd-шки были с другим расширением?
(а при чём тут mc?)

зы. все выходные провёл за TargeT-ом, так что прогресс с эмулем будет завтра.
зыы. если успею, добавлю чтоб из архивов читало, а то у мну дофига демок в zip-ах

boo_boo
13.03.2006, 03:09
заменил.
добавил возможность чтоб trd-шки были с другим расширением?
(а при чём тут mc?) а в mc, если заходишь в архив и запускаешь оттуда эмуль ентером по ассоциированному с ним файлу, этот файл распаковывается во временный каталог с идиотическим псевдослучайным именем и без расширения... вообщем, задолбался я распаковывать трдшки вручную перед запуском :rolleyes:

PS может, сделаешь заодно переключение в/из фуллскрина по кнопке? а то как попадешь в фуллскрин, так никуда уже из эмуля не денешься, кроме как эскейпом :o

Sinus
13.03.2006, 04:02
переключение фуллскина по кнопке? уже готово ;) (две строчки ;) )
но всё выложу в следующем релизе (уже очень скоро)

boo_boo
15.03.2006, 04:14
эта... вот еще, возьми свежий z80ex с соурсфорджа -- пофиксил пару весьма гаденьких багов: IN A,(port) портила флаги, а цепочки DD/FD сбивали тайминг и вообще вели себя по-свински -__-

Sinus
15.03.2006, 11:01
ок. возьму.
сейчас просто анимкой засмотрелся ;)

boo_boo
15.03.2006, 14:34
сейчас просто анимкой засмотрелся ;) ага, у тебя там mindgame, honey n clover... понимаю ;)

boo_boo
16.03.2006, 22:51
хе, а в ZEMU длительность инта не эмулируется :rolleyes:
на очередной версии z80ex (еще не выкладывал, но там префиксы отрабатываются отдельным шагом) это особенно заметно -- инт приходит иногда сразу после префикса, обламывается, и спит до следующего фрейма. ИМХО должно быть примерно так:


if (currClk>=INT_BEGIN && currClk < (INT_BEGIN + 32/*INT len*/))
{
cmdClk = z80ex_int(cpu);
currClk += cmdClk;
clk += cmdClk;
}

Sinus
16.03.2006, 22:55
да, логично.
я тож хотел так сделать, но работало и без этого ;)

так что пока нету :)

boo_boo
16.03.2006, 23:10
btw, подкинь плз еще раз тот снапшот с кружком/лучиками из unreal by KSA... хочу глянуть, работает ли сейчас, но я его посеял, а запустить с диска не выходит -- сбрасывается, не дойдя до этого места :(

boo_boo
17.03.2006, 05:27
ыыы! версию z80ex с дизасмом залил на соурсфордж :)

Q-Master
20.03.2006, 11:12
Попробовал с новым z80ex. Стала икать музыка.
Еще попробовал собрать эмуль под Pegasos. Выяснилось что на big-endian машинах оно не работает. Цвета кривые (юзается BGRA, а не ARGB и поэтому нет синего и перепутаны остальные) и не работает чтение диска из ТР-Дос. Образ грузится в память, но в тр-досе вываливает ошибку диска.
Само собой что в мэйкфайле я раскомментил BIG_ENDIAN.

Sinus
20.03.2006, 12:56
Еще попробовал собрать эмуль под Pegasos. Выяснилось что на big-endian машинах оно не работает. Цвета кривые (юзается BGRA, а не ARGB и поэтому нет синего и перепутаны остальные) и не работает чтение диска из ТР-Дос.

ибо wd1793 пофигу на всякие там BIG_ENDIAN

а с цветами попробуй вот такой фикс (в аттаче).

Q-Master
20.03.2006, 13:50
ибо wd1793 пофигу на всякие там BIG_ENDIAN


А почему тогда ошибка чтения диска вылетает?



а с цветами попробуй вот такой фикс (в аттаче).

попробую. только до дома доберусь.

boo_boo
20.03.2006, 14:33
А почему тогда ошибка чтения диска вылетает? wd1793 в другом смысле пофигу -- он работает ТОЛЬКО под little endian. собсно, WORDS_какой-то_ENDIAN в мейкфайле либы z80ex только к этой либе и относится.

можно wd1793 портировать (хотя геморроя много), я б даже занялся, но за отсутствием железа -- грустно...

насчет икания музыки -- какая версия? с последним патчем для спикера etc, который я сюда выкладывал?

Q-Master
20.03.2006, 16:57
wd1793 в другом смысле пофигу -- он работает ТОЛЬКО под little endian. собсно, WORDS_какой-то_ENDIAN в мейкфайле либы z80ex только к этой либе и относится.

можно wd1793 портировать (хотя геморроя много), я б даже занялся, но за отсутствием железа -- грустно...


А там много менять надо, чтобы оно под бигендиан завелось? Я там не особо много мест заметил где ворды юзаются... Образ-то читается. Только вот криво парсится, насколько я понял.



насчет икания музыки -- какая версия? с последним патчем для спикера etc, который я сюда выкладывал?

Если не менять либу z80ex то с последним патчем даже под СДЛ все оки. Если либу заменить, то икает даже без патча.

boo_boo
20.03.2006, 17:15
А там много менять надо, чтобы оно под бигендиан завелось? Я там не особо много мест заметил где ворды юзаются... Образ-то читается. Только вот криво парсится, насколько я понял. много вещей типа *(short *)(указатель)=что-то, может, еще чего-нить. в принципе поправить несложно.


Если не менять либу z80ex то с последним патчем даже под СДЛ все оки. Если либу заменить, то икает даже без патча. это потому, что длина инта не эмулируется... замени главный файл на (аттач)

Q-Master
21.03.2006, 12:24
много вещей типа *(short *)(указатель)=что-то, может, еще чего-нить. в принципе поправить несложно.


Надо поковырять попробовать и поправить.



это потому, что длина инта не эмулируется... замени главный файл на (аттач)


Нифига. Опять звук странно работает. Такое ощущение что он убегает вперед временами, как на ускоренной перемотке.

boo_boo
21.03.2006, 13:52
Нифига. Опять звук странно работает. Такое ощущение что он убегает вперед временами, как на ускоренной перемотке. у тебя ТОЧНО в конфиге UseSdlSound стоит в no? а то очень похоже, что это он через SDL играется
вообще черт ногу сломит со всеми этими патчами и тд, может, где-то старый файл все гадит...
вот патченная версия со всеми исходниками, у меня (с прилагаемым конфигом) пашет на ура...

Q-Master
21.03.2006, 14:53
у тебя ТОЧНО в конфиге UseSdlSound стоит в no? а то очень похоже, что это он через SDL играется
вообще черт ногу сломит со всеми этими патчами и тд, может, где-то старый файл все гадит...
вот патченная версия со всеми исходниками, у меня (с прилагаемым конфигом) пашет на ура...

Э не. Мне надо чтобы оно через SDL нормально звучало. Это более правильный вариант, ибо тот-же KDE с помощью ARTS лочит на себя наглухо /dev/dsp и zemu висит до позеленения. А SDL умеет играть через все что угодно.

boo_boo
21.03.2006, 15:23
Э не. Мне надо чтобы оно через SDL нормально звучало. Это более правильный вариант, ибо тот-же KDE с помощью ARTS лочит на себя наглухо /dev/dsp и zemu висит до позеленения. А SDL умеет играть через все что угодно. боюсь, действительно нормального звука через SDL не будет никогда, разве что с большим лагом (посмотри на RealSpectrum - у него звук через allegro, такая же засада, как SDL, слушать противно)... а /dev/dsp можно одновременно юзать тысячью разных способов. самое простое -- через ALSA. вот у меня стоит эмуляция OSS через ALSA -- запускаю xmms с /dev/dsp, потом zemu, и все работает. можно и отдельное устройство под это дело... или нативный ALSA-драйвер написать могу (написал бы и ARTS-драйвер, но ставить его (ARTS) неохота). а еще лучше JACK-драйвер ;)

мой спикер-патч ломает СДЛ-звук, а чинить я его не хочу, ибо ИМХО жопа это полная. но Sinus вроде собирался.

Q-Master
21.03.2006, 16:27
боюсь, действительно нормального звука через SDL не будет никогда, разве что с большим лагом (посмотри на RealSpectrum - у него звук через allegro, такая же засада, как SDL, слушать противно)... а /dev/dsp можно одновременно юзать тысячью разных способов. самое простое -- через ALSA. вот у меня стоит эмуляция OSS через ALSA -- запускаю xmms с /dev/dsp, потом zemu, и все работает. можно и отдельное устройство под это дело... или нативный ALSA-драйвер написать могу (написал бы и ARTS-драйвер, но ставить его (ARTS) неохота). а еще лучше JACK-драйвер ;)

мой спикер-патч ломает СДЛ-звук, а чинить я его не хочу, ибо ИМХО жопа это полная. но Sinus вроде собирался.

Ну блин. А что тогда делать если я захочу это все портануть? Под Морфосью, как и под АмигаОС никаких /dev/dsp нет и в помине. Зато есть SDL.

Кста, и еще вопрос, а нафига в zemu.cpp юзаются макросы для конвертации цветов? не проще вызвать SDL_MapRGB()? Это и правильнее, и не надо проверять какой эндианности машина. Там-же есть и макросы для достатия цветов из байта.

Sinus
21.03.2006, 16:43
Проще, но не правильней.
Сторонние либы стараюсь использовать по минимуму и только если нет других вариантов (время / качество).
Ибо если в проге находится глюк, то проще его исправлять осознавая что это мои личные грабли, а не грабли либы.
Именно по- этому не люблю писать софт под мелкомягких- очень много разной фигню, всю надо использовать (ибо по- другому не работает) и очень долго ищешь грабли.

и к тому же SDL_MapRGB неюзабельная
Uint32 SDL_MapRGB (SDL_PixelFormat *fmt, Uint8 r, Uint8 g, Uint8 b)

мне ломает передавать каждый раз туда SDL_PixelFormat (ибо сурфейс экрана я создаю с чёткими параметрами, которые всегда одни и те же).

и тем более что дефайн со сдвигами по любому быстрее чем даже функция (даже если она inline).

boo_boo
я полностью переделываю звуковую систему. хотя мои концептуальные переделки как обычно сделают zemu ещё более тормозным, но зато можно будет легко добавлять хоть 20 аюгриков и ещё 30 биперов и всё очень просто в плане программинга (но тормозить тогда будет... ;) мама не горюй ;) )

Q-Master
21.03.2006, 16:54
Проще, но не правильней.
Сторонние либы стараюсь использовать по минимуму и только если нет других вариантов (время / качество).
Ибо если в проге находится глюк, то проще его исправлять осознавая что это мои личные грабли, а не грабли либы.
Именно по- этому не люблю писать софт под мелкомягких- очень много разной фигню, всю надо использовать (ибо по- другому не работает) и очень долго ищешь грабли.

и к тому же SDL_MapRGB неюзабельная
Uint32 SDL_MapRGB (SDL_PixelFormat *fmt, Uint8 r, Uint8 g, Uint8 b)

мне ломает передавать каждый раз туда SDL_PixelFormat (ибо сурфейс экрана я создаю с чёткими параметрами, которые всегда одни и те же).

и тем более что дефайн со сдвигами по любому быстрее чем даже функция (даже если она inline).


Ладно, это не самая главная проблема. Самая главная, что не работает ВГха в принципе.



boo_boo
я полностью переделываю звуковую систему. хотя мои концептуальные переделки как обычно сделают zemu ещё более тормозным, но зато можно будет легко добавлять хоть 20 аюгриков и ещё 30 биперов и всё очень просто в плане программинга (но тормозить тогда будет... ;) мама не горюй ;) )
Кста, а что-то я не нашел, чтобы в SDL юзалась двойная буферизация звука... Это может помочь. И вообще такое ощущение что звук играется постоянно, даже если ни AY, ни бипер ничего не рендерят.

boo_boo
21.03.2006, 16:59
Ну блин. А что тогда делать если я захочу это все портануть? Под Морфосью, как и под АмигаОС никаких /dev/dsp нет и в помине. Зато есть SDL.
написать поддержку нативного звука -- проще простого... и мне кажется, авторы большинства эмуляторов неспроста идут именно этим путем, оставляя wrapper'ы типа SDL и allegro на худой конец... конечно, нужна поддержка SDL, но только потому, что это лучше, чем ничего.

boo_boo
21.03.2006, 17:04
я полностью переделываю звуковую систему. хотя мои концептуальные переделки как обычно сделают zemu ещё более тормозным, но зато можно будет легко добавлять хоть 20 аюгриков и ещё 30 биперов и всё очень просто в плане программинга (но тормозить тогда будет... ;) мама не горюй ;) ) ну, до тормознутости глюкалки по-любому далеко ;) лишь бы тормознутость не означала лаг, и можно было без особых сложностей добавлять поддержку новых звуковых дров, включая дурь типа ARTS и esd :rolleyes:

Sinus
21.03.2006, 17:07
Кста, а что-то я не нашел, чтобы в SDL юзалась двойная буферизация звука... Это может помочь.
двойная буферезация юзается нативно звуковой карточкой.

И вообще такое ощущение что звук играется постоянно, даже если ни AY, ни бипер ничего не рендерят.
естественно звук играется постоянно. и естественно AY и бипер рендерят тоже постоянно (вообще абсурдна ситуация когда допустим в железе бипер не будет рендерить звук. это вообще как? шиза какая-то ;) )

Sinus
21.03.2006, 17:08
лишь бы тормознутость не означала лаг
не, никаких лагов.
моё девиз- переделка должна быть лучше или хотя бы не хуже.
так что под /dev/dsp точно ничего не поменяется в плане лага.

Q-Master
21.03.2006, 18:14
Кста, а что-то я не нашел, чтобы в SDL юзалась двойная буферизация звука... Это может помочь.
двойная буферезация юзается нативно звуковой карточкой.


Угу, только звук у тебя может играть циклически до упаду, если буффер недописался. А было-бы 2 буффера - проблема была-бы решена. 8)



И вообще такое ощущение что звук играется постоянно, даже если ни AY, ни бипер ничего не рендерят.
естественно звук играется постоянно. и естественно AY и бипер рендерят тоже постоянно (вообще абсурдна ситуация когда допустим в железе бипер не будет рендерить звук. это вообще как? шиза какая-то ;) )

А если нет никакого звука? Чего играем? Тишину? Зачем? 8)

boo_boo
21.03.2006, 18:29
А если нет никакого звука? Чего играем? Тишину? Зачем? 8) предлагаешь наглухо отрубать звук, когда ничего нет, и врубать, когда есть? :) тогда в звуковом тракте будет каша, плюс дичайшие тормоза. подобное прокатит только в условиях идеального рилтайма и нулевых задержках при доступе к звуковухе :rolleyes:

и чем двойная (четверная, n-ная) буферизация на софтверной стороне лучше, чем аналогичного размера циклический буфер?

Sinus
21.03.2006, 21:06
Угу, только звук у тебя может играть циклически до упаду, если буффер недописался

не может.
если буфер недописался- значит мошности машины не хватает для эмуляции.

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

А если нет никакого звука? Чего играем? Тишину? Зачем? 8)

отправить бы вас курить матчасть ;) по поводу работы современных (читать начиная с Sound Blaster 1.0) звуковух.

ибо звуковуха постоянно требует себе данные. просто различными осями это скрывается.

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

конечно для амиги это гораздо проше, ибо амижная "звуковуха"- это просто напросто 4 счётчика подключённые к ... скажем DMA (ломает вспоминать как там все чипсеты назывались).

и то, сомневаюсь что при подключении PCI-ной звуковухи она постоянно то включается, то выключается.

а даже если это и так, то не вижу принципиальной разницы между остановкой счётчиков и "отправкой" в звуковуху некоторого значения обозначающего тишину (допустим 0)

P.S.
а так как звук всё равно генерится (будь он тишиной или нет), то быстрее играть тишину, чем определять- есть ли в буфере значения отличные от нуля и потом решать этправлять ли тогда этот буфер в звуковуху.

Q-Master
22.03.2006, 11:51
Угу, только звук у тебя может играть циклически до упаду, если буффер недописался

не может.
если буфер недописался- значит мошности машины не хватает для эмуляции.

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


Хех. А щелчки по кругу слушать это весело... Этакое эхо...



А если нет никакого звука? Чего играем? Тишину? Зачем? 8)

отправить бы вас курить матчасть ;) по поводу работы современных (читать начиная с Sound Blaster 1.0) звуковух.

ибо звуковуха постоянно требует себе данные. просто различными осями это скрывается.

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

конечно для амиги это гораздо проше, ибо амижная "звуковуха"- это просто напросто 4 счётчика подключённые к ... скажем DMA (ломает вспоминать как там все чипсеты назывались).

и то, сомневаюсь что при подключении PCI-ной звуковухи она постоянно то включается, то выключается.

а даже если это и так, то не вижу принципиальной разницы между остановкой счётчиков и "отправкой" в звуковуху некоторого значения обозначающего тишину (допустим 0)

P.S.
а так как звук всё равно генерится (будь он тишиной или нет), то быстрее играть тишину, чем определять- есть ли в буфере значения отличные от нуля и потом решать этправлять ли тогда этот буфер в звуковуху.

Батенька, идите курите матчасть сами. Особенно прокурите работу PCI шины. Там очень популярно изложено кто там чего требует, когда и в каких количествах. А загаживать шину тишиной, и при этом слушать циклические щелчки, вместо того, чтобы просто молчать, это конечно круть немеряная. И как только другие до этого не додумались... Тормозят звук зачем-то, вместо того, чтобы тишину слушать...

ПС: чтобы этого небыло, как-раз и нужен двойной буфер. Можно сразу вычислить звучишь ты или нет. А если звучишь, то сколько именно. Тогда и времязатраты на переливание пустоты сократятся и нагрузка на проц и PCI шину изменится.

boo_boo
22.03.2006, 12:05
И как только другие до этого не додумались... Тормозят звук зачем-то, вместо того, чтобы тишину слушать... вааа... пример можно в виде исходника? только не мыпытри-плеер, а эмулятор или еще чего-нить околорилтаймовое? и чтобы в современной ОС, и чтоб работало :rolleyes:

Q-Master
22.03.2006, 13:29
вааа... пример можно в виде исходника? только не мыпытри-плеер, а эмулятор или еще чего-нить околорилтаймовое? и чтобы в современной ОС, и чтоб работало :rolleyes:

Ладно ладно.. пока не нашел. Некогда искать особо. Но какой смысл-то? Из-за того, что постоянно буфер крутится и постоянные лаги с тем-же бипером. На /dev/dsp это незаметно, а вот на SDL очень. Смысл в том, что оно щелкнуло, а сейчас в буфере куча тишины которая и играется и пока оно дойдет до места где щелкнуло...

boo_boo
22.03.2006, 14:07
Ладно ладно.. пока не нашел. Некогда искать особо. Но какой смысл-то? Из-за того, что постоянно буфер крутится и постоянные лаги с тем-же бипером. На /dev/dsp это незаметно, а вот на SDL очень. Смысл в том, что оно щелкнуло, а сейчас в буфере куча тишины которая и играется и пока оно дойдет до места где щелкнуло... смысл такой, что другой альтернативы нет :) цифровой звук -- отсчеты амплитуды по кванту времени, соответственно при проигрывании каждый отсчет должен прийтись точно на свой квант. есть иной способ это сделать, кроме как непрерывно гнать сэмплы на звуковуху? каким образом предполагается обеспечить гарантированную синхронизацию с точностью до 1/44100 сек?

Q-Master
23.03.2006, 14:09
смысл такой, что другой альтернативы нет :) цифровой звук -- отсчеты амплитуды по кванту времени, соответственно при проигрывании каждый отсчет должен прийтись точно на свой квант. есть иной способ это сделать, кроме как непрерывно гнать сэмплы на звуковуху? каким образом предполагается обеспечить гарантированную синхронизацию с точностью до 1/44100 сек?

Вот в этом и проблема с SDLем. Лаг получается из-за того, что постоянно генерируется буффер, а не текущий отсчет запихивается в звуковуху. Это можно пофиксить введя паузы в проигрывании буфера или сократить максимально сам буффер. Ну попробовать хотя-бы.

Sinus
23.03.2006, 16:10
Q-Master
в последних версиях (ещё до фикса с бипером) чутка поменялся алгоритм заполнения буфера, чтоб минимизировать задержки.

на моей машине (и на старой- 500mhz + Sound Blaster 16, и на новой - 2.5ghz + AC97)
лаг не больше чем 1/25 секунды (2 спековских HALT-а, тестил на всяких демках)

за неимением других машин с линуксом под рукой ничего лучшего сделать не могу.

если у тебя большой лаг и ты знаешь как его исправить- делай фикс.
вот boo_boo предложил под /dev/dsp написать- теперь всё круто стало.

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

эмуль делаю по вечерам когда не влом, сейчас из- за переделки звука всё в состоянии нестояния (читать не работает).

а ещё и TargeT.

но вкоро всё будет круто.

Kevin
24.03.2006, 11:43
непонтово.
я вон лучше на PocketPC сделаю нормальный AyPlayer, ибо там нормальный C есть
(причём даже вполне себе GCC)

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

А ты под Symbian OS 6.х пиши :)

Sinus
24.03.2006, 11:56
а что такое симбиан? там цэ есть?

а вообще то если я уж буду писать под мобильные устройства, то под Windows Mobile, ибо у мну есть Pocket PC

Kevin
24.03.2006, 12:07
а что такое симбиан? там цэ есть?

а вообще то если я уж буду писать под мобильные устройства, то под Windows Mobile, ибо у мну есть Pocket PC

OS на мобильниках, например Siemens SX1, NOKIA 6600 и т.д.
Пишешь в С на компе, а потом конвертишь в мобилу

Sinus
24.03.2006, 15:20
не, я в курсе что это ос такая ;)
я в смысле про то что писать под симбиан в мои планы на ближайшие 100 лет не входит ;)

Kevin
27.03.2006, 10:08
не, я в курсе что это ос такая ;)
я в смысле про то что писать под симбиан в мои планы на ближайшие 100 лет не входит ;)

Вот так вот. И обломал он всех... ;)

Shalalak
31.03.2006, 10:32
не, я в курсе что это ос такая ;)
я в смысле про то что писать под симбиан в мои планы на ближайшие 100 лет не входит ;)

А под покемоны когда можно будет увидеть? :v2_smile:

boo_boo
01.04.2006, 19:48
Sinus, мне тут приспичило помучить BGE, соотв хочу кемпстон-мышу прикрутить, ну и запись диска нужна... имеет смысл в ближайшее время ждать новой версии, или прикручивать к имеющейся?

Sinus
02.04.2006, 03:49
да, имеет ;)
полностью переделал звук (теперь и бипер, и под SDL и может если ещё покопаю, так и щёлкать перестанет ;) ), добавил индюкаторы.

и заметил досадный глюк- почему-то после переделок начало непонятно глючить RAGE. точнее это я ещё проверю.

будет и запись, будет и мышка ;)

Sinus
02.04.2006, 03:59
ааа!!! как задрали челы переключающие порт по OUT(#FD),A !!! :mad:
я когда таргет тестил, поставил 512 в конфиге, и убрать забыл.
самое прикольное что дема то работает, просто мультиколеров нет ;) (это 512 когда)

зы. с новой ВГшкой завёлся Unreal by KSA.

Titus
02.04.2006, 08:19
ааа!!! как задрали челы переключающие порт по OUT(#FD),A !!! :mad:
я когда таргет тестил, поставил 512 в конфиге, и убрать забыл.
самое прикольное что дема то работает, просто мультиколеров нет ;) (это 512 когда)

зы. с новой ВГшкой завёлся Unreal by KSA.

OUT (#FD),A остается, и будет оставаться самым быстрым способом переключения страничек с экономией на регистровой паре BC, а следовательно и излюбленной командой тех, кто выжимает из машины все. А поскольку стандартом был, остается и будет Пентагон-128 (а не какой-нить извратнопортовый скорпион), то и OUT (#FD),A - будет :rolleyes:

Sinus
03.04.2006, 04:07
итак. наконец-то новая версия.

много фиксов и дополнений.

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

boo_boo
я там поиздевался чутка над ВГшкой, посмотри, может что можно оптимальней сделать.

зы. там где я исправлял " -1 " на " ~(unsigned)0 " это чтоб варнингов небыло.

Sinus
03.04.2006, 04:15
зы. только что обнаружил забавный баг когда включено 512kb

надо



bool C_MemoryManager::OnOutputByte(Z80EX_WORD port, Z80EX_BYTE value) {
....
if (enable512 && port!=0x7FFD) port7FFD = value & 7;
else port7FFD = value;
....


заменить на



bool C_MemoryManager::OnOutputByte(Z80EX_WORD port, Z80EX_BYTE value) {
....
if (enable512 && port!=0x7FFD) port7FFD = value & 63;
else port7FFD = value;
....

boo_boo
03.04.2006, 07:43
итак. наконец-то новая версия.
много фиксов и дополнений.
ура, ты крут!!! :)
..а лаг опять появился -- потому, что ты прежнюю версию wavplay взял :rolleyes: это ладно, хуже то, что с самим звуком фигня -- сделай "BEEP 10,1" и поймешь, о чем я. отчасти это потому, что ay-ские либы тоже старые, но в основном оттого, что сэмплы обрубаются, когда буфера для ay и бипера выходят разного размера.
в аттаче -- тупейший, но работающий фикс, включая новые wavplay и ay. ИМХО если по-хорошему, то логичней всего научить SNDRENDER работать с кольцевым буфером в штатном режиме (SMT, что скажешь?). да, а еще предлагаю AUDIO_HW_BUFFER вынести в конфиг -- так всем бут хорошо, и SDL-щикам, и нелюбителям лага ,)

я там поиздевался чутка над ВГшкой, посмотри, может что можно оптимальней сделать.
зы. там где я исправлял " -1 " на " ~(unsigned)0 " это чтоб варнингов небыло. передача времени в is_drive_spinning -- разумно. с -1 тоже. кстати, в 313й и338й строчках wd1793.cpp ты (unsigned) забыл перед нулем -- разницы абасалютно никакой, но если уж эстетствовать, то на всю катушку! :rolleyes: .

мыша -- няяя! ^____^

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

UPD. а еще хорошо смотрится, если в дополнении к READ/WRITE на IDLE повесить синюю дискетку без значка

ЗЫ кстать, есть уже новая версия z80ex, с фиксами недок. флагов.

boo_boo
03.04.2006, 17:29
ой, вот еще что -- выловил КРАЙНЕ вредоносный баг в z80ex (deadlock в обработке IM0). обновляться до версии 0.15 с https://sourceforge.net/projects/z80ex/ -- обязательно!

SMT
03.04.2006, 20:12
научить SNDRENDER работать с кольцевым буфером в штатном режиме EXTERNAL_BUFFER чем не оно?

Sinus
04.04.2006, 03:57
поставил фиксы boo_boo, добавил ещё одну фичу (отключение показа неактивных иконок)...
незнаю :|
у мну фиксы не прокатили и звук стал только хуже.
заколебало блин уже. наверное добью до юзабельной 0.1 и начну писать потактовую эмуляцию (да и к тому же чтоб разные устройства рендерили ОДИНАКОВОЕ количество семплов на фрейм).

SMT
04.04.2006, 07:01
заколебало блин уже. наверное добью до юзабельной 0.1 и начну писать потактовую эмуляцию (да и к тому же чтоб разные устройства рендерили ОДИНАКОВОЕ количество семплов на фрейм)хорошо: больше движков - лучше. хотя, проблемы c количеством семплов уже нет, просто boo_boo выложил что-то не то

boo_boo
05.04.2006, 16:46
EXTERNAL_BUFFER чем не оно? тем, что этот екстернал буфер один на все экземпляры SNDRENDER, а если охота микшировать потоки самому, это не катит :rolleyes:

boo_boo
05.04.2006, 16:48
хорошо: больше движков - лучше. хотя, проблемы c количеством семплов уже нет, просто boo_boo выложил что-то не то я то самое выложил, но Sinus хочет, видимо, чтоб кол-во семплов было равным на каждом фрейме, а не в среднем. ИМХО это было бы приятно, хотя не принципиально вообщем :)

boo_boo
05.04.2006, 17:40
у мну фиксы не прокатили и звук стал только хуже.
в смысле -- хуже? это ты про "высокочастотное сипение" с новым wavplay? похоже, у тебя не тянет с 8-ю фрагментами, надо больше (у меня такой феномен проявляется, когда их меньше 8-и, а если система загружена, то и при 8и).
если заменить строчку на
tmp = 0xFF0000 | (int) (log(frag_size) + 0.5);
исчезло сипение? системы у всех разные... поэтому и нужна возможность задавать из конфига размер буфера (AUDIO_HW_BUFFER) и, как выясняется, еще и кол-во фрагментов -- то, что у тебя нормально звучит, у меня дает лаг, и наоборот тоже лажа. :rolleyes:

вообщем, ИМХО надо передавать в wav_start 2 параметра (из конфига): frag_num и frag_size, а вышеупомянутую строчку превратить в
tmp = (frag_num << 16) | (int) (log(frag_size) + 0.5);

ЗЫ частоте семплирования по-хорошему тоже место в конфиге ;)

Sinus
05.04.2006, 18:40
я то самое выложил, но Sinus хочет, видимо, чтоб кол-во семплов было равным на каждом фрейме, а не в среднем. ИМХО это было бы приятно, хотя не принципиально вообщем :)

ну типа того.
т.е. хочу чтоб для любого фрейма

dev_ay.samples == dev_border.samples

(конечно же если frame1_samples != frame2_samples то это совершенно не критично)

Sinus
05.04.2006, 18:43
в смысле -- хуже? это ты про "высокочастотное сипение" с новым wavplay? похоже, у тебя не тянет с 8-ю фрагментами, надо больше (у меня такой феномен проявляется, когда их меньше 8-и, а если система загружена, то и при 8и).
если заменить строчку на
tmp = 0xFF0000 | (int) (log(frag_size) + 0.5);

буду дома- попробую.



вообщем, ИМХО надо передавать в wav_start 2 параметра (из конфига): frag_num и frag_size, а вышеупомянутую строчку превратить в
tmp = (frag_num << 16) | (int) (log(frag_size) + 0.5);

ЗЫ частоте семплирования по-хорошему тоже место в конфиге ;)

размер буфера (тот который AUDIO_HW_BUFFER) не хотелось бы в конфиг перекладывать, ибо надо тогда динамические массивы юзать.
ничего страшного конечно (вон тот же config.cpp вообще деревья строчит), но всё таки не очень хотелось бы- меньше потенциальных глюков.

а вот frag_num и frag_size надо бы в конфиг.
и ещё чтоб ты написал туториал какие надо ставить- я допустив абсолютно не в курсе что это значит.

boo_boo
05.04.2006, 20:19
размер буфера (тот который AUDIO_HW_BUFFER) не хотелось бы в конфиг перекладывать, ибо надо тогда динамические массивы юзать.
ничего страшного конечно (вон тот же config.cpp вообще деревья строчит), но всё таки не очень хотелось бы- меньше потенциальных глюков.
malloc или new либо проходит 1 раз при старте, либо нет, откуда глюки?!

а вот frag_num и frag_size надо бы в конфиг.
и ещё чтоб ты написал туториал какие надо ставить- я допустив абсолютно не в курсе что это значит.
это кол-во буферов и размер каждого . отимальные подбираются опытным путем, а по умолчанию надо поставить с запасом. UPD кстати, AUDIO_HW_BUFFER это сейчас и есть frag_size, только в сэмплах.

Sinus
06.04.2006, 04:21
короче вот результаты моиз изголений:
несмотря на то, что /*max 8 fragments*/
у меня лучший результат достигается про значениях 11-12 (я убрал пока логарифм нафих).
и в старой версии wavplay.cpp установка размера фрагмента шла в самом конце, а в новом- где-то посредине. это так надо?
я перенёс в конец- ничего вроде не поменялось.

и вообще, лучше всего себя вела SDL - почти чистый звук.

boo_boo
06.04.2006, 05:39
короче вот результаты моиз изголений:
несмотря на то, что /*max 8 fragments*/
у меня лучший результат достигается про значениях 11-12 (я убрал пока логарифм нафих).
и в старой версии wavplay.cpp установка размера фрагмента шла в самом конце, а в новом- где-то посредине. это так надо?
я перенёс в конец- ничего вроде не поменялось.

и вообще, лучше всего себя вела SDL - почти чистый звук. установка размера фрагмента должна быть сразу после открытия устройства, иначе с большой вероятностью не сработает, см доки по OSS. комментарий про "8 макс" означал, что именно в этом конкретном случае фрагментов стоит 8, а не что их больше не должно быть.
размер фрагмента равен двойке в степени младшего слова числа, передаваемого ioctl'у SNDCTL_DSP_SETFRAGMENT (то есть в младшем слове -- log2 от требуемого размера). тут я тупо слажал, забыл двойку на конце log -__-.
итого
tmp = (frag_num << 16) | (int) (log2(frag_size) + 0.5); при таком раскладе, кстати, у меня даже на 2х фрагментах прекрасно пашет (тк размер фрагмента наконец-то больше размера звукового фрейма :) ). надо думать, из-за этого и была вся муть.

UPD. 0.5 -- тоже тупизм, ceil(log2(frag_size)) тогда уж :rolleyes:

вообщем, если прилагаемый вавплей у тебя будет нормально работать, предлагаю размер фрагмента не совать в конфиг, а сделать во фрейм ((((unsigned long)71680/*frame*/*44100/*sound freq*/) / 3500000 /*Z80 clock*/) * 4), больше смысла не имеет. а frag_num в конфиг ИМХО стоит, тк при маленьком кол-ве фрагментов получается рилтайм, а при большом можно юзать эмуль как плеер, без опасения, что он захрюкает при большой загрузке проца.

Sinus
06.04.2006, 18:05
окей. буду тестить.

boo_boo
06.04.2006, 23:03
йоу, наловил глюков:
сейв диска работает только если диск был загружен из бровсера, а если из командной строки -- фиг. :(
глючит клава -- ss для буквенных клавиш работает нормально, для цифровых -- при удержании ss и нажатии на цыфирь один раз все ок, но потом, если его не отпускать и снова жать кнопку, печатается просто цифра. cs для цифровых клавиш выдает чушь, из-за чего, к примеру, невозможно сделать graph mode иначе, как повесив его на отдельную кнопь.

Sinus
07.04.2006, 00:24
йоу, наловил глюков:
сейв диска работает только если диск был загружен из бровсера, а если из командной строки -- фиг.

ага. есть такое дело.
я просто немного хочу переделать файл брофсер (типа вместо него будет маленький экран с конфигом и там можно будет "войти" в диск).
тогда уже появится брофсер и в нём можно будет сохранить / eject-нуть или загрузить новый диск)


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

интерестно... надо будет проверить.


cs для цифровых клавиш выдает чушь, из-за чего, к примеру, невозможно сделать graph mode иначе, как повесив его на отдельную кнопь.
это просто я так keys.config настроил ;) (для аласма).
могу сделать второй keys.config - что-нибудь типа "orig_spec_keys.config" ;)

boo_boo
07.04.2006, 00:29
это просто я так keys.config настроил ;) (для аласма).
могу сделать второй keys.config - что-нибудь типа "orig_spec_keys.config" ;) ах вооооот оно что %)

Sinus
08.04.2006, 03:06
Итааак.
А вот и 0.08
С очередным звуковым фиксом (а так же исправлена клавиатура).

делать frag_size размером во фрейм пока не стал (гомен, просто забыл ;) )

boo_boo
08.04.2006, 05:23
Итааак.
А вот и 0.08
С очередным звуковым фиксом (а так же исправлена клавиатура).

делать frag_size размером во фрейм пока не стал (гомен, просто забыл ;) ) ^__^
вообщем-то frag_size и сейчас во фрейм: ceil(log2(71680*44100/3500000 * 4)) == ceil(log2(1024*4)) :)

Sinus
08.04.2006, 13:18
о! вот и щасте ^_~
ну так как там всё звучит? у мну вроде нормально.

или может ещё переделать? ;)

Eltaron
08.04.2006, 13:24
затестил на своем P166/64Mb/s3virge
тормоза неописуемые :)
но все же быстрее, чем эмуль Шалаева под Dosbox'ом

boo_boo
08.04.2006, 14:54
о! вот и щасте ^_~
ну так как там всё звучит? у мну вроде нормально.

или может ещё переделать? ;) звучит ок.
...ага, понравилось звук переделывать? мне тоже :)
только, вроде, уже нечего... ну разве что имя девайса в конфиг вынести, "/dev/dsp" не всегда можно юзать по разным причинам -- в зависимости от дров/окружения. у мя не раз случалось )

breeze
08.04.2006, 16:46
о! вот и щасте ^_~
ну так как там всё звучит? у мну вроде нормально.

или может ещё переделать? ;)

ша посмотрим как енто всё запоёт по FreeBSD :eek:

Sinus
08.04.2006, 21:49
затестил на своем P166/64Mb/s3virge
тормоза неописуемые :)
но все же быстрее, чем эмуль Шалаева под Dosbox'ом
где-то в начале темы я писал минимальные требования.
частота процика > 300MHz

попробуй... ага, попробовал ;)

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

Sinus
08.04.2006, 21:52
breeze
давай, тести там ;)

boo_boo
в обчем харэ уже звук молоть ( ;) заколебало уже порядком ;) )
хотя да, имя файла устройства в конфиге бы не помешало.
да и вообще конфиг немного переструктиризовать тоже хочу.
но это всё после того как нормальную менюшку и файл-брофсер сделаю
(т.е. после 0.09)

Sinus
09.04.2006, 17:33
boo_boo

обнаружилась проблема: по словам breeze, под BSD не реализована функция log2.
так что наверное стоит

tmp = (frag_num << 16) | (int)ceil(log2(frag_size));
заменить на

tmp = (frag_num << 16) | (int)ceil(log(frag_size)/log(2));

boo_boo
10.04.2006, 01:47
boo_boo
обнаружилась проблема: по словам breeze, под BSD не реализована функция log2.
так что наверное стоит

tmp = (frag_num << 16) | (int)ceil(log2(frag_size));
заменить на

tmp = (frag_num << 16) | (int)ceil(log(frag_size)/log(2)); хе, чудеса -- log2(), так же, как и log(), входит в стандарты POSIX, ISO и BSD 4.3 :o
но раз уж такая фигня, делать нечего :rolleyes:

Sinus
10.04.2006, 03:13
я тоже долго фигел.
и ещё. сегодня ездил к бризу. долго колупались в бздях.
нами было выведено основное правило...

итак, чтоб добится хорошего звука под FreeBSD надо

10 выкинуть GNOME
20 IF NOT success THEN GOTO 10

breeze
11.04.2006, 23:31
хе, чудеса -- log2(), так же, как и log(), входит в стандарты POSIX, ISO и BSD 4.3 :o
но раз уж такая фигня, делать нечего :rolleyes:

Блин! слушай ты его больше :) у меня не RELIZ!!!! ядра 6! так что временно log2 в нём нет, фиг знает почему :( но вот слил сорцы, пересоберу посмотрим....

Sinus
17.04.2006, 18:00
кста, тут почитал про скроллеры (в разделе программинг) и подумал- а знает ли SDL об обратном ходе луча?
надо будет дома проверить.

updated
нет, ничего не знает.
правда пытается ждать обратного хода луча если делать SDL_Flip().
попробую.

boo_boo
18.04.2006, 15:44
угу.
странно, что сейчас все вполне прилично смотрится... может, SDL_UpdateRect работает тоже по обр. ходу?
но с флипом так или иначе идеологически правильней :rolleyes:

Sinus
18.04.2006, 18:08
поставил SDL_Flip.
ничего не изменилось ;)
но стало идеологический правильней ;)

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

Sinus
19.04.2006, 11:21
далее... сделал поддержку архивов через плагины (ну... типа плагины ;) )
как говорится 0.09 coming soon

boo_boo
23.04.2006, 03:00
ойблин, а в последних земах куда-то исчезло "интеллектуальное" автоопределение трд-шек O__o
вот оно:

Q-Master
02.04.2007, 10:05
и?

Sinus
02.04.2007, 16:17
всё в танке.
я начал делать всякого рода диалоги и долбагер, но у меня сгорел комп.
а тот что у меня есть сейчас не может запустить zemu на полной скорости.
оптимайзом заниматься нехочу, ибо исчезнет гибкость и простота.
так что коплю денги.

Q-Master
03.04.2007, 09:49
всё в танке.
я начал делать всякого рода диалоги и долбагер, но у меня сгорел комп.
а тот что у меня есть сейчас не может запустить zemu на полной скорости.
оптимайзом заниматься нехочу, ибо исчезнет гибкость и простота.
так что коплю денги.

ой! Фигово. А то попробовал я тут одну фигню запустить, на которую мне на #z80 ссылку дали, а она как-то очень странно работает, да и памяти ей надо 1 мег, а тут максимум 512. Мне показалось что она подтормаживает, хотя комп небыл загружен на 100%.

Sinus
03.04.2007, 12:11
ой! Фигово. А то попробовал я тут одну фигню запустить, на которую мне на #z80 ссылку дали, а она как-то очень странно работает, да и памяти ей надо 1 мег, а тут максимум 512. Мне показалось что она подтормаживает, хотя комп небыл загружен на 100%.
подтормаживает или из за неточностей в эмуляции (сомнительно), или из-за того что ей надо мег (я ещё на байте иногда с таким сталкивался).
проц не будет грузится много, что бы там оно не эмулировало.
но на заметку закинь прожину мне на мыло плиз ( [email protected] )
а по какому стандарту надо мег ?

breeze
29.12.2007, 15:26
а по какому стандарту надо мег ?

Pentagon 1024 SL 2.2 :eek:

Sinus
14.02.2008, 01:31
Не прошло и пол года....
Из ключевых моментов - 16 colors, TSFM



##################
## Version 0.99 ##
##################

[add] 16colors mode
[add] TSFM sound device (FM chip partial support - no timers emulation)
[upd] скорость. ключевым тормозом оказался (как бы это странно не было) SDL.
ввёл параметр UseFlipSurface в конфиге, если он true, то используется SDL_Flip, иначе SDL_UpdateRect.
например мне кажется что SDL_UpdateRect под моими X-ами немного быстрее.

##################
## Version 0.09 ##
##################

[add] win32 версия (mingw)
[upd] И ещё раз изменён звук. Теперь SDL sound тоже должен нормально работать
[upd] скорость. путём выкидывания лишних SDL_Delay и оптимизации процесса, работать стало всё чуток быстрее
[upd] режим Max Speed стал реально быстрее
[add] дизассемблер (потому что до дебаггера ему ещё далеко :)
F7 - исполнить комманду, LDIR будет по тактово,
F8 - исполнить реально всю комманду, LDIR - проидёт весь)
[add] загрузка снапшотов в формате SNA


Скачать эмулятор - http://detstwo.com/pub/zemu/zemu.tar.bz2
Скачать либу z80ex можно либо c сорсфорджа ( http://sourceforge.net/projects/z80ex/ ) либо у меня ( http://detstwo.com/pub/zemu/lib_z80ex.tar.bz2 ) . Та что у меня 100% работает как надо. Ту что на сорсфорже не проверял (может они вообще одинаковые :) )

алсо мини faq:


Q. Могу ли я сделать
* пакет под убунту
* порт под мобилу
* поддержку tap, tzx и прочих ленточных форматов
* etc...

A. Нет, не могу и не хочу (хотя над tap/tzx возможно подумаю).
У вас есть полный комплект сорсов, берите и делайте.

breeze
14.02.2008, 02:27
Спасибо! за 16 colorz и TSFM :)

Sinus
14.02.2008, 11:10
Кстати, попробуй скомпилить под FreeBSD

Alexandr Medvedev
14.02.2008, 11:30
А где собственно заявленная Win32 версия?
Что-то я не нашёл, исходники одни только.

Sinus
14.02.2008, 11:40
имелось в виду что теперь оно компилится под mingw.

сейчас скомпилю когда время появится (дома не могу - linux only)

Alexandr Medvedev
14.02.2008, 12:08
сейчас скомпилю когда время появитсяОчень жду.

Sinus
14.02.2008, 12:28
win32 бинари : http://detstwo.com/pub/zemu/zemu-win32-bin.zip
(там даже баг один пофикшен, который есть в линуксовых сорсах)

Добавлено через 13 минут
Alexandr Medvedev, если успел скачать уже бинари, то скачай плиз ещё раз, hot bugfix

Alexandr Medvedev
16.02.2008, 11:39
Потестил Win32 версию, сразу вылезли неприятные моменты:

Загрузка CPU 100% даже при выборе файла (интересно почему)
Мож я не нашёл, но при выборе файла невожможно перейти на другой диск кроме C:
Эмуляция TR DOS слабо сделана, некоторые проги выдают disk error'ы
Smash commander 2.0 -> disk error
RDS 3.1 -> insert disk in drive
Kol0bok 2 -> просто не работает
FUT 2.01 -> About diskette -> Non TR DOS disk
ADS 3.0i -> TestDrv -> Spin -> 292.7 вместо положенных 300
ADS 3.0i -> TestDrv -> MaxTrack -> эмуль ваще падает

Это тока в Win32 версии такое?

Sinus
16.02.2008, 16:49
Потестил Win32 версию, сразу вылезли неприятные моменты:
[quote]Загрузка CPU 100% даже при выборе файла (интересно почему)

всё работает под одним main loop-ом, но по идее не должно быть 100%, в цикле стоит Sleep(1)
очень странно.


Мож я не нашёл, но при выборе файла невожможно перейти на другой диск кроме C:

да, я не делал этого.


Эмуляция TR DOS слабо сделана, некоторые проги выдают disk error'ы
Smash commander 2.0 -> disk error
RDS 3.1 -> insert disk in drive
Kol0bok 2 -> просто не работает
FUT 2.01 -> About diskette -> Non TR DOS disk
ADS 3.0i -> TestDrv -> Spin -> 292.7 вместо положенных 300
ADS 3.0i -> TestDrv -> MaxTrack -> эмуль ваще падает

спасибо что сказал.
весьма странно, учитывая что эмуляция ВГшки взята из Unreal-а.
буду проверять.

Alexandr Medvedev
16.02.2008, 17:05
всё работает под одним main loop-ом, но по идее не должно быть 100%, в цикле стоит Sleep(1)
очень странно.Потому и загрузка CPU велика, ПОЧТИ 100%
весьма странно, учитывая что эмуляция ВГшки взята из Unreal-а.Чего уж тут странного -- взял чужие исходники вместе с чужими ошибками.
Раз уж эмуляция взята из Unreal, то где тогда настройки No Delays и TR DOS traps ? Их переключеним можно добиться работоспособности части программ.
К сведению лучшая эмуляция TR DOS на данный момент в Win версии ZX Emul, в ZXMAK'е тоже неплохая.

Q-Master
16.02.2008, 22:53
Sinus: Чини давай эмуль ВГшки под кросс-платформенность. 8)

Sinus
17.02.2008, 02:12
Alexandr Medvedev

вы хотите поругаться или как?
я очень признателен за тестинг, но надо проверять что говоришь:


Потому и загрузка CPU велика, ПОЧТИ 100%

for ( ; ; ) { Sleep(1); }
загрузка cpu - 0%

http://img222.imageshack_.us/img222/7118/zemucputimeis4.th.png (http://img222.imageshack_.us/my.php?image=zemucputimeis4.png)


Раз уж эмуляция взята из Unreal, то где тогда настройки No Delays и TR DOS traps ?

<NoDelay>no</NoDelay>
есть.

TR-DOS traps к ВГ не имеют никакого отношения и у меня не используются.

[bETA]mEN
17.02.2008, 02:36
Emulator detector (c)2000, Vivid/Brainwave не проходит.

Sinus
17.02.2008, 11:10
[bETA]mEN, а где можно взять этот самый Emulator detecor ?

[bETA]mEN
17.02.2008, 11:52
[bETA]mEN, а где можно взять этот самый Emulator detecor ?
выкладываю.

Alexandr Medvedev
17.02.2008, 13:31
но надо проверять что говоришьНу не знаю почему, но у меня нагрузка на проц ниже 80% не падает (при выборе файла ниже 60%). Картинка прилагается. Наверное комп слабоват.

<NoDelay>no</NoDelay>
есть.Sorry, не земетил.

Вот ещё исходник выложенной чуть выше эмуляторопроверялки.
Мож пригодится.

org #6000
;чистим экран
di
ld hl,#5aff
ld (hl),#7
dec hl
bit 3,h
jr nz,$-5
xor a
ld (hl),a
or (hl)
dec hl
jr z,$-3
;устанавливаем im 2
ld hl,#fd00
ld de,#fd01
ld b,e
ld c,l
ld (hl),#fe
ld a,h
ld i,a
ldir
ld a,#c3 ;jp nn
ld (#fefe),a
ld hl,imob
ld (#feff),hl
im 2
;декрюнчим кучу NOP'ов
ld hl,#8000
ld de,#8001
ld bc,#7dff
ld (hl),0 ;nop
ldir
ld (hl),#c9 ;ret
ei
;матюгаемся
ld e,0
ld hl,sysmes
call prn
;заносим в счетчик начальное значение
ld a,#ff
ld (count),a
halt
ld b,20
;вызываем 20 раз кучу NOP'ов
w1 call #8000
djnz w1
di
ld a,(count)
;декрюнчим кучу команд EI (не путать с
;Eternity Industry ;) )
ld hl,#8000
ld de,#8001
ld bc,#7dfE
ld (hl),#FD ;EI
ldir
ld c,a
ld a,#ff
ld (count),a
ei
halt
ld b,20
;вызываем 20 раз кучу комад EI
w2 call #8000
djnz w2
di
;сравниваем число интов в первом
;и втором случаях с точностью до ё 1 int'a
ld a,(count)
sub c
inc a
cp 3
;если cf=1, то мы под эмулем, т.к.
;z80 во время команды EI не реагирует
;на прерывания => число интов на реальном
;спектруме в первом и втором замерах
;отличается более чем на 1
PUSH AF
ei
;также если во время прихода прерывания
;выполнялась команда ld a,i (ld a,r),
;процессор посчитает, что прерывания
;запрещены
LD E,0
ld bc,0
w3 ld a,i
jp po,real1
djnz w3
dec c
jr nz,w3
inc e
real1 push de
;снова матюгаемся
ld e,#40
ld hl,report
call prn
ld b,40
call pause
pop de
pop af
rl e
xor a
or e
;если в первом и во втором тестах
;результаты соответствуют реальному
;z80, то печатаем об этом
ld hl,realmes
jr z,real
;иначе печатаем, что нас эмулируют
ld hl,emulmes
real ld e,#60
call prn
;печатаем press any key
ld b,100
call pause
ld hl,anykey
call prn
;опрашиваем any key
key xor a
in a,(#fe)
cpl
and 31
jr z,key
;выходим в бейсик или куда-нибудь еще
di
ld a,#3f
ld i,a
im 1
ei
ret
;процедура печати стринга в верхнюю
;треть экрана методом телетайпа
;hl- asciiz-строка
;е-мл. байт
prn ld a,(hl):inc hl
or a
ret z
push hl
ld b,5
add a,a
ld l,a
cp " "*2
jr z,prn0
ld c,40
xor a
beep ld b,c
xor #18
out (#fe),a
djnz $
dec c
jr nz,beep
inc b
prn0 halt
djnz prn0
ld h,0
add hl,hl
add hl,hl
ld a,h
add a,#3c
ld h,a
ld b,4
ld d,#40
prn1 ld a,(hl)
ld (de),a
inc l
inc d
djnz prn1
ld b,4
prn2 ld a,(hl)
srl a
or (hl)
ld (de),a
inc l
inc d
djnz prn2
pop hl
inc e
jr prn

;мессаги
sysmes db " 2000 Brainwave of X-Project. "
db "System checking! Please wait... ",0
report db "System checking repot:",0

emulmes db " Warning! General failure: "
db "CPU not found! Press F1 for "
db "software emulation... ;-) ",0

realmes db "Congratulations!!! Test detected"
db "the Real ZX-Spectrum. May be. ;)",0

anykey db "Press any key to exit...",0

pause halt
djnz pause
ret
;обработчик прерываний
imob push af
ld a,#3e
count equ $-1
inc a
ld (count),a
pop af
ei
ret

Vitamin
17.02.2008, 13:52
у не знаю почему, но у меня нагрузка на проц ниже 80% не падает (при выборе файла ниже 60%). Картинка прилагается. Наверное комп слабоват.
Скачай ProcessExplorer и посмотри какой точно поток хавает. Утилзу можно бесплатно скачать с сайта мелкософта.

[bETA]mEN
17.02.2008, 15:16
не работают:
GRID PROTECTION SYSTEM 1 /2 /3
Master Copy 2.0
Format Utility 2.01

Alexandr Medvedev
17.02.2008, 15:26
Скачай ProcessExplorer и посмотри какой точно поток хавает.Похоже основной поток.

Vladimir Kladov
24.02.2008, 11:07
Хочу высказать своё страстное пожелание. Предыстория которого состоит в том, наверное, что я не в состоянии приспособить ни zEmu, ни unreal к тому, чтобы их можно было скомпилировать с использованием имеющегося у меня MS VC++.NET 7.1.3088. Да и фиг с ним, не люблю я эту среду, и не горю желанием вносить сам какие-либо изменения, да и сам язык С/C++ мне неприятен. А суть проблемы вот в чём. Уже давно, когда я только начал клепать EmuZWin, у меня возникла простая идея сверки эмуляторов. Но применить её я смог только к различным версиям своего собственного эмулятора. Решение крайне простое. Всё, что нужно, это режим трассировки с выдачей в лог-файл состояния процессора после каждой инструкции. Лучше, конечно, чтобы состав информации был конфигурируемый, хотя бы из ini-файла. Для скорости вовсе необязатльно выдачу в файл выполнять на каждой команде, можно копить в буфере и выдавать за раз 1000 или 100 строк. Ну вот, например:
0038: dT=11 AF=0044 BC=0100 DE=01FF HL=2233 IX=4000 IY=456E I=39 R=76

Сразу скажу: выдаются сотни мегабайт за секунды. Ну и что. Зато, при наличии такого лога можно выполнить покомандную сверку работы двух эмуляторов, начиная с некоторого места. И сверка сводится к сравнению логов трассировки, начатой с одного и того же места, после загрузки одного и того же снапшота. Сравнение может делать специально написанная утилита, которая просто построчно сравнивает два текстовых файла, и показывает их, выделяя отличающиеся строки красным цветом. У меня на сайте есть такая утилита, DiffLines. Намного тупее любой сравнивалки текстов, но позволяет достаточно быстро сравнивать и просматривать пары гигабайтных файлов.

Моё пожелание: сделайте доброе дело, добавте такой режим трассировки в отладчик. Это несложно: вам - полчаса работы, последователям вашим - огромное облегчение. Меня, в принципе, устроит любой формат строки, лишь бы он был достаточно ясен при простом взгляде на строку текста. 16-ричных значений достаточно было бы, для скорости (через тот же ини-файл) имеет смысл задавать, что выводить:
- адрес PC выводится всегда, иначе смысла мало
- опкод (можно байт, или 2 первых байта по адресу PC)
- dT - разница в тактах (время выполнения тольо что исполненной команды)
- регистры (AF, BC, DE, HL)
- IX, IY (вместе или по одному)
- I
- R
- содержимое памяти по заданному адресу (2 байта).
Чуть-чуть продвинутый вариант (его можно сделать единственным): многократное выполнение команды HALT отображается 1 раз.
Имя файла трассировки- устроит любое фиксированное имя, или конфигурируемое из ini-файла. Очередная трасиировка просто дописывает выдачу в конец файла, если он существует. По крайней мере у меня - так.

Alexandr Medvedev
24.02.2008, 20:01
я не в состоянии приспособить ни zEmu, ни unreal к тому, чтобы их можно было скомпилировать с использованием имеющегося у меня MS VC++.NET 7.1.3088.Unreal 0.35b2 и приспосабливать то не надо (он именно под этот компилятор и написан), запускаешь bat файл и сразу получаешь готовый эмуль.

Vladimir Kladov
25.02.2008, 12:08
Угумс, запускаешь. И получаешь:


C:\Games\ZXEmulators\us>C.bat

C:\Games\ZXEmulators\us>rc settings.rc
'rc' is not recognized as an internal or external command,
operable program or batch file.

C:\Games\ZXEmulators\us>call compile ms emul.cpp /link settings.res
'compile' is not recognized as an internal or external command,
operable program or batch file.



C:\Games\ZXEmulators\us>

Я же говорю: с С не работаю, за исключением поковыряться в проекте, уже приспособленном к IDE MS VC++.

Добавлено через 9 минут
Да дело даже и не в этом. Одна и та же вещь в разных эмуляторах может быть реализована не только на разных языках, но и совершенно разными алгоритмами. При наличии стандарта на трассировку можно было бы просто сверять результат, и в чужие исходники вовсе нет нужды заглядывать, достаточно понять, в чём ошибка у себя, и поправить свой код.

Sinus
25.02.2008, 19:37
ок, добавлю трассировку

Vladimir Kladov
25.02.2008, 21:28
Спасибо. Без трассировки туго бывает: пока найдёшь место, где всё уехало вбоки, иногда дни проходят. С трассировкой нужное место за минуты отыскивается. Комп, правда, мощный нужен, ну да это сейчас не проблема.

Alexandr Medvedev
25.02.2008, 21:31
C:\Games\ZXEmulators\us>rc settings.rc
'rc' is not recognized as an internal or external command,
operable program or batch file.Не найден компилятор ресурсов.
C:\Games\ZXEmulators\us>call compile ms emul.cpp /link settings.res
'compile' is not recognized as an internal or external command,
operable program or batch file.Файл compile.bat надо вынуть в текущую папку или прописать путь к неу.
ок, добавлю трассировкуА что там с шибками в эмуляции TR DOS, все нашлись?

Sinus
25.02.2008, 22:25
А что там с шибками в эмуляции TR DOS, все нашлись?
колобок не работал из-за неполной эмуляции LD A,I / LD A,R
туда же и тест эмуль / спек.

ВГшка пока в процессе, но не приоритетно.

Vladimir Kladov
26.02.2008, 15:44
0038: dT=11 AF=0044 BC=0100 DE=01FF HL=2233 IX=4000 IY=456E I=39 R=76

А, кстати, про SP забыл. Куда-нибудь тоде добавьте, например, после IY. Если будет конфигурация, то для SP лучше отдельный пункт.

Doctor Max
11.07.2008, 11:42
Вот прикрутил сабж.
патч во вложении.

breeze
11.07.2008, 18:42
Вот прикрутил сабж.
патч во вложении.

ээээ... :rolleyes: а на чём потестить можно ? :eek:

Alexandr Medvedev
12.07.2008, 18:00
а на чём потестить можно ?Например на новой версии Global tracker'а, если конечно Dr.Max её опубликует.

Doctor Max
14.07.2008, 13:21
Согласно рекомендации Sinus - переделал патч:

Doctor Max
14.07.2008, 13:22
Например на новой версии Global tracker'а, если конечно Dr.Max её опубликует.
:-)
Да нужно!

Alexandr Medvedev
15.07.2008, 14:56
Согласно рекомендации Sinus - переделал патч:Это всё конечно хорошо, но я например пользуюсь Win32 версией, мож кто её пересоберёт?
:-)
Да нужно!Ну тогда и исходники до кучи кинь на opensourcezx.


Кинь мне свой e-mail, а то я по старому достучаться не могу, надо кое-что обсудить.

Doctor Max
16.07.2008, 11:21
Сабж для отображения кириллических имен файлов в UTF локали:

Sinus
16.07.2008, 13:53
подоспела новая версия с целой пачкой фиксов и импрувментов.
скачать можно с http://detstwo.com/pub/zemu/

крутую ридмишку забыл дома, по-этому побыстрому исправил старую, вечером (или завтра) перевыложу с правильной ридмишкой.

кратко:


[add] поддержка скролла на мышке (спасибо Doctor Max-у).
[add] поддержка русского в линуксе (UTF-8 локаль only) (спасибо Doctor Max-у).
[fix] добавлен символ '_' (подчёркивание) и пофикшена позиция '-' (минуса)
[add] cpu trace (идея Vladimir Kladov-a).
[upd] более-менее нормальный дебаггер.
[add] поддержка MAPROM (маппинг 0 банки памяти на место ПЗУ).
[add] поддержка мегабайта по стандаргу Pentagon1024sl2.2
[fix] глюки в эмуляции LD A,R / LD A,I


Ещё вспомнил что сделал турбо (до 4x), на кнопке F2 либо программно по стандарту Pentagon1024sl2.2

В отличие от реального пентагона и UnrealZX турбо по умолчанию выключена (хотя, возможно, она включается не аппаратно, а gluk-ом, лень проверять)

P.S. ВГ-шку пока не трогал. В следующей версии. Возможно.

boo_boo
16.07.2008, 19:53
[fix] глюки в эмуляции LD A,R / LD A,I
а слабо было аффтару libz80ex сообщить о глюках?
тудыть, пишешь для них опенсурс, бессонных ноченек не досыпаешь, а они хоть бы весточку фидбека в ответ..
и еще, насчет патченной libz80ex у тя на сайте. цитата из GNU GPL:


You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.

и это тру! ибо очень муторно diff-ом выгребать изменения

по следам твоих правок зарелизил 0.16 (http://sourceforge.net/projects/z80ex/)ю версию либы. вместо твоей ф-ии z80ex_noint_once(), в смысле которой посторонний чел без поллитры не разберется, сделал z80ex_int_possible(), которая возвращает тру если на данном шаге возможно прерывание. собрал zemu с этой версией (поправив имя ф-ии) -- работает. заодно поправил глюк в NMI, там IFF1 в IFF2 не пихалось.

UPD о, кажись нашел баг в дебаггере -- иногда дизассемблер не совпадает с PC. например, PC=чегототам, а дизассемблер идет с чегототам-1, а там какая-нить многобайтовая инструкция, которая перекрывает PC

Sinus
18.07.2008, 17:18
а слабо было аффтару libz80ex сообщить о глюках?
тудыть, пишешь для них опенсурс, бессонных ноченек не досыпаешь, а они хоть бы весточку фидбека в ответ..
да я хотел нормально патч оформить, да всё времени не было.


You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
тобишь помечать изменения и ставить дату?


по следам твоих правок зарелизил 0.16ю версию либы.
замечательно :) следующую версию буду собирать с ней.


UPD о, кажись нашел баг в дебаггере -- иногда дизассемблер не совпадает с PC. например, PC=чегототам, а дизассемблер идет с чегототам-1, а там какая-нить многобайтовая инструкция, которая перекрывает PC
есть такое дело. пока ломает фиксить :)

boo_boo
18.07.2008, 20:15
да я хотел нормально патч оформить, да всё времени не было. оформить я сам могу, ты главное пиши в личку, если глюк найдешь :)

тобишь помечать изменения и ставить дату?дату не обязательно, комент типа /*[rst] чето-там */ в месте правки, как ты в вгшной либе ставил

Sinus
20.07.2008, 22:13
Hi, %username%
новая эмулятора версия вышла: http://detstwo.com/pub/zemu/
win32 бинари пока не готовы.



####################
## Version 0.9992 ##
####################

(!) справедливость восстановлена, и теперь можно брать lib_z80ex с сурсфорджа (версия >= 0.16)

[fix] несколько багов в дебаггере
[add] да, да, да. это свершилось. а именно - поддержка ленты в виде .tap файлов.
немного о кнопках в файл-браузере;
S - сохранить диск
E - вынять диск
D - вынять кассету
R - перемотать кассету в начало
T - start/stop кассеты
W - поставить/убрать WR-protect на текущий диск
UP, DOWN, HOME, END, PGUP, PGDN - выбирать файл в списке
LEFT, RIGHT - выбирать дисковод
BACKSPACE - вверх на уровень
ENTER - выбрать что-нибудь ^_^


Добавлено через 2 минуты
забыл вставить в римишку:

* F4 - турбо до 4x
* если идёт загрузка с ленты и включен max speed, то если лента закончится, max speed автоматически выключается. мне так удобно.

breeze
21.07.2008, 01:14
Это мега зло! но мы только что с матами напополам собрали сие чудо под FreeBSD 6.3 - осталось доделать этот скрипт ) и выложить на суд общественности ;) если кому это надо конечно...

boo_boo
21.07.2008, 01:37
ура, загрузка с ленты! аффтару респект и уважуха!

просек фишку с "несовпадением" PC и дизасма -- это происходит, когда на момент нажатия F4 был отработан префикс, а команда после префикса еще нет. так что я был неправ, все совпадает и дизасмится на ура, разве что вызов дебаггера можно откладывать до завершения команды для пущей кошерности ;)

Sinus
21.07.2008, 20:37
win32 версия 0.9992, брать как обычно на http://detstwo.com/pub/zemu/



просек фишку с "несовпадением" PC и дизасма -- это происходит, когда на момент нажатия F4 был отработан префикс, а команда после префикса еще нет. так что я был неправ, все совпадает и дизасмится на ура, разве что вызов дебаггера можно откладывать до завершения команды для пущей кошерности

exactly, только мне нравится эта фишка, позволяет более точно дебагится.
сейчас я сделал две плюшки:
1) если это похоже на такую комманду, то коричневым будет подсвечено, но жёлтой рамочки не будет (она кагбэ внутри)
2) если совсем никак нельзя нормально отдизассемблить, чтоб не терялся курсор, то будет вставлятся "DB XX" (так же будет работать если перейти на адрес с помощью "GoTo Address")

boo_boo
30.07.2008, 03:27
приделал вот реальный джойстик к сабжу. пока только кемпстон.. во вложении все сорцы собсно zemu, мои правки помечены как //[boo_boo]
если чо не пашет, проверьте сперва, что не забыли скопировать секцию "Joysticks/Kempston" в конфиг, и что номер джойстика в системе (от нуля считаеца) там соответствует ;)

breeze
30.07.2008, 09:55
приделал вот реальный джойстик к сабжу. пока только кемпстон.. во вложении все сорцы собсно zemu, мои правки помечены как //[boo_boo]

о! кул новости :) надо будет вечерком собрать проверить :rolleyes:

ander
30.07.2008, 21:42
Во-первых хочется сказать большое спасибо sinus'у и boo_boo за огромный объем работ :v2_wink2:. К слову сказать, fuse даже рядом не стоял с zemu, а то, что zemu работает в линуксе, тем более достаточно стабильно, делает его практически бесценным :-). Но все же, есть и минусы, которые сразу бросаются в глаза (достоинств программы не касающиеся) и о которых хотелось бы сказать, чтобы еще более популяризовать проект:
1. скрипты compile.sh просто ужасные. Я не так давно пересел на убунту, но даже в ней скрипты вылетают с кучей ошибок, даже не компиляции, а синтаксиса sh.
2. библиотека lib_wd1793 по умолчанию компилится как статическая, а в команде сборки указывается как -lunrealwd1793, что по умолчанию предполагает динамическую линковку. compile.sh не отрабатывает и не копирует библиотеку в соответствующие каталоги, сборка завершается достаточно плачевно..
3. библиотека z80ex, выложенная вместе с архивом zemu, не собирается нормально на x86_64 архитектуре, т.к. пытается слинковать динамическую библиотеку из объектных файлов, полученных без применения ключа -fPIC.
4. в скрипте compile.sh явно указана i585 архитектура в параметре CFLAGS и CXXFLAGS, что делает сборку zemu на 99% невозможной для пользователей ОС на архитектуре x86_64, которых становится все больше..
В связи с этим пожелание: думаю все это можно исправить за пару-тройку вечеров, переведя проект на autotools. Тем более, что все зависимости уже находятся внутри проекта.
И неплохо было бы поместить проект на sourceforge или подобный хостинг, а то на данный момент обнаружить его можно лишь случайно..

На данный момент чтобы собрать проект нужно быть либо программистом, либо очень продвинутым пользователем, знающим хотя бы основы unix. На сборку может потребоваться от 5 минут(для программера) до +бесконечности для того, у кого нет опыта ручной сборки программ..

breeze
31.07.2008, 00:12
На данный момент чтобы собрать проект нужно быть либо программистом, либо очень продвинутым пользователем, знающим хотя бы основы unix.

хе хе :cool: а ты представь как я эт0 всё собирал под FreeBSD :eek:

boo_boo
31.07.2008, 02:20
библиотека z80ex, выложенная вместе с архивом zemu, не собирается нормально на x86_64 архитектуре, т.к. пытается слинковать динамическую библиотеку из объектных файлов, полученных без применения ключа -fPIC. точно, спасиб :) версию на сорсфордже обновил

Добавлено через 7 минут

переведя проект на autotoolsоно конечно традиционно, и все такое, но уж очень монструозно для такой простой вещи, как сборка ИМХО ;)
сделав один проект с автотулзами, забыл о них как о страшном сне в пользу православных мейкфайлов. надо б на досуге scons или cmake попробовать, может там все не так мрачно..

Sinus
31.07.2008, 20:03
1. скрипты compile.sh просто ужасные. Я не так давно пересел на убунту, но даже в ней скрипты вылетают с кучей ошибок, даже не компиляции, а синтаксиса sh.

скажите что за ошибки и вышлите исправленные варианты мне на email плиз.


2. библиотека lib_wd1793 по умолчанию компилится как статическая, а в команде сборки указывается как -lunrealwd1793, что по умолчанию предполагает динамическую линковку. compile.sh не отрабатывает и не копирует библиотеку в соответствующие каталоги, сборка завершается достаточно плачевно..

это наверное какая-то особенность бубунты.
gcc достаточно умный чтоб слинковать статически, и везде где я пробовал (debian, freebsd, gentoo, win/mingw) нормально линковало.

compile.sh внутри lib_wd1793 должен копировать либу в папку внитри zemu, а в compile.sh который в zemu указан путь к дополнительным либам.


4. в скрипте compile.sh явно указана i585 архитектура в параметре CFLAGS и CXXFLAGS, что делает сборку zemu на 99% невозможной для пользователей ОС на архитектуре x86_64, которых становится все больше..

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


В связи с этим пожелание: думаю все это можно исправить за пару-тройку вечеров, переведя проект на autotools. Тем более, что все зависимости уже находятся внутри проекта.

не не не дэвид блэйн, только не autotools :)
что-нибудь другое бы, менее монструозное.


И неплохо было бы поместить проект на sourceforge или подобный хостинг, а то на данный момент обнаружить его можно лишь случайно..

есть причины по которым я не могу это сделать.


На данный момент чтобы собрать проект нужно быть либо программистом, либо очень продвинутым пользователем, знающим хотя бы основы unix. На сборку может потребоваться от 5 минут(для программера) до +бесконечности для того, у кого нет опыта ручной сборки программ..

хочется чтоб такого не было, но и чтоб всё было более чем доступно и понятно.

для меня даже make-файлы являются абсолютно неочевидной вещъю, что уж говорить про autotools.

boo_boo
31.07.2008, 21:25
но даже в ней скрипты вылетают с кучей ошибок, даже не компиляции, а синтаксиса sh. кстати, а что говорит `/bin/sh --version`? может статься, в убунте sh это не bash, как обычно в линухах, а че-нить другое..

почитал про cmake -- судя по всему, более вменяемо, чем автотулзы :). Sinus, глянь на екзампл, может, тебе понравится: http://www.cmake.org/HTML/Examples.html
cmake-проект для zemu должон быть ненамного сложнее этого екзампла.

breeze
31.07.2008, 23:35
а че-нить другое..

- что другое ? печеньки ?....
- аааааааа! печеньки! печеньки! ....

сорри не удержался :eek:

skyther
19.08.2008, 16:19
сделайте плиз 0ю банку пзу :v2_thumb:

Sinus
19.08.2008, 22:11
0 банка ПЗУ это что?
"кэш" что-ли, когда озу мапится вместо пзу? дык есть такое, по пентагону сл.

skyther
19.08.2008, 22:21
это вот:
0 sys
1 trdos
2 128
3 48

Sinus
20.08.2008, 17:16
а это где-нибудь используется? и по какому стандарту надо (по каким портам должно переключаться)?
вот у меня такое в кае есть, только не использовал ни разу :)

Sinus
26.06.2009, 02:20
Hi, %username%
новая эмулятора версия вышла: http://detstwo.com/pub/zemu/

много вкусного.
win32 будет как только доберусь до машины с виндой и mingw.



####################
## Version 0.9993 ##
####################

[upd] AntiFlicker improvements.
[upd] AttributesHack improvements.
[upd] сильно переработана звуковая система. теперь добавлять новые звуковые устройства стало проще.
[add] covox.
[upd] переделан опрос девайсов (вместо цикла по девайсам теперь хэш-таблица). должно стать быстрее.
[upd] переработан эмулятор YM чипа. теперь он в красивом классе и endian-независимый.
[upd] переработан эмулятор WD1793. ага, всё в красивых классах и endian-независимо (ну я так надеюсь).
[fix] исправлены многочисоенные недочёты эмуляции WD1793 (работает ADS 3.0i, RDS 3.1, Smash commander 2.0).
[add] кемпстон-джойстик (на основе кода boo_boo).
[add] управление кемпстоном с клавиатуры,
INS - включить режим (можно поставить другую кнопку в keys.config)
курсорнае клавиши - управление джоем, RCtrl - огонь (ни курсоры ни огонь переназначить нельзя).
[add] пауза (чтоб получше рассмотреть картинку). по дефолту кнопка Pause/Break.
[add] поддержка подгружаемых меток в формате UnrealZX (такие умеет выгружать sjasmplus), но пока метки не показываются :)
зато если метка начинается с "__bp__", то туда проставится брейкпоинт.
[fix] исправлена серьёзная ошибка в sdlwaveplayer (приводила к зависанию эмулятора).
но, кстати, не факт что там нет какой-нибудь другой фатальной ошибки.
[add] лента в .wav формате. (кстати, несмотря на то что код для .voc тоже есть, он не работает пока).
[upd] обновлена lib_z80ex (с сурсфорджа).
[upd] выполнен переход на make-файлы

CityAceE
26.06.2009, 13:20
Что-то у меня отказывается работать. Скомпилировался, запустился, появилось меню ZX 128, из динамиков пошёл треск и никакой реакции на клавиши.

Может я скомпилировал криво? Но я так понимаю, что эмулятор в этом случае вообще не запустился бы.

Sinus
27.06.2009, 01:16
из динамиков пошёл треск
а попробуйте в config.xml выставить UseSdlSound в "no"
и, кстати, не из под GNOME ли запускался эмуль?


и никакой реакции на клавиши.
хм. может какие-то проблемы с SDL?
совсем ни на какие, или F2-F7 дают какую-нибудь реакцию?
по ESC выходит?

Sinus
29.06.2009, 01:35
####################
## Version 0.9994 ##
####################

[fix] пофикшен главный мэйкфайл на предмет install.
[fix] фиксы WD1793 насчёт FUT 2.01 и сломавшейся BestView.
[upd] в конфиге можно выставить режим работы TSFM (ay, ts или tsfm)
[upd] Scanlines improvements


брать всё там же (http://detstwo.com/pub/zemu/)

Sinus
29.06.2009, 17:52
win-версия. обновлённые сорсы будут вечером.



#####################
## Version 0.99941 ##
#####################

[fix] Makefile для MinGW
[fix] файл-браузер в win32 версии
[fix] баг с показом левых файлов в файл-браузере
[upd] старый и более быстрый алгоритм анти-фликера оказался более близким к реальности чем новый. вернул старый.

Alexandr Medvedev
29.06.2009, 22:22
[fix] файл-браузер в win32 версииА где выбор диска? А то лазить тока по текущему диску не интересно.

---------- Post added at 22:22 ---------- Previous post was at 21:58 ----------


[fix] исправлены многочисоенные недочёты эмуляции WD1793 (работает ADS 3.0i, RDS 3.1, Smash commander 2.0).Какие, какие недочёты :) ?
RDS 3.1 по прежнему глючит, говорит что диск не форматирован, а остальные утилиты вроде заработали как надо.

rasmer
30.06.2009, 01:40
и, кстати, не из под GNOME ли запускался эмуль?Насколько я знаю СиТиЭйс юзает убунту => GNOME....
А что? только из кед запускать? Проблемы с буферизацией?

boo_boo
30.06.2009, 02:31
Насколько я знаю СиТиЭйс юзает убунту => GNOME....
А что? только из кед запускать? Проблемы с буферизацией?
слегка оффтопом ВНЕЗАПНО благая весть:
я вот не юзаю под линухом ни кед, ни гнома, и всё пашет на отличненько :v2_wink:

Sinus
30.06.2009, 03:17
А где выбор диска? А то лазить тока по текущему диску не интересно.

в следующей версии, ибо винда у меня на работе, а на работе вроде как работать надо, а не эмули писать :)


Какие, какие недочёты :) ?
RDS 3.1 по прежнему глючит, говорит что диск не форматирован

а что мне надо сделать чтоб так получилось? а то я вон скачал rds с виртуал тырдоса, так работает всё, чек, ресторе, и т.д.

http://images.detstwo.com/thumbs/kZWAsS.png (http://images.detstwo.com/view/kZWAsS.png)

---------- Post added at 02:15 ---------- Previous post was at 02:11 ----------


Насколько я знаю СиТиЭйс юзает убунту => GNOME....
А что? только из кед запускать?

когда у меня был дебиан, у мну были кеды, теперь у меня xfce.
ещё можно под голыми иксами запустить.


Проблемы с буферизацией?

не знаю с чем там проблемы, но с учётом того что везде кроме гнома работает, то проблемы похоже в гноме.

---------- Post added at 02:17 ---------- Previous post was at 02:15 ----------


слегка оффтопом ВНЕЗАПНО благая весть:
я вот не юзаю под линухом ни кед, ни гнома, и всё пашет на отличненько :v2_wink:

^______________^