nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 24 Apr 2024 17:43



This topic is locked, you cannot edit posts or make further replies.  [ 82 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
ОС Collapse on Z80 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
barsik wrote:
Lavr wrote:
Очень сомнительное утверждение
Речь шла о бытовых компьютерах, а не о объёмах выпуска процессоров. .
Да, так оно и было:
Quote:
Компьютеры, как домашнего так и бизнес-применения на z80:
Sinclair ZX Spectrum,
ZX80,
ZX81;
...

Quote:
Компьютеры — 8-разрядные на 6502
Apple I
Apple II
BBC Micro
...
Об объёмах выпуска процессоров никто ничего и не говорил, хотя можно и эту статистику найти.
Но фраза:
barsik wrote:
Кстати, как раньше, так и сейчас, в большинстве стран в ретро компьютерах более популярен процессор 6502, чем Z80.
действительно, весьма далека от действительности по отношению именно к компьютерам, о чем и
свдетельствует приведенная ранее открытая статистика.

Если же говорить о процессорах, то Z80 тоже, видимо, более распространен, поскольку он вобрал
в себя многие лучшие черты процесоров, выпущенных до него.
Не даром же его называют вершиной 8-разрядных процессоров и их убийцей...

_________________
iLavr


22 Oct 2019 09:07
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
barsik wrote:
Наибольшие цифры выпуска имели как раз бытовые компьютеры на 6502 - Commodore-64/128, Apple-II, 8-ми разрядные Атари, BBC micro (и его дешёвый клон Electron), VIC-20, серия моделей PET, а также игровые приставки. И сейчас активность фанатов ретро машин на 6502 выше, чем у фанатов ZX-Spectrum и Amstard CPC, которые имели хотя бы сравнимые объёмы выпуска и популярность.
Приведите цифры, сейчас они есть, иначе это мягко говоря, всего лишь ничем не подтвержденное
личное мнение, а, грубо говоря, попросту "бла-бла-бла".

Автор ОС Collapse да и все, кто участвовали в обсуждении ОС согласны, с мнением.
askfind wrote:
По словам Дупраса, именно их (z80) будет проще всего найти в будущем из-за большого числа выпущенных экземпляров относительно 16- и 32-битных процессоров.
А очень много написанного текста никак не является убедительным аргументом... :-?

_________________
iLavr


22 Oct 2019 09:16
Profile
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Post .
Lavr wrote:
Приведите цифры, сейчас они есть, иначе это мягко говоря, всего лишь ничем не подтвержденное личное мнение, а, грубо говоря, попросту "бла-бла-бла".
Моё мнение, что всегда в форумах лучше комментировать без "грубо говоря". Это всем и всегда выгоднее, т.к даже не особо обидные подобные выражения незаметно накаляют градус полемики, зачем это надо? Ведь совсем нетрудно комментировать уважительно.

В данном случае я как раз приводил цифры. Те цифры, что смог найти. В русской вике цифр по объёму производства почти всегда нет (русская вика обычно содержит первый ранний вариант английской, которая потом многократно дополняется, а русская так и остаётся исходной). Я обычно сначала смотрю немецкую и английскую вику (используя ключ lang). Так я и нашёл приведённые ранее цифры.

ZX-Spectrum - 5 млн
MSX - 5 млн
Amstrad CPC - 3 млн
ZX81 (+ Timex1000) - 1.5 млн
Commodore-64 - >15 млн
Apple-II - до 6 млн
Atari-400/800 - 4 млн
VIC20 - 2.5 млн
BBC micro - 1.5 млн

Про Commodore PET я цифр не нашёл, но его в множестве вариаций производили 5 лет и выпустили больше 500 тысяч. Остальные менее массовые компьютеры и на Z80 и на 6502 (например ORIC и Electron) выпускались в основном тиражом не превышающим несколько сот тысяч и в википедии по ним цифр нет. И они не важны, т.к популярность получили именно лидеры продаж, а не аутсайдеры. Если сложить вышеприведённые цифры, то даже без учёта игровых консолей на 6502 (и аркадных автоматов на нём же), видно, что аппаратов на 6502 было произведено вдвое больше.
Lavr wrote:
Об объёмах выпуска процессоров никто ничего и не говорил
Обычно все и так знают, что в самых развитых в 80-тые годы странах (это США, Канада, Западная Европа, Австралия и Зеландия) применялось больше домашних компьютеров на процессоре 6502 (заметьте разницу - не число моделей, а число самих компьютеров).

Но обычно почему-то пишут, что Z80 (считая микроконтроллеры с той же системой команд) стал самым массово произведённым 8-ми разрядным процессором. Вот это как раз можно подвергнуть сомнению. Потому что микроконтроллеры из семейства 680x нашли не меньшее применение, да и микроконтроллеры с системой команд 6502 тоже массово применялись в промышленности. Вряд ли можно узнать какой микроконтроллер в промышленности применялся больше других в течение 80-тых и 90-тых (а после их вытеснили AVR, ARM, STM, PIC, Atmega, ESP и др.). Кстати, Bill Mensch, разработавший WDC 65C02 и 65C816, в интервью нескромно утверждал, что именно его процессор стал самым массово произведённым в мире (в 1995 г).
Lavr wrote:
объёмах выпуска процессоров... хотя можно и эту статистику найти
Как раз напротив, именно эту статистику не найти. В мире фирм выпускающих 6502, Z80 и микроконтроллеры были, возможно, сотни. Их ведь выпускали в каждой более-менее развитой стране по лицензии или пиратски.
Lavr wrote:
Не даром же его называют вершиной 8-разрядных процессоров и их убийцей...
Вообще-то вершиной 8-ми разрядных процессоров считают 6809 (и 65816 мощнее, чем Z80). О названии Z80 убийцей процессоров слышу впервые (название и по сути неверное). Все читали лишь о программах-убийцах (так называли VisiCalc полезный для рассчёта прибыли и налогов в конце 70-тых).

Совместимые 8085 и Z80 быстро вытеснили не намного более слабый, но менее удобный (из-за большей обвязки и трёх питаний) процессор 8080, но это вовсе не убийство, а апгрейд. Ведь никто же не говорит, что КМОП 65C02 убил nMOP 6502 или 386-той процессор убил 286-го.

А в целом ни один процессор с другой системой команд Z80 убить (в смысле полностью сорвать их производство) не смог. Даже самый слабый 6800 убить не удалось, его производители переключились на производство промышленных микроконтроллеров 680x и выиграли. Z80 в начале 80-тых из сферы бытовых машин вытеснил 8080 и 680x, а вот с 6502 это не получилось, потому что Atari и Commodore к тому времени уже сдуру сильно вложились деньгами в программирование и железо для 6502 и не захотели терять наработки.

Tandy опробовала все три самых удачных 8-ми разрядных микропроцессора, выпустив модели TRS-80 на Z80 (ранние модели), на 6803 (TRS-80 MC-10) и на 6809 (TRS-80 CoCo). И в итоге наибольший успех поимел TRS-80 CoCo на 6809. Кстати, умные японцы взялись за усовершенствование более слабого 6800 (разработав HD630x), а вовсе не 6502, т.к сразу поняли, что 6502 с его заумными методами адресации это тупиковая ветвь.
Lavr wrote:
Автор ОС Collapse да и все, кто участвовали в обсуждении ОС согласны, с мнением, что
Вирджил Дюпрас wrote:
именно их (z80) будет проще всего найти в будущем из-за большого числа выпущенных экземпляров
А я не согласен. В 90-тые годы это возможно было так (например, Z180 с тактом 8 МГЦ стоял в постскрипт принтерах из 90-тых), но сейчас это утверждение сомнительно. Современные контроллеры выполнены в SMD и микросхемы там в основном многоногие паучины с шагом 0.5 мм и менее, их не применить даже, если знаешь что это такое. На случай апокалипсиса (да и без него, чтобы знать в чём из старых аппаратов стОит искать) хотелось бы увидеть список электроники в которой можно найти процессор Z80.

Исчезновение производства электроники, при котором можно будет искать среди развалин городов платы с Z80 возможно только, если произойдёт неядерная война или что-то природное (типа всемирного потопа, мгновенного замерзания части территорий из-за переполюсовки магнитного поля Земли, извержения супер-вулкана, или падения астероида).

А война супердержав непременно станет ядерной, потому на случай ядерного апокалипсиса полезнее выпустить комплект TTL-микросхем для сборки Специалиста, но не на основе кремния, а на основе арсенид галия, т.к такие микросхемы устойчивы к радиации (их делают для космоса). И вместе с печатными платами (по схеме Специалист-Экспресс, но на Z80 и статическом ОЗУ) и дампами ROM-BIOS и бейсика разместить в каждом китайском убежище на случай ядерной войны. Китайцы безостановочно с середины 50-тых годов строят убежища, так что, если в ядерном катаклизме кто-то выживет, то это будут китайцы.


22 Oct 2019 15:47
Profile
Maniac

Joined: 15 Jan 2019 15:48
Posts: 326
Location: Украина, Луганская обл.
barsik, весьма объемный и познавательный обзор.
Спасибо!


22 Oct 2019 23:58
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
barsik wrote:
Так я и нашёл приведённые ранее цифры.

ZX-Spectrum - 5 млн
MSX - 5 млн
Amstrad CPC - 3 млн
ZX81 (+ Timex1000) - 1.5 млн
Commodore-64 - >15 млн
Apple-II - до 6 млн
Atari-400/800 - 4 млн
VIC20 - 2.5 млн
BBC micro - 1.5 млн

Это называется непрезентативная выборка.
И я считаю, что если оспаривается достоверность фразы:
barsik wrote:
Кстати, как раньше, так и сейчас, в большинстве стран в ретро компьютерах более популярен процессор 6502, чем Z80.
то статистика должна быть более корректной и объёмной.

ZX-совместимые компьютеры были популярны в большинстве стран Европы и в СССР.
По ним никакой статистики не приведено.
Я думаю, наш форум также неплохое отражение статистики по ретро компьютерам, компьютеры
на процессоре 6502 упомянуты здесь более, чем скудно.
И опять же даже по официальной статистике компьютеры на z80 представлены более обширно:
Quote:
Компьютеры, как домашнего так и бизнес-применения на z80:
Sinclair ZX Spectrum,
ZX80,
ZX81;
SAM Coupe
Amstrad CPC, PCW
MSX
TRS-80
NEC PC-8801
Sharp X1, MZ
Spectravideo SV-318, SV-328
Sega SC-3000
Memotech MTX
Tatung Einstein
Coleco Adam
Enterprise 128,
Enterprise 64
Sord M5
Robotron 1715,
A 5120[de],
KC 85,
KC 87
Osborne 1
Kaypro II
Cambridge Z88
Алеста
Компаньон
Galaksija
MicroBee
Jupiter ACE
Многие компьютеры и терминалы на CP/M
Некоторые компьютеры имели расширение с Z80 для CP/M:
Apple II,
BBC Micro

По большинству моделей никакой статистики не приведено.

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

Достаточно спросить каждого, читающего данный топик: какой ретро компьютер на процесоре 6502
он знает в ближайшем окружении в жизни и сомнительность обсуждаемой фразы будет очевидна.
Собственно, и у меня сомнение именно по этой причине и возникло.

barsik wrote:
Lavr wrote:
автор всё же думал, что делал, поэтому написал ОС под Z80-таки, а не под 6502
А это как раз естественно, программировать для Z80 на ассемблере намного легче и приятнее, никто в здравом уме имея выбор, не предпочтёт 6502. А ЯВУ под Z80 эффективнее.
Я думаю, Стив Возняк и множество других программистов с этим утверждением
в здравом уме никогда бы не согласились.
Но опять же - это уход от осуждаемого вопроса в сторону.


P.S. И если относиться к статистике серьёзно, то Commodore 64 - на основе процессора 6510,
а не процессора 6502, я, кстати, пометил это, цитируя источник.

_________________
iLavr


23 Oct 2019 08:50
Profile
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Post .
Lavr wrote:
Это называется непрезентативная выборка
Я же ясно написал, что лучше не сделать, т.к по компьютерам выпущеным относительно малым тиражом данных о объёмах производства нет. Я сделал, что смог, сделайте лучше.

Справедливо считать, что отсутствующие в перечне компы на Z80 компенсированы отсутствующими в перечне компами на 6502 и совместимых процессорах (раз уж вы до такой степени придираетесь к мелочам подразумевающимися по умолчанию). Даже очень известные бренды на Z80, например, SAM Coupe имели объём выпуска всего порядка десятка тысяч, так что всеми остальными моделями можно смело пренебречь.

В любом случае, даже если добавить полмиллиона российско-советских ZX-клонов (сколько точно никто не скажет), число 8-ми разрядок на 6502 (и совместимых CPU) всё-равно останется намного больше. Хотя наши ZX-клоны, как и японские MSX, здесь как раз совсем не причём, т.к речь шла о том, что популярнее на Западе, т.е в Европе и США.
Lavr wrote:
Я думаю, Стив Возняк и множество других программистов с этим утверждением в здравом уме никогда бы не согласились
Кто к чему привык, то ему и лучшее. А Стив Возняк как раз писал, что хотел процессор 8080 (т.к он был у многих его знакомых по home-brew-club), но тот был слишком дорог, потому решил купить чуть худший, но более дешёвый 6800, достал документацию и сделал всю разработку под него. Но ему не удалось сам процессор быстро достать, т.к оказалось, что фирма Motorolla не продавала их в розницу (они считали, что микропроцессоры нужны только для промышленных контроллеров). А тут подвернулся на порядок более дешёвый, хотя и неудобный, 6502. Потом Возняк долго плевался, когда ему пришлось писать для Apple библиотеку процедур SWEET-16 (иногда называемую фиктивным машинным языком программирования), оттого, что даже обычную целочисленную 16-ти разрядную арифметику приходится на 6502 реализовывать программно, используя при программировании вымышленный 16-ти разрядный ассемблер. Z80 тогда не было и такого выбора у Возняка не было. И у инженеров Atari и CBM, разрабатывающих первые аркадные игровые автоматы и первые серийные микро-ЭВМ, выбора не было. Если бы 6502 был бы так хорош, то его, ради экономии транзисторов придуманные методы адресации, нашли применение в других CPU, но этого ни разу не случилось.

Для темы не важно, осталось в Европе и Америке пятьдесят программистов-любителей пишущих для 6502 или лишь пять, - в любом случае как их, так и программистов для Z80, - осталось очень мало. Автор этой ОС утверждал, не то, что ретро машин на Z80 в мире больше (их везде осталось мало), а то, что в руинах городов удастся найти много контроллеров на Z80. Он явно имел ввиду технологические линии на заводах, банкоматы, кассовые аппараты, электронику автомобилей, стиральных машин, принтеров и холодильников.


Last edited by barsik on 24 Oct 2019 02:47, edited 10 times in total.



23 Oct 2019 20:24
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
barsik wrote:
Кстати, успех 6502 связан не с его аппаратным превосходством над Z80


Это довольно спорное утверждение. И дело даже не в том что сравнение тактов инструкций того и другого (для похожих функциональностей конечно), показываю это. В пользу технического превосходство, на мой взгляд конечно, говорит простота конструкции декодера 6502.

barsik wrote:
, просто он появился раньше и успел сместить рынок дешёвых домашних компьютеров и игровых консолей в свою пользу. Потому VIC-20 стал первым домашним компьютером тираж которого перевалил за 1 миллион (а всего их сделали 2.5 млн). Если бы определяющим фактором была производительность, то было бы намного больше ретро машин на 6809, но он тоже опоздал.


6809 на момент выпуска 6502 еще не существовало, насколько известно часть команды застрельщиков 6502 утекла из проекта 6800 (могу ошибаться, читал про это не из первоисточника). 6502 был значительно дешевле и 8080 и 6800, я понимаю что в первую очередь учитывалась именно эта его особенность. К моменту когда появился 6809 появились и 65C02 и 6510. Где очень многое было добавлено и исправлено. Напрямую конечно 6809 с любым последователем 6502, кроме 65C816 будет неправильно и отрицать прогрессивность 6809 не буду.

barsik wrote:
Lavr wrote:
автор всё же думал, что делал, поэтому написал ОС под Z80-таки, а не под 6502
А это как раз естественно, программировать для Z80 на ассемблере намного легче и приятнее, никто в здравом уме имея выбор, не предпочтёт 6502. А ЯВУ под Z80 эффективнее.


А не могли бы Вы, уважаемый, barsik, не холивара ради, а токма пользы для, расписать коротенько по пунктно что же именно Вас не устраивает в конструкции 6502 по отношению к 8080 и ему наследнику Z80.
И отдельно, если не составит труда, покажите в чем сложность укладывания языковой конструкции скажем языка Си, на 6502 относительно 8080/z80? Ну вот скажем доступ по указателю, доступ по индексу в массив, как пример?


23 Oct 2019 22:24
Profile
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Это совсем не по теме и холивар Z80 vs 6502 здесь нужен меньше всего. И что обсуждать, пиковую производительность отдельных процедур или удобство программиста?
SAA wrote:
barsik wrote:
Кстати, успех 6502 связан не с его аппаратным превосходством над Z80

Это довольно спорное утверждение
Разве серъёзные деловые компьютеры на 6502 делали, даже DOS толковой не было. И соответственно эффективных компиляторов не наработали. По пути 6502 пошли только те фирмы, что вложились в 6502 ещё в 70-тые. И они то как раз и стали гигантами индустрии, т.е в итоге преуспели, и в этом им как раз помогли их программные наработки (так что их решение "не менять коней на переправе" оказалось верным). А у менее развитых стран, которые достигли прогресса позднее, т.е в 80-тые, уже был выбор, и, естественно, они предпочитали для местных машин Z80, а не 6502. Хотя справедливости ради, - не столько из-за качеств самого Z80, сколько из-за бОльшего объёма ПО под CP/M.

Ясно, что отдельные (даже специально выбранные задачи) 6502 делает быстрее, например, копирование блоков меньших 256 байт в играх, и для игр подходит. Но сравнивать надо CPU с одинаковым периодом доступа к памяти, что значит, что клок Z80 вдвое выше. А обычно фанаты 6502 сравнивают оба CPU в Apple-II и Commodore-128, а в них обоих Z80 стоит уже заведомого в разы проигрывающим способом (т.к синхронизация с видео частью была спроектирована под 6502) и из этого делают ложные выводы. Для сложных задач, где даже регистров Z80 иногда не хватает, 6502 заметно уступает. И даже процессору 8080.
SAA wrote:
отрицать прогрессивность 6809 не буду
приходится верить википедиям, но вроде бы и в этом можно усомниться. Если не ошибаюсь, 68C05, 68C11, 68C12 и японские клоны имеют те же возможности (два акумулятора, два индексных регистра) и другие доработки, да и созданы они на 5, 10 и 15 лет позже и даже уже вряд-ли могут считаться 8-ми разрядными. Лишь в 1980 году 6809 считался самым мощным и потому пару лет его ставили в Apple LISA, но в окончательном релизе заменили на 68000.
SAA wrote:
А не могли бы Вы... расписать коротенько по-пунктно, что же именно Вас не устраивает в 6502 по отношению к 8080 и ему наследнику Z80
Это может сделать лишь тот, кто вчера писал программы на 6502 и Z80. Я программировал для 6502 давно, в 1992-1994. На реальном Apple-II в ассемблере LISA 2.5 (там сразу и убогий редактор и ассемблер) и в встроенном мини-ассемблере. Написал более тысячи строк ассемблера, в частности, монитор для Apple-II (меня не устроил родной монитор Apple-II, непривычные команды). Кроме того я написал эмулятор 6502 на процессоре Z80 и написал простой (не макро) ассемблер 6502 в кодах Z80. Упоминаю это, чтобы сказать, что если и все хитрые приёмы программирования 6502 я не узнал, но по крайней систему команд 6502 хорошо усвоил. Книг Левенталя и других у меня не было. Только У.Морер, который совсем для новичков и болгарская книга "От бейсика к ассемблеру" того же уровня, прочитал ассемблерные примеры из болг.журнала и изучал исходник эпловского ROM-BIOS с комментариями. Хотел в самом начале века написать эмулятор Apple-II, но после написания эмуляторов РК86 и ОРИОНА (на что ушло 3 года), энтузиазм кончился. Может ещё напишу эмулятор 6800, а там и до 6502 недалеко.

В общем впечатление по программированию 6502 получил и он мне не приглянулся, хотя я и старался его полюбить. И считаю, что на Z80 программировать намного легче. Для тех кто начинал с 6502, это может неочевидно. Но после 5-6 лет нормальных ассемблеров (в т.числе DEC-овского), привыкать к 6502 было неприятно. Может местами 6502 и выигрывает, но уж точно не настолько, чтобы оправдать меньшее удобство программиста. Если бы 6502 был втрое эффективнее, я бы не стал писать под него.

Про неудобство 6800 и 6502 для ЯВУ встречал упоминания. Не мне судить, но даже мне ясно, что однобайтовый стек для ЯВУ плох. Параметры, а это обычно 16-ти разрядные Integer и в Паскале и в Си и в PL/M передаются в стеке. 6502 сразу резко тормозит, если идёт работа с 16-ти разрядными числами. Ясно, что код 6502 будет более многобайтовым и менее эффективным при Integer-числах. Для игр это не важно, а для ЯВУ важно. Да и ЯВУ для Apple практически не было. Паскаль токенизированный, потому тормозной, компилятор бейсика ещё более тормозной, а Си вообще нет. А если Вы покажете, что 6502 для ЯВУ наоборот хорош, то приму к сведению.


24 Oct 2019 02:12
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
barsik wrote:
Это совсем не по теме и холивар Z80 vs 6502 здесь нужен меньше всего. И что обсуждать, пиковую производительность отдельных процедур или удобство программиста?


Нет это не холивар ни в коей мере, я бы этого не хотел. Надо обсуждать и то и то на мой взгляд. Удобство программиста как мы можем заметить сейчас в основном выражается в оверхеде фреймворков, уровней абстракции и интерпретирующих инструментах. На мой взгляд, это все равно что увеличивать пространство комнаты в которой живешь, продолжая накапливать в ней и дальше отходы жизнедеятельности. Пиковая же производительность в погоне за "попопугаями" может достигать космических высот, и превращаться в "ничто" при попытке реализовать что то посложней бенчмарков. Посему думаю нельзя обсуждать оба этих параметра раздельно.

barsik wrote:
Разве серъёзные деловые компьютеры на 6502 делали, даже DOS толковой не было. И соответственно эффективных компиляторов не наработали. По пути 6502 пошли только те фирмы, что вложились в 6502 ещё в 70-тые.

То же в равной степени можно заметить и про Z80-компьютеры, например ZX. Не могу сказать что TR-DOS вышедшее сильно позже 70-х может быть удобней CP/M. Если же говорить о Apple II то ProDOS/AppleDOS реализовывали вполне законченные на тот момент представления о DOS, опять таки VisiCalc позиционировался как вполне себе бизнес инструмент. Но впрочем я не об этом. Хотел бы сказать что 6502, ровно как и любой другой процессор вряд ли могли повлиять на понимание людей о том, что игровой ПК может считаться деловым компьютером. Кен Олсен лишний раз это подтвердил :)

barsik wrote:
Для тех кто начинал с 6502, это может неочевидно.


Я начинал с 580ИК80 и Z80, это понятно в союзе не у всех складывалось начать с DEС, ну а 6502, разве что в Правце видел. Интерес к 6502 пришел у ко мне много позже, после приличного перебора различных архитектур и надо сказать впечатлил больше чем ARM, но меньше чем PDP-11.

barsik wrote:
Может местами 6502 и выигрывает, но уж точно не настолько, чтобы оправдать меньшее удобство программиста. Если бы 6502 был втрое эффективнее, я бы не стал писать под него.


Вот тут назревает вполне очевидный вопрос удобство программиста при программировании на ЯВУ? В конечном счете Си закроет своей абстракцией все неудобство процессора, причем любого. В остатке останется только производительность скомпилированного кода.

barsik wrote:
Не мне судить, но даже мне ясно, что однобайтовый стек для ЯВУ плох.

Безусловно, но плох он для того кто будет реализовывать поверх стека 6502, что то более расширенное. Напрямую имеющийся в 6502 стек для рекурсии неприменим, поэтому тут трудно не согласится.

barsik wrote:
Ясно, что код 6502 будет более многобайтовым и менее эффективным при Integer-числах. Для игр это не важно, а для ЯВУ важно.

Согласен, но думаю что важно это и для игр и для ЯВУ и для чего бы то не было. Но тут стоит все таки понять насколько неэффективным он будет относительно Z80. Об этом чуть дальше.

barsik wrote:
Да и ЯВУ для Apple практически не было. Паскаль токенизированный, потому тормозной, компилятор бейсика ещё более тормозной, а Си вообще нет.


Для Apple не скажу, сейчас конечно и не понять каков был голод на ЯВУ в то время, пишут что Commodore C64 имел несколько Си компиляторов в том числе и Small C. В любом случае не имеет смысла говорить о том что было тогда. Мы же в принципе обсуждаем возможности системы команд и архитектуры процессоров в сравнении их с 6502. Если сейчас взять STM8 или что еще интересней ST7 то мы увидим что это прямые потомки 6502.

barsik wrote:
А если Вы покажете, что 6502 для ЯВУ наоборот хорош, то приму к сведению.


Давайте порассуждаем, и обсудим в первую очередь пресловутую ZeroPage дающую нам по сути 256 очень быстрых 8-битных регистров, быстрее чем на Z80 на 1 такт. Например эти 256 регистров очень удачно укладываются в примитивы стековых машин, таки как Forth или даже Java. Хотя эти 256 регистров уже сами по себе прекрасны тем что они есть. Вот как Вы считаете удачный это ход или нет?


24 Oct 2019 04:00
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Барсик, вы опять затеяли многострочный холивар, юлите и переходите на личности вместо аргументов.
Я вам конкретно заметил, что следующая ваша фраза по меньшей мере некорректна:
barsik wrote:
Кстати, как раньше, так и сейчас, в большинстве стран в ретро компьютерах более популярен процессор 6502, чем Z80.
в большинстве стран это совершенно не так.
barsik wrote:
...японские MSX, здесь как раз совсем не причём, т.к речь шла о том, что популярнее на Западе, т.е в Европе и США.
Не шла. :-?

Вам следовало бы уточнить свою фразу и извиниться перед аудиторией за её неточность.
Не более того.
Переходить на личности совершенно ни к чему, мы это проходили, и вашу личность никто не задевал.
Дискутируйте в рамках предмета обсуждения.

_________________
iLavr


24 Oct 2019 10:00
Profile
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Post .
SAA wrote:
Удобство программиста как мы можем заметить сейчас в основном выражается в оверхеде фреймворков, уровней абстракции и интерпретирующих инструментах
Сделал вид, что понял о чём это.
barsik wrote:
Разве серъёзные деловые компьютеры на 6502 делали?
Эта фраза лишь отражает замеченое выше, что общее число профессиональных CPM-машин намного выше. Имею ввиду, что CP/M-машин позиционирующихся профессиональными, таких, что стояли в офисах и в цехах заводов в составе управляющего оборудования (т.е таких, что имели, как минимум дисковод, текст на 80 символов и графику, минимум, в 640 точек) на процессоре Z80 были многие десятки (везде пишут, что всего типов CP/M-машин было более 400). А на 6502, прочитав многое о ретро ЭВМ, я не смог припомнить такого же. 6502, хотя и намного более массово, использовали только школьные и игровые бытовушки. Это конечно ни о чём не говорит, я не историк техники, это лишь моё смутное впечатление.
barsik wrote:
Даже DOS толковой не было
Имел в виду, что для 6502 не было единой стандартной DOS, под которую программисты могли бы штамповать свои компиляторы и другой софт и продавать его в сотнях модификаций для кучи типов машин на 6502 (что имело место для CP/M-машин). Даже для намного менее массового 6809 была OS-9, которую портировали на все пять машин на процессоре 6809.
SAA wrote:
ProDOS/AppleDOS реализовывали вполне законченные на тот момент представления о DOS
Apple-DOS по интерфейсу программиста неудачна (но идеология файловой система мне понравилась, я даже сам написал её аналог для Z80). Проблема в том, что DOS лишили интерфейса программиста (нет DOS-функций) и общение с диском возможно было только текстовыми командами бейсика. В 1977 предполагалось, что на машине будет только дисковый бейсик и этого хватит на 100 лет вперёд. Потому, когда в 1978 для Apple сделали USCD Pascal, то пришлось его снабжать своей собственной полноценной ОС (Apple Pascal Operating System) и Паскаль поставлялся со своей системой, загрузочной дискетой.

Apple-DOS привязана к формату диска, времянкам 6502 на 1 МГЦ и конкретному типу КНГМД, потому непереносима. PRO-DOS на два порядка грамотнее. Но главное в том, что, в отличие от Гарри Килдэлла, фирма Apple не торговала своими DOS для других машин. Потому разработчикам компиляторов для 6502 нЕ для кого было их делать. А коммодоровским бытовухам на 6502 DOS была по сути не нужна, т.к там второй процессор в КНГМД сам обслуживал файловую систему. Возможно потому сейчас имеется намного меньше родных (т.е не-кросс) компиляторов под 6502, чем под Z80.
SAA wrote:
Не могу сказать что TR-DOS, вышедшая сильно позже 70-х может быть удобней CP/M
Ну удобство это уж дело третьестепенное (какой командный процессор напишут, такое и будет удобство - для CP/M переписывали CCP так, чтобы всё было неотличимо от MSDOS, в т.числе и BAT-файлы). Важна идея файловой системы и набор функций. По сравнению с CP/M, TR-DOS - просто примитив. Писал автор незнакомый с хорошими ОС.
SAA wrote:
игровой ПК может считаться деловым компьютером. Кен Олсен лишний раз это подтвердил
Это видимо ещё одна ошибка от Кена Олсена.
Quote:
Кен Олсен, основатель DEC, разоблачал ПК с 1977 года, когда он сказал на собрании Всемирного общества будущего: «Для любого человека нет причин иметь компьютер в своем доме». Это знаменитое ошибочное мнение привело к тому, что позже DEC пришлось предпринимать огромные усилия наверстать упущенное, что в итоге и привело к отставке Олсена из компании.
Не знаю игровых компьютеров, что можно считать деловыми.
SAA wrote:
Вот тут назревает вполне очевидный вопрос удобство программиста при программировании на ЯВУ? В конечном счете Си закроет своей абстракцией все неудобство процессора, причем любого. В остатке останется только производительность скомпилированного кода... Мы же в принципе обсуждаем возможности системы команд и архитектуры процессоров в сравнении их с 6502
Если есть эффективный и удобный для программиста ЯВУ, то обсуждать процессор не имеет смысла. Тогда надо исследовать и обсуждать эффективность ЯВУ. Наличие хорошего компилятора снимает все проблемы.

Как раз по компиляторам ЯВУ у 6502 объём предложений на порядок хуже. Из-за отсутствия единой DOS на системы с 6502, вероятно говорить можно, во-первых, о компиляторах, что работают под эмуляторами конкретных машин. Но видимо, намного больше о кросс-компиляторах.
SAA wrote:
Хотя эти 256 регистров уже сами по себе прекрасны, тем что они есть. Вот как Вы считаете удачный это ход или нет?
Вряд ли кто будет спорить, идея одобрена выпуском кучей других процессоров, где регистры в ОЗУ. В 70-тые это имело смысл потому, что ОЗУ было скоростнее процессоров, а к середине 80-тых стало наоборот и понадобился скоростной кэш.


24 Oct 2019 10:42
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
barsik wrote:
PRO-DOS на два порядка грамотнее. Но главное в том, что, в отличие от Гарри Килдэлла, фирма Apple не торговала своими DOS для других машин. Потому разработчикам компиляторов для 6502 нЕ для кого было их делать.


Так я не про коммерцию. В конце концов у нас были АГАТ-7/АГАТ-9 на 6502 и были под них и ДОСы и например компилятор Рапира (ЕМНИП). В данный момент это все достояние комьюнити 6502. Поэтому я не про ретроспективу, а больше про то чем мы сейчас богаты. Если сейчас глянуть на 6502 компиляторов под него много. Это я к тому что особенности процессора мало влияли и мало влияют на разработчиков инструментов под платформу сегодня.

barsik wrote:
Не знаю игровых компьютеров, что можно считать деловыми.

Разве Apple II таковым не считался? Почему VisiCalc появилась именно на нем? Значит позиционировали его не только для игр?

barsik wrote:
Если есть эффективный и удобный для программиста ЯВУ, то обсуждать процессор не имеет смысла. Тогда надо исследовать и обсуждать эффективность ЯВУ. Наличие хорошего компилятора снимает все проблемы.


Золотые слова! По сути Вы сейчас, уважаемый barsik, сказали самое главное - не важно что там за процессор, важно на сколько хорош компилятор. И back-end компилятора хоть и не последнее дело, но и не первое. А поскольку на две эти платформы z80 и 6502 был портирован Small C, то вроде как есть на чем сверить эффективность компилятора по back-end.

barsik wrote:
Как раз по компиляторам ЯВУ у 6502 объём предложений на порядок хуже.......Но видимо, намного больше о кросс-компиляторах.

Честно говоря не вижу разницы в настоящее время, да и в прошлом как известно Возняк пользовался кросс-компилятором и эмуляторами платформ на майнфремах.

barsik wrote:
SAA wrote:
Хотя эти 256 регистров уже сами по себе прекрасны, тем что они есть. Вот как Вы считаете удачный это ход или нет?
Вряд ли кто будет спорить, идея одобрена выпуском кучей других процессоров, где регистры в ОЗУ. В 70-тые это имело смысл потому, что ОЗУ было скоростнее процессоров, а к середине 80-тых стало наоборот и понадобился скоростной кэш.

Когда пошли дальше вдруг поняли что динамическое выделение регистров штука полезная, и опять вернулись к большим наборам регистровой памяти для регистровых файлов. Но не суть! Смело запишем в копилку разработчика компилятора на 6502 - 256 регистров, которые он может использовать не замыкаясь на аккумуляторе. Это сильно развяжет руки и позволит уйти от "паравозика Дикстры" и стековых вычислений при компиляции арифметических выражений к графам и регистровым вычислениям. Замечу что Z80 тут заведомо проиграет по скорости доступа к регистру.

Перейдем к адресной арифметики, наверное сразу к адресации массивов во всем адресном пространстве. Дело в том что 6502 может косвенно-индексно адресовать по 128 словам, образованным из 256 этих самых быстрых регистров, командой OPERATE (ADDR), Y за 6 тактов. Само собой индекс Y может меняться от 0 до 255, но... при переходе за 255 тратится всего несколько инструкций для корректировки только старшего байта 16 разрядного смещения лежащего в ячейке памяти ZeroPage. За доступ к байту расплатимся от 10 в лучшем случае до 12 в худшем. Коррекция адреса производящаяся 1 раз на 256 байт последовательного доступа а массив, занимает в районе минимум 7 до максимум 9 тактов, если я правильно все рассчитал.
Code:
  operate (ARRAY), Y    ; 6
  INY                                  ; 2
  BNE next                           ; 2/3/4
over_255:
  INC  $ARRAY                      ; 5
next:

Я уж сильно подзабыл Z80, там вроде бы есть индексный доступ, но он завязан на пару индексов, а значит префиксируется и пару HL. При переходе от массива к массиву будем терять время на сохранение контекста. Если можете прокомментируйте мое предположение. Во сколько обойдется последовательный индексный доступ Z80 в массивы? Буду рад услышать Ваши мысли по этому вопросу.


24 Oct 2019 22:26
Profile
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Post .
Как видите знатоки 6502 (если такие, кроме Вас, ещё остались в России) не посещают этот форум. А со мной обсуждать подобные вопросы проблематично, т.к во-первых 6502 меня совсем не интересует, а во-вторых мне и сказать нечего, т.к я дилетант (или даже полный незнайка) в таких вопросах. Я не профессиональный программист и лишь любительским образом немного программировал когда-то, причём в основном на ассемблере. А в том, как работают, устроены и какой код генерят компиляторы ЯВУ и какие особенности микропроцессора для этого полезны, я уж точно не в курсе.
 
А ЯВУ (BAS-компилятор, Си и Паскаль) я изучил в начале 90-тых в CP/M. Оказалось, что эти ЯВУ для 8-ми разрядки не только дают тормозной код, но главное, код программ из под них нарастает слишком быстро, потому попытки использовать ЯВУ для создания программ 8-ми разрядок стали лишь пустой тратой времени (даже переписывание половины процедур и функций на ассемблер не спасало).

Потому на ЯВУ я программировал в основном на PC, причём используя лишь Турбо-Паскаль и Турбо-СИ для MSDOS. Да и на них написал всего лишь несколько более-менее серъёзных программ для собственных нужд (текстов редактор, аналог WD на TP, нортон и два эмулятора 8-ми разрядок на Си, причём в эмуляторах 95% ассемблера и менее 5% Си для доступа к файлам). И всё это было ещё в 90-тых. И лишь в последнее время попытался вспомнить Паскаль для 8-ми разрядки и буквально недавно освоил PL/M для 8-ми разрядки. Так, что про ЯВУ, так и про методы, как правильно использовать хитрые методы адресации 6502 ничего не знаю.
SAA wrote:
Перейдем к адресной арифметике, наверное сразу к адресации массивов во всем адресному пространству
Да, и тут, как и в пересылках блоков, процессор 6502 возможно будет быстрее. Потому, что в Z80 индексные регистры хоть и есть и удобны для программиста, но они были добавлены в систему команд как расширение, а не присутствовали от рождения. Потому эти команды у Z80 тормозные, т.к префиксные. Но логичность и простота восприятия программы - однозначно лучше у Z80, он удобнее для человека, что и утверждалось.

6502 может и не уступает в ряде мест Z80 в скорости, но как я и писал, он неудобен, т.к больше напрягает мозг программиста, что важнее эффективности. Это значит, что быстрее и более сложную программу напишешь на Z80, чем на 6502. Ну а полное отсутствие 16-ти разрядности вообще лишает 6502 уважения в глазах "прогрессивного человечества", по крайней мере, того, что уже привыкло к Z80. Это никак не компенсировать большей скоростью программной петли.

Недостатки 6502 устраняет 65C816, у которого с 16-ти разрядностью и ограничением в 64К нет проблем, он оставляет по всем параметрам Z80 далеко позади. Но по сути доработок 65C816 отбрасывает, как неудобные программисту, все идеи применённые в оригинальном 6502 ради экономии транзисторов, - его архитектура в его "родном" режиме похожа на архитектуру 6809, а не 6502. С ассемблером 65C816 может быть было бы интересно познакомиться на практике. Но опять-таки, ассемблер, это уже не модно, т.е эффективно, но слишком трудоёмко. Если нет компиляторов специально для 65C816, то и смысла в нём нет. Кстати, в то же время Zilog тоже сделал апгрейд - Z180, но там почти нет в системе команд и архитектуре ничего нового (лишь в один флакон запихали CPU и периферийные БИС). Это потому, что у Z80 уже ничего нельзя было заметно улучшить, т.к он изначально хорош, в отличие от 6502.

Кому-то 6502 приглянулся т.к "органично вошёл в душу" и потому такие люди в восторге и визжат от удобства программирования на нём. Ну а мне 6502 не приглянулся, и я долго считал, что это для всех людей так. Потому был дико удивлен, когда несколько лет назад узнал, что на Западе 6502 был господствующим среди 8-ми разрядок.
SAA wrote:
поскольку на две эти платформы Z80 и 6502 был портирован Small C, то вроде как есть на чем сверить эффективность компилятора по back-end
Я давно не в курсе программистского суржика, потому посмотрел в википедии, что значит back-end, но всё-равно не понял смысла. Ссылка с русской буквой "И" не выкладывается, смотрите вручную: [ru.wikipedia.org/wiki/Front_end_и_back_end]. По-видимому, имеется ввиду возможность странслировать один и тот же код и сравнить в реале.

Может я и не прав, но мне кажется, что справедливо сравнивать компиляторы написанные на ассемблере, потому что их писали программисты на ассемблере, хорошо знающие как по максимуму использовать возможности данного CPU. А все современные, да и некоторые из старых компиляторов написаны на самом Си и отражают лишь представление программиста на Си о архитектуре целевого процессора. А small-c как раз написан на самом Си.

Про SMALL-C вряд ли правильно применять термин портирование. Его лишь брали за основу, а затем существенно дорабатывали, так что в итоге от оригинала оставалось чуть-чуть. Для CP/M на базе статьи в ж.Dr.Dobbs 1980 года создана куча версий называемых SMALL-C (у меня в архиве их, как минимум, штуки 3, разной степени продвинутоси от small-c). Сделанный также на основе этой статьи CC65, был, кажется, чуть ли не единственным родным компилятором на 6502. Сейчас, естественно, используют кросс версию сделанную на основе того кода, ведь не проблема портировать написанное на ЯВУ.

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

На ассемблере написаны AZTEC и BDS Си (и ещё куча других из 70-тых, начала 80-тых). Есть родные компиляторы и для 6502, хотя их-то как-раз намного меньше и написаны они позже. А для 6502 кажется реально известен только CC65, написанный для Атари в 1989 и не факт, что и он написан на ассемблере. Конечно были сделаны Си для Apple-II, а для Commodore-64 вряд-ли с учётом дикой тормознутости его флоповодов (там программа будет транслировать час).

Не важно какой компилятор использовать. Их же делали разные люди и сумели по разному догадаться, как выжать из архитектуры максимум. И не важно какой код был взят за основу при разработке компилятора. Надо сравнивать самый эффективный компилятор Си для 6502 на ассемблере с самым эффективным компилятором для Z80 на ассемблере. А т.к неизвестно, какой из компиляторов считать дающим лучший код, то надо транслировать программу на всех известных компиляторах и сравнивать лидеров. Но только, если в сравнении участвуют компиляторы написанные на ассемблере, а значит опытными в конкретном ассемблере программистами, можно доверять результатам.

Можно конечно, сделать допущение, что кросс-компиляторы максимально ориентированы на архитектуру процессоров, и странслировать код и прогнать его на реальных машинах, взяв поправку на разницу тактов. При этом нужны машины без WAIT и HOLD, т.к тогда скорость такой машины может зависеть от конкретного кода. Например, в ОРИОНЕ при сравнении КР580 и Z80 с WAIT один тест даёт одно соотношение скоростей, а другой - другое, хотя машины одни и те же. А лучше при сравнении вручную посчитать такты в дизассемблированном коде (некоторые ассемблеры это умеют) и с учётом такта пересчитать в (милли-)секунды. Но вряд-ли этим сейчас захочет кто-то заниматься и выяснять какой процессор лучше подходит для ЯВУ.

Кстати, похоже, только PL/M из ЯВУ реально пригодны для 8-ми разрядки. Eсли PL/M нет для 6502, то он скорее всего проигрывает даже КР580 в результативности программирования на ЯВУ. Жаль нет PLMX для Z80, он продавался и стоил $1000, но сейчас утерян.

Но это можно частично вручную компенсировать, т.к PL/M генерит ассемблерный исходник. Можно в нём исправить, где возможно JMP на JR. И ещё вручную оптимизировать передачу параметров, т.к PL/M, как и все другие компиляторы ЯВУ для КР580 передаёт байтовый параметр в процедуру в виде 16-ти байт, так что можно 16-ти разрядные загрузки заменить 8-ми разрядными.


Last edited by barsik on 28 Oct 2019 02:41, edited 7 times in total.



27 Oct 2019 12:14
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
barsik wrote:
6502 может и не уступает в ряде мест Z80 в скорости, но как я и писал, он неудобен, т.к больше напрягает мозг программиста, что гораздо важнее эффективности.
...
Кому-то 6502 приглянулся т.к "органично вошёл в душу" и потому такие люди в восторге и визжат от удобства программирования на нём. Ну а мне 6502 не приглянулся, и я долго считал, что это для всех людей так.

Здесь очень простой ответ - кто с чего начинал изучение ассемблера.
6502 и иже с ним, действительно, просты для изучения, поэтому, тем, кто начинал с него, он "органично
вошёл в душу".

Я лично сам видел человека, который неплохо знал 6502 т.к. учился в Америке, он пробовал ассемблер
i8080 у меня на глазах, ему было совешенно неудобно от наличия "лишних" регистров, ну и методы
адресации у i8080 не такие гибкие...

И глядя на его потуги, я вспомнил ситуацию на военных сборах - был парнишка у нас - он был левша,
но очень хорошо стрелял из мелкашки и пневматики, но вот с АК-47 у него как будто обрубало - не попадал.
И тогда наш подполковник лег на огневой рубеж и приложил АК-47 с левого плеча, поприцеливался,
потом встал и сказал:"Да, эта машинка сделана не для леворуких..."
И он был прав - стрелять-то можно, но очень неудобно...


Так же и с 6502 и Z80, если от Z80 и i8080 подходишь к 6502 - он осваивается просто, но потом ощущаешь,
что не хватает как бы "мощи", т.к. Z80 и i8080 позволяют индексные и косвенные операции с 16-разрядными
регистрами-указателями, а 6502 так напрямую не позволяет.

И хотя говорят, что Zero Page - это как 256 регистров, реально они не так удобны, поскольку в регистрово-
ориентированном процессоре его набор регистров "свободен" для каждой задачи или прерывания,
то с Zero Page всегда приходится думать, кто кроме тебя ещё пользуется этими "регистрами", а это и ОС,
и сам ЯВУ, если мы пишем из-под него.

Положительным фактором для 6502 является то, что под него уже существует большой объём готового софта
недаром его, даже неузнаваемо урезанный, продолжают широко использовать:
http://www.nedopc.org/forum/viewtopic.php?f=65&t=11003#p146416
http://www.nedopc.org/forum/viewtopic.php?f=65&t=19422#p150585
http://www.nedopc.org/forum/viewtopic.php?f=65&t=19422#p150585

_________________
iLavr


27 Oct 2019 12:58
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
barsik wrote:
Кстати, похоже, только PL/M из ЯВУ реально пригодны для 8-ми разрядки. Eсли PL/M нет для 6502, то он скорее всего проигрывает даже КР580 в результативности программирования на ЯВУ.


Я с Вашего разрешения, уважаемый barsik, буду в режиме "блиц".

Ну первое не соглашусь с высказыванием по поводу PL/M как маркером пригодности процессора к ЯВУ. Тут ведь какое дело что бы перейти к компиляции в синтаксические деревья надо было и время и самое главное оперативную память, которой в то время было "кот наплакал" даже в x86 компьютерах. По настоящему хорошо оптимизировать компиляторы научились с момента когда Интел взял в свои руки этe индустрию и выпустил icc. А до этого момента были насколько мне известно попытки перевести все в плоскость пи-кода (на Паскале) тем самым сузить оптимизацию до стандартных шаблонов пи-кода. Не соглашусь с тем что средство разработки, а именно ЯВУ должно быть написано обязательно на ассемблере, что бы быть эффективным. Что бы быть крошечным и посему влезающим в 64К действительно необходим ассемблер, но эффективность компиляции в машинный код требует наооборт возрастания уровня абстракции при работе с данными. Была такая эпопея "компилятор своими руками" одного зарубежного автора так к сожалению и не закончившаяся окончательно построением компилятора. Так вот в ней он пишет на паскале компилятор какого то промежуточного между Си и Паскаль ЯВУ. Там очень много итераций одних и тех же процедур хорошо заметен процесс усовершенствования с каждым проходом. Автор постоянно отмечает что Small-C да и многие 8-битные компиляторы Си писались именно так как он это делает. Так вот эффективность кода не зависит от того на чем написать компилятор, а вот время создания инструмента напротив зависит очень сильно. Так например постигая процесс создания компилятора (Си), совсем уж кстати для экзотической платформы, мне пришлось повторить все эти итерации на Lazarus (собственно паскаль) и на Borland C++ и я доложу Вам на С++ или на Си это заняло значительное время из за работы с строками во время парсинга. Я откровенно говоря слабо представляю как бы даже такой простенький компилятор, далеко не ANSI, я бы смог написать на ассемблере. Возможно наиболее приемлемым тут бы был PDP-11 но даже и на нем это было бы мукой. Скорее всего все компиляторы для 8-биток были написаны на кросс-средствах, за исключением Forth конечно же :).

Вот что нашел по поводу PL/M на 6502:

https://atariwiki.org/wiki/attach/PL65/PL65-Manual.pdf
Ну и вот такая еще книжка почитать которую не удалось "A PL/M-6502 Cross-compiler for the KIM-1" Gary P. Kennedy.

P.S. В соседней ветке http://www.nedopc.org/forum/viewtopic.php?f=104&t=19592 мой товарищ пытается узнать что же такого мог скандинавский компьютер на 6502 "Микропрофессор" у меня к Вам Barsik просьба как к человеку который много работал с Apple II (микропрофессор совместим с ним) помочь ему советом. Выглядит "Микропрофессор" да и называется не как игровой :) чего стоит расширенная клавиатура цепляемая отдельно.


27 Oct 2019 23:34
Profile
Display posts from previous:  Sort by  
This topic is locked, you cannot edit posts or make further replies.   [ 82 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: No registered users and 89 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.