Не заметил никаких проблем - у меня работает как в Qt, так и в SDL/wx-версии Enu80. В чем заключалась неработоспособность?
Вид для печати
Есть ли программа для передачи данных через LPT-порт между "Сурой" и IBM-PC? Чтобы каждый раз не таскать жесткий диск туда-сюда.
Выкладывал прошивки пзу ПК8000 с доработками и исправлениями, в т.ч. там был фикс бага "-32768". Сейчас хорошо разобрался в математике бейсика и должен признать, что мой фикс устранял частное следствие, а не причину. Маловероятно, что кто-то будет менять прошивку реала, но если вдруг, то я сделаю более корректный вариант.
LPT порт официально умер (не поддерживается драйверами и ОС). Если хочется именно такой способ передачи, то COM порт живее всех живых.
Есть только в проекте пока контроллер SD карты для Суры (апгрейд vinxru на новые фичи).
- - - Добавлено - - -
Вдруг случился. :) Инфа крайне полезная. Только дамп есть или и дока?
З. Ы. Проблема Суры не в прошивке, а ввыпайкевыкусывании РФки из платы с нежными дорожками.
Можно подключить альтернативную прошивку в разъем расширения, не выпаивая пзушки из ПК8000. Такой вариант с конфигом для Emu я где-то в этой теме выкладывал. Но та "внешняя" альтернативная прошивка несовместима с дисководами, это разве что для голого ПК8000 загружаемого с магнитофонного входа. Если менять пзу в ПК8000, то там будет совместимо с дисководами, но вопрос в другом - зачем это делать? Альтернативные варианты, которые я выкладывал, решали 2 проблемы:
1. Несовместимость бейсика с z80. Никому не нужно, т.к. ПК8000 с z80 нет.
2. -32768 или &h8000. Увидеть эту ошибку можно например сделав poke по этому адресу или если использовать в bsave. Насколько это востребовано мне сложно судить, думаю можно пользоваться ПК8000 и с такой ошибкой.
Новый корректный вариант интересует, конечно же. Можно даже официальный номер присвоить новой версии ПЗУ, точнее ее "вилки".
Можно пощупать такой вариант. Там кроме вышеупомянутых вещей еще проверка имени загружаемого файла убрана.
Ну и ПК8000 тоже, как бы, официально умер. Я помимо него и Спектрумов увлекаюсь ретрокомпьютерами вообще, так что, с LPT-портами и драйверами у меня проблем нет. Да и на моём основном компьютере он есть. Есть и переходники USB-LPT. Windows 7 поддерживает LPT, 8-ка, 10-ка - не знаю.
А СОМ-порта у "Суры", к сожалению, нет.
Только здесь может быть другая проблема.
Возможен ли Nibble Mode для ПК8000?Цитата:
Стандарт позволяет использовать интерфейс в нескольких режимах:
SPP (Standard Parallel Port) — однонаправленный порт, полностью совместим с интерфейсом Centronics.
Nibble Mode — позволяет организовать двунаправленный обмен данными в режиме SPP путём использования управляющих линий (4 бит) для передачи данных от периферийного устройства к контроллеру. Исторически, это был единственный способ использовать Centronics для двустороннего обмена данными.
Byte Mode — редко используемый режим двустороннего обмена данными. Использовался в некоторых старых контроллерах до принятия стандарта IEEE 1284.
EPP (Enhanced Parallel Port) — разработан компаниями Intel, Xircom и Zenith Data Systems — двунаправленный порт, со скоростью передачи данных до 2Мбайт/сек.(1991)
ЕСР (Extended Capabilities Port) — разработан компаниями Hewlett-Packard и Microsoft — в дополнение появились такие возможности, как наличие аппаратного сжатия данных, наличие буфера и возможность работы в режиме DMA, также поддерживает симметричный двунаправленный обмен данными со скоростью до 2,5 Мбайт/с.
ПК8000 не умер. Его никто не ставил на поддержу и не снимал.
Тут все решают для себя.
Вот именно, что не знаете.
Именно об этом и шла речь, о полном снятии его с поддержки производителями.
У Суры нету LPT, у нее есть параллельный порт принтера, совместимый с некоторыми LPT принтерами.
Да ком-порта тоже нет. Но на текущий день именно ком-порт является очень перспективным, а lpt нет.
Уровень поддержки COM и его наличие, на разных устройствах огромен.
Внедрить можно через тот же параллельный порт Суры.
Имея ком-порт, можно даже в интернет выходить, через ESP8266.
Разве это не одно и то же?
Какая, в общем, разница, поддерживается или нет. Если это реально сделать, не надо никого отговаривать. Если кто-то захочет этим заняться, пусть делает. Я пока не получил четкого ответа от специалистов, реализуема ли в принципе передача через порт принтера на "Суре".
У кого есть советские или другие древние компьютеры с флоппи-дисководами (особенно, 5,25), ему надо эти дискеты как-то записывать. А значит, у него должен быть старый или относительно старый IBM-PC-совместимый компьютер, в который такие дисководы можно установить. А если материнская плата имеет флоппи-интерфейс, у неё будет и LPT и набортный IDE. И ОС будет стоять, какая надо, например, ХР, и в ней всё будет работать. У меня это мой первый компьютер, 2001-го года, он у меня как раз и используется для обмена данными со Спектрумами, Корветом, УКНЦ, Сурой и т.д. Так что, кому надо, у него с данным портом проблем не будет. Если грузиться только с магнитофона, оно вряд ли нужно.
Имеете в виду разъем расширения? Это, конечно, замечательно, если кто возьмётся. Так и сетевую карту можно забабахать.
Простой пример для демонстрации одного из преимуществ (точности) портированного с ПК8002 бейсика msx
Код:10 FOR I=1 TO 10 STEP .1
20 PRINT I
30 IF I=1.3 THEN STOP
40 NEXT
@DemonId7 Есть ли новости по поводу версии для проигрывания PT3? Интересует в контексте переноса на Специалист.
С тех пор почти и не занимался этим, всё времени не хватает. Осталось несколько версий автоперевода под ассемблер 8080. К сожалению не рабочие, видимо на какой-то стадии переделки. Хотя точно помню, что одна из версий вполне себе проигрывала музыку. Даже дампы с регистров AY сохранились.
Постараюсь на днях разобраться в исходниках, нужно еще один комп просмотреть, возможно там есть последняя версия. Если нет, то попробую допилить из найденных.
DemonId7, отлично! Спасибо за обратную связь!
Не нашел рабочих исходников, поэтому просто постарался причесать найденные. В общем, заменил несколько грязных хаков из исходного кода на нормальный код и теперь вроде играет вполне неплохо. Правда тестировал только с одним музоном :)
Сейчас уже поздно, завтра еще подправлю и открою репозиторий, чтобы у кого слух получше сравнили с оригиналом (можно в эмуляторе вместо КР580 поставить Z80 и загрузить оригинальный плеер). Если всё ОК, то можно будет подумать об оптимизации и создании полноценного проигрывателя.
PS: У меня у одного форум работает только через VPN? Чертовщина какая-то :)
Всплыл интересный глюк - при некоторых адресах размещения модуля в памяти портится одна из таблиц данных. Этого не может быть, но это факт. Хотя, учитывая что модуль напичкан модификацией кода, ничего удивительного здесь нет. В общем, продолжаю поиск багов...
Есть же rom-friendly вариант плеера PT3PROM.asm, отталкиваться от него проще.
- - - Добавлено - - -
Обсуждали примерно начиная с этого поста. У меня несколько дней проблема была, потом нормализовалось.
Так этот плеер только для PT3. А хочется еще и PT2 захватить, вот и начал с универсального модуля.
К тому же ROM-версии тоже напичканы оптимизациями, вида:
А поскольку для эмуляции IX, IY и некоторых сложных команд задействован стек, например:Цитата:
LD SP,HL
POP DE
LD H,A
LD A,(IX+CHP.PsInOr)
LD L,A
ADD HL,SP
то код с нестандартным использованием регистра SP становится нерабочим.Цитата:
; ; macro LD A, (IX+CHP_PsInOr)
push H
push D
push PSW
lhld regIX
lxi D, CHP_PsInOr
dad D
pop PSW
mov A, M
pop D
pop H
; -- end macro ; DD 7E 00
Вот и приходится прочесывать весь код, в поисках подводных камней. Было бы конечно проще, если ошибка возникала в коде, но когда просто пропадает часть звуков - тут даже не знаешь на что и думать, а главное - как искать такой баг :)
Это да, проще, с этим не поспоришь. Тем более я не все менял, некоторые работают.
Но я исходил из того, что два отдельных плеера занимают памяти раза в полтора больше, чем один универсальный. А её итак мало. Жадный я :)
К сожалению не только не знаю архитектуру ZX, но и ассемблера его толком не учил, а уж опыта написания на нём вообще ноль. Отсюда и некоторые непонятки. Вполне возможно, что некорректно заменил какую-либо из специфичных zx-команд.
Наверное выложу сюда исходники, может кто и найдет источник проблем, а то времени всё не хватает :)
Сравнил более детально релизы 6 (с "внутренней" самомодификацией) и 7 (с вынесенной) и хочу поменять показания. Все же лучше преобразовывать релиз 6, все равно в версии для 8080 придется добавить много самомодификации и от себя. Но релиз 7 очень полезен тем, что подсвечивает, на что обратить внимание.
Выложил свой вариант адаптации проигрывателя PT2/PT3 под i8080.
Будете смеяться, но и здесь та же проблема, что и с моим портом - качество проигрывания зависит от расположения в памяти. Толи мой автоконвертер с zx-асма на 8080 где-то глючит, толи это баг оригинала.
В аттаче три версии проигрывателя:
PTXPL.M80 - мой, достаточно вначале раскоментировать DS 72, чтобы заметить разницу звучания.
PTXPLAY.M80 - автоперевод с Вашего PTXPLAY.ASM. Тоже нужно играться адресом загрузки, чтобы добиться звучания.
.\zx-ver - версия для ПК8000 с процессором Z80, то есть оригинальный проигрыватель, для сравнения звучания. Там же файлы для эмулятора, поскольку в реале такого компьютера нет :)
Есть у кого силы проверить, не портачит ли мой автопереводчик кода (банально сравнить команды PTXPLAY.ASM и PTXPLAY.M80)? А лучше бы попробовать компилировать оригинал под разные адреса загрузки, чтобы наверняка понять в чем проблема.
- - - Добавлено - - -
Я бы сам проверил каждую инструкцию, но мои познания zx довольно поверхностны.
PS: Забыл добавить плеер в zx-версию проигрывателя. Исправил.
Вложение 83097 Вложение 83098 Вложение 83099 Вложение 83100 Вложение 83101
Эта компьютерная игра основана на «BrainTeaser» от Wim Nijland. Выбирайте доступные цифры от «1» до «9», разделяющиеся по методу реагирования на три группы («1-3-7-9», «2-4-6-8» и «5»). Цель — отобразить все цифры, кроме «5». Только следите, чтобы поле полностью не очистилось.
Скачивание: исходный код — Вложение 83102, кассетная лента — Вложение 83103, звуковой файл — Вложение 83104