1

Тема: Возможные проблемы с W65C816S8P

Всем привет.

Заказал я для будущего проекта-реплики "Агата" процессор W65C816S8P-14 от WDC для использования вместо 6502. Недавно говорил об этом со знакомым и узнал, что с W65C816S8P бывают какие-то проблемы, связанные с его расширенными функциями. К сожалению, подробностей он не помнит, сказал только, что это поднималось, вроде бы, на ресурсе 6502.org. Сам я ещё информацию не искал, решил сперва спросить здесь - известно ли о каких-либо проблемах, связанных с заменой 6502 на W65C816S8P? И, заодно, могут ли возникнуть проблемы при замене 6502 на W65C02S8P? А то я, заодно, заказал и W65C02S8P-10.
А, да, ещё вопрос, суда же - первый раз я заказал W65C02S8P-10 не от WDC, а от UMC. По процессору от UMC информацию найти, пока что, не смог, поэтому вопрос - он чем-то отличается от процессора производства WDC? Маркировка та же, разве что логотип другой...
https://www.ebay.com/itm/1pcs-W65C02S8P … fresh=true

2

Re: Возможные проблемы с W65C816S8P

AlexBel пишет:

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

И, заодно, могут ли возникнуть проблемы при замене 6502 на W65C02S8P?

Если программы не используют недокументированные команды 6502, то никаких проблем. Касательно АГАТа - много кого спрашивал, никто не привел ни единого примера какой-либо проги на АГАТе с illegal opcodes...

AlexBel пишет:

По процессору от UMC информацию найти, пока что, не смог, поэтому вопрос - он чем-то отличается от процессора производства WDC?

У WDC нет своей фабрики, сейчас они штампуют чипы на TSMC, а раньше выпускали на мощностях UMC (и грэйд скорости всего 10), поэтому часть чипов UMC маркировали под себя (не только 6502, но и другие чипы, политика у них такая). А вот по Winbond, вероятно, также, но не уверен. Не исключено, что все-таки фэйк...

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

3

Re: Возможные проблемы с W65C816S8P

Спасибо за информацию, так спокойнее будет :)
На тех процессорах, что я заказал, маркировка UMC и WDC, так что не Winbond точно. Конечно, если верить фотографиям. Китайцы - они такие китайцы...

4 Отредактировано Voldemar0 (14-07-2019 16:59)

Re: Возможные проблемы с W65C816S8P

> Касательно АГАТа - много кого спрашивал, никто не привел ни единого примера какой-либо проги на АГАТе с illegal opcodes...

Защита, используемая в некоторых игротеках и в FantaVision, адаптированной под 840k.
Для обфускации используется кусок кода из нескольких десятков нелегальных команд. Результат их действий, вроде бы, не имеет значения, но важно, что среди них кроется jmp на нужное место. Т.е. важно, в основном, чтобы проц доковылял до этого jmp и не перелетел мимо.


Aztec-C, адаптированный для Агата.
Имеет где-то в загрузчике вызов команды anl, скорее всего вместо and. Не знаю - намеренно или случайно.


Школьница-7, где-то внутри РАПИРы, есть ошибка в коде, которая вызывает что-то из самой себя по неправильному адресу (забыв переключить контроллер ЭмПЗУ). В итоге получается ряд недокументированных команд. Стабильность проявления этого косяка пока не ясна: помню, что на досовском эмуле это вылазило, а на юниховом когда-то её не было, но как-то, не очень давно, опять напоминала о себе. Так что  не ясно - что там на самом деле на реале. Возможно, она есть только в семёрочной 140к-версии. Если бага вылазит, то вылазит где-то в обработчике комстроки, так как видна и при вызове КАТАЛОГ; и при других командах.


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

В игрушке Boloney иногда вылезает мусор на экран, но игра если и зависает, то не сразу. Иногда можно продолжить играть с мусором. Это всё - вылет на недокументированные команды. Подробнее не изучалось.

5

Re: Возможные проблемы с W65C816S8P

Спасибо! Похоже, не зря я заказал ещё и W65C02...

6

Re: Возможные проблемы с W65C816S8P

Так у W65C02 набор инструкций тоже расширен, а недокументированные инструкции 6502 будут работать как NOP.

7

Re: Возможные проблемы с W65C816S8P

Видимо, нужно плотно сесть за даташиты W65C816 и W65C02. Возможно, придётся, в целях предотвращения проблем, использовать обычный 6502 на 1-2МГц с преобразованием уровней. Или 4-мегагерцовые Rockwell, если они не несут потенциальных проблем, как с W65C816 и W65C02...

8

Re: Возможные проблемы с W65C816S8P

Voldemar0 пишет:

Защита, используемая в некоторых игротеках и в FantaVision, адаптированной под 840k.
Для обфускации используется кусок кода из нескольких десятков нелегальных команд.
...
Aztec-C, адаптированный для Агата.
Имеет где-то в загрузчике вызов команды anl, скорее всего вместо and. Не знаю - намеренно или случайно.
...
Школьница-7, где-то внутри РАПИРы, есть ошибка в коде, которая вызывает что-то из самой себя по неправильному адресу (забыв переключить контроллер ЭмПЗУ).
...
В игрушках бывают просто баги, которые вызывают что-то откуда-то и попадают на цепочки байт, состояние из недокументированных команд, успешно оканчивающиеся на RTS.
...
В игрушке Boloney иногда вылезает мусор на экран, но игра если и зависает, то не сразу. Иногда можно продолжить играть с мусором. Это всё - вылет на недокументированные команды. Подробнее не изучалось.

То есть все-таки баги и лаги...

avivanov76 пишет:

Так у W65C02 набор инструкций тоже расширен, а недокументированные инструкции 6502 будут работать как NOP.

Часть будет как ноп, а часть как новые инструкции.

AlexBel пишет:

Возможно, придётся, в целях предотвращения проблем

Надуманы эти проблемы. У меня W65C802 - полет нормальный.
Ты будешь работать исключительно с тем, что перечислено выше? 256%, что ты даже не прикоснешься к ним.

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

9 Отредактировано AlexBel (16-07-2019 09:38)

Re: Возможные проблемы с W65C816S8P

LeoN пишет:
Voldemar0 пишет:

...
В игрушке Boloney иногда вылезает мусор на экран, но игра если и зависает, то не сразу. Иногда можно продолжить играть с мусором. Это всё - вылет на недокументированные команды. Подробнее не изучалось.

То есть все-таки баги и лаги...

AlexBel пишет:

Возможно, придётся, в целях предотвращения проблем

Надуманы эти проблемы. У меня W65C802 - полет нормальный.
Ты будешь работать исключительно с тем, что перечислено выше? 256%, что ты даже не прикоснешься к ним.

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

Не в том дело - буду или нет использовать вышеперечисленное (хотя, упомянутую игру Bolo я люблю и уж точно погоняю на реале), а в том, что потенциально подобные проблемы могут возникнуть и с другими программами, в частности. И если я буду использовать довольно небольшое количество из неигрового софта, то игр планирую запускать значительно больше. Например, в одну из своих любимых - Bolo.
Насчёт надуманности проблем и нормального полёта - это, упрощённо говоря: "а у меня работает". Безусловно, это означает, что можно использовать процессор, отличный от обычного 6502, но не значит, что проблемы не возможны. Кстати, опечатки нет, процессор в самом деле W65C802, а не W65C02?

Ещё одна причина, по которой меня так беспокоит этот вопрос - если ставить обычный 6502, то нужно делать согласование уровней, т.е. усложнять схему. W65C02 или W65C816 могут работать от 3,3В и согласование не требуется. Хотя, я уже думаю, что нужно установить преобразователи уровня в любом случае...

10

Re: Возможные проблемы с W65C816S8P

AlexBel пишет:

Кстати, опечатки нет, процессор в самом деле W65C802, а не W65C02?

Именно 802-ой - это 816-ый с распиновкой 02-го - https://en.wikipedia.org/wiki/WDC_65816#W65C802

AlexBel пишет:

Ещё одна причина, по которой меня так беспокоит этот вопрос - если ставить обычный 6502, то нужно делать согласование уровней, т.е. усложнять схему. W65C02 или W65C816 могут работать от 3,3В и согласование не требуется. Хотя, я уже думаю, что нужно установить преобразователи уровня в любом случае...

Не только усложнение схемы, они еще и вводят задержки.

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

11

Re: Возможные проблемы с W65C816S8P

LeoN пишет:
AlexBel пишет:

Ещё одна причина, по которой меня так беспокоит этот вопрос - если ставить обычный 6502, то нужно делать согласование уровней, т.е. усложнять схему. W65C02 или W65C816 могут работать от 3,3В и согласование не требуется. Хотя, я уже думаю, что нужно установить преобразователи уровня в любом случае...

Не только усложнение схемы, они еще и вводят задержки.

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

12

Re: Возможные проблемы с W65C816S8P

AlexBel пишет:

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

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

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

13 Отредактировано AlexBel (16-07-2019 19:03)

Re: Возможные проблемы с W65C816S8P

Увы, во-первых, как я уже написал, подробностей он не помнит, только видел информацию по этому на 6502.org, если бы что-то ещё знал, сообщил бы. Как когда-то сказал киногенерал Булдаков - "Что знал - рассказал". А во-вторых, в силу жизненных обстоятельств ему приходится в настоящее время жить и работать там, где интернет очень плохой и заниматься хобби нет возможности. Но, думаю, при других обстоятельствах он принял бы приглашение. Правда, не очень любит 6502, про "Агат" почти ничего не знает и ему по душе больше 6800, 6809 и Z80 :)
Но я обязательно передам ему приглашение.

14

Re: Возможные проблемы с W65C816S8P

Передавал товарищу сейчас предложение посетить этот форум и увидел неточность - он говорил про "какие-то форумы по 6502", а не конкретно о ресурсе 6502.org.

15 Отредактировано AlexBel (06-08-2019 12:46)

Re: Возможные проблемы с W65C816S8P

Как говорит товарищ Саахов (ну, почти, как он говорит) - хочу поделиться маленьким, но важным для меня достижением - на отладочной плате (на которой отлаживаю прототип будущей реплики "Агата") запустил процессор W65C816S-14. Выполняет простейшую тестовую программу в пошаговом режиме. Пошаговый - чтобы можно было наблюдать всё происходящее. Возможно, сегодня буду вводить этот процессор в состав реплики вместо софтядра.

Spoiler

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=601&download=1

P.S. Очень беспокоился, что с "Али" пришлют вместо нормального процессора кусок пластика с проволокой - к сожалению, чем дальше, тем чаще такое наблюдаю. Но процессоры чистенькие, надпись аккуратная, угол, под которым согнуты выводы, соответствует новым микросхемам, все ровные. Правда, сперва насторожило, что они блестящие, лужёные - я привык, что новые выводы серые, матовые. Но, возможно, в данном случае так и должно быть. Вопрос к тем, кто знает: в данном случае блестящие лужёные выводы - это нормально?

Post's attachments

Attachment icon S2500106.JPG 793.65 kb, 158 downloads since 2019-07-27 

16 Отредактировано avivanov76 (28-08-2019 02:46)

Re: Возможные проблемы с W65C816S8P

LeoN пишет:

Касательно АГАТа - много кого спрашивал, никто не привел ни единого примера какой-либо проги на АГАТе с illegal opcodes...

Неожиданно нашлась еще прога - тест Лисина. Использует инструкцию $02 - она же KIL, она же JAM, останавливающую процессор. На 100% не уверен, но похоже она используется в том месте, где надо досчитать до 10 и нажать сброс.

Причем, поскольку на 65C02 и старше инструкция с кодом $02 - двухбайтовая, то она не просто "проедет" дальше, но и байт от следующей инструкции прихватит. А там как раз после JAM поставлен обработчик сброса, который начинается с вызова процедуры, восстанавливающей вектор $3F2.

На 65С02 $02 - это двухбайтовый NOP и вроде ничего не сломается, только вектор не восстановится. А вот у 65816 - это команда COP, которая вызовет обработчик по адресу $00FFF4, так что вернется ли управление Лисину обратно - сложно сказать.

17

Re: Возможные проблемы с W65C816S8P

Видимо, если хочется полной совместимости с "Агатом", то даже 65С02 использовать нельзя, не говоря уже о 65С816...

18 Отредактировано LeoN (26-10-2019 14:37)

Re: Возможные проблемы с W65C816S8P

В продаже MOS 6502A, только разные корпуса настораживают...

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

19 Отредактировано AlexBel (26-10-2019 20:28)

Re: Возможные проблемы с W65C816S8P

Я написал в тему, спросил о происхождении и работоспособности. А то на "Али" можно купить намного дешевле: https://ru.aliexpress.com/item/32884436 … b201603_52

Ответ продавца, упрощённо - "фиг его знает".

20

Re: Возможные проблемы с W65C816S8P

У Павла Рябцова есть 6502.
Там же шустрая статика 2Мх8 по вкусной цене.
На том сайте вообще очень много вкусного.

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

21

Re: Возможные проблемы с W65C816S8P

LeoN пишет:

У Павла Рябцова есть 6502.
Там же шустрая статика 2Мх8 по вкусной цене.
На том сайте вообще очень много вкусного.

Спасибо за информацию! 6502 у меня есть разные, а вот память такую использовать удобнее, чем у меня (16-битная в режиме восьмибитной). Заказал пару микросхем, использую в реплике.