Продовжуючи одіссею 6502 комп'ютера Бена Ітера, цього разу прийшла черга UART. Я знову ж таки не хочу переповідати відео, тому лише зверну увагу на відмінності.
По-перше, я використовую чіп-юарт іншого виробника з AliExpress R6551 (виробник Rockwell). Це має кілька переваг: нема багу в чіпі, про який розповідає Бен: чіп є дешевшим, ніж Бенівський і потребує менше деталей обв'язки. Але треба трошки змодифікувати схему Бена. Зокрема, викинути резистор і конденсатор навколо кварцу і підтягнути 9, 16 і 17 ноги до землі.
Код, який тестує Бен, я не знайшов онлайн (мало шукав), тому переписав, і він доступний за посиланням. Аби скомпілювати:
vasm6502_oldstyle.exe -Fbin -dotdir -wdc02 ./UART_test.s
Варто зазначити, що в його коді є баг. Якщо робити, як він робив, то у функції print_char регістр А затирається, і в юарт виводиться якась дурня. Треба поміняти ці дві стрічки коду місцями:
jsr print_char
jsr send_char ;echo
Тоді все працюватиме чітко, як і у відео.

Юарт працює!
