PDA

Просмотр полной версии : Так уж сложилось, что единого стандарта на клавиатуру для отечественных клонов ZX...



Ne01eX
04.07.2005, 08:55
Вот от этой фразы и буду топик плясать. :) Давно зрел в голове вопрос, никак повода задать не было. :) Всем известно что изначально спекки не имеет русской раскладки. Однако различными умельцами "по ходу дела" программно прикручивались знакогенераторы (надеюсь правильно назвал ;) ?) и тогда имелась возможность нормально _смотреть_ "русский" текст на мониторе. Потом появились умельцы из "Инфокома" и за небольшую плату предлагали перепрошить ПЗУ пользователя, да так, что можно было без проблем писать как большими русскими, так и маленькими буковками. В Арусе кстати такая возможность тоже присутсвует и шрифт русских буковок очень даже красиво смотрится. Не суть важно, кто был первым, а кто вторым, однако как-то помнится у разных руссифицированных клонов были проблемы с корректностью переваривания информации, особенно если она подготовленна на другом руссифицированном собрате. Потом конечно появилась IS-DOS и часть проблем вроде-как сналясь, однако уже другая история.
Собственно вопрос заключается в том: За тот десяток лет, что пеньки катятся в пропасть ;) появился единый стандарт на _кодировку_ отечественных символов?
Может стоит придерживаться одного стандарта, взяв за основу, какой-нибудь существующий? Например КОИ7-Р, КОИ8-Р? ;)

Sonic
04.07.2005, 10:43
Вообще-то, CP866, она же "Альтернативная кодировка ГОСТ'. Впервые была применена в ОС MS-DOS.
Все современное ПО, способное вводить русские буквы, использует эту кодировку. Собственно, мотив - прямая совместимость со всем имевшимся тогда архивом информации.
На русификацию именно бейсика стандарта как такового никогда не было и быть не может, потому что в бейсике текст 7-битный. Каждая программа извращается во что горазда. Простейший вариант - использование UDG (когда-то я сам с этого начинал). Далее - полное переключение знакогенератора то на русский, то на латинский, с помощью двух POKE.
Помнится, когда-то я пытался сделать русификатор для бейсика, патчащий таблицу каналов "S" и "K". Предполагалось по клавишам SS+Space вставлять два управляющих символа, а при их встрече при выводе на печать переключать шрифт. Первая задача была решена без проблем, а вот со второй произошел полнейший облом, поскольку функции печати на экран постоянно перезаписывают в канальные таблицы свои значения (не могу простить этого авторам ПЗУ, равно как и бага с NMI). Более того, функция очистки экрана тоже переставляет эти адреса по умолчанию. И если с обновением адресов самой печаталкой еще можно как-то бороться, то с CLS этого делать не получается, поскольку при работе с редактором бейсика эта функция вызывается практически постоянно. Использование же IM 2 для этой цели было признано нецелесообразным.

Ne01eX
04.07.2005, 11:17
На русификацию именно бейсика стандарта как такового никогда не было и быть не может, потому что в бейсике текст 7-битный.

А я и предложил в бейсике унифицировать к КОИ7-Р. Такая кодировка много где использовалась на 8битных машинах. На том же "Корвете", например. Другое дело, что "предложить" и "осуществить" две разные разницы. Есть опасность потерять совместимость с уже существующим ПО. Собственно вопрос и сводится этому "как?" Насчет КОИ8-Р - это во мне бунтует пингвиненок. Да я уже заметил, что многие аттачи исполнены в CP866, однако про ее ГОСТ'евое происхождение я чего-то ничего не слышал. Имхо происки макрософта. КОИ8-Р - совсем другое дело... А с другой стороны - а иже с ней. Вот на бейсик имхо стоит обратить внимание. Самый живучий компьютер с самым не русифицированным бейсиком. :(

Shiru
04.07.2005, 18:36
Давайте сразу ANSI 1251;)

Ronin
04.07.2005, 23:23
Имхо происки макрософта
имхо с русификацией у мелкософта был свой ворох проблем, кодировки-то все эти КОИ/ГОСТ-их кучу придумывал не мелкософт, а мы сами :) Да и русификация мс-дос происходила вроде как "снизу" а не "самерики" ;) хотя я в то время на пц не жил...

Давайте сразу ANSI 1251
тама псевдографики нету (вот уроды блин) :))))))

Ne01eX
05.07.2005, 07:10
Давайте сразу ANSI 1251

Нифига. Из-за тех же происков мАкрософта.


мхо с русификацией у мелкософта был свой ворох проблем, кодировки-то все эти КОИ/ГОСТ-их кучу придумывал не мелкософт, а мы сами Да и русификация мс-дос происходила вроде как "снизу" а не "самерики" хотя я в то время на пц не жил...

Говоря это я имел ввиду CP866...


А собственно чем не нравится КОИ7-Р, КОИ8-Р? :)
Вот именно, вот про это я и говорю - когда у нас есть своя кодировка (в частности рассматривая на примере КОИ8-Р) эта буржуинская конторка вводит свою - CP866, потом через несколько лет, резко меняет ее на CP1251 и еще через пару лет потом еще через пару лет приходит к UTF-8!
Да хрен с ней с кодировкой - сначала они придумали фат12/фат16/фат32, потом NTFS и затихарили доку на эту ФС. И так совсем, что сделано этой конторой. Я ни к чему не призываю других, но лично я ничем макрософтоским пользоваться не намерен. И хоть по долгу службы мне в данный момент приходиться работать в небезызвестной ОС, пользуюсь я не ослом, а FireFox. Чего и вам желаю. Зато когда приду домой... но это совсем другая история...

Ronin
05.07.2005, 15:52
эта буржуинская конторка вводит свою - CP866, потом
помоему в условиях безстыдного воровства мсдос биллгейтс не способен был навязать свою кодировку. мне кажется взяли то что более распространилось само по себе. А вот 1251 - да, поставили силой ;)

fk0
05.07.2005, 16:04
KOI8 не нравится отсутствием поддержки языков отличных от русского.
Так, например, для украинского нужно "i" с двумя точками и "г" с хвостиком.

CP1251 -- абсолютно точно, происки микрософта. Никакого отношения к стандартам не имеющие.

CP866 тоже никакой не ГОСТ, который на самом деле ISO-8859-5. В последнем есть все буквы какие надо, но нет псевдографики.

В результате, я за тот вариант, который в iS-DOS был. В том смысле
чтобы CP866 пропатчить на счёт недостающих букв с сохранением остальной
совместимости. Есть такая кодировка, CP12xx, не помню как её точно.
Её микрософт для белорусов изобрёл, вместо CP866. И буквы все есть,
и псевдографика, и с CP866 (а значит с fidonet и существующими решениями -- что немаловажно) совместима. Я исключительно за этот вариант. Китайцы
со своими иероглифами идут в садъ. Юникод не для спектрума.

acidrain
05.07.2005, 19:45
я амижник и тож недолюбливаю мелко$офт, но к ами1251 (оно же ср-1251), отношусь положительно. Хотя бы из-за того, что в нете проще читать (99% имхо текстов), доки тож на ней. Так что господа, прошу вас забыть о обидах на мс (из-за чего кста, обиду держите? мс спеку урона не нанес, а вот амигу удушил) и использовать сложившийся стандарт дефакто.
Не, ну можно маковскую кодировку сюда приплести - но зачем этот изврат нужен вместе с ср866??? :)

Максагор
06.07.2005, 00:29
Так что господа, прошу вас забыть о обидах на мс (из-за чего кста, обиду держите? мс спеку урона не нанес, а вот амигу удушил

Обижаемся в соответствии с классовой солидарностью с вами, амижниками! Даешь всемирную антимайкрософтовскую революцию! ;) ;) ;)

Ne01eX
06.07.2005, 07:04
KOI8 не нравится отсутствием поддержки языков отличных от русского.
Так, например, для украинского нужно "i" с двумя точками и "г" с хвостиком.

Пожалуйста - КОИ8-У. Только в данном случае это опять в след за китайцами, ибо мы говорим пока не о унификации локализации, а об простой руссификации.


В результате, я за тот вариант, который в iS-DOS был. В том смысле
чтобы CP866 пропатчить на счёт недостающих букв с сохранением остальной
совместимости.

Проще и лучше КОИ7-Р. Оратор Sonic выше же про семибитность говорил...


Есть такая кодировка, CP12xx, не помню как её точно.
Её микрософт для белорусов изобрёл, вместо CP866. И буквы все есть,
и псевдографика, и с CP866 (а значит с fidonet и существующими решениями -- что немаловажно) совместима. Я исключительно за этот вариант. Китайцы
со своими иероглифами идут в садъ. Юникод не для спектрума.

Белорусская кодировка 1252... Псевдографику, в соответсвии с нуждами можно изменить и в КОИ7-Р. Ну про фидо это вы загнули. голого деда и прочую наготу давно в линукс портировали и с КОИ8-Р он прекрасно уживается. Китайцы бегом бегут... :)

acidrain
06.07.2005, 11:31
с вами, амижниками!
Дык это, яж и спектрумист опять ;)))

fk0
06.07.2005, 18:12
Белорусская кодировка 1252... Псевдографику, в соответсвии с нуждами можно изменить и в КОИ7-Р. Ну про фидо это вы загнули. голого деда и прочую наготу давно в линукс портировали и с КОИ8-Р он прекрасно уживается. Китайцы бегом бегут...

Да. Повторяю -- *совместима с существующими решениями*.
KOI8 на спектруме нигде кроме как в CP/M не использовался.

В fidonet используется CP866. А что у тебя там локально это никого не интересует. И не надо мне рассказывать как голдед в линух портировали.
Лучше бы не делали этого.

Ne01eX
07.07.2005, 06:46
Да. Повторяю -- *совместима с существующими решениями*.
KOI8 на спектруме нигде кроме как в CP/M не использовался.

Мне кажется Вы ошибаетесь. В CP/M-80 была как раз-таки КОИ7.
Однако, дело не в том, какая локаль на спекки распространена более всего, а в том что в _бейсике_ общепризнанного стандарта как такового _нет_. Я всего лишь предлагаю оставшемуся в живых на этой платформе отечественному спектрум-сообществу наконец-таки исправить это недоразумение, выработав это стандарт. Что это будет - покажет время, однако вы сами убедитесь что из самых распространенных отечественных семибитных кодировок, лучшей кандидатуры чем КОИ7 нет ;). Ставя этот вопрос я не ожидал такого флейма, на тему какая кодировка лучше, я всего лишь спрашиваю _как_это_реальнее_всего_осу ествит_ в_железе. Не хотите придерживаться единого стандарта - пожалуйста, переключайте банки знакогенераторов дальше. Хотите - давайте его сделаем, взяв за основу существующий.

Sonic
07.07.2005, 12:42
Единственный известный мне вариант аппаратно русифицированного Бейсика - "Байт". Можно его взять за основу.
Правда, это в любом случае требует аппаратной доработки с установкой теневого ПЗУ. Можно например хватать процедуры ввода и вывода потоков.
Переключать знакогенераторы можно по служебным символам, #0E и #0F тем же (как я пытался делать). Хоткей - SS+Space (не у всех полноразмерная клава как у Байта).
Просто единственный вопрос - настолько ли это надо... Вопросы русификации вне Бейсика давным-давно решены.

Ne01eX
07.07.2005, 14:07
Единственный известный мне вариант аппаратно русифицированного Бейсика - "Байт". Можно его взять за основу.
Правда, это в любом случае требует аппаратной доработки с установкой теневого ПЗУ. Можно например хватать процедуры ввода и вывода потоков.
Переключать знакогенераторы можно по служебным символам, #0E и #0F тем же (как я пытался делать). Хоткей - SS+Space (не у всех полноразмерная клава как у Байта).
Просто единственный вопрос - настолько ли это надо... Вопросы русификации вне Бейсика давным-давно решены.

Ну как вам сказать - Вот Арус тоже имеет руссифицированный бейсик, осталось выяснить насколько мапы >127 кодов соответcвуют друг дружке. У вас нет таблицы ASCII кодов символов, которые больше 127 (dec)?

За одно и у тов. Чунина хотелось бы узнать - не руссифицировал ли АТМТурбо? Если нет - не собирается ли?

fk0
07.07.2005, 17:47
Мне кажется Вы ошибаетесь. В CP/M-80 была как раз-таки КОИ7.

В моей CP/M бтло кои-8 и у MOA тоже KOI8, и на PROFI -- кои-8.
Да, КОИ-7 был дополнительным режимом консоли, неудобным жутко,
по понятным причинам, и нафиг не нужный.

Максагор
07.07.2005, 19:02
Дык это, яж и спектрумист опять ;)))

Ну, дык, тем более! :)

Максагор
07.07.2005, 19:09
Ну как вам сказать - Вот Арус тоже имеет руссифицированный бейсик, осталось выяснить насколько мапы >127 кодов соответcвуют друг дружке. У вас нет таблицы ASCII кодов символов, которые больше 127 (dec)?

За одно и у тов. Чунина хотелось бы узнать - не руссифицировал ли АТМТурбо? Если нет - не собирается ли?

В ATM-turbo всех моделей русски буквы поддерживает CP/M (как КОИ-7(переключение отображаемого шрифта через управляющие коды(символы при этом могут оставаться в пределах #00-#7F)), так и КОИ-8(русские символы располагаются в кодах #80-#FF) однвременно). iS-DOS/TASiS также поддерживает русский шрифт в ALT-кодировке (CP866?). А бейсик никто не русифицировал и не собирается, потому как нафиг не надо.

Ne01eX
08.07.2005, 06:10
А бейсик никто не русифицировал и не собирается, потому как нафиг не надо.

Ну не надо, так не надо...

Ne01eX
11.07.2005, 13:08
Вот щас лопну от гордости за отечественного производителя. :) А у меня на Арусе КОИ7! Если конечно я не забыл эту раскладку. А я не забыл. Вот. Буду сидеть в одну каску на КОИ7 и сам себя стандартизировать. :eek:

CHRV
11.07.2005, 14:31
Вот щас лопну от гордости за отечественного производителя. :) А у меня на Арусе КОИ7! Если конечно я не забыл эту раскладку. А я не забыл. Вот. Буду сидеть в одну каску на КОИ7 и сам себя стандартизировать. :eek:
НА АТМ тоже КОИ :).

fk0
18.07.2005, 12:11
Белорусская кодировка 1252... Псевдографику, в


Чушь. CP1252 -- эквиэвалент iso8859-1 в какой-то мере. Там
ни одной русской буквы внутри нет.

Ne01eX
18.07.2005, 12:22
Чушь. CP1252 -- эквиэвалент iso8859-1 в какой-то мере. Там
ни одной русской буквы внутри нет.

Ничего подобного. Мне в свое время дистрибутив Mandrake (8.0 или 9.0, один хрен Слака рулит ;)) ее подсовывал в качестве кодировки русской локали. Насилу договорился на CP1251 :). В конце концов, можно в сети порыться и найти более компетентный, чем мой, ответ.

Sonic
20.07.2005, 12:10
CP1252 - насколько я помню, "кириллическая" (псевдо-) кодировка, используемая в бывших соц, странах ближней Европы (Сербия, Македония, etc).
Соответственно, импортные дистрибутивы относят туда же и нас (ну не понять западным людям наших проблем, в принципе)...

rw6hrm
22.07.2005, 09:46
Кроме Байта аппаратно был русифицирован Орель БК-08, позволял использовать и большие, и малые буковки, переключался как на постоянное введение шрифта (рус/лат), так и на временное (р/л, вставить одну буковку). Про кодировку не знаю, на неделе ломать буду, засим сообщу о результатах. Если, конечно, это кому-нить интересно будет.

Ne01eX
22.07.2005, 11:02
Если, конечно, это кому-нить интересно будет.

Интересно, интересно... :)

caro
22.07.2005, 13:02
Кроме Байта аппаратно был русифицирован Орель БК-08....Я когда то делал русификацию Basic для Кворумов и 48-х и 128-х.
Все исходники есть, приведу в порядок и выложу.
Естественно используется КОИ-7, других вариантов и тогда и сейчас
для русификации Basic не видел и не вижу.

Ne01eX
22.07.2005, 13:04
Естественно используется КОИ-7, других вариантов и тогда и сейчас
для русификации Basic не видел и не вижу.

Вот это прально. ;) Уважаю!

Ne01eX
25.01.2009, 17:43
че, если апнуть тему? ;-)

Barmaley_m
26.01.2009, 03:23
В ASC CP/M использовалась cp866. Я поддерживаю эту кодировку и считаю, что она самая удачная из 8-битных, потому что: 1) русские буквы идут в алфавитном порядке; 2) имеется псевдографика; 3) псевдографика находится на тех же местах, что и в латинской кодировке. Это обеспечивает совместимость программ, использующих графику.

Насчет ее происхождения - я еще в 1991м году в журнале "Компьютер" видел ее как "Альтернативная кодировка ГОСТа". Какого именно госта - к сожалению, не запомнил. В те времена билл гейтс на русский рынок еще не замахивался, а русификацию мс-дос делали местные программисты, кто как умел. Как на уровне биос, так и на уровне дос. Вон посмотрите такие компьютеры, как ЕС7978, МС1502...

В бейсике "Орель БК-08" использовалось, в общем-то, КОИ-7, во всяком случае стандарт был соблюден хотя бы в порядке следования русских букв.

Для переключения алфавита были "украдены" коды из UDG: R, S, T (один из них еще использовался под "короткую" табуляцию на 8 символов).

Рекомендую прежде, чем браться за русификацию бейсика, пощупать прошивку Орель БК-08, чтобы увидеть, на что такая русификация может быть похожа.

Ne01eX
27.01.2009, 07:53
ну у меня уже все русифицировано :)