А русский точно надо?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Logic, чо спорить с Великим, надо его сразу отправлять в устройство ноль

Green
Онлайн
Зарегистрирован: 01.10.2015

А мне интересно на чём (каком языке) программировал для z80, для какого железа, в какой среде, каким транслятором?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Green пишет:

А мне интересно на чём (каком языке) программировал для z80, для какого железа, в какой среде, каким транслятором?

Готов спорить, что на таком экзотическом языке, как Пролог на Z80 (Yamaha YIS-805) мало, кто писал :-)

А так, что-то не припомню там большого выбора. Был само собой ассемблер и какой-то MSX-C (на котором и был реализован тот самый Пролог). Разве там был большой выбор средств разработки?

Green
Онлайн
Зарегистрирован: 01.10.2015

Бейсик.))) Да, Пролог это сильно.) Си то точно был, и сейчас есть (HT, IAR). Под CP/M много чего было. Ну и ассемблеров (кросс) огромное количество. Только вот лучше Микрософт M80 (1981 года!) я не встречал.)

Logik
Онлайн
Зарегистрирован: 05.08.2014

Green пишет:

А мне интересно на чём (каком языке) программировал для z80, для какого железа, в какой среде, каким транслятором?

Воще Z80, был немного расширеный да ускореный 8080. А то было мэйнстримом для домашнего ПК до 8086. Так что было почти все что было на тот момент. Но  реально, из-за очень слабых ресурсов (48кБ памяти и пару МГц) системное писалось на асме. Т.е. игра с графикой и музыкой влазит и успевает. А вам 328р нехватает мигать лампой ((( Графический редактор типа паинта в 8кБ влазил. Для творчества юзверей - бейсик расширеный в спектруме и его подобным. Ну как вариант - загрузить СР/М, тока потом памяти ни на что уже не останется. С магнитофона загрузить.  Позже дисководы подключали.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

На спектруме был Hisoft Pascal и Hisoft-C. Правда, Си был целочисленным, занимал 23 Кб из 48 и постоянно вешался. Паскаль тоже шибко не отличался, программировать на этом было невозможно. Были всевозможные расширители и типа компиляторы со встроенного Васика, но до того нелепые, что как сирезный инструмент не рассматривались. Кросс-ассемблер на XT - было наше все. 

Green
Онлайн
Зарегистрирован: 01.10.2015

Z80 был не только на Спектрумах. Хотя я когда то делал примочку к Ленинград-2, которая имела полноценный дисплей 80х25,  доп. клавиатуру, FDD, PRN. Ну и, соответственно, позволяла использовать весь CP/M-овский софт. А там уже куча всего было. И хотя писалось всё на ассемблере, производительность была приличной (производительность труда)). Просто задачи были другими.)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Ну никак не мог не отметиться в этой теме.

Хотя бы потому, что в двух из моих проектов:

http://arduino.ru/forum/proekty/asoled-kompaktnaya-biblioteka-dlya-oled-displeya-128kh64-s-kirillitsei-utf-8

и

http://arduino.ru/forum/proekty/s-stm32f103-na-televizor-polnyi-tv-signal

кириллица представляет собой некоторую "изюминку".

Хотя мое отношение к ней описывается в первой фразе (после заголовка) темы 

http://arduino.ru/forum/programmirovanie/kirillitsa-na-displee-ili-chto-ya-delayu-ne-tak

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

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

asam
asam аватар
Онлайн
Зарегистрирован: 12.12.2018

DetSimen пишет:

На спектруме был Hisoft Pascal и Hisoft-C. Правда, Си был целочисленным, занимал 23 Кб из 48 и постоянно вешался. Паскаль тоже шибко не отличался, программировать на этом было невозможно. Были всевозможные расширители и типа компиляторы со встроенного Васика, но до того нелепые, что как сирезный инструмент не рассматривались. Кросс-ассемблер на XT - было наше все. 

Первый ТурбоПаскаль был сделан как раз под Z80 и СP/M. Был уже сразу в классическом виде (редактор + встроенный компилятор). Поддерживал арифметику с плавающей точкой, компилил влет и давал приличный код.

Green
Онлайн
Зарегистрирован: 01.10.2015

Ну, CP/M то была под 8080. Другое дело что Z80 позволял разгоняться и своё ПО использовать. Да и вообще, железо удобно было с одним 5-ти вольтовым питанием. А так люди даже HDD цепляли. Конечно без подкаталогов неудобно было, но тем не менее изгалялись. CP/M вообще просто ставилась на что угодно. Пацана своего как то пытался приобщить - сделал машинку в корпусе роутера. Аt29c020 использовал в качестве диска - ну просто песня). Другое дело что никому это и нафиг сейчас не нужно - для очень больших любителей.(

asam
asam аватар
Онлайн
Зарегистрирован: 12.12.2018

Ирокез пишет:

 Байтом называется любая минимально адресуемая ячейка памяти. 

 

ОК. Вот у меня на столе лежит старый HDD. На нем написано "10 Gigabyte". Минимально адресуемой ячейкой на нем является 4096 бит. Скажи мне, пожалуйста какая емкость этого диска в битах?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

asam пишет:

Ирокез пишет:

 Байтом называется любая минимально адресуемая ячейка памяти. 

 

ОК. Вот у меня на столе лежит старый HDD. На нем написано "10 Gigabyte". Минимально адресуемой ячейкой на нем является 4096 бит. Скажи мне, пожалуйста какая емкость этого диска в битах?

Пример некорректный: HDD - это блочное устройство, а не устройство с прямым доступом. Другими словами, 4096 бит - это длина блока, а не размер ячейки.

asam
asam аватар
Онлайн
Зарегистрирован: 12.12.2018

andriano пишет:
Пример некорректный: HDD - это блочное устройство, а не устройство с прямым доступом. Другими словами, 4096 бит - это длина блока, а не размер ячейки.

Яче́йка па́мяти — минимальный адресуемый элемент запоминающего устройства ЭВМ.  (https://ru.wikipedia.org/wiki/Ячейка_памяти)

Наиболее известные запоминающие устройства, используемые в персональных компьютерах: модули оперативной памяти (ОЗУ), жёсткие диски (винчестеры)дискеты (гибкие магнитные диски), CD- или DVD-диски, а также устройства флеш-памяти. (https://ru.wikipedia.org/wiki/Компьютерная_память)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Вопрос на засыпку: существует ли адресация байтов внутри сектора?

Если "да", то сектор не является минимально адресуемым элементом.

asam
asam аватар
Онлайн
Зарегистрирован: 12.12.2018

andriano пишет:

Вопрос на засыпку: существует ли адресация байтов внутри сектора?

Что такое байт в HDD?

Цитата:
Если "да", то сектор не является минимально адресуемым элементом.

В рамках HDD минимально адресуемой единицей является сектор. В том диске о котором идет речь размер сектора 4096 бит. Меньшая единица не адресуется. Записать или считать можно только сектор целиком.

Logik
Онлайн
Зарегистрирован: 05.08.2014

А сколько в том диске мегабайт в гигабайте, 1000 или 1024? Без этого ответить на Ваш вопрос невозможно.

asam
asam аватар
Онлайн
Зарегистрирован: 12.12.2018

Logik пишет:

А сколько в том диске мегабайт в гигабайте, 1000 или 1024? Без этого ответить на Ваш вопрос невозможно.

Ну, пускай 1000. В данном случае мне порядок величин важен.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

asam пишет:

В рамках HDD минимально адресуемой единицей является сектор.

Не минимально адресуемой единицей, а длиной блока. Что не одно и то же. Иначе не существовало бы различия между устройствами с прямой адресацией и блочными устройствами.

Цитата:

В том диске о котором идет речь размер сектора 4096 бит. Меньшая единица не адресуется. Записать или считать можно только сектор целиком.

И что с того?

В Фортране, например, бесформатную запись можно записать или считать только целиком. При том, что ее размер задается в байтах (или словах), т.е. может быть произвольным. Означает ли это, что в Фортране минимально адресуемая единица имеет произвольную длину?

asam
asam аватар
Онлайн
Зарегистрирован: 12.12.2018

Еще раз согласно данному выше здесь определению:

Байтом называется любая минимально адресуемая ячейка памяти. 
Яче́йка па́мяти — минимальный адресуемый элемент запоминающего устройства ЭВМ.  

Минимально адресуемый элемент в данном HDD это сектор (4096 бит). Адресовать меньшую единицу нельзя никак. Стало быть согласно данным определениям мы можем называть сектор байтом.  Не так ли?

Цитата:
В Фортране, например, бесформатную запись можно записать или считать только целиком.

С каких это пор Фортран или его элементы стали запоминающими устройствами? Так что данный пример совсем не в кассу.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

asam, еще раз: минимально адресуемая и минимально читаемая/записываемая - это не одно и то же.

Если Вы так любите Википедию, почитайте: https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BF%D0%BE%D0%BC%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B5%D0%B5_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%BE

и обратите внимание, что оперативная память и дисковые устройства относятся к устройствам с различным типом доступа.

Цитата:

По типу доступа:

  • С последовательным доступом (например, магнитные ленты).
  • С произвольным доступом (RAM; например, оперативная память).
  • С прямым доступом (например, жёсткие диски).
  • С ассоциативным доступом (специальные устройства, для повышения производительности баз данных).

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