FR2525788A1 - Procede et appareil de lecture d'une etiquette a code a barres - Google Patents

Procede et appareil de lecture d'une etiquette a code a barres Download PDF

Info

Publication number
FR2525788A1
FR2525788A1 FR8219388A FR8219388A FR2525788A1 FR 2525788 A1 FR2525788 A1 FR 2525788A1 FR 8219388 A FR8219388 A FR 8219388A FR 8219388 A FR8219388 A FR 8219388A FR 2525788 A1 FR2525788 A1 FR 2525788A1
Authority
FR
France
Prior art keywords
durations
character
bars
bar code
spaces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8219388A
Other languages
English (en)
Other versions
FR2525788B1 (fr
Inventor
Robert E Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Burr Brown Research Corp
Original Assignee
Burr Brown Research Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burr Brown Research Corp filed Critical Burr Brown Research Corp
Publication of FR2525788A1 publication Critical patent/FR2525788A1/fr
Application granted granted Critical
Publication of FR2525788B1 publication Critical patent/FR2525788B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/01Details
    • G06K7/016Synchronisation of sensing process
    • G06K7/0166Synchronisation of sensing process by means of clock-signals derived from the code marks, e.g. self-clocking code

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Printers Characterized By Their Purpose (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

L'INVENTION CONCERNE UN PROCEDE ET UN APPAREIL DE LECTURE D'UNE ETIQUETTE A CODE A BARRES. UN SIGNAL ANALOGIQUE, PRODUIT PAR UN CRAYON-LECTEUR 7 DEPLACE AU-DESSUS D'UNE ETIQUETTE 3 PRESENTANT UN CODE A BARRES QUI COMPREND PLUSIEURS CARACTERES 5, EST AMPLIFIE ET MIS EN FORME PAR UN CIRCUIT 11 DE CONDITIONNEMENT ET ENSUITE TRANSMIS A UN CIRCUIT 15 A HORLOGE QUI EST CONNECTE A UN MICROPROCESSEUR 21 ET A D'AUTRES ELEMENTS DE TRAITEMENT DE DONNEES QUI TRAITENT LES SIGNAUX POUR EVITER TOUTES ERREURS DE LECTURE, MALGRE LES VARIATIONS DE LA VITESSE DE BALAYAGE ET LES MANQUES DE NETTETE DES DELIMITATIONS ENTRE LES BARRES ET LES ESPACES DES CARACTERES 5. DOMAINE D'APPLICATION : LECTURE D'ETIQUETTES A CODE A BARRES.

Description

L'invention concerne un appareil et un procédé perfectionnés pour lire
avec précision des étiquettes à code à barres du type comprenant des barres sombres qui alternent avec des espaces clairs de diverses largeurs pour représenter une information numérique et alphanumé- rique. Divers "codes à barres", qui comprennent des barres sombres allongées alternant avec des espaces clairs pour représenter des codes numériques et alphanumériques sont couramment utilisés Par exemple, un code universel
de produits ("Universal Product Code", UPC) est communé-
ment utilisé sur des articles d'épicerie Des appareils appelés 'lecteurs de code à barres" sont utilisés pour lire et décoder de telles étiquettes à oede à barres En
général, un lecteur de code à barres comprend un crayon-
lecteur ayant une diode électroluminescente qui éclaire par une ouverture située à une extrémité du crayon Ce dernier est tenu verticalement par rapport à l'étiquette
à code à barres et il est déplacé rapidement d'une extré-
mité à l'autre de l'étiquette Ceci est appelé un "balayage" de l'étiquette Un dispositif photosensible tel qu'un phototransistor reçoit la lumière émise par la diode électroluminescente et réfléchie par les espaces
clairs compris entre les barres sombres de l'étiquette.
Le crayon-lecteur renferme généralement un amplificateur à étage unique qui amplifie le signal de sortie produit par le dispositif photosensible Ce signal, appelé "signal de crayon-lecteur" ou "signal analogique", possède
généralement une amplitude d'environ 200 à 300 millivolts.
Ce signal est conduit au moyen d'un câble flexible, partant de l'extrémité supérieure du crayon-lecteur, à un "circuit
de conditionnement du crayon-lecteur" qui amplifie davan-
tage et "met en forme" le signal du crayon pour produire
un signal de "données brutes" comprenant une suite d'impul-
sions séparées par des intervalles A une vitesse de balayage constante, les largeurs des impulsions et des intervalles correspondent avec précision aux largeurs des barres et des espaces Dans certains appareils connus, par exemple un appareil commercialisé par la firme Interface Mechanisms, Inc (désignée ci-après Intermech, Inc) de Lynnwood, Washington, EUA, le signal produit par le circuit de conditionnement du crayon-lecteur est appliqué à l'entrée d'un système à microprocesseur qui exécute des algorithmes pour convertir le signal de "données brutes" en nombres binaires, chacun de ces nombres binaires correspondant à chaque "caractère"e l'étiquette à code à barres, et chaque bit ayant un état lc 3 gqle (soit un "un", soit un "zéro") qui correspond à la largeur d'une barre ou d'un espace de l'étiquette à code à barres Une fois que les nombres binaires sont obtenus, les caractères qu'ils représentent peuvent être obtenus automatiquement en référence à une
table de consultation.
Les lecteurs de code à barres connus jusqu'à présent ne sont pas aussi précis qu'on le souhaiterait, car ils ne parviennent pas à lire avec précision certaines étiquettes à code à barres Un certain nombre de facteurs sont à l'origine des manques de précision des lecteurs de code à barres Le facteur le plus important, dans le cas de crayons tenus à la main, est la variation de la vitesse de balayage du crayon lorsque ce dernier est déplacé d'une extrémité à l'autre de l'étiquette à code à barres Un utilisateur augmente généralement par inadvertance la vitesbe de déplacement du crayon par rapport à l'étiquette à code à barres lorsqu'il surmonte l'inertie de son bras et celle du crayon lui-même pendant le balayage La vitesse du crayon à la fin du balayage peut souvent être supérieure de 50 % à celle existant au commencement du
balayage d'une étiquette particulière à code à barres.
Un autre facteur conduisant à une difficulté et à un manque de précision dans la conversion des données brutes précitées en nombres binaires représentant les caractères de l'étiquette à code à barres balayée est le fait que, souvent, la délimitation de couleur entre un espace de
couleur claire d'un caractère et une barre sombre adja-
cente de ce caractère n'est pas nette, mais relativement progressive Un autre facteur qui diminue la précision d'un lecteur de code à barres est la présence de petites erreurs de phase dans le circuit de conditionnement du crayon lorsque le signal analogique de niveau bas est amplifié et mis en forme pour atteindre des niveaux logi- ques normalisés Les meilleurs appareils de lecture à crayon de l'art antérieur sont incapables de lire avec précision des étiquettes à code à barres d'une mauvaise qualité "d'impression", qui produit des transitions floues entre les espaces et les barres, ou bien dans le cas o l'utilisateur ne maintient pas une vitesse de balayage constante du crayon Par conséquent, il existe un besoin non satisfait en un appareil et un procédé perfectionnés,
plus fiables et plus précis de lecture de codes à barres.
L'invention a donc pour objet un appareil et un procédé perfectionnés de lecture de codes à barres, moins sensibles aux imperfections d'impression des étiquettes à code à barres que les appareils et les procédés antérieurs, et moins sensibles, également, aux variations de vitesse du crayon pendant le balayage des étiquettes à code à barres. L'invention a pour autre objet un appareil et un procédé très précis et très fiables de lecture de code
a barres.
Brièvement décrite, l'invention concerne un appa-
reil et un procédé de lecture d'une étiquette à code à barres qui utilisent un crayon-lecteur ou un dispositif photosensible pour balayer l'étiquette à code à barres et produire un signal analogique représentatif de quantités de lumière réfléchies par des barres et des espaces de l'étiquette à code à barres, amplifient et mettent en forme le signal analogique pour produire un signal de données brutes, mesurent les durées des impulsions et des intervalles entre les impulsions sur au moins une partie de l'étiquette à code à barres, produisent et mémorisent des nombres de durées numériques représentatifs de ces durées, respectivement, calculent un nombre de
référence, comparent chacun des nombres de durées numéri-
ques d'une partie prédéterminée de l'étiquette à code à barres au nombre de référence, produisent un nombre binaire ayant des bits qui correspondent respectivement aux barres et aux espaces de la partie prédéterminée, chaque-bit étant un "un" si son nombre-de durées numériques
correspondant est supérieur au nombre de référence, déter-
minent si le nombre binaire est acceptable conformément à un critère prédéterminé, ajustent le premier nombre de référence si le nombre binaire n'est pas acceptable, et recomparent les nombres de durées numériques aux nombres de référence ajustés et déterminent si le nouveau nombre
binaire résultant est acceptable Dans la forme de réalisa-
tion décrite de l'invention, les signaux analogiques sont produits par un crayon-lecteur classique de code à barres et le
signal de données brutes est produit par un circuit classi-
que de conditionnement du crayon Le signal de données
brutes est appliqué à l'entrée d'un système à microproces-
seur qui détecte des transitions dans le signal de données brutes, mesure les durées des impulsions et des intervalles du signal de données brutes, et produit et mémorise des nombres de durées numériques correspondants Le système à microprocesseur calcule un nombre de référence pour un
premier caractère de l'étiquette à code à barres en divi-
sant la somme des nombres de durées numériques du premier caractère par huit (en effectuant une simple opération de décalage binaire triple) afin de placer une valeur initiale du nombre de référence à peu près à midistance entre un
nombre de durées numériques inférieur "typique", représen-
tant un "zéro" et un nombre de durées numériques supérieur "typique"représentant un "un" à la vitesse à laquelle le premier caractère a été balayé Tous les nombres de durées numériques du premier caractère sont ensuite comparés au nombre de référence et reçoivent la valeur "zéro" logique
ou "un" logique, suivant qu'ils sont inférieurs ou supé-
rieurs au nombre de référence, afin de produire le nombre binaire qui représente la suite de "uns" et "zéros" logiques représentée par le premier caractère de l'étiquette à code
à barres Dans la forme de réalisation décrite de l'inven-
tion, l'étiquette à code à barres est une étiquette à code à barres "CODE 39 ", qui exige que chaque caractère possède exactement trois "uns" logiques Le système à microproces-
seur détermine si le premier nombre binaire comprend exac-
tement trois "uns" logiques, et si tel est le cas, il se réfère alors à une table de consultation mémorisée pour déterminer le premier caractère Si le premier nombre binaire possède plus de trois "uns" logiques, le système à microprocesseur augmente le premier nombre de référence de 6,25 % en effectuant une simple opération de translation binaire à division par seize, puis il recompare les nombres de durées numériques du premier caractère au nombre de référence ajusté Le système à microprocesseur produit ensuite une nouvelle valeur du premier nombre binaire et il détermine si la nouvelle valeur du premier nombre
binaire contient à présent exactement trois "uns" logiques.
Le système à microprocesseur répète ce processus plusieurs fois, si cela est nécessaire, pour tenter d'obtenir une valeur du premier nombre binaire qui contienne exactement trois "uns" logiques Si la valeur initiale du premier nombre binaire contient moins de trois "uns" binaires, le système à microprocesseur diminue la valeur initiale du nombre de référence de 6,25 %, recompare les nombres de durées numériques du premier caractère à la valeur ajustée du premier nombre de référence et détermine si la valeur résultante du premier nombre binaire contient trois "uns" logiques et, si cela est nécessaire, répète ce processus pour tenter de nouveau de trouver une valeur acceptable du premier nombre binaire Si aucune valeur acceptable du premier nombre binaire n'a été obtenue après modification de la valeur du premier nombre de référence d'un total d'environ 30 %, le système à microprocesseur détermine qu'il est impossible de lire le premier caractère Dans la forme de réalisation décrite de l'invention, un nombre de référence séparé est calculé et modifié, si cela est nécessaire, pour chaque caractère de l'étiquette à code à barres afin de minimiser l'effet des variations de la vitesse de balayage du crayon-lecteur, des imperfections "d'impression" de l'étiquette à code à barres, et des erreurs de phase introduites dans le circuit de condition- nement du crayon-lecteur qui produit le signal de données brutes en réponse au signal analogique Une "fenêtre de caractère", qui encadre un seul caractère à la fois de l'étiquette à code i barres, est utilisée pour éliminer
les effets de signacx parasites produits par le crayon-
lecteur à des instantes autres que pendant le balayage d'un
caractère de l'étiquette à code à barres.
L'invention sera dcrite plus en détail en regard des dessins annexés à titre d'exemple nullement limitatif et sur lesquels: les figures l A et l E montrent des éléments de code à barres et des caractères et elles aident à la compréhension de l'invention; les figures 2 A et 2 B représentent ensemble un schéma simplifié d'une forme de réalisation de la présente invention; la figure 3 A est un schéma d'un caractère en code à barres typique; la figure 3 B représente la forme d'onde d'un signal de sortie de crayon-lecteur produit en réponse au balayage du caractère montré surla figure 3 A; la figure 3 C illustre un signal de "données brutes" produit par un circuit de conditionnement de
crayon-lecteur en réponse au signal de sortie du crayon-
lecteur de la figure 3 B; et - la figure 4 est un organigramme du programme exécuté par un microprocesseur faisant partie du schéma représenté sur la figure 2 A. Un code à barres communément utilisé, appelé "Code 39 ", est indiqué à titre d'exemple pour faciliter
la description de la présente invention La figure l A
représente à échelle agrandie le caractère " 6 " du jeu de caractères en Code 39 D'autres caractères du jeu de
caractères du Code 39 sont donnés dans l'annexe 1 jointe.
Chaque caractère du code à barres appelé "Code 39 " est
constitué de neuf "éléments" Les neuf éléments compren-
nent cinq "barres", par exemple les barres 51, 53, 55, 57 et 59 du caractère 50 montré sur la figure 1 A Les cinq barres d'un caractère sont séparées respectivement par quatre "espaces" tels que les espaces 52, 54, 56 et 58 du caractère 50 La largeur de chaque élément représente sa valeur binaire Une barre étroite ou un espace étroit représente un "zéro" binaire, et une barre large ou un
espace large représente un "un" binaire.
Sur la figure 1 B, les transitions ou délimita-
tions progressives 63 et 64 entre les barres 60 et 62, respectivement, et l'espace 61 illustrent les problèmes de délimitation mentionnés précédemment, qui provoquent
souvent une mauvaise lecture, par les dispositifs anté-
rieurs de lecture de code à barres, d'étiquettes à code
à barres imprimées ou reproduites de façon imparfaite.
Chaque élément large, qu'il s'agisse d'une barre ou d'un espace, possède une largeur égale à 2,2 fois celle de tout élément étroit (qui peut évidemment être une barre
ou un espace).
Compte tenu de ce qui précède, il convient à pré-
sent de considérer les figures 2 A et 2 B pour décrire la structure de l'appareil 1 de lecture de code à barres, figures sur lesquelles la référence numérique 3 désigne une étiquette à code à barres qui comprend un caractère de "départ" et plusieurs caractères en code à barres, indiqués globalement par la référence numérique 5 La référence numérique 7 désigne un crayon-lecteur tenu à la main, qu'un utilisateur déplace (par exemple) dans le sens
indiqué par la flèche 8 de manière que l'extrémité infé-
rieure du crayon 7 soit adjacente à une étiquette 3 en code à barres Une diode électroluminescente, un dispositif photosensible classique et un amplificateur, contenus dans le crayon 7, coopèrent pour produire un signal analogique de crayon sur un conducteur flexible 9 Le conducteur 9
est relié à une entrée d'un circuit classique 11 de condi-
tionnement du crayon-lecteur Le crayon 7 et un système, comprenant le circuit 11 de conditionnement du crayon, sont bien connus de l'homme de l'art et sont disponibles comme composants d'un appareil de lecture de code à barres commercialisé,par exemple, par la firme Intermech, Inc. La sortie du circuit Il de conditionnement du crayon-lecteur est connectée à l'entrée CB 2 d'un circuit d'horloge 15 se présentant sous la forme d'un dispositif périphérique "Synertek 6522 A" qui comprend une horloge et qui peut détecter les transitions du signal de données
brutes présent sur un conducteur 13 Le circuit périphéri-
que 15 produit un signal d'interruption à son entrée IRQ vers le microprocesseur 21 qui se présente sous la forme d'un microprocesseur "Synertek 6502 A" Les bornes du bus
de données du microprocesseur 21 et de la puce périphéri-
que 15 sont connectées aux huit conducteurs du bus de
données indiqué par la référence numérique 19.
Une mémoire morte 29, qui se présente sous la forme d'un circuit intégré de mémoire morte du type 2732,
est connectée, par ses bornes de bus de données, aux conduc-
teurs correspondants du bus de données 19 Une mémoire vive
31, qui se présente sous la forme d'une mémoire vive à cir-
cuit intégré du type 2016 P, est connectée, par ses bornes de bus do données, aux conducteurs correspondants du bus de données 19 Les conducteurs d'un bus d'adresses 25 sont
connectés aux sorties d'adresses correspondantes du micro-
processeur 21 et aux entrées d'adresses correspondantes de la mémoire morte 29 et de la mémoire vive 31 Une puce à
décodeur 33, qui peut se présenter sous la forme d'un cir-
cuit du type 74 L 542, comporte trois entrées d'adresses connectées aux sorties d'adresses du microprocesseur 21 et qui sont décodées pour générer des signaux d'entrée de sélection de puces demandés par la puce périphérique 15, la mémoire morte 29, la mémoire vive 31 et un circuit de bascule 35 Ce dernier peut se présenter sous la forme
d'un circuit intégré du type 74 L 5244.
Huit interrupteurs manuels 39 sont reliés aux
entrées correspondantes du circuit de bascule 35 pour per-
mettre à l'utilisateur de sélectionner manuellement, parmi plusieurs types différents de codes à barres, celui pour la lecture duquel l'appareil 1 est réglé Les sorties du
circuit de bascule 35 peuvent être lues par le micropro-
cesseur 21, car elles sont connectées aux conducteurs
correspondants du bus de données 19 Les accès 17 d'entrée-
sortie de la puce périphérique 15 permettent à l'appareil 1 des figures 2 A et 2 B de communiquer avec, par exemple, un
ordinateur central OC.
Le caractère de "départ" du code à barres "Code 39 " est illustré sur la figure 3 A La figure 3 B montre le signal analogique de sortie du crayonlecteur, apparaissant sur le conducteur 9 de la figure 2 A à la suite du balayage du caractère de départ de la figure 3 A, de la
gauche vers la droite Les "zéros" et "uns" indiqués au-
dessus des barres et des espaces respectifs de la figure 3 A désignent les états logiques représentés par ces barres et
espaces respectifs, ainsi qu'on peut le vérifier en se réfé-
rant à la table du Code 39 donnée dans l'annexe 1 Le cir-
cuit 11 de conditionnement du crayon-lecteur convertit le signal analogique de 200 millivolts, indiqué sur la figure 3 B, en une suite d'impulsions de niveau logique normalisé, indiquées sur la figure 3 C, dans laquelle les "zéros" et "uns" logiques de la figure 3 A sont répétés en alignement
avec les impulsions et les espaces entre impulsions aux-
quels ils correspondent respectivement.
Il convient de noter que l'échelle des temps (t) indiquée sur les figures 3 B et 3 C n'est pas nécessairement linéaire et que, en fait, elle n'est linéaire que si l'utilisateur balaie le caractère de départ de la figure 3 A à une vitesse exactement constante Toutes variations de la
vitesse de balayage entraînent des variations correspon-
dantes de l'échelle des temps des figures 3 B et 3 C Comme mentionné précédemment, un utilisateur augmente notablement,
en temps normal, la vitesse de déplacement du crayon-
lecteur entre le bord avant et le bord arrière d'une éti-
quette à code à barres, simplement par suite du phénomène consistant à vaincre l'inertie de son propre bras Comme mentionné préeedemment, cette variation de la vitesse de balayage constitue l'un des facteurs importants qui limitent la précision et la fiabilité des lecteurs connus de codes
à barres.
Pour élimine les problèmes précités, dus aux variations de la vitesse du crayon-lecteur, aux retards de phase du circuit de con&itionnement du crayon-lecteur, et aux imperfections de L'imression de l'étiquette à code à barres, l'appareil 1 recueille et mémorise toutes les "données brutes" produites sur le c-s:-nducteur 13 à la suite
du balayage de la totalité de l'étiquette 5 à code à barres.
Les données brutes (se présentant sous la forme d'impulsions et d'intervalles qui les séparent) sontg en effet converties en mesures de temps entre les transitons apparaissant sur le conducteur 13 La puce périphérique 15 interrompt le
microprocesseur 21 à chaque fois qu'apparatt une transi-
tion dans le signal de données brutes présent sur le con-
ducteur 13, et le microprocesseur 21 lit le contenu d'une horloge (qui effectue un comptage à une vitesse constante)
de la puce périphérique 15 à la suite de chaque interrup-
tion Si l'horloge arrive à la fin de son comptage en
totalisant 53 millisecondes sans apparition d'une transi-
tion sur le conducteur 13, le microprocesseur 21 interprète ce fait comme étant la fin de l'étiquette à code à barres balayée par le crayon-lecteur 7 Lorsqu'une transition apparaît sur le conducteur 13 avant que l'horloge de la puce périphérique 15 ait fini de compter, l'horloge est remise à zéro et recommence son comptage pour mesurer la
durée de l'impulsion ou de l'intervalle suivant (qui repré-
sente une barre ou un espace) sur le conducteur 13.
Ces comptes, appelés comptes de durées numéri-
ques, et qui devraient idéalement être égaux à une pre-
mière valeur pour représenter un "un" logique et à une autre valeur pour représenter un "zéro" logique, varient considérablement en raison des variations visuelles
décrites ci-dessus de la vitesse de balayage.
Conformément à la présente invention, un appa-
reil i de lecture de code à barres tente de calculer une valeur initiale d'un "temps de référence" ou "compte de référence", qui est située à peu près à mi-distance entre
un compte de durées numériques supérieur typique, repré-
sentant un "un" et un compte de durées numériques infé-
rieur typique représentant un "zéro" dans un premier carac-
tère de l'étiquette à code à barres Chaque compte de durées numériques mémorisé représentant la durée de balayage d'une barre ou d'un espace de ce caractère est alors comparé à la valeur calculée initiale du compte de référence et est interprété comme un "zéro" logique si ce compte de durées numériques est inférieur au compte de référence, ou bien est interprété comme un "un" logique
si ce compte de durées numériques dépasse la valeur ini-
tiale du compte de référence calculé Le nombre binaire résultant représente alors, et correspond, sur la base d'un bit pour un élément, aux barres et espaces du premier
caractère si ce caractère a été lu avec précision.
Conformément à l'invention, le programme compte alors le nombre de "uns' logiques présents dans le nombre binaire ainsi obtenu par le présent caractère On peut rappeler à ce stade que, pour un caractère du Code 39, on doit avoir exactement trois "uns' logiques Conformément à l'invention, si le nombre des "uns" logiques obtenu est
inférieur à trois, la valeur initiale du compte de réfé-
rence est diminuée d'un petit pourcentage ( 6,25 %, qui est obtenu par une opération binaire de division par seize), puis la comparaison décrite ci-dessus des comptes de durées numériques du premier caractère est de nouveau effectuée, mais avec le compte de référence modifié ou ajusté Si la nouvelle valeur du nombre binaire précité contient le nombre correct de "uns" logiques (c'est-à-dire trois) pour le présent caractère, la donnée brute associée à ce
caractère semble avoir été convenablement interprétée.
Si l'on obtient moins de trois L'uns" logiques, la valeur présente du compte de référence du calculateur est de nouveau diminuée Ce processus est répété jusqu'à cinq fois, jusqu'à ce que l'on obtienne trois "uns" logiques.
Si, après un ajustement vers le haut du compte de réfé-
rence calculé initialement, cet ajustement pouvant attein-
dre environ 3 %, on n'a pas obtenu trois "uns" logiques
dans le nombre binaire indiqué ci-dessus, le microproces-
seur 21 suppose que le premier caractère ne peut être lu correctement. De façon similaire, si la comparaison initiale des neuf comptes de durées de balayage pour le présent caractère, avec la valeur calculée initiale du compte de référence, donne plus de trois "uns" logiques, le programme
élève automatiquement la valeur initiale du compte de réf 6-
rence calculé de la petite quantité ( 6,25 %), et il répète la comparaison des neuf comptes de durées numériques du premier caractère, avec le compte de référence ajusté et, si cela est nécessaire, il répète l'opération précédente jusqu'à ce que le nombre binaire produit à la suite des
comparaisons contienne exactement trois "uns" logiques.
Si l'on n'obtient pas trois "uns" logiques au moment o l'ajustement vers le bas du compte de référence calculé
devient à peu près égal à 30 % de sa valeur calculée initia-
lement, le programme exécuté par le microprocesseur 21
suppose qu'il est impossible de lire le premier caractère.
Dans le calcul décrit ci-dessus, une comparaison avec le compte de référence et, si cela est nécessaire, un
ajustement du compte de référence et une nouvelle comparai-
son des comptes de durées numériques avec le compte de référence ajusté pour chaque caractère de l'étiquette sont apparus compenser très efficacement les variations normales de la vitesse du crayon-lecteur pendant le balayage d'une
étiquette particulière à code à barres.
A ce stade, il convient de se référer à la figure 4 pour expliquer plus en détail comment le processus décrit ci-dessus est exécuté par l'appareil L'organigramme de la figure 4 est un organigramme fonctionnel du programme mentionné ci-dessus, exécuté par le microprocesseur 21 pour
convertir le signal de données brutes présent sur le conduc-
teur 13 en un code de "niveau élevé" représentant les carac-
tères individuels (groupes de barres et d'espaces) consti-
tuant une étiquette à code à barres balayée de façon satis-
faisante L'annexe 2 jointe contient le code permettant au microprocesseur 21, du type 6502 A, d'exécuter le programme
décrit en regard de la figure 4.
Comme représenté sur la figure 4, le programme commence à l'étape 100 de départ et il passe au bloc 101 dans lequel le microprocesseur 21 réagit à l'interruption produite sur son entrée IRQ par la puce périphérique 15,
en réponse à chaque transition apparaissant sur le conduc-
teur 13, puis lit le contenu présent de l'horloge interne de la puce périphérique 15 Le contenu présent constitue le compte de durées numériques représentant la largeur de l'impulsion au de l'intervalle apparaissant entre les deux
transitions les plus récentes du conducteur 13 Ce pro-
cessus se poursuit pour l'ensemble de l'étiquette à code à barres jusqu'à ce que l'horloge interne aboutisse à
53 millisecondes et génère un autre signal d'interruption.
A ce moment, le programme reconnaît que les comptes de durées numériques ont été collectés et stockés dans une
mémoire pour l'ensemble de l'étiquette à code à barres.
Le programme passe alors au bloc 102.
Dans le bloc 102, le programme calcule le compte
de référence précité pour le premier caractère balayé pré-
cédemment Pour simplifier la programmation, le programme divise par huit les comptes de balayage des neuf éléments
du présent caractère en effectuant simplement trois déca-
lages binaires vers la droite et en utilisant ce nombre comme valeur initiale du compte de référence Le programme passe ensuite au bloc 103 et il compare chacun des comptes de durées numériques mémorisés du premiercaractère au compte de référence calculé et, si le compte de durées
numériques lu précédemment est inférieur au compte de réfé-
rence, le programme lui donne une valeur logique "zéro"; si ce compte de durées numériques est supérieur au compte de référence, le programme lui donne une valeur logique "un" Le programme arrive ensuite à l'étape 104 de décision et il vérifie le nombre binaire résultant à neuf bits pour voir s'il cornient exactement trois "uns" (dans le cas d'une étiquette Code 39 de l'exemple décrit) Si la réponse à cette déterminat bey t affirmative, le programme passe
au bloc 108 et il 3 fe à une table mémorisée de consul-
tation contenant d' i' atclo ronnée dans l'annexe 1 pour déterminer la nature du pre-Ji r -aractère Le programme revient ensuite au bloc l 02 et cacule un temps de référence initial pour un deuxième cardactre de l'étiquette concernée
à code à barres.
Cependant, si la détermiination effectuée à l'étape 104 de décision est négative, le programme passe à l'étape de décision A l'étape 105 de décision, le programme détermine si plus de cinq ajustements ont été réalisés sur la valeur calculée initiale du compte de référence pour le premier caractère Si la réponse à cette détermination est négative, le programme passe à l'étape 106 de décision et il augmente la valeur présente du temps de référence pour le caractère présent si le nombre total de "uns" dans le nombre binaire précité à neuf bits est supérieur à trois,
ou bien il diminue la valeur présente du caractère de réfê-
rence si le nombre de "uns"' du nombre binaire à neuf bits est inférieur à trois Pour effectuer de façon économique le calcul indiqué à l'étape 106, le microprocesseur décale simplement la valeur binaire présente du compte de référence quatre fois vers la droite, ce qui équivaut à une division binaire par seize On obtient ainsi un nombre égal à 6,25 % de la valeur présente Cette valeur est additionnée à la valeur présente du compte de référence afin de l'ajuster vers le haut, ou bien elle est soustraite du compte de référence afin de l'ajuster vers le bas Le programme revient ensuite au bloc 103 et il compare de nouveau chacun des neuf nombres de durées numériques à la valeur à ajuster du compte de référence pour convertir ces comptes de durées numériques en uns ou zéros binaires Si cet ajustement du compte de référence a pour résultat une réponse affirmative à la décision de l'étape 104 (avant que cinq ajustements
aient été effectués sur le compte de référence pour le pré-
sent caractère), la tentative de lecture du présent carac-
tère a donné satisfaction et le programme passe à l'étape 108 et convertit le nombre binaire à neuf bits, le plus récemment obtenu dans le bloc 103, en un code de "niveau supérieur" représentant le premier caractère en se référant
à la table mémorisée de consultation mentionnée précédem-
ment. Cependant, si après cinq essais d'ajustements du compte de référence pour le caractère présent, le nombre correct de "uns" n'a pas été obtenu, la réponse à la détermination de l'étape 105 de décision est affirmative et le programme passe à l'étape 109 de décision par
laquelle il détermine si le caractère présent est le pre-
mier caractère de l'étiquette à code à barres Si la réponse à la détermination de l'étape 109 de décision est négative, le programme passe à l'étape 111, achève la séquence de décodage et positionne un indicateur indiquant une défaillance ou une impossibilité de lecture de la présente étiquette à code à barres Si la réponse à la détermination de l'étape 109 de décision est positive,
le programme passe à l'étape de décision 110.
Pour comprendre la fonction réalisée dans l'étape de décision 110, il est nécessaire de savoir que, lors de l'exécution du balayage d'un code à barres, il
existe toujours un risque de lecture de parasites au com-
mencement de l'étiquette à code à barres, car, souvent, le
fait de placer la pointe du crayon-lecteur contre l'éti-
quette peut provoquer une transition dans le niveau logi-
que présent sur le conducteur 13 En outre, la zone précé-
dant le commencement d'une étiquette à code à barres peut présenter une région étrangère suffisamment sombre pour faire apparaître sur le conducteur 13 une transition erronée du signal avant le balayage de l'étiquette à code à barres proprement dite La tentative par le programme
d'interpréter cette transition peut poser des difficultés.
Conformément à la présente invention, ce type de "parasi- tes" est supprimé par le déplacement d'une "fenêtre de caractère" qui n'encadre qu'un seul caractère à la fois "dans' la liste, précédemment collectée et mémorisée, de comptes de durées numériques jusqu'à ce que le caractère de départ soit trouvé Si le caractère de départ ne peut être trouvé, le fait que l'étiquette présente à code à barres n'est pas lue est indiqué par le programme Cette
situation correspond à une réponse positive à la détermina-
tion de l'étape de décision 110 Dans l'étape 107, le pro-
gramme exécute la fonction consistant à déplacer la
"fenêtre de caractère' précitée jusqu'à ce que le carac-
tère de départ soit trouvé.
L'appareil 1 de lecture de code à barres décrit ci-dessus a été essayé sur diverses étiquettes à code à barres de mauvaise qualité et il s'est révélé donner plus de 99 % de lectures précises L'appareil 1 de lecture de code à barres est apparu capable de lire avec précision
des étiquettes à code à barres "Code 39 " qui ont été repro-
duites trois ou quatre fois par xérographie à partir d'un
original, même lorsque le balayage exécuté par le crayon-
lecteur 7 est réalisé diagonalement sur l'étiquette.
Bien que seule une forme particulière de réalisa-
tion de l'invention ait été décrite, il est évident que l'invention s'applique à tous les appareils équivalents de lecture de code à barres qui calculent automatiquement un temps ou un compte de référence, puis qui ajustent automatiquement ce compte pour améliorer la conversion des données brutes, provenant du caractère précédent, en "uns" et "zéros" binaires, conformément aux critères
particuliers du code à barres balayé.
Les critères peuvent être constitués simplement par le fait que le nombre binaire produit à partir des données brutes soit trouvé dans une table de consultation de caractères valables Plutôt que de baserle calcul sur un compte de référence correspondant à un caractère complet de l'étiquette, on peut se baser sur toute autre partie ou groupe de barres et d'espaces. Il va de soi que de nombreuses modifications peuvent être apportées au procédé et à l'appareil décrits
et représentés sans sortir du cadre de l'invention.
ANNEXE 1
Jeu de caractères en Code 39 Caractère Barres Espaces
1 10001 0100
2 01001 0100
3 11000 0100
4 00101 0100
10100 0100
6 01100 0100
7 00011 0100
8 10010 0100
9 01010 0100
0 00110 0100
A 10001 0010
B 01001 0010
c 11000 0010
D 00101 0010
E 10100 0010
F 01100 0010
G 00011 0010
H 10010 0010
01010 0010
0010
*10001 0001
L 01001 0001
Caractère Barres Espaces m N P Q R S T U v w x y z Espace $ 1
11000 0001
00101 0001
10100 0001
01100 0001
00011 0001 '
10010 0001
01010 0001
0001
10001 1000
01001 1000
11000 1000
00101 1000
10100 1000
01100 1000
00011 1000
10010 1000
01010 1000
00000 1110
00000 1101
00000 1011
00000 0111
DEPART:
ARRET:
1000 1000 Ag N 31 ilitiq 'd V( 39 'dZL 39 M Vd yi 4 i:io 1 3 DVO z t foi tu zt la 11001 3 NSI bj 31 swâssy OO 9
1:,: , '
h: Il'.
1, ' , ' '
i- w %D s-bvw-lO ZS 564)94 JT Ml 3 D Uncs bilool MA lî Bl l 4 C" ce N) h) Ln X WON 3 oz d ON E 1 d ON ei d Off L 1 d ON d ON do N 1 doif c 1 d ON z 1 d ON 1 1 d ON O 1 aoyd aovwi 32 vnos te úb ze 1 W vouv a Nii t'b z jl)v d zo-,dyw-,Io Cs $ 6 dit #11 SNOIII Nidg Ob:)V 1 Co Co Il i ui C\j Ln cm i 11 A Cr O DEFINITIONS 14- 49:55 04-MAR-92 Pe GE LINE t ')Cq P 1 B? 53 34 PAGE
Z 4 PAGE ZERO VARIA 3 LES
2 DEFINE GENERAL MENORY
31 oina CNTLC -*fl TEMP FOR BAR COUNTER
32 0301 CNTHG
33 0002 DIRECT t DIRECTION OF THE READ 34 Oa O 3 li 011,4 TTO * *+l 4 IRO TIMER TINE OUT
36 0105 3 CODE; THE BAR CODE CONSISTS OFS
37 con 5 PARS *U*+l BARS AND
38 0006
39 0007 Bl T *-*+l; TEMP FOR TH 5 UURRENT 81 43 0008 ADJLDW *=*+l 9 REF TIME AD TFIENT LOW 4 t 0009 ADJHGH *=C:+l éREF TIME ADJUSTMENT HIGH MIES '- ;-NUX 8 ER_n F n NF 43 0008 INCPAS *-**l I REMENT COUNTER 44 conc DECPAS *=*+l D Cq EAENT COUNTER 4 i coni CHRNUM NUMBER OF CHRS IN MSG 8 UFFER
46 DODE MIST TIME FLAG -
1-f rq
49 DEFINE GENERAL REIST RS
-ODOF FLA -AEGI
I 0010 ***+l I:ODE ID SWITCH VALU
RG ISG STATUS FOR E BD
52 0011 MES *-*+l 53 001 ? TASTRG *-*+l t SELF TEST-STATUS F Oq E BD
CF BUFF ER TU R ECEIYE NEXT INPUT
0014 NXTOUT *-t*+ 1 9 OF NEXT SUFFER TO XM'IT 56 0015 XREG *M*+l 4 VALUE FOR X REGISTER :." il
EXPECTING DATA FLAG
-IGNORE-1 RO-FR Old-E-BD-P-L Ar, S Ffl TEST FLAG
DE ODE THE BARCODE FLAG
DECODE THE MAGSTRIPE FLAG
1-=> SUFFER IN USE
SEEN SENT TG E-BOARD YET)
POME T 2, HR,MTTT Ep TOE FeR NDI HT DRE FOR G U c RESERVED FOR'INDIRECTJU 4 ps
-TE MP-S TDRAGE FOR -PNT LOW+ 1.
TEMP STORAGE FOR PNTHGH+l çq PAGE
6 1 OEFINETFA
62 0016 EXPOPG *=*+l a 64 DOIR TESTFG *-**l 1 & 5 0019 p A Qc FG *=*+l 61 OOIA MAGSFG *-*+l 69 ooic BF 1 *lt*+l
69 0010 BF 2 *=*+I,
001 E BF 3 *-*+l 72 t O DEFINE Péîïiâî 73 t 74 00;F POINT *ni" 2 CO 1 TL j 76 ()023 PNTHGH *=*+i 77 0025 PNTS Wp *+ 73 0027 T 1 14 PNT*z*t 2 0029 AUúPNT er* L QA X" 41 TPT * *+l
M 5 OUFFPT 9-*+ 2
012) JMPADR *c,,;+z a 3 CQ 2 F 84 0030 s Avée Gli*z*+l t Ab DEFINE COUNTEIS-* 9 i 0031 SKOCNT *-*+l 8 - 003 ? CHRCNT *-*+l 00 0033 c cui T*-*+l r 1 CO 3 4 E VCNT Q 2 0036 SWPCNT *=*+l
93 0037 T 1 IIC NT
OAéR 2 F MESUS Kl PPE
H CT CO NTER
LOOP CO TER
REVERSE IMES OUNT
REVERSE IMES COUNT
TIME BUF ER COUNT
UîED TC IIORE MSG CHECKSUM AS
-M SAGE
U 1 i r%. Lf) CM Lfi Ci 14 e 49:58 04-MAR-82 PAGE
4 ACRO DEFINITIONS
Rq LIKIE ADOR 81 32 R 3 84 SOURCE IMAGE t INRI E;; PIIINT _ D Au Ttmc c Aur As N Mr i _; Mart, Itit-lirlpwtfli 14-,,,,,
- 1,
INDIRECT POINTER 9 RAW TIME SAVE
Nu 1 RECT PO 1 NTER* SWAP REGISTER
ME BUFFER POINTER
ntq PIAV %LIF Fr R POINTFR 00. r Ln Ln MACRO DEFINITIONS 11 t:50:02 04-MAR-82 PAGE Eq F LIME AO Dq 81 82 53 84 ' Sa Uq CE IMAGE
96 PAGE
99 îicî
0200 SWAP $ 0200 1 SWAPPING BUFFER
101 0400 1-BARCODE-TIMES- LDW
Io? obo 3 l IMHGH $ 0600; 8 ARCODE TIMES HIGH
104 003 A; CHARACTER SUFFER 4,0
IC 6 00 t 4 CHRBF 3 *=*+ 53 CHARACTER BUFFER 92 107 O On 9 CHR 3 F 4 *=*+ 5 CHARACTER BUFFER 93
109 8000 PORTS 1-WAND # M&GSTR IP EANRU-1
Ili 8001 PORTA $ 5001 E-BOARD 1/0 111 q OO 2 DDRB a $ 8002 sys DATA DIRECTION REG 8 Il? 8003 DDRA 58001 i SYS DATA DIRECTION REG A 113 8309 'e-TIMER-Z LATCH LOW, f WRLTE 114 ROOS TZCL $ 8008; TIMER 2 COUNTER LOW (RE Ab ONLY)
8009 TZCH $ 8009 1 TIMER 2 COUNTER HIGH
qf 115 8910 fl SACR $ 8008 1 SYS AUX CONTROL REGISTER
117 SOCC 3 PCA -SYSPER *-CON TR OL -REG 1 S TE
liq 81)MO FI Fq O SYS TNT FLAG REGISTER
119 800 E SIFR $ 800 E SYS INT ENABLE REGISTER
123 800 F APRTNH $ 300 F S PORT A;ITHOUT HANDSHAKE
122 2000 SWIYCH $ 2000 t CODE Id SWI'TCM Il 1- 1 7 1 - 1 1 ' L, i 1 1 i -,1 l 1, i c c e Co Ul cm LM
%IACRO DEFINITI-INS 14:50 '04 04-IMAR-82 PAGE 6
Fk R LINZ ADOR $ 1 92 33 '34
123 PAGE
I 24
12 5 127 GENERAL STARTUP AYO INITS It IZATION
129 O
START
131 FOOO os CLO POWER ON STARTUP
132 FOOI, A 2 FF -
133 F 003 9 A TXS t 141 TIALIZE'THE-STACK 134 FOC 4 A 9 01 LOA #soi 1 F 006 80 os 80 STA SACR t PA LATCH 9 SR DISABLE 9 Tz -r IME;t
136 F 009 A 9 00
137 FOQI 80 03 PO STA DORA
131 FOCE a P 02 80 STA DOQB PORT 8 IS ALL INPUTS Gil INITIALI ZrSUFFEZO P OINT ERS
141 NOTE CONTROI S'HOULD NEVER RETUAN NERE EXCEPT ON RE ET
1 412
143 F 011 20 74 F 5 JSR DUFINI
IXITL
146 9014 20 3 C FS i SR SETMEM 1 INITIALIZE GENERAL MEM LOCATIONS
147 F 017 20 87 FS JSR SETINT INITIALIZE FOR INTERRUPT HANDLING
14 q FOIA 8 CL 1 1 41
START OF YHE MAIN LOOP
L 1 -rinp 153 FOIS As 19 e Rg -f f TEf W 70 t 1 "fd-r W If 4 F 010 30 Il 1 8 RCODE MESSAGE 9
I 5 L E à
LDA MAGSFG F- t T, IS,-TI ME-TIL-DEC QD
157 FIJ 21 30 03 W, DECMAG 1 MAGSTRIPE MESSAGE.
159 F 023 4 C 18 FO im LOOP , j of j -,l -1 _l i i r.- Lri (M L(l t\j
MAC STRIPE DECCOE 14:50 '06 04-P AR-82 PAGE
LINC Af)'):t013 Z q 3l,4 suÀëE im AGE PAGE OMAG'S Tq IPE DECDD- -#
161 F 025
lbz F 026 EA lh 3 F 027 EA PIOP 164 Fn 2 il -NOP l
F 029 FA NOP
166 F 024 lA NOP
167 F' 73 FA NOP
16 i F - 4 ; CEA 16 q F 12 D FA NOP
FIZE EA NOP
171 F 02 F EA NOP
im j -I f, 'e-j '
: 1
vf- f
1 f - -I -
OC) fl 1 Ln Ln BAR CODE DECO De C 4- 14 AR-42PAGE FRI LIIE A 00 q 81 92 8 1 3 4 SOURCE im A'rî"'
17 ') PAGE s AitCODE o Ecooe-
17
74 O BARCODE DECODE ROUTINE
10
F 030 DIZCB'AR
177 FOID E 6 13.
1 7 8F 032 e 5 13 LOA NXTIN NEXT BUFF Eil
17 N F '34 29 03 ANQ #$ 03 EATVE#MDEFANINGFUL Bl TS -
IRD FO? 5 AA TAX TO INDEX REG
121 F 037 5 1 5 LOA -BFDPX 31 JFFER AVAILABLE?
182 F 039 FO 03 é E O + 5 YES* CONTINUE WITH DECOO -
183 F 039 4 C 61 FO J M NODEC N* GET OUT WITHOUT DOING DECODE
184 F 33 e A 5 10 LOA SWITRG G 5 T THE CODE ID SWITCH VALUE
F 045 29 07 STAI P -OFFTOP-5
1 eb FC 42 CA ASL A 1 03 UI)LF RESULT IP 7 P 043 Aà TAX t MOVE TO INDEX REGISTER IP 3 F 144 o 51 FO LDA JM PTB Lt X GET LS 8 YTF OF JUMP'S Oc
129 F 047 85 20 - JMPA Oct; SAVE IN Z-PAGF -
o 100 F 04 q80 5 î FO LDA JMPT; 'L+ 19 X GET MS BYTE OF Jumpi's b Esflbi Af Id N r,4 191 FO'4 C 65 2 STA JMPA Dgt+l t SAVE IN Z-PAGE 102 F 04 E b C 2 D 00 JMP (JMPADR) 60 TO PROPER DECODE ROUTINE
IQ 3 F 151
194 F 151 64 Fà tiop O DEC 39 O %> CODE 39 r-( 53 93 F 2 WORD DEC 251 1 "> 2 OF 5 INTERLEAVED 19 b 909, 91) F 2 WO R f) OC 25 S > 2 O F 5 STANDARD
F 057 A 7 F) DÈCUPC > UPG CODE.
1 QS F 059 81 F 2, WORD DECEA% 4 w> EAN CODE 199 Fona 3 FZ wano DECCOR 5 > COOABAR F 05 D C 5 F 2 WORD or-CABC, t 6 w> ABC CODE 2 01. 2 ? 03 i NERE IF NO BUFFER IS AVAILABLE TU RECEIVE NEWLY OECODED INPUT DATA 2 04
205 F O à 1
à,% 2 Q ' F 061 C 63 DEC NXTIN
TC 7 O 7 F Oi-3 49 #00 T ODE E ADY' * 21 M F 065 85 19 TA CAPCFû 9 o FLAG 209 F 067 4 C m P GD-BACK,-TO-,ID Lr Cj Ct)I)F 39 DECODE 14:5 0: 11 04-M 4 R-EZ p Ar, 1 Ln -7 CM R LIVC AIDR n I 52 83 34 SOURCE IMAGE
2 1 O PAGE ICODE 39 DE 40 E,
213 CO De 39 DECODE ROUTINE 216 DE Cil? 217 Fnb A 7 a sel 3 a écis AS 31 LDA TIMCNT+l 219 F 061)C q, O 1 r 4 P tic 1 2 ? O F 06 r FO 06 SEO DC 901
2 ? 1 TIMCNT+I=I SO AT LEAST 256 TIMES
2 ?? FI)7 J AS 37 LDA TIICNT TIMCNT+ 1 = O SC C HECK IF AT LEAST 19
23 _ F 07 IMES YER 5 VEO -_
214 F 075 90 90 acc INITL VLESS THAN 199 REINIT FUR BARCODES
2 ? 5 F 077 DC 901
227 F 077
22 q F 07 qES 21 STA PNTL Okl TIME-BJFF Ek S TU SEGINNING ADORESS ? 21 F 075 A 9 04 LOA O<YIMLOW le el 230 F 070 85 22 STA PNYLO Wi-1 le le 232 F Dc AI 00 LDA #>TIHHGH
233 F 081 85 23 STA PNTHGH
234 FOA Ag 06 LDA #<TIMHGH 235 F I)az85 24
237 F 087 AS 13 NXTIN S ET JWPUT BUFFER NUMBER
239 P 059 29 03 AND #503; MAKE CIRCULAR SO SUFFER NOT > 3
A
241 FORC RI EC F 4 LOA BADPTLX CET LOW NO HIGH ADORESS OF PROPER
24 ? FORF 85 29 STA BUFFPT CHARACTER SUFFER IN WHICK TO PUT
243 FC 91-SD F O P-4- AACPTH*X____ é- THI-S-
244 F 094 85 2 C STA BUFFPT+l 24 i 246 F 96 Ag 09 LOA 09 'I'NITIALIZE MORE VARIABLES 2 4 O F 09 A Ag 00 LOA 00 ? 49 Foq C q S 02 STA DIRECT 290 Foqi 85 28 STA Tlmpblr+l
2 FOAO 85 31 STA SKPCNT
LA CM
CODE 39 OECOOF 14,50:14 04-P AR-82 PAGE, IC.
RP LINE ADOR 81 2 f% 3 44 ? 53 P Ad E 254
5 FOA 2 85 27 TIMP Pr.
57 FOA 4 20 EB FO JSR CONVRT
258 FOA 7 _ 90 07 i -GODD- KES SAGED EC DDE 2 ri -? FOAQA-5 3 LOA CHRCNT 1 FAI CHECK IF AT -T-Àf 260 F Oeî FO O BEQ DC 904; AT k TAAT 261 FOAD 4 C 14 FO imp INITL 1 NOT AT STAR Te MSG NO GOOO 26 2
2 -3FO RO FINISH
264 F 090 20 40 F 3 JSR OEC Xlr 60 00 DECODE EXIT HOUSEKEEPING 265 FORI 4 C ID FO imp LOOP RETURN TO IOLE LOUP 2 t'b l,7 FOR 6 E 6 31 INC SKP NT SKIP A TIME AND-TRY AGAIN 6 îr-,)pA 53 i LOA s K Pc Nf 6 l FOBA C 9 05 CMP us 270 FOGC-90 E 4 - Dc 9 D 3 2 -HAVE- NGI-DGNI: Co 271 8 SE
272 FOB 2 A 9 01 LDA #1 T-THE MISSED FIRST TIME FLAG
273 FOCQ 85 OE STA MISTI-4
274 FOC 2-.
? 75 FOC 4 A 9 15 STA XREG
27 5 FOC 6 A 9 00 LDA go "' 77 FOC 995 27 STA 7 IMP Nt
à 7 B FOCA 20 EB
2 RO FOCO 90 él BCC FINISH GOOD MESSAGE OECOÈE
281 FOCF A 5 32 LOA '' CHRCNT S FAILE 09 CHECK IF AT START OF MSG
-8,-Q DC 905
283 F 003 4 C 14 FO imp INITL NOT AT STARIP MESSAGE NO G On D 2 R 4 FO Db ne 9 os 295 FOD 6 A 5 02 LDA T Re CT 1
2.96-FOOS FD-03 -
287 FODA 4 C 14 FO JMP INITL GIVE UP AFTER 10 t AIESONO 283 FOOD Dc 9 D 6 2 $ 9 FOQQ E 6 02 INC Di REC 1
2 9 3FDDF -20 09 SR P VTI
291 FOE 2 Aq 09 k DA #9
293 FOE 4 85 15 TA REG
) 3FQF 6 A 9 00 V)A O
â 94 FOES _ 4 C40 F O
(NJ ro DE 39 I)CCGI)E 04-MAR-82 ' PAGE Il FIR L 1 H Af)DR 81 32 93 34 i O Je FUAGE 2 5 Z 7 O N VÈi Y T'HÉ-fii E
Z 99 CONVRT
300 FOES A 9 00 #00 CHAR -CO-UN -f- FOR STARTCHAR 31 l Fofo si 32 STA CHRCNT 'O,'-POSITION I USED F 8 R O COFSCHARS
302 1 POSITION 1 USED F R 8 M 10
103 FOEF A 5 22 LDA PNT Lobf+l SAVE INITIAL POINTER
304 FOFI 83 2 F SAVLCW
305 FOF 3 A 5 24 LOA PNTHGH+l SAVE IN 171 AL POINTER
306 FOC 5 85 30 $TA SAVHGH
309 FOF 7 Ab 15
? 09 F 094 A 4 27 LDY TIMPNY'
310 90 fl Aq 01 LDA 40 CLEAR THE REFERENCE TIME REGISTERS
311 FOF 9 Aî 00 STA C 4 TLCW
312 FOFF C 5 01
313 ADOLOP
314 FIOI 51 21 LDA (P Nt LOW)o Y ADO NINE LOW AND HIGH TIMES rq 315 F 103 Il CLC et 3 là F 104 -65 r NTLCW O 317 9106 85 00 STA CNTLOW te 319 FIQB 81 23 le
323 FICA (,501
321 Fl IC P 5 01 STA CNTHGH 372 Fia= 20 sz F 3 JSR INCY BUMP Y-REG & CHECK PAGE BOUNDARIES 323 Fili 'CA DEX
3 ? 4 F 1 1 2 DOED F ADOLOP
? 2.5 F 114 46 01 LSK CNTHG 4 DIVIDE CNTHGH-CNTLOW SY 8
327 F 116 66 00 ROR
321 Fllq -46 3 1 FIIA 6 b 80 ROR CNTLCW 330 Fl IC 46 1 LSR CNTHGH
331 FIIE 66 00 ROR CNTLOW CNTHGH-CNTLOW HAS THE REF TIME
332 'T -C'T'H"GH'-ct-C
-333 F 170 A 5 CI LOA PU O
334 FIZ 2 q 5 Oq STA ADJHGH 1 ADJH H-ADJL 335 F 124 AS 00 tf)A CNTLOW os çl' A AD JLGW 338 Fis 46 09 ' LSF( ADJHGH DIVIDE THE ADJHGH-ADJLOW 319 F 17 A 6 b Oe ROR ADJL 8 w NU 14 SER BY 16THIS IS
340 -FIZC 4609 LSP ADJHGA
341 FIZE 6 b O R? Aojhnw 342 F 130 4 b 09 L ADJ G 4 343 F 32 66 ci ROR ADJL 04
344 F 134 46 09
345 F 136 66 on ROP AUJLOW úBA 03 MSINI-J ION 910 3 NFI LO 00 6 L Id SVú I Nn C'J d WD cc sa L 4 Id 1/ L -60 -6 v ç z 1 d ',
CIDQ 29 ú
53 WIL 9 AING úY ONIUDO 1 és:JA dvir ul Dl, ELI:i IGZ ION dl H 3 N Vbg 3 AVI 00:,5 SIW CIDO 03 b úO Od OL Id DUC SI Hilli 30 c DM l)NIAVI"di' viimrw voi Q Od tid NOII SU 9 N OJ JNI d O 'AMIE SIHI O 1 EC 99 D 91 d 9 Lt AUVON 1108 3 C Yd)IJBH 3 2 03 b-A dffl9 ADNI Usr Cd 2 e OZ 691 d LZú Ibve V soll box dl: xioci Du lob 90 1 tL,IJ 'LL OZ& V SV Il I Nno 2 eni 4 à y si owli hns 3 NO DNI va q: 5 5 1:1 IVúú licou y Si 3 WLI 1 EDO DDU zo Ob ú 91 A ELZ úDo ZLE -.Zrxg-14 C)I1 r,ÀO il 1 57 19 le ILú m 38 V APP L A&M'Ilffl vol IZ 19 ds I= OLL #&Il# V *A*CHDMI Ndj>kjo Hlwj LIG 3 NW 1; O tu ob Ijbyz osa ié V'A( H'JMI Nd) <M'J HI ND9 Dle a Qu t 9 ldbqî
3 wil: -10 'D - 6 b iq - 49 t-
SHI M 1114 BWII SHI 3 d Vd WU 2 t A (USHúNd) vol cz lu Lsid 99 E 59 ú xvi vv 9 sid 1 9 ú Tg, GNV bz 1 SI:f:1 úy,& X 30 NI 3:)Yd S/'d Yg 3 WI dn igs t i Nnai vol LE Sv ZId z 9 19 ú I+kl)Hl Nd Vis 7 Z Se C 51 d c O çi H 59 AV 5 vol Oú çv a 1 14 t L 104011 ud vis z z bd D'ili Sú aniv A V 31 NI Od 010 1-30 1401 AVS vol dz 5 V 'q I, 1 zi Laú îNd W Il AGI LZ IV 8 17 1 j 9 iú s 3 Ncr v L v oç a ç, id ssz INIIOD vis úú LJ 171 d Salivd S vis 90 sa 2 1 1 dESú SB:)Vd S ONV SUYS AVYN 11 t suvo vis l W sî Olyld zsc oo 611 Ucid ISE Obú V dd 3 k DO Cc 8 1, E I:it-Y E I Nno 3 ssvd t 1 go sa v Eld P 7 c -23 (r ZDN l' a Hr-li Nt-9 Do -,00-,6 y-"Szl d' 3 D Vd 11 j E' BDVWI 43 bilos tu ib Zfa Ili 100 v SNI 1 etij Zl 3 C Vd 3 UO 130 6 ú 300 D r%) r%) CD w -7- oliff 39 OC-CODE 04-MAR-82 PAGE 13
F;R LIN A(DR 31 52 83 14 SCUR IMAGE
PAGE 3 q F 17 SA 9 3 i CORRECT 9 OF ONES 3 3 q 4 F 170 CS DA fi O' el cS U m 391 F 17 F 90 62 occ INCREF TOO MANY ONE 59 INC REF
3 q IFISI DO 7 C -
393 r-193 AS 3 ? LOA CHRCNT IF THIS t S THE FIRST CHAR CHECK 3 4 F 185 DO 17 ONE CC 9 19 IT IS A 'Ott THE STA RT CHAR
? 11;-FIP 7AS05 BARS 1
396 FI 59 29 OF AND #$CF MASK'OFF FIRST DITS# TC ALLOW FOR
3 q 7 FIR% e 5 Oc, STA BARS IST-TI 4 E-Ti)O-LONG SYNDROME 3 q I F 19 D C 9 06 C 14 P #506
* 0-3 q 9 F 1 9 r- -DO -5 O NE OCEJt R b-8 AD 't ZAR-T-CHAILAC-T-EP-
4 n D F 191 AS 06 LDA SPACES 401 FIQ 3 Cq 08 CMP #108
4 N 2 FIQS D 3 44 SNE DCCRR BAD START CHARACTER
FIC)7 Ag 02 -POSITION -2 4 r 4,FIQ 9lt 53 ',) STA CHRCNT 405 Fl 3 4 C AC Fl imp DC 20 l I GOOD START CHA Ri MOVE TG NEXT CHAR i-SR DE-CO Dr ONV ERZBAR-AND-SP-ACZ-813-SIa-&-CHAP-, 41 q Fl Ai 90 03 scc DEèl GOOD DECODE IF CARRY IS CLEAR 409 FIA 3 4 C El Fl J 4 p r, RR COULD NOT FIND CODE 410, Dcll
4 1 1 FIA 6 A 4.
412 FIAS 91 2 B STA fỦFFPT)iy SUFFER THE CHARACTER* IS IN 'A' REG 413 FIAA Eb 32 INC CHRCNT PUT PTR 70 NEXT CHAR POSITION 415 Dc 2 n 416 Fl Aî AS, 2 F LDA SAVLOW 1 GET OLD PTR VALUE 417 FIA q 5 22 STA PNTLOW+l 41 î Fleô AS 3-1 LDA SAVHGH GET OLD PTR VALUE -) Flri 2
41 85 24
4 71 F 19 t, AS 27 LDA T 1 MPNT Sb 421 Fla 6 19 CLC MSXETH,PCIN Tea TC M NEXT GROUP 42 ? Flf 17 69 DA AOC 910 8 S AND 4 SPACE 425 F 199 90 OE acc DC 12 1 HAVE NOT ENTEREO NEXT Z 56 SLOCK 426 F 1 RO f 6 22 INî PNTLV CARRY WAS SE Ts SU INC THE HIGH
4,17 24.
OA FICI E 6 28 INC TIMPNT+l 429 FIC 3 AS 22 LOA PNTLOW+l 431 FI Cr 85 2 F STA SAVLOW
431 FIC 7
432 Ficq 85 30 STA SAVHG 4
433 DC 12
434 F Ir AS 28 LDA TIMPNT+l
435 FICD CS 3 8 Mc NT.
4 6 FILF 90 08 acc DCIS
41,7 F 101 FO Q 3 BEO OC 40
43 N F D 3 4 C 14 FU J 4 P INITL Ti NCNT+l"IMPNT+ 19 NOT ALLOWED V l 1 r%. 1 tn cm Ln tu L., t l i y b, li e- f, i. l j 1 l'
COOE 39 DECODE 14 5023 Z 04-MAR-82 PA
rqq tly E Acix ni % 2 83 84 SOURCE IMAGE
43,1 PAGE
443 O
441 F 106 A 5 7 LOA TIMPNT S MICH BYTES ARE CHECK LOW BYTES
44 ? F 103 C 57 CMP Tt MCNT é 443 FIDA BO 03 scs DCOK t T 114 CNT<OTIMPNT 9 ALL TIMES USED UP
444 5 1-
44 S ri Dc 4 c Fi Fo JMP PCI 44, O Cn K 447 F 1 9 DI: W CLC t GOOD RETURN 448 Fl FD 615
449 DCERR
451 CIFI 31 SEC ERROR RETURN
451 FIE 2 _ 60
Ln q DE 39 DECCOF.
1 î:50, 34 04-MAR-8 Z PAGE 15
P a 14 ? 23 ai# 4 c? PAGE, 4 r, 3 4 r 4F 1 O 3 F 6 09 1 NC INCPAS 4 '; 5Fjêr 5tg09 LDA 95 4 56 Ftc 7 C 5 OB CMP INCPAS CHECK IF '5 PASSES MADE
4 57 FIÈ 9 90
4 qi F Irl AS CC 5-HAVL-Z EENMADE#-OUIT
LOA DCCPAS
c) F Icl DI) F 2 CHECK IF AOJUSTED 700 FA:t RNF DCERR TOU FA Rt STILL NO GOOD 9 QUIT 460 Fi F A 3 os L)A A)J Lnd 44 SI r IF 1 1,1
462 FIFZ 65 00 AOî ENTLOW INC CNTLOW-CNTHGH BY 6 2519
4 (% 3 FIF 4 85 0,
464 F 1 F 6 A 5 09 Sr NTLOW
LOA ADJHGH
46 liFI c 165 ADC_ CNTHGH _
465 FIF 4 F 5 J 31 STA NTHGH
467 IFC 4 C 3 E FI imp OC 5 461 Fl Fc OECREF 46-1 F Ir FF 6OC NC - DECPAS 470 F 101 Aq 05 LDA 95
471 F 203 C 5 OC CMP DECPAS CHECK IF 5 PASSES MADE
472 F 205 qa DA scc DCERR 5 HAVE BEEN MADE 9 QUIT
473-F 207
474 FZC 9 DI p 6 4 ? EN E OCFRR 1 TOO FA Rt STILINO GOOD# QUIT F 20 i 33 SEC 4 75 FZOC a 5 00
LRA NTLOW
-477 Fzoz F- F 5 os ADJLOW
473 F 210 85 00 STA CINTLOW
47 q F 212 AS 01 LDA CNTHGH
491 F 214 ES 09 SPIC ADJHGH
482 F 213 4 C 39 Fl imp OC 5 1 1
,;, 1
oe r- L( 11 Cu Ln Cu COOE 39 DECODE 14150 40 04-MAR-82 PAGE it, Lll A O ', R al; à 2 q 3 84f O-U'R-CE
4.q 3 FAGF-
49 4 F 213
485 " 18 Ag na DA MISSED FIRST TIME ROUTINE
49 à F 21 L% C 5 33 M LOOK AT ONLY 9 TIMZS
4 e 7 f IF FO 03 BFO r CI 4
488 F 221 4 C 5 2 F 1 M DC 6
4 1; Q CC 1 4
491 F 224 Ag 03 LOA li 3 t 4:>l F? 26 C 5OA CMP ON Estim
492 9223 90 59 BC C 114 CZ F F, REF.
493 F 22 A 00 03 014 E DCCREF TOC MANY ZER 059 DEC REF
495 F 2 ?C A 5 05 DA n ARS THIS IS FIRST CHAR SO CHECK IF IT
196 FZ 4 P osen.
4 9 7 F 230 PQ AF BNE PCERR IS NOT
403 9212 A 5 06 LDA SPACES
4 q 9 Fl 4 rq 06 cmp #% 06
P 236
502 F 239 A 5 27 LDA TIMP Nt S GOOD START CHA Ri MOVE TO NEXT CHAR 503 F 23 A 1 q CLC ( 14F 2; B1,9 09 O NLY 9 POSITIONS SINCE We G 9 F 2 3 i) P 5 27 STA TIMPNT 4 AVE SKIPPED THE FIRST TIME 106 F? 3 F Ag 00 LDA go 1
C 7 F 241 F 5 OE STA MISTIM CLEAR THE MISSED TIME FLAG
C 3 F 243 AI) 09 -09 -RFEINIT-114 EX REGIST ER.
909 F 245 25 15 TA XREG
510 ' F? 47 Ag 02 LDA NZ S PUT THE CHRCNT AT 1ST CHAR POSITION
511 F 249 P 5 32 STA CHRCNT
51 F 243-4 C
i M 1:, , i. Co VI 14.5 Ot 45 04-MAR-CZ PAGE 17 Ln rzp Li I;i: A O) O - 1 81 12 % 3 14 sotiacc 1 MAG i 3 P Aq -SU Il ROUTINES, 515 OÈCDE THE ISAR AND OSOA- et BYTES TO A CHARACTER
517 DECODE
1 8F 24 E - A 5 O i- CASF 51 q F 250 00 15 UNE DC 83
1; 21 F 252 AZ 03 LOX 93 CHECK FOR THE 4 SPECIAL CHARS
522 P 254 - A 5 06 - L DA SPA Ce S. 514 F')56 0-3 9 C F 3 CMP SSPE Ct X 525 Fà 59 FO 06 BH Ocaz 52 6 F? ri DE 577 F 2 C 10 FF SPL ccal 1 Se S F 25 E 4 C qi F 2 J 14 P DC 89 S BAD CODE f 5.112 Ocez i
Ln 33 F 261 BO AO F 3 LOA- ESCHAR #X P USE.
ç 3 l' F 264 4 C 8 F F 2 imp DCBB 8 SPECIAL CODE
512 DC 53
533 F 267 AZ 09 LDX #9 CHECK FOR ONE OF THE VALID 'SA Re
pàa-lúaus-
535 F? 69 Di) U F 3 CMP PTYP Eu X Sib F 26 C go 06 13 EO OC 85
537 FO)F C% DEX
SL F Zl)l: 13 F 9 539 F 271 4 C 91 F 2 imp OC 69 A" a
IL N OC 85
541 F 274 9 6 07 STX BIT SAVE THE #BAR& INDEX
142 F 276 A 5 Ob l DA SPACES I 43 F 27 q A 2 O 3 LDX 93 r 44 OC 56 PATTERN
545 F 27 A MO 94 F 3 CM P -, îTYPEIX
547 F 27 P CA OEX
548 F? 30 1 FS SPI OC 86 U ATTERN
549 FZRZ 42 91 P 2 imp JA? #SPAC P, n Cp,7 -i LD L)t THE 550-F 285-80-9811-3 A x AND ë B'À:k-i 40 EX -; 1F 21 Nis CLC qç? 9291 65 07 AOC Bl T % 3 F 2 9 -1 AA T"x AND FETCH THE CHARACT ER f 4F 2 PC55 A 4r3- j 55 ME à à f 6 F 29 FIA GODO RETURN
557 F 290 60 LT
çç; F QI 34
&O 9 92 60
2 OF 5 114 TERLEAVED DECODE
14:50, 52 04-MAR-82 P AG E
LINE A On R il a 2 53 i 4
1; 61 PAGE #Z OF 5 14 TERLEAVEO DECODE 9
562 F 293 DEC 251
& 3 F 293 PATCH
51,4 F 2 q 3 FA + NOP
565 9294 FA NOP
566 F 295 EA
567 F 2 q 6FA + Nop
563 F 107 FA NOP
56 q F 291 FA + NOP
570 F 299 EA
571 F 29 A FA NOP
572 F 293 FA NOP
573 F 29 C EA NOP
Co r 4- Ln tu Ln Cu CK) Ln
OF 5 STANDARD DECODE 14:50 '53 04-MAR-82 PA'GE 19
Ln Cu F;R LINE ADOR Pl 62 a 3 84 ' '- b URCE IMAGE
574 PAGE #2 OF 5 STANDARD DECODE'
575 F Zq O 1
576 F 290 PATCH
77 FCào 5 A + NOP
57 î F 29 EA + NOP
r 79 F 2 9 F -FA-
QJ F? 40 FÀ + -Nop fi r 2-11E 4 élop592 FZAZ FA NOP
583 FZA 3 FA
514 FU 4 FA NOP
ú 5 FA 5 EA NOP
586 F 2 A 6 EA NOP
Co d ON va G Ezd 66 5 d ON, 3 ey;d eb; d ON V eve 1 Lbt VD (Ivzd &S d ON ve Dvii t 5 d ON + i-vi -, d ON vv Li Ebb
MON 6 VZJ
d ON va Evzd 16 & do N Lvd 06 b K 31 vd LV Ld idnisa úVU Vqs 39 vd Lub tg CU ZZ 19 b OOV Nll Uti ru oz 19 vd 100 DIG 'Jefl LM Co C"
àA(,E 21
VI Cu LI Ni AOIK 81 12 -13 94 SOURCE 'i MAGE
PAGE "EAN I)ECDCFO
601 F 2 Pl b O P 29; PATCH 603 F Zft 1 E A NOP
614 F 282 EA NOP
605 F 293 EA
6011) FZB 4 FA NOP
b 07 F 15 EA NOP
603 P 226 EA NOP
609 F 2 û 7 úA P
610 9138 EA NOP
611 F 9 q EA NOP
612 F 2 BA EA NOP
Ln
VI 1 OA*OCO 43: 5: 04-MAR-82 PAGE 22
ARR LIN% Af 3 Olet 82 63 fi 4 SOURCE IMAGE
614 F 8 __ _ _ _
61 b FZES EA NOP b 17 P?rn CEA NOP
618 & - O
élc> F'21 FA NOP 623 p 2 qFA + NOP 6.?t F' CO FA NDP
623 F' C' FA
623 F 2 C'y FA +NOP
625 F 2 C 4EA NOP
L -, j d ON V 3 3 D Ed 6 ú 9 d ON D Ld ça,; dri N V 3 Z'JZA U 9 d ON V 3 VDú:i I ç 9 do N VJ CI zd i E 9 dc N 3 S zi Zú 9 d ON V 3 q Dzd O ú 9 d ON va sazd 629
SDZA LZ 9
vd alivwl 331 dnos fi É Zt lu k û ti V 'ï 1 1 ob 3 CZ 3 O Vd Zs-bvw-,O BCCU 30 DçI r U LM 9 %) Ln -Ij Co Co t 4150:56 04-M Aq-32 21 4 ' 'd E MA GE' ERR LINE ADDR 81 8 Z % 3 q SOUR 639 PAGE 'CODE Il DECODEO b 4 OF 2 CF
641 F 2 CF PATCH
642 FCF EA + NOP
643 F 200 EA NOP
644 F 2 DI _FA
645 F? 02 FA NOP
t 46 FD 3 FA + NI)p b 47 F 204 FA + NOP
643,F 2 D 5 EÀ
649 F 106 F 4 + NOP
b 5 lF 2 D 7E 4 + NOP
651 F 208 E A + NOP
r_ Lri cm VI ei
(N -
i 1;, s % i
11, 1
1415 0157 124-M AI8 2 OACF 25 1
_ __ 1
PAGE 'UTILITY SU 3 ROUT E
REVERSE THE TIMINGS FOR À REVERSE READ
LDA *>TIMLOW 9 SîTMUP THE PO;NTER TO THE
STA POINT 1 E-LOW BUF ER
STA POINT+ 1
JSR AEVIT a GO REVERSE THE TIMLOW BUFFER Co Co r- Lri Cu tn tu UTILITY SU Uq VUTINES LINE AODA ai 32 ni 6 r, 4 654; b 5 FID 9 Aq 30 61,f) F?" A i IF 661 F 2 r D A 9 04 66 ? F r)F 'q 5jm 663 Mi 20 ô F 2
SOURCE IMAGE
34 '
bbî F 2 F 4 -A 9 00, 1 O 9 > 11 MH GH A S E_T -U PL -T B L-RO IM 1EX10 -T Pl F_ 666 F 2 r 6 a 5 i r STA P 017-r TIME-HIGH BUFFEP 667 Fce A 9 O 6 LDA a < M HGH O bbi F 2 eà 95 20 STA POINT+l 669 F 2 EC 20 FO F 2 _REVIT Go Pl 670 F 2 EF 60 RTS 672 1 REVERSE THE Bdf'FE% POINTED TC 673-
675 F 290 A 9 00 DA #>SWAP SET UP THE POINTER TO THE
674 REVIT
67 , ç 2 F 2 95 25 PNTSWP SWAP BLIFFER
677 F Zi:4 -A 902 #CSWAP _ 21 679 F 2 F 6 85 26 STA PNTSWP+l 690 F 2 > FeAli 38 LOA TIMCNT+l CHE% Ir MORE -r HAN 256 TIMES 67:; 6 8 IF 2 FA-C 9 01 CMP 901 - w Ei L
8 î, ONLY BàOKOSAVFD
68 ? F 2 FC93 02 TIIIENT+im 583 FZFE Eb 20 î'NE WNT i T M N + WENT INT N BLOCK 6 P 4 t b Rb 8 IN It THE REVCNT TC 07 Fil 6
687 F 3 02 85 34
681 FîQ 4 A 5 38 -__OA T 1 MCNT+j 689 F TA- REVCNT+ ïjî 17tifÉ 'cïf bq I F Ing AI 00 Ll It T Sip 691 F 30 A 85 36 ST Sd
; 1 _ - __
8 ", Lri Lri UTILITY PAGE Cu gq P Ll%-E ADCR Al 32 B 3 i 4 SOUR&CE 'im Ace CY 6 qz PAGE 694 F 30 C 6 34 DEC R ÉVC, A Y' peu
6 Q 5 F 30 E 4 34 LOY REV NT,
6 qb FIIO mi 19 fl $OVE THE LAST TIME IN THE RUFFER Li A (PRI Nrl#Y 697 F 312 A 4 36 L Y Sw NT -To Tt IE
699 F 314 91 2 i STA (PNT$tfp)7 -"' 8 UFFER.
701 F 316 A 5 34 LOA REVCNT 8 CHECK IF AT BEGINNING OF A 256 MCX
bal
701 F 313 01 OA -RV 4 NDT YET
702 FIIA Aq 3 15 LOA REVC Nt+l AT e EGINNINGé CHECK Ir WE WERE IN 703 F 31 C Cq 01 CMP 401 2ND 2 56 8 LO K. 7 C 4 F 31 E 90 On BCC RV 2 ONLY 1 BLOCK SAVED SO WE ARE ODNE
705 F 320,C 62 O 2 -ALDG K$.
Z 06 F 322 C 6 3 r, oric REVCNT*l 1 r 7 RV 4 1 7 C 9 r3 26O ') E 4 N 9 OV 1 C H E C K1 PA T E N O O F1 's TS W A PQL Ocx-, 7 N 8 F 324 E 6 36 INC Sd PCNT 710 F 328 Fà 26 lèiî P14 T S P + 1, I YE St GO t O i ND WAP SLOCK
711 MA 4 COC F 3 JM RVI
-T.HE SWAP
714 F 3 PO AQ 32 f)A "SWAP THE ORIGINAL 715 F 3 ?F C 5 26 CMP PNTSWP+l 8 îHECK IF IN ISTBUOFFRE; 2 t D 25 b 8 LOCK
71 à>9331 O 3 ? 1 REO RV 5 WEY 8 LOCK,,,ONLY
r AREK OVE POINT 1 TU 2ND q LOCK
F 333 6 20 NO BLO 'MIST
E POINT 4,1
a M
72-') RVB 1 START AT THE LAST TIME IN SWAP AND
9 F 335 A 4 3 b LDY' Sti PC Nr 721 f 337-8 I-25 1 D A - ( PN Tsdp-) Y,-IMDVú-PARALLEL-,TOIP DI NT)-,BM EF 9 'Z e (.10 INT)9 Y t
7 ? 3F 339 Q 3 TYA CHECK IF AT BEGINNING OF 256 3 LOCK
722 F 33 q 91 1 F SYA 724 F 33 C 00 08 Bal 1 NOT YCT F 33 EAq 02 LDA #<ABAT% 777 F 340 CS 26 Ck P PN WP+l 723 F 342 90 01 occ M IN ZND 256 BLOCK 9 'OEC PNTAS TG IST 721 F 344-60 8 IN l ST 5 LOCK S - SO WEARDUNE
731 F 345 C 6 20 DEC POINT*l MOVE 'FO IST 25 i, BLGCI .
732 F 347 Cô 26 DEC PNTSWP+i El lD C"R'ÈM'EU 'T' 70 N 734 F 349 % 08 'f'l NE J" p 73 % F 34 A 4 C 37 F 3 Imp M 8 CONTINUE T E LOOP Co Co Lfi cj
IJT IL IT YSJ1 T 1 MS 1 1 1 014 P 4 GE27
Lri 1 il '1233 % 4 SIURCE IMAGE
7 3 7 - ___;
73 b PAGE, 73 q RESPONSIBILITIES INCLUDE CEARING -BARCFG BAR CODE READY F Lt G ? 1 1 1 DECODE Ei If ROUT NE
743 SET IMESGRGI TO SHOW NEW MESSAG;: IS READY
74 ? FIND MESSAGE SOURCE & STC' IE IN BUFFER + 1
744 r 34:) 6 ECXIT
746 F 34 F A 5 10 LDA SVITR:; CHECK WHICH CODE IS ACTIVE
745 F 14 J C 6 32
747 F 351 29 07 AND #07
7 tq F 353 00 OD 91 NE f)XITI 3 NOT CODE 39 753 F 3 & 7 1 23 LOA (ilu FFPTJY t A STOP CHA Rt THE
? F 3 i FI) ( 1, qo OXIT 2 IS THERE 9 G 000 MESSAGF.
7 % 1F 1 IlC 92 A CM P 912 A
753 F 35 D4 C14 r INI TL BAD MESSAGF -
0 '4 P
tn 74; 5 F 160 C 6 37 DEC CHRCNT DONIT INCLUDE * IN MESSAGE STRING
754 F 360 OXIT 2
797 IMPU T -READY-1 ri Ar w 756 36 DXITI 7 cl F 36 F 6 il INC MESGP:; SET MESSAGE REGISTER => ANCTHER XSG 743 3 b 4 85 Il STA RARCFG 760 r 363 AI 00 LDY iloo Y INDEX TO OT-4 BUFFER POSITION 761 F 36 i%As - 32 Ge TMZSIAGE-LENGTH 76 ? 936 C 91 28 STA (SUFFPTJ*Y SAVE IN BUFF Eq 763 F 36 = à 9 00 LOA #Go SET MESSAGE 10 -> BARCODE SAVE-RES SA Gr-ID
764 F 375 cî INY UPDATE INDEX INTO 8 UFFE;(.
76.%F 373 25 37 STA TIMCNT CLEAR
767 F 37 R 5 '33 STA TIPC Nr+l ALS PP R 8 YT 76 r 377 A 5 13 LOA NXTIN GET BJFFER 1 WERE USING
7 ôJ F 379 29 03 BUT ONLY USE UL
771 F 37 , AA TAX TO INDEX REGISTER
771 F 37 CA 9Fc LDA' 9-1 SET 'i 3 UFFERINUSE' 772 F 37 E qî 18 STA PFOIX FLAG 73 F 380 53 r Ll - -I -RE 7 ENAZ Lr I N Tr RRUP-T 5
774 F 381 60 RTS RETURN Tu CALL.
775 SUBROUTINE TO INCREMENT Y-R Er#ISTER AND MODIFY PNTLOW/PNTHGH 77 8
F 33 DID Y-REGISTER ROLL OVER?
* 721 -F 383 r O04 BNE- -YRET POINCIER IN REMENTS 77 q F 38 CA INCY IN
7 e? j 55 E 6 ? 2 1 NC PNT Le 1 i; 1 __ INC LOW 'rim E 7 S P Tk 7 'STP GE-K Cf Nr WWV-
7.q 3 F 317 ' Fb 24 INC P THGH+l 1 INC HI TIMES PTR PAST PAGE 00,)NDÀRY 7 F', F 3 qq YRET
725 F 3 3 160 T S
ou CD r-_ Ln Cu Ln
UT 1 L 1 TY SIMMOUT 1 NIE S
k oui ï-î, iii 'ZnLINF fi 1 Rel 13 4 4
796 PAGE
7 5 7
781 DEFINE HE
789 Ag 791 f 3 S A Il 09 18 05 E 1 7 âg o 7 Q F Iq E14 OC 03 12 7 <',l r 3 q? 04 L% 1 704 F 394 C 4D? rl 08 ' STYPE BYTE 402#1
7 5F 398 CD OA 14 IC 09101
795 F 3 QC Ce 00 03 07 SSPEC BYTE 14 i 13 7 q 7F 3 AIJ 2 F2 25 S S C H AltBYTE j$/+% 7 Q 9 F 3 A 4 il 32 33 34 ST Aa LE BYTE '1234
F 3 A 2- 35 3, - 37 3 8
l CI F 3 AC 3 q 30 41 42 q Ol F 3 ,)4344 45 46
02 F 314 47 49 49 4 A
9 C ', F 3 Jl 4 i 4 C 4 LI 4 F R 04 F 3 PC4 F1;-j52 e C 5 F 3 CO 53 5 4 5 5 56
6 N 6 F 3 C 4 57 58 59 5 A
F 3 C j212 E2 0-2-A,
PAGE 23
AL CODES,
39 ITX CISD" 'Tlà'EE' 1 i 7 i 67890 ABCDEFGHIJO 1 Poqs TUVWXY z ' * r__ Lri Lei 14 sils 10 04- %IAPO 2 PAGE 29 M INTERRUPT Se TUP A-Nn SERVICE CNJ Clé L 1 é-_ MMR M #32 à 3 134 S DUR C E IMAGE 9 ng cil 1 IRO 114 TERRUPT HANDLER ai ail 815 F 3 CC 43 HA i SA Vl E THE A*Xt AND Y REG
814 IROINT
A 1 f)F JC)RA ISTERS
817 F 3 CE48
F 3 CF q S TYA Blq F 300 4 î PHA q?.1 F 3 ni go GD 80 LOA -IFR 821 F 3 D 4 20 OE30 '-ASSUREON" F-úq A 2 LED-BI T S 82 ? Fln 7 8 CF STA FLAGRG ' îAV THE FLAG REG FOR LATERGUSE 4 3 F 309 24 Za AND 0328 1 ES FOR TZ OR C 829 THE BCO E INTS q? 4 F 30 a 00 01 BNE IROBA% 325 F 3 CD 4 C ib E F 4 827 O BARCODE INTERRUPT ROU Tie(E 8 2 6
903 AR TZCL
so F 3 FI A 9 OP go 1 p 3 î FIC 3 A 09 90 LOX T 2 CH q 32 F 3 E 6 q 00 STA CNTLC 4 SAVE THE T 2 TIRER
9 1 1 F 3 ES 86 01 - - STX:___ CNTHGH
815 F 3 EA A 9 FF LOA ISFF 1 RESTART THE T 2 TIRER
836 F 3 EC 80 08 20 TA T 2 LL
837 F 3 FF -M 09 -30 ZA T 2 CH
31 F 3 FZ A 5 OF LOA FLAGR 3
840 F 3 F 4 29 08 AND fisol t T Ef T FOR AN EOGE IN Ti CC 82 341 F 3 F 6, 03; L-YE t I T- JS C 62 -SERV ,F- -Il
843 F 3 FA B 5 04 M TTC Y ME"TIM 4-8 'DU'T 9 SET THE TTO
P 42 F 399 A 9 FF DA R-i
844 FIFC AS 01 LOA TSTAT LAG AN CH Er K IF LAST TIRE GOOD.
E 4 5F 3 FE10 _2 P-1 rfinnil IR 9 _'RESSAGEIS FINIJHED 84 S F 400 4 C 33 F 4 J-14 P IR 083 1 SAD TIME REINIT WAéi OEO-GE OETEC'r 943 F 403 ?,O 01) 80 STA SUR R THECBZINTER;t UPT H Tji A A
31.7 IRQ 51
Oir t-DA T Tû.
L Ji T a 351 F 408 Fo 07 au IR O CCUX'ED ? 94 AC 85 04 STA TTC 1 IT 0109 CLEAR THE TTC FLA Ge AND 851 F 4 t)A A 9 00 D 00
NP-90; E PETE TDRA -
853 F 40 c_ 4 C 33 F 4 AVSOVL ids CO ril vtd S a O Sv il'H t 1 1 IX 9 Nv 00 40 ve SYM 3 wil di f uvobi dwr 5:i 9 ú Ui 99 v 9 ibs Ug IST 03 U V Dd NI Od Nt S Od-03 N MIS i v 3 ds vis 08 DO os 111 d i 2 a ï '>J b Lb 99 D-JO 3003 S Od,t vssa vol V 5 6 V d Cti OW z 9 LA visa 91 (il 6 V Vú'd L La ZOSO" IZO-6 z 9 ú 1 >dIl L Er 31 VIS b 3 MIC 3 HI 01 NC I Nav 5 d Gúa;'HDIBN 0-:is sO Od SZI>d 9 L F foi g Li ONVM BHL do Bl VIS BHI 013 U tilod vol os 00 UV CE,d >Lb 1 EX 3 I Lb(ldl dwr sd 9 ú DIP Octe Lb Co Ztd ILV V(J1 D Zid C Lb -3 GO:)30 Dl' Auvav-: Ossa vc'l zscul O? 6 V 8 z loi b 9 s v ssgwl Ixa N 10:1 IINIBU IVISI VIS sa V Zld bçu isoiii, dtir Et:)t,5 Z'i -1L'; 6 Di Vie 3 wil-gocu ewi 3 mis S Ivisi vis úO Sd CZ 1/ çqs gwil 0000 y I Vid e Otll#, vol 6 V 1 z Id sve
0:) 17 9 û
a W Ildo01 % 01001'X 91<'don '933 i 43t Ol$# ONV DD tz C, 1 >:ik 9 il 9 HOMINI vis W çs u 1 $H 19 b c 9:1 A S bois dd Oi bleu G 9 6 J 401 IN 3 vis 00 9 Slti Fip id fi 11 iltd 45 U 9 J 40ON, -*i 00 4 moa 1 1 'pà 9 bd -l' Tti S 1 i q 3 bnos t 1 b%i afi1 btuov a Nilu k:% tn LA Ut 30 ve il a Di Auss o Nv dni 3 S idndu 3 l NL 10 Co Co
M-
re - 1 Lf) 1 cm Lri cm T 5 Tun ANO SIQVECE 14:11:18 1 11):% 3 134 S Iu Rci IMAGE PAGZ AND LàW TI M Ei;" C 6 ii S
SAVE THE
lqos Av F 44 '3 A 5 01 LDA CNToww),y LOW 8 BITS OF TIME
F 449 A 4 37
C 44 F 91 21 STA 1 PN W
r 451 A 5 31 LOA CNTHGH HIGH DITS OF TIME
F 443 91 21 -STA 1 PNTHCHI 9 Y
F 495 f 5 37 INC T 1 Mc éi T MOVE POINTER TO NEXT LOCATION
F'.57 FD 03 8 EQ IROSV 1 GOING TO NEXT 25 ô SOLCK
P 45 a 4 C 35 F 5 imp IRORTI NDRMAL EXIT F 45 CFô 22 INC PNTLGW+l MOVE TU NEXT BLOCK OF 256 BYTES
IROSVI
F 45 ú 5 ? 4 INC PNTHG 4 + 1
l:463 C 6 38 j N C 1 1 M C N f i 1 F 4 b 4 C 9 02 Cmp 1102 CHECK IF O OF TIMES EXCECO 512 F 4 b 2A 53 S LOA TIICNT+l
F 465 90 03 BCC IR 096 STILL OK
F 46 R4 C1 LFO 1 TL -EP ROR-9
9463 4 C 36 F 5 I R Oa 6JM p IROPTI NDRMAL EXIT :Tr- n q( 13 (D 4 ci "J 5 Co CY INTEROUPT Sf TUP Allin SPERVICE 14:51:21 ( 14-MAR-32 PAGE 3;
A) r):t 81 R? q 3 R 4 ' ï"IMA Ce"'-"
PAGE TEST F Oct MAGSTRIPE'INTERRUPT 91 3
P 46 EA 5OP L D
915 L AGRG -
111 > F 47020 10 AND #SIO TEST FOR THE MS IN Ts CC 811 QI? F 472 Fa 01 SEO IROZ NIT IT GO TEST FOR E BD INT -0 MAGST RI PE S ERV 1 C E R OUT 1 NE Wl L L Ca HER E ) Iq Q 2 D 1 O 72 __,;;:Z,_ W 1 a ,
JIS INT IS TO BE IGNORED
RESPONSE TO AD CMD).
L-AR E-ZRANS F E;t M NG ffl a> SUCCESSFUL TRANSFER )o IGNORE IT
CHR XMITTE 09 INIT 20
ACC
N 15 ME 0.
T EN Di GO SEND NEXT CHAR Co f'- Ln CY Lei cj 14 si Is 22 04-MAR-12 ' PA Jr#E 33 -' A Rv SERVICE ROUTINE
SZURCE IMAGE
LIM 5 ACIR 41 37 53 %*
PAGE a IE-BOAR-) SERVICE %OUTINE O Q 26 - JF 474-AS Of A F-L AG 927 C 476 21 02 AND O 502 Il TEST F Oq Ti Q 25 923 1 47 en O01 BNE 1 R O Efll) 0 > 9 F 47 A 4 C 36 F 5 i Mp IRORTI NOT IT* AUJ
931 JE-BOARDANTERUPT'ROUTINE
93) C 33 F 470 l RQEBD
O 91 4
935 F 47 E AS 17 OA IGNRFZ 1 CHECK IF TF
1) 35 F 77 D top
-137 F 490 30 72 BMI IRGE 6 IFOLLOWIN(
02 A 5 ro C 4 EM IF-Wi 939 F 43 LOA f:xpoi
939 F 4 F 4 33 17 8 M 1 IRQE 1 MESSAGE BL
Q'l F 4 %q 6 Ab OF 80 LCA APRTNH READ CMI) pf F 4 , A O_ 91 AO ki Ecx-mkx 9414 04 e 4 FO 34 SEO Iq QE 2 1145 FZ 81) Cq A? _CMP #SAZ CHMANS m-1 9 b-F 48 F FO -3 E_' Y S-G Xjij t) 44 94 q F 4 QI C 9 20 CMP #360 CHECK FDR C q 47
049 F 493 FO 69 8 EO IROE 4
9 rl F 495 C-4 p çico 1 CHECK FOR C o Do 1 q 52 F 497 Il oz IR On 53 F 49 A' 4 '36 F 5 itip IRORTI SAD COMMANC 955 F 490 Eb 2 A g X Mj TPT POINTER TO 057 F 40 r A 5 zt A Xm TPT 1-T PT -05 i il n 5 l F 4 A 3 93 OF acc IROFII; NOT AI END q,O F 4 A 5 FO 00 SEO 190 il STILL NOT j 96 2 go U q 63 F 4 A 9 85 16 STA --EXPFG' END"'M FF 764 F 4 e 85 2 A STA XMI PT THE CF
ET MSG C,
q 65 F 4 AD A 6 39 LDX c l S u M AND HE 9 bà F 4 AF- -E 5 -39 IA ' __CKSUM E ï E Q 67 F 411 4 C 26 P 5 i Mp IROX 4 t-' N Vr CHMÉ C léli IROEII q Oj 9 F 4-14 A 4 2 A LOY XMITPT 97 f) F 496 Si 25 1171 P 483 Ai TAX q 73 9494 b 5 9 AOC K 5814 1 ADO LIARACI q 72 F 4 q 9 13 CLC
974 F 42 C-35- 39 SIA KS
i E E 50 INT 9 (Ckll
T SE BAD' INT $ O IGNORE
b
1 AI r T MT Fftnm RA Rroar -
IFFER.
l OM E BOARD W O CÀ 1 CLEAR nu Mn AA e EK'4-C'LEAR-'TH'E'
IR POINTER.
:CKSUM FOR TRANSMISSION
çl Im -
UN TO E-30 ARD
H"Qjl E -XM 1 Jr E O,,,
ER TU CHECKSUM **
- e-RIARD SERVI Cr ROUTINE 04-MAP-it 2 P Ar,ú 34 L 1 NE AC 01 91 J 2 83 84 Souitcr IMAGE 9 ? 9 F 4 PE 4 C 26 F 5 imp t RCXMT 1 SENO C 14 ARACTER TO THE E BOARD 973 F 4 l A 5 IR LDA TESTFG 'l CHECK IF WE ARE DOING St Lf:Tú-S-r IRQEZ 971 F 4 3 30 05 3 MI IROTST YE St SEND SELF-TEST STATUS
Q 91 MESGRG 40 *> NO NEW DATA
980 F 4 C 5-A 41 1 __ DX ME-SGRG-
092 l EWODA;A AVAILASLE 93 94 C 7 4 C 26 F 3 i p tortxmr t, SEND rr TO'Ir; >E E 8 AR Ln Ln e Aile p 1 çqv 1 CE R 19 JT I ME 14 ' 51:29 O 4-t UP R 2PAGE 35 A11 Il 3 4 4 ' ')UICEIMAGE Cu 9 El 9 IROTST ,I
Q 4 PAGE
9 p, Ft CA A 6 12 u) x TES Tq G SEND S EL F TEST $TATUS TG E BOARD 9 q 7 F 4 CC 4 '26 F 5 Ji Mp i Roxblr '41 F 4 Ct A 5 14 LOA NXTOUT PSULT TO ACCUMULATOR qnl F 4 CI 1 ?q oi A 1 %, 11UL 03 G-T THE LOW 2 BITS OF COMMAND 9 ? 3 q Q 204 L'3Aî TAX
994 F 406 25 16 STA EXPOF; SET EXPECTING DATA FLAG
9 I? 3F 1, IC 4AqFF LOA 9-1 9 Qb F 409 F') EC F 4 LDA g Ar-PTL*X USE X TO GET LOW ADRS OF CHR 6 UFF :R 7 F 4 DS85 ZB PUT Il -INB Urf FPTLOW 99 q F 4 D(,' l D F -J F 4 LOA 3 Ao PT 4 v X USE X TJ GET HIGH AOR OF CHR di FF Et dit Qq 5 a -1 z? C 4 f) 95 2 c STA BUFFPT+ 1 PUT IT IN BUFFPT HIGH
1 Z 01r 4 E 2AIon THIS 15 FIRST, C 4 RLDC&TION-
JYO In G 2F 4 48125 LLIA (BUFFPT)*Y Ln 11) r 4 r 4 F 7 F 'i 01) STA CHR NUM NO OF CHRS IN THIS MSG SUFFER 1 r f,3F 4 E,%A % TAX
JOCS F 4 E 9 4 C 26
ICIC 7 F 4 FC 3 A 13 PTL 9 YTE XH Apri irii F 4- O6 e BYTE >CHR 3 2
IZ 9 F 4 F A 4
JI:)F 4 CFD BYTE >C Hiq B 4 IC 2 F 4 FO 01 e ADPTH BYTE <CHQ BFI 1013 F 4 FIO -) YT E -< c m R a F 2 1014 F 4 F 2 a BYTF <c Hq PF 3
111:; F 4 F 3 0) BYTE "HRP 4
1018 F 4 F 4 A 01 80 LOA PORTA -INTE Rk UPT 102 J F 4 Fq85 17 STA IGNRF' CLEAR IGNORE-C Al-INT FLAG 111 q F 4 F 7 A 00 LOA blo
-.5 -RTI.
1071 F 4 FE 4 C -36 F
1 O 2 3: HERE FOR a NC 014 MA"S FR 3 M E-BOARD IMPLYING SUCCESSFUL
1025, ; ,
,'4; MESSAGE TR S Fe R l'à? 7 F 4 FE 45 14 LDA NXTOUT 1 GET SUFFER 9 14 FIVE JUST SENT 1121 F 5 OJ 4 îq 03 AND f 103 BUTûNLY USEFUL BITS lo? 6 F 41:E F 502 A TO 1 'NO EnREGISTER 1029 CLEAR THE, sbFFER IN us Et,
1131 F 5 C 3 AI 00 À M
M t FLAG J 3 ? F 5 C 7 C 6 Il DFC MUSGRI DECREMENT'if OF MESSAGES READY Ir II 31950595 is N DIX SEND I O 33 F 509e% SAOT O E-P D TO KEE:?OLL GOING 014 F 50 A Eb 14 INC NXTO T" UPOATE OUTPUT BUFFER F 50 C 4 C 26 FS imp IRO Xur SEND IT IMI 6 riop PATCH r O 37F 5 CFEA E-SDARD ffl VICE ROUTINF l J'5 1: 3404-Me R-82 PAC-E 36 LTNF A(D;t Pl 82 R 3 94 ' VIURCE IP 39 F;i 1 OFA Nl P ? 9F Il EA I'4 i')F 512EA NIP A N'i P
ICLI F 113 r-
1042 F 914 EÀ NOP
1044 F,Ib EA NOP 1045 c 517 E 4 NIP 1 C 45 9518 EA + Nop IC 48 t HERE FOR C COMMANDS REQUIRINC >-BOARD SFLF TEST IC 47 1.'49 1 Ci O F 519 1 r, 51F 519 PATCH_ 1 rr -)Fill EA NOP 1053 Fil A FA Nc rp 1054 9518 FA Wo O 11.55 Filc E&
" 16 F 51 N F: NOP
ui Inc 7F 51 zFA NOP
1051 F 5 20 EA
1093 F 51 ? FA NOP
1 O 1 O F 5 Pl FA 1061 Fn P 2EA p 106 ? F 523 4 C3 b95 JMF 1 gt QRTI 1065 F 526 A 9 FF LOA fis FF
1066 F 525 81 03 PO D,') O A CHANGE -PORT A TO OUTPUT
-67 -ú O YH EE
IC F 523 SE DL TX PORTA DATA TQ-.
I 49 F 52 F A 9 00 LDA #$Do, t GE PORT A SACK TO INPUT 1069 F 530 80 03 q D STA DOPA I CHAN 107-) F 513 4 C 36 F 5 imp MRTI
1071 F 536
1 '7;)
1074 F 536 6 q PLA RESTORE Xt Yt AND A REGISTERS
1073 1 R O R T 1
1075 F 537 -AS
1075 F 53 e ba PLA 1077 Fi 39 AA TAX
107 R F 53 A 69 PLA
1079 -RT-1
Ln Ln 14 11116 04-%i AP-R? PAGE 37 Cu LI %E À)DR e 1 7 e 3 i 4 S;Jt)%CE i 4 AG r c%à l lie PAGE -4 f WZIYle JITIALIZ$èTIINO ical lot INITIALIZE SENEAAL 14 EM Mk Y ROUTINE ils?
1085 -9.
E Io SWITC 4 103 ? cfc A 3 li c REAO THE COD
ICCI Kiiz ? 5 in T S ITRG AND STORE IT.
1 r 19é; 4 1A LOA fliso 141 TIALI ZETHEBAR CODE-
1000 P 543 95 03 STA TSTAT VARIABLES
ON O 91 F 945 41 ? FF LDA 0-1
F 547 8 i 04 STA TTC IC'q 3F 549-49 00 LDA 90 I Cf 4 Fi 4 i 85 37 STA T 1 mc Nt VARIASLES
1 CI Q 5594185 33 STA Tlpcp 4 T+l 1.
1096 54 C PS DE STA MISTI-4 t 1097 F 551 e 516 TA 1003 Fr,53 85 Il STA IGNRFG Ln 1 tl Q-,F 15585 la STA TESTFG lipn F 557 5 9 STA SAR FG
1101 F 559 85- 12
lie> F 553 35 00 STA CHRNWA i i c jFi 5 oA 5?A STA X'IITPT JIC 4 F 55 F Fi OF STA FLAGFG
11 ( 15 F '-6 L A 9 00
1106 F 63 P-5 21 STA PNT Lr W 1107 Fl Jà 5 Ag 04 Lf)A * < T LPA L 04 1103 F 567 85 ? 2 STA P 191, O+l 111) Fib;% 95 23 STA PNTH( 14 iiii Fbr) AQ 06 RDA O<Tl,-4 r 7 jn I 1 1 ? 956 F Ji 24 TA PNTH H*
Ciel 1 13F 571Cb 13.
11, F 573 60 RTS
1113 F 574 OUFINI
_Illh, T A NXTIN T ()-O TH-INPUT 5 UFFER F 574 Ag no LOA don
F 576 85 1 _; I N I T IA
iiii r 57 'l 85 14 STA èIXTOUT 1 INITIALIZE TO OTH n UTP Uf '"u FFÉ 7-''-
111-7 F 57 A A 5 le STA e FO CLEAR
1123 F 57 C 95 IC STA OFI BUFFER
112 ? F 580 85 IE STA BF 3 PLAG
11 ? 1 F 582 Ag 40 LDA XSAO 1 INITIALIZE MSG REGISTER TO SH'IW* 112 1 Il?/, F 594 05 Il TA MESG Ra 1 NO MESSAGES READY TO XHIT
1125 F 586 60 r-
OD Ln Ln I'TERRU'JT INITIALIZATION 14 8 5 1 4204-MAR-82 PAGE 34 cj L 1 kf Fàfltl '32Al 14 source imi GE Cu 1 1 roi PAGE ll INTîAUPT INITIALIZATIONI
INITI&LIZE INTERRUPTS ROUTINE
i 27
1131 A-# SL-J?-
1 1 île
1132 SETINT
1134 Vi RQ O -D OC 90 STA S 1 r A t Lt INTERRUPTS I L -lt 4 'r F RR UP T FLA 1 1 '43F 597Aq 7 F LOA lis TF
1 LI 5 F 83 00 9 CI TA S 1 FR L AR-LAE
137 F 5 q F AD On 80 LDA' P,)Rtn READ THE STATE OF 'f HE WAN 59 1 ? 1 Fi 92 29 02 AN D Pi O 2 1 AND SET THE EDGE Df TECTOR IC 112) FOR 1131 F i 9 4FO O E Y IDA-30-UC MKER- W-à 1143 Fi 9 à A 9 JA LOA #ZIA 1 NEG CDGE Or C 92 J E,_ 1 LI F Sq B 4 C ?P F 5 j 4 p ST 12 1 CIA AND SA ALSO SET NEG Ta 4 NS ON CAI
114 ? STII 'POS TRANS UN CBIP PULSE OUT JN CA 2)
1143 F 9 BA 95 &
1144 STIZ
11115 F 590 80 OC 80 STA SPCR
1147 F 5 AO A 9FF TZ -T I n EgW ITH -THE, M AX.
1149 94 AZ Bc 08 PO STA T 2 LL t COUNT AND EN Ae LE T 4 E'Ea G-e INT.
1190 Aq À 9 AA LOA #SAA IA Am BARCODE ONLY 9 92 z MAGSTRIPE ONLY 9 114 q F 45 Pl Oq 80 STA T 2 crf 1 1 c 1F 3 AAC DO E80 STA SIER Ilr,2 F 5 AJ 60 RTS
1154 *XZFFFA 1 DEFINE THE VECTORS
1156 FFFC END
Pl y C O QUIT1 19T 1,%L 1 ZATI t 1-j 14 1:41 01-i Ai8 2 PAGF 3
LAAFL VALUF
C 1 O 1 1 3 3 74
01) O 9 41 3 34 33 î 4 î ? 4 j 344 464 4 * O -,.IJL r II 4O,),,) 3 40 3 36 33 4 4 3 45 460 4 77
-1 20 9 4 1
qtrn TH F 4 FO 24 3 : r, a j il C 2 il, 1 9 96 1),17 :b 5 1 53 09 % 75 S 571 Il 00 37 3 5 ? 395 3 97 495 1 a à 'Z F G n l el
')C OID ID 5 36 3 76
-à 7 1 R 1 7 72 10 31 11 19
1 10 1 C -bî 1 12 ') 00 1 D -6 q 1 12 1 3 O-) 1 E 70 Il p 1 T O 1-1) 7 39 541 5 52
IT AILE -, 3 4 3 1,4:7 99
Tvf)c F 3-% 5 3 5 791
UUFC p Ir 31-1 2 i -31 242; 144-412 750 762 26 &-9711-
997 q 99 1002
AUF 1 1 1F 574 143 -1115
SUFP 111 T 7 -1
Ln ú Hq 5 F 1 03 3 A -104 r.-ilr 2 006 F:105 1003 013 r 4 r"i D 1 C 0144 lob 11)09 014
1 C? 1010 11) 15
CHR C 14 T5032 89 259-281 101, 393 404 411
511 745 749 7915 761
CH-7 NUM (,)CO -45 958 1004 1102
C.K cuit 0039 -94 965 966 973 974
367 465 466 479 481 333 959 861
u't MCNTLCW 0000 -M 311 3 16 317 327 329 331 335
3 7 1 4 6 2-4 63 47 6 -4 7 8 832
Cllhjvc T FOFB 257 278 -î 99 C r UY T 0033 -90 3 5 4 62 378 384 dffl Cci FOF 7 -307 - 445 C 11 Fi Ab 408 -410 rci? Flrq 425 -433
)C 1 F 175 390 -382
1 e 14 F 2 24 -t 9 7e 489.
ncis Floc 436 -441#
F 1 -% C 405 -415
n C 40 Fi 06 437 -440 r-C F 1 2 -361 385 488 t(: 7 Flà 3 361 _ 369 -372 r r F 167 7 375 6 L 06 qú O lut b Lk 1 1 j I, - Ctoz; Lqs 6 L?-_ 9 z b d t U b 1 úgr 91, 9 cj 89 i ú 9 G 51 S &Z'id 4 UL, 4 ? 51 Il b t O,:a 2 6 L 16 't, L 41:i duel 4 j Lez M 19 Z 4 j z z51 > 1 N 1 ku Co bv j: 1 86 ot oeoi 9 ú 6 L 9 L 1 t O 9 d i "Il 9 Z 6 5 16 6 fl M ogî O G O D bli V 1 0 9 z eg ( 1 boi Hb 1 -,; i 6 z 9 q t JO:;j U JY:,'O 19 L 2 5 L 09 ú elixu çj 5 t L Z 9 k j 1 1 1 Xf cc zjoo LVZ 3 t; Ili i 29 l 16 ú d I:i "') z Z, 69 -> bv u'J=U Ltç L 041 c c i -;c 091 Lïl Qzd v 3 'z 1 o 1 _8 6 1 Isid Nt e D; 19 b 6 1 k 1 O é K, 9 L 1 4,5 Il oi O e -ci 7 b D i-,Co Lzg oiz -:) z:l D'o V D -A 9 IZ t 6 l V 9 ce to GL 5 t) 1 Zzi s lu Z 9 _ 15 1 Il J 1 Z, Uúl 1 1: ZOOU t L 6901 99 01 úci 1 1 E o V tenu
00 L 6
le 65 ' Ls- 61 t 6 01,? O t, 66 zi b fi 955 bts Kb v 1 b z:i tlti Zj cçg 1 zd FIS n ébs 4 a LU ju 1 ,' 75 V L c ,v Ju Z:j i; US 6162 51 1 92 zu m, 1; bi k DU i, S zii ç L( d but im 992 O Ci 2 9 c'a v (,'J (j 7 rood D" OLE Z 2 L tL) Xj b ( 1 e oz> Ju qe el 01 L 40:J 1 O JU Co Co OCI, 91 * L%ú JO ce 04 ul'Av S
Z Et Rit 65 9 90 1 ;_ fiú O HUMA v 1.
b bu; b
CEL VZL 51 ú:1 LAC
RIL 9 IL ú:1 s Ak, 529 Z 9 Ocd úAd ciú to L O cd k Ad TIL 60 L Z 69:)Oúd IAC tú 9 t 9 q ú 99 oizd 1 1 A_,, j L ZOL COL 569 6 9 6 9 L 99 16 1 ic(i 1 fq:) A c Lu 1 l-t 42-bol 000 Y VIGI O TT__ _ _Io O r VU j ICL, ZZL úIL dico INI"d -ZOO' dk Slid CA 969 ú 89 899 999 Z 9 099 1 pi soit ço Z 06 tbe ZRú 6 Z 9 Z Lit Oúú vaú 1 1 cúaú ocz EZZ L IZOO M 011 NU 2111 0111 cob 969 COL IPV L Zi
99 C 09 ú 9 L ' '-"CZC-0 HDHII,
I 61 68 C 'y L C ssi ztl_ voclo W(IS=t u ffil 11521 kzil obi ' J, 1 LO 1 A ul x \ LL t Do N 1 1 ', iv Tçac 15 oij,,i 0 00 (jo ')'c v ItLn 9601 - fl S, 6 Lú W 2 li: Borlo talc -1 S tel %D tzil ED 096 6 4 cç 1 1 uu ti 5 b
O rioco Abz;% ir.
951 9 ç 1 CO 15
s 9 z 602 Z 91 Z, ú 61obi ; 9 1 1 1 U 1 db% 1, t 9 CT-'SCCI9001 L 86 ú 86 S Lb L 96 9 esd LA 1 586 6 L 6 vîl>:i Os Et 141 J,) O 1 &és l Aszel 16 & 5 ee t-1 id AV b à tiri cz i zqri i Loj_i 56 6 Z 6 606 666 ffl ZL? Il iw, 1 úú 6 ïZ 6 (Júao -J
LIOI Zïi.
68 b_ 97 L 6 C'p e, 1 D td Z Zi 1 096 09 e b 1; 6 jd 1 1 j C (- 6 C 6, t ; livcj ait fie è Cita;J* 1: 1 1 %j ui Co -.bwmffl Nj t" %"r, V'm, W à Wè 1 vu L "l ON e toi ISL 61 C 3 1 i b A vz UU 'Ici 1 1 xx-, b toc z 6 z SLZ L 6 oc t, O x Z 601 Z 56 6178 'y b
é 1 > 8 tú-
0601 1 ? 88698 999
Lzco vq dw, 1 1 SOS ZOS 1 1 Yú li ezt úO 1 SOIT 199 6 9 OZZ LU lit oulio MZ 1 1 1 b(J 1 1L 99 599 45-C z ZU z a 1 -00 O klljmbl zz E a 1 ?",úb Lcoo J,4 w s 6 ci"O Sob -O 61 1 68 Zbs k 9 L 99 L ziao li eï 5 l
os 9-1 10 Il 98 6 ci-
6601 OL 6 'e 9 î fi M 9 úu CI _ Foob lizi OCR tit 900 ii 1 zl iEtt lit I b Q Gki 6 IL SOL L 69 169 zb QúC:o D ii e b Efvol 91 L toi lb 0100 O aï 1 P 4
ZZT 00 (Je 'Hil lh-
9 ZL #il L LL 9 SL 9 001 OZ 20 ïM.
j 6 L ad Alb 4 J> 11 zils V> Il 6 CIT ilis G O 01 ldvib
Offli S:4 141 l à.
ç 6 L 'JES:)bt:i 'Jz Jb Zab Lit Dous l'jus 6 t 001 J Esú oc 9000 SJ'Jv cis WE 7: iceu ir 4)d YS 56 L O;ï Fàrd xî;-,q 15 et$ OZ 611 Goût; celb &Il r PH 1,:i i b ibt j Jb 911 w:1 W 1 L lit 1 1 Mû Ln -4 Co Co

Claims (15)

REVENDICATIONS
1 Procédé de lecture d'une étiquette ( 3) à code à barres, caractérisé en ce qu'il consiste: (a) à produire un signal analogique à la suite du balayage de l'étiquette à code à barres, ce signal
analogique comprenant des signaux représentatifs de quanti-
tés de lumière réfléchie par des barres ( 51, 53, 55, 57, 59) et des espaces ( 52, 54, 56, 58) de l'étiquette à code à barres, les largeurs des barres et des espaces indiquant
si lesdites barres et lesdits espaces représentent un pre-
mier ou un second état logique (b) à amplifier et mettre en forme le signal
analogique pour produire un signal de données brutes compre-
nant plusieurs impulsions, les durées d'impulsions succes-
sives correspondant aux largeurs des barres successives, respectivement, de l'étiquette à code à barres, et les durées d'intervalles successifs entre lesdites impulsions
correspondant aux largeurs d'espaces successifs, respecti-
vement, ladite étiquette à code à barres comportant au moins un caractère ( 50) qui comprend plusieurs desdites barres et desdits espaces; (c) à mesurer les durées de plusieurs desdites impulsions et desdits intervalles d'au moins un caractère de l'étiquette à code à barres pour produire plusieurs nombres
de durées numériques représentatifs desdites durées, respec-
tivement, et à mémoriser ces nombres; (d) à calculer un premier nombre de référence; (e) à comparer chacun des nombres de durées numériques audit premier nombre de référence et à produire
un premier nombre binaire ayant plusieurs bits correspon-
dant, respectivementaux barres et aux espaces dudit carac-
tèrç, chacun desdits bits étant égal audit premier état
logique si l'un, correspondant, desdits nombres de durées.
numériques est inférieur audit premier nombre de référence, chacun desdits bits étant égal audit second état numérique si l'un, correspondant, desdits nombres de durées numériques est supérieur audit premier nombre de référence; (f) à déterminer si le premier nombre binaire
est un nombre acceptable conformément à un critère prédé-
terminé, et à décoder le premier nombre binaire, s'il est acceptable, pour déterminer la nature dudit caractère; et (g) à ajuster la valeur dudit premier nombre
de référence, d'une quantité prédéterminée, si ledit pre-
mier nombre binaire n'est pas acceptable, et à répéter
les étapes (e) et {f).
2 Procédé selon la revendication 1, caracté-
risé en ce que le critère prédéterminé comprend la néces-
sité, pour ledit premier nombre binaire, de posséder exactement un premier nombre prédéterminé de bits égaux
audit premier état logique.
3 Procédé selon la revendication 2, caracté-
risé en ce que l'ajustement consiste à diminuer le premier
nombre de référence si le nombre de bits égaux audit pre-
mier état logique dans le premier nombre binaire est inférieur audit premier nombre pr,édêterminé, afin que davantage de nombres de durées numériques puissent dépasser le premier nombre de référence ajusté et qu'un plus grand 'nombre de bits du premier nombre binaire puissent
ainsi devenir égaux au premier état logique.
4 Procédé selon la revendication 2, caracté-
risé en ce que ledit ajustement consiste à accroître le premier nombre de référence si le nombre de bits égaux au premier état logique dans le premier nombre binaire est supérieur audit premier nombre prédéterminé, afin que davantage de nombres de durées numériques puissent être inférieurs au premier nombre de référence ajusté et qu'ainsi davantage de bits dudit pre 4 ier nombre binaire puissent
étre égaux audit second état logique.
Procédé selon la revendication 1, caracté-
risé en ce que l'étiquette à code à barres comprend plu-
sieurs caractères ( 5) et en ce que l'étape (c) est exécu-
tée sur la totalité de l'étiquette à code à barres avant que l'étape (d) soit effectuée pour un premier desdits caractères.
6 Procédé selon la revendication 5, caracté-
risé en ce qu'il consiste à calculer un second nombre de
référence correspondant à un autre desdits caractères.
7 Procédé selon la revendication 1, caracté-
risé en ce que le premier nombre de référence est calculé par l'exécution de plusieurs décalages binaires de la somme de tous les nombres de durées numériques dudit caractère et en ce que ladite quantité prédéterminée de l'étape (g) est obtenue par l'exécution de plusieurs
décalages binaires sur ledit premier nombre de référence.
8 Procédé selon la revendication 7, caracté-
risé en ce que la valeur dudit premier nombre de référence
est soumise à un nombre d'ajustements pouvant atteindre 5.
9 Procédé selon la revendication 1, caractérisé
en ce que le décodage du premier nombre binaire est effec-
tué par référence à une table de consultation.
Procédé selon la revendication 5, caracté-
risé en ce qu'il consiste à choisir une fenêtre de carac-
tère qui encadre un seul caractère à la fois et à dépla-
cer ledit caractère pour provoquer le calcul d'un nombre de référence uniquement sur la base de nombres de durées
numériques compris dans un caractère et encadrés totale-
ment par ladite fenêtre de caractère, ce qui élimine les effets de signaux parasites pouvant être produits en dehors de la période de balayage des caractères de ladite
étiquette à code à barres.
11 Procédé de ledture d'une étiquette ( 3) à -code à barres, caractérisé en ce qu'il consiste: (a) à produire un signal analogique à la suite du balayage de l'étiquette à code à barres, ce signal analogique comprenant des signaux représentatifs de quantités de lumière réfléchie par des barres ( 51, 53, , 57, 59) et des espaces ( 52, 54, 56, 58) de l'étiquette à code à barres, les largeurs des barres et des espaces
indiquant si lesdites barres et lesdits espaces représen-
tent des premiers ou des seconds états logiques; (b) à amplifier et mettre en forme ledit signal analogique pour produire un-signal de données
brutes comprenant plusieurs impulsions, les durées d'im-
pulsions successives correspondant aux largeurs de-barres successives, respectivement, de l'étiquette à code à barres, les durées d'intervalles successifs entre lesdites impulsions correspondant aux largeurs d'espaces successifs,
respectivement, ladite étiquette à code à barres compre-
nant au moins une partie qui présente plusieurs desdites barres et desdits espaces; (c) à mesurer les durées desdites
impulsions et desdits intervalles sur au moins ladite par-
tie de l'étiquette à code à barres pour produire plusieurs nombres de durées numériques représentatifs desdites durées, respectivement, et à mémoriser ces nombres; (d) à calculer un premier nombre de référence; (e) à comparer chacun des nombres de durées numériques audit premier nombre de référence et à produire
un premier nombre binaire ayant plusieurs bits correspon-
dant respectivement aux barres et aux espcaces de ladite partie, chacun desdits bits étant égal audit premier état logique si l'un, correspondant, desdits nombres de durées numériques est inférieur au premier nombre de référence, chacun desdits bits étant égal audit second état logique
si l'un, correspondant, desdits nombres de durées numéri-
ques est supérieur audit premier nombre de référence; (f) à déterminer si le premier nombre binaire
est un nombre acceptable conformément à un critère prédé-
terminé, et à décoder le premier nombre binaire, s'il est acceptable, pour déterminer laquelle partie il représente; et (g) à ajuster la valeur dudit premier nombre
de référence, d'une quantité prédéterminée, si ledit pre-
mier nombre binaire n'est pas acceptable, et répéter les
étapes (e) et (f).
12 Appareil de lecture d'une étiquette ( 3) à
code à barres, caractérisé en ce qu'il comporte un dispo-
sitif ( 7) destiné à produire un signal analogique à la suite du balayage de l'étiquette à code à barres, ledit signal analogique comprenant des signaux représentatifs de quantités de lumière réfléchie par des barres ( 51, 53, , 57, 59) et des espaces ( 52, 54, 56, 58) de l'étiquette à code à barres, les largeurs desdites barres et desdits espaces indiquant si les barres et les espaces représentent des premiers ou des seconds états logiques, un dispositif ( 11) destiné à amplifier et mettre en forme ledit signal analogique pour produire un signal de données brutes comprenant plusieurs impulsions, les durées d'impulsions
successives correspondant aux largeurs des barres succes-
sives, respectivement, de l'étiquette à code à barres,
les durées d'intervalles successifs entre lesdites impul-
sions correspondant aux largeurs d'espaces successifs, respectivement, et l'étiquette à code à barres comportant au moins un caractère qui présente plusieurs barres et
plusieurs espaces, l'appareil comportant en outre un dis-
positif ( 15) destiné à mesurer les durées de plusieurs desdites impulsions et desdits intervalles d'au moins un
caractère d'étiquette à code à barres pour produire plu-
sieurs nombres de durées numériques représentatifs desdites durées, respectivement, et à mémoriser lesdits nombres de durées numériques, un dispositif ( 21) destiné à calculer un premier nombre de référence, un dispositif ( 21) destiné à comparer chacun desdits nombres de durées numériques audit premier nombre de référence et à produire
un premier nombre binaire ayant plusieurs bits correspon-
dant, respectivement, aux barres et aux espaces dudit caractère, chaque bit étant égal audit premier état logique si l'un, correspondant, desdits nombres de durées numériques est inférieur audit premier nombre de référence, chaque bit étant égal audit second état logique si l'un, correspondant, desdits nombres de durées numériques est supérieur audit premier nombre de référence, un dispositif destiné à déterminer si le premier nombre binaire est un nombre acceptable conformément à un critère prédéterminé,
et à décoder le premier nombre binaire, s'il est accep-
table, pour déterminer la nature du caractère, et un dispositif ( 21) destiné à régler la valeur dudit premier nombre de référence, d'une quantité prédéterminée, si le
premier nombre binaire n'est pas acceptable.
13 Appareil selon la revendication 12, carac-
térisé en ce que le critère prédéterminé comprend la
nécessité, pour le premier nombre binaire, de posséder exacte-
ment un premier nombre prédéterminé de bits égaux au
premier état logique.
14 Appareil selon la revendication 13, carac-
térisé en ce que le dispositif d'ajustement comprend un élément destiné à diminuer le premier nombre de référence si le nombre de bits égaux au premier état logique, dans le premier nombre binaire, est inférieur audit premier nombre prédéterminé, de manière que davantage de nombres de durées numériques puissent dépasser le premier nombre de référence ajusté et qu'ainsi davantage de bits du premier nombre binaire puissent être égaux audit premier
état logique.
Appareil selon la revendication 13, carac-
térisé en ce que le dispositif d'ajustement comprend un élément destiné à accroître le premier nombre de référence si le nombre de bits égaux au premier état logique, dans le premier nombre binaire, est supérieur au premier nombre prédéterminé, de manière que davantage de nombres de durées numériques puissent être inférieurs au premier nombre de référence ajusté et qu'ainsi davantage de bits du premier nombre binaire puissent être égaux au second
état logique.
16., Appareil selon la revendication 12, carac-
térisé en ce que l'étiquette ( 3) à code à barres comprend
plusieurs caractères ( 5).
17 Appareil selon la revendication 16, carac-
térisé en ce qu'il comporte un dispositif ( 21) destiné à calculer un second nombre de référence correspondant à
un autre desdits caractères.
18 Appareil selon la revendication 12, carac-
térisé en ce que le décodage du premier nombre binaire
est effectué par référence à une table de consultation.
19 Appareil selon la revendication 16, caracté-
risé en ce qu'il comporte un dispositif ( 21) destiné à choisir une fenêtre de caractère qui encadre un seul caractère à la fois et qui déplace ledit caractère pour provoquer le calcul d'un nombre de référence uniquement sur la base de nombres de durées numériques compris dans un caractère encadré totalement par ladite fenêtre, ce qui élimine les effets de signaux parasites pouvant être
produits en dehors de la période de balayage des carac-
tères de l'étiquette à code à barres.
Appareil selon la revendication 12, caracté-
risé en ce que le dispositif produisant un signal analo-
gique comprend un crayon-lecteur ( 7), en ce que le dispo-
sitif de mesure comprend un compteur qui compte à une vitesse prédéterminée, et en ce que le dispositif de calcul, le dispositif de comparaison et le dispositif
d'ajustement sont compris dans un système à microproces-
seur ( 21).
I; Il:e 1 h e 1 e.
î -
FR828219388A 1982-04-21 1982-11-19 Procede et appareil de lecture d'une etiquette a code a barres Expired - Fee Related FR2525788B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/370,373 US4438327A (en) 1982-04-21 1982-04-21 Bar code reading system and method

Publications (2)

Publication Number Publication Date
FR2525788A1 true FR2525788A1 (fr) 1983-10-28
FR2525788B1 FR2525788B1 (fr) 1991-01-25

Family

ID=23459355

Family Applications (1)

Application Number Title Priority Date Filing Date
FR828219388A Expired - Fee Related FR2525788B1 (fr) 1982-04-21 1982-11-19 Procede et appareil de lecture d'une etiquette a code a barres

Country Status (5)

Country Link
US (1) US4438327A (fr)
JP (1) JPS58189773A (fr)
DE (1) DE3306088C2 (fr)
FR (1) FR2525788B1 (fr)
GB (1) GB2118752B (fr)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528443A (en) * 1982-04-21 1985-07-09 Burr-Brown Corporation Bar code reading system and method
GB2202664B (en) * 1985-10-22 1990-08-15 Garry Douglas Robb Automated service systems
US4794239A (en) * 1987-10-13 1988-12-27 Intermec Corporation Multitrack bar code and associated decoding method
US4855581A (en) * 1988-06-17 1989-08-08 Microscan Systems Incorporated Decoding of barcodes by preprocessing scan data
US5177346A (en) * 1989-12-13 1993-01-05 Computer Identics Bar code reader system for reading bar code labels with a highly specular and low contrast surface
US4992650A (en) * 1990-03-29 1991-02-12 International Business Machines Corporation Method and apparatus for barcode recognition in a digital image
WO1993003455A1 (fr) * 1991-08-02 1993-02-18 Intermec Corporation Procede et appareil de lecture de symboles
JP2740418B2 (ja) * 1992-07-14 1998-04-15 富士通株式会社 バーコード読取復調方法
US5550362A (en) * 1992-11-20 1996-08-27 Intermec Corporation Method and apparatus for calibrating a bar code scanner
DE4323293C2 (de) * 1993-07-12 1996-07-25 Sick Optik Elektronik Erwin Verfahren und Abtastanordnung zur Identifizierung eines aus aufeinanderfolgenden hellen und dunklen Feldern bestehenden Codes
US5708261A (en) * 1995-10-02 1998-01-13 Pitney Bowes Inc. Bar code decoding with speed compensation
DE19705225A1 (de) * 1997-02-12 1998-08-20 Leuze Electronic Gmbh & Co Optoelektronischer Sensor
US6394952B1 (en) 1998-02-03 2002-05-28 Adeza Biomedical Corporation Point of care diagnostic systems
US6267722B1 (en) 1998-02-03 2001-07-31 Adeza Biomedical Corporation Point of care diagnostic systems
USD432244S (en) * 1998-04-20 2000-10-17 Adeza Biomedical Corporation Device for encasing an assay test strip
USD434153S (en) * 1998-04-20 2000-11-21 Adeza Biomedical Corporation Point of care analyte detector system
DE19843688C2 (de) * 1998-09-24 2003-04-24 Wst Steuerungstechnik Gmbh Verfahren zum Lesen eines Barcodes
JP3548025B2 (ja) * 1998-12-17 2004-07-28 富士通株式会社 バーコード読取装置および方法
DE19936440C2 (de) * 1999-08-03 2003-12-24 Leuze Electronic Gmbh & Co Kg Optoelektronische Vorrichtung
CN104380308A (zh) * 2012-05-31 2015-02-25 Opto电子有限公司 读入设备、读入结果输出方法和程序

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3838251A (en) * 1971-06-29 1974-09-24 Monarch Marking Systems Inc Method of interpreting a coded record
US3886521A (en) * 1972-03-29 1975-05-27 Monarch Marking Systems Inc Coded record and methods of and apparatus for encoding and decoding records
US4146782A (en) * 1977-08-05 1979-03-27 Process Computer Systems, Inc. Decoder system for light pen bar code reader
WO1980002759A1 (fr) * 1979-05-30 1980-12-11 Ncr Co Systeme d'exploration a fente
FR2490848A1 (fr) * 1980-09-22 1982-03-26 Dassault Electronique Appareil de saisie d'informations issues de la lecture d'une inscription en code a barres

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE360398B (fr) * 1972-02-24 1973-09-24 Lindholm J
JPS6014829Y2 (ja) * 1980-06-13 1985-05-11 東芝住宅産業株式会社 水槽

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3838251A (en) * 1971-06-29 1974-09-24 Monarch Marking Systems Inc Method of interpreting a coded record
US3886521A (en) * 1972-03-29 1975-05-27 Monarch Marking Systems Inc Coded record and methods of and apparatus for encoding and decoding records
US4146782A (en) * 1977-08-05 1979-03-27 Process Computer Systems, Inc. Decoder system for light pen bar code reader
WO1980002759A1 (fr) * 1979-05-30 1980-12-11 Ncr Co Systeme d'exploration a fente
FR2490848A1 (fr) * 1980-09-22 1982-03-26 Dassault Electronique Appareil de saisie d'informations issues de la lecture d'une inscription en code a barres

Also Published As

Publication number Publication date
GB2118752A (en) 1983-11-02
JPS6224836B2 (fr) 1987-05-30
JPS58189773A (ja) 1983-11-05
DE3306088C2 (de) 1995-04-27
DE3306088A1 (de) 1983-10-27
GB8310521D0 (en) 1983-05-25
US4438327A (en) 1984-03-20
FR2525788B1 (fr) 1991-01-25
GB2118752B (en) 1985-10-09

Similar Documents

Publication Publication Date Title
FR2525788A1 (fr) Procede et appareil de lecture d&#39;une etiquette a code a barres
JP3495739B2 (ja) 小包情報読み取りシステムおよび方法
EP3051469A1 (fr) Procédé et appareil pour l&#39;identification et le suivi d&#39;une unité et d&#39;un récipient
NO773359L (no) Baerbar optisk tegnleseinnretning.
CN106056112B (zh) 图像处理装置及图像处理方法
CN107045632A (zh) 用于从成像文件提取文本的方法和设备
WO2005111989B1 (fr) Procede et dispositif de traitement de trames images permettant d&#39;afficher des images animees sur une variete d&#39;afficheurs
US20180239936A1 (en) Barcode tag detection in side view sample tube images for laboratory automation
CN106951904A (zh) 图像识别装置
NL7905895A (nl) Formulierenlezer.
JPS61262867A (ja) デ−タ処理システム
CN111882606A (zh) 一种基于深度学习的货架商品分层方法
CN104662590A (zh) 运动图像识别装置以及运动图像识别方法
US3668637A (en) Character reader having optimum quantization level
CN115760991A (zh) 凤梨花芯的定位方法、灌药方法、装置、电子设备及介质
CN101593271A (zh) 卡牌游戏机中人物身份识别系统
CN100501762C (zh) 图像连通元快速标记的方法
US4514622A (en) Method and apparatus for identification of objects
CN110751994B (zh) 一种病历模板的差异化显示方法和系统
CN204087220U (zh) 一种电子商务用二维条码扫描器系统
JPH0130184B2 (fr)
CN108921081B (zh) 用户操作的检测方法和装置
CN110494858A (zh) 代码读取装置、方法和程序
JP4074655B1 (ja) 画像処理装置、ラベル検査装置、及び画像処理方法
Yang et al. Dental size variation in admixed Latin Americans: Effects of age, sex and genomic ancestry

Legal Events

Date Code Title Description
TP Transmission of property
TP Transmission of property
ST Notification of lapse