zoro Опубликовано 31 декабря, 2012 · Жалоба Народ- а может быть под землю коммуникации будем проводить :)? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bitbucket Опубликовано 31 декабря, 2012 · Жалоба А разве EPSON сам не позиционировал головку? Ему последовательность байт в буфер отдаешь он ее и печатал=) С ним книжка шла со списком всех команд и примеров использования. Вот именно. Там в книжке было описание ко всем ESC командам. А как головку позиционировать это уже задача ПО в самом принтере (да, приходилось и такое писать). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vIv Опубликовано 31 декабря, 2012 · Жалоба Если так интересны детали, то там позиционирование правого края делается автоматом по какому-то счётчику, - не помню уж подробностей. Если хочется отпозиционироваться на каждой строке, то делать это нужно отдельно. При печати в одну точку значения особого не имеет, но при допечатывании со сдвигом в пол-точки становится важным. Повторюсь: мы писали вывод графики. Для текста эти изыски без надобности. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bitbucket Опубликовано 31 декабря, 2012 · Жалоба Если так интересны детали, то там позиционирование правого края делается автоматом по какому-то счётчику, - не помню уж подробностей. Если хочется отпозиционироваться на каждой строке, то делать это нужно отдельно. При печати в одну точку значения особого не имеет, но при допечатывании со сдвигом в пол-точки становится важным. Повторюсь: мы писали вывод графики. Для текста эти изыски без надобности. ESC [K|L] a b DDDDD где b*256+a размер DDDDD. Если надо двигать головой на один ряд - просто ничего не печаталось. И счетчиков никаких там нет и не было (их получить с принтера было никак - интерфейс однонаправленный). Еще есть ESC $ - абсолютная позиция. Нужно если надо тупо подвинуть голову для последующей печати букв, так как если печатать графику - то будет видно неточность позиционирования головы, которая увеличивается с расстоянием от левого края (нуля). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
UglyAdmin Опубликовано 1 января, 2013 · Жалоба У меня был квест с печатью графики (скриншоов на ДВК-3) на восьмибитном Эпсоне через семибитный интерфейс. :) Ну 7 бит было практически у всех интерфейсов ДВК... Каких костылей только не пилили в эпоху молодости компов. :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vIv Опубликовано 1 января, 2013 · Жалоба Если так интересны детали, то там позиционирование правого края делается автоматом по какому-то счётчику, - не помню уж подробностей. Если хочется отпозиционироваться на каждой строке, то делать это нужно отдельно. При печати в одну точку значения особого не имеет, но при допечатывании со сдвигом в пол-точки становится важным. Повторюсь: мы писали вывод графики. Для текста эти изыски без надобности. ESC [K|L] a b DDDDD где b*256+a размер DDDDD. Если надо двигать головой на один ряд - просто ничего не печаталось. И счетчиков никаких там нет и не было (их получить с принтера было никак - интерфейс однонаправленный). Во-первых, он имеет биты статуса, дальше можно было бы не продолжать, но тонко намекну, что кроме базовых ESC-последовательностей там было ещё много чего интересного ;-) Каких костылей только не пилили в эпоху молодости компов. :) Новогодние посиделки старичков. Надо ещё где-то портвешка добыть и сырков "Дружба". Сырки я в продаже видел, а где искать портвейн? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Дятел Опубликовано 1 января, 2013 · Жалоба Южнобережный массандра вполне. Метро. :-) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bitbucket Опубликовано 1 января, 2013 · Жалоба Во-первых, он имеет биты статуса, дальше можно было бы не продолжать, но тонко намекну, что кроме базовых ESC-последовательностей там было ещё много чего интересного ;-)Нету там ничего интересного. Стандартный ESC/P(P2). Я прошивку от десятка epson-ов дизасемблировал и дописывал для получения определенных свойств принтера. Ничего "недокументированного" я там не видел, акромя багов. Для citizen я получал вообще исходник прошивки с завода, с комментариями. Там тот же ESC/P, без особых дополнений. Касаемо битов статуса - их там, ЕМНИП, 4 штуки : busy, ack, pe, err. (select обычно запаян жестко на "1"). Через какой сигнал принтер (морзянкой?) свои счетчики передавал ? С учетом того, что синхронизация данных там однонаправленная - от ПК к принтеру по strobe. ЗЫ: vIv, может вы про принтер с Татуина ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 1 января, 2013 · Жалоба ЗЫ: vIv, может вы про принтер с Татуина ? Враки, никаких новомодных матриц, только барабанные АЦПУ и пишмашинки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vIv Опубликовано 1 января, 2013 · Жалоба Ну тогда ты и вспоминай, зачем там надо было для обратного хода делать сначала стоп головки, потом вправо до упора, и только потом печать на обратом ходе. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bitbucket Опубликовано 1 января, 2013 · Жалоба Ну тогда ты и вспоминай, зачем там надо было для обратного хода делать сначала стоп головки, потом вправо до упора, и только потом печать на обратом ходе. Я про это уже писал - точность позиционирования зависит от положения головки и качества катриджа (ленту тянет голова, иногда с трудом). Если хотелось печатать на обратном ходе (с прямым так же) и с определенной точки - надо было голову до какого-то из краев перемещать (до концевика), и только потом позиционировать. Нужно было исключительно что бы в поля формы какого-то бланка попадать. А "стоп" надо было делать, ЕМНИП, для того что бы механика перещелкнула "крутилку катриджа". vIv, про получение секретных кодов с принтера через 4 бита просветите все-таки ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vIv Опубликовано 1 января, 2013 · Жалоба Ну тогда ты и вспоминай, зачем там надо было для обратного хода делать сначала стоп головки, потом вправо до упора, и только потом печать на обратом ходе. Я про это уже писал - точность позиционирования зависит от положения головки и качества катриджа (ленту тянет голова, иногда с трудом). Если хотелось печатать на обратном ходе (с прямым так же) и с определенной точки - надо было голову до какого-то из краев перемещать (до концевика), и только потом позиционировать. Нужно было исключительно что бы в поля формы какого-то бланка попадать. Ага, "вот эти ребята". Поэтому после печати в прямом направлении и надо было догонять головку до концевика, а потом уже печатать на обратном ходе. А "стоп" надо было делать, ЕМНИП, для того что бы механика перещелкнула "крутилку катриджа". Нее... ты гонишь, картридж приводился от движка головки, ему точно пофигу. А смена направления вращения там из трёх шестерёнок, одна из которой на кулисе: головка попёрла в другую сторону, - кулиса перекатилась в противоположное положение, картридж тянется дальше в том же направлении. А вот для точного попадания на концевик и уверенного позиционирования надо было делать прогон до "-1" символа от края в нужном направлении, потом стоп (вот тут мне что-то смутно вспоминается, что надо было то ли специально выждать чуть, то ли там была отдельная команда "стоп и подождать") и только потом давать команду "прогон до конца",- чтобы инерция головки не сказывалась на точности отсчёта края механизма. Это было в какой-то шибко инженерной книжке EPSON в качестве рекомендации по повышению качества печати. vIv, про получение секретных кодов с принтера через 4 бита просветите все-таки ? Да не помню я уж, это ж в прошлом детстве было. Но там, кажется, готовность принера к печати была. Для нас на 286-х это внезапно стало актуальным, - мы иногда выплёвывали быстрее, чем он печатал. Слушай, ты спрашиваешь о том, что я кодил в школе. С тех пор я поменял несколько языков и накодил херову тонну железяк. Ну уж извини, - за давностью лет я не вспомню деталей. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bitbucket Опубликовано 1 января, 2013 · Жалоба А "стоп" надо было делать, ЕМНИП, для того что бы механика перещелкнула "крутилку катриджа". Нее... ты гонишь, картридж приводился от движка головки, ему точно пофигу. А смена направления вращения там из трёх шестерёнок, одна из которой на А я про что ? Я могу путать с star nx - в каком то принтере надо было ждать, что бы пересчелкнулось. При больших объемах печати текста с большим количеством позиционирований (если сильно головой мотать и мало печатать) оно было актуально. vIv, про получение секретных кодов с принтера через 4 бита просветите все-таки ? Да не помню я уж, это ж в прошлом детстве было. Но там, кажется, готовность принера к печати была. Для нас на 286-х это внезапно стало актуальным, - мы иногда выплёвывали быстрее, чем он печатал. В 286 стояла уже "умная" микросхема, которая по проглатыванию принтером очередного байта (бит ack в статусе) делала прерывание (irq 7, ЕМНИП, для первого порта). В таком (правильном) режиме выплевывание быстрее просто не получится. Да, в тупом режиме полинга, без отслеживания состояния ack бита перелив мог случаться, но это уже проблема кривого кода. Но никакие счетчики с принтера получать не надо было, что бы голову правильно поставить. Слушай, ты спрашиваешь о том, что я кодил в школе. С тех пор я поменял несколько языков и накодил херову тонну железяк. Ну уж извини, - за давностью лет я не вспомню деталей. Ну так тут http://forum.nag.ru/forum/index.php?showtopic=80745&view=findpost&p=791913 не надо было про счетчики писать. Многие здесь на форуме знают и помнят как устроен и работает матричный принтер (jab даже знает про АЦПУ). И я ни разу не поверю что ты, в школе, мог найти скрытые возможности в firmware принтера (японцы писали его на совесть). Так что слив зачситан :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vIv Опубликовано 1 января, 2013 · Жалоба vIv, про получение секретных кодов с принтера через 4 бита просветите все-таки ? Да не помню я уж, это ж в прошлом детстве было. Но там, кажется, готовность принера к печати была. Для нас на 286-х это внезапно стало актуальным, - мы иногда выплёвывали быстрее, чем он печатал. В 286 стояла уже "умная" микросхема, которая по проглатыванию принтером очередного байта (бит ack в статусе) делала прерывание (irq 7, ЕМНИП, для первого порта). В таком (правильном) режиме выплевывание быстрее просто не получится. Да, в тупом режиме полинга, без отслеживания состояния ack бита перелив мог случаться, но это уже проблема кривого кода. Но никакие счетчики с принтера получать не надо было, что бы голову правильно поставить. Я там выше писал, что мы кодили на уровне железяки. Эти ваши BIOS прерывания помогали DOS-приложениям, а не "драйверам", а мы работали напрямую с портом. Слушай, ты спрашиваешь о том, что я кодил в школе. С тех пор я поменял несколько языков и накодил херову тонну железяк. Ну уж извини, - за давностью лет я не вспомню деталей. Ну так тут http://forum.nag.ru/forum/index.php?showtopic=80745&view=findpost&p=791913 не надо было про счетчики писать. Многие здесь на форуме знают и помнят как устроен и работает матричный принтер (jab даже знает про АЦПУ). И я ни разу не поверю что ты, в школе, мог найти скрытые возможности в firmware принтера (японцы писали его на совесть). Так что слив зачситан :) Возьми с полки пирожок. Но что-то там с временами точно было, я почему-то это запомнил. Короче, не так там было всё просто, как ты писал "выплюнул эскейп-последовательности в порт - оно печатает". Надо было отслеживать состояние самого дрюкальника, что нас заставило вкорячивать в казалось бы простой код выплёвывания битовой матрицы по-строчно хренову тонну перепроверок состояния дрюкальника. На сим закончим пятиминутку потенциальных пенсионеров? Я тут школьную физру вспомнить решил и подарил себе на новый год утилизатор килокалорий: Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bitbucket Опубликовано 1 января, 2013 · Жалоба Я там выше писал, что мы кодили на уровне контроллера. Эти ваши BIOS прерывания помогали DOS-приложениям, а не "драйверам", а мы работали напрямую с портом.vIv, лучше не пишите ничего. Я про IRQ писал - это аппаратное прерывание от контроллера, а не INT 17h (CD 17 в машкоде) - сервисное прерывание bios, которое помогало печатать. Время там надо было считать только в случае неприхода ack. В 286 это надо делать по счетчику таймерных прерываний (ловить и считать, или смотреть в системе). Но что-то там с временами точно было, я почему-то это запомнил. Короче, не так там было всё просто, как ты писал "выплюнул эскейп-последовательности в порт - оно печатает". Надо было отслеживать состояние самого дрюкальника, что нас заставило вкорячивать в казалось бы простой код выплёвывания битовой матрицы по-строчно хренову тонну перепроверок состояния дрюкальника.Тонна проверок это 4 бита, один из них всегда 1 если принтер включен и подключен, один связан с микриком на подаче бумаги, один - подтверждение того, что принтер скушал данные по strobe, и один - означал "принтеру плохо". На сим закончим пятиминутку потенциальных пенсионеров?Да, давайте. А то вы лажаете... :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
eLLIk1n Опубликовано 14 января, 2013 · Жалоба Народ- а может быть под землю коммуникации будем проводить :)? thx...я плакал :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stas_k Опубликовано 14 января, 2013 · Жалоба Коллеги поделились ссылкой. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DelSt Опубликовано 14 января, 2013 · Жалоба Коллеги поделились ссылкой. День сисек на наге? :) в соседней теме тоже: http://forum.nag.ru/forum/index.php?showtopic=81799&view=findpost&p=796312 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Дятел Опубликовано 14 января, 2013 · Жалоба косяком пошли ))) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
UglyAdmin Опубликовано 14 января, 2013 · Жалоба Каких костылей только не пилили в эпоху молодости компов. :) Новогодние посиделки старичков. Надо ещё где-то портвешка добыть и сырков "Дружба". Сырки я в продаже видел, а где искать портвейн? Хм, портвейн до сих пор умудрился ни разу не попробовать. :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Дятел Опубликовано 14 января, 2013 · Жалоба Слабак! ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
UglyAdmin Опубликовано 14 января, 2013 · Жалоба Да я просто довольно равнодушен к крепким напиткам. Вот пиво люблю, но тоже в меру. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DelSt Опубликовано 14 января, 2013 · Жалоба Да я просто довольно равнодушен к крепким напиткам. Вот пиво люблю, но тоже в меру. Мера — русская народная единица ёмкости для сыпучих тел, соответствовавшая приблизительно 1 пуду зерна; обычно приравнивалась к четверику (26,24 л) http://ru.wikipedia.org/wiki/Мера ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zoro Опубликовано 14 января, 2013 · Жалоба Да я просто довольно равнодушен к крепким напиткам. Вот пиво люблю, но тоже в меру. Мера — русская народная единица ёмкости для сыпучих тел, соответствовавшая приблизительно 1 пуду зерна; обычно приравнивалась к четверику (26,24 л) http://ru.wikipedia.org/wiki/Мера ;) Аналогично равнодушен к напиткам, уже сижу на домашнем вине, и пиве живом... К сожалению Меру не знаю- не влазиет ;)... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Дятел Опубликовано 14 января, 2013 · Жалоба Живо себе представил.... На окнах морозные узоры, за окном минус 25, пришел домой после часовой прогулки.... А на столе борщ, рядом сало и чеснок, поодаль острые солёные огурчики и бочковые помидорчики, на второе картошечка с луком и селёдочкой... И домашнее вино. Ну вас, извращенцев, нафик....))) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...