Народ- а может быть под землю коммуникации будем проводить :)?

НГ.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А разве EPSON сам не позиционировал головку? Ему последовательность байт в буфер отдаешь он ее и печатал=)

С ним книжка шла со списком всех команд и примеров использования.

Вот именно. Там в книжке было описание ко всем ESC командам. А как головку позиционировать это уже задача ПО в самом принтере (да, приходилось и такое писать).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если так интересны детали, то там позиционирование правого края делается автоматом по какому-то счётчику, - не помню уж подробностей. Если хочется отпозиционироваться на каждой строке, то делать это нужно отдельно. При печати в одну точку значения особого не имеет, но при допечатывании со сдвигом в пол-точки становится важным.

 

Повторюсь: мы писали вывод графики. Для текста эти изыски без надобности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если так интересны детали, то там позиционирование правого края делается автоматом по какому-то счётчику, - не помню уж подробностей. Если хочется отпозиционироваться на каждой строке, то делать это нужно отдельно. При печати в одну точку значения особого не имеет, но при допечатывании со сдвигом в пол-точки становится важным.

 

Повторюсь: мы писали вывод графики. Для текста эти изыски без надобности.

ESC [K|L] a b DDDDD где b*256+a размер DDDDD. Если надо двигать головой на один ряд - просто ничего не печаталось. И счетчиков никаких там нет и не было (их получить с принтера было никак - интерфейс однонаправленный). Еще есть ESC $ - абсолютная позиция. Нужно если надо тупо подвинуть голову для последующей печати букв, так как если печатать графику - то будет видно неточность позиционирования головы, которая увеличивается с расстоянием от левого края (нуля).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня был квест с печатью графики (скриншоов на ДВК-3) на восьмибитном Эпсоне через семибитный интерфейс. :)

Ну 7 бит было практически у всех интерфейсов ДВК...

 

Каких костылей только не пилили в эпоху молодости компов. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если так интересны детали, то там позиционирование правого края делается автоматом по какому-то счётчику, - не помню уж подробностей. Если хочется отпозиционироваться на каждой строке, то делать это нужно отдельно. При печати в одну точку значения особого не имеет, но при допечатывании со сдвигом в пол-точки становится важным.

 

Повторюсь: мы писали вывод графики. Для текста эти изыски без надобности.

ESC [K|L] a b DDDDD где b*256+a размер DDDDD. Если надо двигать головой на один ряд - просто ничего не печаталось. И счетчиков никаких там нет и не было (их получить с принтера было никак - интерфейс однонаправленный).

Во-первых, он имеет биты статуса, дальше можно было бы не продолжать, но тонко намекну, что кроме базовых ESC-последовательностей там было ещё много чего интересного ;-)

 

Каких костылей только не пилили в эпоху молодости компов. :)

Новогодние посиделки старичков. Надо ещё где-то портвешка добыть и сырков "Дружба". Сырки я в продаже видел, а где искать портвейн?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Южнобережный массандра вполне. Метро. :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, он имеет биты статуса, дальше можно было бы не продолжать, но тонко намекну, что кроме базовых ESC-последовательностей там было ещё много чего интересного ;-)

Нету там ничего интересного. Стандартный ESC/P(P2). Я прошивку от десятка epson-ов дизасемблировал и дописывал для получения определенных свойств принтера. Ничего "недокументированного" я там не видел, акромя багов. Для citizen я получал вообще исходник прошивки с завода, с комментариями. Там тот же ESC/P, без особых дополнений.

Касаемо битов статуса - их там, ЕМНИП, 4 штуки : busy, ack, pe, err. (select обычно запаян жестко на "1"). Через какой сигнал принтер (морзянкой?) свои счетчики передавал ? С учетом того, что синхронизация данных там однонаправленная - от ПК к принтеру по strobe.

 

ЗЫ: vIv, может вы про принтер с Татуина ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЗЫ: vIv, может вы про принтер с Татуина ?

 

Враки, никаких новомодных матриц, только барабанные АЦПУ и пишмашинки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

А "стоп" надо было делать, ЕМНИП, для того что бы механика перещелкнула "крутилку катриджа".

 

vIv, про получение секретных кодов с принтера через 4 бита просветите все-таки ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Ага, "вот эти ребята". Поэтому после печати в прямом направлении и надо было догонять головку до концевика, а потом уже печатать на обратном ходе.

 

А "стоп" надо было делать, ЕМНИП, для того что бы механика перещелкнула "крутилку катриджа".

Нее... ты гонишь, картридж приводился от движка головки, ему точно пофигу. А смена направления вращения там из трёх шестерёнок, одна из которой на кулисе: головка попёрла в другую сторону, - кулиса перекатилась в противоположное положение, картридж тянется дальше в том же направлении. А вот для точного попадания на концевик и уверенного позиционирования надо было делать прогон до "-1" символа от края в нужном направлении, потом стоп (вот тут мне что-то смутно вспоминается, что надо было то ли специально выждать чуть, то ли там была отдельная команда "стоп и подождать") и только потом давать команду "прогон до конца",- чтобы инерция головки не сказывалась на точности отсчёта края механизма. Это было в какой-то шибко инженерной книжке EPSON в качестве рекомендации по повышению качества печати.

 

vIv, про получение секретных кодов с принтера через 4 бита просветите все-таки ?

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

 

Слушай, ты спрашиваешь о том, что я кодил в школе. С тех пор я поменял несколько языков и накодил херову тонну железяк. Ну уж извини, - за давностью лет я не вспомню деталей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А "стоп" надо было делать, ЕМНИП, для того что бы механика перещелкнула "крутилку катриджа".

Нее... ты гонишь, картридж приводился от движка головки, ему точно пофигу. А смена направления вращения там из трёх шестерёнок, одна из которой на

А я про что ? Я могу путать с 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 принтера (японцы писали его на совесть). Так что слив зачситан :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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 принтера (японцы писали его на совесть). Так что слив зачситан :)

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

 

На сим закончим пятиминутку потенциальных пенсионеров?

 

Я тут школьную физру вспомнить решил и подарил себе на новый год утилизатор килокалорий:

fit.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я там выше писал, что мы кодили на уровне контроллера. Эти ваши BIOS прерывания помогали DOS-приложениям, а не "драйверам", а мы работали напрямую с портом.

vIv, лучше не пишите ничего. Я про IRQ писал - это аппаратное прерывание от контроллера, а не INT 17h (CD 17 в машкоде) - сервисное прерывание bios, которое помогало печатать. Время там надо было считать только в случае неприхода ack. В 286 это надо делать по счетчику таймерных прерываний (ловить и считать, или смотреть в системе).

 

Но что-то там с временами точно было, я почему-то это запомнил. Короче, не так там было всё просто, как ты писал "выплюнул эскейп-последовательности в порт - оно печатает". Надо было отслеживать состояние самого дрюкальника, что нас заставило вкорячивать в казалось бы простой код выплёвывания битовой матрицы по-строчно хренову тонну перепроверок состояния дрюкальника.
Тонна проверок это 4 бита, один из них всегда 1 если принтер включен и подключен, один связан с микриком на подаче бумаги, один - подтверждение того, что принтер скушал данные по strobe, и один - означал "принтеру плохо".

 

На сим закончим пятиминутку потенциальных пенсионеров?
Да, давайте. А то вы лажаете... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ- а может быть под землю коммуникации будем проводить :)?

 

thx...я плакал :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги поделились ссылкой.

День сисек на наге? :)

 

в соседней теме тоже: http://forum.nag.ru/forum/index.php?showtopic=81799&view=findpost&p=796312

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Каких костылей только не пилили в эпоху молодости компов. :)

Новогодние посиделки старичков. Надо ещё где-то портвешка добыть и сырков "Дружба". Сырки я в продаже видел, а где искать портвейн?

Хм, портвейн до сих пор умудрился ни разу не попробовать. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да я просто довольно равнодушен к крепким напиткам. Вот пиво люблю, но тоже в меру.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да я просто довольно равнодушен к крепким напиткам. Вот пиво люблю, но тоже в меру.

Мера — русская народная единица ёмкости для сыпучих тел, соответствовавшая приблизительно 1 пуду зерна; обычно приравнивалась к четверику (26,24 л)

http://ru.wikipedia.org/wiki/Мера

 

;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да я просто довольно равнодушен к крепким напиткам. Вот пиво люблю, но тоже в меру.

Мера — русская народная единица ёмкости для сыпучих тел, соответствовавшая приблизительно 1 пуду зерна; обычно приравнивалась к четверику (26,24 л)

http://ru.wikipedia.org/wiki/Мера

;)

Аналогично равнодушен к напиткам, уже сижу на домашнем вине, и пиве живом... К сожалению Меру не знаю- не влазиет ;)...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Живо себе представил....

На окнах морозные узоры, за окном минус 25, пришел домой после часовой прогулки....

А на столе борщ, рядом сало и чеснок, поодаль острые солёные огурчики и бочковые помидорчики, на второе картошечка с луком и селёдочкой...

 

И домашнее вино.

 

Ну вас, извращенцев, нафик....)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти