С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Да тут вроде и нет особо молодых и неопытных. Да и не было у меня такой цели. А если случайно и ввёл читателей в заблуждение, то надеюсь, что Вы как раз и сможете меня поправить.Сообщение от Шынни
Удивился потому, что думал, что Ваш город не в Сибири, а в московском часовом поясе где-то на юге. В 1989-94 была доступна только отечественная литература, т.к Интернета не было и для изучения нужно читать учебники для начинающих, а не РТМ.Сообщение от HardWareMan
Последний раз редактировалось barsik; 14.07.2017 в 20:48.
Что-то обсуждение от темы уходит. Казалось бы, причем тут 6502?
Извините, если считаете, что уходит. А rw6hrm знает, что это не так, т.к он использует CP/M-80 (для КР580) на своём компьютере с 65C02 (спросите у него как).Сообщение от Xrust
Последний раз редактировалось barsik; 14.07.2017 в 21:00.
кстатида
http://forum.6502.org/viewtopic.php?f=1&t=4376
не слышал, что для AppleIIgs был cp/m
Подтверждаю, работает. Про скорость не скажу, ибо не в курсе, как медленно должна работать СР/М на 8080 xD. Но мне с 5 МГц 65С02 вполне нормально. Упоминал я о программной прокладке тут, http://zx-pk.ru/threads/23276-quot-a...l=1#post805353. Прога для 8080 думает, что она работает с нулевого адреса, реально она располагается с 200Н. Пока недостаток системы один - 64К минус 512 байт с начала, минус ПЗУ в верхних адресах, минус УВВ, итого для работы доступно максимум 36-42К, что слегонца некомфортно...
Просто своим постом я хотел сказать, что уже в те времена можно было взаимно эмулировать процессоры 8080 vs. 6502, но это была инфа на любителя. Мои извинения, раз это вызвало нехилый холивар![]()
Последний раз редактировалось rw6hrm; 14.07.2017 в 22:30.
Зато я скажу.Сообщение от rw6hrm
5 МГЦ 65C02 эквивалентны, как минимум, 10 МГЦ Z80. С учётом того, что это не полноценный эмулятор и экран и порты эмулировать не надо, то эмуляция тормозит в ~20 раз. Итого имеем CP/M-систему с тактом ~500 КГЦ. Для работы файловой системы и использования системных программ типа компиляторов этого достаточно (но игры будут тормозить). Например, эмулятор CP/M Z80MU для PC (написанный Joan Riff, 1987) на PC XT давал эквивалентный такт в 250 КГЦ и ничего, всем хватало, даже для текстовых редакторов. Эмулятор РК86 на ОРИОНЕ-Z80 имеет такт в 100 КГЦ и тоже нормально, даже большинство игр прекрасно играются. Вы легко получите скорость CP/M в 1 МГЦ, если замените 65C02 на 65C802 (он внутреннее 65C816 кроме адресации лишь в 64К, вместо 16 мб), вставляется прямо в панельку взамен 65C02 и он более скоростной.
Т.к ДОС для 6502 (с исходником) найти трудно, то использовать ДОС для неродного процессора оправдано, особенно если ДОС используется только как файловая система, позволяющая запускать программы для родного процессора. Но можно было решить ту же задачу аппаратно, поставив как сопроцессор Z80. Сделав так, чтобы он работал только для прогона кода CP/M, а прикладные программы - по-прежнему, для основного процессора 65C02.
Последний раз редактировалось barsik; 15.07.2017 в 06:17.
Не требуется. Если внимательно читали описание эмулятора, то позволяется выполнять коды обоих процессоров. Поэтому у меня драйвера УВВ писаны на коде 6502 дабы убыстрить работу.
...ну не знаю, как код размером менее килобайта может так тормозить. Медленнее - оно да, но не настолько же...
GekOS, A/65 - это подобия СР/М, но не более, ибо прикладного софта кот нарыдал.
Есть и второй недостаток, о котором я говорил - большинство нормального софта для СР/М писано для Z80. Так что если мы говорим о более-менее юзабельной машинке, то в базе должен стоять именно этот процессор. О 8080 можно забыть, растереть и развеять по миру. Ну, разве что, потренироваться на создание периферии, чем вполне удачно занимается Xrust.
Понятно, что CP/M-BIOS нет смысла писать на КР580, ведь его пишет сам пользователь (тот кто адаптирует CP/M под конкретное железо).Сообщение от rw6hrm
Скорость 0.5 МГЦ это вполне быстро. Тормозит обычно не ДОС, а вывод на графический экран. Речь об эмуляции, а она просто не может быть быстрой. Правда мои данные относятся к эмуляции КР580 на Z80. Полная эмуляция тут тормозит в 24 раза, И это ещё без эмуляции флага Parity (а с этим тормоз ещё больше). Если не отлавливать экран и порты (т.е если в коде нет к ним обращения, что как раз и имеет место в коде ДОС), то будет быстрее, - ~15-20 раз. Число торможения 20 реально означает, что в среднем каждая команда КР580 имитируется 20-тью командами Z80. Возможно, благодаря ZERO-page достигается чуть более быстрая эмуляция, но не в разы.Сообщение от rw6hrm
Вообще, всё очень подозрительно. Эмулятор должен иметь бОльший объём. Считайте сами. 244 команды, в среднем надо по 10-15 команд на эмуляцию каждой. Даже если считать, что команд 78 (т.е тот же код используется для разных операндов), то всё-равно получится, как минимум, 2 килобайта. Как программа размером менее одного килобайта может делать такие чудеса, как прогонять на процессоре неродной код. Мне так и хочется сказать, что такое невозможно. Сообщите идею на которой работает Ваш код. Вы разбирались в программе? Понятно, что это эмуляция, но какой принцип?
Каким образом программа определяет, что следующий фрагмент надо прогонять, как родной код 6502? Думаю в этом месте вставляется какой-то код, что в КР580 работает, как NOP или недокументированная команда КР580 (одна из 12).
А что Вы скажете о замене 65C02 на более скоростной 65C802?
Этот процессор редкий, т.к не пользовался популярностью. Хотя и был специально разработан для апгрейда систем на 65C02. Но в реальности ускорение делали не заменой процессора, а установкой в панельку CPU целой платки, т.к увеличив в 2...5 раз такт CPU, но оставив ОЗУ и В/У на старом такте, выигрыш получался всего в ~25%, а надо было в разы. Поэтому и приходилось на платке Турбо-акселератора ставить 64 кб скоростного ОЗУ, а раз есть платка, то тут не проблема применить полноценный 65C816, т.к тогда несовпадение цоколёвки роли не играет. Хотя 65C802 выпускали не менее 7 лет, но тираж был маленький. Поэтому, т.к достать 65C802 намного труднее, то апгрейд 65C02 обычно делают с помощью несовместимого по ногам 65C816.
Последний раз редактировалось barsik; 15.07.2017 в 10:18.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)