FR2487095A1 - Microcalculateur comportant des possibilites d'affichage video - Google Patents

Microcalculateur comportant des possibilites d'affichage video Download PDF

Info

Publication number
FR2487095A1
FR2487095A1 FR8109848A FR8109848A FR2487095A1 FR 2487095 A1 FR2487095 A1 FR 2487095A1 FR 8109848 A FR8109848 A FR 8109848A FR 8109848 A FR8109848 A FR 8109848A FR 2487095 A1 FR2487095 A1 FR 2487095A1
Authority
FR
France
Prior art keywords
memory
register
data
address
bus
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
FR8109848A
Other languages
English (en)
Other versions
FR2487095B1 (fr
Inventor
Wendell B Sander
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of FR2487095A1 publication Critical patent/FR2487095A1/fr
Application granted granted Critical
Publication of FR2487095B1 publication Critical patent/FR2487095B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/28Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using colour tubes
    • G09G1/285Interfacing with colour displays, e.g. TV receiver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/222Control of the character-code memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/222Control of the character-code memory
    • G09G5/227Resolution modifying circuits, e.g. variable screen formats, resolution change between memory contents and display screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Memory System (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

ENSEMBLE DE MICROCALCULATEUR AVEC POSSIBILITES D'AFFICHAGE VIDEO. LA PERFORMANCE DE L'UNITE CENTRALE 65 EST AMELIOREE EN PERMETTANT LE STOCKAGE DE DONNEES DE PAGE ZERO DANS TOUTE LA MEMOIRE 59, 60. LE MONTAGE QUI ASSURE CETTE POSSIBILITE FOURNIT EN OUTRE UN POINTEUR PERMETTANT UN ACCES DIRECT A LA MEMOIRE 59, 60 AMELIORE. GRACE A UN MONTAGE ORIGINAL RESSEMBLANT A LA "COMMUTATION PAR BLOC" ON OBTIENT UNE STRUCTURATION AMELIOREE DE LA MEMOIRE 59, 60. DES SIGNAUX NUMERIQUES DE QUATRE BITS SONT CONVERTIS EN UN SIGNAL DE CHROMINANCE DE COURANT ALTERNATIF ET EN UN SIGNAL DE LUMINANCE SEPARE POUR LES MODES D'AFFICHAGE SOUS-SYSTEME D'AFFICHAGE 48. LES MODES D'AFFICHAGE COMPRENNENT DES MODES A HAUTE DEFINITION, DONT L'UN AFFICHE 80 CARACTERES PAR LIGNE. LE MICROCALCULATEUR CONVIENT PARTICULIEREMENT BIEN POUR DES APPLICATIONS A DE PETITS COMMERCES ET A L'USAGE DOMESTIQUE.

Description

La présente invention se rapporte au domaine des - calculateurs numériques
et concerne en particulier des microcalculateurs ou micro- ordinateurs comportant des
possibilités d'affichage vidéo.
- Au cours de ces quelques dernières années, il a s'est produit un accroissement rapide dans l'utilisation de calculateurs numériques à la maison par des amateurs
de passe-temps divers, pour l'artisanat ou le petit com-
merce et pour des applications technologiques et scienti-
fiques de routine. Dans leur majeure partie, ces besoins
ont été satisfaits par des microcalculateurs ou micro-
processeurs autonomes relativement-peu coûteux, munis de périphériques essentiels, y compris des unités de disques et des programmes de calculateur relativement faciles à
gérer. La conception de calculateurs destinés à satis-
faire à ces besoins exige une ingéniosité considérable, étant donné que chaque calculateur doit se prêter à une large gamme d'applications et en raison du Lait que ce
marché est particulièrement sensible au coût.
Un calculateur domestique ou pour petit commerce doit, par exemple, fonctionner avec un certain nombre-de langages de programmation différents, y compris ceux qui exigent des mémoires relativement grandes, tels que le Pascal. Le calculateur doit être relié à un affichage
balayé à trame standard et offrir une large gamme de pos-
sibilités d'affichage, tels que les affichages de carac-
- tères alphanumériques à forte densité nécessaires pour le traitement de mots en plus d'affichages graphiques à
haute définition.
La satisfaction de ces besoins de calculateurs spé-
cialisés exige généralement l'utilisation d'un micropro-
cesseur relativement peu coûteux et l'amélioration des
possibilités de ce processeur par des techniques de monta-
ge. Cela abaisse le coût total du calculateur en rédui-
sant par exemple, les besoins en énergie, les structures de bus, etc. Une autre considération importante réside en ce que les nouveaux calculateurs doivent être capables d'utiliser des programmes mis au point pour des modèles antérieurs. Comme on le verra plus loin, le microcalculateur décrit ici convient de manière idéale aux applications domestiques et de petit commerce. Il offre une large
gamme de possibilités, y compris des possibilités d'af-
fichage d'avant-garde qu'on ne trouve pas dans les cal-
culateurs comparables de la technique antérieure.
Le calculateur de la technique antérieure le plus voisin connu du Déposant est disponible dans le commerce sous la marque de fabrique Apple- II. Certaines parties
de ce calculateur sont décrites dans le brevet US nO -
4 136 359.
Un calculateur numérique comprenant une unité
centrale de traitement (CPU) et une mémoire à accès di-
rect (RAM) avec un bus d'adresses et un bus de données
d'interconnexion. L'un des aspects de la présente in-
vention réside en ce qu'on a augmenté les possibilités de l'unité centrale en permettant le stockage de données de page de base ou page zéro dans toute la mémoire. Des
emplacements de pile de variante et une possibilité amé--
liorée d'accès direct à la mémoire sont également assurés par le même montage. Le-moyen, de détection est utilisé pour détecter une zone d'adresses prédéterminée telle que la page zéro. Ce moyen de détection provoque le couplage
d'un registre spécial (recistre "Z") avec le bus d'adres-
ses. Le contenu de ce registre "Z" fournit, par exemple, un pointeur au cours de l'accès direct à la mémoire ou des emplacements de pile de variante pour enregistrer des
données normalement stockées sur la page une.
La mémoire du calculateur suivant l'invention est
organisée d'une manière inhabituelle pour assurer une com-
patibilité avec le bus de données à huit bits tout-en as-
surant les débits binaires élevés (16 bits/lVHz) nécessai-
res pour des affichages à haute définition. Une première pluralité de dispositifs de mémoire sont connectés à un premier bus de sortie de mémoire; ces dispositifs de mémoire sont également connectés au bus de données. La
mémoire comprend encore une seconde pluralité de disposi-
tifs de mémoire qui sont également connectés au bus de
données; toutefois, les sorties de ces seconds disposi-
tifs sont couplées avec un second bus de mémoire de sor-
tie. Des premiers moyens de commutation permettent aux
premier et second bus de mémoire d'être connectés à l'af-
fichage pour assurer des transferts à un débit binaire éle vé. Des seconds moyens de commutation permettent à l'un ou l'autre des bus de mémoire d'être connecté au bus de
données -aut cours de modes de non-affichage.
La capacité d'adressage de la mémoire est considé-
rablement élargie, non seulement grâce à une commutation par bloc mais encore grâce à une restauration nouvelle, qui n'exige pas la commande d'unité.centrale associée à la commutation par bloc. En effet, les bits "inutilisés" provenant de l'un des premier et second bus de mémoire sont utilisés*à des fins de restructuration. Ce mode de fonctionnement est particulièrement efficace pour assurer
une inversion entre deux parties séparées de la mémoire.
Le sous-ensemble d'affichage-du calculateur décrul
engendre un signal douleur vidéo d'une manière originale.
Un code de couleur de quatre bits déjà utilisé dans la
technique antérieure est également utilisé avec le sous-
ensemble d'affichage décrit. Toutefois, dans ce dernier,
ce code est utilisé pour engendrer un signal de chrominan-
ce de courant alternatif et un signal de luminance de cou-
rant continu séparé. Cela permet des possibilités de cou-
leur élargies par rapport aux affichages en couleur analo-
gues de la technique antérieure.
L'invention sera mieux comprise à la lecture de
la description détaillée qui suit et à l'examen des des-
sins joints qui en représentent, à titre d'exemple non
limitatif, un mode de réalisation.
Sur ces dessins: la figure 1 est un schéma symbolique représentant les organes et sous-ensembles principaux de l'ensemble de microcalculateur suivant l'invention décrit ci-après; les figures 2 et 3 représentent ensemble l'unité
centrale et l'architecture associée à celle-ci, en parti-
culier le bus d'adresses et le bus de données. La figure 2 est un schéma de montage représentant principalement le
bus d'adresses et les-moyens logiques associés à ce bus.
La figure 3 est un schéma de montage-représentant princi-
palement le bus de données et son interconnexion avec les
bus de mémoire (bus A et bus B), une mémoire morte "d'ini-
-tialisation" et des bornes d'entrée/sortie; les figures 4, 5 et 6 représentent le sous-ensemble
de mémoire. La figure 4 est un schéma de montage repré-
sentant principalement les circuits de sélection entre des
signaux-d'adresse provenant du bus d'adresses et des si-
gnaux de compteur d'affichage. La figure-5 est un schéma de montage représentant principalement la génération de
divers signaux de sélection pour les dispositifs de mémoi-
-re. La figure 6 est un schéma de montage représentant
l'organisation de la mémoire à accès direct et son inter-
connexion avec le bus de données et les bus de sortie de la mémoire;, Les figures 7 et 8 représentent le sous-système
d'affichage du calculateur suivant l'invention. La fi-
gure 7 est un schéma de montage représentant les circuits
de génération des signaux numériques utilisés pour l'af--
fichage vidéo. La figure 8 est un schéma de montage des circuits utilisés pour convertir les signaux numériques en signaux vidéo analogiques, et la figure 9 est un graphique de plusieurs formes
d'onde utilisé pour décrire un montage de la technique an-
térieure et le montage de la figure 8.
Un ensemble de microcalculateur capable de comman-
der un affichage vidéo balayé à trame est décrit ci-après.
Dans la description qui va suivre, de nombreux détails
- spécifiques, tels que des numéros d'article particuliers,
des fréquences d'horloge, etc., sont indiqués pour per-
mettre une compréhension totale de l'invention. Toute-
- fois, il est clair pour un spécialiste de cette techni- que que les concepts inventifs décrits ici peuvent être mis en pratique sans ces détails spécifiques. Dans d'autres cas, des circuits bien connus ont été réalisés sous forme de schéma symbolique afin de ne pas noyer la
- description de l'invention dans des détails inutiles.
On va tout d'abord se référer à la figure 1, sur laquelle on peut voir que le calculateur décrit comprend
essentiellement une unité centrale 65, son bus de don-
nées associé 42, un bus d'adresses 46, un sous-ensemble
de mémoire et un sous-ensemble d'affichage 58.
Le bus d'adresses 46 partant de l'unité centrale
est couplé avec le sous-ensemble de mémoire pour permet-
tre la sélection d'emplacements dans la mémoire. Cer-
tains des signaux d'adresse traversent un multiplexeur 47.
Pour certains modes de fonctionnement, des signaux prove-
nant d'un registre 52 sont appliqués par l'intermédiaire
du multiplexeur 47, au bus 46. Le- registre 52 est égale-
ment désigné sous le nom de registre "Z" et est couplé
avec le multiplexeur 47 par le bus "Z". La description
générale du multiplexeur 47 et de sa commande par le cir-
cuit logique 41 est donnée plus loin de façon détaillée en référence à la figure 2. D'une manière générale, le
montage représenté à gauche de la ligne en trait interrom-
pu 53 est inclus dans la figure 2, tandis que l'unité centrale 65, la mémoire 50, le bus de données 42 et le multiplexeur 43 sont représentés de façon détaillée sur
la figure 3.
Le bus d'adresses Ni est couplé avec la mémoire morte 50. La sortie de cette mémoire est couplée avec le bus de données 42 du calculateur. La mémoire morte (ROM) , comme décrit plus loin, stocke des sous-programmes de test, et autres données de nature générale "initiale" en
vue de l'initialisation de l'ensemble.
Le bus de données 42 transmet des données à la
mémoire à accès direct (RP) 60 ainsi que vers des bor-
-- nes d'entrée-sortie et à partir de telles bornes. Ce bus applique également des données au registre Z, 52 -et
à d'autres registres couramment utilisés, non représentés.
Le bus de données 42 reçoit des données de la mémoire RAM 60 par l'intermédiaire du bus A et du bus B, dont la sélection est assurée par le multiplexeur 43. Le bus de périphériques N2 est utilisé, comme représenté clairement
sur la:igure 3, pour un couplage avec des périphériques.
Le sous-ensemble de mémoire est représenté de fa-
çon détaillée sur les figures 4, 5 et 6. Le moyen de com-
mande d'adresse, qui reçoit des adresses sur le bus 46, effectue la sélection finale d'emplacements de mémoire
dans la mémoire RAM 60. La commutation par bloc, l'a-
dressage à des fins d'affichage, le défilement et autres opérations de structuration de la mémoire sont commandés par le moyen de commande d'adresse 59, comme décrit plus loin de façon plus détaillée en référence aux figures 4
et 5.- La mémoire RAM 60 est représentée de façon détail-
lée sur la figure 6. Le compteur 58, qui est synchroni-
sé avec les signaux d'affichage horizontaux et verticaux,
transmet des signaux à la fois au moyen de commande d'a-
dresse 59 et au sous-ensemble d'affichage 48.
Le sous-ensemble d'affichage reçoit des données
de la mémoire RAM 60 sur le bus A et sur le bus B et con-
vertit ces signaux numériques en signaux vidéo, qui com-
mandent un affichage balayé à trame standard. Un signal couleur NTSC standard est engendré sur le conducteur 197
et un signal vidéo noir et blanc est engendré sur le con-
ducteur 198. Les signaux utilisés pour engendrer ces si-
gnaux vidéo peuvent également être utilisés pour engendrer
des signaux vidéo de rouge, de vert et de-bleu (RGB) sépa-
rés. Le sous-ensemble d'affichage 48 reçoit de nombreux signaux de temporisation, y compris le signal de référence
couleur standard représenté comme étant à 3,5 MHz (C3.5m).
Ce sous-ensemble est décrit de façon détaillée sur les fi-
gures 7 et 8.
On va maintenant décrire l'architecture du calcu-. lateur. Dans le mode de réalisation actuellement préféré, l'unité centrale 65 (microprocesseur) utilisée avec le
calculateur décrit est un organe disponible dans le com-
merce, le 6502A. Ce processeur à huit bits (bus de données
à huit bits), qui comporte un bus d'adresses à seize bits.
est représenté sur la figure 3 avec ses interconnexions avec le reste du calculateur. Le numéro de broche associÉ à chaque interconnexion est indiqué près du conducteur correspondant. Dans de nombreux cas, la nomenclature associée au 6502A (unité centrale 65) est utilisée dans
la présente description. Par exemple, la broche 6 reçoit
le signal d'interruption non masquable (NiMI) et la broche 4 est couplée de manière à recevoir le signal de demande d'interruption (IRQ). Certains des signaux utilisés avec
l'unité centrale 65, qui sont bien connus dans cette tech-
nique et-qui ne sont pas nécessaires à la compréhension de l'invention, ne sont pas décrits de façon détaillée ici; il en est ainsi, par exemple, des divers signaux de synchronisation et des divers signaux d'horloge. Les signaux d'adresse provenant de l'unité centrale 65 sont identifiés par Ao-A7 et A8-A15. Les signaux de données
associés à l'unité centrale 65 sont indiqués par D0-D7.
Comme il apparaîtra clairement au spécialiste de cette technique, les concepts inventifs décrits ici peuvent
être utilisés avec d'autres microprocesseurs.
On va maintenant se référer aux figures 2 et 3, o
l'on voit clairement l'architecture générale, en particu-
lier l'architecture associée à l'unité centrale 65. Les signaux d'adresse AO-A7 sont couplés avec un tampon 103 par le bus représenté principalement sur la figure 2. Ce signaux d'adresse sont également couplés avec la mémoire ROM 50. Les signaux Ao-, après avoir traversé le tappon -103, sont appliqués au sous-ensemble de mémoire. Les signaux d'adresse A8-A15 (bits d'adresse de plus fort poids) sont appliqués, par l'intermédiaire de conducteurs représentés sur la figure 2, aux multiplexeurs 47a et
47b. Le contenu du registre Z, 52 de la figure 1 est é-
galement transmis aux multiplexeurs 47a et 47b par 1'in-
termédiaire du bus Z (Z1-Z7). Les multiplexeurs 47a et
47b permettent la sélection, soit des signaux A8-A15 pro-
venant de l'unité centrale 65, soit du contenu du registre Z (Z1-z7) pour adresser la mémoire RAM 60. Les sorties
de ces multiplexeurs sont désignées.par A8-A15; cette dé-
signation est utilisée même lorsque c'est le bus Z qui est choisi par la sélection. On remarquera que, dans le cas du signal Z0, ce signal est appliqué au multiplexeur 47a par l'intermédiaire de la porte OU EXCLUSIF 90 pour des raisons qui seront expliquées plus loin. Les signaux d'adresse A8-A11 sont également transmis à la mémoire
ROM 50 et, par conséquent, les signaux AO-A11l sont utili-
ses pour adresser la mémoire ROM 50. Les signaux A8-A15 sont appliqués au circuit logique représenté dans l'angle inférieur de gauche de la figure 2; ce circuit logique
correspond au circuit logique 41 de la figure 1.
Les signaux de données d'entrée et de sortie de l'unité centrale 65 sont couplés par un bus directionnel avec le tampon bidirectionnel 99 (figure 3). Ce tampon est sélectivement mis hors d'action par la porte 100 pour permettre à la sortie de la mémoire ROM 50 d'être mise en
communication avec l'unité centrale 65 et pendant d'au-
tres périodes qui sortent du cadre du présent exposé.
Le sens de circulation des données à travers le
tampon 99 est commandé par un signal lecture/écriture ap-
pliqué-à ce tampon par l'intermédiaire de la porte d'in-
version 101 (ce type de porte sera dit ci-après simplement "inverseur"). Les données provenant de l'unité centrale sont transmises, par l'intermédiaire du tampon 99 et
du bus 42, à la mémoire RAM 60 ou à des bornes d'entrée-
sortie. Les données provenant de la mémoire RAM 60 sont communiquées à l'unité centrale 65 ou au bus N2 à partir
du bus A et du bus B par l'intermédiaire du tampon 99.
Quatre des conducteurs du bus A et quatre des conduc-
teurs du bus B sont couplés avec le multiplexeur 43a.
D'une manière analogue, les quatre autres conducteurs du bus A et les quatre autres conducteurs du bus B sont couplés avec le multiplexeur 43b. Les multiplexeurs 43a et 43b choisissent, soit les huit conducteurs du bus A, soit les huit conducteurs du bus B, et communiquent les -données, par l'intermédiaire de ces bus, au tampon 99 et au bus 42. Ces multiplexeurs sont sélectivement mis hors d'action (par exemple pendant l'écriture) par la porte 102. Comme décrit plus loin, les seize conducteurs des bus A et B permettent la lecture de seize bits à la fois dans la mémoire-RAM. Cela assure un débit binaire de 16 bits/MHz qui est nécessaire, par exemple, pour un affichage de 80 caractères par ligne. Les données sont chargées dans la mémoire RAM 60 à raison de huit bits à
la fois.
- La mémoire ROM 50, comme décrit précédemment, stocke des programmes de test, des données nécessaires à l'initialisation de divers registres, des données de génération de caractères (pour la mémoire RAM 162 de la
figure 7) et d'autres données apparentées. Des program-
mes spécifiques utilisés dans le mode de réalisation ac-
tuellement préféré du calculateur sont indiqués dans le tableau 1. La mémoire ROM 50 est choisie par des signaux de commande appliqués à ses broches 18 et 20 et désignés sous le nom de "signal ROM SEL" et "signal T ROM SEL". On peut utiliser comme mémoire ROM 50 l'une quelconque d'une
pluralité de mémoires mortes disponibles dans le commerce.
Dans le mode de réalisation actuellement préféré, on
utilise l'article no SY2333 disponible dans le commerce.
On va maintenant examiner ce circuit logique -10 (angle inférieur gauche de la figure 2); comme on peu -le voir sur cette figure, la porte NON ET 81 reçoit le
signal d'adresse A8 ainsi que le signal de pile de va-
riante désigné par ALT STK. La sortie de cette porte alimente l'une des entrées de la porte ET 87. Le signal
A8 est également appliqué, par l'intermédiaire de l'in-
verseur 82,' à l'une des bornes d'entrée de chacune des portes NON ET 85 et 86. Les signaux d'adresse A9 et Aio
sont appliqués aux bornes d'entrée de la porte NON OU 83.
La sortie de cette porte est couplée avec l'une des bor-
nes d'entrée de chacune des portes NON ET 85 et 86 et de
la porte ET 87. Les signaux d'adresse A11-A15 sont appli-
qués aux bornes d'entrée de la porte NON OU 84. Le si-
gnal:.A1 est également appliqué à une borne d'entrée de
la porte NON ET 85.
Les sorties des portes ET 87 et 88 (par l'inte-ré-
diaire de la porte NON OU 89) commandent les multiplexeurs 47a et 47b. Lorsque la sortie de la porte 89 est basse, le bus "Z" est choisi, sinon ce sont les signaux d'adresse
provenant de l'unité centrale 65 qui sont choisis.
Le circuit logique décrit ci-dessus, conjointement avec le bus "Z" et le registre "Z", assure une perforance améliorée du calculateur. En premier lieu, ce circuit permet le stockage de données de page zéro ou page de base dans toute la mémoire RAPI 60 et non plus seulement
sur la page zéro. En second lieu, ce circuit permet d'a-
dresser des emplacements de pile de variante (autres que
la page une). Enfin, ce circuit établit, par l'intermeé-
diaire du registre "Z", un pointeur de mémoire RAM pour
l'accès direct à la mémoire (DMA).
On supposera pour les besoins de l'exposé que l'unité centrale 65 est en train d'adresser la page zéro de la mémoire. En d'autres termes, dans cette hypothèse, les bits d'adresse de plus fort poids A8-A15 sont tous
des zéros. Les zéros des bits A9-A15 sont détectés poar-
les portes-83 et 84. Si toutes les entrées de ces portes sont des zéros, les sorties de ces portes sont hautes, éta
- qui est communiqué à la porte 87. Le bit A8, qui est éga-
lement bas, assure un niveau haut à la sortie de la porte 81. Par conséquent, toutes les entrées de la porte 87 sont hautes, ce.qui fait tomber au niveau bas le signal de sortie de la porte 89. Lorsque cela se produit, le bus "Z" est choisi. Au lieu que tous les zéros binaires provenant de l'unité centrale soient transmis à la mémoirE centrale (mémoire RAM 60), le contenu du registre "Z"
- fait partie de l'adresse d'accès à la mémoire. En consé-
quence, même si l'unité centrale 65 a choisi la page zéro,
des données peuvent néanmoins être-écrites à un emplace-
ment quelconque ou à partir d'un emplacement quelconque dE la mémoire RAM 60 (y compris la page zéro). Cela améliorE la performance de l'unité centrale étant donné que, par exemple, le temps nécessaire au décalage de données vers une unique page zéro ou à partir de celle-ci est réduit
au minimum.
Normalement, l'unité centrale 65 choisit la page
une pour les emplacements de pile. Cela se produit lors-
que A8 est haut et que A9-A15 sont bas. On supposera tou d'abord que les emplacements de pile de variante n'ont pa été choisis. Dans ces conditions, les deux entrées de la porte 81 sont hautes et sa sortie est basse. L'entrée basse de la porte 87 empêche la sélection du bus "Z". En conséquence, dans cecas, les signaux d'adresse AO-A7
choisissent des emplacements de pile sur la page une.
On supposera ensuite que la page une a été choi-
nie par l'unité centrale et que le signal ALT STK est bae ce qui indique que les emplacements de pile de variante doivent être choisis. (Un drapeau est mis par l'unité centrale pour modifier le signal AL SK). Etant donné que le signal ALT STK est bas et que A8 est haut, un nivE
haut apparaît à la sortie de la porte 81. Toutes les en-
trées des portes 83 et 84 sont basses et, par conséquent des niveaux hauts apparaissent aux sorties de ces deux p( tes. Les conditions d'ouverture de la porte 87 sont - remplies, ce qui provoque un niveau haut à la sortie de cette porte et un abaissement du niveau de sortie de la
porte 89. Le bus I"Z" est, par suite, choisi par les-
multiplexeurs 47a et 47b. Cela permet à l'utilisation
du contenu du registre I"Z" comme emplacements de varian-
te. Des emplacements de page non-zéro sont obtenus en inversant A8. La porte OU EXCLUSIF 90 se comporte com-me un inverseur sélectif. Si A8 est haut et E0 bas, alors
A8 est bas à la sortie du multiplexeur 47a. On remar-
quera que, pendant la sélection de.. la page zéro, alors que A8 est bas, le signal Z0 est directement transmis
par la porte 90 à la sortie du multiplexeur 47a.
On voit donc que le circuit logique, conjointement avec le signal ALT STK, permet la sélection d'emplacements de pile de variante par l'intermédiaire du bus "Z". Cela améliore encore la performance de l'unité centrale qui,
autrement, serait limitée à la page une pour les emplace-
ments de pile.
Le montage logique de la figure 2 est également utilisé, conjointement avec le registre Z, pour établir
un pointeur lors de l'accès direct à la mémoire (D.iA).
On va maintenant supposer qu'un accès direct à la mémoire
du calculateur est demandé par un appareil périphérique.
* Pour déclencher le mode DMA, l'unité centrale établit
une adresse comprise entre F800 et F8FF. Par l'intermé-
diaire d'un circuit logique non représenté sur les figu-
res 2 et 3, le signal ROM SEL est rendu bas pour les
adresses comprises entre F000 et FFFF.- Ce signal est com-
muniqué à la porte 93 et provoque une élévation-du niveau
de sortie de la porte 92 (DMA1 est haut à ce moment).
Cette élévation de potentiel est communiquée à l'une des entrées de la porte 85. En outre, la porte 85 détecte que
les bits d'adresse A8; A9 et A10 sont bas. Cette informa-
tion est transmise à la porte 85par l'intermédiaire de
l'inverseur 82 et de la porte NON-OU 83, sous forme de si-
1 5
gnaux hauts. De plus, le fait que Ail est haut est direc-
tement communiqué à la porte 85. Par conséquent, pour une adresse comprise entre F800 et F8FF, le signal DMAOK
subit une chute de potentiel. Cela est détecté par l'ap-
pareil périphérique, qui provoque à son tour une chute du
signal DMA 1 et transmet un signal "prêt" à l'unité cen - -
trale 65. Une fois que ce "colloque" est terminé, des données peuvent commencer à être transférées à la mémoire RAM. Le signal DAM 1, transmis par l'intermédiaire de la porte 92 et de l'inverseur 93, rend bas le signal
v ROI SEt. Ce signal, en plus d'être communiqué à la mé-
moire ROM 50, est appliqué au tampon 99 par l'intermédiaire
de la porte 100, ce qui met ce tampon hors d'action (pen -
dant la lecture de la mémoire ROM 50). En outre, le signal
"prêt" provoque un arrêt brutal de l'unité centrale.
Point important, le signal DK.A 1, après avoir traversé l'inverseur 94 et les portes 88 et 89, assure la sélection
du registre Z. Le contenu du registre Z est fixe et four-
nit un pointeur indiquant une page de la mémoire RAM.
- Dans les conditions ci-dessus, l'unité centrale in-
crémente les huit bits inférieurs du signal d'adresse. La mémoire ROM 50 fournit les instructions d'incrémentation
de l'adresse, à savoir SBC n I et BEQ. L'appareil péri-
phérique émet ou reçoit les données en synchronisme avec le fonctionnement de l'unité centrale. Le périphérique
fournit également un signal lecture/écriture pour préci-
ser l'opération à effectuer. Des données sont alors dé-
crites dans la mémoire RAM par l'intermédiaire du bus N2
et du bus 42, ou lues dans la mémoire RAM2 par l'intermé-
diaire des bus A et B et du bus N2.
Point important, dans le mode DMA décrit ci-dessus, des adresses provenant de l'appareil périphérique ne sont pas nécessaires et le registre Z est utilisé pour fournir
un pointeur indiquant une page de la mémoire RAM 60.
On va maintenant décrire le sous-ensemble de mémoi-
re. Le sous-ensemble de mémoire, indiqué sur la figure -1 sous la forme du moyen de commande d'adresse 59 et de la mémoire RAM 60, est représenté de façon détaillée sur les figures 4, 5 et 6, comme indiqué précédemment. Le moyen de commande de la mémoire est représenté sur les
figures 4 et 5, tandis que la figure 6 représente les dis-
positifs de mémoire et leur organisation. Le moyen de commande d'adresse des figures 4 et 5 reçoit les signaux d'adresse de l'unité centrale 65(AO-A15), les comptes des
compteurs vertical et horizontal (compteur 58 de la figu-
re 1), qui sont utilisés au cours des modes d'affichage, des signaux de commande de l'unité-centrale et d'autres signaux. Essentiellement, ce moyen de commande engendre les signaux d'adresse qui sont appliqués à la mémoire RAMU de la figure 6 et qui comprennent les signaux d adresse
de colonne et les signaux d'adresse de rangée (ou de li-
gne), respectivement dénommés ci-après "signaux CAS" et
signaux D'autres fonctions associées sont égale-
ment représentées sur les figures 4 et 5, telles que le
montage qui assure le défilement de l'affichage, l'adres-
sage indirect de la mémoire RAM et la structuration du
sous-ensemble de mémoire.
L'unité centrale 65 de la figure 3 produit une adresse de 16 bits permettant d'adresser la mémoire. Dans
les circonstances ordinaires, cette adresse limite la ca-
pacité de la mémoire à 64K. multiplets. Cette capacité
de mémoire est insuffisante dans de nombreuses applica-
tions, par exemple lorsqu'on désire utiliser effectivement le langage de programmation Pascal. Comme décrit plus
loin de façon plus détaillée, le moyen de commande d'a-
dresse des figures 4 et 5 permet l'utilisation d'une mé-
moire d'une capacité de 96K multiplets ou de 128K.multi-
plets. Une technique particulière bien connue, qui est utilisée avec l'invention pour augmenter cette capacité,
est la commutation par bloc; cette commutation s'effec-
tue sous la commande de l'unité centrale. En outre, le moyen de commande d'adresse utilise un mode d'adressage -indirect original qui, tout en procurant les bénéfices
de la commutation par bloc, n'exige pas la commande u-
suelle par l'unité centrale. Cela améliore considérable-
ment le fonctionnement de l'unité centrale avec la mé- moire de capacité élargie (comme décrit plus loin) par rapport à la commutation par bloc commandée par l'unité centrale. On va tout d'abord se référer à la figure 6, sur
- laquelle la configuration de la mémoire RAM est représen-
tée pour une capacité de 96K.multiplets. La mémoire est organisée en six rangées ou lignes, comprenant chacune huit dispositifs de mémoire 16K, telles que les rangées 111 et 112. Dans le mode de réalisation actuellement
préféré, on utilise des mémoires RAM dynamiques MOS (ar-
ticle no 4116). (Les désignations de broches et de si-
gnaux se réfèrent à ce dispositif de mémoire particulier),
Toutefois, il est bien évident qu'on peut utiliser éga-
lement d'autres dispositifs de mémoire.
Les données d'entrée de ces dispositifs de mémoir 106 sont appliquées à partir du bus 42. Chaque conducteu du bus-42 est connecté à la borne d'entrée de données d'u
dispositif 106 particulier de chaque rangée. L'intercon-
nexion de ce bus avec chacun des dispositifs de mémoire
n'est pas représentée sur la figure 6 afin de ne pas com-
pliquer excessivement le dessin. Toutefois, à titre-d'e-
xemple, on a indiqué que le conducteur 107 applique le bit de donnée D7 à la borne d'entrée de données de l'un
des dispositifs de mémoire de chacune des six rangées.
Trois rangées de dispositifs 106 oht leurs bornes
de sortie couplées avec le bus A et les trois autres ran-
gées sont couplées d'une manière analogue avec le bus B. A titre d'exemple, on a indiqué que le conducteur 108 cor necte trois bornes de sortie de dispositifs 106 au conduc teur DB7 du-bus B, tandis que le conducteur 109 connecte trois bornes de sortie de dispositifs 106 au conducteur DA7 du bus A.
Les dispositifs de mémoire 106 décrits sont orga-
-nisés chacun sous la forme d'une mémoire 16K x 1. En conséquence, chacun de ces dispositifs reçoit une adresse de quatorze bits qui est multiplexée temporellement en deux adresses de sept bits. Ce multiplexage s'effectue sous la commande des signaux CA- et M,comme il est
bien connu. Les conducteurs couplant les signaux d'a-
dresse avec les divers dispositifs de la figure 6 ne sont pas représentés. Toutefois dans l'angle inférieur droit
de la figure 6, les divers signaux appliqués à chaque dis-
positif (y compris les signaux d'adresse) sont indiqués
conjointement avec les numéros de broche correspondants.
Un autre montage non représenté est le montage de com-
mande de régénération, qui fonctionne d'une manière bien connue, conjointement avec les signaux Ai et RS et avec
les signaux d'adresse, pour régénérer les dispositifs dy-
namiques. Chaque rangée de dispositifs de mémoire 106 reçoit
une combinaison spécifique exclusive de signaux - et -.
Par exemple, la rangée 111 reçoit les signaux AS 5, 7 et TM 4, 5; d'une manière analogue, la rangée 112 reçoit
les signaux TAS O et RA 0, 3. La génération de ces si-
gnaux CAS et M est décrite en référence à la figure 5.
Ces signaux (conjointement avec les signaux d'adresse de quatorze bits) permettent la sélection d'un emplacement de huit bits particulier dans la mémoire à 96K.multiplets
(pour l'écriture) et également la sélection (pour la lec-
ture) d'emplacements de seize bits.
On peut développer la mémoire de la figure 6 en une mémoire à 128K. multiplets en utilisant des dispositifs de mémoire 32K tels que l'article nO 4132. Dans ce cas, on utilise quatre rangées de huit dispositifs de mémoire 32K, chacune de ces rangées recevant deux signaux CA et Avant de passer en revue la figure 4, il est utile de posséder une compréhension générale de l'organisation de l'affichage. L'affichage, au cours de certains modes, est organisé en 80 segments horizontaux et 24 segments verticaux pour un total de 1920 blocks. Onze bits du
compteur 58 de la figure 1 sont utilisés en tant que par-
tie des signaux d'adresse pour que la mémoire puisse ac- céder à des données destinées à être affichées au cours de ces modes. Ces signaux de compteur sont désignés sur la figure 4 par H0-H5 et VO-V4. Au cours d'autres modes
d'affichage, chaque segment horizontal est en outre subdi-
-10 visé en huit segments (par exemple pour l'affichage de 80 caractères alphanumériques par ligne). Cela exige trois
signaux de temporisation verticaux supplémentaires dési-
gnés par VA, VB et VC sur les figures 4 et 7.
Dans la technique antérieure, on utilise souvent
deux compteurs séparés pour produire les signaux de tem-
porisation et d'adresse nécessaires pour accéder à une mémoire lors de l'affichage des données contenues dans celle-ci. Le compte de l'un de ces compteurs représente les lignes horizontales de l'écran (compte vertical) et
l'autre la position le long de chaque ligne (compte ho-
rizontal ou compte de points). Dans de nombreux affi-
chages de la technique antérieure, le bit de plus fort poids du compteur de points est utilisé pour incrémenter
le compteur de lignes. -Les données de la mémoire desti-
nées à l'affichage sont structurées avec une corrélation biunivoque avec les comptes de ces compteurs. Dans un autre dispositif de la technique antérieure (réalisé sous la forme du calculateur Apple-II vendu par Apple Computer,
Inc.), cette corrélation biunivoque n'est pas utilisée.
Au lieu de cela, pour économiser des circuits, on utilise un unique compteur et l'on prévoit une structuration plus dispersée dans la mémoire. (A noter que lorsqu'on utilise un compte horizontal maximal de 80, ce nombre ne peut pas être représenté uniquement par des "uns" dans un compteur numérique, de sorte que le compteur-vertical ne peut pas être aisément incrémenté par le bit de plus fort poids du
compteur horizontal). Etant donné qu'une telle structura-
-tion plus dispersée fait partie de la technique anté-
rieure et n'est pas critique pour la compréhension de
l'invention, elle ne sera pas décrite ici de façon dé-
taillée. Toutefois, la manière dont elle est réalisée
sera discutée à propos de l'additionneur 114 de la fi-
gure 4. Pour les besoins de la discussion, les signaux provenant du compteur 58 de la figure 1 sont désignés
soit par V (signaux verticaux), soit par H (signaux ho-
rizontaux).
On va maintenant se référer à la figure 4, sur la-
quelle on peut voir que la sélection, soit des signaux de compteur, soit des signaux d'adresse provenant de l'unité centrale, est assurée par les multiplexeurs 116, -117, 118 et 119. Chacun de ces multiplexeurs disponibles dans le commerce (article nO 153) couple l'un de quatre conducteurs d'entrée avec un conducteur de sortie. Les multiplexeurs 116, 117 et 118 comportent huit entrées et les sorties de ces multiplexeurs engendrent les signaux d'adresse pour les mémoires (ARO à ARS). Le multiplexeur 119 comporte quatre entrées sur ses broches 3, 4, 5, 6 et produit une
unique sortie sur la broche 7, le signal d'adresse 1R6.
(Les signaux appliqués aux broches 11, 12 et 13 du multi-
plexeur 119 ne sont destinés qu'à des fins de verrouillage).
Le signal E est appliqué à la broche 14 de chacun
des multiplexeurs. Le signal de ce conducteur et le si-
gnal appliqué à la broche 2 déterminent laquelle des qua-
tre entrées est couplée avec chacune des sorties des mul-
tiplexeurs. Le signal 2 est un signal de temporisation de mémoire RAM destiné à rythmer les sept premiers bits
et les sept derniers bits de l'adresse de 14 bits multi-
plexée appliquée à chacun des dispositifs de mémoire 106.
L'autre signal de commande des multiplexeurs est établi par l'intermédiaire de la porte ET 123. Les entrées de
cette porte sont le signal d'affichage (DSPLY), qui indi-
que que le calculateur est sur un mode d'affichage, et un signal d'horloge, à savoir un signal de temporisation de I MHz (C-M). La sortie de la porte ET 123 détermine la
sélection, soit des signaux d'adresse provenant de l'u-
nité centrale, soit des signaux associés au compteur 58 de la figure 1. On supposera pour les besoins de la discussion que l'affichage n'a pas été choisi par la sélection et
que, par conséquent, la sortie de la porte 123 est basse.
Le signal M assure alors la sélection, pour la broche 7 du multiplexeur 116, d'abord du signal d'adresse A0 puis du signal d'adresse A6. D'une manière analogue, chacun des multiplexeurs choisit un signal d'adresse (à l'exception de ceux qui sont associés aux portes
OU EXCLUSIF 124 et 125, ce qui sera décrit plus loin).
Si le signal d'affichage est haut, et si une sortie de la porte 123 est présente, alors, par exemple, le signal M provoque tout d'abord l'application du signal H1, puis du signal V1, au conducteur d'adresse AR1. D'une manièrE analogue, des signaux correspondant aux comptes vertical
et horizontal sont appliqués aux autres conducteurs d'a-
dresse au cours de modes d'affichage.
L'additionneur 114 est un additionneur numérique
ordinaire, capable d'additionner deux courts mots numéri-
ques de quatre bits et de produire un signal-somme numé-
rique. On utilise un additionneur disponible dans le commerce (article n0 283). La borne de report à partir de l'extérieur (broche 7) est mise à la masse et aucun rapport vers l'extérieur ne se produit étant donné que l'une des entrées (broche 12) est également mise à la masse. L'additionneur additionne le signal numérique co:
respondant à H3, H4 et H5 avec le signal numérique cor-
respondant à V3, V4, V3, V4. Le signal-somme résultant
est transmis aux multiplexeurs 116, 117 et 118 comme re-
présenté. L'addition de ces signaux de compteur horizon taux et verticaux est utilisée pour assurer la structura
tion plus dispersée précédemment mentionnée.
L'additionneur 121 est identique à tl'additionneur -114 et est monté de manière à-additionner les trois bits de compteur verticaux de plus faible poids provenant du
compteur-58 (figure 2) avec les signaux VA1, VB1 et VC1.
La somme est choisie par le multiplexeur 120 au cours des modes d'affichage.à haute définition et également pendant le défilement, comme décrit plus loin. Ces signaux-somme sont appliqués aux multiplexeurs 117, 118 et 119.. Au cours des modes d'affichage à faible définition, le multiplexeur 120 applique des signaux de masse ou bien le signal de page 2 (M2) aux multiplexeurs 117, 118 et 119.(Le signal M2 est utilisé à des fins de structuration spéciales qui ne font pas partie de l'invention). Au cours des modes à haute définition pendant lesquels l'affichage ne défile pas, les signaux VA1, VB2 et VB3 sont au potentiel de la masse et, par conséquent, aucrure addition ne se produit dans l'additionneur 121 et les signaux VA, VB et VC sont
directement transmis aux multiplexeurs 117, 118 et 119.
Les signaux d'adresse A10, Ail et A13 provenant de l'unité centrale sont appliqués aux multiplexeurs 117, 118 et 119, respectivement, par l'intermédiaire de portes OU EXCLUSIF 124, 125 et 126, respectivement. Les autres bornes d'entrée des portes 124 et 125 reçoivent le signal
C3, tandis que l'autre borne d'entrée de la porte 126 re-
çoit le signal C1. (La génération des signaux C1 et C3 est représentée sur la figure 5). Les portes 124, 125
et 126 assurent une compensation de structuration à l'in-
térieur de la mémoire. Tels que le calculateur et la mé-
moire sont actuellement réalisés, la séquence suivant la-.
quelle les diverses parties de l'affichage sont engendrées n'est pas la même que la séquence suivant laquelle les
données sont extraites de la mémoire en vue de l'affichage.
Ces portes fournissent des adresses de compensation et, en
fait, provoquent une restructuration de façon que la sé-
quence convenable soit maintenue lors de la lecture de don-
nées dans la mémoire en vue de l'affichage. Ces portes sont
représentées afin de donner une description complète du
--mode de réalisation actuellement préféré, mais elles ne
sont pas critiques pour ce qui concerne l'invention.
En fonctionnement, le montage de la figure 4, com-
me décrit précédemment, assure la sélection des signaux d'adresse qui sont appliqués à chacun des dispositifs de
mémoire, soit à partir de l'unité centrale, soit à par-
tir du compteur, si'le mode d'affichage est choisi. Il est à noter que tous les bits d'adresse provenant de l'unité centrale ne sont pas appliqués aux multiplexeurs 116 à 119. Certains de ces bits d'adresse, comme décrit plus loin en référence à la Figure-5, sont utilisés pour créer les divers signaux CAS et RAS et assurer ainsi la sélection de différentes rangées dans la mémoire de la
figure 6.
-L'opération de défilement qui est utilisée est quelque peu inhabituelle en ce sens que chaque ligne de l'affichage est déplacée vers le haut séparément (ligne
par ligne) une unique ligne de données de la mémoire é-
tant déplacée pour chaque image. Cette technique assure un défilement uniforme esthétiquement plaisant. On peut - obtenir un défilement de l'écran à raison d'une ligne par image en amenant toutes les données contenues dans
la mémoire à une nouvelle position pour chaque image. Tou-
tefois, cela demanderait beaucoup de temps et serait peu
pratique. Avec la technique décrite, une huitième seule-
ment des données contenues dans la mémoire sont déplacées
pour chaque nouvelle image.
Pour revenir à l'additionneur 121, comme décrit précédemment, les signaux VA, VB et V0 sont les trois bits de compteur verticaux de plus faible poids provenant du
compteur 58. Ces bits ou comptes représentent, par exem-
ple, les huit lignes horizontales de chaque caractère.
Dans l'additionneur 121, le signal numérique de trois bits VA1, VB1 et VC1 est ajouté au compte du compteur 58. Ce signal de trois bits est constant pendant chaque image; en
revanche, il est incrémenté pour chaque nouvelle image.
Au cours d'une première image, 000 est ajouté au compte vertical. Au cours d'une seconde image, 001 est ajouté; au cours d'une troisième image, 010 est ajouté, et ainsi de suite. En ajoutant ce signal numérique au compte provenant du compteur 58, les adresses d'accès à la mémoire sont modifiées dans le sens vertical. Au-cours de la première image, pendant laquelle 000 est ajouté,
l'affichage n'est pas affecté. Au cours.de l'image sui-
vante, pendant laquelle 001 est ajouté au comptë vertical,
au lieu que la première ligne d'un caractère soit tout d'a-
bord affichée, la seconde ligne de chaque caractère est affichée au sommet de chaque espace de caractère et chaque ligne suivante du caractère est de mâme remontée d'une ligne. Si les données contenues dans la mémoire n'étaient pas déplacées, la première ligne du caractère apparaîtrait
à la base de chaque caractère. On remarquera que, lors-
que 001 est ajouté à 111 provenant du compteur, le résul-
tat est 000. En conséquence, la première ligne des carac-
tères serait donc adressée lors du balayage par le faisceau de la huitième ligne des caractères. Pour empêcher cela,
les données correspondant à la première ligne'de chaque ca-
ractère sont déplacées dans -la mémoire pour cette image.
La première ligne d'un caractère donné est déplacée vers
le haut et devient la ligne de base du caractère situé im-
médiatement au-dessus. Lorsqu'on ajoute 010, le processus
se répète. Par exemple, la troisième ligne de chaque ca-
ractère est tout d'abord affichée dans chaque espace de
caractère et la seconde ligne de-chaque caractère est re-
montée pour devenir la ligne de base du caractère situé
immédiatement au-dessus. Ce processus se répète pour fai-
re défiler les données. Le mouvement des données dans la mémoire est commandé par l'unité centrale d'une manière
bien connue.
Ainsi, grâce à l'utilisation de l'additionneur 121, on obtient un défilement uniforme et continu sans déplacer toutes les données dans la mémoire pour chaque image. Au
lieu de cela, un huitième seulement des données sont dé-
placées pour chaque image.
On va maintenant se référer à la figure 5, sur laquelle est représenté le montage utilisé pour assurer l'adressage à partir de l'unité centrale. En général, les signaux CAS sont engendrés par les mémoires ROM 127 et 128. Les signaux Z sont engendrés par la mémoire ROM 132. Le multiplexeur 130 permet la sélection, soit
des signaux de commutation par bloc, soit du mode d'a-
dressage indirect original lorsque la "commutation par
bloc". se produit sans ordres directs de l'unité centrale.
La mémoire ROM CAS 127 reçoit comme adresse les signaux suivants:
PRAS, $3, PRAS 1,2, -T, DHIRES, R/W, A11, A13, A14 et A15.
Les signaux PRASe, 3 et PRAS 1, 2 représentent les signaun RAS utilisés. Ces signaux sont hauts lorsque les signaux
RAS correspondants sont actifs.
Comme décrit précédemment, le signal AY est haut pour les modes d'affichage et le signal DHIRES est haut pour des modes d'affichage à haute définition: La mémoire ROM CAS 128 reçoit comme signaux d'adresse les signaux ABK1, ABK2 et ABK3 et également les signaux DHIRES, 7F, I]
A11, A13, A14 et A15.
Les mémoires ROM 127 et 128 sont programmées de - manière à vérifier les équations suivantes: (1) PCASO = (PRASO, 3. (DHIRES. Y+ AY. (iTF. A. -Al RIW +?T5 À. Ai.13 R/WN + A15. A A13 Al + 5 A14. A13. Ali))) (2)-
PCAS = (DHIRES ' ? + AY. (AKI ' AK ' * +
ABK * ABK2 ' ABK3) - (7'-15 A14) + AY ' IND ' ABK1
B3 ' ' (A14'' A13 + A14 ' A13))
(3) PCAS3 =PRAS0, 3 ' (IRET ' -' AY (?Tj '7 1 *X' -3 Al1 + A15 A14 ' Ai3 ' T1 + A15 A14 '))
_. (4)
PCAS4,6 = (AY-'TI ' ' (ABK1 + ABK1) '
ABK2) ' (14 ' A13 + A14 ' P3) + AY ' INDr À A ( À ]TA15 + -72 ' ABK1 + ABK2 *5 l) ' A +I
AY ' 3 'ABK1 ' ABK2 ' 1 ' (A15' ' A13 + A15
* A1 'T3) + AY IND ABK3 ' ABK2 (T'5 ABK1 + A15 -
]Ir) * (A4T À T3 + A14 ' A3))
(5)
PCAS5, 7, = (AY T ' - (ABKI * + T-1
TMK) ' (T-5 ' A14 A13 +A15 * 1 * T3) + AY IND
M * (AB2 * =1 Ai5 + = ABK1 + '2 ABK2 ABK I - À]5) Al4 + AY MM ABK1 ABK2 ' ABK (
Ai4) + AY ' IND ' ' ABK2 ' (5 * ABK1 + A15.
Z-) '* (;7F ' A13 + A14 ' A13))
En fait, ces mémoires ROM sont programmées de manière à permettre la sélection de rangées prédéterminées dans la mémoire, sur la base des signaux d'adresse Ao, A13, A14 et A15 (en négligeant pour le moment la contribution des signaux TM et des autres signaux apparaissant dans les équations). Les sorties des mémoires ROM 127 et 128 sont
* couplées avec le registre 131. Le registre 131 est un re-
gistre disponible dans le commerce qui permet l'activation de signaux de sortie (article n 374). Pendant l'accès à la mémoire, les divers signaux CAS ( CASO à CAS 7) sont appliqués à la mémoire de la figure 6 pour permettre la sélection des dispositifs de mémoire appropriés. Le signal
USELB provenant de la mémoire ROM CAS 127 par l'intermé-
diaire du registre 131 assure la sélection, soit du bus A, soit du bus B. Ce signal est transmis aux multiplexeurs
43a et 43b de la figure 3.
Au cours du fonctionnement normal, le multiplexeur choisit les signaux de commutation par bloc BCKSW 1 à BCKSW 4. Ces quatre signaux (ou selon une variante quatre signaux provenant du bus A) fournissent quatre
des entrées (signaux d'adresse) de la mémoire ROM 132.
Les autres entrées de cette mémoire ROM sont les signaux
DHIRES, Z PAGE, PA8, PAl5, RFSH (régénération)et --.
Ces signaux d'adresse assurent la sélection des signaux RAS O, 3; RAS 1, 2; RAS 4, 5 et RAS 6, 7. La mémoire ROM 132 est programmée de telle manière que les quatre équations suivantes soient vérifiées: PRASO, "=] (DHIRES + RFSH) + (ABK4 (Z Page. PA8)
) + ABK1 ABK2 - ABK3) AY (6)
PRAS1, 2 = (DHIRES + RFSH) + AY ([VK1 ' -
A (ABK4' (ZPAGE' PA8) ' P-AI) + ABK1 ' ABK2
ABK3) + AY ' A (-l '. ABK2 ' ABK4 * (ZPAGE--)
PA15 + ABK1 ABK2 ' (ABK4 ' (ZPAGE'PA8) PA5) (7)
PRAS4, 5 = RFSH ' d+ AY' ' (]
ABK4 (ZPAGE ' P) PA15 + ABK1 ' (ABK4 (ZPAGE
PA-I) (8)
PRAS6, 7 = RFSH * 1 + AY ' (ABK1 * *ABK4
(ZPAGE ' P)PA15 + A ABK2 ' (ABK4 (ZPAGE
P8) *A-1-5) (9)
Ainsi, les signaux de-commutation par bloc (concurremment
aux autres signaux d'entrée de la mémoire ROM 132) assu-
rent la sélection de rangées prédéterminées dans la mé-
moire conjointement avec les signaux M. Les signaux de sortie de la mémoire ROM 132 sont transmis à la mémoire par l'intermédiaire des portes NON ET 142, 143, 144 et 145. Les autres bornes d'entrée de ces portes reçoivent le signal de temporisation RAS. De cette manière, les signaux de sortie de la mémoire ROM 132 sont transmis de façon rythmée à travers les portes 142 à 145, pour produire les signaux RAS représentés sur
les figures 5 et 6.
Une importante caractéristique du calculateur dé-
crit ici est assurée par le montage représenté dans le cadre en trait interrompu 146. La porte ET 148 reçoit à ses bornes d'entrée les signaux DA7, A12 et C3. La porte NON OU 149 reçoit le signal de page zéro et le signal A15. La sortie de la porte 149 alimente une des entrées de la porte 148 ainsi qu'une des entrées de la porte 150. La sortie de la porte 148 applique un autre signal d'entrée à la porte 150 et ce signal (conducteur 153) est l'un des deux signaux de commande appliqués au multiplexeur 130. Les portes ET 150 et 151 reçoivent également un signal SYNC (de synchronisation) et le signal e0o Les sorties respectives des portes 150 et 151 sont couplées avec une porte NON OU 152, la sortie de celle-ci (conducteur 154) étant à son tour couplée
avec l'autre borne de commande du multiplexeur 130.
Les portes 150, 151 et 152 forment en fait une
horloge pour le multiplexeur/registre 130 (le multiple-
xeur 130 est un article commercial, article n0 399, qui
est effectivement un multiplexeur/registre). Cela assu-
re la sélection des quatre conducteurs d'entrée infé-
rieurs du multiplexeur 130. Toutefois, en raison du si-
gnal de synchronisation appliqué à la porte 151, le multi-
plexeur 130 choisit les signaux de commutation par bloc
chaque fois qu'un code OP est extrait par l'unité centrale.
Pour comprendre le fonctionnement du montage re-
présenté dans le cadre en trait interrompu 146, il y a lieu de se rappeler que la mémoire de la figure 6 produit une sortie de 16 bits. Comme décrit précédemment, au
cours de certains modes d'affichage, 16 bits/ms sont né-
cessaires pour l'affichage. Dans les modes de non-affi-
chage, huit bits seulement sont nécessaires, en particu-
lier pour l'interaction avec l'unité centrale. Lorsque la mémoire est adressée par l'unité centrale au cours des modes d'adressage indirect, les données présentes sur le bus A ne sont ordinairement pas utilisées. En revanche,
avec le montage représenté dans le cadre en trait inter-
rompu 146, ces données, autrement "inutilisées", sont em-
ployées pour former l'équivalent des signaux de commuta-
tion par bloc à traversle multiplexeur 130.
Chaque fois que l'unité centrale choisit une gamme
prédéterminée d'adresses, le multiplexeur 130 choisit l'é-
quivalent des signaux de commutation par bloc provenant du bus A, à condition que le signal DA7 soit haut. (Cela se
- produit lorsqu'on adresse comme page zéro la zone d'adres-
ses -1800 à 1FFF). Une fois que le signal présent sur le
conducteur 153 est haut, il est verrouillé par l'intermé-
diaire des portes 150, 151 et 152, ce qui provoque la sé-
lection par le multiplexeur 130 des quatre bits provenant du bus A (en supposant que les signaux de temporisation soient hauts). Même si la référence suivante provenant de l'unité centrale ne vise pas cette gamme d'adresses, -spéciale, le multiplexeur 130 reste néanmoins verrouillé
avec les quatre bits provenant du bus de données.- Toute-
fois, lorsquel'impulsion SYN retombe, ce qui est une in-
dication du fait qu'un code OP est en train d'être extrait
le potentiel de signal présent sur le conducteur 154 s'é-
lève, ce qui provoque une recommutation du multiplexeur
sur les signaux de commutation par bloc. -
Ce qui se produit en fait est que, lorsque l'unité centrale choisit cette gamme d'adresses spéciale, (et à condition que le signal DA7 soit haut) les bits DAO à DA3 qui sont stockés en mémoire provoquent une restructuration
c'est-à-dire que l'adresse provenant de l'unité centrale-
accède à une partie différente de la mémoire. Avec l'ex-
traction de chaque code OP, la structuration repasse au-
tomatiquement sur les signaux de commutation par bloc.
Point important, la restructuration qui se produit est com mandée par les bits stockés dans la mémoire RAM (DA$ à DA3 Ainsi, avec l'information de restructuration stockée dans
la mémoire RAM, une inversion peut se produire entre dif-
férentes parties de la mémoire sans que cela exige des si-
28 2487095
gnaux de commutation par bloc, ou analogues, de l'unité centrale. Cela améliore la performance de l'unité centrale étant donné que du temps defonctionnement de celle-ci
n'est pas utilisé pour-la restructuration. En outre, ce-
la constitue un outil de programmation commode. Pour certains langages de programmation, il est désirable de ranger les données et le programme dans des parties séparées de la mémoire. Par exemple, la mémoire 128K peut être subdivisée en deux mémoires 64K, l'une
pour le programme et l'autre pour les données. Une commu-
tation peut se produire entre ces parties de mémoire sans génération de signaux de commutation par bloc par l'unité
centrale avec le montage décrit ci-dessus. Cette-disposi-
tion est particulièrement utile lorsqu'on utilise le lan-
gage de programmation Pascal.
On va maintenant décrire le sous-ensemble d'affi-
chage.
Le sous-ensemble d'affichage 48 de la figure 1 re-
çoit des données du bus A et du bus B et convertit ces-
données en signaux vidéo, qui peuvent être utilisés pour
afficher des caractères alphanumériques ou d'autres ima-
ges sur un affichage à tube à rayons cathodiques balayé
à trame standard. Le sous-ensemble d'affichage 48 engen-
dre spécifiquement sur le conducteur 197-un signal vidéo couleur NTSC standard et un signal vidéo en noir et blanc
sur le conducteur 198 (figure 8). Ce sous-ensemble d'af-
fichage reçoit, en plus d'autres entrées, un signal de
synchronisation et plusieurs signaux d'horloge. Par sim-
plification, le signal de référence couleur standard de
- 3,57945 MHz est indiqué par l'abréviation C3.5m. Le dou-
ble ét le quadruple de cette fréquence sont indiqués, res-
pectivement, par les abréviations C7m et C14m.
Avant de décrire les détails du sous-ensemble d'af-
fichage 48, un exposé d'un dispositif d'affichage de la
technique antérieure facilitera la compréhension du sous-
ensemble d'affichage suivant l'invention. Dans le brevet
29 2487095
US 4 136 359 est décrit un dispositif d'affichage vidéo, qui est réalisé dans un calculateur disponible dans le
commerce, Apple-II, vendu par Apple Computer Inc., Cuper-
tino, Californie, E.U.A. Dans ce dispositif, des mots numériques de quatre bits sont décalés en parallèle jus-
que dans un registre à décalage. Ces mots circulent a-
lors dans ce registre à 14 MHz pour définir une forme d'onde ayant des composantes à 3,5 MHz. En se référant à la figure 9, ligne 206, on va maintenant supposer que le - mot numérique 0001 est placé dans le registre à décalage
et circule à une fréquence de 14 MHz. Le signal résul-
tant qui a une composante de 3,5 MHz est représenté sur
le conducteur 206. La relation de phase entre cette com-
posante et le signal de référence à 3,5 MHz détermine la
'"couleur" du signal vidéo résultant. On modifie cette rela-
tion en changeant le mot de quatre bits placé dans le re-
gistre à décalage. Comme expliqué dans le brevet cité ci-dessus, si le signal 1000 est placé dans le registre
et y circule, la relation de phase résultante de la com-
posante à-3,5 MHz produit la couleur marron; ce signal
est représenté sur la ligne 208. Dans cette technique an-
térieure, la luminance était déterminée par la composante de courant continu des signaux tels que ceux qui sont
représentés sur les lignes 206 et 208.
Le sous-ensemble d'affichage 48 de la figure 1 utilise également des mots de quatre bits pour engendrer les divers signaux couleur de manière assez analogue à ce qui se passe dans le dispositif décrit ci-dessus. En se référant à la figure 8, on voit que des mots de quatre
bits représentatifs de couleurs (seize couleurs possi-
bles) sont appliqués au bus 180. (La génération de ces
mots sera décrite plus loin de façon détaillée en référen-
ce à la figure 7). Au lieu d'utiliser un registre à déca-
lage qui fait circuler le mot de quatre bits, on obtient
le même résultat en utilisant un multiplexeur 205 qui as-
sure une sélection séquentielle de chacun des conducteurs
du bus 180. Les signaux présents sur le bus 180 fournis-
-sent également un signal de luminance et un signal vidéo
noir et bland avec une échelle de gris.
Les quatre conducteurs du bus 180 sont couplés avec un multiplexeur 205; ce multiplexeur reçoit égale- ment-les signaux de temporisation C7m et C3.5m. Ces deux
signaux de temporisation provoquent la sélection séquen-
tielle de chacun des quatre conducteurs et leur couplage avec le conducteur 191. (On remarquera que l'ordre dans lequel les divers conducteurs du bus 180 sont choisis ne
change pas).
En fait, le multiplexeur fonctionne de manière à
mettre en série le signal parallèle provenant du bus 180.
On supposerapour les besoins de l'explication que les
signaux numériques du bus 180 sont 1000, comme indiqué-
sur la figure 8. Le signal du conducteur 191 sera alors 10001000.... La sortie du multiplexeur 205 couplée avec
l'entrée de l'inverseur 204 reçoit également dans un or-
dre séquentiel les signaux provenant du bus 180, mais,
toutefois, dans un ordre différent. DUans l'exemple repré-
senté, l'entrée de l'inverseur 204 est 00100010.... A-
près inversion, il en résulte le signal 11011101... sur le conducteur 192. En fait les signaux des conducteurs 191
et 192 sont additionnés par des résistances 199 et 200.
La forme d'onde résultante est un signal de courant alter-
natif (pas de composante de courant continu) représenté
- sur la figure 9, ligne 209. On voit donc qu'avec le mon-
tage décrit est engendré un signal de chrominance qui est dans une relation de phase prédéterminée avec le signal de référence couleur à 3,5 MHz. Cette relation de phase qu'on fait varier en changeant les signaux du bus 180 détermine
la "couleur" du signal vidéo sur le conducteur 197.
Dans l'affichage de la technique antérieure décrit ci-dessus, la composante de courant continu du signal couleur détermine la luminance. Suivant l'invention, les
signaux du bus.180 sont appliqués à la base d'un transis-
24870 9!
tor 195, qui reçoit également un signal de courant alternE tif de chacune des résistances 199 et 200, et le niveau dE
luminance également déterminé par les signaux du bus 180.
Ces entrées du transistor 195, conjointement avec le si-
gnal C35m engendrent sur le conducteur 197 un signal cou- leur NTSC de qualité améliorée par rapport à celui que produit le dispositif de la technique antérieure mentionn ci-dessus. Dans certains cas, les signaux du bus 18G sont toi des "uns" binaires ou tous des zéros binaires. Lorsque
cela se produit, il n'y a pas de composante de courant al-
ternatif provenant des résistances-199 et 200 (pas de si-
gnal couleur) et le signal résultant sur le conducteur 19'
est "noir" ou "blanc".
Les conducteurs du bus 180 sont également couplés par l'intermédiaire de résistances, avec la base d'un transistor 196. Chacune de ces résistances a une valeur
différente pour assurer une "pondération" du signal bi-
naire. Cette pondération est utilisée pour des afficha-
ges non en couleur pour produire des nuances"de gris" par
opposition à un affichage en noir et blanc pur. Les si-
gnaux binaires du bus 180 excitent le transistor 196 pour produire un signal vidéo sur le conducteur 198. Le signa RGB-est engendré au moyen de sommes pondérées de ces même
cinq signaux.
On va maintenant se référer à la figure 7 sur la-
quelle on peut voir que des donLnées provenant de la mémoi
sont appliquées à partir du bus A et du bus B à des re-
gistres 159 et 158, respectivement. Ces registres sont
"rythmés" par le signal d'horloge à 1 MHz et son complé-
ment, ce qui permet le transfert séquentiel de mots de ht bits toutes les demi-millisecondes. Comme décrit plus loin, dans certains modes d'affichage, les données sont transférées à la fréquence de 2 MNz et dans d'autres mode
d'affichage, à une fréquence de 1 MHz.
Les registres 158 et 159 sont couplés avec un bus d'affichage 160 à huit conducteurs. Ce bus d'affichage transfère des. données aux registres 164 et 173 ainsi que des adresses à une mémoire 162. Les registres 164 et 173
et la mémoire 162 sont activés au cours de modes d'affi-
chage spécifiques, comme on le verra plus loin.
La mémoire de caractères 162, dans le mode de réa-
lisation actuellement préféré, est une mémoire à accès di-
rect qui stocke des profils binaires représentatifs de
caractères alphanumériques. Chaque fois que le calcula-
teur est mis sous tension, l'information de caractères
est transférée de la mémoqire ROM 50 -dans la mémoire de ca-
ractères 162 au cours d'une période d'initialisation. Au
cours de modes d'affichage de caractères, les signaux pro-
venant du bus d'affichage 160 sont des-adresses identifiant des caractères alphanumériques particuliers stockés dans la
mémoire de caractères 160. Les signaux de compteur verti-
caux VA, VB et VC (précédemment décrits conjointement
avec 'l'additionneur 121 de la figure 4) identifient la li-
gne particulière de chaque caractère qui doit être affichée.
En conséquence, la génération des signaux numériques repré-
sentatifs de chacun des caractères s'effectue d'une manière ordinaire. Le signal de sept bits représentatif de chaque ligne de chaque caractère (sortie de mémoire) est appliqué
au registre à décalage 167. Au moyen de signaux de tempo-
risation non indiqués, une sélection, soit duregistre 164, soit de la mémoire de caractères 162 a lieu pour permettre au registre à décalage 167 de recevoir soit des données directement du bus A ou du bus B, soit une information de
caractères alphanumériques de la mémoire 162.
Les sept bits d'information provenant, soit de la mémoire 162, soit du registre 164, sont mis en série par le registre à décalage 167, soit à une fréquence de 7 PEHz,
soit à une fréquence de-14 MHz, selon le mode d'affichage.
Les données mises en série sont appliquées par le conduc-
teur 185 au multiplexeur 169, broches 1 et 4. L'inverse de ces données est également appliqué au multiplexeur 169, broche 3. Le conducteur 185 est également couplé en tant qu'entrée avec le multiplexeur 166 et avec le registre
(entrée 1).
La sortie 1 du registre 170 (conducteur 186) est couplée avec le multiplexeur 169, broche 1; avec le
registre 170 (entrée 2); et avec le multiplexeur 166.
La sortie 2 du registre 170 (conducteur 187) est couplée avec l'entrée 3 du registre 170 et également avec le
multiplexeur 166. La sortie 3 du registre 170 (conduc-
teur 187) constitue une troisième entrée pour le multi-
plexeur 166. L'entrée 4 du registre 170 est alimentée par la sortie du multiplexeur 169 (conducteur 189). La sortie 4 du registre 170 (conducteur 190) fournit l'un
des signaux de commande du multiplexeur 171.
Le multiplexeur 171 choisit, soit les quatre con-
ducteurs du bus 183, soit les quatre conducteurs du bus 184. La sortie du multiplexeur 171, bus 180, engendre le
signal de quatre bits décrit à propos de la figure 8.
Pendant l'un des modes d'affichage à haute définition
(AHIRES), le multiplexeur 171 est commandé par un si-
gnal de temporisation provenant de la sortie de la porte 178. Le multiplexeur 166 choisit, soit les conducteurs
du bus 181, soit ceux du bus 182. La sortie de ce mul-
tiplexeur produit les signaux pour le bus 184. Dans tous
les modes d'affichage, sauf le mode AMHIRES, le multiple-
xeur 166 choisit le bus 181. Par conséquent, le multi-
plexeur 171 reçoit généralement les signaux du bus 174.
Pour les besoins de la description ci-dessus, et
en vue de l'explication donnée ci-après de certains des
- modes d'affichage, on a fait une hypothèse simplificatri-
ce. Les signaux appliqués au bus 180 par le multiplexeur
171 sont commandés, pour la plupart des modes, par le si-
gnal mis en série du conducteur 190. Ce signal mis en série est en synchronisme avec les signaux d'horloge C7m ou C14m. Le multiplexeur 205 de la figure 8 qui, comme
décrit précédemment, assure "l'assemblage" du signal numé-
- rique en parallèle présent sur le bus 180, fonctionne en
synchronisme avec le multiplexeur 171. Dans la descrip-
tion ci-dessus, ainsi que ci-après sauf indication con-
traire, on a supposé que,-par exemple, si le multiplexeur 171 applique des "uns" ou des zéros binaires partout sur le bus 180, le signal du conducteur 191 sera formé soit de "uns", soit de zéros. De même, pour cette condition, le signal du conducteur 192 ne comprendra-que des zéros ou des "uns" binaires et, par conséquent, aucun signal de
sourant alternatif ne sera engendré à la base du transis-
tor 195. Toutefois, dans la réalisation effective, il existe unedifférence "de phase" entre le fonctionnement
rythmé du multiplexeur 171 et l'échantillonnage des si-
gnaux du bus 180 par le multiplexeur 205. Cela se tra- -
duit par un premier signal de courant alternatif cons-
tant sur la base du transistor 195, même lorsqu'il ap-
paraît que des "uns" binaires sont partout présents sur le bus-180, et par un second signal de courant alternatif constant lorsque des-zéros binaires sont partout présents
sur le bus 180. En conséquence, dans la présente des-
cription, lorsque celle-ci indique que des signaux "noirs" ou "blancs" sont engendrés, en fait dans la réalisation courante deux couleurs constantes sont engendrées sur un affichage en couleur. Lorsqu'on désire obtenir vraiment
du noir et blanc, on procède à une suppression de la cou-
leur, par exemple au moyen du signal de salve couleur.
Le montage de la figure 7, conjointement avec ce-
lui de la-figure 8, permet plusieurs modes d'affichage dis-
tincts. Le premier de ces modes assure un affichage com-
prenant 40 caractères (ou espaces) par ligne horizontale.
Cela exige un débit binaire de 8 bits/MHz, soitla moitié
du débit binaire que la mémoire est capable d'assurer.
Dans ce mode, une donnée est chargée à partir du bus A pendant une période de 0,5 ms sur deux (le bus B n'est pas utilisé pendant ce mode). Cette donnée adresse la
* mémoire de caractères 162 et, conjointement avec les si-
gnaux VA, VB et VC, transmet la ligne de caractère, appro-
priée (sept bits) au registre à décalage 167. Pendant ce mode, les registres 164 et 173 sont désactivés. Pour ce mode, le registre-à décalage 167 décale les données à une fréquence de 7 MHz (à noter que le signal Cest
haut, ce qui permet au signal à 7 MHz provenant de la por-
te 175, de commander le registre à décalage 167). Chaque signal de sept bits est décalé séquentiellement jusque sur le conducteur 185 puis jusqu'au conducteur 189, étant donné que le multiplexeur 169 choisit.la broche 4. Les données sont décalées à travers le-registre 170 jusque sur
le conducteur 190. Le signal binaire séquentiel du con-
ducteur 190 provoque la sélection de l'un des bus 183,184.
Pendant ce mode, les quatre conducteurs du bus 182
sont reliés à +V (le registre 173 est désactivé); en con-
séquence, la sélection du bus 184 produit quatre "uns"' bi-
naires. La sélection du bus 184 produit quatre zéros bi-
naires par l'intermédiaire du bus 181. Le signal binaire séquentiel du conducteur 190 produit donc, soit des "uns" binaires partout, soit des zéros binaires partout, sur le bus 180. Tel qu'il est décrit ci-dessus, le montage de la
figure 8 assure un affichage en noir et blanc à 40 carac-
tères par ligne. -
25. Si le moyen de temporisation d'inversion et de clignotement 172 est choisi, chaque fois que le registre à décalage 167 est chargé, le multiplexeur 169 commute sa
sortie entre les broches 3 et 4. Cela provoque une nin-
version" des caractères: des caractères blancs sur fond noir deviennent des caractères noirs/ sur fond blanc, et
vice versa.
Au cours du mode d'affichage à 80 caractères par
ligne, les registres 158 et 159 sont respectivement char-
gés pendant des périodes séquentielles de 0,5 ps (cela
utilise la fréquence de cycle de 2 MHz précédemment men-
tionnée). Le registre à décalage 167 décale les données de caractères à partir de la mémoire 162 à une fréquence
-de 14 MHz. Les données mises en série à la fréquence de-
14 MHz sont décalées à travers le registre 170 et comman-
dent, ici encore, le multiplexeur 171, comme décrit pré-
cédemment. (A noter que le registre 170 est toujours rythmé à la fréquence de 14 MHiz). Un clignotement peut
ici encore être obtenu, comme décrit précédemment.
Dans un autre mode d'affichage de caractères alpha-
numériques, le fond ou arrière-plan de chaque caractère peut être d'une couleur donnée et le caractère lui-même (-ou avant-plan) d'une autre couleur. Ce mode assure l'affichage de 40 caractères par ligne. L'identification
des caractères (adresse pour la mémoire RAM 162) est trans-
mise sur le bus A au registre 159 à une fréquence de 1 MHz. L'information couleurs (couleur d'arrière-plan et couleur d'avant-plan) est transmise sur le bus B sous la forme de-deux mots de quatre bits au registre 158. De la manière précédemment décrite, l'adresse provenant du registre 159 choisit le caractère approprié dans la mémoire 162 et transmet cette information au registre à décalage
167. L'information couleur provenant du bus B est trans-
férée au registre 173. Pour les besoins de l'explication, on supposera que les quatre bits identifiant la couleur rouge pour l'arrière-plan se trouvent sur le bus 184 (en provenance du registre 173 et du multiplexeur 166) et que quatre bits représentant la couleur bleue pour l'avant-plan
se trouvent sur le bus 183. (A noter que lorsque le re-
gistre 173 est activé, les signaux provenant de ce re-
gistre ont priorité sur les "uns" et zéros binaires qui,
autrement, apparaissent sur les conducteurs du bus 174).
Le signal binaire séquentiel représentatif du caractère lui-même sur le conducteur 190 choisit soit la couleur bleue à partir du bus 183 pour le caractère lui-même, soit la couleur rouge à partir du bus 184 pour le fond. Les signaux numériques représentatifs de ces couleurs sont
transférés au bus 180 et transmettent les données de cou-
leur au montage de la figure 8. Pour les affichages en -noir et blanc, une échelle "de gris" est obtenue par l'intermédiaire du circuit de pondération associé au
transistor 196 de la figure 8. Ici encore, le multiple-
xeur 169 peut, par l'intermédiaire du moyen de temporisa- tion 172, alterner entre le signal du conducteur 185 et
son inverse, ce qui a pour effet d'interchanger les cou-
leurs d'avant-plan et d'arrière-plan.
Au cours des modes graphiques à haute définition, la mémoire de caractères 162 n'est pas utilisée mais, au
- lieu de cela, des données provenant de la mémoire four-
nissent directement l'information de configuration pour l'affichage. Cela exige davantage de structuration de données à partir de l'intérieur de la mémoire centrale, du fait que de nouvelles données sont nécessaires pour chaque ligne de l'affichage. (A noter que lorsque des caractères sont affichés, la mémoire de caractères 162 fournit les différents signaux nécessaires pour les huit lignes de chaque rangée de caractères). Au cours de ces modes à haute définition, le registre 164 est activé et la mémoire de caractères 162 désactivée. En conséquence, les données provenant du bus A et du bus B sont décalées jusque dans le registre à décalage 167. Dans ces modes, le signal "HRES" appliqué au multiplexeur 169 provoque une sélection par celui-ci entre les broches 1 et 2. La
broche 2 fournit le signal directement à partir du re-
gistre à décalage 167, tandis que le signal de la broche l'est en fait le signal du conducteur 185 retardé d'une
-période par le signal Cl4m. Ce retard se produit à tra-
vers le registre 170 de l'entrée 2 à la sortie 2, étant
donné que ce registre est rythmé à C14m.
Au cours d'un premier mode graphique, des données
provenant du bus d'affichage 160 sont chargées dans le re-
gistre à décalage 167 avec un débit binaire de 7 bits/MHz.
Les données sont mises en série sur le conducteur 185 et,
de la manière précédemment décrite en ce qui concerne l'af-
38 2487095
fichage de caractères, elles commandent la sélection de "uns" binaires partout ou de zéros binaires partout par l'intermédiaire du multiplexeur 171. Il est à noter que, comme décrit précédemment, dans le mode de réalisation actuellement préféré, sauf si l'on utilise une suppression de la couleur, cela ne se traduit pas par un affichage
en noir et blanc, mais bien par un affichage en deux cou-
leurs;..-Si un bit haut est présent sur le conducteur 140 du bus d'affichage, le moyen de temporisation d'inversion et de clignotement 172 fait alterner le multiplexeur 169 entre les broches 1 et 2. Cette commutation se produit à une fréquence de 1 MHz et assure un déphasage d'une série
de sept bits de données sur deux séries de ce genre am-
pliquées au multiplexeur 171 sur le conducteur 190. Cela se traduit par la génération d'une couleur supplémentaire sur l'affichage pour une série de sept bits de données sur deux.
Pour les modes graphiques décrits ci-dessus, lors-
que le registre à décalage 161 assure un décalage à une fréquence de 7 MHz, huit bits peuvent 8tre appliqués au bus pendant chaque période. Plus précisément, comme dans'
le cas des couleurs d'arrière-plan et d'avant-plan diffé-
rentes pour le mode d'affichage à 40 caractères par ligne,
deux mots couleur de quatre bits sont introduits par déca-
lage dans le registre 173 à une fréquence de 1 Mz. Le multiplexeur 171 assure alors, une sélection entre deux
couleurs prédéterminées présentes sur les bus 183 et 184.
Il est à noter que ces couleurs peuvent être changées à
une fréquence de 1 MHz.
Dans un mode couleur supplémentaire désigné par "AHIRES", le multiplexeur 171 fonctionne sous la commande des portes 176, 177 et 178.- En fait, le multiplexeur 171 choisit le bus 184-et verrouille les signaux sur ce bus tous les quatre cycles de l'horloge à C14m. Des données sont introduites par décalage dans le registre à décalage
167 à partir du bus A et du bus B toutes les demi-micro-
24870O
secondes; le registre 167 fonctionne sous la commande du -signal à C14m. Chaque bit de donnée du conducteur 185 est décalé, tout d'abord jusqu'au conducteur 186, puis
jusqu'au conducteur 187 et enfin jusqu'au conducteur 188.
Ces conducteurs sont couplés avec le multiplexeur 171 par l'intermédiaire'du multiplexeur 166 qui choisit le bus 182, étant donné que le signal AHIRES est haut. En fait, ce qui se produit est que des mots couleur de quatre bits
sont mis en série sur le conducteur 185 puis remis en pa-
-rallèle sur le bus 182. Etant donné que le multiplexeur 171 verrouille les signaux présents sur le bus 184 tous les quatre cycles du-signal à C14m, un nouveau mot couleur
est engendré à une fréquence de 3,5 MHz sur le bus 180.
L'affichage résultant est formé de blocs colorés de 140 x 192, chacun de ces blocs pouvant être de l'une quelconque
de seize couleurs différentes.
Dans le dernier mode d'affichage,généralement uti-
lisé avec une suppression de la couleur, des données sont introduites par décalage dans le registre à décalage 167 à partir du bus d'affichage, avec un débit binaire de 14
bits/MHz. Les données sont mises en série sur le conduc-
teur 185 et commandent la sélection, soit de-"uns" binai-
res partout, soit de zéros binaires partout par l'intermé-
diaire du multiplexeur 171. Cela assure un affichage gra-
phique de définition maximale pour l'ensemble.
On voit qu'on a décrit ci-dessus un microcalcula-
teur offrant des possibilités d'affichage vidéo. Le cal-
culateur est fabriqué à partir d'articles disponibles dans le commerce et assure une utilisation rationnelle de ces $0 articles. De nombreux programmes existants, y compris beaucoup de ceux qui fonctionnent sur le calculateur
Apple-II, peuvent 8tre utilisés dans le calculateur dé-
crit ci-dessus.
Endis -,is 2487095
- TABLEAU I -
Ce tableau comprend
- un programme de lecture/écriture disque (pages 40 à 69)-
- un programme de-diagnostic (pages 70 à 82)
- un programme de moniteur (pages 83 à 111).
Bien qu'il s'agisse d'un langage essentielle-
ment symbolique, universellement utilisé tel quel, certaines parties en semblent traduisibles. En pareil cas, la traduction est donnée en annexe, par référence au numéro de ligne dans le tableau (seconde colonne
de celui-ci).
SAFpA RWTSI DISK READ/WRITE TRACK/SECTOR (16) 13 l********** *******" *4***X e **
14 * CRITICAL TIMIIG *
t15 * REQUIRES PAGE BOUND *
16 * CONSIDERATIONS FOR *
17 * CODE AND DATA *
18 * -----CODE---*- *
19 * VIRTUALLY THE Er4TIRE *
* 'WRITE' ROUTINE *
21 * mrusr NOT CROSS *
22 * PAGE BOUNDARIES. *
23 * CRITICAL BRANCHPS IN *
24 * THE 'WRITE'. 'RFAD', *
* AND 'READ ADR' S'JBRS *
26 * WHICH MUST NOT CROSS *
27 * PAGE BOUNDARIES ARE *
28 * NOTED IN COMMENTS. *
29* *
**************************
3t1* *
32 * EGUATES *
33* *
34 NBUFI EGU $200
NDUF2 EGU $302
36 * 37 HRDERRS EOU tS0
38 DVMOT EOU $EO
39 *
ISLOT EOU
41 IBDRVN EOU
42 IBTRK EQU
43 IBSECT ESOU
44 I1DUFP EOU
IBCMD EOU
46 IBSTAT EQU
47 IBSMOD EOU
48 CSUM EGU
49 IOBPDN EOU.
IMtASK EOU
51 CURTRK EOU
52 DRVOTRK EOU
53; SL]T 4. DRIVE t
54;SLOT 4, DRIVE 2
;SLOT 5, DRIVE 1
56;SLOT 5, DRIVE 2
57;SLOT 6, DRIVE t
58;SLOT 6, DRIVE 2
59 RETRYCNT EGU
SEEKCNT EOU
61 BUF EOU
62 ENVTEMP EOU
63 *IDSLOT+$tF HOT U 64 " $91
IDSLOT+I
1BSLOT+2
I3SLOT+3
IDSLOT+4
I3SLOT+6
IDSLOT+7
IBSLOT+8
IStMOD
1DSLOT+9
IrSLOT+$A
IDSLOT+$D,
CUNTRK-7
(ZERO PAGE AT $300)
iUSED ALSO FOR ADDRESS HEADER CKSUM
I USED ALSO FOR ADDRESS HEADER CKSUM
1DSLOT+$12
13SLOT+$13
IDSLOT+IlA IBSLOTflE U9ED. F000: FODO: F000: F000: F000: F000: F000: FOOO: FOCO' F000:
FODOO:
FOOO: FOO0: FOO0: FOO0: FOO0:
FOOO0-
FOCIO:
FO0: F5000 FO0:
F0302:
FO0: F000: FOOO: FOOO: FOOO: :
F000:'
0302: F-OO: ooeo: 00EO: FOOO. 00D3 0CS0 COD8 C009 Gose 003A: 000i: 00-3: OO0C: FOOO: FOO0: F00:
F,'--CO:
FOO0: FOO: 0093: 00F4: 909B FOCO
FOOD,0
r- PO r%> -tI Co U1
17-APR-81 #000252 PAGE 2
rDISK; READ/Wi]7E TFA,;./SúCT;.R (1,) 67C >**1 ***,s *4****< - -**e* * 4b
*****4# +************ *4** *
COUNT EQU I BSLOT+$14
LAST EQU IDSLOT+$14
CKSUM EQU IBSLOC+$15
CSSTV EQU IBSLOT+$16
* CHECKSUM, SECTORr TRACK, *,**********-****** 4X**
78 * 79 * * 81 * 82 * 83 * 84 * * 86 * 88 * 89 * * 91 * 92* 94 * * 96 * 98 * * 101 * 102 * 103 *
104 TR
PR
106 TR
107 *
108 **
109 * * 111 *
113 MO
114 MO
*
-. WRITE----
'MJST FIND' COUNT.
i 'ODD BIT' NI2LS.
CH-'CKSUMt BYTE.
FOUR BYTES,
ANiD VOLUME.
* * *
USES ALL NBUFS *
AND 32-BYTE
DATA TABLE 'NIBL' *
*
---- READ----.
*
USES ALL NBUFS
USES LAST 54 BYTES *
OF A CODE PAgE FOR
SIGNIFICANT BYTES *
OF DNIBL TABLE.
*
**********.( ************
*
SEEK ----
*
****************< '*****
KCNT EQU COUNT
IOR EQU IBSLOT+$1C
KN EGU IBSLOT+$1D
---- MSWAIT ----
i HALFTRKS MOVED COUNT.
* *
>******+*********** >****
INTIMEL EGU'J CSSTV+2
]NTIMEH EGU.ONTIMEL+1
iMOTOR-ON TIME
COUNTERS.
1 - C p L MT Q ú -.
: '- P;. '
-O
FC.:.0
F C. 0'
F 0.. FOOO. CC=5: '-,5:
00G.6:
*r D7:
F;D:O:
F 000:
F000: FO0: FOOO: F000: FO0O:
-F000:
FOe00: F000: F000: F 0.l0: F0OO: FOOO: FOOO: FOOO: FOO0:
F 000:
FO0: FOOO: Fo.>O: FOOO: F300: FO0: FOOO: FOO0: F000: FOOO: FOO0: FO00: : 00'D: OOZE: FOOO: FO0: FOC0: FOO: FOOO: FO00: 0099: 009A: FOOO:
DISK PEAD/W,'ITE TPAC)/SEZTOR (1;)
117 **4
118 * -
119 * DEVICE ADDREES *
* ASSIGrINMENTS
121 *
12 **************** ***
EGU $C080
EGU $C081
EGU $C08C
EGU $C08D
EGU C'08E
EGU $C08F
EQU - $FFEF
EGU $FFDF
EGU. BSO
EGU $7F
STEPPER PHASE [
STEPPER PHASE C
07L, G6L=READ
67L,GbH=SENSE t
G7H, G6L=WRITE
G7H,G6H=WRITE I
133 ***************** ******
134 *
* EGUATES FOR RWTS AND BLOCK
136 *
137 ******** ******
EGU EQU EGU EGU EGU EGU EGU EQU EGU EQlJ EGU EQU EGU EGU EGU EQU- $Co088 $C089 *COSA
0CO08B
$C0o81 $6080 CSTV TE:IP CSUMi+i SECT+i 1RACK
TRACK+1
HRDERRS+3
HRDERRS+2
HRDERRS+1
MRDERRS
PUT ADDRESS IN
DISK READ/WRITE TRACK/SECTOR (16) 17-APR-81 #0002'
12'5
PHASEOFF
PHASEON
06L G6H Q7L î7H
INTERUPT
ENVIRON
ONEMEG
TWOMEG
FI020:
F'oO0:
FOC'O:
F020:
F 000:
FPof0: Ft:r CISC
FOQ..O:
CODF: Cg OD'C: Q08E: CQ8F: FFEF: FFIF: : 007F: F000: F000: FOO0: FO5O:
FO'O0:
F 000:
C088: CC.9: COSA: G0BA: COBD: C081: COSO: 0097: 0097: 0098: 0099: 0099: 009A: 0083: 0082: 0081: :
MOTOROFF
MOTORON
DRVOEN
DRV1EN
PHASON
PHSOFF
TEMP CSUM1 SECT
TRACIK
TRKN1
VOLUME
IBRERR
IBDERR
IBWPER
IBNODRV
t:A RWTS1 17-e-FR-G 2 4'9-1'È'9 Y
SARA RWTSI
DISK READ/WRITE TRACK/SECTOR (16- 17-APR-81 #000252 PAGE S
FOOO: FOO: FOO0: FOOO: FO0: FOO0: FOiO:
FOOO:AO 01
FC02:A6 81
F004:84 94
F006: OS
F007.-8
F008:6A
FO59:6A
FO-A: 6A
FOOB:6A
FOCC:85 8B
FC0E:AD DF FF
FOI1:85 9F
F013: F013: F013; F013:20 2B Ft
FO: OS8
FO17:AS 85
F019:85 9B
FOld:A5 86
FOID:85 9C
FOtF:A9 EO
F021-85 9A
FO03: A5 82
F025:C5 SA
F027:85 8A
F029:08
F2OA:6A
F02:D BD 89 CO
FO2E:90 01
F00:E8
F.Zt:.SD SA CO
F034:20 4C F3
F027:28
FO8S:FO OA
FO3A: 28
FO3D:AO 07
FOD'20 56 F4
F040: 88
F041:DO FA
F0:08 CS
F044'A5 83
F,46:A6 81
F048 20 0S FI
F-'4 F04.
F04D-28
F-4C.DO 17
FO.E.
S55 ****************+***.***
156 * +
157 * READ/WRITE A *
158 * TRACK AND SECTOR *
159 *
*******
161 *
162 REGRWTS LDY #1
163 LDX IBSLOT
164 STY ESEKCNT
PHP
166 PLA
167: ROR A
168 ROR A
169 ROR A
ROR A
171, STA IHA.SK
172 LDA ENVIRON
173 STA -NVTEMP
174 *
* NOW CHECKI IF THE MOTOR IE
176 *
177 JSR CHKDRV
178 PHP
179 LDA ISBUFP
STA DUr 181 LDA IYSUFP+t 182 STA 5UF+t
183 LDA #DVMOT
184 STA MONTIMEH
LDA IDDRVN
186 CMP IODPDNI
187 STA IOPDoN
188 PHP
189 ROR A
LDA MOTORON, X
191 BCC DRIVSEL
192 INX
193 DRIVSEL LDA DRVOENX
194 JSR SETlMEG
PLP
t196 13BEO 0
197 PLP
198 LDY #7
199 DRVWAIT JSR MS!IAIT
DEY
201 ONE DRVWAIT
202 PHP
203 OK LDA 1DTR$K
204 LDX ISSLOT
205 USR MYSEEK
206 *NOW AT THE DESIREO TRACK.
207 * ON'TO START WITH?
208 PLP
209 DNE TRYTR;A
210*
RETRY COUNT
iGET SLOT # FOR THIS OPERATION iONLY ONE RECALIBRATE PER CALL
DCTERMINE INTERUPT STATUS
iGET INTERUPT FLAG INTO BIT 7
PRESERVE ENVIRONMENT
ON, THEN START IT
SEI ZERO FLAC IF MOTOR STOPPED
iSAVE TEST RESULTS
MOVE OUT POINTER TO BUFFER INTO ZPACE
i
DETERMINE DRIVE ONE OR TWO
iSAME DRIVE USED DEFORE? iSAVE IT FOR NEXT TIME
JEEP RESULTS OF COMPARE
i;GET DRIVE NUMDER INTO CARRY
TURN ON THE DRIVE
iBRANCH IF DRIVE 1 SELECTED
SELECT DRIVE 2
INSURE ONE MEGAHERTZ OPERATION
WAS IT SAME DRIVE?
iMUST INDICATEDRIVE OFF BY SETTING ZERO FLAG) iDLAY 150 t1iS DEFORE STEPPINO
À;(ON RETURN A=0)
JNOW ZERO FLAO SET
iGET DESTINATION TRACK
îRE$T0RE PROPER X (SL T*16)
iANO GO TO IT.
WAS THE MOTOR
iWAS MOTOR ON?
IF 80, DON'T DELAY, G T IT TODAY!
M Co vij SEAA RWTSt
DISK READ/WRITE TRACK/SECTOR (16)
211 * MOTOR
212 *
12 213 MOTOF
214 CONWAIT
FD 215
9 216
F7 217
9A 218
F3 219
NAS OFF, WAIT FOR IT TO SPEED UP.
LDY DEY BNE INC BNE INC BNE #4 12
CG;,IA I T
MOi'T I NEL IOTOF
MONTIMEH
IMOTOF
WAIT EXACTLY 10p US
FOR EACH COUNT IN MONTIE
i
FOR EACH COVNT IN PIONTIME
COUNT UP TO 0000
Ai:A RWT FC4E.
FC4 E:
FOD4E: AO
F050: s8
F051: DO
F05'3: E6
F055: DO
F057: E6
F%359: DO
S:- Co o ni
17-APR-81 #000252 PAQE
rs!
SARA RWT1S
FOSD: F05D:
*F0503:
FOSt3-: F056: F03B: FO.3:20 2B Ft
FOSE: DO 05
F060:A9 sO F06b2 4C ES FO FO65: F065: F065: FO45:
FO5: AS 87
F07: FO 77
F6O9:C9 03
F06: O30 73
F06D: 6A
FO6E: S0 OB0
F070: AD DF FF
F,73; 29 7F
F075:SD DF FF
F078: O20 C6 F2
FO7D: AO 7F
FO.D: 84 93
FO7F. Ab 81
FC'II:20 PD FI
F.C.4 90 Z1
F.:'6. 24 2B
FO8: GO 01
FO3A 58
FDSO Cà 93
FZ;'D 10 FO
F,.SF. AS eC
FO I: 48
F02: C6 94
F094: DO 4F
FO96; A9 40
FOqs:20 25 FI FOSD: A9 0o F39D:20 05 Fl
FOAO- 68
FOA'I:-0 05 FI
FZD4: 4C 703 FO
FOA7: Fo.;7 FOA7
FA7. A41 99
F0,9':94 ec
FO^AU FO OE
FC,D AS C
FC,.F 4e
FOLO 95
DISK READ/WRITE TRACK/SECTCR (16) 17-APR-81 *000252 PAGE 7
221 ***********************+**
223 * MOTOR SHOULD DE UP TO SPEED.
224 * IF IT STILL LOOKS STOPPED THEN
225 * THE DRIVE IS NOT PRESENT.
226 *
227 ******** *****, *****
228 JSR CH/,DRV;IS DRIVE PRESENT?
229 UNE TRYTRK; YES, CONTINUE
230 NODRIVERR LDA #IRNOORV;NO, GET TELL EM NO DRIVE!
231 JMP HINDLERR
232 *
233 * NOW CHECK: IF IT IS NOT THE FORMAT DISK COMMAND,
234 * LOCATE THE CORRECT SECTOR FOR THIS OPERATION.
235 * 236 TRYTRK LDA ISCM1D;OEr COMMAND CODE #
237 BEO ALLDONE;IF NULL COMMAND. GO HOME TO BED.
238 CMP #3; COMMAND IN RANGE?
239 RCS ALL DONE;NO. DO NOTHINQ!
240 ROR A * SET CARRY=I FOR READ. 0 FOR WRITE
241 [CS TRYTRK2;MUST PRENIBOLIZE FOR WRITE.
242 LDA ENVIRON
243 AND #TLJOMEG;SHIFT TO HIGH SPEED!
e.-t 26t JSR
PRENIDI6
TRYTRK2 LDY #S7F;CNLY 127 RETRIES OF ANY KIND
STY RETRYCNr TRYADR LDX I.3SLOr;GET SLOT NUtI INTO X-REG JSR RDADRt6;READ NEXT ADDRESS FIELD aCC RDRIOHT IF READ IT RIGHT, HURRAH! TRYADRZ BIT IlM.; SK SHOULD INTERUPTS SE ALLOWED?
B1t NOINTRI;NO, DON'T ALLOW THEM.
CLI;RE-ENABLEO AFTER READ/READADR/WRITE FAILURE.
NOINTRI DEC RETRYCNT;ANOTHER MISTAEK!!
DPL IRYADR; WELL, LET IT GO THIS TIME.,
LDA CURTRK
PHA;SAVE TRACK WE REALLY WANT
DEC SEFKCNT; oNI Y RECALIBRATE ONCE!
UNE DRVERR;TRIED TO RECALIDRATE A SECOND TIME, ERROR!
LDA #$60;RECALIHRATE ALL OVER AOAIN!
JSR SEITRK;iPRETEND TO DE ON TRACK 80
LDA *00
JSR MYSEEK;M OVE TO TRACK O0
GOCALI PLA
GOCAL JSR;OYSEEK;GO TO CORRECT TRACK THIS TIME!
JMP IRYTRK2 LOODP ACK., TRY AGAIN ON THIS TRACK
* HAVE NOW READ AN ADbRESS FIELD CORRECTLY.
* MAZE SURE THIS IS rHE TRrC:. SECTOR, AND VOLUME DESIRED RDRIGHT LDY 7RACK;OiN THE RIGHT TRACK? CPY CUH TrRK OEO RrFRK * IF SO, 000D * RECALIORATING FROM rHIlS rRACK
LDA CUR TRRI,PRESERVE DESTINATION TRACK
PHA TYA 0z- rO O 4-. Co --
DISK READ/WRITE TRACK/SECTOR (16)
FOD!:20 25 F1
FOS4: 68
FOE5: 20'05 Fi FOIlS: 4C 86 F0 JSR PLA JSR dMP
SETTRK
MYSEEK
TRYADR2
GQ0 AHEAD
AND RECALIBR
ATE rO Co nO 0A
17-APR-81 #000252 PAGE P
SAPA RWTS1
DISK READ/WRITE TRACK/SECTOR (16) 17-APR-81 #000252 PAGE 9
FOCtD: FOBD:
FOB:D:
FDB0: AS 9A
FODD: a5 99 OrF. A5 98
FO-:1: C5 84
F0O3: FO 02
FOCS: DO EF
FOC7:AS 87
FOC9:4A
FOCA:90 2D
FOQC:20 48 F1
FOCF: DO D5
FODI:AD DF FF
FOD4:29 7F
FOD6: 8D DF Fi FOD9:20 Il Fl FODC:DO As8
FODE:A6 81
FOEO: 18
FOEt:A9 O0
FOE3 90 04
FES. 5.68
FOE6-A9 32
FOE: 28
Foe9.85 8s
FOEB-BD 88 C<
FOEE:24 8B
FOFO -iO O1 FOrF2 58
FOR3 A5 9F
FO< S.D D8 F FF
FOF8: 60
iO.F9:20 19 Fc
FOFC.90 E2
FOFE: A9 81
FI.O: 50 E6
PlJO2:4C 86 Ff F105: F i5: F Ic05 FtO5: FI05. F105:
F 105: VA
F106- 95 99
F L,8.20 19 F:
F ';B 20 SE F:
FIt-E D5 5
F110 85 8C
Ftl2 AS 99 F114.05 e5 FtIl6.220 O0 F4
F119 AO. 03
FIl3B S6 282 *
283 * DRIVE IS ON RIGHT TRACK, CHECK VOL
284 *
285 RTTRK LDA VOLUME;
286 STA IDSMOD l
287 CORRECTVOL LDA SECT;C
288 CMP IESECT
289 DEG CO.RRECTSECT iI
290 BNE TRYADR2;N
291 CORRECTSECT LDA IECMD
292 LSR A J
293 DCC WRIT;C
294 JSR READ16; C
295 BCS TRYADR2 C
F 296 LDA E4VIRON
297 AND #TtbOMEG
F298 STA 1-NVIRON
3 299 JSR POSTNID16 iD 300 DCS IRYADR2 iC
301 LDX IDSLOT;R
302 ALLDONE CLC
303 LDA #0i 304 BCC ALDONEi;S
305 DRVERR PLA;R
306 LDA #IBDERR
307 HNDLERR SEC I
308 ALDONEI STA IDSTAT iG 0 309 LDA MiOTOROFF, X T
310 BIT I1ASK
311 BMi N.OINTR2
312 CLI
313 NOINTR2 LDA tiVrJrENP
314 STA ENVIRON
315 RTS
316 WRIT JSR 4RITE16;,
317 DCC ALLDONE; I
313 LDA #IDWPER; D
319 BVC IMiI)LERR; T 0 320 UMP fRYADR2; 321 * 322 * THIS IS THE 'SEEK' ROUTINt
323 * SEEKS TRACK 'NI IN SLOT #X/SO10
324 * IF DRIVNO IS NEQATIVE, Oft DRIVE O 325 * IF DRIViO S19 POSITIVE. ON DRIVE I 326 *
327 MYSEE$K ASL A;A
328 SEEKI STA IRKM 1 S
329 JSR ALLOFF;
330 JSR ORVINDX;
331 LDA GRVO FrRK. X 332 8rA CUTRK, T 333 LDA TrK.Nl A
334. STA DRVOTPR. X
4 333 GOSEEK USR SEK
336 ALLOFF LDV 3;
337 NXOFF TYA i
UME MISMATCH
ET ACTUAL VOLUME HERE
ELL OPSYS WHAT VOLUME WAS THERE
HECK IF THIS IS THE RIGHT SECTOR
F SO, DO WHATEVER WANTED
O TRY ANOTHER SECTOR
READ OR WRITE?
THE CARRY WILL TELL.
ARRY WAS SET FOR READ OPERATION.
LEARED FOR WRITE
ARRY SET UPON RETURN: IF BAD READ
SET TWO MEGAHERTZ MODE
0O PARTIAL POSTNIDBLE CONVERSION
HEKSUM ERROR
ESTORE SLOTNUM INTO X
NO ERROR
KIP OVER NEXT BYTE WITH BIT OPCODE
EMOVE CURTRK
BAD DRIVE
NOICATE AN ERROR i IVE HIM ERROR i
UNN IT OFF...
SHOULoD INTERUPTS BE ENABLED?
BRANCH IF NOT
RESTORE ORIGINAL ENV;IRONtIENT
RITE NYDBLES NOW
F iaO ERRORS5
ISK IS WRITE PROTECTED!!
AKEN IF TRULY WRITE pROTECT ERROR
OTHERIISE ASSUME AN INTERUPT NESSED THINGS UP
SSUIME TWO PHASE STEP
AVE DESTINATION TRAC
URN ALL PHASES OFF T:
GET INDEX ro PPEVIOU
HIS 1S WHERE I A |
ND WHERE l 'M GOCIO T
O THERE'
TURN OFF ALL PHASES
(SEND PHASE IN ACC.)J
It ER. c *.2)
3 BE SURE.
TRACK FOR CURRENT DRIVE
EFORE RETURNINO
ro CO v0 Vt
SABA RWTS1
SARA RWTS1
FlIC: 20 4A F4
FIIF:88
F120:10 F9
F122:46 8C
F124: 60
DISK READ/WRITE TRACK/SECTOR (16)
333 JSR CLRPHASE
339 DEY
340 BPL N:OFF
341 LSR CURTRK
342 RTS
17-APR-81 #000252 PAGE
CARRY IS CLEAR, PHAS
DIVIDE DACK DOWN
ALL OFF...]NO 1 IT'S
*S SHOLD DE TURNED OFF
4- o J4 n0 U1 r ISk F EA D/Wh.I.E TFA-', k!-- L - (i 6)
i -- %.
15. 1_5:20 3E Fl
11 8: 5 85
1 2A: 60
lc-E l 2E: -eB:
I ZR.:AO0
12B3: ID: 1213- 1213: 11B:
I 213:
12B3:
I'-B AO 0O
1.l: iD 8C CO 1-t0:20 3D F1
133: 48
134: 68
:DD 8C CO
138: DO 03
1L3A: 88
13B: DO FO
13D: 60
13E:
13E: 48
13F: SA
: 4A
11: 4A
142: 4A
143:05 82
: AA
1.46:68
147:60
[48: [48: L48: L '8: L48:
34 -- -
345 * THIS
346 * LOCAT
348 SETTRK
350C
351 *****-
352 *
353 * SUDR
354 *
355 * IF MO'
356 * SHIFT
357 * 358 * RETURi 359 *
360 *******-
361 CHKDRV
362 CHKDRV1
370 CKDRTS
371 *
372 DRVINDX
381 -
382 *
383 * NOTE:
384 * 385 *
386 *******
SU'2OUI" It'TE SElS THE SLOT DEhEt;4DEE4T Th:AkV I CI.
JSR DRVINDX
STA DRVOTRK, X
RTS
F*.*-%******. *.**********
CET INDEX TO DRIVE NUMrBER TO TELL IF ?lOTOR IS STOPPED
TOR IS STOPPED, CONTROLLER'S
REG WILL NOT BE CHANQINO.
N Y=O AND ZERO FLAg SET IF IT IS STOPPED.
LDY #0
LDA Q06L, X
JSR CKDRTS
PHA PLA
CMP O6L, X
BNE CKnRTS DEY
BNE CHKDRV1
RTS PHA TXA LSR LSR LSR ORA TAX PLA RTS
INIIT LOOP COUNTER
READ THE SHIFT REG
DELAY
MORE DELAY
H.'S SHIF1 REQ CHANGED?
YES, NOTOR IS MOVING
NOt, DEC RETRY COUNTER
ANI TRY 256 TIIES
THEN RETURN
PRESERVE ACC.
GET SLOT(*$10>/8
A A A IlDDRVNJ
FOR DRIVE 0 OR 1
INTO X FOR INDEX TO TABL
RESTORE ACC.
FORMATTINg ROUTINES
NOT INCLUDED FOR SOS
if- -. t- -il
:?F;I.'T 1
r4A DiSK READ/WPiTE TFAC/SECT C-R ( lt-)
1 7-AFR-F-1 P.C.CC.5. P,
ql:.,. F1'8
F i -
F. - F14G: F148: F148: F148: Fi 8: F148: F148:
F1 -8:
Fl:8.
FI'-8:
F148: F148: F148: F148: F148: F148: Fl8: F148:
F 148:
F148: F148: F148: F1-8: F148: F148: F148: F148:
F14 8:
F148:
F I.48:
F148: FI48:
F 1 -- ú:
F148:
F 148:
F148: F148: F148: F148:
F148:AO 20
F14A: 88
F 148: FO 6B
FI4D:BD 8C CO
F150:10 FB
F152:49 DO
F 154: nO F4
F156: EA
F157: BD BC CO
FLSA: 10 FB
F15C: C9 AA
F15E: DO F2
FlbO:AO 55
*38E ****-**
389 4 390 *
:391 * ( 1
392 *
393 ******
394 *
395 * REI
396 * iNT( 397 *
398 * FIR'
399 *
400 * THEI
401 * 402 * 403* 404 *
405 * X-RE
406 * 407 *
408 * REAI
409 * 410 * 411 *
412 * CARF
413 *
414 * IF
415 *
416 *)
417 *
418 * (
419 * 420 * 421 *
422* '*
423 *
424 * SC
425 *
426 * ---
427 * 428 * 1 l 429 * 430 ******i
431 READ16
432 RSYNC
434 RDI
436 RSYNC1
439 RD2
READ SUDROUT INE
6S-SECTOR FORAiT >
** *** * ***** 4*4* ** * 44
ADS ENCODED BYTES
0 NBUF1 AND NDUF2
ST READS N4BUF2
HI H TO LOW,
N READS NBUFI1
LON TO HIGH.
-- O: ENTRY
EG: SLOTNUti
TIMES $10.
D MODE t06L, 07L)
-- ON EXIT
RY SET IF ERROR.
NO ERROR:
A-REG HOLDS $AA.
X-REC UNCHANGED.
(-REG HOLDS $00.
CARRY CLEAR.
-- CAUTION
* * * * * * * * * * * * * * * * *
OBSERVE *
NO PAGE CROSS'
WARNINOS ON *
DME BRANCHES!! *
-- ASSUMES ---- *
USEC CYCLE TItlE *
.***. ***,**+*** ***X**
LDY DEY BEG LDA BPL EOR BNE NOP LDA BPL CMP BNE LDY #$20 RDERR
G6L, X
RDI #$D5 RSYNC
06L, X
RD2 #ZAA
RSYNC1
#e55
M.UST FIND' COUNT.
IF CAN'T FIND MARP
IHEN EXIT WITH C4
HEAD NJIBL.
*** NO PAGE CROSS!
DATA MARK 1?
LOOP IF NOT.
DELAY BETWEEN NIBI
**4 NO PAGE CROSS
DATA MARK 2?
(IF NOT, IS IT DMi
INIT NBUF2 INDEX.
e e *- 4- -$:- *- * Il- 11, -> 1 *- * -r- * * i- * * 4-
DISK READ/WRITE TRACK/SECTOR (16>
F1lt2: 444 * Flc2:DD 8C CO 445 RD3 Flb5:10 F13 446 Flo17:C9 AD 447 Flit9:DO E7 448
F16D: 449 *
FlaB:)D SC CO 450 RD4 FltE: 10 F13 451
F170:99 02 03 452
Fi73: AD EF FF 453
F176&: 05 8B 454
FITS: lO 40 455
F17A:88 456
F1713: 10 EE 457
F17D:CB 458 RD5
F17E:2D SC CO 459 RD5A
FiBl: 10 FB13 460
F153:99 00 02 461
F156:AD EF FF 462
F1i9: 05 83 463 F1t3D:10 2D 464 FlSD:CO E4 465 F1aF:DO EC 466
F191:C8 467
FI92:1D SC CO 468 RD6
F195:10 FB13 469
F197:99 00 02 470
Fi9A:C8 471 Fl9B:DO F5 472 FiiD:BD 8C CO 473 RDCKSUtlH
F FIAO: 10 FB 474
F1.2:85 96 475
F1iA4:EA 476
FIA5:BD 8C CO 477 RD7
Fl8: 10 FB13 478
FIAA:C9 DE 479
F1AC;DO OA 480
F1AE:EA 481
FIAF:DD SC CO 482 RD8
Fic2: 10 F13 483
F1 4:C9 AA 484
F1Er6:FO 5F 485 FIl8: 38 486 RDERR
F I1 L: 60 487
F ILA: 4s8 * iz- i: ',.z r 71 d 00 mm} o o ep>t
(ADDED NIBL DELAY)>
LDA C6L, X
BPL RD3
CMP #$AD
BNE RSYNC1
*(CARRY Sî_T IF DN3!)
LDA Q6L, X
BPL RDq
STA NRUF2, Y
LDA INIERUPT
ORA Ir1l/!SK
BPL GOSERV
DEY
BPL RD4
INY LDA Q&Li, X
DPL RD5A
STA NWUF1,Y
LDA INIERUPT
ORA IMA.'SK
BPL GOSERV
CPY. #E4
BNE RDS
I NY LDA Ce6L X
BPL RD6
STA NBUF1oY INY
BNE RD6
LDA Q6L,X
3PL RDCKSUM
STA CKSUM
NOP LDA C6LoX
BPL RD7
CMP #*DE
3NE RD=RR
NOP
LDA 06L, X
BPL RD8
CMP #$AA
BEG RUCXIT
SEC' RTS Ir-I ccrwwr r I 17-APR-81 #0002b2 PAGE i3 i*** NO PAOE CROSS! ***
JDATA HARK 3?
(IF NOT, IS IT DMI?)
*4* NO PAGE CROSS! ***
JSTORE BYTES DIRECTLY
JPOLL INTERUPT LINE
i(THIS MAY BE USED TO INVALIDATE POLL)
INDEX TO NEXT
(FIRST TIME Y=O)
iGET ENCODED BYTES OF NBUF1 iPOLL INTERUPT LINE (THIS MAY SE USEr TO INVALIDATE POLL)
IITHIN 1 MS OF COMPLETION?
NO POLL FROM NOW ON.
sFINISH OUT NBUF1 PAGE
GET CHECKSUM BYTE.
EXTRA DELAY BETWEEN BYTES
*** NO PAGE CROSS! ***
FIRST BIT SLIP MARK?
(ERR IF NOT)
DELAY BEIWEEN NIBLS.
*** NO PAGE CROSS! **
SECOND DIT SLIP MARK?
(DONE IF IT IS)
iINDICATE 'ERROR EXIT'.
RETURN FROM READ16 OR RDADR16.
rl m&7tpirrmrr l: w
Z'AAA RWTS1
ro Lo vi
DISK READ/WRITE TRACK/SECTOR (16)
FleD: FleSD: FILD: FIDD: F12D: F150: Ft5.
F 1 0,3D:
FIBD: FleD:
FI.2D:
F13iD: FiDD:
FLúED:
Fle3D: FIDD: FIBD: FIDD: FISD: FIDD: F13D: F150: FLND: F1BD: F1iDD: F1DD: FI2D: FID: F1eD: FIDD:
F113D;
FIDD: FISD:
F 1 0:_
FIDD:
F 1 30:
F1DD: F t D: FIDD: FIZD: FltD: FIDD: F13G: FI0D:
F 1 Z D:
F1BD: F10D: FIDD: F 1 a D:
F I I D:
F1'- D:
F 1C':D:
Fi3XD: F1LD FirtD: FIrD
FI' D AO FC
FI.F 4 "5
49-5 i*******4******** 4 ********* * * * * * * * *
READ ADDRESS FIELD
SUBROUTINE
(16-SECTOR FORM1AT>
* u.* ** **** *** ** *** * *4* ** * *
READS VOLUME, TRACK *
AND SECTOR
* d*
* --- ON ENTRY ----
* *
XREG: SLOTNUM TIlMES $10 *
* *
* READ MODE (Q6L, Q7L)
* *
* --- ON EXIT - *
* *
* CARRY SET IF ERROR. *
*.*
* IF NO ERROR:
* A-REG HOLDS $AA.
* Y-REG HOLDS OO. *
* X-REG UNCHANGED. *
* CARRY CLEAR.
* *
* CSSTV HOLDS C-SM,
* SECTOR, TRACK, AND *
* VOLUME READ.
*.
* USES TEMPS COUN4T,
* LAST, CSUiM, AND
* 4 BYTES AT CSSTV.
* *
* ---- EXPECTS ---- *
*.*
* ORIGINA.L 10-SECTOR
* NORMAL DENSITY NIBLS *
* (4-BIT), ODD BITS, *
* THEN EVEN. *
* -
* ---- CAUTION -..-
* *
* OBSERVE *
NO PAGE CRO'SS'
* WARNINGS ON *
* SOME BRANCHES!! *
*
* ---- ASSUMES ----
*
* 1 USEC CYCLE TIME -*
*F *
*44*****4* ±****-*+ 4-4: t**# *4* RDADR16 LDY;.tFC
ST? COUN T
"'UST Fi":D' COUJNT St,)
SARA RWTS1
17-APR-81 #0002152 F
DISK READ/WRITE TRACK/SECTOR (16)
FICI:C8
FIC2:DO 04
FIC4: E6 95
FIC6:FO FO
FlC8:BD SC CO
FICD: 10 FB
FICD:C9 D5
FICF:DO FO
FIDi: EA
FID2:BD 8C CO
FID5: 10O FB
F10D7:C9 AA
FID9: DO F2
FtDB:AO 03 F!DD: FI0D: BD aC CO FiEO: 10t FB
F1E2:C9 96
FIE4:00 DO E7
FIES:
FIE6:A9 00
FtES: 85 89 FlEA. SD C CO
FIED: O10 FB
FIEF. 2A
FIFO' S5 95
FIF2:DD SC CO
FIF5 10 FB
F1F7 25 95
FIF9 99 97 00
FIFO 45 89
FIFE 88
FIFF 10 E7
FOl' As8 Fr-'2. 10 84 F2,04 4:D aC CO
F207 10 FB
F2C9:C9 DE
i,:0. DO AD
F2CD: 78
F2'E:DD SC CO
F211:10 FU
F213:C9 AA
F215:DO Ai
F217:18
F218:60
F219:
547 RDASYN
551 RDAI
553 RDASNI
556 RDA2
561 *
562 RDA3
S65 566 *
568 RDAFLD
569 RDA4
573 RDA5
582 RDA6
587 RDA7
58s 59t RDEXIT
592 WEXIT
INY
DNE RDAt;LOW ORDER OF COUNT.
INC COUNT (2cK NIBLS TO FIND i
DEG RDCRR; ADR MARK, ELSE ERR)
LDA C6L,X;READ N1DL.
DPL NDAI;*** NO PAGE CROSS! **
CMP #$D5 iADR MARK 1? DNC RDASYN;(iLOOP IF NOT)
NOP;ADDED NIDL DELAY.
LDA 06LX
3PL RDA2;*- NO PAGE CROSS! *4
ClIP #tAA;ADR MARK 2?
SNE RDA.SNI; (IF NOT, IS IT AMI?)
LDY 4$3 iINUEX FOR 4-BYTE READO.
(ADDED NIBL DELAY)
LDA 06L, X
BPL RDA3;**4 NO PAGE CROSS! ***
CMP #*96;ADR MAhK 3? BNE RDASNt; (IF NOT, IS IT AMI?)
(LEAVES CARRY SET!)
LDA &$O s;INIT CHECKSUM.
STA CSUM
LDA Q6L.X;READ 'ODD BIT' NIBL.
DPL RDA4;*** NO PAGE CROSS! **
ROL A ALIGN ODD BITS, '1' INITO LSD.
STA IAST i (SAVE THEM"
LDA S6LX;READ EVEN BIT' NIBL.
DPL RA5;,**r NO PAGE CROSS! ***
AND LAST;MrRGE ODD AND EVEN BITS.
STA CSSTV, Y;STORE DATA BYTE.
EOR CSUM
DEY
BPL RD:FLD iLOOP ON 4 DATA BYTES.
TAY;IF FINAL CHECKSUM
BNE RDERR; NCNZERO, THEN ERROR.
LDA G&L,X;FIRST DIT-SLIP NIBL.
BPL RDA6;*** NO PAGE CROSS! ***
CMP #SDE
BNE RDCRR sERROR IF NONMATCH.
SEI;DELAY (NO INTERUPTS FRON NOW ON)
LDA e6L,X;SECOND DIT-SLIP NIBL.
DPL RDA7;** * NO PAGE CROSS! ***
CMP #tAA
UNE RDERR;ERROR IF NONMATCH.
CLC CLEAR CARRY ON
RTS NORMAL READ EXITS.
CHN RtW152 N co "4 o I-f 17-APR-et #000252 PAGE 115 SiARA RWtTSt
F.; 5.
F.' 2S,.
F219 fZl 9 F219 F 219 F2:9 F c. 9 Flq F2i9 F21 9 F2;9: F219: F2J9. F219: F219' F219: F219. F219: F229 F2 9 F219 F'2i9. F219: F i.9 F219 F21 9 F2:9 F219 F219. F21 9 F219: F219: F2I9. F219.
F23 9:
F219.
F21:9.
F2139.
F2.19.
*F219: F219:
F219. 38
F21A: DB
F21I.iD BD CO
F21E:DD BE CO
F2,1'30 F5
F3 A9 FF
F2:'5: 9D 8F CO
F22e iD BC CO
F2-B:AO 04
FP2D:EA
F2E:48
F72F: 6B
F30: 48
F231 68
F 32 20 BD FZ
F225. 8
FZ. DO F8
F2zG8 A9 D5'
DISK READ/WRITE TRACK/SECTCIR (16) 17-APR-81 #000252 PAGE 16
2 *** 4,**
3* 4 *
* (16-
6'"
7 *.*,****
8 À
9À WRI
* NB
Il *
12 * FIRS
13 *
14 * THEN
* 16 *
17 *...
18 *
19* X-R
* 21 * 22 * 23 *. 24 *
* CARR
26 * (W
27 4
28 * IF N
29 * * A-t
31* X-I
32* Y-I
33 * CA]
34 * * _ 36 *
37 * I USI
38*
39 R I***E
WRITE16
-41 WRTI
52 WSYN
WRITE SUBR *
SECTOR FORMAT) *
* *$*f #.**X****I.l.*êt,* TES DAtA FRO:i * UFI AtD NBUF2 *
T IIDUF2. *
HIGH TO LOW. *
NDUFI, *
LCW TO HICH. *
014 ENTRY -*-- *
EGS SLOTNU: *
TIMES $10. *
ON EXIT -- --
Y SET IF ERROR. *
PROT VIOLATION) *
*
O ERROR:
* *
REG UNCERTAIN. *
REG UNCHANOED. *
REG HOLDS t00. *
RRY CLEAR. *
ASSUMES ---- *
*EC CYCLE TIM
EC CYCLE TIMC *
SEC CLV LDA LDA DM I LDA STA ORA LDY NOP PHA PLA
IC PHA
PLA JSR DEY Bi4E LDA
G6H. X
Q7L, X
tWEX IT 4$FF
G7H, X
* GL, X
#$4
_;1I BL7
WSYNC l"D5
iANTICIPATE WPROT ERR.
TO INDICATE WRITE PROTECT ERROR INSTEAD OF INTERUPT
i SENSE WPROT FLAG.
DRANCH IF NOT WRITE PROTECTED
SYNC DATA.
: (5C COTO WRITE MODE
(4)
(2> FOR FIVE NIBLS.
i (<2) (4) (3)
(4) EXACT TIMING.
(3) EXACT TIMING.
(13,9#6) WRITE SYNC.,
t2) 1
(2*) MUST NOT CROSS éAGE!
(2) IST DATA MARVK,
I \$' r3 Co n-' Lnl
DISK READ/WRITE TRACK/SECTOR (16)
F23A 20 BC F2
2-0D'A9 AA
F2Z2F 20 BC F2
F2.12:A9 AD
F244:20 BC F2
F27: AO 55
F249:EA
F24A:EA
F24B: EA
F2-C DO OS
P2dE:AD EF FF F2ft 05 SI
F25. EA
F2-4: 1O 5D
F2Q6: 0 00
92!3:D9 02 03
F2fD:9D 8D CO
F25E:DD SC CO
F261: 89
F262:10 EA
F264: S99
F2S:30 03
F2,7:AD EF FF
F2SA OS BD
F26C: EA
F2D'30O 02
F2'F: I0 42
F271 C'
F272:Z9 00 02
F275'9D 9D CO
F7. S:DD SC CO
F2-: CO E4
Pk27D O ES
2-F: EA
F 250: Ca e2GI EA F2s2: EA F283: 4a
F24: 69
F25: 29 00 02
F;zS:;sD eD CO
F230: BD 8C CO
F22E:AS 96
F2zO:Ca
F2I:DO EE
FZ-:FO 00
F2'5.2Z0 BD F2
F2Z9'A9 DE
F2ZA:2O BC F2
F27D:A9 AA
F2ZF. 20 BC F2
F2.2 A9 EB
FzA4:20 DC F2
F2A7 A9 FF
FZ49 z0 BC F2
F;4C OD 8E CO
69 WINTRPI
72 VRYFRS7
73 WRTFRSI
WNTRPTt
81 WMIDLE
WDATA2
g6
93 WDATA3
to101
104 WRCKSUM
t107 tt lit
1 13 NOWRI TE
r JSR LDA JSR LDA JSR LDY NOP NOP NOP BNE LDA ORA NOP BPL BMr LDA STA LDA DEY BPL TYA BMlI LDA ORA NOP BMI 8PL INY LDA STA LDA CPY BNE rJoP INY IqoP NOP PHA PLA LDA STA LDA LDA INY BNE JSR LDA jSR LDA JSR LDA J5R LDA JS; LDA
W;NIDL9
#SAA i I BL9
WN IBL9
#t55
VRYFRST
IN I ERUPT
IMASK
SENVICE
WRTFRST
NDUF2, Y
CeH, X C6L,X
WINTRPT
WM IDLE
INIERUPT
IMASK
WDATA2
SEV ICE
NPUFI, Y
B6H, X
G6L, X
#J1E4
WN I RPTI
NSUFI, Y
06H, X
C6L, X
CKtSUM WtDATA3
!!RCKSUM
Wt4ItBL7 #$DE t' I 13L9 # tAA Wr4NlL9
4' I BL9
âIFF t. N [ L9
07L, X
17-APR-0t #000252 PAGE 17 j( 15, 9.6)
s <2) 2ND DATA MARK.
(15.9.6)
(2) 3RD DATA MARK.
(15,9.6)
S(2) NBUF2 INDEX
(2) FOR TIMINO
( 2)
(3) BRANCH ALWAYS
(4) POLL INTERUPT LINE
<(3) s(2) i(2) BRANCH IF INTERUPT HAS OCCURED
i(3) FOR TIMING.
(4)
(5) STORE ENCODED BYTE.
(4) TIME MUST - 32 US PER BYTE!
(2) i(3) (2 IF BRANCH NOT TAKEN)
(2> INSURE NO INTERUPT THIS BYTE.
(3) BRANCH ALWAYS.
s(4) POLL INTERUPT LINE J(3> (2)
(3> BRANCH IF NO INTERUPT
I00O SERVICE INTERUPT.
*(2) )(4)
#5<) STORE ENCODED BYrE.
(4> (2) WITHIN t MS OF COMPLETION?
J(3) (2) NO KEEP WRITrINO AND POLLING.
(2) z (2) <e2> s(2> (2) J(4) 1(3>
(4) WRITE LAST OF ENCODED BYTES
I (5) WITHOUT POLLINQ INTERUPTS.
(4)
*(3) NORMALLY FOR TIMING
8(2>
J(3) (2) fi<3> <2> s(3) BRANCH ALWAYS i(13, 9,6) GO WRITE CHECK SU:t!'
& (2) DM4, BIT SLIP MARK.
(15,9.6) WRITE IT.
(2) DMS. BIT SLIP MARK.
i(13.9,6) WRITE IT.
i(2) DM6. BIT SLIP MARK.
s(15,9.6) WRITE IT,
(2)> TURN-OFF 3YTE
(t5,9.,9) WPITE IT Our OF WRITE P"ODE Ir.a ' 4',- -j cX> o "0 T r
DISK READ/WRITE TRACK/SECTOR (16)
r-,F: L<D BC CO
F21 3:
--,%r,,
1,. 3' 8
_ 4:r2C 54 F3
-20 AC F2
*Fi A. 58 Fr.B: 60 FcDIC:
F; Z C
F -'C
F _I C:
F22C:
F2. C;
F--C: 18
F-'2D;: 48
-2,E:,.,
ZF.9D L)D CO
F-.2: ID CC CO
F '2C:5: 60
F2 ' 6:
1 1 4 1 1 5
116, *
1 1 e) *
117 SERVI
1.2 *****
123 *
124 * 7
*
126 * A
127 * 128 *
129 *****
WNIBL
131 WI4IL
133 WNIEL
136 * LDA RTS
C6L, X
CE SEC
BIT SEV
JSR NOWRITE
CLI RTS
-* K ** ****** ***** **S
-DIT tJIBL VJRIIE SUIJRS *
-REG OR'D PRIOR EXIT
CARRY CLEARED
TO READ MlODE.
RETURNJ FROiM VJRITE.
TREAT INTERUPTION AS ERROR
SET VFLAG TO INDICATE INTERUPT
TAKE IT OUT OF WRITE MODE!
COULD NOT HAVE GOT HERE WITHOUT CLI G,0
* * p******t********4**Q****X +
9 CLC
7 PHA
PLA STA ORA RTS
Q6H, X
06L, X
(2)' i (3) (4) (5) (4)
9 CYCLES, THEN WRITE.
7 CYCLES, THEN WRITE.
NIBL WRITE SUD.
CLODBBERS ACC, NOT CARRY.
N "4 c> o n0
17-APR-81 #000252 PAGE!18
J;': S2
Pt.W'S2 DISK READ/WRITE TRACK/SECTOR (16) F2C 6 FZC6: F2C6. F2C6: F2C6; F2C6: F2C6:
F22C6:
F2C6: F2C6: F2C6 F2C6: F2C6: F2C6. F2C6: F2C6: F2C6: F2C6: F2C6: F2C6: F2C6: F2C6: F2C6: F2C6: F2t 6 F2C6 F2C6:
F2C6:A2 02
F2C8:AO 00
FZCA: e88 F2cO *B1 9B
F20D 4A
F2-. E: 3E 01 03
F2DI: 4A
F2D2:3E 01 03
2Df5:99 01 02
F2GD: E8
F2D9:EO 56
F2DD: 90 ED
F2DD:A2 O0
F2DF: 98
F2EO:DO E8
F2E2:AO 56
F2E4:59 O0 03
F2E7 29 3F
F2E9: AA
F.EA. DD 55 F3
F2ED:99 01 03
F2FO:B9 OO 03
F2F3;. 88
F2F4 ' o EE
F2F6 29 3F
FZF9:19 01 02
F2FB AA
FZFC'BD 1 F3
139 *************ê
139 * +
* PRENIDLIZE SULDR *
141 * (16-SECTOR FOPRlAT> * 142 *
143 *******4******************
14.! *
* COrNVERTS 256 BYTES OF * 146 * USER DATA IN (aU-) INTO *
147 * ENCODED BYTES TO BE
148 * WRITEN DIRECTLY TO DISK.*
149 * ENCODED CHECK SUi IN *
* ZERO PAGE 'CKSUM'. *
151 * *
12 * ---- ON ENTRY *
153 *
154 * BUF IS 2-DYTE POINTER *
* TO 256 BYTES OF USER *
156 * DATA *
157 *
158* ---- ON EXIT ----- *
159* *
* A-REG CHECK SUM. *
161 * X-REG UNCERTAII4 *
162 * Y-REo HOLDS O. *
163 * CARRY SET.
164 * *
**********-****
166 PRENIBD16 LDX #$2
167 LDY #0
168 PRENIBI DEY
169 LDA (DBUF),Y
LSR A
171 ROL rinUF2-I,X
172 LSR A
173 ROL l4JF2-1, X 174 STA N;lUFI+1,Y
INX
176 CPX #556
177 DCC PRENIDIt 178 LDX to0
179 TYA
ONE PRENIBI
181 LDY #$56
182 PRENIB3 EOR NDUF2-2,Y
183 PRENIB2 AND #b3F
184 TAX
18S5 LDA NIDL, X
186 STA NDUF 2- I, Y
187 LDA NrJUF2-2, Y
188 DEY
1g9 DNE PRENID3
AND #13F
191 PPENIB4 EOP NSUFI1I, Y
192 TAX
193 LDA NIL. oy
START NBUF2 INDEX.
START USER BUF INDEX.
iNEXT USER BYTE.
SHIFT TWO BDITS OF
JCURRENT USER BYTE
INTO CURRENT NBUF2
i BYIE.
s(6 BITS LEFT).
iFROM O TO 1*5.
tDR IF NO WRAPAROUND.
RESET NBUF2 INDEX.
IUSER DUF INDEX.
i(DONE IF ZERO)
(ACC-O FOR CHECK SUM)
COMBINE WITH PREVIOUS
JSTRIP QARBAGE BITS.
TO FORN RUNNINg CHECK SUM
iGET ENCODED EOUIV.
REPLACE PREVIOUS
JRESTORE ACTUAL PREVIOUS
ILOOP UNTIL ALL OF NBUF2 1S CONVERTED.
JNOW DO THE SAME FOR
NIBOLE BUFFER I
*TO DO ANY BACK TRACVING (NBtUFI-t) c> vo ljir
17-APR-01 #000252 PACE 19
DJSK READ/WRITE TRACi/SECTOR <(16) 17-APR-81 #000252 PAGE 20 -s;..: E. C O02 Z _: ',. C. i F::'Z, o.: DO FO
F:DJ9. 1'D 5 5 F3
Fr:E.4C 4C F3 SrTA LDA IlNY BNE TAX LDA STA JMP
NRUF1, Y
I;4UF1+1, Y
PRENIB4
IIDL, X
CKSUII
SET 1IMEO
RECOVER THAT WHICH IS NCW 'PREVIOUB',.
USE LAST AS CHECK SUM.
AL L DONE.
rIO Co u1- \0 vn DISK READ/WRITE TRACi&/SECTO..(16) 17-APR-81 #000252 PAGE 21 n'l3 1:
--: 1:
F J' 1:
F-7: 1
1: r_' 1'
::.:O 55
F A3;A9 'O
:..5: E 02 03
F;:3. 5D 00 F3
F:3.D:99 02 03
F31IE: 88
FiF: I0 F4 r 21: C S
F'-:2:2E 00 02
F3-25: 5D 00 F3
F3--8. 99 CO 02
F -'D: C:8
7:2.C. DO F4
c.'E: A6 9t
2S'OD:D D0 F3
- _ >3:.38
= 4: 1;O 1:
-Z'2i: A2 56 :-' _ 2 l 6A
*F' '9'.3D FB
MrD. Lq O0 02
*.}E:; 5E 02 03
F34_1: c2A Fi-c2: SE 02 03
F45: 2A
F;:_6:91 9B
r 346,: CE r- 5-: I,Cs ED
-C ED DF FF
:f. CDL) DF FF r _ 4 4 '- 1.'_ 204 *
205 * POSTI
206 * 16-SE
207 *
208 *********
209 *
210 POSTNIB16
212 PNIBL1
218 PtNIBL2 22C
227 POSTI1
228 POST2
239 POSTERR
240 SETIMEG
2-4, sSEV
*.>*****.* 4****
IBLIZE SUeR
ECTOR FORNAT
* * * ** LDY, LDA LDX EOR STA DEY BPL ! NY LDX< EOR STA INY BNE LDX EOR SEC B NE LDX DEX 1BMI LDA LSR ROL LSR ROL STA I NY B NE CLC EQU LDA ORA STA RTS #*55
NAUF2, Y
L'IIBL, X
NBUF2, Y
PN'IBL1
NeRUF1, Y DNIBLo 'X
NIBUF 1, Y
PFINIBL2
CKSUM DNlI3L, X
POSTERR
#!56 POSTI
NDIUF1, Y
rBUF2,'X A
NBUF2> X
A
(SUF>, Y
POST2
-JNVIRON
i C;iJEME6 ENkV I RON
FIRST CONVERT TO 6 BIT NIEBLES
INIT CHECK SUII.
OEr ENCODED BYTE.
REPLACE WITH 6 BIT EGQJIV.
* LOOP UNTIL DONE WITH NIBBLE BUFFER 2
INOW Y=O
DO THE SAME WITH
NIBDLE BUFFER 1
DO ALL 256 DYTES
iMAKE SURE CHECK SUMI MATCHES
BETTER BE ZERO!
ANTICIPATE ERROR
BRANCH IF IT IS.
I.IT NBUF2 INDEX.
NBUF IDX $55 TO $0.
RAPAROUND IF NEG.
SHIFT 2 DITS FROM
CURRENT IBUF2 NIBL
INTO CURRENT NPUF1
i NIBL.
BYIE OF USER DATA,
NEXT USER BYTE.
OOD DATA.
i SET TO ONE MEGAHERTZ CLOCK RATE
(SEV USED TO SET VFLAG)
rIN O -4 o n U'I i.; " 5"."5c', -E;D;'W']"rL TFAEF./BECTCR i.Ic-) ?-,-r-;:1 L-':-:-' P,
F *' '. 24::.
F 3.' f -24' *7 6-DBIT TO 7-DIT F.' -. 248 rJIBL CONVERSION TABLE *
F:,5,. 5249 *,
F3_=5'- -5. '50 *** -,t.**-**s-********",.
F-<'." '. Z, 5]jF
F3:.5,fl 251 * -
F2'-5 252 * CODES WITH MORE THAN
F.5. 2 53 * ONE PAIR OF ADJACENT *
F--5: 254 * ZEROES OR WITH NO *
FD'.5: 255 * ADJACENJT ONES (EXCEPT *
F 255: 256 * 37) ARE EXCLUDED. *
FP --=5: 257 * *
F_'-5: 258, ****v**"**4**+*********.x.f**
F3.55: 96 47 9A 259 NIBL DFB3 $96, $97,$9A
F358: 9B 9D 9E 260 DFE $9B, $9D, $9E
F-513: 9F A6 A7 261 DFD $9F,$A6,$A7
F3-5E:AB AC AD 262 DFB tAR, $AC,$AD
F3_1: AE AF B2 263 DFB $AE $AF, $,32
F3t4:E3 B4 B5 264 DFE tB3,$B4,$B5
F32B7: <6 B7 B9 265 DFB $36, $B7, $D9
F-tbA:BA BE BC 266 DFE!BA,$BB,%BC
F36D:BD DE BF 267 DFB $BD,$BE, 5$DF
F370:CB CD CE 268 DFB,CE,$CD, CE
F373: C.F D3 D6 269 DFB $CF,$D3,$L'6
F376:D7 D9 DA 270 DFB %D7,$D9,$DA
F379: DB DC DD 271 DFB $DD, $DC, $DD
F37C:DE DF E5 272 DFB $DE,$DF,$E5
F37dF:E6 E7 E9 273 DFB eE6,$E7,5E9
F382:EA EB EC 274 DFB $EA,$EB,SEU
F38B:ED EE EF 275 DFB $ED,$EE,$FF
F388:F2 F3 F4 276 DFE F2, S$F3, $F4
F32B:F5 F6 F7 277 DFB $F5, $F6, $F7
F38E:F9 FA FB 278 DFB $F9, $FA, $FB
F391:FC FD FE 279 DFB $FC,$FD,$FE
F394:FF 280 DFEB $FF
DISK READ/WRITE TRACK/SECTOR (16)
17-APR-81 #000252 PAGE 23
282 ****
283 * 284 * 285 *
286* (
287 * 288 * 289 * 290 * 291 *
292 * CO
293 * 0NI
294 * Zi
295 * AD.
296 * B
297 *****
299 DNIBL
302, 33-2 k-. *
7-BIT TO 6-BIT
DENIBLIZE' TARL
16-SECTOR FORMAT)
VALID CODES
$96 TO $FF Or.!L Y. -4
DES WITH MORE THAN *
E PAIR OF ADJ.ACENT *
EROES OR WITH t4NO
JACENT ONES <EXCEPT *
IT 7) ARE EXCLUDED. 4
F********>*****K >******
BRK EQU DFB DFB DFB DF3 DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFC DFB DFB DFD DF8 DFB DF8 DFB DFB DFB DFZ DFD
REORWTS+$300.
$00, $01, $ 8
$99, $02,$03
$9C, $04, $05
$06,$AO, $A1
$A2, $A3, $A4
$A5, $07, $08
$,'8, $A9, $AA
*09,$OA, $OB
$O_, $OD, $BO
$B31, $OE, $OF
$10, $11,$12
$13, $B8, $14
$15,$16, $17
$18,$19, SIA
$00, $C1, $C2
$C3, $C4, $C5
$C6,$C7,$C8
$C9,$CA, $13
$CC, SiC,$1D
$1E, $DO, $D1
$D2,$1F,$Dq4
$D5, $20,> 21
$D3, $22, $23
$24,$25, $26
$27, $28, $EO
$E1,$E2, $E3
$E4,$29, $2A
$2B, $E8, $2C
$2r,, $2E, $2F
$30, $31, $32
$FO, $F1,$33
$34,$35,$36
$37, $38,$F8
$39, $3A, $313
3'3, $3D, $3E
OCE BYET LEFT OVER
R'JTS2
F3'5: F395: F3'5:
F3J'5:
F3$5: F3 5: F395: F395: F395: F395: F3'5: F395: F395: F 3q5: F2l'5: F395:
F395: 00
F 200:
F36: O0
F399: 99
F39C: 9C
F3eF: 06
F33A2: A2
F3A5: A5
F348: A8
F3AB: 09
F3AE: OC
F3'1: D1
F324:10
F3D7:13
F32A: 15
F3DD: 18
F3O: CO
F3[ 3:C3
F3C.6:C6
F3C9:C9
F3CC: CC
F3CF: 1E
F3'2: D2
F3D5: D5
F3eú.8:D8
F3DD: 24
F3DE: 27
F3E1: E1
F'3E4: E4
F3E7: 2B
F3EA: 2D
F3ED: 30
F3FO: FO
F3F3:34
F 3F6: 37
F3-9:39
F3'-C -C
FF: 3FP
AO A3 A9 OA OD OE il B8 C1 C4 C7 CA 1C DO 1F E2 ES 2E F1 3A 3D A1 A4 AA OB BO OF 1A C2 C5 C8 1B 1D D1 D4 EO E3 2A 2C 2F F8 3B 3E
DISK READ/WRITE TRACK/SECTOR (16)
4bo: 400: 4C0: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 4C-O: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 400: 4C- 0: 400: 400: 400: 4:00: 4GO:
400:85 9E
4C2: C5 8C
404: F0 42
406:A9 O0
4r;0:
408:85 95
4clo:
400A: A C
400E: 2
4 CO: 400: 400:
4COF: E5 9E
411:FO 31
E,: ' 4.o0: 59
41 1: F
"49 * FA * FA' *
ST SEEK SUBROUJIINE *
* *
* - ---ON ENTRY.
* * X-REG HOLDS SLOTt4UM
* TIMES $10.
*.4
* A-REG HOLDS DES1RED *
* HALFTRACK. *
* (SINGLE PIASE) *
* 4
* CURTRK HOLDS CURRENT *
* HALFTRACK. *
* *
*....ON EXIT -
* *
*. A-REQ UNCERTAIN. *
* Y-REG UNCERTAIN. *
* X-REG UNDISTURBED. *
* *
* CURTRK AND TRKN HOLD
* FINAL HALFTRACK. *
* 4
* PRIOR HOLDS PRIOR
* HALFTRACK IF SEEK *
* WAS REOUIRED. *
*. * MONTItMEL AND MONrIMEH *
* ARE INCREMENTED BY *
* THE NUMBER OF 4
* 100 USEC QUANTUMS *
* REQUIRED BY SEEK *
* FOR MOTOR ON TIME *
* OVERLAP. *
* VARIABLES USE
* V- ARIABLES USEf -- 4 *
* CURTRK, TRK.N, COUNT, *
* PRIOR,,SLOTTE'P
MONTIHEL, MONTIMEH 4
*** * *
SEEK SEEK2 STA C rHP BEQ LDA STA LDA STA SEC SBC BEG TRKN
CUXTRI.
SEIPHASE
o TRàtCNT CUiTRK PRIOR TRKN
SEEKEN'D
2487095[
17-APR-31 0000252 PAGE r-
SAVE TARGET TRACK
04 DESIRED TRACK'?
YES, ENERGIZE PHASE AND
HALFTRACK COUNT.
SAVE CURTRK FOR
UCLAYED TURNOFF.
iDELTA-TRACKS.
BR IF CURTRK=DESTINATI<
DISK READ/WRITE TRACK/SECTOR (16) 17-APR-81 *000252 PAGE 25
F413: DO 06
F415.:49 FF
F417:E6 8C
F419:90 04
F41D: 69 FE
F41D: C6 8C
F41F:C5 95
F421:90 02
F423:A5 95
F425:C9 O9
F427:DO 02
F429: AS
*F42A:38
F42D:20 48 F4
F42E:]39 67 F4
F431:20 56 F4
F434:A5 9D
F4.36:18
F43:7:20 4A F4
F43A:D9 70 F4
F43D:20 56 F4
F440: E6 95
F442:DO C6
F444:20 56 F4
F447:18
F448:A5 BC
F44A: 29 03
F44C: 2A
F44D:05 81
F44F:AA
F45'0:DD 80 CO
F453:A6 81
F455:60
393 BCS
394 EOR
395 INC
396 BCC
397 OUT ADC
398 DEC
399 MINTST CMP
400 BCC
401 LDA
402 MAXTST CMP
403 DCS
404 STEP TAY
405 SEC
406 STEP2 JSR
407 LDA
408 JSR
409 LDA
410 CLC
411 JSR
412 LDA
413 JSR
414 INC
415 BNE
416 SEEKEND JSR
417 CLC
418 SETPHASE LDA
419 CLRPHASE AND
420 ROL
421 ORA
422 TAX
423 LDA
424 LDX
425 SEEKRTS RTS
OUT *#$FF
CURTRK
MINTST
#$FE
CURTRK
TRKCNT
MAXTSr RKCNT #$9 STEP2
SETPHASE
ONTABLE, Y
MSWIAIT
PRIOR
CLRPHASE
OFFTADLE, Y
MSWAIT
TRKCNT
SEE2
MSWAIT
CUReTRK #3 A
IBSLOT
PHASEOFFs X
IDSLOT
(MOVE OUT, NOT IN)
CALC TRKS TO GO.
INCR CURRENT TRACK (IN).
(ALWAYS TAKEN)
CALC TRKS TO GO.
DECR CURRENT TRACK (OJT).
AND 'TRKS MOVED'.
IF TRKCNT.$B LEAVE Y ALONE (Y=$8).
*ELSE SET ACCELERATION INDEX IN Y
FOR 'ONTIME'.
(100 USEC INTERVALS)
FOR PHASEOFF
iTURN OFF PRIOR. PHASE
THEN WAIT 'OFFTIME'.
4100 USEC INTERVALS)
tRACKS MOVED' COUNT.
<ALWJAYS TAKEN)
SETTLE25 MSEC
iSET FOR PHASE OFF iCET CURRENT TRACK
*MASK FOR 1 OF 4 PHASES
DOUBLE FOR PHASEON/OFF INDCX
iTURN ON/OFF ONE PHASE
RESTORE X-REG
AND RETURN
N P o Ul %0 un RATS2
DISK READ/WRITE TRACK/SECTOR (16)
F4.6: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456:
F4.--6:
F456:.
F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456: F456:
F456:A2 11
F458: CA
F459: DO FD
F45B:E6 99
F4'D:DO 02
F45F:E6 9A
F461: 38
F462:E9 O1
F464:DO FO
F466:60
F467: -448 *. ******r-*****: ***e> >***** > * MSWAIT SUDROUTIilE
* ** *** * *F** ****** *******
*.4
* DELAYS A SPECIFIED *
* NUMBER OF 100 USEC 4
* INTERVALS FOR MOTOR *
* ON TIMINQ. N
* *
*.... ON ENTRY.
* *
* A-REQ: HOLDS NiUM.HER
* OF 100 USEC
* INTERVALS TO G
* DELAY.
* 4
* ---- O'N EXIT
* 4
* -A-REG: HOLDS $00. *
* X-REG: HOLDS $00. *
* Y-REG: UNCHANGED. *
* CARRY: SET. 4
* 4-
M ONTIMEL, MONTIH-H *
* ARE INICREMENTED ONCE *
* PER 100 USEC I:IERVAL*
* FOR MOTON ON TIMlINGO.
* 4
* ---- ASSUMES -- - *
* 4
* 1 USEC CYCLE TIttE
* 4-
*****4************-X*****."(**
MSWAIT LDX #$11
MSW1 DEX
BNE tiSW1 INC r.'JJTIMEL
BNE MSWJ2
INC MOTIMEH
MSW2 SEC
SBC #$1
BNE i'iSWAIT RTS *
DELAY 86 USEC.
DOUBLE-BYTE
INCREMENT.
DOrJF 'N' INTERVALS?
(A-REG COUNTS)
17-APR-81 #COC0252 PAQI
DISK RE-,,'WRITE TRAC /SECTCR (16)
17-APR-61 #oc )eêcf"E R.: i S2
DISK READ/WRITE TRACK/SECTOR (16) 17-APR-81 #000252 PAGE.27
474 ****************** ******
475* *
476 * PHASE OGN-, OFF-TIME *'
477 * TABLES IN 100-USEC '
478 * INTERVALS. (SEL:-)
479 * 460 ******************tt******
481 ONTABLE DFB 1, $30, $28
482 DFB $24,$20> $1E
483 DFB $ID. $1C. $1C
484 OFFTABLE DFD $70, $2C, $26
485 DFB $2, $ 1F, $1E
486 DFD $1D, $1C,$1C
F4b7: F4t7: F437' F467: F467: F467: F467: F4c7: l01
F46A:24
F4tD:ID
F470:70
F473:22
F476: ID
28 lE 1C 1C 2C 26 1F 1E IC lC 4%) CO Ln Rai S2
DISK READ/WRITE TRACK/SECTOR (16) 17-APR-81 #000252 PAGE 28
F479: 86 83.
F47B:AO 05
F47D:48
F47E: OA
F47F:26 83
F481: 88
F482:DO FA
F484: 68
F485:-29 07
F487:A8
F488:D9 AO F4
F48: 85 84
F48D:20 00 FO
F49O: BO OB
F492:E6 86
F494:E6 84
F49'6:E6 84
F4q8:20 00O FO
F49B:C6 86
F49D:A5 88
F49F:60
F4AO: F4AO:
F4AO:00 04 08B
F4A3:OC 01 05
F4A6:09 OD
F4A8:
488 BLOCKIO
491 TRKSEC
507 QUIT
509 *
510 SECTABL
514'* STX LDY PHA ASL ROL DEY BNE PLA AND TAY LDA STA JSR BCS INC INC INC JSR DEC LDA RTS EQU DFD DFB DFB 1BTRK #$5 A TDTRK
1 RKSEC
#$7
SECTABL Y
IBSECT
REGRWTS
QUIT 1DDUFP+l
ISSECT
IDSECT
REORWTS
IDDUFP+1
IBSTAT
$0, $4, $8
$C $1,$5
$9.$D Co c %o U1 W i 2
DISK READ/WRITE TRACK/SECTOR (16)
516 * 517 * 518 * 519 * 520 * 521 * 522 * 523 * 524 * 525 * 526 * 527 * 528 * 529 *
JOYSTICK READ ROUTINE
ENTRY: ACC
X'.Y= * * 4 COUrNT DON'T
DOWN HIGH
CARE EXIT: ACC= TIMER HIgH BYTE
Y TIMER LOW DYTE.
CARRY CLEAR
530 *
531 * * *
532 *
533 TINLAT
534 TIMER1
535 TIMER1
536 JOYRDY
*537 *
538 ANALOG
540 ANLOG1
550 GOODTI
IF CARRY SET, ROUTINE
WAS INTERUPTED &
ACC b Y ARE INVALID
* * * * * * * * * * * 4
rCH L H ME EQU EGU EQU EQU EGU STA LDA AND BDMI LDA DMI CLC LDA LDY ÉPL LDA RTS * * * $FFD9 $FFD8 $FrD9 $C066 TIMtLATCH
INTERUPT
JO'YRDY
ANI Ogt
*JOYRDY
QOOODTIME
TIMER1H
TIMtlERIL
GOODTIME
TIMERIH
JCARRY SHOULD DE SET!
ISTART THE TIMER!
JWAIT FOR ONE DR THE OTHER TO GO LOW
WAY IT REALLY THE JOYSTICK?
NOPE, FORGET IT.
iTIME'S A SLIP SLIDIN AWAY
NOW, WHAT TIME IS IT?
iTIME WAS VALID!
HI BYTE CHANGED.
SUCCESSFUL ASSEMBLY: NO ERRORS
4-t CO Q F4A8: F4AS: F4AS: F4AS: F4A8: F4AB: F4AS: F4A8: F4AB: F4A8: F4A8: F4A8: F4A8: F4A8: F4;8: F4A8: F4A8: FFD9: FFDS:
FFDL9:
C0&6: F4A8: F4AS:
F4A8: ED
F4AD: AD
F4AE: 2D
F4S1:30
F4E3:AD
F46: 30
F4E8:18
F4E9: AD
F4DC:AC
F42F:10
F4C 1: AD
F4C.4:,60
D9 FF EF FF 66 CO F8 66 CO OC D9 FF DS FF D9 FF
17-APR-91 #000252 PAGE ?9
RWTS2 LiUINM IIX3M
DWA]O6
>JavMú N)I8ú lidaw11 zd3 S
03WT L3S
1 i33S j 13S
T3NASU
1H3OIda
NASVG8
CVUG L4a tGdA H90O ZCIN3Ud 8831SOd TIGINd 1 4403SVHd
I 010W
Z IN1ON
2!MSW AOAOW isi.xvt l!d3l83NI
VISEIX
ú8388I
UW3CI
17 300
úIMAO8U
3SVHcI813 fO0]VNV j lVdlSI uu3uaIc Adwoo 3S'VHdUD T 3aYHO DOIte.Na 8TZi GOZZI V6 dz04 8Q44 GaZI4 o00 3frC4 ZG TA ZVO4 TDTM Z4 aaTA QV 14 T914 a61f4 U603 3taC. TC4 CTEJ VbOM trt,04 CO OI ZO0C t9t9 3t,0 C8 4 ú8 OVOA4 aco CO8 C6 ú6 Ubt4 O8VJ VG&r ci zTA iUTNN
CVú OM
03WOMi
INDMMA
HTd3WIl A3S
33IA23S
INSM3S
IN3A133S
- *IV1339
1113A8L3>4
1IX3Q8
lisvai 9VUm Eau VQ8 C128 UOIUU qTgtai43M ZlSOd 4A0SHd lno 319V1IAd
TMUNION
TIOCN T MSW 13WILNDq ISVYI aONOS!I
AUONAS1
13BS09
dW31AN3
XNBOA8U
N30ASd(a
IOAL338803
"8
AA01-1V
AGU4 AL 9ao80d4 a 6 t6 b60 vtrAC OVb' C6 4ZT aDT (M TA Z61 = Z91A 8ECE a Ct1 00!0 8GS 0ú t, 4 o6 ce OS 3ú T4 800
4C0=4<
C6 6T10 31121WMl B]aINM ZVlAVO
MBúAMI
V8NI 8Iúi83S St8JM335
ZU133S
f18J.J.8 S1hiIIèj
SIMM03
alIvcId
T VO 8
sYaa HZD TBINMUd t C I NS 84 I lSOd NOSYHd BlUVINO 330XN U3A I UaON
M33SAW
NOMOIOW
H3W IúlNOW ^au^or 83dMC I NAti0I
SH8SUGH
3W I ú1OOf0
N08IAN3
13SAIBG
TWISD TISA ID u OIMO03f 3NOU99v v9ZO
ú 0.A
990A 3Ltt' Z6 fr& VOt' GET.J OOOA B3I 83T! gAT 83 Et 3GTA 84Z4 VDZ4 9CCú T8o3o 9gb3 E1 1A 09Od' V6 T8 il"A G30A T COz L6 QCTJ
6LOM4O
z ld81NIM
IS84A 8A
ci1HAAMI HOIVWt I 1 d31S 3SVHdl3BS CtN3M33S
1 M33S
TNMB3S
D.NAS 8
9T1GV8
WnSmoU8 t'VauQ 8c18 tau vçau fcid -9E) CGIN3Ud C8a I N'38 d 9TEIN.SOd Z3i I Nd N03SVHd
NOB43NH
OBNBNO
31 I 8MON
9gIN
1 IVMSW
NdO8OIOW
151N I W
ID3SEII
8d3cict4
IV.000
IOWAG
NBTÀ8U
*N3 1 da -1a CIN Ah.SSO lIvmtio t 903NV
T3NOW3V
TONWAS A a31imOS B3'VI 10GWl.VS Ln o' r 0'J
9' G C
6CHA r4 et, rd Og[ st'J VBT-J a a r 3 V3 1J 4VtA 3út4 t3'
T 802<,
O8 7gcc eso
9G.'-_
3Tt3 Va Ce b8 830A
tVQ'i,-
cj3C:) Ot OOU4 aûil 4 630Q4 OC 3eVd ZGZOOO# 18-ffl-Zi
1 èJ314 I
údAiúNI 318VIúd
ú I VMSW4
aN3>133S
1úI 1 NIW
lSlN INW IGIN a1Sad 9101N.SOd CG1IN38d
/.]81NM
WnsxDdM I ldUINM
3N.&SM
1 Ix3auè trvad TNSVad ^8350 wM1au tau 330XN
W33SAW
B33dNH
IQA133MM03
SIMUO3B
A 010W
J305Hd iowfa bREt M831oAd NAB8aIi 03W3tN'D 43-A saA 0 S Ovt'd oL bd 9Gt? 4 ,fS 0- 9SCC OEZJ OCTZ V31A aDIA 8TT=I G6T3 a I, I 3OT-4 Su0
0VOAI.
atoA 000A 68oD E16 -6 C6 c a as os NOUI^N3 Aa d 3W I 1lOOO 403bS 11nD a6tA 31CVll' Z9trd SlUM33S çGt44 Zct31S MZéd
ino a 1.-
A3S tQCA TiSOd 91:d
IIHO 008
t 9IN3Ude V3Z: 610It1M 3EIZ: 0vi 0 T8EZ lSU:l'M 8TZA ú1I'1 b Z'4O tvam m0zd: invau 831:d
TNONAS V80
MI8lai fao: VI0 vt0:
NHTAO -800D
N31UamH OS 1 NOSVHd T800S
ÀAOAOP 9900
dW3úANB -J6
M9W1IúNOW 66
AúSSD Z6
ISVI G6
1 1S I I 88lQ6 du3aul as Sf3la4H 08 Hl d2Moiq Il T OOgNV 2t1SW 3SVH'dbW: c131S 918IN3Ud 9T311 dml 9vad wvau NfAsva a zad.
Z 81NI ON
3NOaIVM ISOAA asavAull Ud&3h I aON
N30?%UG
N<OSWH c
NIM181
H3tU1I.lNO'.W COB 8M0
LD133S
NadGOI a el:)a I 83 dria I 9TdoVI 6a -4 VOb3 3bú:1 34Ct 8:9:1 I t2: a 933A 6TZA aOZ TOT4 3LT:i ZG T 8T : 980 4 4,v aCoA V6 86T LV8 4E3 o9 HDIMqVN4I1 OiOiDOiG
OIT13031
3SVHdl3S
1S LXVW
t133S dè3LSOd 1-1INd
518[ 1NM
3:1 I 8110N
31IQ UMON
ldUINIM lIX3M 6VQB 9ruavau zau sau
TONAS8
TCNOA]a
U^Y113S
133S 13NOXaú3 103SI10qSI VWOMi 13SA IdW H9E) NOU4OlOhl d3::0SVHd UlO I tid dl!131
N110D
lN3AU13U
883UG I
IOISú1 r D3O tIto 6a0ç
%V,';'_
00,'4S
Out'C, G[C.' r:,i, &0017 O 00r0 9C8 63t7 3S):1 ad IAZ za r 'A
au n -
I V i.3 63C ú69 C6f m oL o Il 3:Vd =C3000# 18-UdV-ZT SS38acv Au G3180s 39V01 oU,-.S Il 2487095
SCORC& FILE ':A6P*5TI C5
DIAGNOSTICS SARA DIAGNOSTIC ROUTI;,S
2*******%***.*******" I *******>**
3* 4 *SARA DIAGNOSTIC TEST ROUTIWNtS * 6 *DECEMDER 18.1lq79
7 * BY
8 *W. BROEDNER & R. LASHLEY
9 *
*COPYRI-HT 1979 BY APPLE C0O1PUrER, INrC.
Il
î 2 ******F*+** *******************
11-
13 POM EGU $1 FOR RAM VERSICN, I IF TRUELY ROM
14 ZPPG EOU $0
ZRPGI EGU $10
16 PTRLO EOU ZRPQI+8
17 PTRHI EGU ZRPG1i+9 18 3NK EQU ZRmOQ+$A
19 IBCMD EGU 387
tiBBUFP EQU *85
21 PREVTRK EîU $91
22 BLOCKIO EQU *F479
23 CV EGU SSD
24 STKO EQU eFF
IDNK EGU $1400+PTRHI
26 PHP EOU $1800+ZRPO1
27 KYBD EGU sCQOO
28 KEYBD EGU ICOO8
29 KBDSTRD EGU tC010
PDLEN EGU *C058
31 ADRS EGU JC047
32 ORMD EOU *C050
33 TXTMD EGU tC051
34 ADTO EOU *C066
DISKOFF EGU tCODO
36 ACIAST EOU #COFI
37 ACIACM EGU ICOF2
38 ACIACN EOU SCOF3
39 SLTI EGU tC100
SLT2 EOU SC200
41 SLT3 EGU SC300
42 SLT4 EQU *C400
43 EXPROM EGU *CFFF
44 ZPREO EQU IFFDO
SYSDI EGU $-FDF
46 9YSD2 EOU *FF02
47 SYSD3 EGU'J IFFD3
48 SYSEO EauJ FFEO
49 BNKSW EGU SFEF
SYSE2 EOU $FFE2
*51 SYSE3 EGU OFFE3
52 COUT EGU *FC25
53 CROUTI EaU tFD07 54 KEYINt EGU *FDOF
SETCVH EGU SFPC7
C6 CLDSTRT EQU FDI99
57 SETUP EGU *FD9D
G6P4 ú4&
(I m os Co tL COCiO COO0 0000: COCO. 0000: 0000: CDwO0 COCO0 3:01 C0IB. 00t8: 0019: 001A: 0097. coq 1 F479: D O0 FF 14J9 113o- c.0' lCO.- C 000 COC9:
CO: O.
CD4-7:
c0oe: C051: C0r66 OGO CCFI: cor2. CCF3. CIO0: C 00:
C.C00O
CFFF: FFGO FFDF FFD2: FFD3 FFEO: FFEF.
F';EP.
FFE2. FFE3 FC25. FD07' FDCf' FDC7 FD,8 pF0D pOCP
17-APR-91 #000253 PAGE 1
SARA DlAkGjOS"IC ROUTIi.rs
FS:'1 58 MONITOP
CO DO "
----- NEXT OIJECT FILE NAPIE
F4C5 60
F4r5 GO B1 B2 61 RAMTBL
F4CE. BA 9 10
F4C8:00 13
F4CD 62 CHPC
F4CD-52 41 CD 63
F41,0:52 4F CD 64
F4G3:56 49 CI 65
F41,6:41 43 49 66
F4r,9: C I
F4DA 41 2F C4 67
F4r'D'44 49 41 68
F4EO. 47 4E 4F
F4E3 53 54 49
F4E6 C3
F4E7,5A DO 69
F4E9 52 45 54 70
F4EC 52 D9
F4FE 71 *
F4EE 72 * SETUP
F4EE. 73 4
F4EE 74 *
F4EE'A9 53 75
F4FO:ED DF FF 76
F4r3:A2 00 77
F4FS. BE EO FF 78
F4F8:SE EF FF 79
F4FB:SE DO FF 80
F4FE:CA 81
F4FF:BE D2 FF 82
F502:SE D3 FF 83
F505: 9A 84
FSC6:E8 85
F507 A9 OF 86
FS09:SD E3 FF 87
F5fC:A9 3F 8e FS5OE:SD E2 FF 8c;
F531:AO 06 90
F513.B9 DO CO 91 DISK1I
F516:88 92
F517.88 93
F518:10 F9 94
F51A:AD 08 CO 95
F'5ID29 04 96
F51F.DO 03 97
F'I1:4C 89 F6 98
F524: 99 *
F524. 100 * VERIFY
F524 101 *
F524 A9 01 102 NXBYT
F526c/5 00 103 NXBIT
F528 D5 0O0 104
F52A DO FE 105 NOGOOD
EOU *F901
DIAG. ODJ
ORO tF4C5
DFB,O,UB1,S12,SBA,$Bç,110,SO,13
EGU *
DCI 'RAM'
DCI 'ROM'
DCI 'VIA'
DCI 'ACIA'
DCI 'A/D'
DCI 'DIAGNOSTIC'
DCI 'ZP'
DCI 'RETRY'
SYSTEr'
LDA #1
STA Si
LDX #1
STX S,
STX BI
STX ZF
DEX
STX SI
STX S'
TXS INX
LDA #!
STA Si
LDA *#1
STA S'
LDY *#
LDA DI
DEY DEY
BPL DI
LDA KE
AND *1
BNE t:
JMP RE
ZERO PAGE
LDA *
STA Z;
CMP Zi
BNE N!
152+ROt1 SDI t00 YSEO KSW PREG YSD2 YSD3
TURN OFF SCREEN, SET 2MHZ SPEED
ANDI RUN OFF ROM
SET BANK SWITCH TO ZERO
AND SET ZERO PAGE SAME
PROORAM DDR'S
tOF YSE3 $3F IYSE2
I06KOFF,
[SKOFF, Y
[ISKI -EYBD O04 1BYT ECON SOl RPC,X RPG, y
ZOOOOD
ROTATE A I THROUGH
EACH BIT IN THE O PO
TO COMPLETELY TEST
THE PAGE.HANG IF NOGOOD.
CDM o \0 r.n
17-ADP-81 #C100253 PAGE 2
L.:' '.'OST I C S
k-5
DIAGNOSTICS SARA DIAGNOSTIC ROUTINCS
c52C. COA Ft2D.DO F7
F32F. E8
F530:'DO F2
F532:
F335-2 SA -
F533 L9
F"34:E8
F535:DO FB
F337:CA
F 538:6 18
FS3A: 68
F539:C5 18
F53D: DO E8
FS3F:C6 19
F341:DO F7
F543:69
F544:DO E4
F3 '6:
F546: F546.
F546:A2 08
F548 95 10
FS4A CA
F54D:10 FD
F54D.
F34D:A2 02
F54F: 86 19
F551:A9 00
F53:4AO FF
Ft55:q1 18 F357 DI 1t
F559. F0 07
F-50: 20 48 F7
F5eE:94 10 FeO:A6 19
F562.E8
F563:EO CO
F565:DO ES
FS67:A2 20
F569:EE EF FF
F36C:AD EF FF
FS6F:29 OF
F37t:C9 03
F373 DO DA
F575 F575-
F575S20 9D FD
F578'A2 00
F57A. SE EO FF
F57D:CA
F57E SE D2 FF
F351 8E D3 FF
F534 A9 3F
F556 eD E2 FF
F539:A9 OF
*
111 CNTWR
t12
117 PULBT
tie 11tt9 t20 1Z22 124 *
* SIZE
126 *
128 NOMEM
131 *
133 NMEMI
142 NMEM2
131 *
152 * SETUP
1I3 ERRLP
t156 t1O
ASL A
BNE NXBIT
INX
BNE NXBYT
TXA PHA INX BNE DEX STX PLA CMP 9NE DEC BNE PLA 9NE
CNI WR
PTHLO PTNLO
NOC0OD
PIRLO PULBT
NOCOOD
THE MEMORY
LDX 4306
STA ZRPGI,X
DEX
DPL N5.IEM
LDX STX LDA LDY STA CMP DEOG JSR STY LDX INX CPX NE LDX INC LDA AND CMP UNE
SCREEN
JSR LDX STX DEX STX STX LDA 9TA LDA # 02 PTRHI lSFF
PTRLO), Y
(PrRLO), Y N,r'1M2 RAPM
ZRPG I. X
PTRHI #$CO h.I11 Mt #120 gr,'KSW
DE'KSW
#$OF #103 ETtJP
N.1F M I
SYSEO SYSD2 SYSD] 4 3F SYSE2 #$OF
17-APR-81 #000253 PAGE 3
TRY NEXT DIT OF BYTE
UNTIL BYTE IS ZERO.
CONTINUE UNTIL PAGE
IS DONE.
PUSH A DIFFERENT
BYTE ONTO THE
STACK UNTIL ALt
STCK BYTES ARE FULL.
THEN PULL THEM
OFF AND COMPARE TOTHI COUNTER GOING
BACKWARDS. HANQ IF
THEY DON'T AGREE.
GET NEXT COUNTER BYTE
COnTINUE UNTIL STACK
IS DONE.TEST LAST BYTE
AGAINST ZERO.
ZERO THE DYTES USED TO DISPLAY
THE 9AD RAM LOCATIONS
EACH DYTE- A CAS LINE
ON THE SARA BOARD.
*STARTING AT PAGE 2
TEST THE LAST BYTE
IN EACH MEM PAGE TO
SEE IF THE CHIPS ARE
THERE. (AVOID 0 le STK PAGESI
CAN THE BYTE BE O'D'
NO, FIND WHICH CAS IT IS.
SET CORRES DYTE TO FF
RESTORE X REGISTER
AND INCREMENT TO NEXT
PACE UNITIL I/O 19 REACHED.
THEtN RESET TO PAGE 20
AND GOTO NEXT BANK TO
CONTINUE. (MASK INPUTS
FROM BANKSWITCH TO SEE
WHAT SWITCH IS SET TO)
COI4TINUE UNTIL 3ANK '3'
CALL SCRN SETUP ROUTINE
SETUP I/0O AGAIN
FOR VIA TEST
PROCRAM DATA DIR
REOISTERS
CO -4 o ri
t;C.G;3STICS SARA DIACNDJO11IC POUTIh-..
FS:-D 8D E3 FF
FS'E A2 10
F5-.o.0 38 F7
F5"3 A2 00
F545 B6 5D
FS-7 A9 04
F,':20 C7 FB
F5'vC:20 38 F7
F-'-F.A2 07
F541:E t
FSAI:E5 10
F5A3:AO 08
FA5. C'A
F.,A6: 48
F5.A7: A9 AE
F 59:90 02
F54B:A9 31
FSAD:20 25 FC
FSDO 68
F217-68
F52: DO Fl
F5Z4.20 07 FD
F.17: (.A
Fr.B 10 E7 F5DA F5I,A F5r'A F5b q9A
F51-'DEC EF FF
F5SE. 98
FSDF:SD DO FF
F5C2:85 FF
F5C4:C8
FSC5:98
F506:4B
F5C7:68
F5C8: C
FSC9:CO 20
F5C.D DO FI
FSCD.AO 00
FSCF: C DO FF
F5D2'&6 18
F5tD4- E
F5D5: 86 19
F'D7: eA
FSD8:DI 18
FSDA: DO 06
FSDC:EO IF
FSD1E: DO F4
FSEO:FO 05
F'E2-,
SE2 A2 IA
F5E4:0O 7B F7
F5E7: F597: F5E7.
162 5TA
163 LDX
164 JSR
ERRLP1 LDX
166 SiX
167 LDA
16E8 JSR
169 JSR
LDX
171 RAMW4TI EOU
172 LDA
173 LDY
174 RAMWT2 ASL
PHA
176 LDA
17/ BCC
178 LDA
179 RAMWT4 JSR
PLA
181 DEY
182 BNE
183 JSR
184 DEX
BPL
166 4
187 * ZPO&STK TEST
188 *
189 TXS
STY
191 ZPI TYA
192 STA
193 sTA
194 INY
TYA
196 PHA
197 PLA
199 INY
199 CPY
BNE
201 LDY
202 STY
203 STX
204 ZP2 INX
205 STX
206 7XA
207 CMP
208 BNE
209 CPX
210 BNE
211 BEQ
212 ZP3 EGU
213 LDX
214 JSR
215 * 216 * ROMr TEST ROU' 217 * SYSE3 %10 STRWT CV & 04
EETCVH
STRWT #$07 #fOB A #SAE
RA'IWT4
#$31 CO'JT
PAMWT2
CROUTI
RAHWTI
B' itSW ZPREG STKO #*20 ZPI #0 ZPREG PIRLO PTRHI
(PTRLO). Y
ZP3 ZP2
ROMTST
#11
MESSERR
TINE
HEADINC OF 'DIAGNSTICS' WITH
THIS SUBROUTINE
PRINT 'RAM'
SET CURSOR TO 2ND LINE
SPACE CURSOR OUT 3
(X STILLO-0 ON RETURN)
THE SAME SUBROUTINE
FOR BYTES 7 - O IN
OUT EACH BIT AS A i
OR '1' FOR INDICATE
CHIPS. SUDROUTINE 'RAM'
SETS UP THESE DYTES
LOAD A '.' TO ACC
BAD OR MISSING RAM
LOAD A '1' TO ACC
AND PRINT IT
RESTORE BYTE
AND ROTATE ALL 8
TIlWS.
CLEAR TO END OF LINE.
CHIP 15 THERE, DAD ZERO AND STACK
PRINT 'ZP' MESSAGE
& SET FLAG (2MHZ MODE).
IX) N o \0 Vi
17-APP-81 #000253 PAGE 4
[I -BARST!CS SARA D1ACrJOSTIC ROUTINES r- '.:7 AQ 00
F5E9 A-8
F5EA A. F0
F5=EC. 8e5 S
FSEE 86 19
c?.FO A2 FF
F!.2. 1 18
F.F4 E4 19
FS56 DO C06
FF aF. CO DF
F F A.DO 02
FSFC AO EF
FSFE C9
F5FF:DO Fl
F601 'E6 19
F6i3.:DO ED
F605. AS
F606 FO 05
F60E. AZ 03
F6A. 20 7B Fi F60D: F6 'D
F 6."D
F,OD F6O'r 18
F60E D8
F6CF:AD EO FF
F612.29 3F
F614:85 18
F616:AD EF FF
F619: 29 4F
F61B:65 18
F61D.6D DO FF
F620:85 18
F622:AD DF FF
F625:29 5F
F627:65 IB
F629:6D D2 FF
F62C:6D D3 FF
F62F:6D E2 FF
F632:6D E3 FF
F635:C9 El
F637: FO 05
F639:A2 06
F63B:20 78 F
F63E: F63E: F63E:
F63E: 18
F63F:A9 9F
F641:2D Fl C4
F644:6D F2 C;
F647:&D F3 Ci
F64A C'9 10
FL4C: F0 05
r:6.4E: A2 09
F,50:20 70 F
219 ROMTST
224 ROMTSTI
2Z26
230 ROMTST2
238 * 239 * VIA Ti 240 *
241 VIATST
24e F 249 F 254 F 256 F 257 262 *
263 * ACIA
264 *
265 ACIA
0 267 0 268 0 269 7 273 LDA T7AY LDX STA STY. LDxY EOR CPX BNE CPY BNE LDY INY BNE INC DNE TAY BEG LDX JSR 41t00 #tFO PTRLO PTRHI #*FF
(PTRLO),Y
PTRHI
PO?ITST2
#&DF
ROMTST2
#$EF
ROHTSTI
PTKHI
RONTSTI 1
VIATST
#*03
1.ESSEPR
17-APR-81 #000253 PAGE 5
SET POINTERS TO
SFOOO
SET X TO $FF
*FOR WINDOWINQ I/O
COlPUTE CHKSUM ON
EACH ROM DYTE,
RANGES FFCO-FFEF
TEST ACC. FOR O
YES. NEXT TEST
PRIST 'ROil AND
SET ERROR
EST ROUJTINE
CLC CLD LDA AND STA LDA AND ADC ADC STA LDA AND ADC ADC ADC ADC ADC CMP 8EO LDX JSR SYSEO 4#3F PTRLO Ei.!IiSW #t4F PTRLO ZPREG PTRLO
SYSDI1
#$5F PTRLO SYSD2 SYSD3 SYSE2 SYSE3
#1EO+ROM
ACIA *$06
MESSERR
SET UP FOR ADDING BYTES
MASK OFF INPUT BITS
AND STORE BYTE IN
TEMPOR. LOCATIONt
MASK OFF INPUT BITS
AND ADD TO STORED
BYTE IN TEMP. LOC.
ADD REMAININO
REGISTERS OF THE
VIA'S
(MASK THIS ONE)-
AND TEST
TO SEE
IF THEY AGREE
WITH THE RESET
CONDITION.
-EI?
YES. NEXT TEST
NO, PRINT VIA' MESS.
AND SET ERROR FLAG
TEST ROUTINE
CLC LDA AND ADC ADC CMP BEG LDX JSR 9F.
ACIAST
ACIACM
ACIACN
*010 ATD #S09
MESSERR
SETUP FOR ADDITION
MASK INPUT DITS
FR0O1 STATUS REO
AND ADD DEFAULT STATES
OF CONTROL AND COMMND
RE0S. -t10?
YES, NEXT TEST
NO. 'ACIA' MESSAGE AND
THEN SET ERROR FLAG
rJ UVI
DIAGNOSTICS SARA DIAGNOSTIC ROUTI,;'S
F653: F653: F653 Fe53:A9 CO
F655: 8D DC FF
F658: AD 5A CO
F6sE: AD 5E CO
F65E:AD 5C CO
F661:AO 20
F663: 88
F664: DO FD
F66: AD SD CO
F,69: C8
F66A:FO OA
F6tC:AD 66 CO
F66F:30 F8
F671: 98
F672:29 EO
F674:FO 05
F676:
F676: A2 OD
F678: 20 7B F7
F67B: F67D: F67D.
6,E: AO 08 CO
F67E: OA
c=7F: 10 41
F631:AD DF FF
F684. 10 03
6e6:4C 93 F5
F6E'9.
F6,9: r,"J9 A9 77 r68O. SD DF FF
F63E:20 98 FD
P69i:A9 10
F693-2D 08 CO
F6c6: DO 09 F6a8:2C 10 CO
F6D. AD 50 CO
F6'E:20 01 F9
Ft AtA2 01
F6A3:86 87
FiA5: CA Fte6 86 85 F6t-s: A9 AO
FS6A' B5 B6
F 6AC, 4A
FSAD:85 91
F6AF: eA
F6DO 20 79 F4
:5D3.90 b A F623542 iC 274 *
275 * A/D TEST ROUTINE
276 *
277 ATD LDA #$CO
278 STA $f-FDC
279 LDA PDLEN
280 LDA PDLEN
281 LDA PCLEN
282 LDY #*20
283 ADCTST1 DEY
284 BNE ADCTS
285 LDA PDLEN
286 ADCTST3 INY
287 BEG ADCER
288 LDA ADTO
289 BMI AOCTS
290 TYA
291 AND #$EO
292 BEG KEYPL
293 ADCERR EGU *
294 LDX #100D
295 JSR MESSE
296 *
297 * KEYBOAD PLUGIN TEST
298 *
299 KEYPLUG LDA KEYBD
300 ASL A
301 BPL SEY.
302 LDA SYSDI
303 EPL RECON
304 JMP ERRLP
305* 306 * RECONFICURE SYSTEt 307 *
308 RECON EOU
309 LDA *577
310 STA SYSDOI
311 JSR CLDST.
312 LDA #$10
313 AND KEYBD
314 BNE OfnT
315 BIT KEDBOST
316 LDA CRND
317 JSR MON.IT
318 BOOT LOX #1
319 STX I3CMD
320 DEX
321 STX JoEUFI
322 LOA #IAO
323 STA I OUFI
324 LSR A
325 STA PHEVTI
326 TXA
327 JSR DLOCK
128 Dcc GODOO 329 LDX *l#C 1+2 4-6 N+4 TI [+5 R T3 Uvo RR
WJAIT FOR 40 USEC
SET A/D RAMP
COUNT FOR CONVERSION
(>255=ERROR)
IF BIT 7 1i?
YES. CONTINUE
NO, MOVE COUNT TO ACC
ACC<32?
NO.
PRINT 'A/O' MESS
ANO SET ERROR FLfAO
IS KYOD PLUGGED IN?
(IS LIGHT CURRENT
PRESENT?7 NO. BRANCH
18 ERROR FLAG SET?
(2HIZ MODE) NO, BRANCH
ERROR, HANG.
TURN ON SCREEN
INITIALIZE MONITOR AND
TEST FOR "APPLE 1"
RT RB DOR P P+I RK T
DEFAULT CHARACTER SET
NO, DO RECULAR BOOT
CLEAR KEYBOARD
AND NEVER COME BACK...
READ BLOCK O
INTO RAM AT AOOO0
iFOR TRACK so80
MAKE IT RECALIORATE TOO!
IF WE'VE SUCCEEDED. DO IT UP
co 4-J CO -0 U1'
17-APR-91 #000253 PAGE 6
DI-G:NOSTICS SARA DIAGNOSTIC ROUTINiS 17-APR-61 #000253 PACE t7
17-APR-S! #000253 PAGE 7
F6r7 20 38 F7
F6SA:20 OF FD
F6rD:DO E2
FSDF:4C 00 AO
F6C2: F6C2: F6C2:
F6C2:AO 7F
F6C4:98
F6C5:29 FE
F-,C7:49 4E
F6'C9 FO 03
F6CD7D9 00 CO
FSCE: 88
F6CF:DO F3
FrDi:AD 51 CO F6D4:89 00 Cl
F6D7:D9 00 C2
F6DA:E9 o00 C3
FIDD:B9 00 C4
F&EO: AD FF CF
F6E3:C8
F6-4:DO EE
F6E6: F6E6: F6E6:
F6E6: A9 73
F6ES: 8D DF FF
F6EB: A9 18
F6ED:8D DO FF
F.6FO- A9 00
F6F2:A2 07
FeF4 95 10 Fz6:CA
F6-7 10 FB3
FhF9:20 84 F7 F'C;. oB F6fD:20 F7 F7
F700:20 F7 F7
F703: 2a
F704: 6A
F705:08
F706:20 AI F7
F79-00D P2
F70D:20 64 F7
F70E: 08
F70F:20 FB F7
F7t2:48
F713.A9 00
F715,91 18
F717:68
F71l8: 2
F719 6A
7IA G08
F713 20 AI F7
F71E D00 EF
333 GOBOOT
334 *
335 * SYSTEM
336 4
337 SEX
338 SEX1
343 SEX2
346 SEX3
353 *
354 * RAM TES
355 *
356 USRENTRY
36t
362 RAMTSTO
367 RAMTSTI
376 RAMTST4
*3B0 38t 3e2
JSR STRWT
JSR KEYIN
BCS 3BOOT
JrtP.^000
RETRY?'
GO TO IT FOOL...
EXERCISER
LDY TYA AND EOR BEG LDA DEY 3NE LDA LDA LDA LDA LDA LDA INY BNE 4$7F #$FE #$4E SEX2
KY3D, Y
SEXI TXTMD SLTt, Y
SLT2, Y
SLT3, Y
SLT4, Y
EXPROM
SEX3
TRYFROM
7F TO 0
ADD. -
4EOR4F?
YES, SKP
NO, CONT
NXT ADD
SET TXT
EXERCSE
ALL SLOTS
DISABLE EXPANSION ROM AREA
ST ROUTINE
LDA STA LDA STA LDA LDX STA DEX D3PL JSR PHP JSR JSR PLP ROR PHP JSR 31NE JSR PHP JSR PHA LDA STA PLA PLP ROR PHP JSR I14E
#872+ROM
SYSD1 #$18 ZPREQ #$00 #$07
ZRPG I, X
RAtTSTO
RAISET
RAMWT
RAMHWT
A
PTRINC
RAMTSTI
RAMSET
RA!RD #00
(PTRLO),Y
A
PTRINC
RAITST4
"00 o o CO -l 0> un Oi.'GNDSTICS SARA DIACNOSTIC ROUTINES
F"-"'O;
F7.0: F720:
F70: A9 00
F7,.2:iD EF FF
F72'5- SD DO FF
F7"8:A2 07
F72A:BD 10 IE
F72D:95 10
F72F.: CA
F70: 10 F8
F732: 20 7E F7
F735:4C 75 F5
F7.
F 7S---8
F738-S
F738: F7Z9:
F738:DD CD F4
F739: 48
F7,C:09 eo80
F73E:20 25 FC
F". 1: E8
F?-12; 68
F"43 10 F3
F745: 4C 07 FD
F7:8;
F7-:8:
F7-.8: 48
F749- 8A
F7.A-4A
F7.--:B 4IA
F7;C 4A
F7.:D: 4A
F7=E: 08
F7-F: 4A
F710: 28
F731: AA
F7 2: DO CS F4
F725:10 14
F757:48
F758- AD EF FF
F7-,B:29 OF
F75D AA
F7CE: 698
r7.F EO 00
F71: FO 13
F763: 4A
F764- 4A
F765 4A
F766 CA
97e,7 DO OD r7,9 -9 05 7bD DO 09 386 *
387 * RETURN TO START
389 *
389 LDA
390 STA E
391 STA
392 LDX
393 RAMTST6 LDA F
394 STA
395 DEX
396 BPL f 397 JSR t
398 JMP E
399 ******4*********,
400 * SARA TEST SUBROq
401 ****************4
402*
403 * SUBROUTINE STRIF
404*
405 STRWT LDA
406 PHA
407 ORA 4
4089 JSR
409 INX
410 PLA
411 BPL
412 JiP 413 *
414 * SUBROUTINE RAM
415 *
416 RAM PHA
417 TXA
418 LSR
419 LSR i 420 LSR i
421 LSR
4Z2 PHP
423 LER
424 PLP
425 TAX
426 LDA F
427 BPL F
428 PHA
429 LDA C
430 AND
431 TAX
432 PLA
433 CPX
434 BEO F
435 LSR d
436 LSR
437 LSR A
438 DEX
439 BNE F
440 AND
441 RAMO UNE F
M OO
B3:KSW
ZPREO #107
IPP, X
ZRPO1, X
RAttST6
ERRMOR
ERRLP
JUINES
F'**K **********
:N WRITE
CHPO. X
4$90 COUT STRWT
CROUTI
A N A A N RAf1TBL, X RAO10 #tOF #tO1 qAHI tAtil 4i*0c P Ar1I NORlIAL VIDEO
& PRNT.
NXT CHR
CLR TO END OF LINE
SV ACC
CONVRT
ADD TO
USE FOR
8 ENTRY
LOOKUP
IF VAL
<O. CET
UHICH BANK? SET
PROPER
RAM VALUE
CCNVRT
TO VAL
ro -CO "-4 o >i
17-APR-81 #000253 PAGE 8
DIAGNOsrIcs SARA DIAGNOSTIC ROUTIN>S
F76D0 SA
F7. E.FO 02
F70o: A9 03
F772. 90 02
F774:49 03
F776: 29 07
F778: AA
F779: 68
F77A: 60
F77a: F7-D: F770
F-7D 20 38 F7
F7,E:A9 F3
F7SO: D DF FF
F733: b60 F784: F784: F764:
F794:A2 01
F786:86 IA
F788: AO 00
F78A:A9 AA
F78C: 38
F7eD: 48 F73E: 0o F7;FA5 h A
F7'1:09 80
F7 3'OD 19 14
F7q6: A9 02 F7ç8' 85 t9
F7ZA A2 00
F'-C: 86 1s F7E z28
F7CF 68
F7-0O. 60
F-At: F7AI:
F7AI: 8
F7AI: t4S F7A2: E6 l
F7A4 DO ID
F7A6.A5 A
F74S: 10 OE
F7AA: AS 19
F7AC. c9 13 c7'E:FO 06
F7DO: C9 17
F7B2: DO 04
F7D4:E6 19
F7,6: E6 19
F7DS. E6 19
F7A: DO 07
e7[C: C6 IA F7BE: C6 tA
F7CO..0 80 F7
442 TXA
443 BEo RArl
444 LDA #3
445 RAMOO BCC RAM
446 EOR #3
447 RAMI AND 4*0
448 TAX
449 PLA
430 RTS
451 *
452 * SUBROUTINE ERROR
453 *
454 MESSERR JSR STR
455 ERROR LOA #$F
456 STA SYE
457 RTS
458 *
459 * SUBROUTINE RAMSET
460 *
461 RAMSET LDX # C
462 STX BN1
*463 LDY %a( 464 LDA #Wi
465 SEC
466 RAMSETI PHA
467 PHP
468 LDA BN,
469 ORA #IE
470 STA IBa
471 LDA #S(
472 STA PTF
473 LOX 1;*(
474 STX, PTr
475 PLP
476 PLA
477 RTS
478 *
479 * SUBROUTINE PTRINC
4ao *
481 PTRINC PHA
482 INC PTI
483 BNE RE'
484 LDA BNI
485 OPL Pli
486 LDA PTI
487 CMP #1
488 BEQ- PII
489 CMP #h
490 BNE PI'
491 INC PT
492 PINC2 INC PT
493 PINCI INC PT
494 UNE RE
495 DEC ON
496 DEC Dr.
497 JSR RA
Q7 RWT
-.+R DO
Di
OAN;SW
PRItNT MESSAGE FIRST SET 1
MHZ MD
>0 4K HLO HLO RLO TS NC 1 RHI N4C2 l4C 2 JC t RHI RHI RHI TS KET
#ISET 1
rN Uo -'j C) %O Ln
17-APR-91 #00025J PAGE
17-APR-81 #000253 PAGE Ilo
F'C3 68
F7 4:A6 IA
F'C6: EO FD
F7C8: 60
F7C9: F7C9: F7C9:
F7C9: 40
F7CA:A6 19
F7CC:A4 tA
F7CE: 9S
F7CF. 30 19
F7D1 SA
F7D2:30 10
F"D4: 18
F7D5::69 20
F.D7:SC EF FF
F7DA:AA
F7ZDB:20 48 F7
F7DE: 68
F7DF: 48
F7EO:AO O0
F7E2'51 18
F7E4:15 10
F7Eb,95 10
F7E8: 69
F7E9: 60
F7EA:A9 00
F7EC:SD EF FF
F7EF:FO EA
F7FI: 38
F7F2:E9 60
P7F4: CB
P7F5'DO EO
F7F7: F 7F7 F7F7:
F7F7: 49 FF
F7F9:91 18
F7FB: O1 18
F7FD: DO CA
F7FF,60
498 RETS PLA
499 LDX BN-K
500 CPX #*FD
501 RTS
502 *
503 * SUDROUTINE RAMERR
504 *
505 RAMERR PHA
506 LDX PTRHI
507 LDY BNK
508 TYA
509 BM!i RAMERR4
510 TXA
511 BiI RAMERR5
512 CLC
513 ADC #!20
514 RAMERR2 STY BN;iSW
515 TAX
516 RAMERR3 JSR RAN
517 PLA
518 PHA
519 LDY #soo00
520 EOR (PTRLO),Y
521 ORA ZRPGIX
522 STA ZRP0IX
523 PLA
524 RT9
525 RAMERR4 LDA #t00
526 STA BN;ASW
527 BEG RAb1ERR3
528 RAMERRS SEC
529 SeC #$60
530 INY
531 BNE PAMERR2
532 *
533 * SUDROUTINE RAMWT
534 *
535 RAMWT EOR #$FF
536 STA (PTRLO).Y
537 RAMRD CMP (PTRLO),Y
539 BJE RAtIERR
539 RTS
**, SUCCESSFUL ASSEMBLY: NO,ERRORS
ro 4N CD %O
DIAGNOSTICS
SARA DIAGNOSTIC ROUTINi-S EdZ Z3C3 AUIN3USn 939A4
03SAS 03J4
lM81S Bft.4 Z13s OOZD
X3S ZD93
Id0U TO Si13 CDt4 tl'MWVu QVQA WVU bBé3
T 1SWV 0494
su3WV8 6Dt wv8 obZA 03lud si ZDNld 98i4 lABXN bZC34 ZW3WN zsc4
ASMI OOOD
a8S08 OCOD ld3U83 C6;d AD a; lUisanOD 0ba
4N8 VT
sdov Z#OD&
ISVIDV TD03
OddZ 0o ZdZ tOQG4 0WlY1 ICOD EasAs Ea33 OSAS c33 0omis Ad il3S OOID Ix3S tD9A
NOD3U 689A
OLStIWVU i'49 0lILJ'8 RU.4 aJuwvu stj b Wè3wvU VaLA
IW'Y 9L4Z
D?/l ld IVW4 IDNIld B8Zd IIEXN 9r4 TW3WN 3tC3 OnIdAAM 849A 10800 da9d fln'aD Zo0A OdHD ODt3 0!MD0CIO 6Zt' ISIDOV 6i9A
WDVIDV Z3OD
ZOdU2 01 IdZ 38g5
CESAS E333
ils OOtD dnl3S 060d aisikoad 3353 a.lelkvè QVQ 4 91Slikvu V zd e3skvu CDb3 CU83WlvU aatS OOWjVd zzzd IH81d 6T dHd OIBI
UOIINIOW 106A
NIA3M 30a3 OWIDEI Le 4tohsla OOOD n1fOD SZD4 0oe0 ITv9A civ Ecs3 llSiDaV E994 VIDV 3Es9
NXIA3I OO
0a3ddZ oa ISIVIA 00ao
Z3SAS Z343
lasAs a Eú3S OoED zx3s 3D93
HAD13S ZDEA
tlSl;lou ZA;A 1MWVIJ Zdzú b.lSSIWVi 40OZ 113SWVU a8: ZUdWV8 L0za Oedwvs ZOL.: OWya 89ZL 1 d3nd VE;.-d W18IUd 16 N33Od B80O DOOOON Ve u8ss2w 80z4 a6A3M EOOD
UOèM3 3ZZA
d4<n881 8 Im510a EIC
UMIND ZE;3
MSN8 43e 01.v 990D
8BDOV 9ZL
NDVIDV Ed;: 3H0EWAS A8 3.LaOS 310av1 01D..S5 Lfl r..- CXJ Il 3OVd CgZOOO# TB-HeV-41 03SAS 03àd 03UdZ oaiJ 1LOU3 zL0o OajWVU'Bdú4J cuffVU GOZA IDNId SBAd k1Vu beed
LSWVYU18L1
OOWV8 ZZA
91SiWVd VZ'J AUIN3USn 939A
X35 ZD9J
OnAdA3M EL9A cJV CG9A IISIWOd ZA&Cú tdZ 3aSú Idd3 CàEbCA W3W.ON 8bCà lISXN 9ZCJ
E135 OOED
WDVIDV ZJOD
N310d SGo3
SU1SO8EM 0103
MiNBI 61bb uOO81id ú 87 d 6 r1smnwo IOSAS dAl3s IAOD ZONId OWVd cx3s !OOqOO VIDV tlltWVèi 189lnd lA8XN
OIMD0O8
ISVIDV
AD OMSz lOdUZ A3=ld AGAJ C;ZDJd t0LA obaJ ú0ú4 LA UlA 89ú4 4o4 t09.i 9z9d 3E94 ZG4 03S4 aoc. 1'4 VECa bZCJ o'?& GOD tCOD lG05 a c C3SAS CESAS
HAD13S
Ud3WVdi DNI 1ld WVd tBSlSMW kivu lOOdI
ú.1S1L00V
E1513GtV
ISIVIA
Edz Ziti:lve ZW3WN Z,:1J3kà 8MSIO tJOMSI a Mdle.3dd M'N6 c3A 8bO úa 3 C úDCd 6DLd IVúA E4Ad SI Ld CIA9d 309.d I V9A 699i C09J Z3003 0ú03 VIA à30 OOID OCIOD OOOD 1 0 235AS z3id
NIA3M AOG.0
8011NOW 10eA tu3WVd V3ZL 513d CDZa 1J3SWVd aZ-J tWVd 9/-14 iMbiS 8EZ2 OlSlWVd td5a IX3S iD9; N033d 689
1ISI3OIV c9i;-
ZlSlWJOd 3AL.2 ZdZ t0a; t.lMWVd IV IW3WN 4J;b COObON VZSJ OdHD 03Dr 17.11 00t'D
NDVI3V ED3
l00aV 9903 SdaV ZbtCD, dHd 08l 0WD8I lB IHdld 61 OddZ OC SS3d0CV AB 031t0S 33EV1 '0EI:..5e th Ofl Co -r. Cu <'J ZI BVVd EQZOOO# 10-ffl-ZI
SOURCE FILE: MONITOR
SO'.RCE FILE: rlOrNA SOURCE FILE: r10orJ SOURCE FILE: MOrl9C SOURCE FILE: riONVECT O Co L0 LM PIDlITOR PSUEDO DMA CLOCK
-. NEXT OBUJECT FILE NAME
F7FF: 2
F7FF: 3 *
F7FF: 4 *
F7FF. 60 5 RETI
FeOO:E9 01 6 Fao2: F0 FB 7 F804:E9 Oi 8
F806:FO F7 9
F30a:E9 01 t10
F30A:FO F3 11
F8eC E9 01 12
F30SOE. FO EF 13
F810 E9 O t4
F312:FO EB 15
Fat4:E9 01 t16
F816:FO E7 17
Fats:E9 01 18
FSIA:FO E3 19
FEIC:E9 01 20
Fa1E:FO DF 21 F820:E9 0i 2'
F922:FO DB 23
Fs24:E9 OQ 24
F826-FO D7 25
Fe28'E9 01 26
FB2A'FO D3 27
Fs2C E9 0i 28
F32E:FO CF 29
F83O:E9 01 30
F332 F0 CD 31
Fe34:E9 OI 32
F336.FO C7 33
Fs38sE9 01 34
F33A:FO C3 35
F3_C:E9 01 36
F33EFO 13F 37
F340:E9 01 38
F842:FO BB 39
F844:E9 Oi 40
F846: F0 B7 41
F-88:E9 ot 42
FSAA:FO B3 43
Fe4C:E9 01 44
F34E:FO AF 45
FO30:E9 oi 46
F352 FO AD 47
Fe34'E9 Oi 48 F8a6 FO A7 49 Fe88'Es Oi 50
F3JA FO A3 51
Fe8C E9 01 52
F35E.FO 9F 53
FsgO E9 01 54 - rn =m.-n Mn
IS MPON. O0J
ORO IF7FF
RTS SUC BEO SBC DEo SBC BEO SBC DEO S5C DEG SBC DEo SBC BEG SBC UEO SBC OEO SBC DEO SBC DEG SBC DEO SBC UEG SBC DEG SBC DEG SBC DEO SBC DEG SUC BEO SBC UEG SBC DEO sec UEO ssc SUC DEO SaC BEG SBC UEO SBC DEG #1 RLTt #1 RET1
RI-T I
#t RETI #I RETI h1 RETI #1 RETI #l PET i #1 PETI #1 RET 1 #1 RETI #1 RETi # 1 hEI PETI #i PET1 #1 RETt RET1 #1 PETI #1 RETI #1 RET 1 #1 PETI #h uT' #1 RTt hF-i t RETI Ml PT1 RET I ro Co N0 VI
17-APR-BI #000234 PAGE 1
F36.FO 97 57 BEO RETt F3b8aE9 Oi 59 SEC *1 Fe5A F0 93 59 BEa RETI
*FE6C:E9 01 60 SBC #1
F85E:F0 eF 61 BEE REIi F970 E9 ol 62 SBC at F972:FO eB 63 BEG RET1
F374'E9 01 64 SDC #1
F376:FO 87 65 BE0 REI
F38. E9 01 66 SDC #1
Fe-A:FO 93 67 BEE rEu
F37C:E9 01 68 SDC #1
F97E:F0 02 69 BEG REr3
F890'E9 01 70 SBC #1
Fee2:FO 7C 71 RET3 BEG RET2
F3984.E9 01 72 SDC #1
Fes6:F0 78 73 BEG RET2 FSB. E9 oQ 74 SDC #1 FaeA:FO 74 75 BEE RET2 FSBC:E9 01 76 SoC #1 FeeE:F0 70 77 BEG RtT2 Fg0:E9 0i 78 SDC #1
FS92:FO 6C 79 BEE RET2
F'?4:E9 O1 80 SBC #1
F396:FO 68 s1 BEG RE12 FS8:E9 01 82 SoC #1
F99A:FO 64 93 BEG RET2
F3SC:E9 01 94 SBC #1
F39E:FO 60 85 BE0 RET2
F'3AO;E9 01.,6 ue # F8A:E9 Qi 986 SBC *1 #t
F3A2:FO 5C 987 EEG RET2
F34.E9 01 88 SuC M1
F9A6:FO 58 89 DEE RET2
F3:S9'E9 O 90 SDC #1
FAA:F0 54 91 BEG RET2
FIAC. E9 01 92 SDC #1
FeZE:FO 50 93 BEG RET2 F3aDo:E9 Ot 94 SDC *1
F9E2:FO 4C 95 BEG RE12
FOD4.E9 01 96 SOC e1 FsE6:FO 48 97 BEE RET2
99,8:E9 01 98 SBC *1
gEA'F0 44 99 BEE RET2 eaDC. Eoi 100 SDC #1 Pa'E:F0 40 tOi BEG RET2 {.* E9 Ot 102 SUC #l F92 F0 3C 103 BEE RETr2 P3'4:E9 OQ 104 SuC mi
FSC:;FO 38 105 BEG RE12
FC8s E9 01 106 SOC *1 3CA FO 34 107 BEE Rtr2 O F9CC E9 01 108 SoC #1 F3CE:F0 30 t109 BEQ RE12 e2v0 E9 01 110 SoC 4i N
F3C2:FO 2C itl BEG rET2.
F3D4.E9 01 112 SDC Nl
17-APR-01 #000254 PAGE 2
PSUEDO MA CLOCK
t'O'JITOR PSUEDO DMA BLOCK
F8D6. F0 28 113 DEO RET2
F9D8.E9 01 114 SBC #1
FSDA:FO 24 115 BEO RtT2
FSDC:E9 01 116 SBC *1
FSDE:FO 20 117 BEG RET2
FSEO:E9 01 118 SBC #1
FSE2:FO IC 119 DEO RET2
F9-4:E9 01 120 SBC #i
F3E6.FO 18 121 BEO RET2
F3ES:E9 01 122 SBC *1
E8-A:FO 14 123 DEO PET2
FSEC:E9 01 124 SBC "1
FSEE.FO 10 125 BEO RET2
F9FO:E9 01 126 SBC *1
FSF2FO OC 127 SEO PET2
FSF4:E9 01 128 SBC *1
FBF6'FO 08 129 UEO RET2
FSFB:E9 01 130 SBC #1
FSFA:FO 04 131 BEO RETZ
FBFC:E9 O1 132 SBC *1
F3FE:FO 00 133 DEO RET2
F900:60 134 RET2 RTS
F901: 13 CHN 15N49A
!- oO Jx 17-APR-91 #000254 PACE b
SARA MONITOR
2 *
4 SCRNLOC
*
6 LMARQIN
7 RMARGIN
8 WINTOP
9 WINOTM'
CH Il CV
12 BAS4L
13 EAS4H
14 3ASSL
BASSH
16 T3AS4L
17 TBAS4H
18 TBAS8L
19 TBASSH
FORGND
21 OKCND
22 MODES
23 CURSOR
24 STACK
PROMPT
26 TEMPX
27 TEMPY
28 CSWL
29 CSWH
KSWL
31 KSWH
32 PCL
33 PCH
34 AIL
AIH
36 A2L
37 A2H
38 A3L
39 A3H
A4L
41 A4H
42 STATE
43 YSAV
44 IPruF TEMP
46 MASK
47 *
48 KOD
49 IKDDSTP6
*
51 USERADR
52 I3LOCKIO
53 RECON
54 D AGfN INEtUFLEN
56 I[SLOT
57 IBDRVN
17-APR-81 *#000254 PAGE 4
EGU EGU EGU EGU EGU EGU EGU EQU EGU EOU Eau EQU EGU EQU EGU EGU EaU EQU EGU EGU EGU EGU EGU EOU EGU EGOU EGOU EQU EGU EGU EGU EOU EGU EOU EGU EGU Eau EOU EaU EGU EOU EaU EQU EaU EOU EGU Eau EOU EGU EQU EOU s58
SCRNLOC
SCRNLOC+1
SCRNLOC+2
SCRNLOC+3
SCRNLOC+4
SCRNLOC+5
SCRNLOC+6
SCRNLOC+7
SCRNLOC+S
SCRNLOC+9
SCRNLOC * A
SCRNLOC+$B
SCRNLOC+$C
SCRNLOC+tD
SCRNLOC+$E
SCRNLOC+$F
SCRNLOC+ 0o
SCRNLOC+*11 I
SCRNLOC+S 12
SCPRNLOC+13
SCRNLOC+$ 14
SCPNLOC+S 15
SCRNLOC+$16
SCRPNLOC+Ot7
SCRNLOC+S 19
SCRNLOC+'19
SCRNLOC+* IA
SCRNLOC+S 1
SCRNLOC+I IC
AIL+I AIL+2 AIL+3 AIL+4 AIL+5 ALL+6 A1L+7 AIL+B AIL+9 AiL+SA
AIL+IC
CURSOR
SCOOO t3F8 lF479 SF689 $F4EE *50 3eL 3L1 1135LOT+t IArlD $D
AS OF 12/20/79
ONLY 80 3YTES ($3AO-3EF)
FN01:
FIFOI:
F901: 00fS; F901' 0058: 0059: A: O0f: ooSD: OD5D: ri. 5E' ,0
02D60,
0061' C062' C063: 0064: : 0066: 0067: 0068: 0069: 006A: OObD: : C06E: OO6F: : 0071: 0072: 0073: 0074: : 0076: 0077: 0079: 0079: 007A: 0073: 007C: 007D: 007E: : 0069: F901: fOI: C 000 COlO Fsol:,
F'?O 1:
03F9: F479: F689 F4EE: : 00?2 Co U0 u> ri19qA 00f, 5: O0a7:
F C 1:
F9C 1t: F?.1 l:A
F901; DA
F902: 86 6A
FI;04:
F?74: D8
F?05: 20 3A FC
PFD8:A6 6A
FqOA 9A
FQ,-8: A9 0F
FCOD:85 6B
FS'F:20 0S FC
F? 2:20 67 F9
F915:20 2C F9
F91t8: 84 7D
F91A:AO 11
F9IC: 88
F?1D:30 ES
F7IF:D9 6C F9
F922:DO F8
F924:20 5E F9
F927:A4 7D
F?29:4C 15 F9
F92C:
F92C:A2 00
F92E:e86 76
F930: 86 77
F922: 1 7E
F934: Ce
F935: 49 BO
F?37:C9 OA
F939:90 06
FD: 69 89
F93D:C9 FA
F9:F: 9O 2A
F94I:A2 03
F943:OA
F144: OA
F945: OA
F?46:OA
F947:OA
F948: 26 76
F9?A:26 77
F?4C: CA
F4D0 10 F8
F9JF:A5 7C
F91t:DO 06
F953 D5 77
F955:95 75
F:57' 5 79
c59 EG Fq!A FO F3 fC'DO D4 FP;E.
SARA MONITOR
58 IBBUFP
59 IBCMD
*
61 ENTRY
64 * MON
67 MONZ
7l
72 SCAN
73 NXTINP
76 CMDSRCH
si81 a3 *
84 GETNUM
87 NXTCHR
DIGIT
NXTBI[T
NXTBAS
NXTBS2
1t1 113 * EQU EGU EGU TSX STX CLO JSR LDX TXS LDA STA JSR JSR JSR STY LDY DEY DMI CMP BNE JSR LDY JMP LDX STX STX LDA INY EOR CMP BCC ADC CMP BCC LDX ASL ASL ASL ASL ASL ROL ROL DEX BPL LDA BNE L A STA STA I NX BEG BNE
I SLOT+4
IDSLOT+6
STACK DELL STACK #$DF
PROMPT
GETLNZ
ZSTATE
GETNUM
YSAV #$11 MON
CMDTAB, Y
CtDSRCH TOSUB YSAV
NXTINP
A21 A.H
(INBUF), Y
#$DO lê *00 #JA DIGIT # 188 *$FA
DIGRET
#3 A A A A A AVL A2H
NXTBIT
STATE
*N TB S2
A.H,X
AIH, X
A3H, X
tIXTODAS
N <TCHR
17-APR-81 1#000254 PAGE
J;MUST 8E HEX MODE
RESTORE STACK TO ORIGINAL LOCATION
iPROMPT (APPLE) FOR SARA MONITOR iGET A LINE OF INPUT
SEI REGULAR SCAN
/ATTEMPT TO READ HEX BYTE
STORE CURRENT INPUT POINTER
it7 COMMANDS sOIVE UP IF UNRECOGNIZABLE
FOUND?
NO KEEP LOOK ING.
PERFORM FUNCTION
GET NEXT POINTER
DO NEXT CONMAND
CLEAR A2
BUMP INDFX FOR NEXT TIME.
i TEST FOR DIGIT iSAVE IT IF 1-9
TEST FOR HEX A-F
SHIFT HEX DIGITS INTO A2
SHIFTED ALL YET?
OIF ZERO THEN COPY TO AI.3 tO CO Co -'j un rit.s.9A SARA rloNITOR
F91E A9 FA
FbO 48 Fq1t:B9 7C F9
F964 48
F965: A5 7C
F967:AO 0o
F69:84 7C
i-9OD 60 F?6C: Fq6C:
F96C:00
F9sD C3
F96E:0G6
FsoF: EB F9sO'EE
F971:EF
F972:FO
F973:Ft
F974:99
F975:9B
F976 AO
F977:;93
F97s:A7
F9/9: AS
F97A: 95
F97B:C6
F97C:
F P7C:
F97C:7C
FD:7A Fs7E.2B FF:DF
F9F0:77
FBI:3A
F42: C2
n3 18
F.64 A3
Fs85:06
F996:0G
F987: D7
F98: B7
F9s9; 99
F96A 90
F9eD:25 F BC: F"BC:
F9CC:E6 7A
FBE.DO 02
FEO:E6 7B
F9m2 E6 74 f99?4 DO Os
F906-E6 75
F9q' 3S
F': FO 10
FD AS 74
F;D 829
114 TOSUD
11t5 11S
119 ZSTATE
121 DIGRET
122 *
123 CMDTAB
t125 *
141 CMDVEC
158 * t159s *
NXTA4
163 NXTAI
t167 t16 TrSTAI LDA PHA LDA PHA LDA LDY STY RTS EGU DFB DFB DFB OFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB DFB EGU DFB DFB DFR DFD DFB DFB DFB DFD DFB DFD DFB DFD DFB DFO DFB DFB INC IBHE INC 1INC SNE INC SEC DEG LDA SEC
#<ASCII
CIMnVEC, Y STATE #0 STATE *0 *3 $6 *EB SEE $Et- tFO tFI l AO t93 $A7 $AS tC6 00-I JU."!P-l tIOVE-1
READ-1
U5ER-IVRFY-I
RTE-1
REPEAT-1
SPCE-t
ASCI I-I
ASCIIO-1
SETMODE-I
SETMODE-1
SEP-1 DEST-t CRttON-1 A4L tXTAI A4H AtL TSTAI AIH RETAI AIL
17-APR-81 #000254 PAGE 6
PUSH ADDRESS OR FUNCTION
AND RETURN TO IT.
I PASS MODE VIA ACC.
iRESET STATE OF SCAN =o -O (CALL) SUBROUTINE
J =JUMP (CONT) PROGRAM
I M MOVE MEMORY
è R -READ DISK BLOCK
U -USER FUNCTION
V -VERIFY MEMORY BLOCKS
W -WRITE DISK BLOCK
X -REPEAT LINE OF COMMANDS
sP -SPACE (BYTE SEPARATOR)
" -ASCII (HI BIT ON)
ASCII (HI BIT OFF)
-SET STORE MODE
-RANGE SEPARATOR
= COMMAND SEPARATOR
C DEST/SOURCE SEPARATOR
CR -CARRAGE RETURN
DBUMP 16 BIT POINTERS
BUMP AI
IN CASE OF ROLL OVER
TEST AI.A2
tr% -t- oe "'4 %A MoC:9A SARA MONITOR FqE:E5 76
F'O: 35 80
FmA2:A5 75
F9A4 E5 77
FA6:05 60
F9A8:DO Ol
F9AA: 18
F9AbB:60 F9AC: F9AC:
F94C:48
F9AD: 4A
FAE:4A
F9AF: 4A
F.DO:4A
F9.l:20 B7 F9 Fn4:68
F9D5:29 OF
F9D7:09 DO
F9D9:C9 DA
F93B: 90 02
F93D:69 06
F9DF:4C 25 FC
F9C2:
FQC2:20O AC F9
F9C5:
F9':5-A9 BA
F9C7: DO F6
FqC9:
F9C9:A9 07
F9'CB:24 68
FQCD: 50 02
F3CF:A9 OF
F9DI.95 69
FQD3:60
F"TD4:
rMD4: eA
FID5: FO 07
F9D7: B5 74
F9D9: 95 72
F9'EB:CA
FDC: 10 F9
F9DE:60
F9DF: FqDF:95 69 F9tl:A4 7D
FE3-1B 7E
F9E5.E6 7D
F7E7-AO 00
F9E9:C9 A2
FIEB:DO 05
F9ED A5 69
=9EF: 10O 20
FFI S 0
F';2: C9 A7
F-F4 DO 05
177 RETAt 178 * 179 *
PRBYTE
tez t83 I84
187 PRHEX
186 PRHEXZ
192 PRHEX2
193 *
194 PRBYCOL
S *
196 PRCOLON
198 *
199 TST80WID
O
203 SVMASK
205 *
206 AIPC
208 ALPC1
212 OLDPC
213 *
214 ASCIII
215 ASC112
224 ASCI[3
SBC STA LDA SBC ORA 8NE CLC RTS PHA LSR LSR LSR LSR JSR PLA AND ORA CMP BCC ADC diMP APL TEtMP AIH A2H TEMP REIAI A A A A
PRHEXZ
#$OF #SfO *#SBA
PRHEX2
#$*6 COUT IIF At LESS THAN OR EQUAL TO A2
ITHEN CARRY CLEAR ON RETURN.
ISAVE LOW NIEBLE
SHIFT HI NIODLE TO PRINT.
STRIP MI NICDLE
MAKE IT NUMERIC
sIS IT >'9'
MAKE IT 'A'-'F
JSR PRBYTE
LDA BNE LDA BIT BVC LDA STA RTS
PRINT A COLON
BRANCH ALWAYS
#*BA
PRHEX2
#7
IMODES
SVNASK
#-F MASK TXA
BEG OLDPC
LDA AtL,X
STA PCL, X
DEX ' RTS
STA MASK
LDY YS.V
LDA (IMiBU
INC YSAV
LDY #0
Cl1P #$A2
SNE ASCII
LOA MASK
BPL BITON
RTS
CMP #$A7
ONE CRCHK
i ANTICIPATE TESr' FOR 80 iTEST FOR NEW PC F), Y
SAVE HI BIT STATUS
ISOVE ASCII TO MEMORY
OUMP FOR NEXT THING.
I ASCI I ?
i NOPE, CONTINUE.
HE'S CHANCED MODES.
i NO, HE'S DONE.
iA5CII ' ?
s rO, TEST FOR EOL.
-le. N -4_ Co -1' lji
17-APR-81 #000254 PAGE
M N,0 9A SARA MONITOR
F'F6 A5 69
*F9FS: 30 1B
F9FA: 60
PFB9:C9 8D
F9FD:FO 07
F9FF:25 69
FAO1.20 AF FA
F404:DO DB
F406 60
FA07-
FA07. 38
F408 90
F-.9 18
F40A- AA
FAO D'6 7C
FAOD: 49 DA
FACF. DO 7D
FAIl:A9 FF
FA13 DO CA
FAIS-A9 7F
FAI7:10 C6
F419:2C 00 CO
FAlC: IO 03
FA1E.4C OF FD
FA21 68
FA2. 68
FA23:4C 12 F9
FA26 FA26:
FA&6:20 AO FA
F429: 4C 08 F9
FA2C:
FA2C 20 9B F9
FAZF:20 50
FA31:D1 74
FA33:91 7A
FA3:O20 8C F9
FAD38: 90 F7
FA3A: 60
FA3:D.
FA3D:
FA3D: 20 90 F9
FA3E; 00 4E
FALO: BI 74
FA42: DI 7A
FA44:FO 06
FA16:20 52 FA
FA49. 20 EF FC
FA4C:20 8C F9
FA4F:90 EF
FA51: 60
FA52:
FA52. A5 7B
FA54;20 AC F9
FA57 A5 7A
FA5. 20 C2 F9
229 CRCHK
234 ASCDONE
235 *
236 ASCII
238 ASCIIO
239 CKMDE
243 BITON
245 fITOFF
247 REPEAT
250 REPEATI
253 * 254 *
255 CRMON
257 *
258 MOVE
260 MOVNXT
265 * 266 *
267 VRFY
269 VRFYI
274 VRFY2
277 *
278 MISMATCH
LDA OMI RTS CMP SEO AND JSR BNE RTS SEC DFO CLC TAX STX EOR BNE LDA BCS LDA DPL BIT BPL JMP PLA PLA JIP MASK
DITOFF
*18D
ASCDONE
MASK STORI
ASCII2
$90 STATE #$DA ERROR #*FF ASCII * 7F
ASCIII
OD RbPEATI
IKEYIN
iCHANGE MODES.
END OF LINE?
IYES, FINISHED
ICO STORE IT!
I DO NEXT.
i INDICATE HI ON.
(DCC - NEVER TAKEN)
INDICATE HI OFF
iSAVE STATE
*RETAIN STATE
ARE WE IN STORE MODE?
SET HI BIT UNMASKED
MASK HI BIT
I ALWAYS
IREPEAT UNTIL KEYPRESS
ICLEAN UP STACK
SCAN JSR BLt
JMP O;IZ
JSR TSTAt
BCS ERROR
LDA (AIL).Y
STA (A4L),Y
JSR NXTA4
BCC MOVNXT
RTS
JSR TSTAI
OCS ERROR
LDA (AtL),Y
CMP (A4L>),Y
BEO VRFY2
JSR MISMATCH
JSR CROUT
JSR NXTA4
OCC VRFYI
RTS
LDA A4H
JSR PRBYTE
LDA A4L
JSR PRDYCOL
DON'T MOVE ANYTHINg IF ILLEGAL INPUT.
IMOVE A DYTE
3PUMP BOTH AI AND A4
ALL DONE WITH MOVE
sTEST VALID RANGE iCOMPARE BYTE FOR BYTE iMATCH?
lYES. DO NEXT.
sPRINT DOTH BYTES
QOTO NEWLINE
iDUMP ROTH AI AN4D A4.
JVERIFY DONE.
sPRINT ADDRESS OF A4
OUTPUT A COLON FOR SEPARATOR
rO CO N OS c> " %0 LM
17-APR-91 #000254 PAGE EP
17-APR-Si *000254 PAOE V
FA3C:BI 7A
F5E'20 70 FA
F461:20 73 FA
F464:AS 75
FAb6'20 AC F9
FA69:A5 74
FA:;20O C2 F9
P46E:B1 74
FA70:20 AC F9
FA73:A9 AO
FA75:4C 25 FC
FA7B: FA78:4C Fe 03 FA7B:
FA7D:68
FA7C:68
FA7D:20 D4 F9
FABO:6C 72 00
FA83: FAs3t
FA33:20 AC F9
FA86:A9 Al
F4A8: 20 25 FC
FA'DO20 07 FD
FA3E.4C 04 F9
FA' i FA-l'A5 76
F493. 5 7A
FA'5.A5 77
FA97:85 7B
FA99:60
FAQA.
PAA'20 A4 FA
FAD. 98
FA4E.FO ID
FAAO.
FAO. C6 70
FAA2 FO 45
FAA4 CA
F445: DO 16
FAA7:C9 BA
F4AA9:DO 4B
FAAD: 85 7C
FA4AD:A5 76
F'%F:91 78
FAFI:E6 76
FAD3:DO 02
FA3S:E6 79
FAZ7 60
FAESe.
FAR8:A4 7D
FADA'68
FADD'D1 7E
FAD. 85 7C
FADF:60
FACO: 2z4 PRINTAI 2a6 2z7
29 PRAIBYTE
290 PRBYTSP
291 PRSPC
293 *
294 USER
295 *
296 JUMP
298 CO
300 *
301 RWERROR
305 ERROR2
306 ERROR
307 *
308 DEST
314 SEP
317 *
318 BLI
320 SPCE
324 STOR
326 STORI
330 DUMMY
331 *
332 SETMODE
335 SETMDZ
337 * LDA JSR JSR LDA JSR LDA JSR LDA JSR LDA JMP JMP PLA PLA JSR JMP EGU JSR LDA JSR JSR JMP LDA STA LDA STA RTS JSR TYA BEG DEC 13E DEX BNE CMP BNE STA LDA STA INC DNE INC RTS LDY DEY LDA STA RTS
(A4L), Y
PRBYTSP
PRSPC AIH
PRDYTE
AtL
PRBYCOL
(AIL),Y
PRDYTE
#SAO COUT
USERADR
AIPC (PCL)
PRDYTE
#SAtI CO'JT
P.OSTOP
MOI AVL A4L A2H A H SPCE
S'TMDZ
YSAV CUlIPS
SETMDZ
#'BA
TSTDUMP
STATE A2L
(A3L), Y
A3L
DU:IMY
A3H YSAV ( [MUUF), 'y STATE
AfAND THE DATA...
PRINT THE BYTE AND A SPACE
ILFAD WITH A SPACE.
*OUTPUT ADDRESS AI
iSEPARATE WITH A COLEN
*IPRINT BYTE POINTED TO DY AI
jPRINT A SPACE
IEND VIA OUTPUT ROUTINE.
iLEAVE STACK WITH NOTHIN' ON IT.
ISTUFF PROGRAM COUNTER
jJUMP TO USER PROC.
IPRINT ERROR NUMBER
iPRINT THE OFFENDER FOLLOWED BY A "!n
IOUTPUT A CARRAGE RE1URN (NO STOPLST)
iCOPY A2 TO A4 FOR DESTINATIOtN OP.
iSEPARATOR. TEST STORE, MODE OR DUMP
* ZERO MODE.
IDRANCH ALWAYS
TEST FOR NO LINE.
IF NO LINE, GIVEM A ROW OF DYTES
I TEST IF AFTER ANOTHER SPACE
STORE MODE?
igEEP IT IN STORE STATE.
iGET BYTE TO BE STORED.
I PUT IT IN MEMORY.
iBUMP POINTER
AISO USED FOR '/' TO CLEAR MODE
USE INPUT CHARACTER
sTO SET MODE.
t CO -, co uD
SARA MONITOR
SARA MONITOR
FACO:A9 01
FAC2:2C
FAC3:A9 02
FAC5 85 87
FAC7:AS 74
FAC9:85 a5
FACB:A5 75
FACD:85 86
FACF:A6 7B
FADI:AS 7A
FAD3:78
FAD4,20 79 F4
FAn7: 0 AA mArj9:E6 7A
FADD:DO 02
FADD:E6 7E
FADF:E6 75
FAEI:E6 75
FAE3:20 9B F9
FAE6:90 DF
FAE: 60
FAE9: FAE9: FAE9:
FAE9:AS 75
FAED:85 77
FAED:20 C9 F9
FAFO:O5 74
FAF2:85 76
FAF4;DO 06
FAF6:
FAF6 4A
FAF7.BO 95
FAF9 20 Cg F9 FAmC:A5 74 FAFE:e5 7A
FDO0:A5 75
FBa2:e5 78
F304:20 93 F9
F007:DO EE
F009:20 61 FA
F8CC:20 92 F9
FBOF:EO 10
F3tl:A5 74
FE13:25 69
FDIS:DO 05
F3t7:20 21 F6
F3IA:DO ED
FEtC:20 6E FA F3tF:DO E8 FZ21:
F921!A5 7A
F023:85 74
F32S:A5 76
F027: B5 75
F029:20 73 FA
336 READ
340 WRTE
341 SAVCMD
342 RWLOOP
354 NOVER
359 *
I DUMP8
* 9 TStDUMP
ERRORI
Il DUMP
12 DUMPO
18 DUMPI
19 DUMP2
26 DUMP3
26 *
29 DUMPASC
LDA DFB LDA STA LDA STA LDA STA LDX LDA SEI JSR BCS INC BNE INC INC INC JSR BCC RTS CHN EQU LDA STA JSR ORA STA ONE LSR ECS JSR LDA STA LDA STA JSR OCS JSR JSR 3CS LDA AND ONE JSR ENE JSR 3NE LDA STA LDA STA JSR #1 t2C #2 IBCMD AIL
IBBOUFP
AIH
IDDUFP+I1
A4H AIL
GLOCKIO
RWtRROR A4L NOVER A4iH AIH AIH TSTAI Rt:LOOP IMON9 AtH A2H
TST0B0ID
AIL APL DU-PO A ERROR
TSTBOWID
AIL A4L AIH A4H TSTAI
ERRORI
PRINTAI
NXTAI 1
DUJMPASC
AIL MASK OUiP3
DUMPASC
D'J1PI
PRAtBYTE
DU:1P2
A4L AIL A-IH AIH PRSPC
17-APR-81 *000254 PAGE 10
iSEI DISK COMMAND TO READ
IDUMMY OIT TO SKIP 2 BYTES
aSET DISK COIMMAND TO WRITE iCOMMAND FORMAT IS
BLOCKNUMBERCADDRESS.ENDADDRESS
ISEND DLOCK NUNIBER VIA X & A
iNO INTERUPTS WHILE IN MONITOR
DO DISKO FEVER.
aGIVE UP IF ERROR ENCOUNTERED
DUMP BLOCK NUMBER
3DU1P RAM ADDRESS DY 512 BYTES
sTEST FOR FINISHED.
i NOT DONE. DO NEXT BLOCK
OUTPUT I ROW OF BYTES
egET WIIDTH IASK INTO ACC sBRANCH ALWAYS DUMP? SET FOR EITHER 80 OR 40 COLUNrlS iUSE A4 FOR ASCII DUPF sTEST FOR VALIO RANGE sPRINT ADDRESS AND FIRST BYTE tEND WITH ASCII
TEST END OF LINE
iFOR 40/80 COLUMN
BRANCH ALWAYS
IGO PRINr NEXT BYTE ANO A SPACE
ALWAYS (ACC JUST PULLED AS $AO)
sRESET TO BEOININQ OF LINE sPRINT AN EXTRA SPACE L, c> Qi tM3-4sa SARA MONITOR
F'-C:AO O0
FD2E:DI 74
FD0O: 09 0
FD32; C9 AO
Ft24:D0 02
F036:A9 AE
F328: 20 25 FC
FD3D: 20 8C F9
FD3E:DO 06
F2340:AS 74
FD42:25 69
FD44 DO Eh
FBS6:4C EF FC
F349:
FB 49:
Fat9: 38
FB4A:AD S3 CO
FG0D: 80 04
F34F:
F3BF:18
FD'O:AD 52 CO
F353.A5 68
FB5. o09 40
F357: 30 02
F359:29 BF
FOD5DS5 68
FDHD: 09 7F
FD.F: 29 AO
F361 5 66
F363: 20 02
FD55:A9 FO
F367:95 67
F'3ú9:
F= 39: AS 59
FDSD,:5 5C
F3tD:A5 SA
F36F:85 5D
F371: Fa71:AS SC
FD073:48
F374:A5 5D
FD76: 48
F377:20 2t FB F-rA:20 aE FB
B2D: A5 SE
FD7F' 5 5C
FC81:20 C9 FB
FE=4:90 F4
FD9'6S
FB867 A8
rF8E 68
FD09.95 5C
FCiC DO 23
FCD!C DO 23
34 ASCI
a38 ASC2
46 ASC3
47 * 48 * 49 *
COLSO
53 *
54 COL40
56 SET8O
SETSOA
66 SET8OS
67 *
68 CLSCRN
72 *
73 CLEOP
78 CLEOPI
B0 ia" a6 aa LDY LDA ORA CMP DCS LDA JSR JSR 3CS LDA AND ONE JMP SEC LDA Ocs CLC LDA LDA ORA 3acs AND STA ORA AND STA BCS LDA STA LDA STA LDA SrA LDA PHA LDA PHA JSR JSR LDA STA JSR BCC PLA TAY PLA STA TYA eCS
(AIL),Y
4 $80 " 3AO ASC2 #$AE COUT
N>.TA4
ASC3 AIL MASK ASCX CROUT *C053 SET8O $C052 i'ODES 4#*40
SET8OA
#418F MODES #47F #0AO
FOROND
SET8OB
# SFO BKGND
LMAROIN
CH
I IN4TOP
CV cH CV SEICV
CI. EOL
LI1AROIN
CH
CURDOIN
CLFOPI
CH SETCV 17-APR-81 *000254 PAGE Il
TO INDEX MEMORY INDIRECT
I SET NORtlAL VIDEO
TEST FOR CONTROL CHARACTERS
ICit TO PRINT NON CONTROLS
OTHERWISE PRINT A SPACE.
sPUT IT OUT
DUMP BOTH AI AND A4
I FINISHED.
iTEST ENO OF LINE.
i NOT DONE, PR INT NEXT
INDICATE 80 COLUMNS DESIRED
j GOTO 80 COLUMN MODE
BRANCH ALWAYS
INDICATE 40 COLUMNS DESIRED
IGOTO 40 COLUMN MODE
ASSUME 80
IANO BRANCH IF IT IS
tgUT FIX FOR 40 IF NOT.
s ISOLATE D1T 7
(BIT 7 SETS NORMAL/INVERSE)
ACAIN ASSUMES 80 COLUMNS
I IF NOT. SET FOR/9ACKGROUP4D COL.OR
ISET CURSOR TO TOP LEFT OF WINDOI
iNOW DROP INTO CLEAR END OF PAGE
JSAVE CURRENT CURSOR POSITION
* iCLEAR TO END OF FIRST LINC i COTO NEXT LINE
IRESTORE CURSOR POSITION
iGET OLD CV IN ACC AOAIN sBRANCH ALWAYs uz> r) o U'o "0 tît
17-APR-81 #000254 PAGE 12
FBE: A5 SC
FDOO:4C 89 FC
FDw3:
FB93: C9 80
Fa95:90 65&
FE37:C9 8D
FDs9: DO 3A FsB9:20 SE FB
FODE:20 C3 FB
FBAt: 4C 02 FC FBA4 FBA4:
FBA4: A45 5D
F1A6:C6 50D
FDAB: Cs SA
FDAA: DO 02
FBAC A5 5B
FDAE 38
FBAF: E9 O0
F801:95 5D
FtD3: FB33:
F933: AS 5D
F35: t10 4E
F30.7:
FB27:246
F337: 24 68
FDD9: 70 02
FODB:E6 SC
FBBD:E6 5C
FO3F:A bS9C F3 Fi.AC 5C FotL: C5 59 FOc3: AS 58
FOCS 90 50
FEc7:e5 3C
FDC.9:
FOC9:
FDC9: E6 5D
FDCO: A5 5D
FDCD: CS 50
FBCF:90 E2
FDDI:A5 5A
F3r3:10 DC FBDS: FaDS:C9 88
FDD7: DO 5D
FnD9: 24 68
F3CB: 70 02
FI[D: C6 5C
FBDF: C6 3C
FDEI: 30 Ob
FDE3: A 5C
:ES:CS 59
FDE7: 10o 3B
FBE9:20 A4 FB
FDEC AS 59
FDEE: 8S 5C
CLEOL
92 *
93 CONTROI
TSTCR
97 CARRAGI
* 101 *
102 CURUP
107 CURUPI
109 SETCV
BASCALI
111 CURDNI
t112 1t4 * 11t CURIGH' t117
IIE RIGHTI
t119
121 SETCHZ
123 SETCVH
124 *DROP
* 126 CURDOWr t29 t31
1132 4
133 TSTBACI
CURLEF'
t38 LEFTeO t41 t143 LEFTUP LDA JMP CMP BCC CMP BNE JSR JSR iJMP r INTO NI K T CH
CLEOLI
*980
DISPLAYX
#$SD
TSTBACIK
CLFOL sETCHZ
NXTLIN
LDA CV
DEC CV
CMP UINTOP
BNE CURUPI
LDA JIPIBTM
SEC SBC *#St
STA CV
EGU *
EQU
LDA CV
BPL BASCALCI
BIT MODES
DVS RIHTI
INC CH
INC CH
LDA CH
CMP RMARGIN
LDA I ARGIN
BCC CTPLRET
STA CH
CURDOWN FOR WRAP AROUND
INC CV
LDA CV
CMP IlpNB'TM
BCC CURON1
LDA WINTOP
BCS EETCV
CMP #*8s
ONE TSTDELL
DIT MODES
BVS LEFTBO
DEC CH
DEC CH
DMI LEFTUP
LDA CH
CMP LIIAROIN
BPL CTRLRET
JSR CUHUP
LOA RMARGIN
9TA CH
CLEAR To END OF LINE FIRST
IF INVERSE
IF CARRAGE RETURN THEN NEW LINE.
a FIRST CLEAR TO THE END OF THIS LINE iRESET CURSOR AND OOTO NEXT LIlE (CARRY IS SET)
THEN GOTO THE NEXT LINE.
TEST FOR TOP OF SCREEM
IAI4TICIPATE 'NOT' TOP
i IT'S NOT TOP, CONTINUE.
14,RAP AROUND TO BOTTOM
j DCCREMENT BY ONE
IJ$AVE NEW VERTICAL LINE
GFT VALUES FOR FIRST PAGE ($400)
ALWAYS
TEST FOR 80 OR 40
BUUMP CUROSR HORIZONTAL
TEST FOR NEW LINE
IJUST IN CASE WE HAVE.
iCURSOR AT START OF NEXT LINE
MOVE CURSOR DOWN ONE LINE
sANTICIPATE NOT BOTTOM i TEST FOR DOTTOM jI BRANCH ALWAYS
BACKSPACE?
TEST FOR FORTY OR EIGHTY MODE
J TEST FOR WRAP AROUND
SAVE NEW CURSOR POSIfION.
t IN r)' ru CD UD LM
SARA MONITOR
L C t1.3N9 S SARA MONITOR
FBGO: DO E7
F3F2:
F592:C9 AO
FDF4:90 9D
FOF6: 24 68
FDFS: 30 02
FDFA:29 7F
F3FC:20 9D FC
FEFF: FgeF:20 B7 FB
F;02:30 57
FC04 60
FC05:
FC05: G8
FC06:48
FC07:4A
FC08. 29 03
FCOA*09 04
FCOC:85 5F
FCOE:49 OC
FCIO: B5 61
F512: 68
FCt13:29 19
FCI 5: O 02
FC17:69 7F
FC196BS 5E
FC1B: OA
FCIC. OA
FCtD:05 5E
FCIF B5 5E
FC21:85 60
FC23: 28
FC24: 60
FC25-
FC.5 48
FC26:84 6D
F28 86 6C
FC-A:20 33 FC
FC2D:A4 6D
FC-F:A6 6C
FC31:68
FC32:60
FC33:
FC33:6C 6E O0
FC26:
FC&D6:C9 87
FC 8 DO t 8 FC'A:
F53A'A2 10
FC.C:BA
FC0D A8
F,'E:2C D8 FF
FC-1: FO F0
rC-3.2C 08 FF
FC46. DO FD
FC48 e8 147 *
148 COUT2
153 DISPLAYX
154 *
INCHORZ
156 NXTLIN
t157 158 *
'9 BASCALCI
171 OSCLC2
178 CTRLRET
179 * COUT 188 *
189 COUT1
*
191 TSTBELL
193 *
194 BELL
196 BELLI
197 BELL2
199 DELL3
ONE CMP DCC BIT OMI ANDO JSR JSR 3CS RTS PHP PHA LSR AND ORA STA EOR STA PLA AND BCC ADC STA ASL ASL ORA STA STA PLP RT9 PHA STY STX JSR LDY LDX PLA RTS
CUHLEFT
#$AO0
COóJTROL
MODES
DISPLAYX
* #7F
DISPLAY
CUKIGHT
SCROLL
A #103 #104 BA94H #$C DAS8H *#18
DSCLC2
#$7F BAS4L A A
13 AS 4L
BA94L BAS8L Ttl;1Py
TEPIPX
COUT 1
TEMIPY
TEt1PX iJr1P ( C SWL)
CMP #1987
B3NE LN- 0
LDX TXA TAY BIT BEG BIT BrME DEY
17-APR-81 #000254 PACE 13
BRAN'H ALWAYS
I IS IT CONTROL CHARACTER
*IrEST FOR INVERSE
NO PUT IT OUT
ISTRIP HI BIT
iMOVE CURSOR RIOHT I IT'S BOrTOM, RESET CH-O AND SCROLL
IRESET CH ONLY
CAI C BASE ADR IN BAS4L,H
FOR CIVENI LINE NO.
à OC-LINE NO. <- 17
i ARG-OOOABCDE, GENERATE
BAS4H-OOOOOI1CD
ANO
BAS4L=EABABOOO
ISAME FOR PACE 2
SAVE CHARACTER
NORMALLY COUTI
i BELL?
I NO TEST FOR FORrM FEED.
#*10 FF D8 OFLL2 $FFD8 JFrLL3 ro -J Co -u U1 úO 1&1 1
NO,:9D SARA NONITOR
FC49-DO F3
FC-D: 2C 30 CO
FC-IE: E
FC4F:DO EC
FC51: 60
FC52:
FC52:C9 8A
FC54:DO CE
FC'6: 20 C9 FB
FCf59:90 C9 FC5D. F.c 't A5 SA
FCD- 48
FC!E:O20 DB FB
FC1: A2 03
FC63:85 SE
FC65:95 62
FC67:CA
FC68:-10 F9
FC6A: 68
FC6D; 18
FC5C:69 I01
FCE:C5 5D
FC0O.DO IS
FC72: 48
FC-3:20 81 FB
FC76: AS 59
FC78: 4A
FC79' A8
FC7A: 88
FC7D:30 E4
FC7D:31 SE
FCF:91 62
FCBI:DI 60
FC83:91 64
FC85:90 F3
tC27:A5 58
FCS9:4A
FCEA: A8
FCSD:DO 04
FCZD:AS 66
FCeF:91 SE FC9t:AS 67
FC:3:91 60
FC95: C8
FC96:98
FC:7:OA
FC"98 CS 59
FCZA 90 ED
FC9C 60
FCOD;
FC'0D:24 68
Fr':F 70 OC
FCAI 46 SC
FCA3:06 SC
FC: s5 20 AD FC 207 *
208 LNFD
212 *
213 SCROLL
216 SCRL1
217 SCRL2
231 SCRL3
238 LASTLN
239 CLEOLi
244 CLEOL2
252 *
253 DISPLAY
2S5 DNE BIT INX BNE RTS Clip ODNE JSR Dcc LDA PHA JSR LDX LDA STA DEX BPL PLA CLC ADC CMP 3CS PHA JSR LDA LSR TAY DEY BDMI LOA STA LDA STA BCC LDA LSR TAY DCs LDA STA LDA STA INY TYA ASL CMP DCC RTS BIT DVS LSR ASL JSR
BEI L2
*CO30 DFLLI d$* SA #8A
CTRLRET
CUDO',JN
CTRLRET
WIINTOP
StTCV
BAS4L,X
TB4AS4LX
SCRL2 #1
HINSIBTM
LASTLN
SETCV
R1.^RGIN
A SCRLI
(BAS4L),Y
(TDAS4L), Y
(BASSL), Y
(TOASSL), Y
SCRL3 t MAROIN A
CLEOL2
F ODóGND
(SAS4L),Y
BKOND
( DASSL) Y
A
M4RR IN
Cl EOLI MODES
DSPL8O
CH CH
DOSL80
LINE FEED?
MOVE CURSOR DOWN A LINE
IBRANCH IF NO SCROLL NECESSARY.
ISTART WITH TOP LIME.
ISAVE IT FOR NOW
IGET BASCALC FOR THIS LINE
IMOVE CURRENT DASCALC AS DESTINATION
I(TEMPORARY BASE ADDR.)
IGET DESTINATION LINE
iCALCULATE SOURCE LINE.
IS IT THE LAST LINE?
YES, CLEAR IT.
iSAVE AS NEXT DESTINATION LINE iCET BASE ADDR FOR SOURCE LINE
MOVE SOURCE TO DESTINATION
iDIVIDE BY 2
DONE YET?
YES, DO NEXT LINC.
IMOVE BOTH PAGES
i BRANCH ALWAYS
JBLANK FILL THE LAST LINE.
DIVIDE BY 2
I;NORNALLY A SPACE)
z (IF 80 COLUIINS, ALSO A SPACE)
I TEST FOR END OF LINE.
JULT BY 2 AGAIN
ICONTINUE IF MORE TO DO.
ALL DONE.
& TEST FOR 40 OR 80
STORE THE SINGLE CHARACTER AND RETURN
INSURE PROPER 40 COLUMN DISPLAY
BY DROPPINQ DIT O
iDISPLAY IN $400 PAGE.
LO r'> ul
17-APR-91 #000254 PAGE ?14
!j0 19B SARA MONITOR
FC-8:AS 67
FCAA:91t 60
FCAC: 60
FCAD:
FCAD. 48
FCAE: AS 5C
rC.O: 4A
FCB1: AS
FCS2:68
FCiZ3.0o F5
FCZ5. 91 5E
FC37: 60
FC ZS8:
FCZ8:21 7E
FCDA: 20 25 FC
FCDD. C9 88
FCSF:FO tD
FCC: C9 98
FCC3:FO 08
FCC5: E6 80
FCC7:AS 80
FCC9:C9 50
FCCB D00 17
FCCD A9 DC
FCCF: 20 25 FC
FCD2:.20 EF FC
FrV5.
FCG5:A5 6B
FCD7 20 25 FC
FC'DA:AO 01
FCDC. 94 80
F:CE* A4 80
FEO FO F3
FE2 C6 80
FE4 ZO 60 FD
FCE7 A4 80
FCE9. 91 7E
FCEB: C9 8D
FCED. DO C9
FCEF:
F EF:2C 00 CO
F^F2-10 13
FC-F4 20 2E FD
F-F7 C9 AO
FCF9 F0 07
FCFB C9 80
FCFD DO 08
FC:F 4C OB FA
FD:'2. AD 00 CO
FC'5 tO10 FB FDO7 A9 gD
FGO9 4C 25 FC
FC,C*
CD.',C 6C 70 00
FD F
F3:F A? 7F
259 DSPBKGNn 261 *
262 DSPLSO
270 *
271 NOTCR
281 CANCEL
284 GETLNZ
289 GETLN
289 BKSPCE
292 NXTCHAR
297 CROUT
306 STOPLST
308 NOSTOP
311 RDKEY
313 9EYIN
LDA STA RTS PHA LDA LSR TAY PLA OCS STA RTS LDA JSR CMP BEG CMP BEO INC LOA CMP BNE LDA JSR JSR EOU LDA JSR LDY STY LDY BEO DEC JSR LDY STA CMP ONC EGU BIT BPL JSR CMP DEO Crip BNE LDA BPL LDA Jr1P DK1NO
(2EAS8L), Y
CH A
DSFBKGNO
(DAS4L). Y
( INBUF) Y
COUT
BKSPCE
#198
CANCEL
TEIIP TEMP
#INBUFLFN
NXTCHAR
*0DC COUT CROUT
PROMPT
COUT #1 IEflP TCrIP CETLN TElP
RGCHAR
TErIP
( INBUF), Y
i 18D
P:OTCR
KBU tNOSTOP KiEYIN3 #$AO
STOPLST
NOSTOP
ERROR2
1(l1D
STOPLST
*#BDCOUT
LOUT JelP n(;SWL)
LDA #17F
17-APR-81 #000254 PAGE 15
ALSO SET 8ACKGROUND COLOP
IPRESERVE CHARACTER
rDCTERMINE WICH PAGE.
aBRANCH IF $800 PACE
IECHO CHARACTER
i BACKSPACE?
ICANCEL?
INO WRAP AROUND ALLOWED.
OUTPUT BACKSLASH
START AT DEGINNINO OF INUJF
iBACK UP INPUT BUFFER
GET IIPUT
iTEST FOR START/STOP
IREAD KBD
I S IT A SPACE?
IYES, PAUSE TIL NEXT KEYPRESS.
QUIT THIS OPERATION?
iNO, IGNORE THIS KEY.
iYES, RESTART L4.cj tr.x Co -Ji o O0 %0 Vo J tM'lKE 91JPE FIRST 19 CUPSOR
M. 1913
FDti 1:85 63 FDt3: 20 88 FD
FDI6: 48
FD17:20 35 FD
FDIA: BO 08
FDlC A5 69 FDiE 20 9D FC FD2t1:20 35 FD
FD24: 6B8
FD25: O0
FD26: 48
FD27 20 9D FC
FD2A: 68
FD2D 28
FD2C:90 ES
FD2E:AD 00 CO
F031:2C O10 CO
FD34:60
FD35E6 62
FD37: DO 09
FD39 E6 63
FD3D A9 7F
FD3D t18
FDD3E: 25 63
FD40 FO 05
FD42: OE O0 CO
FD45:90 EE
FD47:60
FD48: FD48: FD48.
FD-.8 20 77 FD
FC': A5 68
FD4D 29 80
FDIF:49 AB
FD51:85 69
FD53 20 OC FD
F016:AO 08
FD08: D9 FO FF
FDB: FO EB
FDSD 88
FDSE: 10 F8
FDO:
FD60 A9 80
FD62: 25 68
FD64: 85 69
FD66. 20 OC FD
F069 C9 9B
FD6B:FO DE
FDh60:C9 95
FD6F:DO D6
FD71:20 88 FD
F074 09 80
FD76 60
F077
=D77 A9 FU
SARA MONITOR
316 KEYIN1
322 KEYIN2
329 KEYIN3
330 KEYIN4
332 KEYWAIT
339 KWAIT2
341 KEYRET
342 * 343 *
344 ESC3
346 ESCAPE
350 ESCI
352 ESC2
354 - 356 *
357 RDCHAR
368 *
369 OOESC
17-APR-81 #000254 PACE 16
STA JSR PHA JSER ECS LDA JSR JSR PLA PHP PHA JSR PLA PLP BCC LDA BIT RTS INC 3NE INC LDA CLC AND BEG ASL 3CC RTS EGU JSER LDA AND EOR STA JSR LDY CMP BEO DEY UPL LDA AND STA JSR CMP 3EO CMP BNE JSR ORA RTS LDA
T3AS4H
PICK
KEYWAIT
KFYIN2
CUYSOR
DISPLAY
KEYWAIT
tOO READ SCREEN
SAVE CHR AT CURSOR POSITION
TEST FOR KEYPRESS
O CET IT
iGIVE THEM AN UNDERSCORE FOR A TIlE
O0 SEE IF KEYPRESSED
SAVE KEYPRESS STATUS
DISPLAY
KEYINI
KBD Kt!DSTRO
IDAS4L
KWAIT2
1DAS4H
487F
IDAS4H
KEYRET
KED
KEYWAIT
OCESC IODES 4to0
CURSOR
RDKEY *8 #S
ESCTADL Y
ESC3 ESC2 *1000 IlODES
CUKSOR
PD:MEY
ESCAPE
#$95
KEYRET
PICK #$gO
READ KEYBOARD
iCLEAR KEYBOARD STROBE iJUST KEEP COUNTINC i;TEST FOR DONE iRETURN IF TIMED OUT iSEI TO + SoIGN FOR CURSOR MOVES iREAD NEXT CHARACTER
TEST FOR ESCAPE COM11MAND.
iLOOP TIL FOUND OR DONE
IGO READ A CHARACTER
iSAVE STANDARD CURSOR.
ESCAPE CHARACTER?
IFORWARD COPY?
CET CHARACTER FROM SCREEN
ISET TO NORMAL ASCII
*#CLSCRN
CXO Lo n
SARA MONITOR
FD-:q 48
FD-7A'9 7F FD
FD7D.48
FD-E:60
FDF:
FD7F: 8D
FD0: 70
FD91:68
FDO2:4E
FD83.48
FD54:D8
FD85:D6
FD06:C8
FD97. A3
FC-8: FDc8:A5 SC FeDA:4A
FD8B:A8
FDGC:24 68
FDSE;50 05
FD0O:qO 03 FDe2:B1 60
FD'4:60
F0D5:B1 5E
FD97: 60
FD8 FDr8: 374 *
375 ESCVECT
37S 384 *
38S PICK
393 PICK40
395 * 3?6 PHA LDA PHA RT8 DFD OFS OFDF ODFB DFD DFB OFD DF8 DFB LDA LSR TAY DIT Dvc ICC LDA RTS LDA RTS CHr4
ESCVECT,Y
CI EOL-1
CLFOP-1
CLSCRN-I
CCL40-1
COL80-1
CURLEFT-1
CURIGHT-1
CUhDOWN-1
CURUP-1
CH A MODE8
PICK40
PICK40
(BAS8L, Y
(BAS4L),Y
17-APR-81 #000254 PACE 7
GET A CHARACTER AT CURRENT CURSOR POSITION
/DETERMINE WHICH PAGE.
JAND IF 80 COLUMN MODE.
FORGET CARRY IF 40 COLUMNS
îCET CHARACTER FROM S400 PAGE
r%) vo NO ut rIl..1;90 ?1l0,J9C SARA MONITOR FDa8:
FD8:A9 03
FD'A.: D DO FF
FDaD:
FG;D: D8
FDOE:A2 03
FDAO:86 7F
FD,42 DD DC FF
FD.';5:9D CA FF
FDA8: DD D4 FF
F;DB: 5 6E
FDAD: DD DB FF
FC20:95 58
FDD2 CA
FD33:10 ED
FDD5: 85 82
FDD7:A9 AO
FD39: 85 7E
FDDD:A9 60
FC0D: 85 81
FDDF-A9 FF
FDC1:85 68
FC3:20 4F FB
FDC6: 2 CLDSTRr
SETUP
9 SETUPI
Il * EQU LDA STA EOU CLD LDX STX LDA STA LDA STA LDA STA DEX BPL STA LDA STA LDA STA LDA STA JSR 4 3 SPFDO #3 INOUF+t
NP'IRO, X
MF-CA, X
HCOKS. X
CSWL. X
VDOUNDSX
LtflR IN, X
SEIUPI
IODRVN
#$AO IN rUF 4#60
IBSLOT
$43FF iSODES COL40
ZERO PAGE IS ON 3!
OF COURSE!
jINPUT BUFFER AT 13AO iSET 40 COLUMNS. CLEAR SCREEN o 4o C' sC> (n
17-APR-91 #000254 PAGE 18
17-APR-81 *000254 PAGE 19
OOAO. OCAO. 00A2: 00A3: 0044: ODD4, 03D4' CO lB: CDDA: FFEC: FFED: FDC6: FDC6.
FDC6:A9 78
FDCs:85 AO FDCA:A9 Oa
FDCC:85 AI
FDCE:A9 FO
FDDO: 85 A4
FDD2:A9 00
FDr4:AA
FC,5'95 04
FDD7, EB
FDDSiEO 20
*FDDA DO F9
DDC:A9 os05
FDDE 18
FDDF 08
FDEO. 48
9DEI P6 A2
FDE3:AO 07
DE5h:A6 A2
FDE7. BA
FDEB91 AO
FDEA ES
FDED'88
fDcC: 30 06
FDEE:CO 03
FDFO:DO FS
FDF2.FO Fl
FDF44 20 99 FE
FDF7:DO 0D
FDr9:C9 OA
FD=D:DO E6
FDFD:A2 24
FCFF:-DO EO
FEC1 68
FEC0'. 28
F E'3.A2 17
FEC5 AO os05 FrC7 36 BO
FED9:OA
FE 0A DO OE
FEC 84 A2
-,:E C6 A4
FE.) FO 16
27 ADR
28 CPORTL
29 CPORTH
CTEMP
31 CTEMPI
32 YTEMP
33 ROWTEMP
34 CWRTON
CWRTOFF
36 CB2CTRL
37 CD2INT
38 * 39 *
GENENTR
48 ZIPTEMPS
C0
56 CENASC57 QASCII
58 QASCI2
59 GASCI3
67 CASCI4
73 CCYTES
76 CCOLMS
77 CSHFT
a0 et Eau EGU EOU EQU EGU EGU EGU EQU EGU EGU EGU LDA STA LDA STA LDA STA LDA TAX STA INX CPX BNE LDA CLC PHP PHA STX LDY LDX TXA STA INX DEY BM1I CPY ONE BEO JSR BC9 CMP BIlE LDX CNE PLA PLP LDX LDY ROL ASL NIE STY DEC CEO ^0 AnR ACr+I ADR+2 ADn+3 AOR+4
AC-+20
SCODD tCODA tFFEC SFFED #*78
CPORTL
#$a8
CPORTH
#240 YrEMP #0
ROWTEMP,X
#$20
ZIPTENPS
#5 CTEMP #7 CTEMP
(CPORTL), Y
GASC14
#t3
GASCI3
CASCI2
NXTPORT
CDYTES
#$A
CASCII
#*24
QENASC
*23 #5
ROWTEMP+4,X
A shrTCpiT CTtMP YIEMP OCJE
I INIT SCREEN INOX LOCATIONS
iSET UP INDEX TO CHRSET iFAKE THE FIRST BIT PATTERN
(PHANTYOM 9TH DIT SHIFTED AS DIT 0)
GENERATE THE ASCII
CODES FOR THE FIRST PASs
SXXF=CHR O / 4
% XXE-CHR I / 5
i *XXD-CHR 2 / 6 i XXC=CHR 3 / 7
SXXB-CHR O / 4
*XXA=CHR I / S
i XX9-CHR 2 X 6
*XX8SCHR 3 / 7
zGO DECODE CHARACTER TABLE.
SECOND SET OF 4?
iRANCH ALWAYS iRESTORE BIT PATTERN
(4 CHARACTERS OF 6 ROWS)
(FIVE COLUNS)
OREAK BYTES INTO
BIT OROUPS
DRrANCH 1 flORE BITS IN THIS BYTE
(NCTE: CARRY IS SET.)
13RANCH IF ALL DONE
CO -0 c> o y0 -n
RAM CHARACTER SET LOADER
FE:2 A4 A4
FE;4 E9 C4 FE
FE17 2A
PEJS A4 A2
FEIA 88
FEJD DO EA
FEID' CA
FEE. 10 E5
FE2O. ('E
FE2: 48
rE.2 20 28 FE
FE25-4C 01 FE
FE28: FE28: FE2e:A2 1F
FE2A:AO 00
FE2C ES B4
FE2E:OA
FE2F29 3E
FE31:91 AO
FE83 CA
FE34 CO
FE:?5:CO 08
FE37 DO F3
FE39:20 99 FE
FEDC:C9 02
FE3E:FO 04
FE40: 8A
FE4IJO E7
FE43:60
FE44:
FE44:A9 01
FE46:85 A2
FE48:A9 60
FE4A:2C DO CO
FE4D:20 AE FE
FESO:A9 20
FE52:20 AE FE
FES5:2C DA CO
FESBt 20 8E FE
FED: C6 A2
FESD: 10JO 16
FESF:A9 0O
FE1:85e AI
FE63:AO 07
FE65:B1l AO
FE67: 18
FE68:69 08
FE6A:91 AO
FE6C: 88
FE6D:10 F6
FE6F:;20 99 FE
FE72:90 EF
FE74 60
FE75 AO 03
FE77:A9 7F
RAM CHARACTER
e3 i86
B7 SHFTCNT
e8 es *
96 DONE
97 STORCHRS
98 STORSET
99 STOROW
t1 los t110 11t 113 *
114 GENDONE
116 GENI
127 NXTASCI
128 NXTASC2
137 CEN2
13e SET LDY LDA ROL LDY DEY DNE DEX BPL PHP PHA JSR drip EOU LDX LDY LDA ASL AND STA DEX INY CPY eNE JSR CMP DEo TXA B3PL RTS LDA STA LDA BIT JSR LDA JSR BIT JSR DEC BPL LDA STA LDY LDA CLC ADC STA DEY BPL JSR BCC RTS LDY LDA
LOADER
YIEMP CP-isET-1. Y A
C I EMP
CSHFT
CCOLMS
STORCHRS
CBYTES
#tIF 4041F 1:0
ROWTEMP, X
A #43E
{(CPORTL). Y
41t8
STDROW
NXTPORT
#se
GENDONE
STORSET
#1 CTkMP #60
CWRTON
VRETRCE
#S20
VRETRCE
Cb KTOFF
ALTCHR
DTEMP SEN2
CPORTH
#7
(CPORTL)>. Y
#eu
CCPORTL), Y
NXTASC2
NXTPORT
WXTASC I
t3 417F
17-APR-81 0000254 PAGE 20
ieET CHARACTER TABLE,INDEX
(CARRY KEEPS BYTE NON-ZERO UNTIL ALL B ARE SHIFTED)
iRESTORE COLUMN COUNT
COT ALL FIVE BITS7
NO, DO NEXT
I ALL RnlWS DONE
NO, DO NEXT
SAVE REMAININO BIT PATTERN AND CARRY
iMOVE EM TO NOtJ DISPLAYED VIDEO AREA utMOVE CHARACTER PATTERNS TO VIDEO AREA
SHIFT TO CENTER
STRIP EXTRA óARBAGE
THIS CRPOUP DONE?
i NO, NEXT ROW
ALL ROWS STORED?
IPARTIAL SET ($47B-$5FF)
SET NORMAL MODE
IPREPARE TO SEND BYTES TO CHARACTER
GENERATOR RAM
WAIT FOR NEXT VERTICAL RETRACE
jAIT ACAIN iCHARACTERS ARE NOW LOADED iREPEAT THIS SET FOR OTHER 64 CHARACTERS
HAVE WE DONE ALTERNATES YET?
NO, DO IT!
I;BUMP ASCII VALUES FOR NEXT SET
iTHE USUAL COUNDOWN
SETUP ALTERNATE WITH UNDERLINES
4, c, vi MO'i9C
FE79:99 FC 05
FE7C:Q9 FC 07
FE'F:88
FE8O:10 F7
FE82:A9 G8
FEB4:85 AI
FE86:DO CO
FE89:
FE38-AO 07
FE9A:81 AO
FE8C:49 20
FE3E:91 AO
PE90:88
FE91:10 F7
*FE'3-20 99 FE
FE96:90 FO
FE"8:60
FEg99
FE99:A5 AO
FE9B:49 80
FE5O:85 AO
FE9F:30 02
FEAI:E6 AI
FE,3: A5 AI
FEAS:C9 OC
FEA7:DO 04
FEA9:A9 04
FEAD: 85 AI
FEAD:60
FEAE: FEAE:
FE4E. 85 A3
FEeO:AD EC FF
FES3-29 3F
FEDSL:05 A3
FEZ7:SD EC FF
FEBA:A9 OS
FEDC: 8D ED FF
FEIrF:2C ED FF
FEC2:FO F8
FEC4:60
FEC5: FEC5:
FEC5:FO 01 82
FECS:18
FEC9:40 84 81
FECC:2F
FECD: 58 44 81
FEDO:29
FEDI:02 tE 01
FED4-91
FED5:7C IF 49
FED8 30
FED9, A 08 43
FEDC 14
FEDD 31 2A 22
RAM CHARACTER
139 UNDER
146 *
147 ALTCHR
148 ALTCI
156 *
157 NXTPORT
162 NOHIGH
167 PORTDN
168 * 169 *
VRETRCE
177 VWAIT
*
181 CHRSET
SET LOADCR
STA t5FC,Y
STA O/FC,Y
DEY
BPL LINDER
LDA #$9
STA CPORTH
BNE GErNI
LDY #7
LDA (CPORTL),Y
EOR #*20
STA (CPORTL),Y
DEY
BPL ALTC1
JSR NIXTPORT
BCC ALTCHR
RTS
LDA CPORTL
EOR #t90
STA CPORTL
BMI NOHIGH
INC CPORTH
LDA CPORTH
CMP #$C
ONE PORTDN
LDA *#1.1
STA CPORTH
RTS STA LDA AND ORA STA LDA STA DIT BEO RTS EQU OF8 DFB DFD DFB OFD DFB DFD
CTEMP1
CB2CTRL
#13F
CIEMPI
CB32CTRL
#$8
CB2INT
C32INT
V:.AIT
17-APR-81 *000254 PAGE 61
ADJUST ASCII FOR ALTERNATE SET
s$20-->0 $40-->$60
IADJUST THEM ALL
CONVERT $78->$F8 OR $F8-S78
IF "C THEN -4
SAVE BITS TO BE STORED
iCONTROL PORT FOR 'CB2' iRESET HI DITS TO O iTEST VERTICAL REIRACE
IWAIT FOR RETRACE
IFO, $01, $82, S18
S140, $84, 181, t2F
S58, $44, $81, $29
102,$1E, $01, $91
S7C, SFIP, 49, 30
SeA, $08, $43, $14 31, S2A, 22, a13 CE r,4 4o 0n %0 VI 17-APR-91t #000254 PAGE 22
1FON9C
FEEO: 13
FEEI:E3 F7 C4
FEE4: 91
FEES: 48 A2 DA
FEES: 24
FEE?:C6 4A 62
FEEC: 8C
FEED:24 C6 F8
FEFO: 63
FEFI:8C CI 46
FEF4:17
FEF5: 52 8A AF
FEFS: 16
FEF9:14 E3 33
FEFC:31
FEFD: C6 F8 DC
FFOO:73
FFOI:3F 46 17
FF04:62
FF05:SC 21 Eb
FF0: 18
FFO9:6A BD 61
FFOC:CF
FFOD: 18 62 74
FFIO: DI
FFII: 89 18 49
FFl4 4C FFj5;91 CO F3
FF18:09
F=19:2C 91 CO
FFIC: 14
FFID: 10D 8C EF
FF2O: 07
FF21: 17 43 88
FF24: 31
FF25:84 IE DF
FF28: 0B
FF29:31 84 F8
FF2C: FE
FF2D:77 3E 3E
FF30: 17
FF31:62 BC FD
FF34:C7
FF35:50 E3 0B
FF3g: 51
FF39:C5 E8 CS
FF3C: 73
FF'D: 18 OC 42
FF40: 3E
FF41:01 02 20
FF44: 42
FF45:3E 41 18
FF49 9C
FF49. o08 0o 70
FF4C; EE
FF4D-000 Il Il DFB DFB DFD DF3 DFD DFB DF3 DFD DFB DFD DFB DFB DFB DFD DFB DFB DFD DF3 DFB DF3 DFD DFB DFB DF8 DFB DFD DFB E3. $F7, tC4, *91 t48, $A2, $DA, $24
$C6, 14A, $62, $8C
$24, $C6, SF8, $63
$8C, $CI, *46, $17
$52, $8A, tAF, t16
$14, $E3, $33, $31
$C6, *F8. IDC. $73
$3F. $46. $17, $62
*8C, $21. UE6, $18
*6fA, $8D, $61, CF
*18, $62. *74, $DI
$B9, S18, $49, $4C
t91, $CO, F3, *09
2C, $91. *$CO, *14
*10, $8C, EF, 07
$17, $43, *80, $31
tY-', $E, $DF, *08
*31, *84, F3 $FE
$7/, $3E, $E. *$17
t62, *SC, SFD, *C7
*50, $E3, 95, *51.
$C5, $ES. *CS, $73
t1t, $OC, *42, $3E *t01, *02, 820 *42
*3E, $41, $8. $8C
*C8. $00. *70. tEE
*00, $11. *11, *21
ru CO *-. co ni
RAM CHARACTER SET LOAIER
r:Z.:9C
FF50: 21
FF11:l1 02 EO
FF34:3C
FF55:21 31 02
FF58:EO
FF9: IC o0 C8
FFSC: 89
FF5D:80 62 14
FF60:IF
FF6t.46 A2 DE
FF64:43
FF6S.2C 04 88
FF68:BE
FF&9:FF CE 7D
FF6C:37
FF6D:49 88 95
FF70:18
FF71:98 09 62
FF7,4:D01
FF75:44 E8 88
FF78:FB
FF79:02 90 40
FF7C:00
FFD:10 EO 03
FF80:02
FF9l:00 40 00
FF84: 00
FF25;08 00 00
FFS8:-28
FFe89:10 42 44
FF8C: 25
FB;D:82 D8 2F
FF'0:48
FF9I:25 44 10
FF94:;82
FF75:02 00 2F
FF98:SA
FF99:40 45 02
FF9C;8E
FF7D:64 50 90
FFAO. O
FFAI:3E 26 42
FFA4: 80
FFAS:21 80 00
FFAS:05
FFA9:00 F8 80
FFAC:OO
FFAoD:05 08 F8
FFDO:BO
FFD1:28 o05 88 FF3 4 FFD4:
FFO4.F2 FB
FFD6. OF FD
FF8e
RAH CHARACTER SET LOADCR
242 *
243 HOOKS
* 246 * 247 V0OUt4DS DFB DFO OFB DFB DFB DF8 DFO DFO DFB DF8 DFD DFB DFS DFD DF8 DFD DFB DFO DFO DFB DFB DFB DFI] EGU DW DW EUt t11,S02, $EO, S3C $21,s31, 02, $EO $IC., $00 $C8. sB9
CO, $62, $14, $1F
46* SA2, DE, 43
:2C, $04, R.8, $1E
tFF. sCE. S7D, $37
949,$ 988, 95, $18
s98, S09, $62, $D1
$44, $E8, $80. $FD
$02, s90, $40.$00
$10, $EO, 03,$02
OO, $40, $00,00
l08. $00, tOO. $28 t10, s42, $44, $25
I02, $88, $2F, $48
$25. $44,S10, 982
102, 100, OrF, $5A , s45, 902, S8E
164,150, 90, $01
$3E, $26, 942. 980
S21. $80. $00. 05
00, $F8, 80, *00
, 108 $F8. $S80
t28, $05, $88 COUT2 KEYIN ro 0a -tj o t-fl \0 Vil
17-APR-81 #000254 PAGE 3
rtDNI9C RAM CHARACTER SET LOAúER
FF8:0O 50 00 248 DFB
FFB: 18
FF2C: 249 *
FFDC:4C 89 F6 250 NMIRO Jrip
FFEF: 40 251 RTI
FFCO:C3 CF DO 252 ASC
FFC3:D9 D2 C9
FFC6:C7 C8 D4
FFC9:AO CA Cl FFCC:CE D5 Cl
FFCF D2 D9 AC
FFD2AO Dl B9
FFD5:D9 BO AO
FFDS:AO Cl DO FFbD:DO CC C5
FFDE:AO C3 CF
FFEI:CD DO D5
FFE4:D4 C5 D2
FFE7: AO C9 CE
FFEA:C3 AE AE
FiED:CA D2 C8 FFFo: 253 CHl
FFFO: I *
FFFO:CC 2 ESCTABL DFB
FFFI:DO 3 DFB
FFF2 D3 4 DFD
FFF3'84 5 DF8
FFF4:D8 6 DFB
FFFS:88 7 DF8
FFF6: 95 8 DFD
FFF7: A 9 DF8
FFF8:80 10 DFD
FFF9:00 11 DFB
FFFA: 12 *
FFFA:CA FF 13 NMI D[4
FFFC:EE F4 14 RESET DW
FFFE:CD FF 15 IRO D1'
00c00. 16 *
** SUCCESSFUL ASSEMBLY: NO ERRORS
*0, 50, O, $18
RECON
COPYRIGHT
MOiIVECT *CC $DO 0D3 $84 *D8 *94 $8D *O0 IF-CA DIAGN OFFCD iI4 DIAGNOSTICS
JANUARY, 1980 APPLE COMPUTER INJC. JRH'
iNOTHINQ
IFIRST DIACGNOSTICS
ro CO 0i %0 V1
17-APR-81 #000254 PAGE 24
ZHD|35 COCad d3S V6Vi dO03t8 ZDV t IlHOIU aGIDA 113E tAA4t NOM3i 699a OdSUd CZVi ZX3HUd L063 31AOud zv6d MDId ssai zdalo 36bt diH31I4 ZE63 SVGIkN dt6d I V1XN Z66d HO IHON EV3i 3AOW DZVd
HDúNSIN ZQ A
dnibi3 638a I llS' oz NIA3MI Aoat INIA3M 9l t i: SMOOH bn33 ZN3130 aDA csvt430 TMAu ú1 DSVO zmad ID3ADs3 dzad ZOS3 sca t auOUd3 syvO Sceflna 63VA ociffa DAV t 13151a it6A J dOI31D,1 vaoD
HOSUI10 69
aNGéno coud 3t15D 39 NOI4UD8 92V t OB30D 6bEd
HDUBGWD 016 1
Z3033D I&6D
3aiffl VOVi4 Q31HHD 103 t 33DNVo 0aDD 3DdSMtI 3a3i oivsva EM4
CZDSV 93U
DID13v Ved3
3CV 84
tDdlV ZGàA a0o13S 498A 33O0DS DGDi 19é S 19Dd IV13él ClV6 t 13S3U1 Dd tdZ aVt 0DVi ld:lOUd g9 ZX3HUd ict63 IODAOUd Z36d oDbMDId càai úIOd/XN 663i UVHDúXN b3Dd IDSV XN E93d u3AON Oavd 1:NN V dd ZN40t4 e0&d hSVW 69
081 H3 0DA
H4s ITt 4 trNIA3m TIúad, amit O0D ZdOHDNI tdad i NuHaai zs oo C4VA 08353 úC ad D03NtiDS BQ NVDS Z16d dW31t10U bs úi13t110i t'as llV3d3U IZVi 1MCtkiU DGai IV1NISUd 19Vi NO-ODkid CGD6A 31AGivud 3sv3 3Dd ZZ NI 31XN ZOD t aDSV. XN cs3u M3S10N 8gD8 NOW bOséel GAI'f Z DA N315iV3 Z8D t ENlIA. 3M 3zaA stilScalm OIOD Anoffl 3Z aw0ci 49 DS30s zza i TN30 sb3d I I SVO e3a A 3dYDS3 aba3A TUOSU3 ZAvA dffla 6 dvA4f Z4&wna DOS_ Osidsa MODA
IS30 I6VA
dW,31 3 aV
1AHSD Z03A
lmnoD úúD3 D3hAGWD D46 d IdO33D VZt3 I3033D 6sDA HD DC luifDaza D3Ai OI M D03E 64t 3
Z1383 3ED3
lesve 09 ú1IZDSV ZA6 t
OIIDSV 60V3A
I DSV DZGA
Vú ND3 9z 3IV tb4 108WAS AU a3IuOS V09ú3S aOGa
ú3tM DS WL De-
QNDA$VS G3v NIOUVRU br Z13dS ooeA 1 V3d3U 61Ivi UVHOdO 09(G3i X3Htid s od_ dSlAOud oz d
Nalú0d CV3.
HDd EL dNIIXN CT& llciXIq zt6 i tVIXN DJsà dOlSON zOf i úXNAOW TúVi S3aOW 89
NIOUVW3 BQ
SlsA3m ztii
dWnn azv-
N33 AnENI 0s N9dAgN!a Og ddno0! g8 I4XN130 zabd 3NOGI430 bb3i tIOSVO b ile aNOUO, 99 úDS3 n tIld TdNuO bO DSVdWna ZL}i r cWila 601ad CND)IEdSG VV-.-J 1380la Ds9 i 1,10UfflD Ca0q Iinkino 3va.1 NMOAinD 6Dad I dWBl D E V mnouD A3.)A H.Lkoda ITV 310U.lNOD CAi OV.LaWO D96 dO 33D f uad SW30DD C03 i VUUVD 06 Ij.:, lis ovvi AdOlle elvA 11139 aC.Oe I I SVO zo
3NOODSV 90VS
UHD11V 8s3_-
HbV CL HZV iZ
HIV CZ
BIEv l nouhs Ln Co "t Cu N3130 ZN32
ZIDSVO
98Vú03S
TOsa AU1N3 údWna AWWna AV3dSI a Aviosla AD ld3lunD HMSD
MHD UD
únoD
MIDSID
q1039O
13SUHD
Lqraon
1358H3
Ht-SVC
133DSV
ZDSV Mav HCV DdlV ODd r. 3 at Gú3a bdé. DIOd ZCgd 0bOd úccb 6aEd A9 G8d6d adud &90d 3b3d acdz O3sd 61bD ú9 CgO ZOOd cuta 9bA 38gd 6ID 9F6. QI BOVd tCZOOO# 18-UdV-4! ur_ oO 4rJ 31VúS2 Z96g SdW3ldIZ Qa3 dW3IA 9V AVSA am 31 E' DVA dolNIM VC WI1NIM 8 &IVMA A83d rAiMA OtVi A3HA BEV3 ZA3A DW3 3D8ú1aBd MVI 5NnORA Baud u3Sn aZVd HOVH3sn a83o m3aNn 6L3ú aWnAlSi 9AVA UDISl 6ldz.]331JS 96D8 MDVBISi &BA iViBl Bb663 fIM1081I 6D63 BOSO1 BG6A AdW31 09 dW3l OS XdW31 09 38SVdl t9 H85V81 C9 L ItSV91 Z9 H#SVBI C9 SVWAS 1a 8CllS EVV3Z 13SHOIS VZ33 MOHOlS DZ33 SHHDHOlS 6Z33 IHOlS 3W3A 153dOlS zoad 31V1S DZ MDV1S V9
3DdS tVVd IND13HS V133 Idnl3S zva3 dnl3S eS6CJ.
300W13S 8OY ZOW13S GOYV HADI3S ZDSAL AD13S tBe3 9Z 3DVd 00ZOOO# 1B-UdV-ZI lOBWAS As al3.oS aieVL -0dWAS 13dA3) ZenA
ENIA3W 3ZGO
A3M1a8 DOGA UYHD1XN t3DJ 33DNtVD aDDd AVIdSIC O63A E3dDS VLDA 113Ea VEDA 133dMl D bZD J zkIDHDril d3e J4 HAD13S ú8sb, dnknWAO tvRd 10310i 3sed 0s3oD b6ts Dsvdwna IZOA Odwna DAV.J EdW4na 63tV4
318M EDVA
Àw;4na LEVA lis OVW zudOd3 ESVA 0d3Sn 6LdV IVINIUd 19vA
AJUA EúVJ
I1V3d3d IZVi
WMD VOVJ*
MjHDUD) SAbA DdCIO 36ab a 011b Dbd ZX3HUd ZE6J IV151 sbb3 CVIOWD Ds6 ZSE1XN 6Cb6
8HD1XN Zú63
NVDS Z16A
Z13d OObJ
NOVIC 33,A
Guiscam OTOD dW31A kV uacv ov
AVSA CL
HEV 6L
HIV L
AdW31 09 bOgUnD 69 CNOMdO 99 le SV8 3G dO.lNIM VC N33JnON I OC 3dVDS3 EGAd S I9I3Adx CEGd INIA.i 9la3 isidois zoqJ
ZN0A130 COD
OBs1dEG 3YDd 11031 6bs D0J
1I18DS 19DJ
z333e 3EDJ IMnOD EEDJ I 3nvDsvrâ QO3J ainOD zded MDVEl$S casJ Ha31s AaEE AD.Las 18Aa dO31D TZEAJ ZDSV sEsJ zdWna DORA s 80d93 IAV A dDO03MU ZDVJ ZOW.L3s COV4 dO15M EVV3
IS3O 16VA
oa ozv, dSIJABEsd OZV ' ZAAMA DtAv 341C0i DZVJ da 1 a Gl SC VJ
IIDSV ZOV3
ZI IDSV 136A
DdlV ko6A 03AOBd ZD6A BIAEsd DVbd tVlXbl DsbJ
31V1SZ ú96A
IZEGYN Zt64 HDUSawD DTbd NOel tOb6 NOúU8tD BOOD UaGYs3n JECO dW31D Z8 ow DsI ú8 dW31 08 HbV OZ
H2V ZZ
HDd ELZ
HMSD A9 Z
idWOsd 89 s30ow 89 38sVE1 t9 3ss B 09 HD 3D NIOaUVII BC EDS3 srOa bNIA3e TCQd NI/B AOAo
1AOU3 J3DJ
N3130 caDJ ONOXedsa Vid tJ315vi ZBDd 330dDS ECDJ lr038 CZDd
NJ 1XN ZODJ
dnlJ33 638A NtlOa snD bDEJ lHOI u3nD ZEB idnunD 3voA OHNOD CbsJ NUèDS3lD bsldJ IDsv DZOA leiû60BA dwnalsl 9AVv awDAVS CGDVJZ
3GOW13S BVV
80883 3SaJ dkInr azVd 31AÀlE d 39v TADUS otvi NowsD 9ZVA
3NDODSV 9OVJ
*I135V Ab06
IMSVWWS 10A&
2X3HUd 386J D33aWD DZ6b8 BASOI 3CbJ lII BIbd dNllXN CIbJ Ad.leN3 T O6iJ NOD3b bed9 AdaOlti.'} VOOD HldOdD IV Ans.Jil 3L
11V VI
-laV 9L 3Dd ZI
3PI5D 39
M1DV1S V9
HbSVEl E9
HPSVG AG
W1 E:JI M E6
DOOrJu35 BQ I DS3 eCGAt ZNIA3M tWJ dOI1ON zoa 3DdSME 3aDJ 8D1ON 8BgD Z3033D I6Dl z3dDS ú9D3 E1333 EbDJ q33BIS1 9C3d ZD3DS8 bl3J XAVidSIa DJàU úJ33bA3 bOd ZHD135 EDgJ TNOBAD Coed OVaun EBSéJ TdO30D VZRA VOBl3S egBd EDSV 9baJ CdWnAO 6TV U3^Q/,l ACVd avàd ODVJ i5 AVVA TaDs dvvd d3S VbV8 8O083Md E8VJ DdSUd CúVA HDlVWSIW ZCVJ
IXN^OW TCV4
iV3d38 6IVJ OIIDSV bOV CIIDSV ad6d *DdTV úO6A NOOD8d CD6d4 X3H8d CG66JZ TV1XN Zbbl 313oIa 896J SVOIXN dt6A WnN130 DZbJ ZNOW 80bd DIXDOIG 6ú#d 1Ud OOOD 31Vd S DE
3ú1V SZ
1tiSX OZ X d1.31 D9
MSYW 69
H8SVOI C9 4
H8SVE 19
AD ac NIOUVWd 6b utn 0s CO Cu SS3bO V AdB 31BDS 33dV1 30EJAS Zr 3evd t0ZOOO# 18-8dV-zT LIJ o' Go SONnOUS aSd SMiOCH tûdd L3sSHD QD33A IIVMA A03_ 3013dA 3v3d NalUOd V3.z HOIFON CV33 lUOdLXN 663 IDl3v v8:3 UHDIIV 883d d3atin 6z3A 2N33 Qz3di 2DSVlXN C3 IDSVlXN C93d 1Nl 8t3d 3W NOON3v3 mOmOiS O3s i3suO1S V3, SdHDcOlS 823 3NOO sz3 lNDldHS V13T IHS3 03 SN3033 O S3LAU3D 1030 tIDSVD 'OA IOSV ú3Gd 2ISVO cO3a IDSVO C3= DSVN93S IBad SdW31dIZ;aI u t '3 9a3, Idnl3BS ZVI1 dnl3AS 06CA4 LHúSOD 8bQA Ot;1DId bôa V3DId BSG0 03A3DS3 ZLaS DS30 4LaZA aVHDOU 090oa ZOS3 8;d ss3EaaV Al 031H0s 30n Vú IoIJAS S 3OYd #QZOOO# 19-UdV-Zl

Claims (19)

REVENDICAT IONS
1) Calculateur numérique comprenant une unité cen-
trale (de traitement), une mémoire à accès direct (mémoi-
re RAM), un bus d'adresses interconnectant ladite unité centrale et ladite mémoire RAM de telle manière que ladite
unité centrale adresse des emplacements dans ladite mé-
moire RAM et un bus de données interconnectant ladite
unité centrale et ladite mémoire RAM, ladite unité cen-
trale adressant, pour certaines fonctions, des emplace-
ments prédéterminés dans ladite mémoire RAM au moyen d'une
gamme prédéterminée de signaux d'adresse, ledit calcula-
teur étant caractérisé en ce qu'il-comprend: un moyen de
détection pour détecter ladite gamme prédéterminée de si-
gnaux d'adresse, couplé avec ledit bus d'adresses; un mo-
yen du type registre pour stocker des signaux numériques,
couplé avec ledit bus de données; et un moyen de commuta-
tion pour transmettre lesdits signaux numériques stockés dans ledit moyen du type registre audit bus d'adresses
lorsque ledit moyen de détection détecte ladite gamme pré-
déterminée desdits signaux d'adresse; moyennant quoi des données relatives auxdites fonctions normalement stockées
par ladite unité centrale auxdits emplacements prédéter-
minés peuvent être stockés ailleurs dans ladite mémoire
RAM, ce qui améliore la performance dudit calculateur.
2) Calculateur suivant la revendication 1, caractérisa
en ce que ledit moyen de détection détecte des zéros binai-
res partout.
3) Calculateur suivant la revendication 1, caractérise
en ce que ledit moyen de commutation comprend un multiple-
xeur commandé par ledit moyen de détection pour assurer la
sélection dudit moyen du type registre.
4) Calculateur suivant la revendication 1, caractérise en ce qu'il comprend une mémoire morte couplée avec ledit
bus d'adresses et avec ledit bus de données.
5) Calculateur suivant la revendication 4, caractéris en ce que lesdits signaux stockés dans ledit moyen du type 11f' registre fournissent un pointeur d'emplacements de ladite -mémoire RAM au cours d'un transfert d'accès direct à la mémoire. 6) Calculateur suivant la revendication 5, caractérisé en ce que la mémoire morte, en réponse à des signaux présents sur le bus d'adresses, transmet des instructions à l'unité centrale pour lui faire incrémenter des signaux d'adresse au cours dudit transfert d'accès direct à la mémoire. 7) Calculateur numérique comprenant une unité centrale (de traitement), une mémoire à accès direct (mémoire RAM),
un bus d'adresses comportant des première et seconde plu-
ralité de conducteurs pour coupler ladite unité centrale
avec ladite mémoire RAM et un bus de données interconnec-
tant ladite unité centrale et ladite mémoire RAM, ladite unité centrale adressant, pour certaines opérations, des emplacements prédéterminés dans ladite mémoire RAM avec des signaux d'adresse sur ladite première pluralité de conducteurs, en appliquant une adresse prédéterminée sur ladite seconde pluralité de conducteurs, ledit calculateur étant caractérisé en ce qu'il comprend: un moyen du type registre pour stocker des signaux, couplé avec ledit bus de données; un moyen de multiplexage couplé avec ladite seconde pluralité de conducteurs et avec ledit moyen du type registre pour assurer la sélection de signaux, soit à partir de ladite seconde pluralité de conducteurs, soit
à partir dudit moyen du type registre; et un moyen logi-
que couplé avec ladite seconde pluralité de conducteurs et avec ledit moyen de multiplexage pour provoquer la sélection par celui-ci de signaux provenant dudit moyen du type registre lorsque ladite unité centrale applique ladite adresse prédéterminée sur ladite seconde pluralité de conducteurs; moyennant quoi lesdits signaux provenant dudit moyen du type registre déterminent des emplacements
de variante dans la mémoire RAM en vue d'un stockage asso-
cié auxdites opérations.
8) Calculateur numérique suivant la revendication 7, caractérisé en ce que ladite adresse prédéterminée est
exclusivement formée de zéros binaires.
9) Calculateur numérique suivant la revendication 7, caractérisé en ce qu'il comprend une mémoire morte couplée
avec le bus d'adresses et le bus de données. -
) Calculateur numérique suivant la revendication 8, caractérisé en ce que le signal stocké dans le moyen du type registre fournit un pointeur d'emplacements de la mémoire RAM au cours d'un transfert d'accès direct de
la mémoire.
: 11) Calculateur numérique suivant la revendication 10, caractérisé en ce que la mémoire morte, en réponse à des
signaux présents sur le bus d'adresses, transmet des ins-
tructions à l'unité centrale pour lui faire incrémenter des signaux d'adresse au cours dudit transfert d'accès
direct à la mémoire.
12) Dans un processeur numérique utilisé conjointement avec un affichage, ledit processeur comprenant un bus de données et un bus d'adresses, une mémoire caractérisée en
ce qu'elle comprend: une première pluralité de disposi-
tifs de mémoire pour stocker des données, couplés de ma-
nière à recevoir des données du bus de données; un pre-
mier bus de sortie de mémoire couplé de manière à recevoir des données de ladite première pluralité de dispositifs
*de mémoire; une seconde pluralité de dispositifs de mé-
moire pour stocker des données, couplés de manière à re-
cevoir des données du bus de données; un second bus de sortie de mémoire couplé de manière à recevoir des données de ladite seconde pluralité de dispositifs de mémoire; un
moyen d'adressage couplé avec le bus d'adresses pour pro-
duire des signaux d'adresse permettant d'adresser lesdi-
tes première et seconde pluralité de dispositifs de mémoi-
re; un premier moyen de commutation pour choisir des don-
nées à partir de l'un des premier et second bus de mémoire et les appliquer au.bus de données, ce premier moyen de
2487095 -
commutation étant couplé avec les premier et second bus de mémoire et avec le bus de données; un second moyen de commutation pour choisir des données à partir des premier et second bus de mémoire et les appliquer audit affichage, ce second moyen de commutation étant couplé avec les pre- mier et second bus de mémoire et avec ledit affichage; moyennant quoi ladite mémoire fournit des données pour
un affichage à haute définition.
13) Mémoire suivant la revendication 12, caractérisé en ce que, lorsque le bus de données reçoit des données de l'un des premier et second bus de mémoire, l'autre de ces bus de mémoire est couplé avec-le moyen d'adressage de telle manière que des données provenant dudit autre bus de mémoire fournissent une information d'adressage pour la sélection d'emplacements complémentaires dans les
dispositifs de mémoire.
14) Mémoire suivant la revendication 13, caractérisée en ce que les données provenant dudit autre bus de mémoire sont appliquées au moyen d'adressage par l'intermédiaire d'un multiplexeur, qui assure une sélection entre, d'une part, les données provenant dudit autre bus de mémoire et d'autre part, des signaux de commutation par bloc qui sont
appliqués audit multiplexeur.
) Mémoire suivant la revendication 14, caractérisée en ce que ledit multiplexeur est commandé par un circuit logique couplé avec le bus d'adresses et ledit autre bus
de mémoire.
16) Mémoire suivant la revendication 15, caractérisée en ce que ledit circuit logique provoque la sélection,par ledit multiplexeur, des signaux de commutation par bloc précités chaque fois que le processeur commute un code opération.
17) Dans un calculateur numérique comportant une mé-
moire et qui est utilisé conjointement avec un affichage balayé à trame, ledit affichage comprenant un compteur numérique qui fournit un compte vertical représentatif t11+
de la ligne horizontale balayée par le faisceau dudit affi-
-chage, ladite mémoirq fournissant des données pour affi-
cher des rangées de caractères, un moyen d'adressage cou-
plé avec ladite mémoire pour faire défiler les caractères affichés, ledit moyen d'adressage étant caractérisé en ce qu'il comprend:un additionneur comportant des première et seconde bornes d'entrée et dont la sortie fournit une
partie d'un signal d adresse pour ladite mémoire, la pre-
mière borne d'entrée de cet additionneur étant couplée de -manière à recevoir les bits de plus faible poids dudit
compte vertical; ledit calculateur produisant une séquen-
ce périodiquement répétée de mots numériques appliquée à la seconde borne d'entrée dudit additionneur, moyennant quoi les caractères présents sur l'affichage défilent avec
un minimum de mouvement de données dans ladite mémoire.
18) Moyen d'adressage suivant la revendication 17, ca-
ractérisé en ce que la séquence de mots numériques fournie par le calculateur a une valeur maximale égale au nombre
de lignes balayées dans chacune desdites rangées de ca-
ractères.
19) Moyen d'adressage suivant la revendication 18, ca-
ractérisé en ce que la séquence de mots numériques est in-
crémentée pour chaque image affichée.
) Dans un affichage vidéo balayé à trame commandé
numériquement destiné à être utilisé avec un microcalcula-
teur ou analogues, affichage qui présente des images en - couleur en réponse à des signaux de chrominance ayant des
relations de phase prédéterminées avec un signal de réfé-
rence de fréquence (f), un montage destiné à produire un
signal de chrominance commandé numériquement, ledit mon-
tage étant caractérisé en ce qu'il comprend: un moyen de
génération de mot numérique pour engendrer des signaux nu-
mériques prédéterminés; un moyen de mise en série couplé avec ledit moyen de génération pour répéter ledit mot sous une forme séquentielle à une fréquence prédéterminée de manière à produire des composantes de fréquence à ladite 11e 2487095
fréquence f; et un moyen de conversion, couplé avec le-
-dit moyen de mise en série pour convertir des signaux de sortie provenant de ce dernier en un signal de courant alternatif; moyennant quoi un signal de chrominance vidéo est engendré. 21) Montage suivant la revendication 20, caractérisé
en ce qu'il comprend des éléments de montage supplémen-
taires couplés avec ledit moyen de génération de mot nu-
mérique pour produire un signal de luminance de courant
continu.
- 22) Montage suivant la revendication 20, caractérisé en ce que les mots numériques sont appliqués à un réseau de
pondération résistif pour produire un signal vidéo à é-
chelle de gris.
23) Montage suivant la revendication 20, caractérisé en ce que les mots numériques sont des mots de quatre bits
et en ce que ladite. fréquence prédéterminée est égale à 4f.
24) Montage suivant la revendication 23, caractérisé en ce que le moyen de mise en série comprend un multiplexeur
commandé en synchronisme avec la fréquence f.
) - Montage suivant la revendication 24, caractérisé en ce que le moyen de conversion comprend un inverseur couplé
avec une sortie du multiplexeur.
26) Montage suivant la revendication 25, caractérisé en ce qu'il comprend des éléments de montage supplémentaires couplés avec le moyen de génération de mot numérique pour
produire un signal de luminance de courant continu.
27) Montage suivant la revendication 20, caractérisé en ce que le moyen de génération de mot numérique comprend:
une source de données numériques pour commander l'afficha-
ge; un premier registre couplé de manière à recevoir des données de ladite source; un multiplexeur pour effectuer une sélection entre deux bus, la sortie de ce multiplexeur étant couplée avec le moyen de mise en série et lesdits
bus étant couplés avec ledit premier registre; et un re-
1i gistre à décalage couplé de manière à recevoir des données de ladite source, ce registre à décalage produisant un
signal numérique mis en série pour commander ledit multi-
plexeur. 28) Montage suivant la revendication 27, caractérisé en ce qu'il comprend une mémoire de caractères pour stocker des données représentatives de caractères alphanumériques, cette mémoire étant couplée de manière à recevoir une adres
se de ladite source de données et la sortie de ladite mé-
moire étant couplée avec ledit registre à décalage.
29) Montage suivant la revendication 28, caractérisé
en ce que, lorsque le premier registre précité est désac-
tivé, l'un des deux bus précédemment mentionnés est ver-
rouillé de manière à produire exclusivement des "uns"
binaires, tandis que l'autre de ces bus fournit exclusi-
vement des zéros binaires.
) Montage suivant la revendication 29, caractérisé en ce que le registre à décalage précité est commandé par une pluralité de signaux d'horloge tous synchronisés avec
la fréquence f.
4 > jo 2487095
SARA RWTS1 DISQUE LECTURE/ECRITURE PISTE/SECTEUR (16)
FOOO: 13 TEMPORISATION CRITIQUE IMPOSE NE PAS DEPASSER
LIMITES DE PAGE
CONSIDÉRATIONS POUR CODE ET DONNEES
----CODE --
VIRTUELLEMENT TOUT LE SOUS-PROGRAMME "ECRITURE"
NE DOIT PAS DÉPASSER LES LIMITES DE PAGE
BRANCHEMENTS CRITIQUES DANS SOUS-PROGRAMMES
"ÉCRITURE", "LECTURE", ET "LECTURE ADRESSE" QUI
NE DOIVENT. PAS DÉPASSER LES LIMITES DE PAGE SONT
NOTÉS EN COMMENTAIRES.
32 EGALISE
PAGE ZERO A % 300
48 UTILISÉ AUSSI POUR ADRESSE EN TETE CKSUM
68 ---- LECTURE ADRESSE
71 -COMPTAGE "DOIT TROUVER"
72 NIBLS "BIT IMPAIR"
73 MULTIPLET SOMME CONTROLE
74 QUATRE MULTIPLETS
SOMME CONTROLE, SECTEUR, PISTE ET VOLUME
79. ---- ECRITURE ----
81 UTILISE TOUS NBUFS ET 32-MULTIPLETS TABLE DE
DONNEES "NIBL"
89 ---- LECTURE.
-91 UTILISE TOUS NBUFS
UTILISE 54 DERNIERS MULTIPLETS D'UNE PAGE DE CODE
POUR MULTIPLETS SIGNIFICATIFS DE TABLE DNIBL
101 ---- RECHERCHE ---
104 COMPTAGE DEMI-PISTES DEPLACEES
"ATTENTE MS"
113 INSTANT MISE EN MARCHE MOTEUR
114 COMPTEURS
119 AFFECTATIONS ADRESSES ORGANES
123 PHASE PAS A PAS ABSENTE
124 PHASE PAS A PAS PRÉSENTE
atZ, 2487095
Q7L, Q6L = LECTURE
Q7L, Q6H = DÉTECTION WPORT
Q7H, Q6L = ECRITURE
Q7H, Q6H = MÉMOIRE ECRITURE
ÉGALISE POUR RWTS ET BLOC
PLACE ADRESSE INFORMATION ICI
LECTURE/ECR1.TURE PISTE ET SECTEUR
COMPTAGE TENTATIVES RELANCE
RECOIT INTERVALLE # POUR CETTE OPERATION
UN SEUL RE-ÉTALONNAGE PAR APPEL
DETERMINE ÉTAT INTERRUPTION
RECOIT MARQUEUR INTERRUPTION DANS BIT 7
PRÉSERVE ENVIRONNEMENT
MAINTENANT CONTROLE SI LE MOTEUR MARCHE, ENSUITE
LE DEMARRE
PLACE MARQUEUR ZERO SI MOTEUR ARRETE
PRESERVE RESULTAT ESSAI
DEPLACE INDICATEUR VERS TAMPON DANS PAGE Z
DETERMINE UNITÉ UN OU DEUX -
MEME UNITE UTILISÉE PRECÉDEMMENT?
PRÉSERVE POUR INSTANT SUIVANT
CONSERVE RESULTAT COMPARAISON
RECOIT NUMÉRO UNITÉ DANS RETENUE
MISE EN MARCHE UNITÉ
BRANCHEMENT SI UNITÉ UN SELECTIONNEE
SÉLECTIONNE UNITE DEUX
ASSURE FONCTIONNEMENT UN MEGAHERTZ
EST-CE LA MEME UNITE? -
DOIT INDIQUER ARRET UNITE EN PLACANT MARQUEUR
ZERO
RETARD 150 MS AVANT PAS A PAS
(AU RETOUR A = 0)
MAINTENANT MARQUEUR ZERO EN PLACE
RECOIT PISTE DESTINATION
X CORRECT A L'ETAT INITIAL
126. 178-
205 ET PASSAGE
206 MAINTENANT SUR LA PISTE VOULUE
MOTEUR PRET POUR DÉMARRER AVEC ?
208 MOTEUR EN MARCHE ?
209 SI OUI, PAS DE RETARD, PASSAGE IMMÉDIAT
211 MOTEUR ARRETE, ATTENTE POUR QU'IL ACCELERE
213 ATTENDRE EXACTEMENT 100 US POUR CHAQUE COMPTAGE
216 COMPTAGE JUSQU'A 0000
223 MOTEUR DOIT AVOIR ATTEINT VITESSE
S'IL EST ENCORE ARRETE, L'ENTRAINEMENT EST ABSENT
228 ENTRAINEMENT PRESENT?
229 OUI CONTINUE
230 NON RECOIT INDICATION NON ENTRAINEMENT
233 MAINTENANTCONTROLE SI CE N'EST PAS LE FORMAT,
COMMANDE DE DISQUE, POSITIONNEMENT SECTEUR CORRECT
POUR CETTE OPERATION
236 RECOIT CODE DE COMMANDE
237 SI COMMANDE NULLE, PASSAGE AU REPOS
238 COMMANDE DANS PLAGE?
239 NON, NE RIEN FAIRE
240 PLACE RETENUE = 1 POUR LECTURE, ZERO POUR ECRITURE
243 PASSAGE A GRANDE VITESSE
246 SEULEMENT 127 RELANCE DE TOUTE SORTE
248 RECOIT NUMERO INTERVALLE DANS REGISTRE X
249 LECTURE ZONE D'ADRESSE SUIVANTE
250 SI LECTURE CORRECTE, BIEN
251 AUTORISATION D'INTERRUPTION?
252 NON, PAS D'AUTORISATION
253 AUTORISE A NOUVEAU APRES FAUTE LECTURE/LECTURE ADRESSE/
ÉCRITURE
254 AUTRE FAUTE
255 BIEN, AVANCE A CE MOMENT
257 PRESERVE PISTE ACTUELLEMENT VOULUE
258 UN SEUL RÉ-ÉTALONNAGE
259 TENTATIVE D'UN SECOND.RÉ-ÉTALONNAGE, ERREUR
Ait% 2487095
ETALONNAGE TOTAL A NOUVEAU
ASSURE ETRE SUR PISTE 80
PASSAGE SUR PISTE 00
PASSAGE SUR PISTE CORRECTE CETTE FOIS
* EN BOUCLE, ESSAI A NOUVEAU SUR CETTE PISTE
MAINTENANT, LECTURE CORRECTE D'UNE ZONE D'ADRESSE
ASSURE QUE C'EST LA PISTE, LE SECTEUR ET LE VOLUME
DÉSIRÉS
SUR LA BONNE PISTE?
SI OUI, BIEN
RÉ-ÉTALONNAGE A PARTIR DE CETTE PISTE
PRÉSERVE PISTE DESTINATION
AVANCE ET RÉ-ÉTALONNAGE
UNITÉ SUR BONNE PISTE, CONTROLE DESADAPTATION
VOLUME
RECOIT VOLUME REEL ICI
INDIQUE DP SYS QUE VOLUME ETAIT LA
CONTROLE SI C'EST LE BON SECTEUR
SINON PASSAGE A CELUI VOULU
NON, ESSAI UN AUTRE SECTEUR
LECTURE OU ECRITURE?
RETENUE INDIQUEE
RETENUE MISE EN PLACE POUR OPERATION LECTURE
EFFACER POUR ECRITURE
RETENUE EN PLACE SUR RETOUR SI MAUVAISE LECTURE
PASSAGE A MODE 2 MEGAHERTZ
CONVERSION PARTIELLE
ERREUR SANS CONTROLE
MEMORISATION NUMERO INTERVALLE DANS X
PAS D'ERREUR
SAUTE MULTIPLET SUIVANT AVEC BIT CODE OPERATION
SUPPRIME CURTRK
MAUVAISE UNITÉ
INDIQUE UNE ERREUR
INDIQUE ERREUR #
-292 3o4 306- 4i ?,<2487095
309 ARRETE
310 INTERRUPTION AUTORISEE?
311 BRANCHEMENT SI NON
313 MÉMORISE ENVIRONNEMENT INITIAL
314 ECRITURE NYBLES MAINTENANT
317 SI NON ERREURS
318 DISQUE PROTÉGE ECRITURE
319 PRISE SI VRAIE ERREUR PROTECTION ECRITURE
320 SINON, SUPPOSE UNE INTERRUPTION MANQUEE
322 C'EST LE SOUS-PROGRAMME "RECHERCHE"
323 RECHERCHE DISQUE "N" DANS INTERVALLE t'X/$ X
324 SI DRIVNO NEGATIF, SUR UNITE ZERO
325 SI DRIVNO POSITIF, SUR UNITÉ UN
327 SUPPOSE PAS A PAS DEUX PHASES
328 PRESERVE PISTE DESTINATION ('2)
329 COUPE TOUTES PHASES POUR ETRE S R
330 RECOIT INDEX PISTE PRÉCÉDENTE POUR UNITE
ACTUELLE
332 C'EST LA QUE JE SUIS
333 ET C'EST LA QUE JE VAIS
335 PASSE LAÀ
336 COUPE TOUTES PHASES AVANT RETOUR
337 (EMET PHASE EN ACCORD)
338 RETENUE EFFACEE, PHASES DOIVENT ETRE COUPÉES
341 DIVISION
342 TOUT ARRETÉ
345 CE SOUS-PROGRAMME ÉTABLIT LA PISTE EN FONCTION
DE L' INTERFALLE
346 POSITIONNEMENT
348 RECOIT INDEX. POUR NUMÉRO UNITÉ
353 SOUS-PROGRAMME POUR INDIQUER SI MOTEUR EST ARRETÉ
355 SI MOTEUR ARRETE, REGISTRE A DÉCALAGE MONITEUR
NON CHANGÉ
358 RETOUR Y = O ET INDICATEUR ZERO EN PLACE S'IL
EST ARRETE
Actt 2487095
361 INITIALISATION COMPTEUR BOUCLE
362 LECTURE REGISTRE A DÉCALAGE
363 RETARD
365 DAVANTAGE DE RETARD
366 REGISTRE A DECALAGE CHANGE?
367 OUI, MOTEUR EN MOUVEMENT
368 NON, DÉCREMENT COMPTEUR RELANCE
369 ET. ESSAI 256 FOIS
370 ENSUITE RETOUR
372 PRÉSERVE ACC
373 RECOIT INTERVALLE (à $ 10)/8
377 -POUR UNITE ZERO OU UN
378 DANS X POUR INDEX DE TABLE
379 MÉMORISE ACC
383 NOTE SOUS-PROGRAMMES MISE EN FORMAT NON INCLUS
POUR SOS-
390 SOUS-PROGRAMME LECTURE (FORMAT SEIZE SECTEURS)
395 LIT MULTIPLETS CODES DANS NBUF 1 ET NBUF 2
398 LIT D'ABORD NBUF2 DE HAUT EN BAS
400 LIT ENSUITE NBUF1 DE BAS EN HAUT
403.---- SUR ENTREE.
405- REGISTRE X: INSTANTS NUMEROS INTERVALLES $ 10
408 MODE LECTURE (Q6L, Q7L)
410 ---- SUR SORTIE ----
412 RETENUE EN PLACE SI ERREUR
414 --SI PAS D'ERREUR:
415 REGISTRE A CONSERVE $ AA
416 REGISTRE X INCHANGE
417 REGISTRE Y CONSERVE $ 00
418 EFFACE RETENUE
419 ---- ATTENTION
421 OBSERVE "PAS DE DEPASSEMENT DE PAGE"
423 ALERTE SUR CERTAINS BRANCHEMENTS
426 ---- SUPPOSE ----
428 DURÉE DE CYCLE UN MICROSECONDE
SIIN 2HIN2 GUVSU 12il (NON IS IMMUSa) 0988 aI:a UaINaUd JNgaNSSI'l. aovnbUvN 6LI7 iaVd 'I v Uassvaaa sV aSN 89Li sIa'IdaL'IfIRn aNa aSUIVNaaadanls aviau 9L/i aIOUJNOD aWWOS JaaId'Ifln NOIldaDa CLI7 tIaIN aovd aa NIa tLi KNVNqLNIVW 3I UIJUVD V NOIJVDO0aILNI 'NON 997 - NIa W1 aa sNv aa SNIOW ç9i (ZaI(IIaIvANI mlod asiIiLfn isaI Lnfas vaso) ci7 NOIlJIfau.lNI aNDI'I NOILVO OlIaSNI Z97 TanIN aa sa(coo siaIdai'IN Miooam 6çl7 (o = X -NVa:SNI aSINaIa) I7 - NVAIIS is:-xaciNI 9g7 -aSNI HaSGIIVANI Haoa c asI'IIn aUaI naSa v1ao) 'igi NOIJanUaa.zNI aNDII NOIJVDOUSJNI ci7 mawalosIGa sJdI/aIllaW NOIJNVSIHOWS z5i7 savla w uassvaac sva SN a I7
(.LTWGF 90-JS 'NON IS) S7I
ZsaaNNoa SoVfibHV LIM OVd V'I MMSSVd.G SVcI aM 91/7 aIflOV 'ItIN WVIEH V t17 ZngN XSGNI NOIVSITVILINI ci7 (za n xoza-ssoasoN Is) z sg LSSSNNOQ aSvMbuYK 1i711 aova vl UassVdaa sva N 0o" S'IIN aUlNa Uva;a-S C17 NON IS a'onoa LCI7 saaNNoG Nfl aSovnbaVN 9Cil7 aVd VI massvdaa svda aN CI7 laIm aunssal ú anaNsiau 0aAV aIOS asInsNa Cg UaAnoHsL Lfld aN IS anbwv zC7 H6Ao IO0.. OG,,OLiiS 0 I97Z
41A-- 2487095
483 NE PAS DEPASSER LA PAGE!
484 MARQUAGE GLISSEMENT SECOND BIT!
485 (FAIT SI L'EN EST AINSI)
486 INDIQUE "SORTIE ERREUR")
487 RETOUR DEPUIS LECTURE 16 OU LECTURE ADRESSE 16
489 PASSE A INTERRUPTION SERVICE
493 SOUS-PROGRAMME DE ZONE D'ADRESSE DE LECTURE
(FORMAT 16 SECTEUR)
499 LECTURE VOLUME, PISTE ET SECTEUR
502 ---- SUR ENTRÉE.
504 REGISTRE X: INSTANTS NUMERO INTERVALLE $ 10
506 MODE LECTURE (Q6L, Q7L)
508 ---- SUR SORTIE ----
510 MISE EN PLACE RETENUE SI ERREUR
512 SI PAS D'ERREUR:
513 - REGISTRE A MAINTIENT $AA
514 REGISTRE Y MAINTIENT $00
515 REGISTRE X INCHANGÉ
516 EFFACEMENT RETENUE -
518 CSSTV MAINTIENT SOMME CONTROLE DE LECTURE DE
SECTEUR, DE PISTE ET DE VOLUME
522 UTILISE COMPTAGE TEMPS, DERNIER, SOMME C ET
QUATRE MULTIPLETS A CSSTV
526 ---- ATTENTES ----
528 SECTEUR DIX INITIAL
529 NIBLS DENSITÉ NORMALE (QUATRE BITS), BITS IM-
PAIR, PUIS PAIR
533 ---- ATTENTION ----
535 OBSERVER "NE PAS DEPASSER LA PAGE"
537 ALERTE SUR CERTAINS BRANCHEMENTS
540 ---- SUPPOSE----
542 DUREE DE CYCLE UN MICROSECONDE
546 COMPTAGE "DOIT TROUVER"
548 ORDRE INFERIEUR DE COMPTAGE
549 (2K NIBLS A TROUVER)
SvNroN sMnADo SIJOS Z65 nMAMMS NNMSOVMMM 165
SÂNVGNOdSSMOD NONIS UftMld o6-
isVd VI uaSSVaG SVJ 3N 898 LIs aNooas &SNSÂSSI'IO 1IIN L9 ( NVxaMNIVK WG HIItVd V NOIJdfl-MSNI aNflnonfV) aCV.aU 989 LNVGNOdSMMIOD MON IS 5flMa 5 MOVc V'I USSV.g( SVd aN C lIs HaINauId &NWSNSSI'ID 'ItMIN z98 MElSI ' TflMN NON 18 a'IVNII SaIOMNOD SaOS IS o0s saSmNNOG a Sa sa'daIinx aslvnb uns aIonos 6L5 saaoNNOc sSlaidIai:n sSI:uoW. 9L5 SUIVd la SUIVadI S;ai s SNNOisf. L OVd V'I USSVd3q SVd aN i7L vhIa &I",, 'I9IN aFlmoasi CLS (USAs.aId saI) ZL GSI SNVE.. I,. SUIVdNI SLIs NDIIV - IL ova VI ussvads. sV aN OL5 UIVdNI LII9. q9IN affliogl 695 SaIOLNOO SHHOS NOIJVSIIVIJINI L9 (41'V Â3O-JlS 'NON IS) C9 zc assauaUV asovnbfvN 19 i oYv VI mssvasai SVJ SN c95 szalazIqnw a-Lvnb anfusoI Eoa XaGNI 09 (zLtv ao-Asa 'NON IS) 6 z assaaav iavnbuvw 855 iDVd VI uaSssvd4a sva aN LS 3snorV 'IaN GaVISHI gg (NoN is aîonoa) ç; z t assauav aovnbuvw CúS 3SVd VI HSSVdsa I SVd amN Z lIN aUfnialI SS fnao: 'aSSuaQV eoVflbVN oçç
S60Z9LZ
/t ú" 2487095
RWTS2 DISQUE LECTURE/ECRITURE PISTE/SECTEUR (16)
F219 4 SOUS-PROGRAMME ECRITURE (FORMAT SEIZE SECTEURS)
9 ECRIT DONNÉE DEPUIS NBUF1 ET NBUF2
12 D'ABORD NBUF2 DE HAUT EN BAS
14 ENSUITE NBUF1 DE BAS EN HAUT
17 ---- SUR ENTRÉE ----
19 REGISTRE X: INSTANTS NUMÉRO INTERVALLE $ 10
23 ---- SUR SORTIE ----
RETENUE SI ERREUR (VIOLATION PROT W)
28 SI PAS D'ERREUR:
REGISTRE A INCERTAIN
31 REGISTRE X INCHANGE
32 REGISTRE Y MAINTIENT $ 00
33 EFFACE RETENUE
35.---- SUPPOSE ----
37 DURÉE DE CYCLE 1 MICROSECONDE
ANTICIPATION ERREUR PROTECTION ECRITURE
41 INDIQUE ERREUR PROTECTION ECRITURE AU LIEU D.'INTER-.
RUPTION
43 DÉTECTE MARQUEUR PROTECTION ÉCRITURE
-44 BRANCHE SI ECRITURE NON PROTEGEE
DONNÉES SYNCHRONISATION
46 PASSE A MODE ECRITURE
48 POUR CINQ NIBLS
52 TEMPORISATION EXACTE
53 TEMPORISATION EXACTE
54 SYNCHRONISATION ÉCRITURE
56 NE PAS DÉPASSER LA PAGE
57 PREMIER MARQUAGE DE DONNEES
59 DEUXIEME MARQUAGE DONNEES
61 TROISIEME MARQUAGE DE DONNEES
63 INDEX NBUF2
-64 POUR TEMPORISATION
67 BRANCHE TOUJOURS
68 INTERROGATION LIGNE INTERRUPTION
jFû 2487095
BRANCHEMENT SI INTERRUPTION PRODUITE
POUR TEMPORISATION
MEMORISE MULTIPLET CODE
TEMPS DOIT ETRE 32 MICROSECONDES PAR MULTIPLET
(DEUX SI BRANCHEMENT NON PRIS)
* 78 ASSURE AUCUNE INTERRUPTION DE CE MULTIPLEJ
79 BRANCHE TOUJOURS
INTERROGATION LIGNE INTERRUPTION
83 BRANCHEMENT SI PAS D'INTERRUPTION
84 INTERRUPTION SERVICE
87 MEMORISE MULTIPLET CODE
89 - MOINS DE 1 MILLISECONDE DE LA FIN ?
NE CONSERVE PAS ECRITURE ET INTERROGATION
97 ECRIT LE DERNIER DES MULTIPLETS CODES
98 SANS INTERRUPTION D'INTERROGATION
NORMALEMENT POUR TEMPORISATION
103 BRANCHE TOUJOURS
104 PASSE A SOMME CONTROLE ECRITURE
MARQUAGE GLISSEMENT DE BITS
106 ECRITURE
107 MARQUAGE GLISSEMENT DE BITS
- 113 r
-ÉCRITURE
MARQUAGE GLISSEMENT DE BITS
ÉCRITURE
MULTIPLET D'ARRET
ÉCRITURE
SORTIE DE MODE D'ECRITURE
PASSAGE A MODE LECTURE
RETOUR DEPUIS ÉCRITURE
TRAITE INTERRUPTION COMME ERREUR
MISE EN PLACE MARQUEUR V POUR INDIQUER INTERRUPTION
PRELEVEMENT DANS MODE ECRITURE
PEU NE PAS TRE RECU ICI SANS CLI OK
SOUS-PROGRAMME D'ECRITURE NIBL 7 BITS
REGISTRE A OU D AVANT SORTIE
A)1
RETENUE EFFACEE
NEUF CYCLES, PUIS ECRITURE
SEPT CYCLES, PUIS ECRITURE
SOUS-PROGRAMME ECRITURE NIBL
SOUS-PROGRAMME DE PRE-AJUSTAGE (FORMAT SEIZE
SECTEURS) -
CONVERSION DE 256 MULTIPLETS DE DONNEES D'UTILISA-
TEUR (TAMPON) EN MULTIPLETS CODES A ECRIRE DIRECTE-
MENT SUR DISQUE
149 SOMME DE CONTROLE CODEE DANS PAGE ZERO "CKSUM"
---- SUR ENTRÉE ----
BUF EST INDICATEUR MULTIPLETS DEUX VERS
PLETS DE DONNEES D'UTILISATEUR
---- SUR SORTIE ----
REGISTRE A SOMME DE CONTROLE
REGISTRE X INCERTAIN
REGISTRE Y MAINTIEN ZERO
MISE EN PLACE RETENUE
DEMARRAGE INDEX NBUF2
DEMARRAGE INDEX TAMPON UTILISATEUR
-MULTIPLET UTILISATEUR SUIVANT
DECALAGE DEUX BITS
MULTIPLETS D'UTILISATEUR EN COURS
DANS MULTIPLETS NBUF2 EN COURS
(SIX BITS A GAUCHE)
*DE ZERO A g 55
BR SINON BOUCLAGE
INDEX NBUF2 A ZERO
INDEX TAMPON UTILISATEUR
(FAIT SI ZERO)
(ACC = ZERO POUR SOMME DE CONTROL(COMBINE AVEC PRECEDENTS)
BITS DE TRONCAGE DE BANDE
POUR FORMER SOMME DE CONTROLE EN COURS
256 MULTI-
-167 /tJjt, 2487095
RECOIT EQUIVALENT CODE
186 REMPLACE PRECEDENT
187 MÉMORISE A NOUVEAU PRECEDENT REEL
189 BOUCLE JUSQU'A CE QUE TOUS NBUF2 CONVERTIS
191 MAINTENANT MEME CHOSE POUR
192 TAMPON AJUSTAGE 1
193 POUR PISTAGE EN RETOUR (NBUF1-1)
RECUPERE CE QUI EST MAINTENANT "PRECEDENT"
198 UTILISATION DERNIER COMLME SOMME DE CONTROLE
201 TOUT EST FAIT
205 SOUS-PROGRAMME DE POST- AJUSTAGE
FORMAT SEIZE SECTEURS
210 D'ABORD CONVERSION EN SIX BITS
211 INITIALISATION SOMME DE CONTROLE
212 RECOIT MULTIPLET CODE
214 REMPLACE PAR EQUIVALENT A SIX BITS
216 BOUCLE JUSQU'A EXECUTION AVEC TAMPON 2
217 MAINTENANT Y = O
218 MEME CHOSE MAINTENANT
220 TAMPON NIBBLE1
221 TOUS LES 256 MULTIPLETS
223 ASSURE CORRESPONDANCE SOMME CONTROLE
224 LE MIEUX EST ZERO
225 PREVISION ERREUR
226 BRANCHEMENT SI OUI
227 INITIALISATION INDEX NBUF2
228 INDEX NBUF $55 A $ 0
229 BOUCLAGE SI NEGATIF
231 DECALAGE DEUX BITS A PARTIR DE
232 NIBL NBUF2 EN COURS
223 DANS NBUF1 EN COURS
235 -MULTIPLET DE DONNEES D'UTILISATEUR
236- MULTIPLET D'UTILISATEUR SUIVANT
238 BONNE DONNEE
241 PASSAGE SUR FREQUENCE D'HORLOGE 1 MEGAHERTZ
243 (SEV UTILISE POUR POSITIONNER MARQUEUR V)
247 TABLE DE CONVERSION NIBL SIX BITS EN SEPT BITS
252 CODESAVEC PLUS D'UNE PAIRE DE ZERO VOISINS OU
SANS UN VOISIN (SAUF B7) SONT EXCLUS
284 TABLE "DES CONVERSIONS" SEPT BITS EN SIX BITS
(FORMAT SEIZE SECTEURS)
288 CODES VALIDES % 96 A $ FF SEULEMENT
292 CODES AVEC PLUS D'UNE PAIRE DE ZERO VOISINS OU
SANS UN VOISIN (SAUF BIT 7) SONT EXCLUS
298 UN MULTIPLET LAISSÉ -
339 SOUS-PROGRAMME DE RECHERCHE RAPIDE
343. ---- SUR ENTRÉE --E
245 REGISTRE X CONSERVE INSTANTS NUMEROS D'INTER-
VALLE $ 10
348 REGISTRE A CONSERVE DEMI-PISTE DESIREE (SIMPLE
- PHASE) -
252 CUR TRK CONSERVE DEMI-BIT EN COURS
355 ---- SUR SORTIE.
357 REGISTRE A INCERTAIN
358 REGISTRE Y INCERTAIN
359 REGISTRE X NON PERTURBE
361 CURTRK ET TRKN CONSERVENT DEMI-PISTE FINALE
364 CONSERVE DEMI-PISTE PRÉCÉDENTE SI RECHERCHE A
ETE NECESSAIRE
368 MONTIMEL ET MONTIMEH SONT INCREMENTES DU NOMBRE
-DE QUANTA DE 100 MICROSECONDES IMPOSE PAR LA
RECHERCHE POUR LE DEPASSEMENT A LA MISE EN MAR-
CHE DU ?IOTEUR
376 ---- VARIABLES UTILISEES ----
383 PRESERVE PISTE VISEE
384 SUR PISTE VOULUE ?
385 OUI, EXCITATION PHASE ET RETOUR
387 COMPTAGE DEMI-PISTE
388 PRESERVE CURTRK POUR
389 ARRET RETARDE
391 PISTES DELTA
392 PR SI CURTRK = DESTINATION
393 (SORTIE, NON ENTREE)
394 CALCUL TRKS POUR AVANCE
395 INCREMENT PISTE EN COURS (ENTRÉE)
396 (TOUJOURS PRIS)
397 CALCUL TRKS POUR PASSAGE
398 DECREMENT PISTE EN COURS (SORTIE)
400 ET "TRKS DÉPLACE"
403 SI TRKCNT > $ 8, QUITTE Y SEUL (Y = $8)
404 PLACE INDEX ACCELERATION DANS Y
407 POUR "INSTANT DE MARCHE"
408 (INTERVALLES 100 MICROSECONDES)
410 POUR COUPURE DE PHASE
411 COUPURE AVANT PHASE
412 ENSUITE ATTENDRE "INSTANT D'ARR T"
413 (INTERVALLES 100 MICROSECONDES)
414 COMPTAGE "PISTES" DEPLACÉES
415 (TOUJOURS PRIS)
416 STABILISATION 25 MSEC
417 PASSAGE SUR ARRET DE PHASE
418 RECOIT PISTE EN COURS
419 MASQUE POUR UNE PARMI QUATRE PHASES
420 DOUBLE POUR INDEX PHASE MARCHE/ARRET
423 MARCHE/ARRET UNE PHASE
424 MEMORISATION REGISTRE X
425 ET RETOUR
429 SOUS-PROGRAMME ATTENTE MS
433 RETARDS D'UN NOMBRE SPECIFIE D'INTERVALLES DE
MICROSECONDES POUR TEMPORISATION MOTEUR
438 ---- SUR ENTRÉE ----
440 REGISTRE A: CONSERVE NOMBRE D'INTERVALLES DE
MICROSECONDES DE RETARD
445 ---- SUR SORTIE ----
447 REGISTRE A: CONSERVE $00
448 REGISTRE X: CONSERVE $00
SaOgio9XS HIVd sassv1O saqogwxss ssa aIavi SUflafIUa,( SVd ';D0a-HO0 OEDVISaWSSV aONVHO IH IgIdId nN
I-NNOE JIVJ3 ÂSqflsH1.
II-LSa aunS aSlaaab 'EINYNSLNIVN SOIqDN a ' NON LSaIVWOD sa( UgIAl SI INSNSCFIS9 IS SUCINCOE1 SVG V 9SSVd ALfV4I ú10 Nn1J aúlb SANJSIV HfMALVSIU0JAL aHDV'Sv'a -V'id Na Sula I0O àaNslaH
SaNNomua LNOS X l Do 00V-
isa dNou0smANI SkrVHoudM-SnoS '4DvId Nma af1NIaa IS -aOviMa au 1aMM MilsaimaNI LSaIdllNfl urlqLVSIOdwaL = k nSl3IusdlS &ladIL'1fli gIsnVSI0OaHaL = DOV: aIl&OS NOILVDIJIMDIS SNVS = 'a X IfVH Na SVE SOVdWO0 = DOV INIOd SaC agSaNq aCINvWOD daAIa'1 aniLoa'i astivaoOud-snos (aHOauHaOU) SSGNQ0DSOUD{IN 001 SU'rtIVAUxaJNI SNVU STE{IaV asVHd aUn aS axg-aSnUHaAno aauna (v aWLSIoau aViLdwaoo) SgsanLaaaSS SaTIVAUaINI..N., aQadIqnh-a'InOa zNa4aHDNI SacmooasouoIw 998 aVa' aCINooasoUDIm Nfl aIoxo asa aaGna sSOddfS.. NOILVSIgOdwal Hns JNSNNAlnUtlnOd SSNOOSSOUDIW 00I sa SaIVAMMSNI WVd SIOJ aNf SJN'MNMOSUNI INOS HÂiIINON 'ISNITNO0 anNa.a aoVId NM asIw
afNVHO NI: X a7 Szoa-
S60Z8qZ SSII 6i7 6i7 9 i7 i 9 5 zg q t85 L1 -917 oL'l 69i7 99i j C98 ozç gzS zS IZ5 821 LL-a 9LI7 L i7 Z i, o t1 69 t7 619 - a1.o suis II-flagd IlaidiflW si LCI (MIs la OUZZ S3-Vcl HSMAS) VI INOS S3TIIISVJ ST IS SlIOA V.nibsafl SUIO SacI SOVd aSfbVHo sva aadI'l UINSa Ma IVSSa CCI asva v asovuvwac zc vvs flnvaNNva SaI fls svo SNDII aNfl 'IV-a JIdIj&IfiN albVHo 6Zi KVHI SO SNOIlISO0 SSIV1VW sai 89ZI -IaaV UflOd SSI'IIjfl s&alaITlntI sSa ouaz v aSIN LZI ouaz v &oaadva Hvd SLidIlJiffl EaINUaG IVSSa aIvi aIOS aSIId VI anb ao v.nbsnlr SanNINoo IZt &NVAIflS UtISadWo0 laidInlif LIOOS OZl MONV(INOdSH0SOD NONIS IJMEV 'JNvifI0M Na UflMSd0OD aI OSAV MMVdWOD S2I la MZIflSNS SHI& IT SNIS'Id JNMIOS sisidI'ifW Sal S0oj, aflb a Vaflbsflr *'iId VI 9fls -IN3aIgaIffIi IISdIL'Ifl NMl aSSLfOI I 111 aliTV JIOS Sov.a nb s v. ribsfi SaNION00 901 OHsZ lIOS &aidIlIfln anb a v. fibsar iaIdLifln MG lNwAICS lIa Ivssa 90goI SNNOS Svd IS s0Vd VI uaiHuv ot laIdNOo IVSSa fnO0d i0O ouaZ sOVd Vq sKva lIq anfbVHO Col Nfl V MN'flOJ,,Ot 0oaZ aDVd MSItIHSA 001 Sra 11GE SvUfo'rcI Zg 011Z MDVd SOVSSVd,, 08 ouz 0 V SLqaiVfiNwoo oVSSVd LL Z&%USHV-DS XfmÂCI SSSZIA MOVSSVd 'NVUDO,SiV I SL DISONTOVII ALFGO SSa INVAInS JFgO,OE MaIHOIa aC NON OU INeMINII IS I 'lrlI NOISUSA I1fOd CI VUVS 0ILSONOVIOi 9a SIVSSI(. SNWXHVff08l snos i /:0000 DIiSOOVIG qIa SSNN'vHuHod-SfiOS VHVS SDILSONoVIa
S6 0Z SZ
NON, TROUVER LEQUEL IL EST
MISE EN PLACE CORRS. MULTIPLETS SUR FF
RETABLIT REGISTRE X ET INCREMENTE JUSQU'A PAGE
SUIVANTE JUSQU'A CE QUE I/O SOIT ATTEINT
ENSUITE RETOUR SUR PAGE 20 ET PASSE A GROUPE
SUIVANT POUR CONTINUER (ENTRÉES DE MASQUES
DEPUIS COMMUTATEURS POUR VOIR SI COMMUTATEUR
EST POSITIONNÉ)
CONTINUE JUSQU'A GROUPE "3"
APPEL SOUS-PROGRAMME MIS EN MARCHE ECRAN
MISE EN MARCHE I/0 A NOUVEAU
EN TETE DE "DIAGNOSTIC" AVEC CE SOUS-PROGRAMME
IMPRESSION "RAM"
MISE EN PLACE CURSEUR SUR DEUXIEME LIGNE
CURSEUR ESPACE SORTIE 3
(X ENCORE = O SUR RETOUR)
LE MEME SOUS-PROGRAMME POUR MULTIPLETS 7-0
SORTIE CHAQUE BIT COMME UN "." OU '"1" POUR IN-
DIQUER PASTILLES RAM MAUVAISES OU MANQUANTES.
SOUS-PROGRAMME "RAM"
MISE EN PLACE CES MULTIPLETS
CHARGE UN "." SUR ACC
CHARGE UN "1" SUR ACC ET L'IMPRIME
MÉMORISATION MULTIPLET ET ROTATION TOUTES LES
HUIT FOIS
PASSAGE A FIN DE LIGNE
PASTILLE EST PRESENTE, MAUVAIS ZERO ET-PILE
IMPRESSION MESSAGE "ZP" ET POSITIONNEMENT MAR6
MARQUEUR (MODE 2. MEGAHERTZ)
MISE EN PLACE INDICATEUR SUR $ F00O
MISE EN PLACE X SUR $ FF
POUR FENETRE I/0
CALCUL SOMME CONTROLE SUR CHAQUE MULTIPLET ROM
SORTIE DE FENETRE
218'. â. ulnsuuz.a msanb NiflMUM (I HflaRf1b -h"v'N M3DVId Na SM a3.,a/Y,. Sovssaw NOISSsauMI fV6z NON C6z z zúC7 ov 16Z D0V RflS sV-MdO0 90V'Idsa3 ' NON 06z aÂNILNOO ' mlo 69z Li = L mz Is 88z (MnaHua = SSz) L8z NOSNOSaOD Hflnoa SDV;dWOD 9sz a/v adaxv asov'q Na- siW 9sz saUNO0SSOURII Ot- aNmjZZV C9z ama unanalbuVK ovV'IJ NM MSI alIflSNS za..vIoVI.. ODVSSa 'NON zLz INVAIflS IVSSS 'IflO ILZ OT = soeu oLz au la 'IOUMNO0 a([ S f1Va G SOa SlV.sL SNNOIJI(IGV ja LVi.JG UISITDaH aG aau.Nqa. 3 G.IE albSVW 99Z NOIJIGGV UflOd aSOVI Na aSIM Sg9 -anasa. a maanbuvu DV'Id NS MSIK la..VIA, MOVSSaN NOISSHIdMI 'NON 09Z NVAIfiS IvSSS 'IfO 6 Z ia IVDS 85Z SOdaS SG NOIIMGNO V'I SAV JNSGIMOdSSU -MOD S'IIS RIOA flOd OS' JS (aaINSaa aO afnbsV) zSz SVIA Y I SOEUSISDS '*SSSH NOIlIG(V 6iZ NOITVSIUOdNSJ NOIJIS0Od SNVG S.SIROKSW SLS'IdI'Ifln V SNNOIJIOIGGV AS S.MLNÂ1G SMIE MabSVw 9 Z NOIAVSIMOdaWl &OILISOd SNVG SSMIdIqIflN SSI{ON.W S. akULNSa.G Ilg SflbSVI fCiZ SsaIdIjiflW RmflOrV HflOd asOV'Id Nma SSI t1iZ IVSSa1, SUvUDOuad-SflOS wVd 6Cz Unafla aDVqd Na SSIw la,NOU., NOISSU<dIWI 9Cz NVAIfiS IVSSa 'IflO gf Oaz uflo0 * DO0V IVSSS t1z agMM- OojM SzOVlId LEz S60z8Oz SasuNa lflVIOSG SOE suaauss.a SVd:1sm0Oo aMOV'igSSV iMflv SNKVUDOU0-SflOS ccú uMNwva SkV)o90a- s0os CoS ONIJ.ct gWnYTO0ad-SflOS 6LI &MS MVII V N TVDOUd-SflOS 6 il oGeiov.a aDVSSON NOISSSUdWI tI17 aSNHDoIldsfMos unqHua z! 7 : IflH WfOd NOILVSI'IIfl V NOIJICIJV 911 NOISHtAMNOD LTi7
SN9I'I CI NIJ V YOVSSVY ZEI
NOISSSudWI Ja ÂaIVkirON SOVWI LO-
SNKVUeOUd-SfIOS SNIVHDO SIMMUDltO C0 VYVS IVSSa sSwN.IVDOoa-sflOs oo007 J; 'Vcs(I V I1O0Lau LPC fCC " 6o&v'iau.. oCú ISSfl.V MOO V -I V, OSC issaiv aNo-rvz;-.u vq1 çzc 09 saSId. mod tizC 0oooV e V NV SNVG TZC Oua0Z 00Ig ÂunJoai 91C anflOMa SIVWVr la LIC
HI:IAVIO MOVMM I
ausalqflo au sO dVf alAOtaais 'mOu O út I aÂIdIV., IVSSa z IC :HÂaOV-VO la HflMAINOW SSIIVIIINI IIC NV9OM 2HOUVW Na SSIM 60C &MHVY
JNSWNHONVUEI ' NON ( Z/SHVDSW
Z iaow) a 9 QMHMMs z Z0M) iD3Vid Ma HmHua unanfbVw INSN2HONVHG 'NON (INSSSUrd INrVMOD UGOa)
49HODIàNO UIAVIO
s60Z8Z coc zoC ooc 66z anbsIa aa Dooa mmnioaq = m Lzi aUIONS LNSKaaoVIada = 1 9ZI 3wt4Veouad (SuIÈa.Noo) Lnvs = r SZI aSI"Huoua-snos (isaav) assva = 9 zi aDvxvTva Jvis s oa niv ssiI OZI DOV V aGfO aSSVd 811i :unoAsa J' i. l NOImONOi no asssuaV aSSflOa 1.11 C'1v ans SIdO0 'OusZ IS 901 zsaivoaci sno0 col ZV SNVCI MH SSaJIHo aDV'IVD oo001 XaH M-V {oflO IVSSS Z6 6-1 IS amasacia I6 SaUIIHO aa IVSSa o6 SIO0 aNIVHDOOEc MOd *0 XSaNI s.Aora 8g ZV qtOVl. i78 - VAvAIfiS SCrvoIVO0 anfotaa Z8 ÀLNVAIflS MI91VOICNI &IOOMM 18 0 IAOO III4% 0g N0JJONOd.lI5dfl 08 HOtHIO V SnflNILNOD NON 6L zAnouj sL $1EVSSIVNmOogu NON IS mOaNVEV LL SaCINVwo00 aISS-XIa L Safis mO a N S EL2N z if NIGNI sSIuONsl 17L XSH JSaIdanSIIf a1i'i aa SArLLViNal CL usI'InOSt soVXVIVEa OVcI ma NÂ Z; asNpis.c1 ZNOI'I sNl IOo3s IL VWvS HlasINOt fnoa (aqJdv) ivNois 69 aIVILINI NOIlISOd V aqIa I'aTV&auL L9 X3{ a:ow auJ LIoa g9 (aC-oVC$) SJSIdIJfnl 0o NSNsaIflns VHVS UnflINO0
V6 NON
fO'.ON YOSI Sa NVAInS &f'sO a UaIHOIaI eP NON--------
V[cI OGIqqSd DO'IEI HfllNON s6OL9z B.IIosy izz AIVi ' NON cZZ SZONVHO sSGoN zzz flfNILNOD 'NON OZZ &.. IIOSV 6 iZ SIOd SNIVHDOUd WiflOd qOúM 'LIZ tmIONqw V IIOSV sssva giZ Un3:IUScIns JIG YSM aAUSSMc vilZ Oa n1VsAnON Moa IVSSa 90Z 08 llOa IVSSa daIDIONV 661 sInoúno& MHONVMI L6î s$NIOca XCia $ NOISSHVdWI 961 a.-.-v.. an&oaaa 161 6 < aa--sa 69i anfbI'lamN cGm 1 98a1 u alIaadfnS aiaq IN aNIIlqa Lot moissadHI Hnoa mnaiHasns aigsIN aqvoa z81 inaizaaNi aWssIN axasaU a 081 !noLaU uns anNamlu aovaaa sHoV 9LI zv v ivDa no unalIauNI iv IS SLI zV V auflaImaàNI IV IVSSa 991 LNSNMMAflOODH aG SVO NU 991 IV aoara C91 sIa 91 SMflJAVOIGNI aoarga o091 LOMIVHo figa ufiOsm = No 6úi sounOS/NOIJVNILSc HfialVIVdSS = 9C81 SCINVNoo a'a unasiVvas = / LCI a0V1d Sa uMnfiLVvdS =a 9C1 NOILVSIMONa aGo aoDVad Na aSIN =: tc1 (.". naifHalUlS.ISI) IIOSV = ' (,. I,, E2naUans LIa) zzosv,, úú1 (saaqidallnw naJvuVaas) avdsa = ds zc1 SciNNvo0 sci SNDIÂ NOILIsLdau = x ici anbsIca uns ooaf aSnMIHoa = a oCt SJUION H SO0O SIg ISA = A 6ZI flsilVSI'Iilf MOILONOI = fl ZI
S60ZL8Z
TV aIlHOS sa assauav sDVdS3 Nfl DaAV 3ONSWOD aovdsa Na IL ilaidL'If ifi aWI7{JWI L sasmmoa sali ls dflsVtVJaS mof0 SLNI0Od Xi xna a a ILOS liv sai asssauc SKIUaxIN LIVf LSS VaDO IS SIJIHSA 17v JÂa IV mosLaN aNDI' 'MYIAflON V aSSVJ SJSdI'IflN XfQMa SMa NOISSaMUNI LNVAIIS V 'IflO & NVQNOJ SMMlO O qJININO JV JLV'IA'IfW ISVdS4OO MIIaVA iDVl IVSSa ZNMNMAflON OMAV LIV JSM AQOA
?V M IV M1O1MúM
aLIdIJ'flWN Nfl4G INaPSDV'ICS(I VqVOMTII MS.MMNS IS UgOV'IÂS NaIH SN aI8 zNaNaovsaa SHHOUOZ aa afqONVK V.flbSflar alaud s7{flOirnO.L naIuadaS LIag anbSvw aIbSVW NON Ufl3ITIdfS II aSOVqI NM SSIN 6MOIVYSIUONSH aC SGON Na
-V&M;LNTILNIVW
IVIS SAUASSEUd o.. mnaidsdrs aNIa'NI Ii.. HaIHsIEdas gnbIaiNI ILNVAMfS S'I sfliDSOEIOES NOIJVSIUONSW V aSSVd
INIA '4I1O
&aNDI 2 NIA saGON SDNVHO
1O0 IVSS9 'NON
i: 9LZ 8ze ú8Z gLz CLZ ZLZ ILZ oLz 69Z L9z 09? i9 z Z9Z 0o9Z og'?: Oçz L8Z 9qZ ggZ oCZ 0O7Z 6úZ CZg Lez 9cz úúZ zcz oúz 6zz LZZ SZZ Sqa'dfllaw Z15 LVd wvu zsssav glDars 185ú 0o0' sa oualnifN 1qiDara Içc SOEMNO3NSH Hilqud IS NOUNVEV oSc u1fa1.INOP14 JLNVQNac mOiLdlP!ÂsJNI. a svd 9 V AM X U1VJ 001 Sa ouMMn4N JS 9ic SSSSUIVG NIi assasav > oo0s sa ousflnm sa acmNvwoo sa.vwoq Cic Snfl&IUOi Uns aflbsIG SaNcWOo aD0V'ia 0oC saIadllmn xna1 a lnfivs nfs mIG xn:vi SI' Uflnoa anbsIa (a aa(Ifv4oo aovaa ma SSI.-_ 8sC S0IOK aOVqa m/lOa iCC SSLN.t a aatovVuO asII&rn úcc &NaHaDeVaM Sao0 SmA.. /.. Eaoa qsIL&n &SNSIsvS oúú -fSIVOICINI aSOSú LzúC SUIOaR Na SOVlqd SI 9zc -3SIOONWSI V lMlIJIflN LIOO çzC NOIJVSI.ONS JVAL NS JNSILNIVN iZC NOIAVSIUOP0R Zcow zzc alIfSNSa aOVdSMa SUMV Na IS IVSSS ozC SJa1dlIL'IflN Sa SSNVU aNfl 9-NO A'NI cNlOnV IS 61C aNDI9II aG aONÂSV IVSSq 9IC Sf0offlOL 'HONVHu 9tI 0ouz Mcow 5TC aSOVGIA no IVSSS NOIlVSIUOR4S0 aCow MSJVUVdaS 11 C NOINVMI saci uflOd Iv 1S zV IdOo O80 JOIdVHO Y0OtiMa V SIluOS SOC , Nfl iVd IAIsS SaigVSNOdSm I SIMdNI zOC MHIMMI.G Mú1NON SWIdNI IOC - f1ÂLVSIqIIf SakUVMOOUd v invs 66z akVUZti90 SIG lTfqLdRPOo IIcTaW 96z aia uniS NIm OaAV alId aONSNNOO L6z IIMOS SO NV!Y-DOg HVd NIJ z6z aDVdSg Nfl SKIIdwI i6Z IV R-Vd ?N-gSia LSaidIinN SwImdlI 69z SJNIOd XMlZ OÂAV SUVdZS 98Z
S60OL9Z
SaNNOqOD 08 nSVAON V SSOddanS 19 (SSUaANI/qVON anbIC[I L JIE) L I;I SaOSI 19
JNm3launflv o0 fms axI SIV -
NaINHDaKV- la 0o aSOdfaS LS saoqoo o017 saox v assva 5 SagUISga SaNNOQOD Ot aabIaNI 95 suno.oflQJ aHONVEI Z saNNo0oo 09 aaoW v aDsYSSVd 15 SauISsa c saNNOoo o08 anbIaNI 0Q aLIEs VI MIyadNI 'LOanza- a NON i7 2KorI aa.NI IVSSa gi zv l;a Iv asaoars 1 dHIa;lOS a'1 Os7 -oVdSa N. aHIAdHI NONIS 6C SMIOLN0O NONM UtIUdWI flOd M0 8C a'IOH&MO0 SaMlOVU.V0 IVSSs LC aSIVI0ON SVWI OV'Id NS aSI 9gC aUIVaNÂaqdflanS aOVdSS mn SIzardI - CC amIIo sa lniaci v uinoLau 6z (ov M Swoo MUIL asisnr ov) siflnoroflO, Lz sovdSa n Ja JLNVAIfS JEadIqnw MOlISSÂaUI v assvd 9z su!norofloL aHONa - z SmN0o0o o / _ noa a _ Od ' N 1vss a NIZ ISS
- IISV O3AV NIM OZ
J.azIcLiff u1Â1NÂid J'a assuaGV ZWIddWI si saIIVA s3Vo IVSSa 9t IIOSV SOVQIA MfOd 17V SSIIIfl Z S3NNMOIOD 01 nO 09 HflOd 3OVId MN SSIN I1
*SGIA 6
SMIlOflOL SHONVuat L 0OV SNV G UflUOHW'I anflbSVI LIOOM 1 7 SSalILffIN SO t agONV{ aIlHOS I LNVAI1.S.30q V YSSVd 'NONIS LgC NIl aG IVSSa 9gC
SINON, MISE EN PLACE COULEUR FOND
68 MISE EN PLACE CURSEUR EN HAUT A GAUCHE DE FENETRE
71 MAINTENANT DESCENTE A EFFACEMENT FIN DE PAGE
73 PRESERVE POSITION ACTUELLE DU CURSEUR
78 PASSEA FIN DE PREMIERE LIGNE
81 PASSE A LIGNE SUIVANTE
RETABLIT POSITION CURSEUR
87 RECOIT ANCIEN CW A NOUVEAU DANS ACC
88 BRANCHE TOUJOURS
PASSE A FIN DE LIGNE D'ABORD
91 SI INVERSE
SI RETOUR CHARIOT, NOUVELLE LIGNE
97 D'ABORD PASSAGE A LA FIN DE CETTE LIGNE
REMISE CURSEUR ET PASSAGE A LIGNE SUIVANTE
(RETENUE EN PLACE)
99 ENSUITE PASSAGE A LIGNE SUIVANTE
102 ESSAI DE HAUT D'ECRAN
103 ANTICIPE "NON" HAUT
SI. NON LE HAUT, CONTINUE
106 BOUCLAGE VERS LE BAS
107 DECREMENT D'UNE UNITE
109 PRESERVE NOUVELLE LIGNE VERTICALE
112 RECOIT VALEURS POUR PREMIERE PAGE (Dollar 400)
113 TOUJOURS
ESSAI POUR 80 OU 40
-118 EJECTE CURSEUR HORIZONTAL
119 ESSAI POUR NOUVELLE LIGNE
121 JUSTE DANS CE CAS
123 CURSEUR AU DÉBUT DE LIGNE SUIVANTE
126 DESCENTE CURSEUR D'UNE LIGNE
127 ANTICIPE PAS LE BAS
128 ESSAI DU BAS
131 BRANCHE TOUJOURS
133 ESPACE ARRIERE ?
ESSAI POUR MODE 40 OU 80
44Lj
ESSAI DE BOUCLAGE
PRESERVE NOUVELLE POSITION CURSEUR
BRANCHE TOUJOURS
EST-CE UN CARACTERE DE CONTROLE
ESSAI D'INVERSE
NE PAS LE SORTIR
ELIMINE LE BIr SUPERIEUR
DEPLACE CURSEUR A DROITE
C'EST LE BAS, RAMÈNE CH = O ET ENROULE
MISE AU REPOS CH SEUL
CALCUL ADRESSE-DE BASE EN BAS4-L,H
POUR LIGNE DONNEE, NON
DE MEME POUR PAGE 2
PRESERVE CARACTERE
NORMALEMENT COMPTAGE 1
*SONNERIE?
NON ESSAI POUR AVANCE FORMULAIRE
AVANCE DE LIGNE?
DESCENTE CURSEUR UNE LIGNE
BRANCHEMENT SI AUCUN ENROULEMENT NECESSAIRE
DEMARRE AVEC LIGNE DU HAUT
LA PRÉSERVE POUR MAINTENANT
RECOIT CALCUL DE BASE POUR CETTE LIGNE
DEPLACE CALCUL DE BASE EN COURS COMME DESTINATION
ADRESSE DE BASE TEMPORAIRE
RECOIT LIGNE DESTINATION
CALCUL LIGNE SOURCE
EST-CE LA DERNIERE LIGNE?
OUI, EFFACE
PRESERVE COMME PROCHAINE LIGNE DE DESTINATION
RECOIT ADRESSE DE BASE POUR LIGNE SOURCE
DEPLACE SOURCE VERS DESTINATION
DIVISE PAR DEUX
EST-CE FAIT?
OUI A LIGNE SUIVANTE
DEPLACE DEUX PAGES
BRANCHE TOUJOURS
REMPLISSAGE DERNIERE LIGNE EN BLANC
DIVISE PAR DEUX
NORMALEMENT UN ESPACE
SI 80 COLONNES, EGALE^ENT UN ESPACE
ESSAI POUR FIN DE LIGNE
MULTIPLIE A NOUVEAU PAR DEUX
CONTINUE SI DAVANTAGE A FAIRE
TOUT EST FAIT
ESSAI POUR 40 OU 80
MEMORISE LE CARACTERE SIMPLE ET RETOUR
ASSURE AFFICHAGE CORRECT 40 COLONNES
EN ABANDONNANT BIT ZERO
AFFICHAGE EN PAGE $ 400
-MET EN PLACE EGALEMENT COULEUR DE FOND
PRESERVE CARACTERE
DETERMINE LA PAGE
BRANCHEMENT SI PAGE s 800
CARACTERE D'ECHO
ESPACE ARRIERE?
ANNULATION?
PAS DE BOUCLAGE PERMIS
JEU DE SORTIE
DEMARRAGE AU DEBUT DE INBUF
TA}iPON D'ENTREE DE SECOURS
RECOIT ENTREE
-ESSAI DEMARRAGE/ARRET
LECTURE KBD
EST-CE UN ESPACE?
OUI, ATTENTE JUSQU'A MANOEUVRE DE TOUCHE SUIVANTE
QUITTANCE POUR CETTE OPERATION?
NON IGNORE CETTE TOUCHE
OUI, REDEMARRAGE
ASSURE QUE PREMIER EST CURSEUR
- 273 - 288 3o4 IIosv ali lIflGOdd (OusZ 'LiaIf S aio,. aDIXa 3IIII a 3SIAflaN) saa3lovawo naer uns xaGNI aOVIda Na SSI MvODa XaCUI SNOIJISOà s OIOVSIqVISINI NYr3aS aSDVJ SaNNO'IO0 Ol SOV'Ia Na ' ovc - v aaiiaN, a Noawvja masmo au aulé nfaS filUNalma NaIE C uns sSa OHaZ agVd oo0 aVYSI Sa SLAODVvD AIoam SaNNO'IO O0 V IS AflINSIaU aNINIS SZNNOiOa 08 v Sacow nat I.IOV. S 'I4S a a0Vc V" aNIda aVi Ianlov NOIIISOd V SaIgOVVO Nfl 1IOo3a IVION IIOSV v aSSva krylon aI SDVRWO;IOOD &MIdO0 aONVAV &aoV00 9 Q aaLNDNVIO a VIIVOo EaHYIaVSlfs Ufnasif aO a ISM'd aSIDVIIVO N_ G lfaUOaI V aSSVi anoaaa. no aAn0ui v.nbsnr aIonog Saoo Sa SLIiOeNVHO MacIVNo aci IVSSa 1NZVAIfnS Sú OVVdVD f amISLI, asOvISaa as wlaslflO aflb uflo:I + aSOVId a,q qf0oa SWaA IS AifO.L0a HMIAVq M aOVNMOTIIINVHOM aavaa IMIAV'IO aalfLoai sanAoftOw a0fnoî au îVcr MAIsaMI aSAf1a0-oV1 a3MOf1OL NaVXa V SOVSSVd Sd-l{.L NIn.INVGNgd aN9IafOS 2I NOIldgOI VS V SSSVd 2HO.qO0 Sa aEAI1SONVN Sa IVSSa 3HM0 Sa NOIIISCOd V GE2OVVD MAMSSI{d XVluoa ualIOqi V aSSVd cg o6C 68C 88ú 98g tçs 58ú 99C Sgú C9C t9c C L C SSc TSú oSú 9qc 9gg gcc zúú occ 6zú tag Izc 61ú 81ú LIC 91C lf
S60Z8Z
ç;7' & SIIVI SII-LNOS SLNSSOV'ISdW SS. CZI SSaALOVIVO SSHLfV 19 nfOQ adOflYM o aL9 a ZZI SSOaVHO INVNSLNIVN SSSIDOVtVD I T fVSARON V aiNgLV 611 IVOILMMA UO119 NIVHOOad 91NSVY 911 SauslOVHV3 unS SSasIdIJMN aJ2aWS V SIVdaTd 911 IVWMON SMo0 sovc NaS SSIx 1 (sag % - 92Z7) qIAÂllVd sfanoo Zll issisoSWw ssOENva SaSAO 601 SLNVAIlS SWONVa 'NON 901 nfLOsaaa sadnou9 o s:ILvNaSIadfnS. SDVONOH, SNIWI'1 101o
:LLNSD SEA SDV'IV3SC 001
DVHI'. aMNOZ SUSA SSI$OV-dVO SIIJMOc ÂOVaD'd[C L6 aSHOIav NON SDVI.O aNOZ SSA KS DIVldadC C6 nNXSUA LA INVLSSU SUIVNIS - IIJOUa MAiss.M 16 SINVAInS VI V NON o6 &SqLIVt SSSaDNV SSi SaRLoA 68 LNVAIMS fV NON 99 -Sfosm SAIi bNIO SSqi SmOL L SNNOIOD 0OVLJWOD AIiVia. 99 (sIvoma LNaIos a sno Sanb so V.5lbSar lfN NON SIosIdIJIfWll aAOSN0OD SfNaLal) 5 SuSgLovtv a SG MVL XSGNI MIODS Cg LIV iLSs iLOL IS LNWMaHONVua Z9 (aSovad Nma SRNSLa:sON) 19 LsqdIaf go SNVa SII aa SOVLNVAVG IS SHuNVd 6L SIS Sta SSdflOU NS SaIdIfflK aUVaS LL (SUNNOSOo bNID) 9L (sss9Nv XIS c sa L0VaVO auSvflb) SL S3IuIVi aIouda LIaviLr CL SU1OfOL 2HDNVMM ZgL Zj 3G SdftOHD GNOOS 69 SuIS2LDVIVo 3'igVAL SDVGOOSa v assvJ 89 aSSVd auaIWad VI HaOd SSGOOD L S60z8tZ Hfaogg sCi ajNaZV LLI - IVOIL.{S mflO3a iVSSa LT 0 v HflsDIadnlS Slia àVSSVd ZLI Zao 0f1Od scrN-V0oo SNaO9 ILI uSDIONWN V SLIg IAuSÂ&I OLI MOISMMANOO' LgI uaMOSLM ST Moi SZ I LNM2WOVridWNM 3ROH IfOd IIOSV mVgDaiN Lci 3NDI1fOS N3NMOV'IdW3M aOV1 NM MSIW LCt MIgfllIgVH OVLdlOO3SC LZI úNVAIflS adflOUD UflOd IIDSV SU1fTfVA ININITM T MMIVi SM% NON 1gI7
560L8 Z
FR818109848A 1980-05-16 1981-05-18 Microcalculateur comportant des possibilites d'affichage video Expired FR2487095B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/150,630 US4383296A (en) 1980-05-16 1980-05-16 Computer with a memory system for remapping a memory having two memory output buses for high resolution display with scrolling of the displayed characters

Publications (2)

Publication Number Publication Date
FR2487095A1 true FR2487095A1 (fr) 1982-01-22
FR2487095B1 FR2487095B1 (fr) 1989-04-14

Family

ID=22535369

Family Applications (3)

Application Number Title Priority Date Filing Date
FR818109848A Expired FR2487095B1 (fr) 1980-05-16 1981-05-18 Microcalculateur comportant des possibilites d'affichage video
FR838305230A Expired FR2520897B1 (fr) 1980-05-16 1983-03-30 Microcalculateur comportant des possibilites d'affichage video
FR8807016A Pending FR2617307A1 (fr) 1980-05-16 1988-05-26 Microcalculateur comportant des possibilites d'adressage perfectionnees

Family Applications After (2)

Application Number Title Priority Date Filing Date
FR838305230A Expired FR2520897B1 (fr) 1980-05-16 1983-03-30 Microcalculateur comportant des possibilites d'affichage video
FR8807016A Pending FR2617307A1 (fr) 1980-05-16 1988-05-26 Microcalculateur comportant des possibilites d'adressage perfectionnees

Country Status (9)

Country Link
US (1) US4383296A (fr)
JP (2) JPS5723145A (fr)
AU (2) AU541780B2 (fr)
CA (1) CA1165007A (fr)
FR (3) FR2487095B1 (fr)
GB (2) GB2076187B (fr)
HK (2) HK94585A (fr)
IE (1) IE51093B1 (fr)
SG (1) SG44585G (fr)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2095441A (en) * 1981-03-25 1982-09-29 Philips Electronic Associated A method of storing data and a store therefor
US4503429A (en) * 1982-01-15 1985-03-05 Tandy Corporation Computer graphics generator
US4577282A (en) * 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
DE3382253D1 (de) * 1982-05-31 1991-05-23 Fuji Xerox Co Ltd Bilddatenspeichersystem.
US4622545A (en) * 1982-09-30 1986-11-11 Apple Computer, Inc. Method and apparatus for image compression and manipulation
US4755809A (en) * 1982-10-11 1988-07-05 Fujitsu Limited Method for controlling windows displayed in a card image data processing system
US4613953A (en) * 1983-04-22 1986-09-23 Ncr Corporation Paging register for memory devices
US4706079A (en) * 1983-08-16 1987-11-10 International Business Machines Corporation Raster scan digital display system with digital comparator means
US4575717A (en) * 1983-12-05 1986-03-11 Rca Corporation Logic for increasing the number of pixels in a horizontal scan of a bit mapping type video display
JPS6140650A (ja) * 1984-08-02 1986-02-26 Nec Corp マイクロコンピユ−タ
JPS61160661A (ja) * 1984-12-29 1986-07-21 Aisin Warner Ltd 流体伝動装置
JPS60260765A (ja) * 1985-04-25 1985-12-23 Aisin Warner Ltd 吸振ダンパ装置付直結クラツチを備えた流体継手
JPH0247308Y2 (fr) * 1985-12-12 1990-12-12
US5226136A (en) * 1986-05-06 1993-07-06 Nintendo Company Limited Memory cartridge bank selecting apparatus
JPS62260244A (ja) * 1986-05-06 1987-11-12 Nintendo Co Ltd メモリカ−トリツジ
CA1330596C (fr) * 1986-11-19 1994-07-05 Yoshiaki Nakanishi Cartouche de memoire et appareil de traitement de donnees
US4849875A (en) * 1987-03-03 1989-07-18 Tandon Corporation Computer address modification system with optional DMA paging
US4891752A (en) * 1987-03-03 1990-01-02 Tandon Corporation Multimode expanded memory space addressing system using independently generated DMA channel selection and DMA page address signals
US5317717A (en) * 1987-07-01 1994-05-31 Digital Equipment Corp. Apparatus and method for main memory unit protection using access and fault logic signals
US5101339A (en) * 1987-08-10 1992-03-31 Tandon Corporation Computer address modification system using writable mapping and page stores
JP2710316B2 (ja) * 1987-08-26 1998-02-10 任天堂株式会社 パスワード作成装置およびパスワード作成装置を用いたゲーム機
US5396606A (en) * 1991-07-31 1995-03-07 Franklin Electronic Publishers, Incorporated Address bus switching between sequential and non-sequential ROM searches
US6542162B1 (en) 1998-06-15 2003-04-01 International Business Machines Corporation Color mapped and direct color OSD region processor with support for 4:2:2 profile decode function

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3980992A (en) * 1974-11-26 1976-09-14 Burroughs Corporation Multi-microprocessing unit on a single semiconductor chip
US4150364A (en) * 1976-11-29 1979-04-17 Rca Corporation Parallel access memory system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3893075A (en) * 1972-12-29 1975-07-01 Richard Orban Method and apparatus for digital scan conversion
JPS5314375B2 (fr) * 1973-04-02 1978-05-17
US3821730A (en) * 1973-06-14 1974-06-28 Lektromedia Ltd Method and apparatus for displaying information on the screen of a monitor
US3903510A (en) * 1973-11-09 1975-09-02 Teletype Corp Scrolling circuit for a visual display apparatus
GB1529582A (en) * 1974-10-29 1978-10-25 Xerox Corp Data processing display system
JPS5528095B2 (fr) * 1975-02-19 1980-07-25
JPS5836779B2 (ja) * 1975-06-04 1983-08-11 株式会社日立製作所 連続的な文字移動機能を有する表示装置
JPS5823636B2 (ja) * 1975-09-02 1983-05-16 株式会社日立製作所 モジヒヨウジソウチ
JPS5290231A (en) * 1976-01-23 1977-07-29 Toshiba Corp Address control of display memory
JPS52153628A (en) * 1976-06-16 1977-12-20 Nec Corp Memory bus selector
JPS533124A (en) * 1976-06-30 1978-01-12 Toshiba Corp Display system
JPS5389325A (en) * 1977-01-18 1978-08-05 Mitsubishi Electric Corp Display unit
JPS5932820B2 (ja) * 1977-03-24 1984-08-11 日本電気株式会社 アドレス修飾回路
US4136359A (en) * 1977-04-11 1979-01-23 Apple Computer, Inc. Microcomputer for use with video display
JPS5464429A (en) * 1977-10-31 1979-05-24 Nec Corp Control circuit for crt display unit
JPS54132134A (en) * 1978-04-05 1979-10-13 Mitsubishi Electric Corp Control system for memory unit
JPS551611A (en) * 1978-06-19 1980-01-08 Hitachi Ltd Megnetic recording and reproducing device
US4217604A (en) * 1978-09-11 1980-08-12 Apple Computer, Inc. Apparatus for digitally controlling pal color display
JPS55143588A (en) * 1979-04-10 1980-11-08 Nippon Electric Co Pattern display system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3980992A (en) * 1974-11-26 1976-09-14 Burroughs Corporation Multi-microprocessing unit on a single semiconductor chip
US4150364A (en) * 1976-11-29 1979-04-17 Rca Corporation Parallel access memory system

Also Published As

Publication number Publication date
IE51093B1 (en) 1986-10-01
GB2143409B (en) 1985-07-24
JPH0719786U (ja) 1995-04-07
US4383296A (en) 1983-05-10
HK94685A (en) 1985-11-29
AU3009484A (en) 1984-10-25
CA1165007A (fr) 1984-04-03
FR2520897B1 (fr) 1989-04-21
GB2076187B (en) 1985-04-11
SG44585G (en) 1986-01-17
GB2076187A (en) 1981-11-25
AU7050181A (en) 1981-11-19
GB8404660D0 (en) 1984-03-28
AU541780B2 (en) 1985-01-17
IE811110L (en) 1981-11-16
FR2617307A1 (fr) 1988-12-30
AU550737B2 (en) 1986-04-10
FR2520897A1 (fr) 1983-08-05
GB2143409A (en) 1985-02-06
FR2487095B1 (fr) 1989-04-14
JPS5723145A (en) 1982-02-06
HK94585A (en) 1985-11-29

Similar Documents

Publication Publication Date Title
FR2487095A1 (fr) Microcalculateur comportant des possibilites d&#39;affichage video
FR2588391A1 (fr) Generateur de modeles en forme de trames
EP1496687A4 (fr) Camera numerique
CN101587717B (zh) 光信息记录装置和方法、及光信息记录再现装置和方法
KR100411760B1 (ko) 애니메이션 영상 합성 장치 및 방법
JPS5971770A (ja) カラ−ビデオ信号発生装置
CN103123790B (zh) 光信息记录再现、再现装置及其方法
TW591619B (en) Optical recording and reproducing apparatus and tilt adjusting and controlling method for the same
FR2631189A1 (fr) Generateur de configurations d&#39;incrustations evolutives
EP1531463B1 (fr) Procédé et appareil pour le traitement des donneés holographiques, reproduit d&#39;un support holographique
JP4804604B2 (ja) 再生装置および記録再生システム
KR100739671B1 (ko) 작은 억세스 단위를 갖는 광 디스크와 어드레스 정보 변조방법
US4763123A (en) Signal selecting circuit for simultaneously performing plural input-output operations
NL8303387A (nl) Registratiemedium voor beeldinformatiehoudende signalen en afspeelinrichting daarvoor.
CN109696959A (zh) 一种画面展示方法、设备及存储介质
WO2018011497A1 (fr) Système et procédé de capture embarquée et de reproduction 3d/360° du mouvement d&#39;un opérateur dans son environnement
US20020109727A1 (en) Recording medium reproducing apparatus
CN117414110B (zh) 三维扫描设备的控制方法、装置、终端设备及系统
US20240196152A1 (en) Spatial audio processing method and apparatus therefor
KR100448286B1 (ko) 홀로그래픽 디지털 데이터 저장 및 재생 시스템과 그어드레싱 방법
WO2003019938A1 (fr) Procede pour regler la direction d&#39;affichage d&#39;images fixes
KR100551370B1 (ko) 홀로그래픽 데이터 처리 방법
JP2002208228A (ja) 情報信号記録再生方法及び情報信号記録再生装置
JP4375494B2 (ja) 画像再生装置および画像再生方法
JP5564415B2 (ja) デジタルデータ記録再生方法、及びデジタルデータ処理装置。

Legal Events

Date Code Title Description
ST Notification of lapse