Просмотр полной версии : #7FFD в унреале?
Странная вещь - какую бы я модель памяти не ставил в 0.26, ауты в порт #FD всё равно работают! Ставил и профи, и атм 4.5, и скорп... Это что - для пущей совместимости с глюкодромами? ... =) :) ;) -)
Странная вещь - какую бы я модель памяти не ставил в 0.26, ауты в порт #FD всё равно работают! Ставил и профи, и атм 4.5, и скорп... Это что - для пущей совместимости с глюкодромами? ... =) :) ;) -)
Жалуйся 2SMT вдруг он услышит твои мольбы :)
разве плохо, что работает? :) :)
Странная вещь - какую бы я модель памяти не ставил в 0.26, ауты в порт #FD всё равно работают! Ставил и профи, и атм 4.5, и скорп... Это что - для пущей совместимости с глюкодромами? ... =) :) ;) -)
У меня был доработанный скорп с жесткой дешифрацией #1FFD (к нему можно было обратиться только по полному адресу), а по #FD великолепно щелкался #7FFD. Также у Dien'а (железячника, автора этой доработки) был Профи с аналогичной жесткой дешифрацией #DFFD. Так что это не глюк, а вполне нормальная вещь. Но в хелпе к эмулятору я бы такое упомянул.
разве плохо, что работает? :) :)
Плохо, когда на вшивость надо проверять всякие поделки глюкодромные. А то тогда уж и галку 'unstable data bus' убирай нафиг =)
У меня был доработанный скорп с жесткой дешифрацией #1FFD (к нему можно было обратиться только по полному адресу), а по #FD великолепно щелкался #7FFD.
ld a,#1f:out (#fd),a - ну и?
Так что это не глюк, а вполне нормальная вещь. Но в хелпе к эмулятору я бы такое упомянул.
Ну если это нормальная вещь, то тогда эмулятор эмулирует только пентагон + ещё сколько-то виртуальных (=несуществующих) конфигураций.
ld a,#1f:out (#fd),a - ну и?
Отработает нормально (#1f->#7ffd). Суть доработки: отлавливаем на шине появление команд с кодами #d3 и #db и на время их выполнения отключаем #1ffd.
Ну если это нормальная вещь, то тогда эмулятор эмулирует только пентагон + ещё сколько-то виртуальных (=несуществующих) конфигураций.
Причем здесь пентагон? OUT (#FD),A должно работать на всех клонах имеющих не менее 128Кб памяти. Если не работает, то это проблема конкретного клона и должна лечится всякими тумблерами и доработками.
Отработает нормально (#1f->#7ffd). Суть доработки: отлавливаем на шине появление команд с кодами #d3 и #db и на время их выполнения отключаем #1ffd.
Угу, только вот я в #1ffd хотел #1f записать.
Причем здесь пентагон? OUT (#FD),A должно работать
- Что сделает билгей, если у него перегорит лампочка?
- Ничего, он объявит темноту стандартом.
Vladimir Kladov
26.03.2005, 19:58
такая фраза в статье All spectrums I know (о русских клонах), про порты Scorpion256:
these two ports ( 7ffd and 1ffd ) cannot be accessed thru basic. basic operator OUT will hang or reset the machine. only one exception - bits d2 and d5 of 1ffd. rest of digits of these ports must be accessed using machine code.
Интересно, что это значит и почему это 7ffd не может быть accessed из пзу...
Угу, только вот я в #1ffd хотел #1f записать.
Пиши как положено:
LD BC,#1FFD
LD A,#1F
OUT (C),A
В мануале на скорпион, если я правильно помню настоятельно рекомендовалось только так и обращаться к #1FFD.
Своим примером ты заодно занесешь #1F в #7FFD.
Пиши как положено:
LD BC,#1FFD
LD A,#1F
OUT (C),A
В мануале на скорпион, если я правильно помню настоятельно рекомендовалось только так и обращаться к #1FFD.
Ну вот - а в мануалах на фирменные спеки только порт #7ffd упоминается (хотя вру, есть и #1ffd).
Своим примером ты заодно занесешь #1F в #7FFD.
С чего бы вдруг? ША=#1ffd, ШД=#1f, ну и?
такая фраза в статье All spectrums I know (о русских клонах), про порты Scorpion256:
these two ports ( 7ffd and 1ffd ) cannot be accessed thru basic. basic operator OUT will hang or reset the machine. only one exception - bits d2 and d5 of 1ffd. rest of digits of these ports must be accessed using machine code.
Интересно, что это значит и почему это 7ffd не может быть accessed из пзу...
Точно не помню, но вроде ауты нормально работали. И ещё есть прикол - в теневой монитор, пока выполняется код из рома, не попадёшь (afair).
out (#fd),#1f будет работать как вывод в 1ffd, в unreal не анализируется опкод. если хотите точности дешифрации портов, используйте RealSpectrum. но тогда имеется следующий недостаток: процедуры дешифрации портов свои для каждой модели. то есть если бы был порт #EFF7, то он бы работал только в пентагоне, smuc ide работает только в скорпионе. мне больше нравится конструктор, чтобы можно было подключать устройства в любом составе. можно включить nemo ide в скорпион, или, наоборот, smuc ide в пентагон. но тогда есть погрешности в дешифрации портов, так как используеся один код дешифрации для всех моделей
По поводу LD A,#1F:OUT (#FD),A - это очень неприятный момент.
У меня сначала был обычный Скорпион на котором демки и игры юзающие OUT (#FD),A не работали. Приходилось отключать #1FFD перед их запуском, что было неудобно. Потом мне сделали жесткую
дешифрацию #1FFD и жить стало лучше. Но те программы что использовали LD A,#1F:OUT (#FD),A, а это в первую очередь STS, все равно не работали. Пришлось сделать доработку о которой
я писал выше и тогда все стало хорошо.
Лично мое IMHO: в порт #1FFD (#FDFD, #DFFD) должны обращаться только по полному адресу: LD BC,#1FFD: OUT (C),A. Все остальные обращения должны попадать только в #7FFD. Отклонения от этого должны исправляться, в реальных спектрумах при помощи паяльника, в эмуляторах авторами.
По поводу LD A,#1F:OUT (#FD),A - это очень неприятный момент.
У меня сначала был обычный Скорпион на котором демки и игры юзающие OUT (#FD),A не работали. Приходилось отключать #1FFD перед их запуском, что было неудобно. Потом мне сделали жесткую
дешифрацию #1FFD и жить стало лучше. Но те программы что использовали LD A,#1F:OUT (#FD),A, а это в первую очередь STS, все равно не работали. Пришлось сделать доработку о которой
я писал выше и тогда все стало хорошо.
Лично мое IMHO: в порт #1FFD (#FDFD, #DFFD) должны обращаться только по полному адресу: LD BC,#1FFD: OUT (C),A. Все остальные обращения должны попадать только в #7FFD. Отклонения от этого должны исправляться, в реальных спектрумах при помощи паяльника, в эмуляторах авторами.
Со всем с тобой согласен! Поддерживаю! ;) Должен быть какй-то стандарт! :)
Со всем с тобой согласен! Поддерживаю! ;) Должен быть какй-то стандарт! :)
И стандарт этот называется #7ffd. Никак не #fd, а именно #7ffd. Всё остальное - из серии 'билгей и лампочка'.
out (#fd),#1f будет работать как вывод в 1ffd, в unreal не анализируется опкод. если хотите точности дешифрации портов, используйте RealSpectrum.
SMT, а как вообще получается, что в унреале ld a,#17 : out (#fd),a выводит в #7ffd ? У тебя именно по 2 битам дешифруется или как? А если по 2 битам, то почему тогда ld a,#1f : out (#fd),a в #1ffd выведет?...
PS: Я в общем-то попросил именно чтобы #7ffd только по #7ffd дешифровался... Но если это сложно галкой в унреале сделать, то так и быть, пусть его... ;)
Vladimir Kladov
28.03.2005, 15:55
разве в какой-либо конфигурации спектрума анализируется опкод при дешифрации портов? где про это прочитать можно? Я про 1FFD полагал, что он анализируется по полному адресу, а если это не 1FFD, то уже анализируется BFFD/FFFD, и параллельно 7FFD (т.е. бывают демки, которые написаны исходя из того, что байт может быть записан одновременно в AY и порт 128-го). Но про 1FFD я считал, что он при дешифрации имеет приоритет.
в нескольких журналах (не помню, в каких) видел схемы доработок, которые запоминают один или несколько бит опкода с ШД при M1=0,RD=0,MREQ=0, чтобы отличить D3/DB от опкодов типа ED+41. расширенные порты (1FFD, DFFD) активизируются только во втором случае. в эмуляторах такая опция есть afaik только у Z80S. в итоге любой вывод в #FD работает как в #7FFD (даже #1F) и достигается очень хорошая совместимость с пентагоном
уже анализируется BFFD/FFFD, и параллельно 7FFD (т.е. бывают демки, которые написаны исходя из того, что байт может быть записан одновременно в AY и порт 128-го).
не может быть, они жестко разделены сигналом A15. зато есть демки, использующие порт #FC (#FE+#FD для переключения экрана и бордера)
Vladimir Kladov
28.03.2005, 21:34
точно, и чего это я перепутался так :)
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot