Jump to content

Приколы, юмор


Recommended Posts

Posted

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

НГ.gif

  • Replies 848
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted

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

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

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

Posted

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

 

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

Posted

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

 

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

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

Posted

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

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

 

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

Posted

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

 

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

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

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

 

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

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

Posted

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

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

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

 

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

Posted

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

 

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

Posted

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

Posted

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

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

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

 

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

Posted

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

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

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

 

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

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

 

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

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

 

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

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

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

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

Posted
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

Posted

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

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

 

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

 

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

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

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

Posted

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

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

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

 

;)

Posted

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

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

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

;)

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

Posted

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

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

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

 

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

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.