PDA

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



Страницы : 1 2 3 4 5 6 7 [8] 9 10 11 12

SAM style
29.12.2019, 23:57
У меня тапки не грузятся без турбо :( Хотя они и раньше без фаст лоадинг тоже не грузились. Можно что-то сделать? И это нормально, что при включенной турбе в загрузке ускоряется сама игра?Если у тебя ева - включи обратно 3,5МГц. Длительность сигналов ленты рассчитана именно на неё. Скорее всего, из-за этого и ускорение в играх. Турбо загрузка с ленты просто перехватывает PC на определённом адресе и делает всю работу по-быстрому.

И у меня почему-то даже если выбрать в меню 48k - в режиме zx evolution - он всё равно остается 128k (или точнее выше, я точно не проверял сколько именно памяти, просто 128k only игры прекрасно грузятся).Для евы и атм2 это не работает. Конкретно baseconf стартует с последней страницей rom во всех окнах памяти и потом уже натыкивает себе страницы какие надо.А, падажжжи, не сразу вкурил... проверю.

Shadow Maker
30.12.2019, 14:31
Если у тебя ева - включи обратно 3,5МГц. Длительность сигналов ленты рассчитана именно на неё. Скорее всего, из-за этого и ускорение в играх. Турбо загрузка с ленты просто перехватывает PC на определённом адресе и делает всю работу по-быстрому.
Для евы и атм2 это не работает. Конкретно baseconf стартует с последней страницей rom во всех окнах памяти и потом уже натыкивает себе страницы какие надо.А, падажжжи, не сразу вкурил... проверю.

У меня вот так стоит
https://imgur.com/r4oaVIq.png

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

И кстати совершенно он достал самостоятельно сбрасывать на x2.0 с x1.0, он по какому принципу вообще это делает? Ставишь ему x1.0 - всё нормально, воткнул тапку - опять x2.0

По поводу меню - я про меню спектрума, где там TRDOS, 48 BASIC и прочее. Вот выбираешь 48 basic, usr 15616 и он замечательно грузит 128k-only программы. Это наверное неправильно? Такое тоже в режиме Эвы, в Пентагоне проверял - там нормально.


Еще если режим Эвы стоит - снапшоты не грузятся, а резетит в Evo Reset Service. Так же не должно быть? Он по идее должен посмотреть че там в снапшоте за машина забита и выбрать эту машину. Ну или на крайняк просто запустить. А так совсем неправильно че-то.

SAM style
30.12.2019, 16:21
Но ничего не грузится. Иногда (редко) загрузит бывает первый блок с програм, но дальше - шиш.
И кстати совершенно он достал самостоятельно сбрасывать на x2.0 с x1.0, он по какому принципу вообще это делает? Ставишь ему x1.0 - всё нормально, воткнул тапку - опять x2.0В ERS нажми W, поставь частоту проца на 3,5. Это сама машина меняет режим турбы как ей хочется, эмулятор совершенно не при чём.


Еще если режим Эвы стоит - снапшоты не грузятся, а резетит в Evo Reset Service. Так же не должно быть? Он по идее должен посмотреть че там в снапшоте за машина забита и выбрать эту машину. Ну или на крайняк просто запустить. А так совсем неправильно че-то.
Со снапшотами следующая фигня. Только что созданная железяка на старте эмулятора сбрасывается, чтобы инициализироваться. ATM2 и BaseConf при этом выставляют свою уникальную карту памяти - во всех 4 окнах последняя страница ROM. Загрузка снапшота сейчас эту особенность не учитывает, грузится в RAM (которого не видно) и куда бы PC не попал, он всё равно будет в ROM, отсюда выполнение хрен знает чего, в большинстве случаев приводящая к сбросу. Когда дойдут руки - доделаю.

По поводу меню - я про меню спектрума, где там TRDOS, 48 BASIC и прочее. Вот выбираешь 48 basic, usr 15616 и он замечательно грузит 128k-only программы. Это наверное неправильно? Такое тоже в режиме Эвы, в Пентагоне проверял - там нормально.А реальная ева лочит верхнюю память при выходе в 48-й бейсик, или просто сбрасывается в определённую страницу? Требуемо на реале выйти в 48 бейсик и проверить:

clear 40000: out 32765,16: poke 50000,16: out 32765,17: poke 50000,17: out 32765,16: print peek 50000
Если выйти в basic48 из ERS - у меня 17 (память залочена), а если из меню 128к выйти в 48й - 16 (разлочена)

kgbplus
09.01.2020, 15:29
Привет! Собрал эмулятор из исходников с гитхаба, выбрал baseconf, обновил ERS на последнюю, но все равно на нем не запускается недоось. В чем может быть дело?
Может быть там версия самой конфы устарела? Ее можно как то обновить?

SAM style
09.01.2020, 19:01
последняя это ers 0.58.14? У меня запускается. Как вариант - проверить в настройках, чтобы был выбран BetaDisk (Options -> Storage -> Disk -> Interface)
PS:Брал с сайта nedopc. Может, ещё новее есть?

Shadow Maker
09.01.2020, 22:29
А реальная ева лочит верхнюю память при выходе в 48-й бейсик, или просто сбрасывается в определённую страницу? Требуемо на реале выйти в 48 бейсик и проверить:

clear 40000: out 32765,16: poke 50000,16: out 32765,17: poke 50000,17: out 32765,16: print peek 50000
Если выйти в basic48 из ERS - у меня 17 (память залочена), а если из меню 128к выйти в 48й - 16 (разлочена)
Ну как доберусь до реальной евы - проверю. Может кто-то еще более другой ранее посмотрит...

kgbplus
10.01.2020, 13:35
последняя это ers 0.58.14? У меня запускается.
Я имел в виду саму конфу, т.е. где написано xEvo 0.52. Но раз запускается, то дело не в ней.
Кстати я запускаю из образа sd карты. Может дело в этом?

SAM style
10.01.2020, 17:07
Я имел в виду саму конфу, т.е. где написано xEvo 0.52.Это забито в самом эмуляторе. Я там могу написать всё, что угодно - например, "Boobs size 3.0"
А вообще, что надо сделать, чтобы воспроизвести? Baseconf научился грузиться с SD-карты, как TSConf? Или на SD-карте лежит какой-то trd, который надо попытаться запустить?

Black Cat / Era CG
10.01.2020, 20:41
Если выйти в basic48 из ERS - у меня 17 (память залочена), а если из меню 128к выйти в 48й - 16 (разлочена)
Если из ERS через Service->Basic 48 standart, то тоже 17. Это в Base, в TS не проверял.

SAM style
10.01.2020, 22:03
Если из ERS через Service->Basic 48 standart, то тоже 17
А если сначала в меню 128, а из него в 48, то что?

Black Cat / Era CG
11.01.2020, 21:15
брррр. щас проверю.

fomonster
11.01.2020, 21:19
Подскажите пожалуйста рабочие ROMSETS настройки для ZXEvo. Что-то не получилось запустить.

Black Cat / Era CG
11.01.2020, 21:27
ERS -> Service -> Basic 48 standart - 17
ERS -> 48k basic - 17
ERS -> 128k basic - 17


А вот если выставить в ERS Memory lock в off, то через 128 - 16

SAM style
11.01.2020, 21:41
Подскажите пожалуйста рабочие ROMSETS настройки для ZXEvo. Что-то не получилось запустить.
В первом сообщении темы есть ссылка на пак ромсетов. zxevo оттуда. или на nedopc.com поискать последний.

А вот если выставить в ERS Memory lock в off, то через 128 - 16
Хм. С memory lock я ещё не пробовал. Но вот выявился факт - без лока выход в basic48 через меню 128-го не лочит память, получается тот же 128К только с бейсиком48.

SAM style
20.01.2020, 19:34
build 20200120


Научил uPD765 писать на диск. Не проверял все возможные варианты, потому как с +3 мало знаком
Научил эмулятор сохранять диски в формате dsk (extend). Число дорожек и сторон определяется по форматированности дискеты.
Починил загрузку dsk. В частности, вычисление GAP3, из-за слишком большого значения не все сектора помещались на дорожку.
Починил поведение ВГ93 в паре моментов. Должно сказаться на некоторых способах определения диска


[ скачать (https://github.com/samstyle/Xpeccy/releases) ]

Dart Alver
21.01.2020, 00:03
В профиле ATM Turbo 2+ не работает kempston mouse (джойстик не проверял). На предыдущем билде тоже было.

Lethargeek
21.01.2020, 19:39
что-то нахимичил в последней версии - при попытке загрузки 48k снапа из меню или из бейсика-128 происходит сброс, wtf?
из бейсика-48, tape loader или tr-dos 128k (!) грузится нормально, как раньше

SAM style
21.01.2020, 19:53
Имею подозрение, что не включается basic48, который снапшоту нужен. Либо затирается буфер принтера, который нужен basic128. Тырдос работает "из-под" 48-го, поэтому буфер принтера ему не требуем.

Lethargeek
21.01.2020, 20:15
Имею подозрение, что не включается basic48, который снапшоту нужен
ну дык в прошлых версиях же включался

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

что и логично делать для 48k sna

SAM style
21.01.2020, 21:20
ну дык в прошлых версиях же включался
В этой я убрал сброс машины перед загрузкой снапшота. Пытался подружить его с atm2/baseconf
PS:Во я олень. Сброс убрал, карта памяти остаётся прежней (для 48K sna тем более, 128К хотя бы страницу в #c000 выставляет), хотя надо принудительно ставить basic48 - ram5 - ram2 - ram0. Короче, до следующего релиза
PSS:а ещё в сам 48К 48-е снапшоты не грузятся из-за маски памяти. потому что в 48К память урезана до 64К, и память распределена как rom-ram1-ram2-ram0

sq/skrju
25.01.2020, 01:34
Эмулятор просто прекрасен!
Всё прекрасно работает, всё эмулируется как надо - и отдельной строкой - просто невероятный дебаггер!

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

Я бы даже задонатить был готов!)

Shadow Maker
25.01.2020, 03:08
Там есть хоткеи? o_O

А, кстати. А можно как-то чуть менее наркоманско сделать сохранения блоков памяти? А то мне надо было экран сохранить, а его чота нема по 4000 как бы :( В общем прямую какую-то адресацию, чтобы че вижу в дебуггере - то и сохранил, а то сиди гугли вспоминай какой там номер рамы где сидит...

Еще такая долгоиграющий фиче-реквест - впилить zscp чтобы можно было пользоваться вот этим https://github.com/maziac/DeZog что сделает разработку просто очень удобной. zesaurux конечно мультиплатформенный, но там такой интерфейс что... Ну в общем твой эмуль намного удобней, вот, фичереквест такой. Если что - могу у автора спросить что угодно, что у дебаг адаптера, что у зесауруха. Я думаю можно и свой протокол придумать, если хочешь, и потом его впилить в дезог, но проще наверное готовый использовать.

И да, раз уж даже в дезоге поддержаны reverse debugging via step back and reverse continue - можно у тебя тоже запилить такое?


Нет, ну вы только прочитайте какая няшная штука для разработки https://github.com/maziac/DeZog/blob/master/documentation/Usage.md и брейкпойнты прямо в асм тексте, и подсветки выполненного кода, и еще тыщи мелочей.

SAM style
25.01.2020, 10:19
В общем прямую какую-то адресацию, чтобы че вижу в дебуггере - то и сохранил, а то сиди гугли вспоминай какой там номер рамы где сидит...В дебагере можно невозбранно включить просмотр ram/rom, а не адресного пространства cpu, и видеть как-бы другое. Если сделать как ты говоришь - отвалится вся невидимая на данный момент память, её будет не сохранить.

Еще такая долгоиграющий фиче-реквест - впилить zscp чтобы можно было пользоваться вот этим https://github.com/maziac/DeZog что сделает разработку просто очень удобнойТо самое внешнее управление через слушание сокета (https://github.com/samstyle/Xpeccy/issues/35)? Слухач я как бы уже вделал, просто в релизные версии его не пихаю. Если мне дать список входящих команд и ответов на них - я их реализую.

Shadow Maker
25.01.2020, 12:11
В дебагере можно невозбранно включить просмотр ram/rom, а не адресного пространства cpu, и видеть как-бы другое. Если сделать как ты говоришь - отвалится вся невидимая на данный момент память, её будет не сохранить.
То самое внешнее управление через слушание сокета (https://github.com/samstyle/Xpeccy/issues/35)? Слухач я как бы уже вделал, просто в релизные версии его не пихаю. Если мне дать список входящих команд и ответов на них - я их реализую.

Давали же уже?


EmulatorClass
Initialization (after connection setup):

about
get-version
get-current-EmulatorClass
set-debug-settings
enter-cpu-step

Other:

get-registers
disassemble
get-stack-backtrace
run
'sendBlank' (to break running)
cpu-step
set-breakpointaction
set-breakpoint
enable-breakpoint
disable-breakpoint
read-memory
write-memory
set-register
cpu-history
extended-stack
getTbblueRegister

ShallowVar
disassemble
set-register
write-memory-raw
read-memory

хелп https://github.com/chernandezba/zesarux/blob/65c38fd6ef63be0eb5d7a74f74ec31be451a63fc/src/remote.c#L602

сами команды https://github.com/chernandezba/zesarux/blob/65c38fd6ef63be0eb5d7a74f74ec31be451a63fc/src/remote.c#L4513

ну и код там же весь

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

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


В дебагере можно невозбранно включить просмотр ram/rom, а не адресного пространства cpu, и видеть как-бы другое. Если сделать как ты говоришь - отвалится вся невидимая на данный момент память, её будет не сохранить.
Ну сделать второй вариант сохранения того, что ты сейчас видишь, для "я просто хочу сохранить кусок памяти с 6000 по FFFF, чтобы потом его сравнить с эталоном блэт, я проверяю депакер, блэт, мне че, тремя кусками сохранять и потом собиралку писать? БЛЭТ" .
На самом деле меня вполне устраивает вариант как в unreal - сохраняешь то, что видишь, хочешь из другой страницы - переключи страницу и сохраняй. Никогда не испытывал неудобств.

SAM style
25.01.2020, 13:45
для "я просто хочу сохранить кусок памяти с 6000 по FFFF, чтобы потом его сравнить с эталономАргументный аргумент. Согласен, надо подумать. Хочется сделать так, чтобы оно не выглядело как нагромождение из г-на и палок

Shadow Maker
25.01.2020, 13:53
Аргументный аргумент. Согласен, надо подумать. Хочется сделать так, чтобы оно не выглядело как нагромождение из г-на и палок
Как по мне - твои вариант со страничками вообще как-то с марса. То есть я понимаю, что так работает внутри спек, но все же все игры основную память грузили всегда одним единым куском, и вот если я например там выковыриваю расксоренную тап-версию, разбираю чужие упакованные релизы, да что угодно - мне всегда надо сохранять основную память без этих кусков постраничных. Я даже не могу себе представить кому может понадобится сохранить иначе.

sq/skrju
25.01.2020, 13:56
Поддерживаю Shadow Maker'а по поводу страниц - буквально только что написал Сэму в личку что-то подобное :) В анриле, возможно, было технически не совсем "корректно", не так "как в реальности на спектруме" - но очень удобно и привычно для разработки. В Xpeccy это реализовано "как надо", но сразу вызвало вопросы, и потребовалось время, чтобы разобраться, как это работает. И предрекаю, что в будущем может вызвать затруднения у разработчика.

SAM style
26.01.2020, 17:37
Давали же уже?Едрить их там много. Большая часть какая-то специфичная. Для начала бы человеческое описание типа такого:
запрос: get-register pc
ответ: значение регистра pc в виде 0xa23d

Shadow Maker
26.01.2020, 23:01
Едрить их там много. Большая часть какая-то специфичная. Для начала бы человеческое описание типа такого:
запрос: get-register pc
ответ: значение регистра pc в виде 0xa23d
Такой не нужен. В Дезоге сразу все получают через get-registers.
Сделай проще. а? Запусти ZEsaRUX, он под линух, вроде и в репах даже есть (у меня под арчем в аур точно есть). Просто коннектишься к нему по телнету порт 10000, пишешь команду - получаешь результат. Только сначала в сеттингах включи протокол (settings-debug-ZRCP).

SAM style
27.01.2020, 07:55
Такой не нужен. В Дезоге сразу все получают через get-registers.
Сделай проще. а? Запусти ZEsaRUX, он под линух, вроде и в репах даже есть (у меня под арчем в аур точно есть). Просто коннектишься к нему по телнету порт 10000, пишешь команду - получаешь результат. Только сначала в сеттингах включи протокол (settings-debug-ZRCP).Научным тыком без вменяемых описаний мне уже надоедает заниматься со всякими железяками.
Сделаю проще - напридумываю своих команд, а вы там имейтесь как хотите с этим дебугером

Shadow Maker
27.01.2020, 09:21
Научным тыком без вменяемых описаний мне уже надоедает заниматься со всякими железяками.
Сделаю проще - напридумываю своих команд, а вы там имейтесь как хотите с этим дебугером
И смысл? Тогда у автора Дезога повторять то же самое, упрашивать "ну вот тут придумали свои команды сделайте ну пожалуйста поддержку". А он такой "не, вот этого нету, и вот этого нету, не буду, и вообще напишите мне автоматические тесты с параметрами in/out".

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

SAM style
29.01.2020, 19:52
А, кстати. А можно как-то чуть менее наркоманско сделать сохранения блоков памяти? А то мне надо было экран сохранить, а его чота нема по 4000 как бы В общем прямую какую-то адресацию, чтобы че вижу в дебуггере - то и сохранил, а то сиди гугли вспоминай какой там номер рамы где сидит...Только что проверил на скорпионе - с 4000 по 5aff сохранился вполне себе экран. Поле bank отвечает только за память на C000, и по умолчанию выставляется в текущий номер. Что сделать, чтобы воспроизвести то, что у тебя?

Shadow Maker
29.01.2020, 22:15
Только что проверил на скорпионе - с 4000 по 5aff сохранился вполне себе экран. Поле bank отвечает только за память на C000, и по умолчанию выставляется в текущий номер. Что сделать, чтобы воспроизвести то, что у тебя?
Хм, видимо мне надо больше спать. Походу я все же в тот раз сохранял второй экран.

Lethargeek
02.02.2020, 22:44
SAM style, отчего в xpeccy может глючить этот релиз?

https://vtrd.in/gamez/h/HOPCHOHG.zip

предыстория: https://zx-pk.ru/threads/27710-zx-ulax.html?p=1044302&viewfull=1#post1044302

goodboy
03.02.2020, 15:05
а оригинал тоже глючит ?
https://www.worldofspectrum.org/infoseekid.cgi?id=0012594

Lethargeek
03.02.2020, 15:28
goodboy, в xpeccy запускается норм (а в своём tzx проверить я не могу)

SAM style
03.02.2020, 16:10
Пока проверить не могу, тыкну пальцем в небо - неполная адресация портов и конфликт с каким-нибудь оборудованием?

goodboy
03.02.2020, 16:57
отчего в xpeccy может глючить этот релиз?
а какая модель и набор ROM`ов ?
игра сделана на компилированном бейсике, активно использует ПЗУ и значение (23388) для переключения страниц.
.............
недавно разбирались почему глючат 48утюгов на компе где RealCommander вместо basic128,
там оказывается идёт JP на LDIR;RET в ПЗУ

Lethargeek
03.02.2020, 17:22
нашёл непосредственную причину - после всех загрузок выполняется такой код:

ld bc, $7ffd ; b90b
ld a, $10 ; b90e
out (c), a ; b910
ld a, (hl) ; b912
ex af, af' ; b913
ld a, $11 ; b914
out (c), a ; b916
ex af, af' ; b918
ld (de), a ; b919
inc hl ; b91a
inc de ; b91b
dec ix ; b91c
ld a, ixh ; b91e
or ixl ; b920
jr nz, l_b90e ; b922
call $c000 ; b924
ld a, $10 ; b927 <---- здесь BC = #0110 !!!
out (c), a ; b929
jp $6003 ; b92b

...и на некоторых эмулях оно работает как вывод в #7FFD! :v2_blink: но... как так-то?.. ЧЁТНЫЙ порт работает как системный?? :v2_crazy:

goodboy
03.02.2020, 18:36
...и на некоторых эмулях оно работает как вывод в #7FFD! но... как так-то?.. ЧЁТНЫЙ порт работает как системный??
тут надо понимать какие адресные линии участвуют в дешифрации

Lethargeek
03.02.2020, 19:11
тут надо понимать какие адресные линии участвуют в дешифрации
я могу понять, когда много адресов на один порт, но не когда на один адрес несколько портов, притом принципиально разного назначения :v2_dizzy_facepalm:

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

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

а это даже не короткий #FD, а какой-то новый уровень кривости

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

а что, и на фирменном походу чётность не проверяется?

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

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

goodboy
03.02.2020, 20:53
всегда думал, что уж младший бит учитывался везде, это же фундаментальное разделение
если не ошибаюсь то на Пентагоне учитывается только А1 и А15
ну и очевидно что ты наткнулся на *****код который пропустили только из-за его случайного функционирования.

SAM style
03.02.2020, 21:11
если не ошибаюсь то на Пентагоне учитывается только А1 и А15
Таки да:
{0x8002,0x7ffd,2,2,2,NULL, penOut7FFD},По маске только A15 (0) и A1 (0) должны совпадать с 7FFD, чтобы он выбрался

Lethargeek
03.02.2020, 21:26
а ведь оно и при чтении должно аналогично себя вести - клава выбираться одновременно с мышью и даже регистром данных аигрека :v2_dizzy_facepalm:

интересно, в результате будет AND всех источников? и можно ли как-то это использовать против эмуляторов и железа? :v2_dizzy_biggrin2:

SAM style
03.02.2020, 22:14
интересно, в результате будет AND всех источников? и можно ли как-то это использовать против эмуляторов и железа?
По идее OR, потому как даже малый ток на линии воспринимается как 1. Если не дойдёт до замыкания.
У меня на чтение сделан первый попавшийся по таблице порт. Не совсем верно, но я даже не задумывался, что бывает при конфликте на шине данных
На запись работают все попавшие под условие своей выборки порты.

Lethargeek
03.02.2020, 22:47
По идее OR, потому как даже малый ток на линии воспринимается как 1. Если не дойдёт до замыкания.
падажжи, но кнопка же нажатая это 0 ?
интересно, а насколько вероятно что-то спалить, прочитав несколько девайсов одной командой :v2_devil:


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

goodboy
04.02.2020, 00:00
интересно, а насколько вероятно что-то спалить, прочитав несколько девайсов одной командой
фирма (128/+2) при чтении из #7ffd вообще впадает в ступор (вместо чтения происходит запись в порт)
на скорпе чтение из (#1ffd/#7ffd) включает/выключает турбо режим.

Lethargeek
04.02.2020, 00:31
фирма (128/+2) при чтении из #7ffd вообще впадает в ступор (вместо чтения происходит запись в порт)
это глюк самого порта/девайса, я не об этом

SAM style
04.02.2020, 08:07
падажжи, но кнопка же нажатая это 0 ?Потому что оно по схеме выставляется в 0. Наверное, лучше привести в пример никуда не подведённые старшие биты порта 1F, которые всегда 1, потому что к шине данных резюками подтянуто +5В.

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

goodboy
04.02.2020, 11:07
из хитрых приёмов вспомнил интро для NavySeals (от Prestige) и SongInLines4 (BusySoft),
там записью в один порт сразу переключаются страницы/экраны и цвет бордюра.

Lethargeek
04.02.2020, 14:03
интро для NavySeals (от Prestige) и SongInLines4 (BusySoft),
опа, а вот эти неправильно работают сейчас и у меня (причём свич режима дешифрации не влияет!) и в xpeccy
причём в xpeccy неправильно на разных пентагонах по-разному (нет или бордюрного эффекта, или текста на экране)

:v2_crazy: :v2_wacko: :v2_dizzy_messed:

SAM style
04.02.2020, 15:25
причём в xpeccy неправильно на разных пентагонах по-разному
Нашёл лишнюю строку :) Наверное, когда-то для дебуга поставил и забыл.
В обычном пентагоне заработало, а за P1024 никто не ручается. По моим данным, у него порт FE выбирается по двум младшим битам, так что не удивительно, что out (FC),a из NavySeals не работает как задумывалось.

Lethargeek
04.02.2020, 15:40
Нашёл лишнюю строку Наверное, когда-то для дебуга поставил и забыл.
ага, и я забыл - синхронизацию с лучом поправить после изменения дешифрации :)

NEO SPECTRUMAN
10.02.2020, 22:29
из хитрых приёмов вспомнил интро для NavySeals (от Prestige) и SongInLines4 (BusySoft),
там записью в один порт сразу переключаются страницы/экраны и цвет бордюра.
вот зря ты это сказал
теперь я буду рассматривать это как хитрожопую оптимизацию :)
и может даже назло всем использовать

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

Lethargeek
10.02.2020, 23:09
Может не работать только на Скорпионах, на остальных машинах работает ок.
и на новых пентагонах не заработает

Lethargeek
10.02.2020, 23:48
Чего вдруг?
с того вдруг, что дешифрация строже стала (если верить блаккатовской таблице, по крайней мере)


Разрабы сами себе враги и добровольно отказались от совместимости?
ну, может, не хватало им зачем-то еще портов, это у разрабов надо спросить

Lethargeek
10.02.2020, 23:58
Ну вот тут написано,
а это было очень давно написано

SAM style
11.02.2020, 00:25
Может не работать только на Скорпионах
И не заработает. Как минимум на зелёном дешифрация младшего байта порта идёт по A0,A1,A5

Lethargeek
11.02.2020, 14:47
еще очень интересно, зачем в пзу тырдоса in a,(#F6) @3D4F - что хотели-то?

Shadow Maker
11.02.2020, 18:06
еще очень интересно, зачем в пзу тырдоса in a,(#F6) @3D4F - что хотели-то?
С подключением! :) Этот вопрос тревожит умы людей уже лет 30 :) Еще в 90х в Ревю про это писали. Федин в своем комментарии к дизассемблеру trdos так и написал "это ничего не дает".

Lethargeek
11.02.2020, 19:50
может, у разрабов таким способом активировался некий вспомогательный девайс, а код потом забыли убрать??

SAM style
11.02.2020, 20:20
Ну, по дешифрации (A1=1, A7=1, \DOS=0) это системный порт BDI, #FF. Интересно, что считанное значение потом вообще никак не используется, для чего бы оно не считывалось.
PS:уточнил. для портов bdi/вг93 должно быть A0=1, так что не прокатывает

Lethargeek
11.02.2020, 20:40
Ну, по дешифрации (A1=1, A7=1, \DOS=0) это системный порт BDI, #FF.
фирменной? и разной на ввод и вывод (а иначе как работает в тырдосе вывод в #FE)?

NEO SPECTRUMAN
11.02.2020, 20:42
Чего вдруг? Разрабы сами себе враги и добровольно отказались от совместимости?
в пентеве сами себе враги
еще и кричат что
"по чем дешифруется мы вам не скажем специально
чтоб не использовали
но как минимум по 8 младшим битам"

там фанатичные фанатике не использования не полной дешифрации

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

SAM style
11.02.2020, 20:48
Откуда у меня фирменные схемы :) Но как минимум A7=1 это FF, A7=0 это регистры FDC с выбором по A6,A5. остальное варьируется от клона к клону. В Скорпионе, например, A1=1 это обязательно для доса, не-досовские порты с A1=1 во время работы доса блокируются.

Lethargeek
11.02.2020, 20:59
В Скорпионе, например, A1=1 это обязательно для доса, не-досовские порты с A1=1 во время работы доса блокируются.
так у скорпиона же magic свой, а в стандартной процедуре magic есть out #FE (и еще один по адресу 0009)

SAM style
10.03.2020, 23:16
build 20200310


Настраиваемые хоткеи главного окна. Options->Xpeccy->Keys.
Вылечил (надеюсь) запись в конфликтующие порты
Образ для MacOSX теперь нормально включает в себя SDL1.2


Небольшие заметки:
В виртуалке под win8.1 захват кнопок не работал с первого раза, но достаточно было закрыть окно захвата и открыть снова - работало. странно, кошусь на виртуалку. В linux/macosx работало с первого раза.
Не знаю, как под MacOSX Qt мапит кнопки Ctrl и Meta(Win). Пока оставлено как есть. Если есть обладатели реальной машины, просьба проверить, на какие модификаторы захват выдаёт Alt/Shift/Ctrl/Meta
Qt не считает правый Alt модификатором, он воспринимается как обычная кнопка, так что создать сочетания "правый альт + кнопка" невозможно.

[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20200310) ]

http://samstyle.narod.ru/addons/xpeccy/Screenshot_20200310_231429.png

Rubts0FF
12.03.2020, 20:27
Вот хоть бы раз это запустить, нет 48 к как минимум сброс работает, а в остальном, уже ум за разум заходит (ха-ха, было бы чему). Добавление любых ром-ов и только видеоэффекты, а то и просто черный экран, что только не делал. Букварь к нему есть?

Dart Alver
12.03.2020, 21:51
Добавление любых ром-ов и только видеоэффекты, а то и просто черный экран, что только не делал.
Ну не знаю, у меня работает. Главное правильно выставить ромы и не забыть выставить бета-диск в интерфейсе.
С образами hdd и sdcard не разобрался. По ходу сам xpeccy делать их не умеет (что несколько неприятно), а вкуривать форматы и консольничать мне влом )))
Вот под пентагон 1024 настройка.

71791 71792 71793 71794 71795

SAM style
12.03.2020, 23:34
С образами hdd и sdcard не разобрался. По ходу сам xpeccy делать их не умеет (что несколько неприятно)
Ну, положим, сделает он пустой файл заданного размера. А вот как минимальными усилиями отформатировать его в FAT32 так, чтобы ещё и кроссплатформенно - хз
ЗЫ: Да и вредно его форматировать в FAT32 по умолчанию. В SMUC, например, своя разметка.

Rubts0FF
13.03.2020, 01:35
Ну не знаю, у меня работает. Главное правильно выставить ромы и не забыть выставить бета-диск в интерфейсе.
С образами hdd и sdcard не разобрался. По ходу сам xpeccy делать их не умеет (что несколько неприятно), а вкуривать форматы и консольничать мне влом )))
Вот под пентагон 1024 настройка.

71791 71792 71793 71794 71795

Да в общем делал и то же самое, правда ПРОФИ. Попробую еще раз/два. Ром-Ром, хотя бы Ром-48, 128, тр-дос, а то .., ладно.

Dart Alver
13.03.2020, 02:48
Да в общем делал и то же самое, правда ПРОФИ
Для profi :
ROM: PROF-M.ROM все позиции по нулям.
На интерфейсе бета диска снять галку турбо, иначе виснет стартовое меню профика.

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


Ну, положим, сделает он пустой файл заданного размера. А вот как минимальными усилиями отформатировать его в FAT32 так, чтобы ещё и кроссплатформенно - хз
ЗЫ: Да и вредно его форматировать в FAT32 по умолчанию. В SMUC, например, своя разметка.
Ну пустой файл уже тоже шаг вперёд )) А вообще тут конечно нужна утилита для разных форматов, а главное средство работы с файлами. Как в том же RVM. Впрочем не обязательно всё это пихать в Xpeccy (хотя конечно удобнее было бы)

SAM style
13.03.2020, 07:58
Ну пустой файл уже тоже шаг вперёд )) А вообще тут конечно нужна утилита для разных форматов, а главное средство работы с файлами. Как в том же RVM. Впрочем не обязательно всё это пихать в Xpeccy (хотя конечно удобнее было бы)
Под не-виндой всё это делается довольно просто:

dd if=/dev/zero of=image.bin bs=1M count=512 # размер 512М
sudo mkfs.fat -F 32 image.bin #делаем там FAT32
# а если надо пошариться по образу
sudo mount image.bin /path/to/mount

andykarpov
13.03.2020, 12:05
А у меня что-то под Linux Mint 19.3 релиз из github показывает как-то странно на hidpi экране, шрифты раз в 5 больше чем надо, какие только env параметры для QT не крутил - так и не осилил :(

SAM style
13.03.2020, 13:16
А у меня что-то под Linux Mint 19.3 релиз из github показывает как-то странно на hidpi экране, шрифты раз в 5 больше чем надо, какие только env параметры для QT не крутил - так и не осилил :(Ещё одна штука, которую я никогда не проверю.
Вот тут можно почитать - https://doc.qt.io/qt-5/highdpi.html
Вот эта добавка в main.cpp может сработать (а может и нет, тыкаю пальцем в небо)

QApplication app(ac,av,true);
// this works since Qt5.6
#if QT_VERSION >= 0x050600
app.setAttribute(Qt::AA_EnableHighDpiScaling);
#endif

Rubts0FF
13.03.2020, 15:23
Для profi :
ROM: PROF-M.ROM
Мне не нужен эмулятор Профи, мне нужно что бы страницы памяти переключались через его порты, и это .. бесит во многих эмуляторах, хорошо если есть эмуляция особенностей наших клонов, если кому то надо, но мало где есть конфигурация памяти. То есть, размер и порт. И уже говорил, было бы гораздо проще ROM-48 - имя файла ROM-128 - .., и так далее. Хотя бы как альтернатива.

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

Все, победил. Apply and/or OK - это не значит что все так и есть, только перезагрузка/перезапуск эмулятора приводит к применению изменений в настройках. Это ладно, и уже было обрадовался, но и этот эмулятор не держит диски в дисководах. Шалаев - форева!
з.ы. извините за беспокойство.

SAM style
13.03.2020, 18:35
но и этот эмулятор не держит диски в дисководах
Что есть "держит диски в дисководах"? Наверное, галка "restore media" - сохранять пути при выходе и восстанавливать образы при запуске.

Dart Alver
13.03.2020, 21:48
Под не-виндой всё это делается довольно просто:
А вот это не помешало бы в шапку под спойлер. Да и от инструкции для винды думаю многие бы не отказались ))


Что есть "держит диски в дисководах"? Наверное, галка "restore media" - сохранять пути при выходе и восстанавливать образы при запуске.
Не работает она. При новом запуске дисководы пустые.


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

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

Кстати во всех билдах в которых проверял, почему-то в режиме ATM Turbo 2+ не работает kempston mouse. SAM style поправь пожалуйста по возможности.

NEO SPECTRUMAN
13.03.2020, 22:04
Не работает она. При новом запуске дисководы пустые.

может как всегда
русские буквы в пути эмулятора?

SAM style допиливает допиливает
а оно постоянно дето всплывает

SAM style
13.03.2020, 22:48
может как всегда
русские буквы в пути эмулятора?
Что-то оно перестало загружаться из конфига. В сам конфиг профиля путь записывается.
ЗЫ: Нашёл в чём дело.

Dart Alver
13.03.2020, 23:50
ЗЫ: Нашёл в чём дело.
Может тогда и на kempston mouse в ATM Turbo 2+ глянешь ? ;)

SAM style
13.03.2020, 23:59
Может тогда и на kempston mouse в ATM Turbo 2+ глянешь ? ;)
Вот тут (http://atmturbo.nedopc.com/atmdscr.htm) в таблице написано, что её в атм/атм2 не было. И в списке портов нет...

Dart Alver
14.03.2020, 00:51
Вот тут в таблице написано, что её в атм/атм2 не было. И в списке портов нет...
Я больше скажу, её не было в profi, не было в старом пентагоне, нет в классическом 48/128, думаю что и в скорпионе с каем (по крайней мере в первых) тоже не было. Но люди находили/паяли и подключали. И ATM врят-ли тут исключение. ))
Кстати Unreal чистотой голого компа не заморачивается и эмулирует, если галочка выставлена ))

Rubts0FF
14.03.2020, 00:53
Наверное, галка "restore media" - сохранять пути при выходе и восстанавливать образы при запуске.
Наверное благие намерения, но как то не работает. Хоть и собирался забить, но решил еще попробовать, так все очень не плохо. Вот изменения в образах должны происходить сразу же как происходят изменения на дисках, как на реальной дискете. Собственно это не так важно, главное не доставать сохранить/не сохранить. Еще клавиатура, нет, в основном все хорошо или вопрос привычки и времени, но правые SHIFT и CTRL нельзя так же использовать. В идеале конечно ALT вместо SymbolShift, вот автор бы посидел в своем эмуляторе и написал пару десятков строк, выворачивая пальцы всякий раз когда нужно нажать SS.
Такое впечатление что эмуляторостроители, в погоне за эмуляцией несуществующих компьютеров и железяк к ним, забыли о самом простом.

И да, мыша не работает.

NEO SPECTRUMAN
14.03.2020, 01:20
Вот изменения в образах должны происходить сразу же как происходят изменения на дисках
чтоб портить оригинальные образы?
много чего я запорол кривыми эмуляторами
которые молча писали в оригинал...

а некоторые так вооще оставляли нечто весом 0 байт :v2_dizzy_facepalm:

НЕ ДОЛЖНЫ изменения сохраняться сразу никуда
или же опционально через 15 подтверждений :)

andykarpov
14.03.2020, 01:45
Ещё одна штука, которую я никогда не проверю.
Вот тут можно почитать - https://doc.qt.io/qt-5/highdpi.html
Вот эта добавка в main.cpp может сработать (а может и нет, тыкаю пальцем в небо)

QApplication app(ac,av,true);
// this works since Qt5.6
#if QT_VERSION >= 0x050600
app.setAttribute(Qt::AA_EnableHighDpiScaling);
#endif


Помогла такая комбинация параметров при запуске:


env QT_DEVICE_PIXEL_RATIO=2.5 QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_SCREEN_SCALE_FACTORS=1 xpeccy

Но все это похоже на какое-то шаманство :)
ЗЫ: не всем, но многим сторонним Qt-приложениям требуется подбирать один или несколько из этих параметров, задолбался уже в край :)

SAM style
14.03.2020, 09:03
Вот изменения в образах должны происходить сразу же как происходят изменения на дисках, как на реальной дискете
Не должны.
Пример: я загружаю SCL, а потом пишу данные напрямую в сектора на последнюю дорожку, где нет никаких файлов. SCL хранит только файлы.
Пример2: я загружаю TRD, затем переформатирую дорожку с нестандартными номерами секторов или вообще с другим кол-вом секторов на дорожке. TRD такое не хранит.

Еще клавиатура, нет, в основном все хорошо или вопрос привычки и времени, но правые SHIFT и CTRL нельзя так же использовать
Первый пост. Читай "как переделать раскладку ZX клавиатуры" и ломай пальцы как угодно. И почему нельзя использовать Shift как СS, если и на ZX, и на PC они выполняют похожие функции? Какой привычкой это объяснить?

Rubts0FF
14.03.2020, 09:14
НЕ ДОЛЖНЫ изменения сохраняться сразу никуда
или же опционально через 15 подтверждений
Я эмулятор запустил пользоваться или нажимать подтверждения? Реальная дискета записывается сразу. Ну а портится, так бывает, не усилиями эмулятора, собственными. Ошибочные действия с диском, резервных копий никто не отменял.
Уже говорил, много-много лет пользуюсь эмулятором Шалаева, он не идеален и всегда был таким, но он удобный! Вот мне нужна была поддержка ATM-1, а в наличии только профи, взял исходник плуга-профи, изменил порты и стало атм.
К чему это, за все эти годы вспомню не более двух/трех эпизодов, когда Шалаев .. выполнял не выполнимое, допускал недопустимое. Последний раз в том году, при записи на диск записал .trd размером в 4 гига. А предыдущие его глюки были так давно, что уже и не помню что там было. Все чем пытался пользоваться помимо него, Spectaculator, Unreal бывало вылетали просто при нажатии какой то комбинации клавиш (не ALT+F4, хотя и по ним не должен вылетать, только спрашивать). Real еще нравился, но его сейчас нигде не запустишь.

Я чего такой вредный, если поиграться - да выбирай любой, а вот что то писать, что на ПЦ переходить? Нет уж, для спектрума - на спектруме, хотя бы в эмуляторе.

NEO SPECTRUMAN
14.03.2020, 17:15
Spectaculator
спектакулятор редкостное гафно
100500 раз это обсуждали
и 300600 раз в нем всплывали всякие
не точности эмуляции,
запарывания файлов
не работа софтварей которые везде работают...

зачем им лишний раз пользоваться?



Unreal бывало вылетали просто при нажатии какой то комбинации клавиш
до есть такая гадость
и самые последние этим страдают

я нашел для себя некую 0.37.5
которая на удивление работает очень стабильно
и падает крайне редко (при ковырянии настроек рендерера например)

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


Я эмулятор запустил пользоваться или нажимать подтверждения?
как раз и нужны подтверждения на сброс на перезапись

вон в emuzwin тоже
случайное нажатие по иконке нового файла в асме
и пару часов работы между сохранениями успешно потеряны
(не я один об это спотыкался)



Я эмулятор запустил пользоваться или нажимать подтверждения?
например чтобы начать записывать на магнитофон
еще нужно ручками было нажать на запись на самом магнитофоне ручками
и даже не беспокоило что магнитофон не затирает сразу же все подряд

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


Я чего такой вредный, если поиграться - да выбирай любой, а вот что то писать, что на ПЦ переходить?
ну писать можно прекрасно и на ПЦ

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


как компромисное решение
предлагаю опционально хранить бекап диска в каком нибудь fdi
в папке с эмулем
для каждого дисковода свой файл
и периодически делать запись в них
делать автоматическую запись и при выходе из эмулятора
при старте эмуля\смене диска бекап не затирать а создавать новый
удалять только старый 10...15 бекап по счету

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

Dart Alver
14.03.2020, 19:05
Я эмулятор запустил пользоваться или нажимать подтверждения? Реальная дискета записывается сразу.
Не понимаю я ваших претензий. Эмулятор запрашивает запись в образ при смене диска или закрытии эмуля для каждого диска подвергшегося изменению, неужели рука отвалится 1 раз 'Yes' нажать ? :v2_dizzy_tired2:

NEO SPECTRUMAN
14.03.2020, 19:22
неужели рука отвалится 1 раз 'Yes' нажать ?
ну эмулятор иногда выносит со всеми вытекающими...
особенно этим грешит унриал

а так нужно периодически сохранять ручками

Dart Alver
14.03.2020, 20:44
ну эмулятор иногда выносит со всеми вытекающими...
Ну так-то может быть вы и правы, но если сравнить как у меня в былые времена реальный профик выносило с полным убиением дискет, так эмулятор практически верх стабильности :D

SAM style
15.03.2020, 20:52
build 20200315
Небольшие правки


В ATM2 добавлена кемпстон-мышь
В настройку хоткеев добавлены клавиши из отладчика
Экран БК растянут по горизонтали в 1.5 раза. Говорят, так аутентичнее квадратного экрана. Впрочем, пользоваться БК в Xpeccy пока нельзя.
И всякие мелочи, которые я замечал в процессе


[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20200315) ]

PS: Ещё одну мелочь нашёл - сразу после запуска не строятся подменю профилей и разверток экрана. Зайти в опции и выйти - построятся

Dart Alver
15.03.2020, 23:17
build 20200315

При установке несовместимостей не выдал, а при запуске:


$ xpeccy
xpeccy: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.11' not found (required by xpeccy)
master@MasterMX:~


MX-Linux 18 на основе 9-го дебиана.

PS: блин в системе версия 5.7.1. эээ :v2_dizzy_facepalm:

SAM style
15.03.2020, 23:20
При установке несовместимостей не выдал, а при запуске
Ну блин. Не переправил зависимости. В чруте обновил дебианы на текущий stable, Qt стал 5.11, в зависимостях остались 5.3. Исправлю к следующему разу. Или одно, или другое

Dart Alver
15.03.2020, 23:30
В чруте обновил дебианы на текущий stable, Qt стал 5.11, в зависимостях остались 5.3. Исправлю к следующему разу. Или одно, или другое
Плиз лучше понизь qt - неохото пока систему переустанавливать. :rolleyes:

SAM style
16.03.2020, 00:57
Так, для справки
deb 8, jessie (old-old-stable): Qt 5.3
deb 9, stretch (old-stable): Qt 5.7
deb 10, buster (stable): Qt 5.11

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

update
deb-ы по ссылке (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20200315) заменены, пересобрано с Qt5.3 (а заодно бонусом в них починено меню). Пришлось заново делать песочницы, в старых начался ад зависимостей :)

NEO SPECTRUMAN
16.03.2020, 02:14
в линупсах я смотрю тоже весело
да и 10-е версии чего угодно уже мозолят глаза

Rubts0FF
16.03.2020, 04:04
1 раз 'Yes' нажать ?
Использую все четыре дисковода, в трех из которых 100 % содержимое меняется, уже 3 + file exists - еще столько. И главное, эмулятор, как и любое приложение, как и сама операционка может "допустить недопустимое" - то есть закрыть безо всяких предложений. Как уже говорил, если это игра, ну жалко, ну пройдешь сначала. А если несколько часов создавал "шедевр"?! Вообще - то можно пункт меню с птичкой - autosave.

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


зачем им лишний раз пользоваться?
Я в нем игры/демки запускаю, иногда ZAsm - протестировать, насколько это возможно.

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


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

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


Какой привычкой это объяснить?
zx клавиатура, шифты стоят рядом а не друг над другом. На моем "Пентагоне" стоял контроллер PC-клавы/мыши, ну и уже много лет в Шалаеве, там вообще у винды можно все кнопки отобрать, только потом не выйдешь из эмулятора.
Ладно, все мои предложения/замечания снимаю, нет и не надо.

NEO SPECTRUMAN
16.03.2020, 04:34
Это не работа эмулятора, а фактически PC- приложение, отдельное.
просто я говорил про подобные катастрофические последствия
изза того что эмулятор НИЧЕГО НЕ СПРАШИВАЛ



А если несколько часов создавал "шедевр"?! Вообще - то можно пункт меню с птичкой - autosave.
и с таким же успехом эмуль может похерить твои шедевры автосохранением


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

Dexus
16.03.2020, 09:26
Плохо когда эмулятор ничего не спрашивает и ломает образы без спросу.
Плохо когда эмулятор вылетает, не сохранив ничего.
Это решается просто — писать во временные образы максимальной детальности (с межсекторными данными), и потом уже сохранять в нужный, предупреждая о нестандартностях и потерях (если они есть). Но при запуске и наличии недосохраненных образов — предлагать их срековерить.
Ничего сложного.

А вот сделать плавную графику, и качественный звук — посложнее. На это года уходят. Так вылизать, чтобы на всех платформах было «как надо».

SAM style
16.03.2020, 10:15
Ну вот родилась у меня такая идея - образы флоповодов держать не в памяти, а во временной папке в виде 83*2*6250-байтовых полных образов дорожек. Запись и чтение делать прямо там. Это будет вашим "бэкапом". А при сохранении в файл вручную уже действовать как сейчас - спрашивать. Но для этого ещё надо переделать структуру папки конфигов, потому как все 4 дискокрута надо хранить для каждого профиля, если они у железяки есть

NEO SPECTRUMAN
16.03.2020, 17:53
надо хранить для каждого
а еще надо не херить эти бекапы при следующем запуске

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

тоесть n-е число последних бекапов нужно хранить

SAM style
16.03.2020, 19:30
запустил раз для одних задач
запустил два для других задач
задетектил что все пропало
полез а бекапы
а они давно затерты
я такую цепочку бесконечно могу продолжать. и что, из-за этого миллионы бэкапов делать?

NEO SPECTRUMAN
16.03.2020, 19:34
и что, из-за этого миллионы бэкапов делать?
штук 10 хотябы
если не хватит всем
то это уже их проблемы :)


а лучше пункт в менюшке
хранить n бекапов

Rubts0FF
17.03.2020, 02:15
Ну что, сегодня пытался подружится с эмулятором, теперь на ноуте. В принципе, если всунуть пзу пентегон и два подряд tr-dos - и не забыть включить этот самый тр-дос в нужной вкладке, все работает и в общем нравиться. Я даже готов смириться с необходимостью сохранять образы, кстати они таки остаются в дисководах и вот за это большое спасибо. А вот с чем не готов:
1 . клавиатура, в основном все отлично, но выкручивать пальцы всякий раз когда что то надо нажать с символ-шифтом, это экстрим. Я уж не прошу ALT, но почему не работают правые SHIFT и CTRL.
2 . то же клавиатура, понятно вопрос привычки, но на [ё] привык CS+1 - EDIT, а вот на TAB - Extend Mode - SS+CS, а не то что сейчас.
И не надо делать ... под меня, надо делать что бы каждый настроил под себя. В unreal в этом смысле удобно.

3 . Память, удалось запустить только как ПЕНТАГОН 512, и в общем под рам-диск остается мало, нет, можно конечно жить с тем что есть, но у меня есть образы большего размера, рам-диск Профи 1024 к.

Еще есть замечание, при смене диска в дисководе и в случае "Not Saved. Save?" - после "Y" изменения в образ вносятся, вот только новый диск не вставляется, нужно повторить операцию. Хотя нужно наверное привыкнуть постоянны тыкать, во что там F9 кажется.
Так что, за эмулятор спасибо, но с клавиатурой нужно что то делать.

SAM style
17.03.2020, 08:05
1 . клавиатура, в основном все отлично, но выкручивать пальцы всякий раз когда что то надо нажать с символ-шифтом, это экстрим. Я уж не прошу ALT, но почему не работают правые SHIFT и CTRL.
2 . то же клавиатура, понятно вопрос привычки, но на [ё] привык CS+1 - EDIT, а вот на TAB - Extend Mode - SS+CS, а не то что сейчас.
И не надо делать ... под меня, надо делать что бы каждый настроил под себя. В unreal в этом смысле удобно.
Первый пост. Спойлер "как переделать раскладку клавиатуры"

3 . Память, удалось запустить только как ПЕНТАГОН 512, и в общем под рам-диск остается мало, нет, можно конечно жить с тем что есть, но у меня есть образы большего размера, рам-диск Профи 1024 к.Pentagon1024SL в помощь

В принципе, если всунуть пзу пентегон и два подряд tr-dos - и не забыть включить этот самый тр-дос в нужной вкладке, все работает и в общем нравитьсяИ кстати, если скачать весь ромпак с первого поста и просто тыкать в иконку с лампочкой, ромсет будет заполняться автоматически в зависимости от выбранной материнки

Black Cat / Era CG
17.03.2020, 09:56
Хрессу - это же как массонская ложа! Сперва надо пострадать, пройти испытания, доказать, что ты достоин. А уж потом откроются тебе таинства великие, сокрытые от непосвященных. Прежде чем скачать, Хрессу, задайте себе один единственный вопрос: Готовы ли вы пойти до конца?
:)

NEO SPECTRUMAN
17.03.2020, 11:28
Прежде чем скачать, Хрессу, задайте себе один единственный вопрос: Готовы ли вы пойти до конца?
да ладно
щас уже даже стартует из коробки
а раньше нужно было для этого еще плясать с бубном
уже прогресс

Rubts0FF
17.03.2020, 11:29
Pentagon1024SL в помощь
Этого не умеет ZAsm, через что там включается еще 512к.?, через защелку 48к? Интересный autodetect получится, ни на каком компе, кроме Pentagon1024SL, не пойдет.
Ну а букварь, насчет кнопок, конечно покурю.

Хрессу - это же как массонская ложа!
:-)

SAM style
17.03.2020, 11:47
Ну а букварь, насчет кнопок, конечно покурю.
Насчет мапинга "PC-клава -> клава машины" у меня есть некоторые мысли, но когда они воплотятся - хз.
Память на машинах обычно ограничена маской полного адреса, вывод в порты у одной и той же машины одинаковый. Так скорпион256 и скорпион1024 в xpeccy практически ничем не различаются, только у одного доступно только 256Кб, а у другого 1024Кб.

Rubts0FF
17.03.2020, 17:59
Так скорпион256 и скорпион1024 в xpeccy практически ничем не различаются, только у одного доступно только 256Кб, а у другого 1024Кб.
У скорпиона используется порт для "расширенной" памяти, в случае .., вот никак понять не могу, почему "пентагон", обычный zx, у меня первым был "Композит", короче порт #7FFD и там используется два старших бита, а вот 5-й является защелкой 48-й памяти, в общем банальные вещи говорю. Теперь нужно попробовать понять, как тестировать наличие такого расширения памяти компа и что бы во время этого тестирования, не включилось 48 only.

Dart Alver
17.03.2020, 18:49
И кстати, если скачать весь ромпак с первого поста и просто тыкать в иконку с лампочкой, ромсет будет заполняться автоматически в зависимости от выбранной материнки
Нуу ... тут не фсё гладко. Если с пентагоном в принципе нормально (хотя я бы ещё glukpen.rom на 32 позицию добавил ), то для PROFI выбор PROFI-P.ROM не удачный вариант, лучше выбрать PROF-M.ROM или PROFI503.ROM.


короче порт #7FFD и там используется два старших бита, а вот 5-й является защелкой 48-й памяти, в общем банальные вещи говорю. Теперь нужно попробовать понять, как тестировать наличие такого расширения памяти компа и что бы во время этого тестирования, не включилось 48 only.

Pentagon1024sl можно тестировать по порту конфигурации #EFF7. Запись 1 в третий бит порта ставит 0-ю страницу озу по адресу пзу, 1-ца в 4-м бите отключает турбо (вроде как), остальные лучше обнулять - они в основном задействуют доп. экранные режимы или отключают 'лишнюю' память.
Я собственно написал автоопределялку для новой версии BGE, где определяется пентагон 1024sl и не скидывается классика +2a,+3 на порте скорпиона. BGE у меня подвис пока, а определялку пожалуй выложу чуть попозжа, только отлеплю от BGE. )) Правда я на 4 метра эвы не замахивался, только 1 метр определится. ;)

SAM style
17.03.2020, 18:51
У скорпиона используется порт для "расширенной" памяти, в случае .., вот никак понять не могу, почему "пентагон", обычный zx, у меня первым был "Композит", короче порт #7FFD и там используется два старших бита, а вот 5-й является защелкой 48-й памяти, в общем банальные вещи говорю. Теперь нужно попробовать понять, как тестировать наличие такого расширения памяти компа и что бы во время этого тестирования, не включилось 48 only.Так как обычно (команды условные, но смысл ясен):

out #7ffd, #10
ld (#ffff), 0
out #7ffd, #10 + #80 ; по идее это 16-я страница, её существование показывает наличие 512К как минимум
ld (#ffff), 1
out #7ffd, #10
ld a,(#ffff) ; если это 0, то 512К присуствует. если 1 - не присуствует

Rubts0FF
17.03.2020, 21:37
Так как обычно (команды условные, но смысл ясен):
ПРОФИ, АТМ 1,2 СКОРПИОН и что там еще, для управления памятью используют дополнительный порт #FDFD, #DFDF, #1F и что то странное у АТМ-2 (для меня).
В нашем случае используется порт #7FFD, то есть два старших бита, отсюда и 512. Для того что бы получить 1024, нужен 5-й бит, но в таком случае вылет в 48к. Да, если бы у меня был "железный" Pentagon1024SL я бы мог для себя использовать такой вариант, но я заранее не знаю, на каком компьютере запустят ZAsm, и вот здесь при определении порта и числа страниц, как это использовать. ZAsm по очереди кидается в порты и как только появился отклик - проверяет число страниц памяти. Если я просто встрою драйвер использующий 5-й бит, то постоянно буду вылетать в 48 к, на не Pentagon1024SL.
Ладно, сейчас автоконфиг идет втихаря, сделаю меню.
Мне вообще то совсем безразличны ПРОФИ, АТМ или СКОРПИОН со всеми своими особенностями, мне главное что бы память переключалась по любому из выбранных портов.
У меня на ПЕНТАГОНЕ стоял галетник, переключал память по одному и 4 портов, ребята что сделали это, сделали специально, что бы я мог проверять работу своих программ на любых вариантах переключения памяти.
Memory configuration - PROFI 1024 или SCORPION 256, нет ни малейшего интереса их спец/про и прочее ПЗУ. Нужно что бы можно было определить: ROM-48 - 48.rom, ROM-128 - 128tr.rom, ROM-DOS - dos5.4tr.rom, PLT - Lprint.rom - как то так, а не гадать в каком же слоте должен быть воткнут ТРДОС, как сейчас.

SAM style
17.03.2020, 22:35
Memory configuration - PROFI 1024 или SCORPION 256, нет ни малейшего интереса их спец/про и прочее ПЗУ. Нужно что бы можно было определить: ROM-48 - 48.rom, ROM-128 - 128tr.rom, ROM-DOS - dos5.4tr.rom, PLT - Lprint.rom - как то так, а не гадать в каком же слоте должен быть воткнут ТРДОС, как сейчас
Видишь ли, для многих моделей ПЗУ идёт одним файлом. И порядок страниц там именно такой, как юзается на реальной железяке и такой, как предполагается в xpeccy. Не обязательно 48-128-тырдос-сервис. A14 и A15 на пзу могут быть разведены совершенно разными образами. В baseconf/tsconf/scorpion-pro пзу вообще содержит дополнительную информацию. И ещё надо объяснить +2/+3 моделям, что такое rom-128 и trdos, а то они не знают. В MSX вылезает вообще иная схема страниц пзу, а в GBC boot-rom всего 2Кб. Вот и придумывай универсальную схему для всего этого зоопарка. Зациклились тут на спектрумах, понимааааш.

NEO SPECTRUMAN
17.03.2020, 23:01
И ещё надо объяснить +2/+3 моделям, что такое rom-128 и trdos, а то они не знают. В MSX вылезает вообще иная схема страниц пзу, а в GBC boot-rom всего 2Кб. Вот и придумывай универсальную схему для всего этого зоопарка. Зациклились тут на спектрумах, понимааааш.
а нужен ли один универсальный эмулятор под все сразу?
в конечном итоге лишняя головная боль
дебагер с регистарми в перемешку (пушо так надо для зоопарка)

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


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

Dart Alver
18.03.2020, 00:16
Мне вообще то совсем безразличны ПРОФИ, АТМ или СКОРПИОН со всеми своими особенностями, мне главное что бы память переключалась по любому из выбранных портов.
Это так не работает, слишком много всего в этих моделях. Для хорошей определялки, нужно детально вникать в особенности. Другой вариант делать подгружаемый драйвер для каждого случая, или комбинированный вариант, это по мне самое лучшее решение - всегда можно для малоизвестных машин драйвер дописать ))
Я выложил доработанную определялку памяти для основных наших клонов с тестовой прогой, но она довольно обширная получилась https://zx-pk.ru/threads/30887-opredelenie-tipa-kompa-i-rasshirennoj-pamyati.html?p=1051919&viewfull=1#post1051919

Rubts0FF
18.03.2020, 05:09
И ещё надо объяснить +2/+3 моделям
Не знаю, может быть и сам с интересом провел время за "железными" +2/+3 моделями, но в эмуляторе? Хотя это возможно будет интересно тем, кто других моделей и не знал. Попробую еще раз, мне все равно все эти специальные пзу чего бы там ни было - не интересны, я не могу это использовать (вот был бы у меня дома "железный" ПРОФИ другое дело), мне важно что бы через их специфические порты включалась память. Не нужен ПРОФИ, нужно что бы была эмуляция обычного ZX SPectrum`а с расширенной памятью по портам ПРОФИ или АТМ или чего бы я не выбрал в меню.

Ладно, я прекрасно понимаю что для любого программиста его программа, в данном случае эмулятор, это просто игрушка, если только это не ради денег.
В конечном счете я или подружусь, или не подружусь с xpeccy, за много-много лет впервые его удалось вообще запустить. Дальше будет видно.

SAM style
18.03.2020, 15:26
Не нужен ПРОФИ, нужно что бы была эмуляция обычного ZX SPectrum`а с расширенной памятью по портам ПРОФИ или АТМ или чего бы я не выбрал в менюЖелезо от профи, ПЗУ от пентагона? Это возможно. Именно так и возможно - в Machine стоит Profi, в Romset поставлено не-профи пзу.

Dart Alver
18.03.2020, 22:52
Не нужен ПРОФИ, нужно что бы была эмуляция обычного ZX SPectrum`а с расширенной памятью по портам ПРОФИ или АТМ или чего бы я не выбрал в меню.

Ну а чем вам мешает полная эмуляция Profi, порты ваши работают, режим zx-spectrum тоже, даже ваш ZASM 3.3.07 запускается (правда иногда ругается что нет диска, но через retry перечитывает)

718637186471865718667186771868

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


Железо от профи, ПЗУ от пентагона? Это возможно. Именно так и возможно - в Machine стоит Profi, в Romset поставлено не-профи пзу.
Да чтото как-то не очень микс выходит, впрочем меня цельный ромсет профи больше устраивает ))

Doronetty
19.03.2020, 18:40
Мне вообще то совсем безразличны ПРОФИ, АТМ или СКОРПИОН со всеми своими особенностями, мне главное что бы память переключалась по любому из выбранных портов.
А большинству, как я надеюсь, именно эти машины и интересны - обычный Спек супротив них, что столяр супротив плот.. т.е. "копейка" супротив Мерса 600-го. Ну и эмуляторов обычного ZX 100500 с кепкой.

Lethargeek
19.03.2020, 19:11
SAM style, проверь, у тебя наблюдается непонятная херня со звуком в Forgotten Worlds 128k?
загружаешь этот свежий релиз, к примеру - https://zx-pk.ru/threads/5076-novye-tr-dos-relizy.html?p=440463&viewfull=1#post440463
начинаешь игру и просто зажимаешь огонь и слушаешь

SAM style
19.03.2020, 19:20
SAM style, проверь, у тебя наблюдается непонятная херня со звуком в Forgotten Worlds 128k?
загружаешь этот свежий релиз, к примеру - https://zx-pk.ru/threads/5076-novye-tr-dos-relizy.html?p=440463&viewfull=1#post440463
начинаешь игру и просто зажимаешь огонь и слушаешь
Так да, какие-то странные звуковые эффекты. Как должно быть?

Lethargeek
19.03.2020, 19:30
а фиг знает, как должно быть; полагаю - одинаково и равномерно, как в других эмулях

Rubts0FF
20.03.2020, 11:39
Спойлер "как переделать раскладку клавиатуры"
Все получилось, на [ё] - CAPS+1 на TAB - Extend CS+SS и даже левый ALT работает как Symbol Shift, но отчего то только в редакторе, при выборе файла например дави-не дави ни какой реакции и это в общем не понятно.
Исследую дальше, вот то что выше - просто информация.

SAM style
20.03.2020, 12:33
но отчего то только в редакторе, при выборе файла например дави-не дави ни какой реакции и это в общем не понятноДля прояснения можно показать экранную клавиатуру (Alt+K по умолчанию) и увидеть, что реально нажимается. Кстати, если Alt задействовал как SS, нелишне будет переделать хоткеи, потому как там многие висят на Alt+кнопка.

Rubts0FF
20.03.2020, 12:59
Кстати, если Alt задействовал как SS, нелишне будет переделать хоткеи, потому как там многие висят на Alt+кнопка.
Это я уже понял, но здесь беда иного рода, куда то исчезла буква [c], как только отключаешь .map - появляется.
Меня уже который день догоняет мысль - хочу живой ZX Spectrum. Потому что время потраченное на изучение/подгонку/настройку под себя эмуляторов, вроде бы не зря (ну чем бы дитя не тешилось), но самим ZX не занимаюсь и уже забываю чего хотел там.
Где взять железный спектрум я не знаю, и значит возвращаюсь я к Шалаеву, там пару программок доделать надо, а через время вернусь .., сюда в том числе.

SAM style
20.03.2020, 16:12
а через время вернусь .., сюда в том числе.
Запись в дневнике: объект #201 заинтересовался поделием. Продолжаем наблюдение :D
А если сурьёзно, ради интереса раскрой сюда свой .map

Rubts0FF
20.03.2020, 17:58
А если сурьёзно, ради интереса раскрой сюда свой .map
Да он собственно не мой, там пару строк всего

myKeyboard.map
[PC keyboard]

` 1 2 3 4 5 6 7 8 9 0 - = BSP INS HOME PGUP
TAB Q W E R T Y U I O P [ ] DEL END PGDN
CAPS A S D F G H J K L ; ' ENT
LS Z X C V B N M , . / RS UP
LC LW LA _____________________SPC____________________ RA RW MENU RC LEFT DOWN RIGHT

[ZX keyboard]

1 2 3 4 5 6 7 8 9 0
q w e r t y u i o p
a s d f g h j k l E
C z x c v b n m S #20 = ' '

[Keymap file]

PCkey ZXkey1 ZXKey2

example:

CAPS C 2
` C 1
TAB C S
RC S
RS C

От ALT пока отказался.

SAM style
20.03.2020, 18:06
ААААА, всё понятно
Всё, что сверху - не нужно. Исключительно строки с соответствиями:

` C 1
TAB C S
RC S
RS C
И, если я ничего не путаю, обозначения кнопок должны быть разделены табуляцией

Rubts0FF
20.03.2020, 18:47
быть разделены табуляцией
И об этом я знаю, теперь, опыт понимаш-ш-ш такое дело :-)

Rubts0FF
22.03.2020, 11:44
Spectrum`ом занимаюсь в основном на ноуте, там под vmware/xp/shalaev, на настольном то же, но здесь в основном посмотреть какие то новинки, поиграть в старые/любимые игрушки и т.п. Вчера xpeccy запустил на ноуте, два рашпиля в хлам, уже хотел бежать в гараж за болгаркой, не пошел и не потому что туда минут 20-25, потому что комендантский час. А все так банально, забыл (не знал) выбрать вг-ху. и из за этого, какую модель не выбирай, какие ПЗУ не подключай - жуть в общем. Но часа через полтора вспомнил, что с этим я уже воевал, и тогда все пошло. Вот просто логически, если выбирается ПРОФИ, СКОРПИОН .., ну наши в общем клоны, почему ВГ-ху не подключить автоматически. Много хочу?!

Ладно, после того как клавиатуру настроил под себя, включая замету Alt+ на Ctrl+Alt+ в самом эмуляторе, все пошло. Но пару замечаний есть, в общем пока свежо:

1 - например при выходе, или смене диска, появляется сообщение "Not Saved! Save?", ну что то вроде и это хорошо (хотя лучше изменения в образы вносить сразу же, при изменениях в дисках), но, но после сохранения происходит возврат в эмулятор и выход, смену диска или что там еще может быть, нужно повторить. Это не удобно.

2 - я конечно уже не помню скорость чтения "живых" тр-дос дисков, но мне кажется в эмуляторе это тормозит, не плохо тормозит, как unreal на #3d13, и "Турбо" здесь вообще никак не влияет.

3 - Еще, иногда вылетает сообщение "No Disk", в ZAsm`е разумеется, как и в unreal, в том же спектакулаторе, Шалаеве, на "железном" спектруме такого нет. И хотя с последним я и сам буду что то думать, что бы на zx evo работало, но это еще когда.

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

SAM style
22.03.2020, 12:10
По генеральной идее это конструктор из блоков, где можно состыковать несостыкуемое - и скорпион без ВГ, и 48й на проце от гамбоя, и NES на Z80... Так что очень не хотелось бы каких-то зашитых предустановок (в идеале ещё избавиться от тех, что уже есть).
1. Про изменения в образы я уже рассказывал - не все контейнеры способны хранить всю информацию. Если дискету переформатировать в лунные форматы, то в TRD, которой она была при загрузке, она уже не влезет.
2. Турбо-ВГ тут не такое, как в анриле. Там, насколько помню, при выполнении кода в тырдос идёт резкое ускорение. У меня же уменьшается время выполнения флопом движений головы и ускоряется приём ВГ байт с флопа. Остальные тайминги должны соответствовать - специально замерял калькулятором, исходя из 300 об/мин
3. С засмом вроде же чинил. Там снова что-то изменилось?
4. Диалог выбора файла - системный, я его почти не могу изменить. Тем более, вариаций содержимого образа целая куча - даже если файл .trd, то ещё не факт, что там тырдосный каталог.

Dart Alver
22.03.2020, 16:01
По генеральной идее это конструктор из блоков, где можно состыковать несостыкуемое
А как состыковать состыкуемое ? ))) Например по идее бета диск интерфейс, это внешняя хрень, которую можно подключить к любому спеку (да и разрабатывалась вроде для оригинала), ну по крайней мере с незначительными доработками. Но как в xpeccy состыковать бету с +2 или +3 ?

NEO SPECTRUMAN
22.03.2020, 16:07
и 48й на проце от гамбоя,
а можно сделать гейм бой на z80
но с сохранением гейбоевских портов?
правда прямощас это мне не нужно
тк пока портирование с гейбоев приостановлено до лучших времен

SAM style
22.03.2020, 16:22
Но как в xpeccy состыковать бету с +2 или +3
Сейчас, к сожалению, никак. Как и в обратную сторону - интерфейс к uPD765 работает только на +3. Это одно из мест, прибитых гвоздями. Возможно, потом переделаю. По факту в опциях выбирается тип FDC, а интерфейс к нему вшит в материнку.

а можно сделать гейм бой на z80
но с сохранением гейбоевских портов?Machine:GBC, CPU:Z80. В таком сочетании in/out будут бесполезны, но работу с адресным пространством будет вести железо гамбоя, в т.ч. подставлять картриджи и обрабатывать замапленные на память порты. Видеорежим тоже будет гамбоевский. И ещё надо учитывать, что в гамбое есть boot-rom, который включается на ресете и выключается, когда происходит fetch с адреса 256

Rubts0FF
28.03.2020, 10:57
В общем от Шалаева еще не отказался, но решил там заниматься в основном ZAsm`ом, а здесь .., есть чем. Так вот, был случай, имя диска/образа не выбрал, а ввел/отредактировал имя файла, это позволяется. Вот результат - "Программа допустила не допустимое", вообще то никаких сообщений не было, вылетела как пробка из шампанского.
И одно пожелание, да привычки-привычки, и я привык что Шалаев у меня никогда не закрывается, это не его заслуга, это режим Pause/Sleep вроде того в vmware, но хорошо бы - надавил на кнопку, эмулятор сохранил состояние и вырубился, а после запуска восстановил все, главное здесь содержимое рам-диска, отвык я его сохранять, отвык, да и работающую программу то же можно. И как видно, от вылетов программа не застрахована. Повторить ошибку я правда не пытался.
Ну и раз затронул пожелания, выбор дисков на одной кнопке, знаю там есть, но выбрать можно только для А:.

SAM style
28.03.2020, 11:12
Ну и раз затронул пожелания, выбор дисков на одной кнопке, знаю там есть, но выбрать можно только для А:.
Что сиё значит? Какой "выбор дисков на одной кнопке"? Где "там"? Распиши для лунных человеков... В опциях 4 вкладки для каждого диска и кнопка открытия файла для каждого. По F3 - раскрой фильтры, увидишь все 4 диска отдельно.

Так вот, был случай, имя диска/образа не выбрал, а ввел/отредактировал имя файла, это позволяется. Вот результат - "Программа допустила не допустимое", вообще то никаких сообщений не было, вылетела как пробка из шампанского
И вот тут поподробнее. Вбил путь к несуществующему файлу - ничего не упало.

SAM style
30.03.2020, 23:57
build 20200330

Изменения в основном по мелочам, но сильно захотелось собрать

Исправил загрузку образа диска, если текущий был изменен
Исправил заполнение списка профилей и геометрий экрана на старте
Исправил поведение PgUp/PgDn в отладчике
Заблокировал для редактирования пути к дискам в отладчике (всё равно изменения игнорировались)
Если при копировании с ленты на диск в дисководе ничего нет, диск вставляется и форматируется под трдос. Если диск вставлен - он должен быть тырдосным, иначе будет щитхаппенс
При выходе из полноэкранного режима окно центрируется на экране
Добавлено растяжение изображения для NES (8/7) и БК (29/23). Так было для заполнения монитора 4:3
БК0010 теперь умеет пикать бипером


[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20200402) ]

SAM style
02.04.2020, 10:48
В связи с одной выявленной багулиной обновил сборку. Отдельно оформлять не стал, отредактировал прошлый пост

Lethargeek
02.04.2020, 13:24
никочает, гитхаб в нокдауне :(

SAM style
02.04.2020, 13:28
никочает, гитхаб в нокдаунеС моей деревни гитхаб работает

NEO SPECTRUMAN
02.04.2020, 16:46
тоже скачал без проблем

zebest
02.04.2020, 17:03
звук на SAА1099 нет желания еще немного починить?? (или я уже спрашивал пару лет назад?)

SAM style
02.04.2020, 17:28
звук на SAА1099 нет желания еще немного починить?? (или я уже спрашивал пару лет назад?)
Может, и спрашивал :) А что с ним не так? Я реальный saa никогда не слышал.
Впрочем, ay я слышал, но мне это мало помогает...

Lethargeek
02.04.2020, 18:10
еле вытянул, скорости дайлапные и обрывы
чебурнет и яровизация

zebest
02.04.2020, 19:14
Впрочем, ay я слышал, но мне это мало помогает...
Мне тоже мало, но даже с моим "слухом" - и то ухи режет) Даже елси сравнивать с другими эмулями, хоть анрилом ( не идеально, но все же много лучше), или с СимКопом - там почти идеально с'эмулирован чип. Ну это же код, чистая математЕка, никакой магии. Возьмешься еще раз послушать/ подуМать? я примеров в ЛС накидаю, че уж здесь такой мелочью засорять)

NEO SPECTRUMAN
02.04.2020, 19:23
Ну это же код, чистая математЕка,
ага
только половина недокументированные возможности
и любой мануал оставляет после прочтения кучу вопросов
"а что же будет если туда записать это и это во время того то"...

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


в ЛС
если с реалов то кидай сюда
чтоб и другие послушали :)

zebest
02.04.2020, 19:23
а для этого и существуют сэмплы с реального чипа. Все познаеЦЦа в сравнении, не так ли?)

"а что же будет если туда записать это и это во время того то"...

Ну послушаете, и чо?? делать то автору, решать))

Dexus
03.04.2020, 08:12
Мне тоже мало, но даже с моим "слухом" - и то ухи режет) Даже елси сравнивать с другими эмулями, хоть анрилом ( не идеально, но все же много лучше), или с СимКопом - там почти идеально с'эмулирован чип.
Дык и AY в нем тоже звучит хуже других эмуляторов (но лучше совсем древних, пищащих через adlib). А что уж от других чипов-то требовать... Он не для прослушивания, а для отладки хорош. А слушать или смотреть результаты тех же демок лучше в других эмулях.

zebest
03.04.2020, 09:46
А слушать или смотреть результаты тех же демок лучше в других эмулях.
Тут вопрос скорее философский :) В любом творчестве надо исходить из принципов, что каждый уважающий себя Пигмалион стремиЦЦа довести свою Галатею если уж не до совершенства, до "идеальных" 90-60-90, то хотя бы не оставлять 120-120-120 (причем последнее число - это уже в кг)
Вот в Анриле, например. Есть звук от Молодцова, в старинных версиях. Есть и в новых, кто-то уже подправлял. Но по мне так - не в лучшую сторону, авторам я этого доказать не смог, что к примеру огибающая не 5 бит, а 6 должна быть (это пример, ничего конкретного ). Они сказали - "и та-а-а-а-к сойдет.." (с). Ну так - значит так - слушаем Молодцова или Симона :)

SAM style
03.04.2020, 20:44
Почитал ещё немного про SAA. Он на какой частоте сам работает? В доках везде указан CLK 8МГц. Но при этом самая высокая нота в 1024 таких тика. Довольно странно. У AY/YM самая высокая нота всего в 16 тиков CLK (хотя частота такая высокая, что её не слышно)

zebest
03.04.2020, 21:13
Тактируется да, 8 Мгц. Но вроде внутри делитель на 4, итого 2 итоговая. Тут могу ошибаться.
Вот тут
https://github.com/stefandrissen/SAM-MOD-player/blob/master/src/saa1099.i


; 0 31 Hz - 61 Hz
; 1 61 Hz - 122 Hz
; 2 122 Hz - 244 Hz
; 3 245 Hz - 488 Hz
; 4 489 Hz - 977 Hz
; 5 978 Hz - 1.95 kHz
; 6 1.96 kHz - 3.91 kHz
; 7 3.91 kHz - 7.81 kHz

И да, высокие ноты звучат плохо.

SAM style
03.04.2020, 21:35
Но вроде внутри делитель на 4, итого 2 итоговая. Тут могу ошибаться
Я пересчитал все эти частоты на тики по 8МГц. 7 октава - от 0x400 (7812.5Гц) до 0x800 внешних тиков, 6я - от 0x800 до 0x1000 итд, 0 октава - от 0x20000 до 0x40000 (30.517578Гц). Так хоть выглядит логично.

NEO SPECTRUMAN
03.04.2020, 21:52
У AY/YM самая высокая нота всего в 16 тиков CLK
да в этом диапазоне частот уже не ноты а звуки
там такой нестроевичь что просто...

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

строят только первые 5 октав даже только 4
https://zx-pk.ru/attachment.php?attachmentid=68630&d=1554059235

https://zx-pk.ru/threads/30287-i-snova-o-chastotnykh-tablitsakh-ay-ka-%28matchast%29.html
https://zx-pk.ru/threads/30294-novye-chastotnye-tablitsy-dlya-vsekh-ay-3-8910.html

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

за одно реклама моих таблиц :)
https://zx-pk.ru/attachment.php?attachmentid=68632&d=1554059435

SAM style
05.04.2020, 20:23
build 20200405

Ну давайте послушаем
Переписана генерация звука в SAA1099 и микшер каналов. Хотя, с огибающей всё равно что-то не то.


[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20200405) ]

zebest
05.04.2020, 20:55
Ну давайте послушаем
ну давайте. Я бы сказал - значительно получше.
но, насколько я знаю:))) тест - кноПками 1-6 каналы выключаются ПОЛНОСТЬЮ, у тебя же огибающая прет все равно, видимо в обход :) Посмотри, че там с микшированием. Потом вспомню, как в симкупе запускать - сравню с им )
можешь с анрилом сравнить по выключению. Но там у них другой косяк в огибающей :)

https://www.speccy.pl/archive/dl.php?plik=9f858c9c2df039b263dafd8aa301a24a
да, еще, единственная известная мне игра с поддержкой SAA от поляков )

https://s.micp.ru/cIkM0.png
Надеюсь схемуу видел.
я думаю, что каналы глушим в Amplitude Controller, ну и что, Envelope Controller следом стоит, на нем то уже нету чего модулировать?

SAM style
05.04.2020, 21:31
Засчет чего в тесте отключаются каналы? Отдельно отключения каналов у SAA нет. Подозреваю, что запрещением тона и шума в канал одновременно. Но тут встаёт вопрос: у AY при таких условиях на вывод подаётся текущая громкость канала, без генерации частоты - так получаются цифровые треки на AY. В даташите SAA про такой случай ничего не нашёл.

я думаю, что каналы глушим в Amplitude Controller, ну и что, Envelope Controller следом стоит, на нем то уже нету чего модулировать?
Модулирует или замещает своей?

zebest
05.04.2020, 21:34
Отдельно отключения каналов у SAA нет.
ну как же нету, есть же разрешение включения по каждому каналу
а 14 регистр что тогда контролирует??
Ну не знаю, в тесте тупо отрубается КАЖДЫЙ! амплитудный канал.
А у тебя звук остается, значит он замешивается после амплитудного.
В SimCoupe звук глушится полностью. Только что проверил, даже засомневался как то :)


Засчет чего в тесте отключаются каналы?
в тесте в проигрывателе звук снимается с амплитудных каналов. там тупо стоит прерыватель.
Значит все шумы и огибающие микшируются еще до амплитудного канала.
У тебя же выходит - после. Кто прав - тут трудно сказать, можно только догадываться

SAM style
05.04.2020, 21:48
ну как же нету, есть же разрешение включения по каждому каналу
а 14 регистр что тогда контролирует??
Не 14, а 20 (0x14). Запрещает тон. Но при этом амплитуда может генерироваться шумом, если его не запретить.
С другой стороны смотри - в тесте, если "поотключать" каналы кнопками 1-6, это никак не сказывается на регистре слева. а если глобально отрубить тон или шум (7 и 8) - влияет. Нипанятнааааа.
Вот ещё вопрос - при выключенной генерации тона и шума в AY на выход на постоянной подаётся громкость канала. В SAA как с этим дело?
И ещё - огибающая замещает амплитуду или именно модулирует её?
И ещё просьба объяснить следующее (про случай, когда тон и шум канала запрещены)
http://samstyle.narod.ru/addons/xpeccy/Screenshot_20200405_215334.png

zebest
05.04.2020, 22:09
С другой стороны смотри - в тесте, если "поотключать" каналы кнопками 1-6, это никак не сказывается на регистре слева. а если глобально отрубить тон или шум (7 и 8) - влияет. Нипанятнааааа.
ну тут то как раз пАнЯтнА. Ну да, программно амплитудные каналы не запретить, они как играли - так и играют - поэтому я их отключаю "аппаратно" :) А тон и шум - скорее всего - программно.. Давно это было, года полтора -два почти)
но если твоя концепция верна, что шум и огибающая замешиваются ПОСЛЕ амплитудных каналов - ну что ж, тогда остальные емули не верны, и наДо тогда аппаратно шум и огибающую выключать. Тут надо к чему то единому придти.
По тексту на картинке - тут я тоже ничего не скажу, ну да, запутано. поэтому каждый эмулит в меру понимания)

SAM style
05.04.2020, 22:24
По тексту на картинке - тут я тоже ничего не скажу, ну да, запутано. поэтому каждый эмулит в меру понимания)
По моему, там прямо написано, что при запрещенном тоне и шуме и разрешенной огибающей на выход выходит то, что нагенерил генератор огибающей. Про урезание амплитуды до 3 бит слегка не понял, зачем.
Короче, мне нужно точное описание микширования огибающей и амплитуды, полученой миксом тона и шума.
И самое первое - на реальном SAA проверить, влияет ли изменение регистра амплитуды канала 2 (5) на громкость выведеной в эти каналы огибающей. Т.е огибающая делается из амплитуды или существует сама по себе?

zebest
05.04.2020, 22:31
Ну замиксуй как у всех - до амплитуды, чтобы каналы выключались. Если нужно абсолютная истЕна - тогда надо пытать владельцев живой карты. Их не так мало. Олега можно попросить этот момент проверить. или еще кого)

SAM style
05.04.2020, 22:46
Ну замиксуй как у всех - до амплитуды, чтобы каналы выключались. Если нужно абсолютная истЕна - тогда надо пытать владельцев живой карты. Их не так мало. Олега можно попросить этот момент проверить. или еще кого)Есть меандр из генератора тона, есть меандр из генератора шума - допустим, сначала они миксуются, получается меандр смеси тона и шума. И далее начинается хер знает что.
Вариант 1 - на этот меандр накладывается амплитуда из регистра канала, либо амплитуда, сгенерированная огибающей (но не вместе), в таком случае получается как у меня
Вариант 2 - на этот меандр сначала применяется амплитуда из регистра, затем уровень огибающей, но КАК?

zebest
05.04.2020, 22:49
ну кто из нас программер?? )
Симон две недели назад новую версию SimCoupe выкатил
https://github.com/simonowen/simcoupe/releases/tag/20200324
исходники есть. На плюсплюсах же, даже с комментами. Может тебе там чО понятнее?))))
От себя могу сказать - звук выключается полностью во всех 6 каналах.
в XP не заработал, но в семерке - играет.

SAM style
05.04.2020, 23:06
Может тебе там чО понятнее?))))
Ну хз. По исходникам понимать, как оно работает, а потом делать свой велосипед - это целых 2 шанса налажать :)
Короче, если огибающая модулирует амплитуду, то пока сделаю так:

sndPair saaMixTN(saaChan* ch, saaNoise* noiz) {
sndPair res;
if ((ch->freqEn && ch->lev) || (ch->noizEn && noiz->lev) || !(ch->freqEn || ch->noizEn)) {
res.left = ch->ampLeft;
res.right = ch->ampRight;
} else {
res.left = 0;
res.right = 0;
}
return res;
}

sndPair saaMixTNE(saaChan* ch, saaNoise* noiz, saaEnv* env) {
sndPair res = saaMixTN(ch, noiz);
if (env->enable) {
res.left = ((res.left * env->vol) >> 4) & 0x0e;
if (env->invRight) {
res.right = ((res.right * (env->vol ^ 0x0f)) >> 4) & 0x0e;
} else {
res.right = ((res.right * env->vol) >> 4) & 0x0e;
}
}
}

zebest
05.04.2020, 23:20
Ты сделай, а мы сравним) Все же в сравнении. не так ли??
а вот для сравнения как это в железе эмулят)

https://s.micp.ru/sAG5O.jpg

Это один канал. Как видишь, все в триплет впихуют, там миксуют, и на выход 22 бита гонят :)
"Все просто" (с) Или еще кусочек?

SAM style
05.04.2020, 23:28
Это один канал. Как видишь, все в триплет впихуют, там миксуют, и на выход 22 бита гонят
Вижу три черных ящика с входными и выходными данными. Что внутри ящиков происходит - не вижу. А надо именно это. И с чего именно 22 бита?

zebest
05.04.2020, 23:36
https://s.micp.ru/l5238.jpg

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

SAM style
17.04.2020, 12:05
build 20200417


Снова немного пошаманил с микшером SAA1099
Раскопал процедуру записи на ленту с БК0010, благодаря этому уяснил формат, появилась возможность загружать и записывать
Так же для БК0010 есть возможность "открыть" бинарный файл на ленту - он разворачивается в нужную последовательность сигналов. Ну, и WAV никто не отменял.
Тайминги 1801ВМ1 всё ещё туманные, по мере растуманивания будут корректировки


[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20200417) ]

Lethargeek
20.04.2020, 23:38
SAM style, не планируешь ли еще улучшать sprite scanner? что хотелось бы добавить:

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

SAM style
21.04.2020, 00:13
SAM style, не планируешь ли еще улучшать sprite scanner? что хотелось бы добавить:

- ширина до 256 байт с прокруткой по горизонтали и растяжением (спрайты иногда так хранятся и бывает буфер шире 32)
- вывод в несколько колонок заданной ширины по типу emuzwin, пока общей ширины хватает на них
- высота колонки с точностью до байта (но и быструю познакоместную установку оставить тоже)
- опцию увеличения пикселей хотя бы в два раза, а то мелкие детали больно рассматривать
Засобачил тикет на гитхабе (https://github.com/samstyle/Xpeccy/issues/77). Теперь он будет висеть и мозолить мне глаза. Когда-нибудь примусь за него

NEO SPECTRUMAN
29.04.2020, 00:10
SAM style, а можно наконфигурировать +3 с трдосом?

SAM style
29.04.2020, 00:45
build 20200428


АТМ2: исправлен цвет paper в текстовом режиме
Изменено сохранение ленты в WAV для устранения скважности
Для избавления от костылей шины адреса и данных расширены до 32 бит
Для БК в отладчике регистры показываются в 8-ричном виде
Да и вообще для всех специальных полей ввода чисел к 16-ричному и 10-тичному отображению добавлено 8-ричное
Для 1801ВМ1 реализована команда RESET (пока сбрасывает таймер и отправляет наружу сигнал, по которому сбрасывается буфер клавиатуры. что ещё сбрасывается в реале - хз)


[ скачать (https://github.com/samstyle/Xpeccy/releases) ]


SAM style, а можно наконфигурировать +3 с трдосом?
Пока что нет. Если кто-то сообщит дешифрацию портов оригинального бетадиска, попытаюсь сделать его целиком внешним устройством.

NEO SPECTRUMAN
01.05.2020, 15:42
SAM style, а можно сделать запись количества использованных тактов во фрейме (как в угриале от инта до halt) в лог?
тк часто нужно проверять изменение скорости работы того чего нельзя посчитать
когда набор входящих данных неизвестен
а так можно было бы прогонять одинаковый тест и сравнивать графики в экселе

...сам спектрум к сожалению не умеет считать свои такты :v2_dizzy_facepalm:

goodboy
01.05.2020, 15:45
запись количества использованных тактов во фрейме
на фирме вроде идёт добавление до 4х (m1 event) для команд
(интересно тут это эмулится ?)

SAM style
01.05.2020, 15:54
SAM style, а можно сделать запись количества использованных тактов во фрейме (как в угриале от инта до halt) в лог?Такты считаются, но не специально для такого случая. В дебагере можно посмотреть текущие такты от INT-а и такты между выходом из дебугера и входом туда.

на фирме вроде идёт добавление до 4х (m1 event) для команд
(интересно тут это эмулится ?)Не знал про такое. Есть evenM1 так, как в скорпионе (округление до четного такта)

NEO SPECTRUMAN
01.05.2020, 15:57
В дебагере можно посмотреть текущие такты от INT-а и такты между выходом из дебугера и входом туда.
ну дык они дико скачут
невозможно померять на глаз
в придачу в одном фрейме будет больше в другом меньше
нужен лог
который потом можно усреднить
или графики которого можно наложить друг на друга и сравнить

goodboy
01.05.2020, 15:59
Есть evenM1 так, как в скорпионе (округление до четного такта)
я это и вспомнил. так работают фирменные спеки и жёлтый скорпион (в зелёном этого нету)
но с кол-вом тактов именно чётное или кратное 4ём я могу ошибаться.
тут скорее рисовальщики на бордюре скажут точнее

NEO SPECTRUMAN
01.05.2020, 16:14
Такты считаются, но не специально для такого случая.
можно писать в память 64К фрейма а потом разово сохранять
64к должно хватить с головой
безостановочная запись 15 часов работы не нужна :)

с таким же успехом пойдет запись количества времени висения на halt-е
вместо количество не висения

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


Не знал про такое.
кстате тоже впервые слышу

есть задержки 65432100 над paper-ом и вроде все

SAM style
01.05.2020, 16:26
но с кол-вом тактов именно чётное или кратное 4ём я могу ошибаться.насчет 4 тактов - это может быть период обновления бордюра. если память не изменяет, в оригинале как раз цвет бордюра обновлялся раз в 4 такта (8 точек), в наших пентагонах сделали обновление каждый такт.

Lethargeek
01.05.2020, 17:43
есть задержки 65432100 над paper-ом и вроде все
еще есть аналогичные задержки доступа к юловым портам
а гудбой, кажется, с амстрадом спек перепутал

goodboy
01.05.2020, 17:55
значит на фирме допустим push hl (который по справочнику 11t) выполняется за 12 ?

Lethargeek
01.05.2020, 18:21
значит на фирме допустим push hl (который по справочнику 11t) выполняется за 12 ?
да с какого перепугу-то тебе "значит"? на бордюре за 11 так и будет, а на растре - смотря как в паттерн торможения попадёт

NEO SPECTRUMAN
01.05.2020, 18:25
да с какого перепугу-то тебе
гудбой видимо переотмечал первое мая :)

Lethargeek
01.05.2020, 18:26
если я сейчас ничего не путаю, до 4 тактов машциклы продлеваются на амстраде (который CPC) - то есть и push, и pop всегда там будут 12t

goodboy
01.05.2020, 18:32
каша в голове из-за недавнего фикса игрушки LaserBirds.
у фирменного 48к строка рисуется (как и на пентагоне) за 224t,
но кусок кода который на фирме выполняется за 224t на пентагоне выполняется за меньшее кол-во тактов,
вот я и пытаюсь вспомнить/предположить откуда разница.

NEO SPECTRUMAN
02.05.2020, 02:28
Пока что нет. Если кто-то сообщит дешифрацию портов оригинального бетадиска, попытаюсь сделать его целиком внешним устройством.
ну схем какого то бетадиска есть тут
http://www.worldofspectrum.org/infoseekid.cgi?id=1000034
и там местами видно чем оно присобачено к шине

но есть бетадиси
а есть бетадиск 128
а я в сортах гофна не разбираюсь :)


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

нужен наш бетадиск

NEO SPECTRUMAN
03.05.2020, 22:36
Такты считаются, но не специально для такого случая. В дебагере можно посмотреть текущие такты от INT-а и такты между выходом из дебугера и входом туда.
тогда такой вариант
запилить такой trace-бряк
который будет при прохождении писать в лог номер фрейма и количество срабатываний в фрейме

зная где находится halt-ы в коде
можно будет их забрякать
и получить количество простоя проца за каждый фрейм в попугаях хальтах
в фреймах в которых нет срабатывания писать номер фрейма и 0
halt же без остановки читается?

можно вообще логить номер фрейма и текущий такт (при попадании на контрольную точку)
и так можно будет измерять даже код который выполняется 100% времени

например ставить такой на выход из прерывания

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

и с таким же успехом его можно будет ставить на последнюю команду перед хальтом
и мерять и такой код

Dart Alver
24.05.2020, 13:58
build 20200428
В принципе это не к этому билду а вообще.
Какие джойстики поддерживает (если поддерживает) Xpeccy и как настроить.
У меня простенький aseline CG-1 , в Gamepad пишет usb gamepad, но ничего не настраивается и не сканируется.

SAM style
24.05.2020, 16:09
В принципе это не к этому билду а вообще.
Какие джойстики поддерживает (если поддерживает) Xpeccy и как настроить.
У меня простенький aseline CG-1 , в Gamepad пишет usb gamepad, но ничего не настраивается и не сканируется.Всё общение с геймпадами идёт через SDL. У меня самого была такая проблема, что SDL2 как бы детектил наличие геймпада (Logitech Dual Action), но ничего с него не принимал, тогда как билд SDL1 работал отлично. В последнее время и SDL2 начал его нормально принимать.
Если есть возможность - пересобери с другой версией SDL, возможно заработает.

Dart Alver
24.05.2020, 20:26
Если есть возможность - пересобери с другой версией SDL, возможно заработает
Пересобрал.
Инструкция немного странная ))


mkdir build
cd build
Вообще не при делах, собирается всё в основной папке, если конечно не копировать вначале всё в build, но об этом речи не было. Но да ладно это фигня, кому надо поймёт ))

Джойстик подключил, заработало, правда как всегда на бочку мёда - ложка дёгтя ))
Подключённый джойстик продолжает управлять стрелкой в основной системе, поэтому:
1 - Чтобы назначить кнопку 0 на fire нужно извратиться после включения скана мышкой перевести стрелку на Ok и только потом жать fire.
2 - Чтобы основная стрелка не бегала по экрану приходится включать мышь средней кнопкой, и тут:
3 - Button1 срабатывает аналогично средней кнопки мыши - то есть вываливает системную стрелку снова на экран.

SAM style у тебя как-бы эмулируется типа обновлённая мыша с колёсиком (боольшой жирный +), но вот только почему-то без 3-й кнопки.
Может лучше подвесить включение/выключение захвата мыши/джойстика на клавиши ?
В RVM на Alt+M мышу повесили и ничего, правда мыша у них мерзкая, весь эмуль вешается. А с джойстиком у них та же беда - нифига пользоваться нельзя.

SAM style
24.05.2020, 21:12
Подключённый джойстик продолжает управлять стрелкой в основной системе, поэтому:
Что-то новое. Может, у тебя в системе так настроено? У меня гампад вместо мышки не работает.

SAM style у тебя как-бы эмулируется типа обновлённая мыша с колёсиком (боольшой жирный +), но вот только почему-то без 3-й кнопки.
Может лучше подвесить включение/выключение захвата мыши/джойстика на клавиши?
В RVM на Alt+M мышу повесили и ничего, правда мыша у них мерзкая, весь эмуль вешается. А с джойстиком у них та же беда - нифига пользоваться нельзя.
Мышь так же захватывается по Alt+M (и это меняется в настройках хоткеев). Захват по MMB остался потому, что так удобнее. Из-за этого, соответственно, средняя кнопка занята и не эмулируется.


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

Dart Alver
24.05.2020, 23:02
cmake делает свои дела там, где запущен. всегда так собирал, и он ложил всё в build
А ... ясно, я олух 2 точки зевнул. Они так невыразительно выглядели, надо было слэш чтоли добавить для увесистости :D


Что-то новое. Может, у тебя в системе так настроено? У меня гампад вместо мышки не работает.
Ну да, точно, ваша правда. Он у меня не постоянно включен, так что выходит как только его воткнёшь - система сразу к рукам прибирает, надо лезть в настройки галку снимать. :v2_conf2:


Мышь так же захватывается по Alt+M (и это меняется в настройках хоткеев). Захват по MMB остался потому, что так удобнее. Из-за этого, соответственно, средняя кнопка занята и не эмулируется.
А можно опцию чтоб выбор был: либо захват, либо третья кнопка ? :v2_rolley

SAM style
26.05.2020, 19:18
А можно опцию чтоб выбор был: либо захват, либо третья кнопка ?
Чуть было не сделал, но потом придумал такой вариант - представь, что ты захватываешь клавиатуру (эмулятор не обрабатывает ни одну кнопку, всё отсылается эмулируемой машине) и захватываешь мышь со средней кнопкой (все мышедвижения и мышеклики тоже принадлежат эмулируемой машине). А теперь внимание вопрос *бздыщ* как теперь отлочить что-нибудь от эмулятора? Минута пошла... отвечает Александр Друзь.

NEO SPECTRUMAN
26.05.2020, 21:50
Минута пошла...
ну как бы обычно используют какуито комбинацию клавишь
которая или бесполезна или не нажимаема ввиду отсутствия таких кнопок на эмулируемой машине

посмотри на virtual box


А теперь внимание вопрос *бздыщ* как теперь отлочить что-нибудь от эмулятора? Минута пошла..
обычно залоченные таким образом эмуляторы
отлочиваются нажатием кнопки вин или при помощи священного ctrl+alt+del :)
не помню ни одного эмулятора
который бы не отлочился нахрен таким образом :)

zebest
26.05.2020, 21:59
Анрил по Alt+Tab отлачиваеЦЦа. кпримеру.
и Спекулятор. и много наверное кто еще

SAM style
26.05.2020, 23:46
ну как бы обычно используют какуито комбинацию клавишь
которая или бесполезна или не нажимаема ввиду отсутствия таких кнопок на эмулируемой машине
посмотри на virtual boxВ виртуалбоксе для этого есть одна из кнопок клавы, которая не передаётся в эмулируемую машину. Можно было бы сделать так, НО (!) к некоторым ZX можно подключать PS/2 клаву, и читать с её буфера коды ВСЕХ её кнопок - если одна из них окажется занята эмулятором под анлок, ситуация будет абсолютно такой же, как со средней кнопкой мыши.
ЗЫ: Кстати, киньте в меня софтом, который пользует среднюю кнопку мыши.


Анрил по Alt+Tab отлачиваеЦЦа. кпримеру.
А это потому что система имеет приоритет над этим сочетанием. Здравое замечание, кстати. Сейчас при потере фокуса главного окна мышь разлочивается.
Убедили, это выход. Средняя кнопка мыши висит на 2м бите? bit0-LMB, bit1-RMB(или наоборот, зависит от настроек),bit2-MMB - так?

NEO SPECTRUMAN
26.05.2020, 23:50
В виртуалбоксе для этого есть одна из кнопок клавы
ну до левый ctrl применяется для всего :)
и судя по всему в 300 раз чаще чем средняя кнопка мышы

Lethargeek
27.05.2020, 01:06
Чуть было не сделал, но потом придумал такой вариант - представь, что ты захватываешь клавиатуру (эмулятор не обрабатывает ни одну кнопку, всё отсылается эмулируемой машине) и захватываешь мышь со средней кнопкой (все мышедвижения и мышеклики тоже принадлежат эмулируемой машине). А теперь внимание вопрос *бздыщ* как теперь отлочить что-нибудь от эмулятора? Минута пошла... отвечает Александр Друзь.
эээ, а смысл полностью захватывать клаву? у какой из эмулируемых машин столько кнопок, что не хватит пц-клавы на них на все?
что касается отлочивания мыши, то у меня, например, для удобства кроме штатной комбы захвата/отпуска мышь всегда свободна во время паузы
(ну, и при временной потере фокуса тоже)

SAM style
27.05.2020, 09:06
эээ, а смысл полностью захватывать клаву? у какой из эмулируемых машин столько кнопок, что не хватит пц-клавы на них на все?
К некоторым спектрумам можно подключить PC-клаву и читать содержимое её буфера, т.е. всех её кнопок. Для этого.

NEO SPECTRUMAN
27.05.2020, 09:35
К некоторым спектрумам можно подключить PC-клаву и читать содержимое её буфера, т.е. всех её кнопок. Для этого.
а где почитать про как на некоторых спектрумах?
ато хочетсо юзать клавиши page up page down...



Чуть было не сделал, но потом придумал такой вариант - представь, что ты захватываешь клавиатуру (эмулятор не обрабатывает ни одну кнопку, всё отсылается эмулируемой машине) и захватываешь мышь со средней кнопкой (все мышедвижения и мышеклики тоже принадлежат эмулируемой машине). А теперь внимание вопрос *бздыщ* как теперь отлочить что-нибудь от
с таким же успехом щас некоторые заюзали esc
на котором висит православный дебагер
а снимание дебагера с esc-па есть страшный грех :v2_dizzy_priest:

SAM style
27.05.2020, 10:01
а где почитать про как на некоторых спектрумах?
АТМ2/Baseconf/TSConf читают буфер PC-клавы через последние ячейки CMOS.

inozemcew
27.05.2020, 11:44
Сделайте, плиз, нормальную кнопку турбо, чтобы по нажатию процессор разгонялся до максимума, а звук, инты и прочее оставалось нормальным. Будет первый эмулятор с человеческой турбой вместо бесполезного разгона всего до упора.

Lethargeek
27.05.2020, 13:00
Сделайте, плиз, нормальную кнопку турбо, чтобы по нажатию процессор разгонялся до максимума, а звук, инты и прочее оставалось нормальным. Будет первый эмулятор с человеческой турбой вместо бесполезного разгона всего до упора.
не первый точно, есть такая партия турба уже в моём ;)

SAM style
27.05.2020, 15:27
Сделайте, плиз, нормальную кнопку турбо, чтобы по нажатию процессор разгонялся до максимума, а звук, инты и прочее оставалось нормальным. Будет первый эмулятор с человеческой турбой вместо бесполезного разгона всего до упораЭто типа как в настойках установить умножитель частоты проца?

Lethargeek
27.05.2020, 18:36
Это типа как в настойках установить умножитель частоты проца?
не, тогда нормальными остаются только инт и аигрек-музыка по инту
"прочее" - бипер, оцифровки с аигрека и мультиколоры все пострадают

SAM style
27.05.2020, 18:54
не, тогда нормальными остаются только инт и аигрек-музыка по инту
"прочее" - бипер, оцифровки с аигрека и мультиколоры все пострадают
Ну тогда рассказывай, как так "разогнать" процессор, чтобы время между аутами в бипер всё равно не менялось?

Lethargeek
27.05.2020, 19:47
Ну тогда рассказывай, как так "разогнать" процессор,
такты (до определённого кол-ва) ПОСЛЕ кадра добавляешь, ЕСЛИ бипер-биты в этом кадре не изменялись и не выполняется halt
если в этих тактах, уже добавленных, происходит halt или вывод звука (любого) - прекращаешь, начинается новый кадр
экран при этом, естественно, не обновляется - остановись, мгновенье (то есть луч)


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

как всё это выглядит - можешь наблюдать в моём эмуле (посмотри total eclipse, elite, мультиколоры)

NEO SPECTRUMAN
27.05.2020, 20:31
Это типа как в настойках установить умножитель частоты проца?
ну как бы хардварная кнопка турбы так и делала
и при этом и должны плыть нахрен биперы, оцифровки и мультиколоры
для которых есть режим 3,5МГц

inozemcew
27.05.2020, 21:37
ну как бы хардварная кнопка турбы так и делала
и при этом и должны плыть нахрен биперы, оцифровки и мультиколоры
для которых есть режим 3,5МГц

При всех недостатках у хардварной кнопки есть неоспоримое преимущество - не нужно лезть ни в какие менюшки, диалоги настройки и крутить там всякие циферки. А уплывшие мультиколоры и оцифровки возвращаются в исходный вид "легким движением руки"Ⓒ.

SAM style
27.05.2020, 21:42
т.е весь вопрос в том, чтобы добавить хоткей на переключение турбы? тогда это херня-вопрос, будет вам кнопка.
Но программное переключение турбы всё равно будет её сносить

NEO SPECTRUMAN
27.05.2020, 21:44
"легким движением руки"
ну так легким движением руки можно и все повесить
так что кнопка на свой страх и риск

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

а турбо мужно довключить потом
после этого гофна

Lethargeek
27.05.2020, 22:34
При всех недостатках у хардварной кнопки есть неоспоримое преимущество - не нужно лезть ни в какие менюшки, диалоги настройки и крутить там всякие циферки.
так тебе нужно было просто select CPU frequency, а я-то думал...
дык оно давно уже было в эмулях, правда, помню только через меню
и для кнопки таки тоже нужно меню, чтобы назначать множитель


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

SAM style
27.05.2020, 22:41
и для кнопки таки тоже нужно меню, чтобы назначать множитель
Хоткей переключения множителя частоты x1<->x2 я уже вделал, лежит на гитхабе.

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

Lethargeek
27.05.2020, 23:03
А это, как я понял, сделано у всех через жопу - увеличением VBlank на 320 строк - тогда изображение отрисовывается как обычно, а потом CPU ещё столько же тикает без отрисовки.
почему "через жопу" и "у всех" - это где еще ты такое видел?


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

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

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

NEO SPECTRUMAN
27.05.2020, 23:05
чисто теоретически в железе может существовать (ну, почти) - если взять суперкамень, который можно на порядок и более разогнать в последних нескольких строках растра
о как заиграют от этого биперы и ковоксы
ты их после этого не узнаишь

так шито финт ушами есть финт ушами
а не имитация настоящей турбы

Lethargeek
27.05.2020, 23:35
о как заиграют от этого биперы и ковоксы
от того, что МОЖНО разогнать? точно так же (ежели играют - НЕ разгонять)

NEO SPECTRUMAN
28.05.2020, 00:41
от того, что МОЖНО разогнать?
на месте твоих разогнатых строк
будет уплывать фаза
частоты порядка 100Гц и ниже расколбасит нафик и будет противный рев в сочетании с расстроенными басами
сами же эти последние несколько строк будут дополнительно пищать 50Гц-ами


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

конечно тем кого поимел в оба уха медведь все равно...

Dexus
28.05.2020, 00:59
А что мешает имплементить два вида турбы? С впихивание доп. тактов между кадрами (демо-Френдли), либо корректным переложением тактов на положение луча (такт как один пиксель, вместо двух) - как это было, например, в ПЛМ-автоматике и подобных турбо-клонах.
И биперный/цифровой звук не может не уплыть в любом случае - хитрый "финт ушами" только с выводом видео буфера прокатит.

Lethargeek
28.05.2020, 01:47
на месте твоих разогнатых строк
будет уплывать фаза
частоты порядка 100Гц и ниже расколбасит нафик и будет противный рев в сочетании с расстроенными басами
сами же эти последние несколько строк будут дополнительно пищать 50Гц-ами
тля :v2_dizzy_facepalm:

(ежели играют - НЕ разгонять)
а детектить это можно элементарно

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


И биперный/цифровой звук не может не уплыть в любом случае - хитрый "финт ушами" только с выводом видео буфера прокатит.
у меня в эмуле не уплывает - ЧЯДНТ?

Dexus
28.05.2020, 08:09
у меня в эмуле не уплывает - ЧЯДНТ?

Понятия не имею. Ты нам расскажи как ты такого добился.

В норме, когда частота процессора меняется в 2 раза, с 70000 тактов на фрейм на 140000 тактов на фрейм, все дигитальные экзерсисы, будь то бипер, диг в АУ, или ковокс — уплывают (становятся также выше в 2 раза). У спека нет программируемых таймеров, чтобы фиксироваться по какой-то частоте. Есть только CLK и INT (который всегда ~50гц)

inozemcew
28.05.2020, 10:31
Хоткей переключения множителя частоты x1<->x2 я уже вделал, лежит на гитхабе.

Уже затестил. То, что надо. Правда забинден он по странному, ну то мелочь - перевесил на <Insert> руками. Теперь бы еще и индикатор состояния турбы - было бы вообще замечательно. Ну и загрузку с ленты желательно бы подкорректировать, чтобы в реальном режиме не вылетала при включении турбы.

Lethargeek
28.05.2020, 10:54
Понятия не имею. Ты нам расскажи как ты такого добился.
ё-моё, ну выше всё написано же - https://zx-pk.ru/threads/9479-xpeccy.html?p=1065487&viewfull=1#post1065487
турба просто не работает после биперных звуков в штатном времени кадра
и сразу прекращается с началом любого звука в добавленном

NEO SPECTRUMAN
28.05.2020, 11:30
ё-моё,
а на сколько времени турба отключается?

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

Dexus
28.05.2020, 11:45
ё-моё, ну выше всё написано же - https://zx-pk.ru/threads/9479-xpeccy.html?p=1065487&viewfull=1#post1065487
турба просто не работает после биперных звуков в штатном времени кадра
и сразу прекращается с началом любого звука в добавленном
Я пытался понять что там написано до этого ответа. Тщетно. Ты не можешь «прекращать звуки», т.к они выдаются непрерывным изменением портов (например #fe). Ты не можешь «отключать турбо», потому что человек её умышленно активировал. Допустим, человек сохраняет на ленту. Что ты можешь сделать чтобы частоту не повышать (с учетом того что тайминги все сократились)? Буферизировать весь вывод, и потом с постоянно нарастающей задержкой выводить? Потому что рубить по полуфреймам - непрерывность нарушится. Будет рвань, и ни о каком качестве того же ковокса или последующем чтении этой записи не может быть и речи.

NEO SPECTRUMAN
28.05.2020, 12:11
Ты не можешь «отключать турбо», потому что человек её умышленно активировал.
почему нет?
какая разница что активировал какой то там человек
только пошло обращение к портам ковокса бипера
турбу можно тушить
и включать только через время после последнего обращения

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

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

но вылазит проблема подобрать время задержки
для ковокса это частота дискретизации
например 3500000 / 4000 = 875 тактов

но например на биперах может быть вывод на низких частотах
БЕЗ постоянного долбления порта
например 50Гц это 2 вывода за фрейм
и если будет вывод только одного такого звука
то все уплывет

ну а если каждый фрейм тушить турбу на целый фрейм...

а как отличить играющий биперный движок весь фрейм для которых можно отключить турбу на весь фрейм
от эффектов которые длятся часть фрейма и для которых турбу можно было бы включить на остаток фрейма?

ну и никто не гарантирует
что не будет такого вывода на ковокс

всех случаев такая турба не перекроет
дето она будет лажать

Dexus
28.05.2020, 14:04
Херня это какая-то, турбо с отключением турбы «если вдруг». Вот честно. Детекты дига, таймауты.. Алё, в моем Новосибе это просто тумблер!

SAM style
28.05.2020, 16:12
Херня это какая-то, турбо с отключением турбы «если вдруг»
Ради справедливости, некоторые схемы турбирования замедляли такты до стандартных во время циклов чтения-записи, чтобы память успевала за процом. Так что "если вдруг" было.

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


Теперь бы еще и индикатор состояния турбы - было бы вообще замечательно
В настройках на вкладке Xpeccy/Leds есть галка Messages. Если включена - в левом нижнем углу будут появляться сообщения, в т.ч. и о вкл-выкл турбы по кнопке

Lethargeek
28.05.2020, 21:04
а на сколько времени турба отключается?
пока кадр без бипера не случится


вот отличить цифру на Ay-ке от не цифры уже проблематично
тоесть турбу нужно тушить при любом обращении к Ау
да (а для бипера даже не разрешать, если в кадре раньше было оно)


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


но например на биперах может быть вывод на низких частотах
БЕЗ постоянного долбления порта
например 50Гц это 2 вывода за фрейм
и если будет вывод только одного такого звука
то все уплывет
ну это только если нарочно делать, уши отмораживать назло бабушке


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

а при эффектах всяко будут паузы больше фрейма


всех случаев такая турба не перекроет
дето она будет лажать
да и похрен, если овер 95% практики перекроет

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

кароч, я попробовал, и результатом в общем доволен

NEO SPECTRUMAN
28.05.2020, 21:06
никак, а зачем? если так на спеке играет бипер, значит, больше ничего особо не происходит, так что пусть играет себе без турбы
пушо на бипере как бы часто выводят звуковые эффекты
которые в турбе будут звучать еще хуже
а турба могла бы и не помешать

а если тушить турбу на фрейм
то местами турбы может тогда и не быть

Lethargeek
28.05.2020, 21:13
а если тушить турбу на фрейм
то местами турбы может тогда и не быть
ну и что? и пускай не будет, эффект длится несколько фреймов
между ними долгие промежутки тоже несколько фреймов
так что минус фрейм влияет пренебрежимо

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

вот опять же, смотрим для примера total eclipse
там есть долгие звуки для событий, при которых и в оригинале всё фризится
и есть тиканье, которое на турбу совершенно не влияет по ощущениям

Dexus
29.05.2020, 09:37
Ради справедливости, некоторые схемы турбирования замедляли такты до стандартных во время циклов чтения-записи, чтобы память успевала за процом. Так что "если вдруг" было
Турбирование с вайтом — это стандартная практика. И это нормальное железное решение.
Тут же предлагается просто отключать турбу на период воспроизведения бипера/Сэмплированных ковокс/АУ , с типа таймаутом в 20мс.
Я понимаю отключать турбу в железе чтобы ВГ93 работала как надо, пока motor-on, но дергать турбу туда-сюда по ходу игры — это совсем не то. Нафига? Для тех, кому лень ткнуть кнопку и отключить Турбо если это демка с цифрой?

Если уж и мудрить с вариантом невозможным в железе — это именно с накоплением звуков в буфер какой-то ограниченной длины. Пауза в те же 50мс, например, буфер «закрывается», и когда начнется очередная порция звуков - она начинается заново, без задержки, либо вторым буфером (параллельно первому), либо обрывать воспроизведение первого. В таком случае для эмуляции это будет норм для игровых эффектов. Но музыку «в фоне» это нормально не даст воспроизводить (как в том же маник минере - тона не повысятся, но темп ускорится, если промежутки будут в рамках окна).

Lethargeek
29.05.2020, 19:22
Я понимаю отключать турбу в железе чтобы ВГ93 работала как надо, пока motor-on, но дергать турбу туда-сюда по ходу игры — это совсем не то. Нафига?
блин, ТЕОРЕТИК, запусти наконец с разными турбами игру потормознее (ту же тотальку) и сразу же почувствуешь - нафига!


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

NEO SPECTRUMAN
29.05.2020, 22:02
так он и в обычной турбе
привет криворуким пейсателям писавшим под одну частоту
в нормальных поделках все только уплавнитсо а не ускоритсо...

Black Cat / Era CG
29.05.2020, 22:11
привет криворуким пейсателям писавшим под одну частотуOpera так и под MS-DOS писали. За что были руганы.

NEO SPECTRUMAN
29.05.2020, 22:14
Opera так и под MS-DOS писали.
так много кто песали

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

Black Cat / Era CG
29.05.2020, 22:29
ну тогда правильно было. это щас неправильно :)

inozemcew
30.05.2020, 18:17
В настройках на вкладке Xpeccy/Leds есть галка Messages
Это конечно что-то, но еще не то. Тем более, что индикаторы всяких нужных и не очень вещей уже присутствуют. Еще один явно лишним не будет. Особенно когда грузишь с ленты, а оно не грузится, потому что непонятно включена турба или нет.

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

Впоймал баг. Последовательность команд

ei
jp $-1
отрабатывает неправильно - не прерывается прерыванием. Из-за этого виснет Elite Supertrux 128.

SAM style
31.05.2020, 11:04
отрабатывает неправильно - не прерывается прерыванием. Из-за этого виснет Elite Supertrux 128.
Протестировал:

org 0x6161
ld a,2
out (254),a
loop:
jr loop
start:
di
ld hl,0x6000
ld de,0x6001
ld bc,0x100
ld a,h
ld i,a
inc a
ld (hl),a
ldir
im 2
loopA:
ei
jp loopA
INT срабатывает после JP, как положено

Да и вообще, запускается (релиз от DR):
http://samstyle.narod.ru/addons/xpeccy/XpeccySupertrux.png

inozemcew
31.05.2020, 14:32
Менюшка загружается. После нажатия на '0' - виснет.
http://i.piccy_.info/i9/100f2bb6a1507f865f1bfad18223dd3c/1590924687/11653/1381210/Screenshot_20200531_142443_240.jpg (http://piccy_.info/view3/13832485/8bd02d005efb21594ccab45b619884d5/)http://i.piccy_.info/a3/2020-05-31-11-31/i9-13832485/240x210-r/i.gif (http://i.piccy_.info/a3c/2020-05-31-11-31/i9-13832485/240x210-r)

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

Тестил оригинальный tzx с WoS. Проблемы именно с 128й версией, 48я заметно отличается, там все хорошо.

Lethargeek
31.05.2020, 16:33
причём если заменить на "ei:jp $62a6" - заработает

SAM style
01.06.2020, 09:01
Этот баг я уже выловил. Вечером соберу.

SAM style
01.06.2020, 18:40
build 20200601


Исправлено формирование INT-а
Добавлен хоткей для переключения турбы CPU
На тестовой основе добавлено отображения тактов от INT'а до HALT'а, включается в Options/Xpeccy/Leds
Тоже в тестовом режиме MSX'ы могут грузить с ленты, эмулятор понимает файлы *.cas. Данные грузятся верно, но что потом случается - для меня загадка, как будто не под тот MSX было писано...
Для БК дамп показывает слова в 8-ричном отображении, так же как и регистры.


[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20200601) ]

CityAceE
02.06.2020, 12:53
SAM style, реквестирую поддержку в эмуляторе ещё одной платформы - ПК Специалист. Машина достаточно простая в эмуляции и не потребует больших трудозатрат.

SAM style
02.06.2020, 13:12
SAM style, реквестирую поддержку в эмуляторе ещё одной платформы - ПК Специалист. Машина достаточно простая в эмуляции и не потребует больших трудозатрат.А какой-нибудь внятной документации на его железо сразу не подкинешь? В википедии вычитал, что он работает на аналоге i8080, это у меня уже есть, хотя я собирался сначала сделать ПК8000, потому как он хотя бы у меня был...

CityAceE
02.06.2020, 13:37
А какой-нибудь внятной документации на его железо сразу не подкинешь?
fifan на своём сайте (http://www.spetsialist-mx.ru/) собрал всю информацию по Специалисту. Там действительно есть всё, просто некоторые моменты не сразу находятся из-за особенностей навигации на сайте.


он работает на аналоге i8080, это у меня уже есть
Собственно, я потому и попросил, что увидел наличие i8080 в настройках. Причём самое сложное в эмуляции Специалиста - это как раз процессор, а экран с клавиатурой прикрутить - это вообще раз плюнуть.

Вот этой информации для начала должно хватить:



Адреса

Назначение
Объём



0000H...3FFFH

ОЗУ пользователя
16 кБайт


4000H...7FFFH
ОЗУ резервное
16 кБайт


8000H...8FFFH
ОЗУ пользователя
4 кБайт


9000H...BFFFH
Экранная область
12 кБайт


C000H...C7FFH
ПЗУ - загрузчик
2 кБайта



C800H...F7FFH
Дополнительные ПЗУ и ВУ
12 кБайт



F800H...FFFFH

Регистры
2 кБайт




На разбивку ОЗУ не обращай внимания. ОЗУ идёт с #0000 и до #BFFF. При этом #9000-#BFFF - это видеоОЗУ. ПЗУ - #C000-#F7FF.

http://www.spetsialist-mx.ru/images/VideoRAMLayout.png

Портов в стандартном Специалисте нет. КР580ВВ55А расположена в общем адресном пространстве - #F800-#FFFF. К ней подключаются клавиатура, динамик и магнитофон.

Самое сложное и непонятное, на мой взгляд - это клавиатура. Вот здесь (https://zx-pk.ru/entries/293-klaviatura-pk-spetsialist-s-tochki-zreniya-programmista.html) я расписал, как работает клавиатура Специалиста. Кроме того, можно посмотреть, как при поддержке ivagor я реализовал (https://github.com/CityAceE/sPycialist/blob/master/spyc_keyboard.py) эмуляцию клавиатуры на Python.

SAM style
02.06.2020, 15:03
0000H...3FFFH ОЗУ пользователя 16 кБайт
Падажжи, i8080 как и Z80 стартует с адреса 0. Как это так? Проходит всю ОЗУ до #C000, чтобы стартовать ROM? Или я чего-то не знаю?

CityAceE
02.06.2020, 15:10
Падажжи, i8080 как и Z80 стартует с адреса 0. Как это так? Проходит всю ОЗУ до #C000, чтобы стартовать ROM? Или я чего-то не знаю?
Он точно не проходит всю память, так как на реальном Специалисте после сброса попадаешь снова в Монитор, из которого можно запустить программу, загруженную в память программу с любого адреса, так как после сброса память (кроме видеоОЗУ) в Специалисте не очищается. Я в эмуляторе после сброса просто передавал управление на #C000 и не заморачивался этим вопросом.
Возможно, ivagor подробно расскажет, как оно на самом деле работает.