PDA

Просмотр полной версии : эмуль под linux/unix, альфа-версия, тестируем!!!



boo_boo
21.01.2006, 06:22
вообщем, сделал вот -- на основе глюкалки, с эмуляцией ВГ93 из UnrealSpeccy.
назвал UGluk (АнриалГлюкалка, что неплохо характеризует сабж ,)
подробности - в ридми.
загружаем-компилируем-давим на кнопки, пишем багрепорты, шлем патчи и тп и тд :)

ах, да, файл надо переименовать в ugluk_0.1.tar.gz -- никакой он не зип, просто в списке дозволенных расширений файлов .gz не значится... уважаемый модератор, можно его туда добавить? ;)

Shaos
21.01.2006, 07:20
У меня не собирается - ругается на отсутствие Xm/Xm.h

SMT
21.01.2006, 13:10
зачем скорость вращения диска увеличена до 900 об/мин?

boo_boo
21.01.2006, 13:17
У меня не собирается - ругается на отсутствие Xm/Xm.h
или Lesstif не стоит, или в Makefile (секция Settings) пути к нему надо правильные прописать. см ридми :)

boo_boo
21.01.2006, 13:25
зачем скорость вращения диска увеличена до 900 об/мин?
память у меня девичья -- изменил зачем-то, а обратно поставить забыл :-\
спасибо!

Sinus
21.01.2006, 15:38
сегодня протесчу.
а зачем на основе глюкалки?
понятно что зетник везде из фусе, но добавляй туда куски из унрила (разные модели спеков, аюгрик).

КСТАТИ, SMT, как можно в анриле (и можно ли вообще) хардверно отключить аюгрик (не убрать вывод звука, а так чтоб его на портах не висело).
или я глючу?

SMT
21.01.2006, 15:52
хардверно отключить аюгрик
это где выбор просто AY/турбо или вобще нет

Sinus
21.01.2006, 16:04
да. когда я выбираю что вообще нет, то вроде просто нет звука.
тестил на игрушке Exolon (там автоопределение стоит).
Или у меня эксолоны битые (3 штуки ^_~) или хардверное отключение как-то не так работает.

boo_boo
21.01.2006, 16:10
сегодня протесчу.
а зачем на основе глюкалки?
понятно что зетник везде из фусе, но добавляй туда куски из унрила (разные модели спеков, аюгрик).

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

но суть не в этом, а в том, что ты можешь хоть сейчас взять анриловскую эмуляцию ВГ (из директории unreal_wd1793 в исходниках ugluk), которая собирается как самостоятельная библиотека, и за пять минут встроить в fuse или куда угодно, не вникая в то, как оно там эмулируется. с этой целью все и делается, если честно -- хочу, чтоб под юниксами было много хороших эмулей ;)

SMT
21.01.2006, 16:58
на основе глюкалки потому, что она написана просто и в лобэто точно. особенно такие шедевры, как хранение флажка в переменной строке (типа tapetype="WAV") или во шедевр типа

if (var1 & 1) var2 = 1;
else var2 = 0;

ж-)

SMT
21.01.2006, 17:10
тестил на игрушке Exolon (там автоопределение стоит).
Или у меня эксолоны битые (3 штуки ^_~)
я тестил на 2 прогах: TEST4.30 от compoWelcome и от HorrorFasTest 1.01 от CPU

boo_boo
21.01.2006, 17:31
это точно. особенно такие шедевры, как хранение флажка в переменной строке (типа tapetype="WAV") или во шедевр типа

if (var1 & 1) var2 = 1;
else var2 = 0;

ж-)
ага :) еще умиляет задание страниц памяти как отдельных массивов:
unsigned char ram8[16384];
unsigned char ram9[16384];
unsigned char ramA[16384];
...

и последующие конструкции типа:
case 0: new_ram=ram8; return;
case 1: new_ram=ram9; return;
case 2: new_ram=ramA; return;
...

:eek:

Shaos
21.01.2006, 18:21
ага :) еще умиляет задание страниц памяти как отдельных массивов:
unsigned char ram8[16384];
unsigned char ram9[16384];
unsigned char ramA[16384];
...

и последующие конструкции типа:
case 0: new_ram=ram8; return;
case 1: new_ram=ram9; return;
case 2: new_ram=ramA; return;
...

:eek:

Очень похоже что это ради собираемости 16-битными компиляторами - может корни сего кода уходят в далекое прошлое BC2.0 или BC3.1? ;)

Vladimir Kladov
22.01.2006, 07:26
Возможно гранулярность 1К сделана в расчете на очень далекую перспективу? (Хотя почему бы тогда не использовать массив массивов вместо case). Я вот тоже сначала сделал гранулярность 16К, потом пришлось переделывать на 8К, а потом видел ПЗУ с Фортом, там адресация такая хитрая, гранулярность требуется (кажется) до 2К (или все-таки до 1К) - один блок ОЗУ / ПЗУ отражается на несколько блоков памяти.

Sinus
23.01.2006, 11:19
Испробовал ugluk...
Может ВГшка там и зашибись работает, незнаю, протестить не смог, ибо
все остальное глючит ^_~
нормально (больше 15 секунд правильно) не заработала ни одна демка ;)

boo_boo
23.01.2006, 19:43
Испробовал ugluk...
Может ВГшка там и зашибись работает, незнаю, протестить не смог, ибо
все остальное глючит ^_~
нормально (больше 15 секунд правильно) не заработала ни одна демка ;)

хе, еще бы, демка %)
в основе-то код от глюкалки -- ни мультиколера/бордера, ни AY нормального, да еще кучи недокументированных команд не реализовано в эмуляции Z80.

вот когда портану AY из unreal, сделаю новые z80, контроллер памяти и видео, можно будет демки гонять ,)

Sinus
24.01.2006, 03:05
Ну так это, не томи! Давай сначала зетник и видео. А потом и аюгрик до кучи- вот и унрил портанёшь ^_~

Электрик
24.01.2006, 03:36
Перетаскивать куски из анрыла это хорошо, но может поправите чтобы начальная менюшка (tape, басик, дырдос...) таки вылазила? :rolleyes:

Sinus
24.01.2006, 11:25
в глюкалке? а она вылазит ^_~
у тебя белый экран?
тогда поставь вывод на Xlib и усё буде у парадку.

boo_boo
24.01.2006, 14:11
Перетаскивать куски из анрыла это хорошо, но может поправите чтобы начальная менюшка (tape, басик, дырдос...) таки вылазила? :rolleyes:
да, похоже, глюки с mit-shm
"xdpyinfo -ext MIT-SHM" чего выдает?

Электрик
24.01.2006, 14:50
До линукса доберусь в следующий раз нескоро, чего там крутить надо чтобы белого экрана не было?

boo_boo
24.01.2006, 15:16
в глюкалке? а она вылазит ^_~
у тебя белый экран?
тогда поставь вывод на Xlib и усё буде у парадку.
ого, и у тебя mit-shm не пашет?
запость вывод "xdpyinfo -ext MIT-SHM", пжаалста -- любопытство замучало ,)

boo_boo
24.01.2006, 15:18
До линукса доберусь в следующий раз нескоро, чего там крутить надо чтобы белого экрана не было?
настройки (кнопка с колесиком) -> screen -> xlib.
или в .ugluk Screen_Refresh_Rate поставить 0.

Электрик
24.01.2006, 18:47
Вау, там ещё и колёсико работает... Никогда бы не догадался. :rolleyes:

boo_boo
24.01.2006, 19:34
Вау, там ещё и колёсико работает... Никогда бы не догадался. :rolleyes:
оно не работает, оно на кнопке тулбара намалевано :)

Электрик
24.01.2006, 20:42
Бррр... Ничего не понял. У меня там при запуске просто белый (вернее скорее серый) экран, ну как стандартная спековская менюшка, только самой менюшки нет. Но если вверх-вниз пощёлкать то звук от менюшки есть. Где там это самое колёсико, куда чего щёлкать? :confused:

boo_boo
24.01.2006, 21:12
Бррр... Ничего не понял. У меня там при запуске просто белый (вернее скорее серый) экран, ну как стандартная спековская менюшка, только самой менюшки нет. Но если вверх-вниз пощёлкать то звук от менюшки есть. Где там это самое колёсико, куда чего щёлкать? :confused:
тулбар вверху видишь? седьмая кнопка слева, вкладка Screen, установи флажок "Xlib".
или открой файл .ugluk в домашней директории и напротив Screen_Refresh_Rate поставь 0

Электрик
24.01.2006, 21:41
Совсем запутался.. Ладно, как до линукса доберусь, попробую. :sleep:

Sinus
25.01.2006, 01:19
ого, и у тебя mit-shm не пашет?
запость вывод "xdpyinfo -ext MIT-SHM", пжаалста -- любопытство замучало ,)

да пжалста, няма базару:



name of display: :0.0
version number: 11.0
vendor string: The XFree86 Project, Inc
vendor release number: 40300001
XFree86 version: 4.3.0.1
maximum request size: 4194300 bytes
motion buffer size: 256
bitmap unit, bit order, padding: 32, LSBFirst, 32
image byte order: LSBFirst
number of supported pixmap formats: 7
supported pixmap formats:
depth 1, bits_per_pixel 1, scanline_pad 32
depth 4, bits_per_pixel 8, scanline_pad 32
depth 8, bits_per_pixel 8, scanline_pad 32
depth 15, bits_per_pixel 16, scanline_pad 32
depth 16, bits_per_pixel 16, scanline_pad 32
depth 24, bits_per_pixel 32, scanline_pad 32
depth 32, bits_per_pixel 32, scanline_pad 32
keycode range: minimum 8, maximum 255
focus: window 0xa00010, revert to None
number of extensions: 30
BIG-REQUESTS
DOUBLE-BUFFER
DPMS
Extended-Visual-Information
FontCache
GLX
LBX
MIT-SCREEN-SAVER
MIT-SHM
MIT-SUNDRY-NONSTANDARD
NV-CONTROL
NV-GLX
RANDR
RECORD
RENDER
SECURITY
SHAPE
SYNC
TOG-CUP
X-Resource
XC-APPGROUP
XC-MISC
XFree86-Bigfont
XFree86-DGA
XFree86-Misc
XFree86-VidModeExtension
XInputExtension
XKEYBOARD
XTEST
XVideo
default screen number: 0
number of screens: 1

screen #0:
dimensions: 1024x768 pixels (302x232 millimeters)
resolution: 86x84 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x7d
depth of root window: 24 planes
number of colormaps: minimum 1, maximum 1
default colormap: 0x20
default number of colormap cells: 256
preallocated pixels: black 0, white 16777215
options: backing-store NO, save-unders NO
largest cursor: 32x32
current input event mask: 0xfa200c
ButtonPressMask ButtonReleaseMask ButtonMotionMask
StructureNotifyMask SubstructureNotifyMask SubstructureRedirectMask
FocusChangeMask PropertyChangeMask ColormapChangeMask
number of visuals: 16
default visual id: 0x21
visual:
visual id: 0x21
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x22
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x23
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x24
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x25
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x26
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x27
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x28
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x29
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x2a
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x2b
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x2c
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x2d
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x2e
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x2f
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
visual:
visual id: 0x30
class: DirectColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits

MIT-SHM version 1.1 opcode: 148, base event: 95, base error: 169
shared pixmaps: yes, format: 2


самое важное я выделил болдом- глюкалка весьма неадекватно реагирует на bpp кроме 16

boo_boo
25.01.2006, 03:07
да пжалста, няма базару:
<поскипано>
самое важное я выделил болдом- глюкалка весьма неадекватно реагирует на bpp кроме 16
ммдя... у меня все то же самое, но вывод через mit-shm работает на всех bpp О__о
*задумался*

Sinus
25.01.2006, 11:23
фз. там вроде даже в ридмишке написано, что типа ГГ НО РЕ если бпп != 16

зы. там у мну при компиляции каких-то хидеров не зватало, дык я в config.h какой-то дефайн закомментил (да, блин, каких-то хидеров, какой-то дефайн ^_~). может оно было?
когда времени поболе станет, могу поковырять.

boo_boo
25.01.2006, 12:32
фз. там вроде даже в ридмишке написано, что типа ГГ НО РЕ если бпп != 16
написано "Подерживается 8/15/16/32-bit глубина цвета"


зы. там у мну при компиляции каких-то хидеров не зватало, дык я в config.h какой-то дефайн закомментил (да, блин, каких-то хидеров, какой-то дефайн ^_~). может оно было?
когда времени поболе станет, могу поковырять.
небось, #define XF86VMODE? это только на полноэкранный режим (точнее, его отсутствие) влиять должно... а кинь плз в меня diff'om того, что ты правил (если сохранилось), от первоночальных сорцов?

Sinus
25.01.2006, 13:55
написано "Подерживается 8/15/16/32-bit глубина цвета"
хммм.. вроде я другое читал.

небось, #define XF86VMODE
оно самое

а кинь плз в меня diff'om того, что ты правил (если сохранилось), от первоночальных сорцов?
вроде потёр. не помню точно. приду домой- посмотрю.

boo_boo
25.01.2006, 17:35
между прочим, к глюкаловской эмуляции ULA я был несправедлив. она вполне себе умеет мультиколор и бордюр. но только в mit-shm режиме...