Перенес суперделение на 6502. Трудно догадаться убрать верчение лишнего байта - благодарности уважаемому ivagor'у. Вот код для истории
Код:
div16 ;dividend+2 < divisor, CY = 0, AC = dividend+3
.repeat 8
rol dividend+1
rol dividend+2
rol
cmp divisor+1
bcc l1
bne l2
ldx dividend+2
cpx divisor
bcc l1
l2 tax
lda dividend+2
sbc divisor
sta dividend+2
txa
sbc divisor+1
l1
.endr
rol dividend+1
.repeat 8
rol dividend
rol dividend+2
rol
cmp divisor+1
bcc l1
bne l2
ldx dividend+2
cpx divisor
bcc l1
l2 tax
lda dividend+2
sbc divisor
sta dividend+2
txa
sbc divisor+1
l1
.endr
rol dividend
sta remainder+1
lda dividend+2
sta remainder
lda #0
sta dividend+2
sta dividend+3
rts
Примерно 460 тактов, для z80 - 840. Итог по скорости 6502 быстрее только менее 90%. В некоторых случаях z80 показывает очень хорошую эффективность. Но на z80 легко писать очень плохие коды, а очень хорошие очень тяжело. С 6502 гораздо легче и коды легко масштабировать, типа сделать 64/32-деление.
Последние данные по программам - дал им версию 1. 
Коммодор +4 1.62 - 152.3 - 1362
Амстрад 6128 2.41 - 179.3 - 1582
Как обычно для 100, 1000 и 3000 цифр. Версия для Коммодора считает до 7680 цифр, а для Амстрада до 5536 в бейсике. Кроме того есть сырая версия для Амстрада в СР/М, которая досчитала до 8500 цифр, но может и немного побольше.
Чтобы совсем не пишнуться решил покинуть эту приятную тему. Может через месяц посмотрю, что тут случилось. Может появятся и результаты по БК, Спектрумам или даже лучшему домашнему ПК СССР Поиску? Успехов всем в пи-строительстве! 

Сообщение от
ivagor
Какой сильный перекос для 100 и 1000 цифр. То ли умножение на 10000 сказывается, то ли вывод на экран, но ПК-6128Ц и вектор с z80 считают 100 цифр быстрее, а 1000 медленнее.
Конечно, вывод на экран. Под СР/М он ещё раз в 10 (!) медленнее. Зато там можно перенаправить вывод в файл как в ДОСе или Юниксе.
Если хотите сами проверить, то скачайте эмулятор, подсоедините диск и командой RUN"PI проверяйте. Выход в СР/М командой |CPM, но нужен системный диск.
Для Коммодора нужны две команды DLOAD"PI* и RUN

Сообщение от
ivagor
Посчитать можно, а как их контролировать? На экран вектора в 512x256 одновременно можно вывести 5376 символов 4x6 (надо еще написать процедуру вывода). Выводить с прокруткой, сохранять на диск?
По последним цифрам. Алгоритм таков, что сбой накапливается. Для больших чисел можно и на диск сбрасывать. Дело автора.

Сообщение от
perestoronin
А можно еще, just for fun, вывести двоичное представление числа Пи в прямоугольную область в правом верхнем углу экрана, и рядом ниже выводить посчитанное по тестируемому алгоритму, глаз обычно у всех алмаз, сразу увидит где пиксели различаются.
Круто!
Но в некоторых системах есть текстовые режимы...