90
SIMPSON PERSONAL FILE DO NOT REMOVE FLIGHT TRANSPORTATION LABORATORY REPORT R84-2 A MICROPROCESSOR DRIVEN LIQUID CRYSTAL GRAPHICS DISPLAY FOR AIRCRAFT USE Lee Howard Marzke June 1984 PAGE 1 GRAPHIC L CV AIRcRAFT vISPLA Y

SIMPSON PERSONAL FILE DO NOT REMOVE

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SIMPSON PERSONAL FILE DO NOT REMOVE

SIMPSON PERSONAL FILEDO NOT REMOVE

FLIGHT TRANSPORTATION LABORATORY

REPORT R84-2

A MICROPROCESSOR DRIVEN

LIQUID CRYSTAL GRAPHICS DISPLAY

FOR AIRCRAFT USE

Lee Howard Marzke

June 1984

PAGE 1GRAPHIC L CV AIRcRAFT vISPLA Y

Page 2: SIMPSON PERSONAL FILE DO NOT REMOVE

FTL REPORT R84-2

A MICROPROCESSOR DRIVEN

LIQUID CRYSTAL GRAPHICS DISPLAY

FOR AIRCRAFT USE

Lee Howard Marzke

A complete graphics system for use in modular avionics is

built around a liquid crystal flat panel display. Screen refresh

is handled by display controller that provides a bit mapped

representation of the display in RAM. A 8085 based single board

computer is programmed to allow user defined graphics symbols to

be moved about easily, and a character generator is included to

facilitate the display of ASCII strings. The computer uses a

RS-232 interface to receive commands. A demonstration program

is also included which demonstrates a simple instrument landing

system (ILS) type display without the need for an external device.

GRAPHIC LCD ARCR~AFT DISPLAY PAGE2

Page 3: SIMPSON PERSONAL FILE DO NOT REMOVE

ACKNOWLEDGEMENTS

I would like to thank the following people for their

special contributions:

- Professor Antonio Elias for being my thesis advisor and

for suggesting the general purpose display idea.

- Carter Pfaelzer for day to day help when I was defining my

thesis, and sugestions when ever I had problems.

- SIRRUS FLOW TECHNOLOGY INC. , especially Carl Johnson for

the use of his OSBORN computer to develop the software.

- Spencer Webb for his invaluble encouragement, and for use

of his facilities at TERADYNE INC. to draw schematics and

program EPROMS' s.

- Scott Hathcock, my roomate, for putting up with the mess

at our apartment during construction, and for constant

prodding to help keep me on schedule.

- Fred Schloetzer for encouraging me to come to MIT in the

first place.

GRAPHIC LCD AIRCRAFT DISPLAY PPAGE 3

Page 4: SIMPSON PERSONAL FILE DO NOT REMOVE

TABLE OF CONTENTS

0. Abstract.........................

1. Introduction ...............

2. Functional Description .......

2. 1 Set up and operation ....

2. 2 Command format ..........

2.3 Demonstration ILS display

3. Technical Description .......

3.1 Liquid crystal ..........

3.2 Circuit ...............

3.3 Program ...............

4. Conclusions ................

5. Bibliography ...............

APPENDICES

............ 2

.6

.9

.9

11

18

21

21

23

31

34

35

Pictures .....

Schematics and parts layout

........ 36

........ 42

C. SHARP LM-24003G display ................ 53

MCG-8085 single board computer

Program Listings ..............

........ 57

........ 69

GRAPHIC L CD AIRCRAFT DISPL A Y PAGE 4

Page 5: SIMPSON PERSONAL FILE DO NOT REMOVE

LIST OF FIGURES

1. Graphics Display unit ................. 8

2. Graphics Display unit (Block Diagram) . . 10

3. Symbol #02 ............................... 13

4. Screen coordinates....................17

5. ILS demonstration screen ................. 19

6. Liquid Crystal cell cross section ...... 22

7. LCD Twisted Nematic effect ............ 22

8. SHARP Display Unit ....................... 26

9. Timing Generator...................... 27

10. Control Logic........................ 28

11. Data Flow during display refresh ....... .29

12. Data flow during computer access ....... .30

TABLES

1. GDU Commands ........................ 16

2. Assignments in ILS Demonstration ....... .20

GRAPHIC L CV AIRCRAFT 7ISPL A Y PAGE 5

Page 6: SIMPSON PERSONAL FILE DO NOT REMOVE

1. 0 INTRODUCTION

This thesis consisted of building a high resolution

flat panel display for aircraft use. Such displays can be

used to emulate just about any of the current mechanical

flight instruments in the cockpit. Other applications

would include collision avoidance displays, electronic

checklists, or compleatly new forms of flight instruments.

Many cathode ray tube (CRT) based displays are

currently in use in aircraft such as the Boeing 767. CRT

displays are large, bulky, and consume large amounts of

power; they are, however, still the best for high

resolut ion applicat ions.

Of the flat panel technologies such as

electrolumenescent, plasma, and liquid crystal (LCD), the

LCD types have by far the lowest power consumption, and have

the best contrast in high ambient light environments. The

disadvantages of the LCD display are a limited viewing

angle range, and moderate resolution.

The display chosen consists of a dot matrix LCD unit of

128 by 240 pixels, with onboard drive electronics. As the

technology improves, higher resolution and lower cost

units will make LCD the best choice for the future.

As currently configured the display system is driven

from a RS-232 communication port. Fast graphic display

response is possable over such a slow link because all

symbols to be used are stored in the graphic display unit' s

(GDU) internal RAM. Real time commands thus need only

specify new coordinates for a symbol or new text.

Advantages of such displays in small airplanes would

include the ability to multiplex different instruments on

GRAPHIC L CD AIRCRAFT DISPL AY PAG63E 6

Page 7: SIMPSON PERSONAL FILE DO NOT REMOVE

the same screen, saving weight and panel space.

The entire project consisted of the following:Choosing a suitable display based on the aboveconsiderations, design and construction of a displaycontroller, and finally assembly language programming tostore and move text strings and symbols.

I became interested in this projectfor flying as a hobby, and my desire

containing hardware design, real

development, and prototype construction.

because of my loveto do a projecttime software

GRAPHIC LCD AIRCRAFT DISPL A Y PAGE 7

Page 8: SIMPSON PERSONAL FILE DO NOT REMOVE

tM4OC DNAY tIET

CONTRAST

I/O 32

POWER 31

32

I/O CONNECTOR

R G G TX N N X

D D

MOLEX

FEMALE SHELLMALE PINS

31

POWER CONNECTOR

- +* + G1 1 5 N

D2 2

MOLEX

MALE SHELLFEMALE PINS

FIG. 1 GRAPHICS DISPLYAY UNIT

GRAPHIC LCD AIRCRAFT DLISPLAY PAGE 8

Page 9: SIMPSON PERSONAL FILE DO NOT REMOVE

2. FUNCTIONAL DESCRIPTION

2.1 SETUP

The graphics display unit (GDU) shown in Fig. 2 is a

complete system allowing the user to define graphic symbols

of variable size and shape and move them around on the

screen. Symbols may overlap one another and can be erased

easily. Individual points may also be accessed, and text is

easily displayed because of the internal character

generator. The software recognizes strings of ASCII

characters as commands, thus permitting debugging of

command strings with a terminal. A demonstration program is

also included on EPROM to demonstrate the functioning ofthe unit without the need for a terminal.

The GUU requires the following: (see Fig. 2)

POWER - 5V at 1.5 amp(Ji) - +12V at 0. 1 amp

- -12V at 0.1 amp

COMMUNICATION RS-232 Port(J2)

GRAPHIC L CD AIRCRAFT DISPLAY PAqGE 9

Page 10: SIMPSON PERSONAL FILE DO NOT REMOVE

AIRCRAFT LCD GRAPHICS DISPLAYBLOCK DIAGRAM

2 Graphics display system.

GRAPHIC LCO AIRCRAFT D7.SPLAY 1

Fig.

PAGE 10

Page 11: SIMPSON PERSONAL FILE DO NOT REMOVE

2. 2 COMMAND FORMAT

When power is applied and the reset button is pressed a

sign-on menu should appear on the LCD display. The setting

of the contrast control is critical and should be set fully

counter clockwise if the display appears blank or a symbol

is missing. The following discussion will assume a terminal

is connected to the RS-232 port for demonstration of the

individual commands.

The switch under the "DISPLAY" prompt (sv3) is

depressed to use the RS-232 port for input. A space

character must first be sent to allow computation of the

BAUD rate, the GDU will respond with a "#" prompt.

Two types of objects may be defined and stored in the

GDU, "strings" of ASCII characters, and user defined

graphic "symbols" of selectable height and width. Each

string or symbol is associated with a two digit hex number,

hereafter shown as **. This number may range from 00H to3FH, the upper two bits being used internally to

distinguish between strings and symbols. Once a string or

symbol is defined it may be moved on the screen by an

instruction to move string ## or symbol ## to the specified

coordinates.

Other commands allow individual points on the screen

to be turned on one at a time, the screen to be cleared, and

functions to be called that define or move many symbols.

The following symbology is used below:

## - Two digit hex number that identifies a

particular string or symbol. (O0H - 3FH)

XX - Two digit hex number. (OOH - EFH)

GAPHIC LCD AIRCRAFT DISLAY PACE 11

Page 12: SIMPSON PERSONAL FILE DO NOT REMOVE

Two digit hex number (0OH - 7FH)

<CR> - Carriage Return

ASCII STRINGS

A string is first defined by typing 'A##/STRINGCCR>'

'STRING' may contain ASCII characters from 2 0 H to 6 0 H(numbers, uppercase letters, and symbols). To display the

string, type 'A##, XX, YY<CR>', where XX and YY define the x

and y coordinate of the left edge of the string. Thereafter,

if the same string is referenced with new coordinates, the

string vill be erased and redisplayed at the new location.

The 'STRING' may be changed by reentering

'A##/NEWSTRING<CR>', however 'NEWSTRING' must contain the

exact number of characters as the original string by

appending spaces where necessary. The first definition of a

string, therfore, must be long enough to reserve space for

later changes.

EXAMPLE: A02/BEARINGCCR>

A02,10,20 (CR>

A02/COURSE[] <CR>

A02,20,20<CR>

Defines string 02 to be"BEARING"Puts string 02 onscreen at location10, 20Redefines string 02 tobe "COURSE". Note addedspace " [] " to makestring 7 characterslong.Moves string 02 tolocation 20,20

The spacing of characters may be changed from the

GRAPHIC L CD AIRCRAFT DISPL A Y

YY

PAGE 12

Page 13: SIMPSON PERSONAL FILE DO NOT REMOVE

normal two pixels between characters (wide) to one pixel

spacing (narrow) by the 'N' and 'W' commands respectively.

GRAPHIC SYMBOLS

A graphic symbol is defined by entering

'D#,HHWWBBBBB. . <CR)' The height, HH (in pixels) may be

any hex number from 1 H to 127H. The width, WW is measured inwords (multiples of 8 pixels wide) and may range from 1 to3 0 H. 'BBBB... ' represents groups of 8 bits (2 hex dig. )defining the graphic symbol sequentially (as if reading abook) 8 pixels at a time .

EXAMPLE: D02, 0501, 010204F8FF(CR>Defines the graphic symbol shown belowhaving a height of 5, and a width of 1 (8pixels).

8400H G F E D C B A

A B

5 C

E

HEX VALUE010204FSFF

Fig. 3 Symbol *02

Once the symbol is defined it may be written to the

screen by entering 'P**, XX, YY<CR>', where the upper left

corner of the symbol is placed at the indicated

R.APHIC LCD AIRcRAFT LISPL Y PAL'~ 13

Page 14: SIMPSON PERSONAL FILE DO NOT REMOVE

coordinates. Another ' P' command will place another copy of

the symbol on the screen at a different location. To move a

symbol use 'M##,XX,YY<CR>', which first erases the last

location of the symbol, then places a copy at the new

coordinates.

To have a transparent symbol in which underlying

symbols can still be seen, place the symbol on the screen

vith the 'X' command. This command exclusive or's the

symbol with the current contents of screen memory. To erase

the symbol, execute this command a second time - this

removes the symbol leaving the origional background

intact.

POINTS

To turn on a specific point the 'L' command is used.

The format is 'LXXYY, XXYY, XXYY<CR>, where XXYY are the x

and y coordinates of the points. For example to turn on the

points (10,10) and (10,11) the command would be

'LlO, 1011<CR>'. Any number of points may be entered this

way. Because these points are not stored they can not be

moved or erased without clearing the screen or displaying a

symbol on top of them.

MISCELLANEOUS COMMANDS

The screen may be cleared with the Clear (C) command.

The Ini t (I) command clears the screen and erases all stored

symbols and strings.

Incoming characters are normally echoed by the

command recognizer for use with a terminal. Echo may be

GRAPHIC L CD AIRCRAF T DISPL A Y PAGE 14

Page 15: SIMPSON PERSONAL FILE DO NOT REMOVE

turned off with the Kill echo (K) command and back on with

the Echo on (E) command.

FUNCTIONS

The Function (F) command starts execution of a user

defined program that may define symbols and strings, or

move existing ones.

The hexidecimal byte following the F command is placed

in the accumulator and a call is made to address 3050H-

GRAPHIC L CD AIRCRAFT DISPL A Y PAGE 15

Page 16: SIMPSON PERSONAL FILE DO NOT REMOVE

TABLE 1

COMMAND SUMMARY

A##, XX, YY<CR>

A##/MESSAGE<CR>

C<CR>

D##,HHHWW,BBBB... <CR>

E<CR>

F##<CR>

ICCR>

K<CR>

LXXYY, XXYY, XXYY. . <CR>

M##, XX, YY<CR>

N<CR>

P##, XX, YY<CR>

W<CR>

X##,XX, YY<CR>

Z<CR>

Move ASCII string ## tolocation XXYY

Change ASCII string ## toMESSAGE

Clear Screen

Define symbol ## of height HHand width WW according to thebits that follow.

Echo on

Cal1s user defined function ##.

Init (Clear all strings,symbols and screen).

Kill echo of command charactersto terminal.

List of points to turn on.

Move graphic symbol ## from oldlocation to XX,YY

Narrow character spacing.

Put graphic symbol ## at XX, YY

Wide character spacing.

XOR graphic symbol ## withcontents of screen at XX,YY

Erase graphic symbol ## fromit's most recently usedcoordinate.

Jump to monitor.

GRAPHIC L CD AIRCRAFT aISPL A Y PAME 16

Page 17: SIMPSON PERSONAL FILE DO NOT REMOVE

A V7"67 .L bCA v GD7 ODI-dVb f

SEEUtODM ME= S 9 -IM

AL OL 09A I

Nx-4 NOWSOd Aas 011 oi o O

T-Ti7T

t 4

I I

--

t

4TT

KS.?'

Z T .-3Vd

'0

Page 18: SIMPSON PERSONAL FILE DO NOT REMOVE

2.3 DEHONSTRATION ILS DISPLAY

To enter the demonstration program the button under

the 'DEMO' prompt (sv4) is depressed from the menu screen. A

simple Instrument Landing System (ILS) type display

appears on the left side of the display, with prompts over

each of the 'soft' buttons. The pointers of the ILS

instrument move when the appropriate buttons pushed, both

moving at the same time if desired.

If the left"<" and right "> buttons are depressed

simultaneousely, the two pointers will move in repetitive

pattern. To exit this mode hold down one of the four soft

buttons until the pattern stops. Pressing all four buttons

will cause a jump to the command mode without clearing any

symbols, so that experimentation with the instrument is

possible.

GRAPHIC L CD AIRCRAFT DISPL A Y PAGE 18

Page 19: SIMPSON PERSONAL FILE DO NOT REMOVE

ILS DEMONSTRATION

RESET 'SOFT' SWITCHES

5. ILS Demonstration Screen

GRAPHIC L CD AIRCRAFT DISPL A Y

Fig.

PAGE 19

Page 20: SIMPSON PERSONAL FILE DO NOT REMOVE

TABLE 2

LIST OF ASSIGNMENTS IN ILS

SYMBOLS:

01 - Horizontal bar

02 - Vertical bar

03 - Hollow boxes

04 - Up triangle, "TO"

05 - Center mark

06 - Down triangle, "FR"

07 - up arrow

08 - down arrow

09 - right arrow

OA - Left arrow

STRINGS:

01 - Time "00: 00: 00"

02 - "120"

03 - "300"

04 - "MOVE BARS"

DEMDNSTRATION PROGRAM

COORDINATES:

(10, 37)

(37, 10)

(2B,00), (2B,EO)

(61, 26)

(33, 34)

(61, 39)

(C7, 7A)

(E8, 7A)

(A6, 78)

(85, 78)

(00, 79)

(2E, 03)

(2E, 67)

(A6, 6E)

GRAPHIC LCD AIRCRAFT DISPL Y PAGE 0

Page 21: SIMPSON PERSONAL FILE DO NOT REMOVE

3. TECHNICAL DESCRIPTION

3.1 LIQUID CRYSTAL CELL

The liquid crystal display used in this project

depends upon the twisted nematic effect. The individual

molecules of the liquid crystal are asymmetric and tend to

align themselves with one another. This alignment may

extend over distances up to 1 mm. The LCD cell contains a

thin film of a liquid crystal with alignment layers forcing

the liquid crystal to twist 90 degrees from face to face.

Because of the large refractive index anisotropy in the

liquid crystal, the plane of polarized light is guided

through the cell twisting with the crystal.

The cell is sandwiched between two crossed

polarizers. In its 'off' state the incoming polarized light

is rotated, allowing the light to pass through the second

polarizer.

The cell is turned 'on' by applying an AC signal across

the LCD cell, forcing all the liquid crystal molecules to

align with the electric field. Now the incoming light is not

rotated and is blocked from passing through the cell, so the

pixel element appears dark.

Insulating layers are added on top of each electrode

to insure that no DC current flows through the cell, since

the resulting electrolisis of the liquid crystal would ruin

it.

GRAPHIC L CD AIRCRAF T DISPL A Y PAGE 21

Page 22: SIMPSON PERSONAL FILE DO NOT REMOVE

LIQUID CRYSTAL CELL

ROW ELECTRODE

INSLYLATORALIGNMENT LAYER

LIQUID CYRST

ALIGNMENT LAYER

INSULATOR

COLUMN ELECTRODE

REFLECTOR

GLASS COVER

S

- - - --

ES

GLASS SLE3STRATE

-f

FIG. 6 LCD - CROSS SECTION

POLARIZER ,% POLARIZER

EFIELD

POLARIZER PC

FIG. 7 TWISTED IEMATICEFFECT

TRANSPARENT

GRAPHIC LCD AIRCRAFT DISPL A Y

LARIZER

tOPAQLE

PAGE 22

spACER

--- m-----

CELL CFF cf11 av

Page 23: SIMPSON PERSONAL FILE DO NOT REMOVE

3.2 CIRCUIT DESCRIPTION

The LCD screen is bit mapped into display RAM which is

shared with the 8085 single board computer (SBC). The

display controller hardware constantly refreshes the LCD

screen with the data in display RAM.

The SHARP display requires data for the top half and

bottom half of the screen concurrently as well as various

clock signals. (see Fig. 8) The data is sent in serial form

at 600 Kbits/sec. over two lines, with another four lines

required for clock signals. The data for the two sections of

the display are stored in seperate RAM's. The addresses for

display RAM are shown in Fig. X. The hardware thus provides

the following:

- constant refresh of the screen- display RAM shared with the 8085- all the clocks necessary to run the display

TIMING GENERATOR:

All timing and clocks are derived from the 3MHz 8085

processor clock input 3MH. (see Fig. 9) This signal is

divided by five by the decade counter U4 to generate the 600

KHz CP2 clock, which is the serial data rate used by the

controller. CP2 clocks the shift registers in the display

RAM section, is divided by eight by counter U5 to provide

the address counter clock ADCLK, and is used to derive the

other clocks for the display. Gate U13a resets U5 when BRES

goes low at the end of every page.

Counters U6 and U7 divide CP2 by 240 to provide a clock

CP1 that is high for the last pixel of every line. U6 and U7

are wired as a divide-by-30 counter that is enabled once

GRAPHIC LCD AIRCRAFT DISPL Y PAGE 23

Page 24: SIMPSON PERSONAL FILE DO NOT REMOVE

every eight cycles of CP2 by ADCLK.

A divide-by-64 counter is implemented by U14 and U15

to provide a signal LLINE that is high for the entire last

line of the display. J-K flip-flop U10a sets at the falling

edge of CP1 if LLINE is high, then resets at the next CP1,

generating a signal FLINE that is high for the entire first

line of the display. This pulse is delayed approximately

5us by R1, C1 and U16 to provide the page clock signal S to

the display. FLINE toggles U9a to provide M, which causes

the LCD drive polarity to alternate on succesive pages.

ADDRESS COUNTER

An 11 bit address counter is implemented by U11 and U12.

ADCLK increments the counters sequentially through all of

the valid addresses in display RAM. The 8 bits of each word

are shifted out serially to the display between succesive

counts. The counters are reset to zero at the beginning of

each page by ADRES.

DISPLAY RAM

The 240 by 128 pixel display is mapped into 4K words of

RAM consisting of U21 and U22. The upper half of the display

resides in all but the last 1 2 8 H locations of U21, and the

lover half similiarly in U22. This gap of 128 locations

between the upper and lower storage locations of the screen

must be handled by software.

The display RAM is shared between the display

controller and the computer. The computer addresses the

RAM as a 4K x 8 block of memory, however the controller

addresses it as a 2K x 16 block because it must send data

simultanously to both halves of the display. The address

GRAPHIC L CD AIRCRAFT DISPL A Y PAGE 24

Page 25: SIMPSON PERSONAL FILE DO NOT REMOVE

lines of display RAM are switched between the controller

and computer by the MUX' s U18, U19, and U20. The data paths

from the two RAM's are connected to seperate shift

registers U25 and U26, but are also wire or'ed together

through data buffers U23, U24,U27 and U28 to the computer

data bus.

The shift registers are loaded with the a word from

memory immediatly after each count of the display address

counter by a low level on SRLOAD.

CONTROL LOGIC

This section (Fig. 10) controls the sharing of display

RAM between the processor and display controller.

The amount of time for a memory access by the computer

is so small (< lus) that the display controller has almost

unrestricted use of display RAM. Thus, the MUX's are

normally selected to the counter, the data buffers are off

(high impedance), and the shift registers are sending data

to the display (Fig. 11).

When the computer accesses display RAM several things

must occur. When chip U1 detects an address in the range of

4 0 0 0 H to 4FFFH (display RAM) it deselects the correct RAM

preventing access by the display controller. The MUX's

select the the computer address bus for input. Finally the

data buffers are enabled in the correct direction by

U2, U3, and U8 depending on the status of the read and write

lines (Fig. 12)

GRAPHIC L CD AIRCRAF T DISPL A Y PAGE 25

Page 26: SIMPSON PERSONAL FILE DO NOT REMOVE

m"AP LM-24003G GRAPICS DISPLAY

DATA(TOP)

"CP2"

BITOL

Al

240 BIT SERIAL IN / PARALLEL OUT SHIFT REGISTER

LATCH AND LCD DRIVERS

240 064 .X.6 mm dot

.7 x .7 mm spacing 0

60J640

0(

LATCH AND LCD DRIVERS

(BOT) 240 BIT SERIAL IN / PARALLEL OUT SHIFT REGISTER

LINE CLK

-s-PAGE CLK

"M"ALT PAGE CLK

LCD DRIVE ELECTRONICS(drive polarity inversion every frame)

(tmpraur -opnee)

Fig. 8 SHARP DISPLAY

GRAPHIC LCV AIRCRAFT DISPL A Y

RESET

C0

R UON<

ER

C0

R UO N

TER

RESET

PAGE~ 2

I

+5V

-12V

Page 27: SIMPSON PERSONAL FILE DO NOT REMOVE

TIMING GEERATOR / ADDRESS COLUTER

BLOCK DIAGRAM

3MHZIN

COUNTEF

OTI-ER

t EXPAND

LOGIC

ED ELSEHWERE

Fig. 9 TIMING GENERATOR

GRAPHIC LCO AIRCRAFT ISPLA Y GPAGE 27

Page 28: SIMPSON PERSONAL FILE DO NOT REMOVE

CONTROL LOGIC - BLOCK DIAGRAM

DATA LINES

CONTROL LOGIC

OTHER

EXPANDED ELSEWHERE

Fig. 10 CONTROL LOGIC

GRAPHIC L CD AIRCRAFT DISPL A Y

- il

PAGE 28

Page 29: SIMPSON PERSONAL FILE DO NOT REMOVE

LCD CONTROE.R - BLOCK DIAGRAM

5 U1,2,3f8

CONTROL RM ENABLEflux CONTROL

LOGIC'- BUFFER CONTROL

8

16 Data

Address8

8085 SINGLE BOARD COMPUTER

Fig. 11 DATA FLOW IURING DISPLAY REFRESH

GRAPHIC L CD AIRCRAFT DISPL A Y

CONTROLLERBLOCK ACTIVE

CONTROLLERBLOCK DORMANT

Tt OTHER

EXPANDEDELSEWHERE

PAGE 29

Page 30: SIMPSON PERSONAL FILE DO NOT REMOVE

LCD CONTROLLER - BLOCK DIAGRAM

CONTROLLERBLOCK DORMANT

OTHER

EXPANDEDiL-l ELSEWHERE

Fig. 11 IDATA FLOW DURING RAM ACCESS

GRAPHIC LCD AIRCRAFT DISPLAY PAGE 30

Page 31: SIMPSON PERSONAL FILE DO NOT REMOVE

3.3 PROGRAM DESCRIPTION

The LCD program is organized around a command

recognizer which accepts data from the serial port and

calls the appropriate subroutines.

INITALIZATION

INIT: -- Entry point for cold start.

GO: -- Warm start entry point. Does not disturb

currently defined symbols.

COMMAND RECOGNIZER

GETCMD Commands are read from the input buffer by

executing RDBUF. A lookup is done in the table, CTAB to find

the address of the command routine, which is then passed

control. An unrecognized command causes a jump to the error

routine which sends a '*' to the console.

COMMAND IMPLEMENTING ROUTINES

For each of the characters recognized by GETCMD, a

command routine exists to process the data in the command

string, and call the appropriate graphics subroutines.

MVE GRAPHICS ROUTINES

POINT allows any pixel on the screen to be turned on or

off.

PUT places a graphics symbol on the screen at the

specified coordinates.

PUTX places a graphics symbol on the screen by

performing an exclusive-or (XOR) with the data currently on

the screen. This allows a symbol to overlap another, and it

GRAPHIC LCD AIRCRAFT DISPLAY PAGE 37

Page 32: SIMPSON PERSONAL FILE DO NOT REMOVE

may easily be removed by doing a second XOR.

The subroutine DROTR shifts the accumulator right

from one to seven places. Carry-in is from the C register

and carry-out is placed back in the C register. The value in

RMASK must be valid prior to calling DROTR by executing

GETMSK. This is done to avoid selecting the correct mask on

every call of DROTR.

SCREEN ADDRESSING ROUTINES

At a specified pixel, SCADR calculates the address of

display RAM, and location of this pixel within the

indicat ed word.

INCSAD computes the next address of display RAM vithin

the vindow defined by the hieght, vidth, and coordinates of

a specified symbol.

SYMBOL STORAGE / LOOKUP ROUTINES

SYMADR determines the storage location of a symbol.

GETSYM accepts data defining a graphic symbol,

consisting of its height, vidth, location, and form.

ADDSYM adds a symbol to the symbol table along vith the

next free address for storage.

STRING STORAGE / LOOKUP ROUTINES

ADDSTR accepts a string and adds it to the symbol

table.

PUTSTR places a string on the screen.

CLRSTR erases a string by printing an equivalent

number of spaces.

INPUT / OUTPUT ROUTINES

GRAPHIC LCD AIRCRAFT DISPLA Y PAGE 32

Page 33: SIMPSON PERSONAL FILE DO NOT REMOVE

RDBUF reads one character from the bottom of the input

buffer and returns it in the accumulator. The circular

buffer is 1 0 0 H bytes long. If the buffer is empty and the

demo program is not running, the console input routine is

called. If, however, the demo program is running (FUNBYT =

FF) control is passed back to the demo program.

WRBUF writes one character to the top of the circular

input buffer. Buffer overflow causes a jump to the error

routine.

DEMONSTRATION PROGRAM

The demonstration program was written to test the

graphics program, as well as illustrate the simulation a

simple aircraft instrument. As such, it writes ASCII

command strings to the input buffer, instead of calling the

individual routines. Because control of the display over a

RS-232 port would involve sending the same sequence of

commands, this program is excellent example of how to

define and move symbols and strings.

GRAPHIC L CD AIRCRAFT DISPL Y 3PAGE 33

Page 34: SIMPSON PERSONAL FILE DO NOT REMOVE

4. CONCLUSIONS

This project has demonstrated that a fairly low cost,modular, flat panel flight instrument is feasable. The LCD

display would be the best choice for the general aviation

market where price, size, power consumption, and weight are

very critical.

The graphics software currently allows many objects

to be moved about on the screen, as well as the display of

character strings. Symbol rotations could be simulated by

storing copies of the different orientations and switching

between them. These functions would allow the generation of

quite complex flight instrument symbology.

Many functions could be added to the current system

such as:

- Drawing a line between two specified points.

- Adding special attributes to symbols such as

automatic blink.

- Adding a touch sensitive panel in front of the

display so that mode choices may be selected by

touching the screen.

GRAPHIC L CD AIRCRAFT DISPL Y PAGE .34

Page 35: SIMPSON PERSONAL FILE DO NOT REMOVE

5. BIBLIOGRAPHY

Alan R. Miller, 8080/Z80 Assentle Language Prograning , John Wiley andSons, Inc., 1981.

Microprocessor and Peripheral Handbook, Intel Inc., 1983.

Modern Display Technologies and Applications , AGARD AR-169, NorthAtlantic Treaty Organization, Advisory Group for AerospaceReasearch and Development, edited by Prof. Ir.D.Bosman, TwenteUniversity of Technology, Netherlands, October 1982.

Motorola Memorey Data Manual, Motorola Inc., 1982.

6$RAPHC LCD AIR CRAFT DMP'L A Y PAGE 35

Page 36: SIMPSON PERSONAL FILE DO NOT REMOVE

APPENDIX A.

PICTURES

GRAPHIC LW AIRCRAFT DLSPLAY PAQ-5

Page 37: SIMPSON PERSONAL FILE DO NOT REMOVE

y

I4

INSIDE GRAPHICS UNIT

Page 38: SIMPSON PERSONAL FILE DO NOT REMOVE

.-7 . .. .. .. ..

IT

ig-

MC-885

CIRCUIT BOARDS (FRONT)

KN

BOARD A BOARD B

litU'

- c -JUL

Page 39: SIMPSON PERSONAL FILE DO NOT REMOVE

.. ... ... .

C)7

seem,

1- -

/}

MCG-8085 BOA*O A BOARD B

CIRCUIT BOARDS (BACK)

Page 40: SIMPSON PERSONAL FILE DO NOT REMOVE

LM-24003G DRIVE ELECTRONICS ON BACK OF BOARD

Page 41: SIMPSON PERSONAL FILE DO NOT REMOVE

SD

GRAPHICS DISPLAY UNIT WITH ILS DEMO RUNNING

Page 42: SIMPSON PERSONAL FILE DO NOT REMOVE

APPENDIX B.

SCHEMATICS AND PARTS IAYOUT

GR'AMC LCD AAqCAFT DILAY 42PAQF 42

Page 43: SIMPSON PERSONAL FILE DO NOT REMOVE

PARTS LIST

Ul

U2, 8

U3, 17

U4

U5, 6, 7

U9

Ulo

Ul, 12

U13

U16

U18, 19,

U21, 22

U23, 24,

U25,26

U29

Cl

R1

PAGE 43GRAAPHIC LCC AIRCRAFT 7I'LA Y

- 74S 138

- 74LS27

- 74LS04

- 74LS90

- 74LS163

- 74LS74

- 74LS76

- 74LS393

- 74LSOO

- 74LS28

- 74LS157

- HM6116

- 74LS243

- 74LS165

- 74LS241

-. 001 pF

-1K f

,14,15

20

27, 28

Page 44: SIMPSON PERSONAL FILE DO NOT REMOVE

CARD PINOUT

BOARD A

GNDGNE

AOAlA2A3A4A5

A6ADDRESS BUS

A10

AllA12A13A14RD-UR-CS15-

CP1CP2

Dl

D2

D1D2D3D405D607

+5v

+5V

DISPLAY SIG.

DATA BUS

GRAPH/C L CV AIRCRAFT DISPL A Y

BOARD B

CPlCP2S

01D2

CP2BSB TOMIBD1BD28

DISPLAY

3MHZ

RD*

INT S.5I. 0.

RSTAGAl

CS15*10/M*

INCNDOUT

RS-232

+5V+5V

DOD1,D203 DATA BUS04D50607

-12V+12VLCD +

3 MHZ

PATF 4W

Page 45: SIMPSON PERSONAL FILE DO NOT REMOVE

LOGIC TIMING DIAGRAM

SEGINNINC OF PACE E1NNINC OF LINE

LINE # 634 64 1-*4 2- -3

CP1

CP2

ADCLK. LCOW SERIAL SHIFT REGISTERS AFTER ADDRESS INCENT

SRLOAD'

LLINE

ADRES

8RES

FLINE

sS D

MD

BIT* 2 1 2 3 4 5 6 7 8 9 -. 7 7 8 8 .-.4 8 9 0 10

12 2--239

2 1 2-.2 2 1 24 3 40 9 0

D: CLOCK FOR DISPLAY

Page 46: SIMPSON PERSONAL FILE DO NOT REMOVE

BOARD A -COMPONENT LAYOUT

;$@;W~.:......!!.....

.. ....... U28 U27 -Tx:U26

....BUF BUF SR

6116 6116.... ... .......I...

U2 U24U2

S BUF SRA, BUF :%SR R

U18

88 UX: : -: : . . . ..

U 8 .. ..... .1

U38

NVND

...............................

U7

CNT.. ........ .................................. . ............ .............. ......................... 7-7'7""'r.................. .... ...... .............

U4

CNT............ .... ............ ..................... . ............... ............

~C1

U16NOR

........-

CNT

U6

CNT

.. U5

LCNT:T

GRAPHC L CX) AIRCRAFT DPLAY 6

U20

MUX

-': U11. ..

ACT

FF

U1 .. .. ...: . . ..CS ..

......... .- .................................................... - - -.............. ..

U9

FF............ .................................................................. ... ..... . .......................................I ............................. ............. ..

U2

NAND.......................................................... ...uI.... ..... m ..... hII..... ..... m.....I

...U19 :

../.:-.:.... .. .. . . . . . . - . . ..

U12 88

SACT

PACE 46

i ilf.-Y

.............................* * . . ... . .. . .. .. ................................................

..............

U17

r I VNINV

..............

.. .. .....U13

NAND. AND..............................- -------------

. U14 .....

. .. N T .. . . .

Page 47: SIMPSON PERSONAL FILE DO NOT REMOVE

BOARD B - CObAPONENT LAYOUT

.. ....... ..... .... ....."", ... .... - w .. f .....

f.z .,!f ... !f.f! .............................. ............................. .. ..... .. .... .... ................... ............ -........... ...... .. .... ... .. .. I .. ..... ... .. .. .. - .. ................ ................................* ............................... ................................................. .............. .. .....I ................................................. ........................I ...................................... .............. .............................................................................................. .. .. .... .

.................... .............................. ......................... ................... ....................................... .... .... .. .......-.... ............ ........ ... ............................ ......... .... .. .................................................................................... .... ........................... .................. -... ... .. ......... .... ..... .......... ... .. .- .. ................................................................ ....... ............................... .. .. ... .. ... .... ..... .. ... .. .... .. ...... .... .. ... ..... .. ... ..... I .. ... ... a.......... ........ - -- *- ** ........... ..... ..... ................ ............ ... ........... ...................................*.,.,.,., ....... ............................ .....................................I ....... ........................... .......... .... ............................... ..................................................... ............. ............................................................. ............................................. .............................................* * .................I ........................................................................................ ... ................................................................. .. ........ ...................... .. .. .. . . . . . . . .. .. . I ............ ...... '7777'=.. .. .. .. . . .. .. . . .. .. . . .. . ... . .. .. . .. . .. .. . . . .. . .. .. .. . . .. .. .. . .. .. .. .. .. .. . .. .. .. . .. .. .. . .. .. .. . .. .. .. .. . .. * * * * . .. .. . .. .. .. . . .. .. ........... ............... .. . .. .. .. . . .. .. . .. .. .. .. . .I .. .. .. . .. .. ............ . .. . .. . .. .. . . .. ....... .........

............ ....... ......... ........... . .. .. .. . .. .. .. ..

.. .. . . .. ... . .. . . . .. .. .. - .. . .. . .. .. .. . .. ... . . ... . ... . . ...... .. .. . . . .. .. . .. .. .. .. . .. . . .. .. . .. .. . . .. .. .. .. . .. .

.... . .. . .. . . . . .. .. . . .. .

. .. .. .. . .. . .. ... .. .. . .. .. .. . ... .. . .. .. .. .. . . .. .. .I .. .. . .. .. .. . .. . . . .. .. . .. . .. .. . .. .. .. . ....... .. .* .. . .. .. .. . I . . .. .. .. . .. .. .. . .. . .. .. .. . . . . . .. .. .. . .. . . .. .. -. .. .. . .. .. .. .. .. . .. . .. .. . .. .. .. . . .. . .. ...... .......

. .. .. .. . . .. . .. .. .. . . .. .. .. - . .. .. . . .. . . .. . . .. .. .. .. .. .. ... .. .. . . .. .. . . .. .. . . .. . . .. . . . .. .. ..

.. . .. .. . . .. . . . . .. .. .. .. . ....... .. .. .. .. .. I .. .. .. .. .. . . .. .. .. . .. .. . . .. .. .. . .. .. .. . .. .. .. . . . .. . .

. .. . .. .. .. . .. .. .. . . .. . .. .. . .. .. ... . .. .. . . . .. .. .. . .. .. .. . . .. .. . . .. . .. . . . .. . . .. .. .. . . .. . .. .

. .. . .. . .. .. .. . .. . . .. .. .. . .. .. .. . .. .. .. . .. .. .. . .. .

. . ... . . .. .. . .. .. .. . . . .. . . . .. .. .. . . .. . .. . ......... . . .. .. .. .. .. . .. .. .. .. .. . . .. .. . .. .. . . .. ......... . .. ..... .... . .. .. .. . .. .. .. . . .. . .. . .. .. .. .. . .. .. .. . .. .. . .. .. .. . ....

..............'n, .. .. . .. .. .. . ...... ......... . .. ... . . .

........................ . .. .. .. .. . .. . .. .. . .. .. .. .. . .. . . .. .. I . . .. .. .. . . .... . .. .. . .. . .. .. . .. .. . .. .. .. ... . .. .. .. .. .. . .. ... . * *' ' - * . . .. .. .. . .. .. ... .... .. .. . .. .. .. . . . . . .. . . . . .. I . , .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . . . . .. .............. , * *'*"*'*"-*,***,%**%%""' **%"'***'**" *"**** * * ",.,: ... * , ".., * *,.** * * * *... .. .. .. .. . .. .. . .. . . .. ...................................................... .. . . ... . . . .. . .. .. .. .. . . .. . .. . .. . . .. . . .. . . * . . . . . ... . .. .. .. .. ... .... . . .. . .. .. ... I .. .. . .. .. .. . .. .. . .. . . .. .. .. .. .. . . .. .. .. . .. . . .. .. . . .. .. ... .. .. . .. .. .. . . .. .. .. . .. .. .. .. . . .. .. .. .. .. . .. .. . .. . .. . .. .. .. . .. .. . .. ...

., .. .. .. . .. .. .. .. .. . . .. . .. . .. . .. .. . . . .. ... .. . ... . .. .. . .. .. . . .. .. .. .. . .. .. I . .. . .. .. .. .. ... .. .. . .. .. .. . . .

. .. .. I . .. . . .. .. .. . .. . . .. . . .. . .. .. .. . . .. . .. I . . .. . .. . .. .. ... .. .. . .. .. .. .. .. .. . .. .. . . . .. . .. .. .. .. . .. .. . .. .. .. .. . .. .. . .. . .. .. .. . .. .. .. .

......... ........ ................ ..........., : ... .. . .. . .... .. .. . . . . .. .. . .. .. .I . .. .. .. .. .. .. . .. .. .. . .. . . . . .. . .. . ..

................

...... ...........

. .. .. . .. . . .. . . .. .. .......... . .. .... .. . .. . .. . .. . .. . . .. . . . .. .......................................... ......... .... . .. .. .. .. . .. . . . .. .. .. . . . .. . . .

.. .. .. .. .. . . .. .. .. . .. . I . .. .. . .. .. .. . .. .. .. . .. .. .. . .. .. .. .. ... .. ... . .. . ..*. . . ." . .. .. . .. .. .. .. . .. .. .. . * .. .. ... .. .. . ... . . .. .. . .. .. .. . .. .. . .. . .. t . .. . .. .. ..

.. . .. .. . .. .. . . .. .. .. .. . .. .. .. .. . . .. . .. . .. .. .. ... . .. .. .. . .. .. . . . . .. ..

.. ............. . .. . .. .. . .. .. . .. .. . . . . .. .. . . .. .... .. . . .. . . .. . .. .. . . .. .. .CToUIL

... ... ...... ... ...... ............... .. . ..... . ..... .. .... .. - . ... ... . ...... . .... ... . .................. . ........ ....... .... ............ .... .................... .... ... ..... .B U F . .............. ... ..... m..... ................................... .... ...... .... ...... ............... ....X*%*.*.%,,V .* .. .... ... ... . .. ... .... .. .. .. .......... .. .......... .. ...................... ..... . .............. ....................... ...................... ............................................................................. ...

1"..--------- -

GR4q -#C L CV AIRCRAFT DISPL A Y PAGF 47

Page 48: SIMPSON PERSONAL FILE DO NOT REMOVE

-6 5 4 3 2 1

10b

+ L5766 D

+5U

+5U U12 12C

LS393

GnU d 0u uF x 8 **A ----Gnd dc l

Gnd U13c12

U11 13 iSRLOAD

usBU4LS393 s n_

+ ,,siS3 s

2 OCAE Cn U17b 4U3 33~ R2

4 AP3____ 'aE

-- T R P - )a B3MHz I 'C 2R

____ ~RIOBCP2

AORES

10 CP2+

- " U13b 6 CR

U7 U + U4 U15

B SIMMYCT" + mz Tcr" U12c 1r918e U10aT , P

--- Do 0, - DD 0. .- D194 LLINE 4I 1 FLINE 6D e-D. 0. - D, o -2 > U12a L56U9a

10 T mIPPLE ct CLc IPL T RCP yE - FICARRY 1* CRPP ---- P - .... - 5,sLCL LMCL LD) CL 7

v v 13

L+ 9 Ul3c8

TITLE: DATE:

LCD DISPLAY CONTROLLER / A 10 AUG 84

ENGINE"ER: LEE MARZKE PAGE 01 OF 0287 654 ............ 2

Page 49: SIMPSON PERSONAL FILE DO NOT REMOVE

RD r

wR

1A14

1A12

Dem. 14

1A77

Y. U3a 2 92

LS1577

S-,1 Y. -;

5,± Y4_____4_9_______HIla Y,

1R15 _______r_____ I_

IRI lsIja

11. Y.1A02

IRS U19

LS157

11. YIl Y

104

U11. 4

514U20

LS157nux103

11, Y4

Y0,

', II. ;

l04- -- 1. Y.'

222222222222

1198765432101M

UJSc

U3d

U32

U21

6116

-D

U22 24

4, 6116

1820 21 12

WRM*

WRB1

RBO [RDBO

U26

LS16

U25

k i LS16;

ffi~zI

U27LS243

3 1* 11L

34 4411

44 4.d10

13 1

LS243 U28

AL 4.

_L5243_ U24

U23-] 1243 I

4A 441

I

_1 D2

1A4

1A3

1A2

IRO

TDO

D2

D3

D4

D5

D6

en DS

I i WRBQ

I

i i i

1 ,

Page 50: SIMPSON PERSONAL FILE DO NOT REMOVE

+5

+5VI

-12am

+12mm

3MHZ

WR*

RD*

INT 5.5

T. 0.

RST

C515w

I0/1*

IRI

IP2

-,= IN 7

-4 GNJ RS-232

4mourl

L129

-1 >cT.D

i-xc E-T-S

Tx-c- ST.-

CL

CID

07

US 8251.ADo

104

D3as

:12

-00

FT-5 RX.Dy

RX0 S-DETan

Page 51: SIMPSON PERSONAL FILE DO NOT REMOVE

SCREEN lEMORY LOCATIONS

COLUMN

11012345678901

1 400 * ......... .. .................................. ................................. .

... .. ................. .......... ................ ...

-i ... .. ... .................... ... .............. ..... ....

.. ... .... ....... ............. .... .. ... ....... .....

... . . ... .. .. ... . ... .... . ..... . ... ....... ....

. ... . ...... ..... . . . ... ....

....... ..... .. ........ .. ........ ............ .............

.... .... .... ..... ...... ... .. ....

. ... ... .. . ..... . .. .

111111228901

222222222222222223333333336789013456789

4000 4001 )

401E

476 }... ........ .....

.. ........ ... ...e... ..... ...... .... .... e... ... ....... . . . . ......... ....... ... ....e...

4F7F

12345678

8 PIXELS / WORD

WLq&RVI rMY

- MEMORY LOCATION 4000

Aw N

401C 401

40

.... ... ... .... .... ... .......... .... .................. ............. ... .... ......... ....

.. ... .................... ..... .................. .... ............ .... .... .... .

.... ............ .... .. .... ....... ... .... ..... ...... ..... ...... ........ ..... .. ... .. ... ..

... ..... ......... ... ... ............ .... ... ....... ...... . ... ..: , f 47

Page 52: SIMPSON PERSONAL FILE DO NOT REMOVE

MEMORY MAP

ADDRESS(HEX)

FFF Ct mu'1000 "

RAM BS113FF1400

RAM BS217FF1800

FREE CS

1FFF2000

M-RAM CS420FF2100

MON-RAM

27FF IMAGE

2800"'*

FREE CSS2FFF3000

DEMO CS6EPROM

37FF3800

cmm C573FFF RAM

-CPU CARD

4000

DISPLAY RAM47FF4800

DISPL AY RAM

4FFF - --

^C COTOLER

PORT #

20

21

22

23

24

25

I/O PORTS

COMMAN\D-

STATUS REG.

PORT A

PORT B

PORT C

TIMER L.O.

TIMER H.O.

TIMERIN OUT

8155 I/O CHIP

3MHZCPU CLOCK

INT 7.5(1 mS interupts.)

0000

"SOFT'SWITCHES

Nw

Page 53: SIMPSON PERSONAL FILE DO NOT REMOVE

APPENDIX C.

SHARP LM-24003G DISPLAY

GRAPHIC L JV AIRCRAFT DIL Y PAGE 53

Page 54: SIMPSON PERSONAL FILE DO NOT REMOVE

N DescriptionThe Sharp LM-24003G is a graphic display unit of 240 x 128 full dots which combines a dot-matrix LCD panel and driverC-MOS LSI on a single printed wiring board.It can display graphs, diagrams and characters as bit mapped patterns It is suitable to various types of equipment, such as,compact OA equipment and measuring instruments which require needs of slim, light weight and low power consumption.

*Features* Displaying graphs and diagrams in addition to characters* Very easy to be mounted on other equipment due to compact, slim body and low power consumption* Stable display in wide range of temperature due to built-in temperature compensation circuit* Easy-to-read display with wide viewing angle and high contrast.* The unit operates from +5, -12 power supplies.

EApplications* OA system. Word processor, POS terminal, Computer terminal, etc.* Measuring instruments: Panel meter, Scaler, Analogue digital tester, etc.

* Outline Drawing

Outline Dimensions (Units: mm)

-Pin No 1

Pon No.1

Dot Display Details (Units: mm)

-- e--- -- a---------- - 0

!1 06f,

09,,,,,,,,,,,,,,,,,--------(88

7-

LW A#AQT LMS AY PAW Y PAGE_2 56

Page 55: SIMPSON PERSONAL FILE DO NOT REMOVE

N Mechanical Specifications

Item Specifications Unit

Unit outline dimensions 241 (W) x 125.3 (H) x 14 (D) mm

Effective viewing area 179.9 (W) x 101.5 (H) mm

Display format 240 (W) x 128 (H) full dots

Dot size 0.6 (W) x 0.6 (H) mm

Dot spacing 0.1 mn

Dot color Dark blue

Background color White

Weight Approx. 300 gr

EAbsolute Maximum Ratings

Item Symbol Min. Max. Unit Remark

Supply voltage (Logic) Voo-Vss 0 7 V

Supply voltage (LCD driver) VoD-VEE 0 20 V

Input voltage VIN 0 Voo V

Storage temperature T, -25 +55 *C

Operating temperature T,, 0 +50 *C

M*Electro-optical Characteristics (Ta = 25*C

Item Symbol Min. Max. Unit Conditions

Supply voltage (Logic) Voo-Vss 4.75 5.25 V

Supply voltage (LCD driver) VEE-Vss -13 -11 V

Input signal voltage VIH 0.7 VO VOo V "High" level

VIL 0 0.3 V 00 V "Low" level

Input leakage current IL - 20 pA VIN=5V

Power consumption Pd - 100 mW Voo=5V VEE=-12V

01 40 - degree Co_2Viewing angle 02 - 15 degree Cog 2

Contrast ratio Co 2.0 **2.5 0=15*

* Temparature eripansatiom cireit is buit-ingTypical valu"

Mhtrfae Timing Chart

T-~400ss

CP,.

D 1, - J' _j _ F F0 1- 1 -a--

DI.:

S: 2ps min --- Os mmn

S.(Contraced)4T

-T -W T 4 r -I-1

Page 56: SIMPSON PERSONAL FILE DO NOT REMOVE

N Interface SignalsConnector used: MOLEX 5046-10ACompatible connector: MOLEX 5051-10

Pin No.* Symbol Description ___ Effective Level1 S Scan start-up signal "H"2 CP1 Input data latch signal H - L

3 CP2 Data input clock signal H - L

4 D1, Display data signal (Upper half of screen) H (ON), L (OFF)5 M Drive waveform alternating signal H, L6 V0 Power supply for LCD drive(+)

7 Voo Power supply for logic circuit

8 Vss Ground potential -

9 D12 Display data signal (Lower half of screen) H (ON), L (OFF)

10 VEE Power supply for LCD drive_(-) -

For the location of Pin No., refer to outline dimensions.

a Circuit Block Diagram

I1eemarks) This is tentative information and subject to be changed without notice For detail specifications, contact our sales department

SHARPSAOP CORPORTION OSAKA JAPAN

M eRNATIONAL BUSINESS GROUPELCTRONIC COMPONENTS SALES DEPT

3-1. NAGAIKE-cHO ABENO KU. OSAKA 545, JAPAN~ OSAK A (0616211 221

TECaX NO AAB LASOMETA JE3428(OSKPA)

NORTH SHARP ELECTRONICSAMERICA CORPORATION Distributed by

to Sharp Plaza Par-m NJ 07652. USAElectuom Coponets Dv,,soPHONE (201 265-500TELEX NO 426903 ISHARPAM PARA)

EUROPE SHARP ELECTRONICS(EUROPE) GMBHS'70-a4e320tHa.bo,9I FR Germanyftirco, Comrpcnur, 5,,ocPHONE 4040) 23775 281350TELEX NO 2161 867 (HEEG 0

'a3 @SHARP CORP. DI-16 Sept. '83 1,000W Printed in Jean

4 7 AY

D,

CPI, CP2 , MVoo. Vs5

VE, VO

IC1, IC 2 , IC9 , IC1 0: Scan Electrode Driver1C3 -IC 8 , IC1 1 ~1C16 :Signal Electrode Driver

~W N

Page 57: SIMPSON PERSONAL FILE DO NOT REMOVE

APPENDIX D.

MCG-8085 COMPUTER

GRAP#C L CW AJRCRAFT DIS A Y PAGE 57

Page 58: SIMPSON PERSONAL FILE DO NOT REMOVE

MCG-85 TM

unrnnn

THE GENERALSTANDARD UNIT FEATURES

HARDWARE4 8085A CPU

1 Serial RS232C Port* 2 Programmable 8 Bit Parallel Ports0 1 Programmable 6 Bit Parallel Porte 5 Interrupts, 3 with Maskable Priority* 2304 Byte RAM Capacity On-Board (2048 can be

CMOS RAM)* 256 Byte RAM Includede 4096 Byte of ROM Capacity On-Boarde 2048 Byte of RAM Capacity Included (Programmed

with Expeditor System Monitor)e 2048 Bytes of User Selectable RAM or ROM Capacity

On-Board* Programmable 14 Bit Counter/Timere Power-On Resete External Push-Button Reset Switch* 6.144 MHz Crystal (Provided with Board)e Operates on any Crystal Frequency (1 MHz - 10 MHz)e Data Bus Buffer Capacity On-Board* 44 Pin Edge Card* All Chips On Sockets* Parallel Ports Available on On-Board Socketse Address, Data and Control Bus Available at Edge

Connectore Ample On-Board Prototyping Space* 4 Spare Edge Connector Pins Availablee 6 Spare Pins Available at one of the On-Board Parallel

1/0 Sockets

SOFTWARE"EXPEDITOR" 2K SYSTEM MONITOR

* Programmed on 2716 EPROM* Automatic Baud Rate Detection (50-19.2K Baud)* CP/M' or ISIS' Systems can be used for Program

DevelopmentSYSTEM COMMANDS

- Substitute Memory* Move Memory* Display Memory- Execute- Fill Memory with Constant- Kill Echo- Examine Registers- Insert- String Search and Replace- Assemble- List Disassemble Code

DOWNLOAD COMMANDS. Read Hex Paper Tape Format- Write Hex Paper Format- Hex Sequential Load- Ascii Sequential Load

* 9 Terminal 1/0 and Utility Routines* 6 Test and Compare Routines* 4 Code Check or Convert Routines* Optional Line Assembler on 2716* Optional Disassembler on 2716

A TLAIS COM PLIERS IDNisON of ATLANTIS COMPUTERIZED SERVICES CORP

31-14 BROADWAY, A5[ORIA, N.Y. 11106 (212) 728-6700

GM4R LCD APAQWAFT LZ5PA Y PAG~ 58

Page 59: SIMPSON PERSONAL FILE DO NOT REMOVE

NAROWARE 118CNPTlON

THE USIA CPUThe 8085A CPU Is 100% software compatible with the

8080A while offering the benefits of a single power supply,higher Integration, higher performance and improved systemtiming The 8085A CPU is fully described In the Intel MCS-85User's Manual. The 8085A derives Its timing inputs from thecrystal. In addition, the 8085A drives the system with controlsignals available on-chip. No additional status decoding cir-cuitry is required for most systems. The data bus is multiplex-ed with the 8 low bits to drive the system's memory com-ponents. This is not true in the case of the 8155 which Is inter-nally latched and is therefore driven directly from the 8085A.

8085A INTERRUPTSFour vectored interrupt Inputs are available in addition to

the standard 8080A type Interrupt, (rRAP, INT5.5, INT6.5,1M7.5 and INT). There is also a serial Input (SID) and serial out-put (SOD) data line pair that is used as the system's softwareuart.8155

The 8155 is a highly integrated chip designed for com-patibility with the 8085A's bus structure. It contains 256 bytesof RAM, 22 programmable parallel 1/O lines and a 14 bitcounter/timer.

74LS138 (Address Decoder)The MCG-85 contains a 74LS138 chip that decodes the85A's memory address bits to provide the chip enables for

the 8155, 2716, 5516, 2114s, 6514s and the 2016.

MCG-85 MEMORY ADDRESSINGEach memory I/O on the basic MCG-85 is enabled from the

74LS138 address decoder. The memory map lists each chipoutput enable accompanied by the address space over whichN is active and the MCG-85 device that Is selected. Further-more, any areas marked open are free for expansion; the74LS138 has 4 uncommitted chip select lines to allow for theaddition of four 2048 byte memory blocks without additionaldecoding circuitry.

MEMORY CAPACITY AND DESCRIPTIONThe total on-board capacity of the MCG-85 s 6K bytes, in ad-

dtion to the 256 bytes of Static RAM contained on the 8155.The General can accommodate the following memory chips:2716 24 pin 2048 X 8 5V, 2K EPROM or equivalent3016 24 pin 2048 X 8 2K Static RAM or equivalent9616 24 pin 2048 X 8 2K CMOS RAM or equivalent2114 18 pin 1024 X 4 Static RAMS or equivalent1614 18 pin 1024 X 4 CMOS RAM or equivalentFor the exact on-board combinations, please reference theMCG-85 Block Diagram. The MCG-85 will accept any memoryspeed. Memory supplied as a standard feature with each unitIs a 2K EPROM (2716) containing the "Expeditor Monitor" andthe 256 bytes of RAM available on the 8155.

RS232 SERIAL PORTThe 1488and 1489 provide the RS232 signal levels for the

General. They are the RS232 Driver and receiver respectively.One gate of the 1488 is used for TX data and one gate of the1489 is used for RX data. This leaves three gates available forfuture expansion.

PARALLEL 1/0 PORTSIncluded on the MCG-85 are 22 parallel 1/O lines (on 8155).

They are configured as follows: two 8 bit ports and one 6 bitport (please reference parallel port connector diagram). ThepWrts are available on two on-board 16 pin sockets. Connec-tions can easily be made using 16 pin headers.

TheUtsmss ius busise .. ee wedtad e -neseedf the user wishs to drive aditln off4-rd memoryperipherals. They are not necessary for system operation.

ON-BOARD PROTOTYPING SPACEThe MCG-85 has a small area on-board dedicated for p

totyping. There are 122 pre-drilled holes with solder maskboth sidesithat can accommodate chips with different pinconfigurations.

SOFTWARE DESCRIPTIONAll the software for communication, program development

and program storage, is provided standard with each unit, inthe Expeditor System Monitor. The software features are listedon the front cover. For the system's operation an RS232 typeterminal and a power supply are required. When properly inter-faced to the aforementioned hardware, the General, during"bootup" will automatically calculate the baud rate of the ter-minal (50 -19.2K baud) and transfer the program to the com-mand recognizing routine. At this point, the General will ac-cept any valid command.

SOFTWARE DEVELOPMENTKnowledge of 8085 Machine language is required, in order to

program the General directly, using the commands and utilityroutines on the Expeditor Monitor. In our User's Manual, weprovide useful examples of sample programs (parallel toserial, serial to parallel conversions, data acquisition, interruptdriven AID, remote control of the MCG-85 from host computer,etc.) which will suggest program development methods andpotential uses for the MCG-85.

*PROGRAM DEVELOPMENT UNDER CPM*The General, through the download commands (R&W),

enable the user to develop programs on a CP/M basedcom-puter. The majority, if not all of the CP/M disks existing containan 8080 assembler. This assembler is 100% compatible withthe 8085 instruction set. By using this assembler and takingadvantage of the more powerful editor of the CPM based con-puter, programs can be developed quickly, without the need ofa development system. Subsequently, at each stage ofdevelopment, the code can be downloaded into the MCG-85 byusing the "PIP" CPM command and the "R" (Read Hex PaperTape Format) command of the MCG-85 and tested without theneed for an EPROM to be burned each time. After each worksession, the programs developed for the General can be storedon the floppy disk of the CPIM based system for safe keepingand recall for later use thus eliminating the need for retypingthe code into the General from the beginning each time.

UPLOADINGUsing the "W" (Write Hex Paper Tape Format) command will

enable the user to save programs developed on the General ona system that supports a disk drive. Through this method,machine language programs can be saved and later retrievedthrough downloading thus eliminating the need for reenteringcode.

THE GENERAL IN DEDICATED SYSTEMSIn the event that the MCG-85 is intended to be used as a

Dedicated Controller, and because it has a software UART Fnot a hardware UART, the UART part of our monitor may ,copied and incorporated into the Dedicated Controller pro-gram. It is about 100 bytes long and can very easily be in-tegrated into the software.

This method of program deveoipment can also be used with an ISISr based erany other computer which wdi generate 8060 code in Hex Paper Tape Formst

U4WV LW -IFY AMWN

Page 60: SIMPSON PERSONAL FILE DO NOT REMOVE

NAME: The Micro Computer General 85 - MCG-85.PHYSICAL DIMENSIONS: 4.5 x 6.5 inches.PRINTED CIRCUIT BOARD MATERIAL: Fire Retardant Glass Epoxy.SOLDER MASK: Both Sides.TYPE OF CHIPS USED: 1st Grade Commercial.SUPPLIERS: Only Franchised Distributors. References on Request.

ELECTRICAL CHARACTERISTICSCURRENT REQUIREMENTS FOR FULLYCONFIGURED BOARD

+5V at 1A±12 at 20MA

FUNCTIONAL CHARACTERISTICSSTANDARD UNIT

ADDITIONAL REQUIREMENTSFOR OPERATIONBAUD RATE

CRYSTAL

PARALLEL O

SERIAL PORTTIMER PORTEDGE CONNECTOR BUSCONNECTOR USEDAPPLICATIONS

SUPPORT CARDS ANDRELATED PERIPHERALS

Completely functional computer card monitor softwarein ROM and illustrative User's Manual.3 voltage power supply and RS232 terminal.

50-19.2K baud rate. The baud rate of the terminal used iscalculated automatically by the Expeditor System soft.ware.6.144 MHz crystal provided with the MCG-85 (can operatewith crystal frequencies from 1-10MHz with no modifica-tions).Dip socket access for the two 8 bit and one 6 bit parallelports.RS232 port available at edge connector.Dip socket access to the 8155 timer.ATLANTIS COMPUTERS 44 Pin MCG BusTM.44 pin edge connector; .156 centers.Industrial controls; dedicated test and monitoringsystems; communication subsystems; small scale dataprocessing; A to D, D to A conversions and processing;data logging; data acquisition; prototyping and ex-perimentation.The MCG-85 is supported by a full line of cards, all onthe MCG Bus"m which is the standard we have establish-ed; see inserts for all available cards.

INTEL and ISIS are registered Trademarks of INTEL CORPORATION.CP/M Is a registered Trademark of DIGITAL RESEARCH, INC.

MCG Bus Is a Trademark of ATLANTIS COMPUTERS.

CALL US FOR DETAILED INFORMATIONATLANTIS COMPUTERS' design engineers will be glad to work with you and investigate your specific applications and requirements.

Call direct (212) 728-6700 or write ATLANTIS at the address below.

PRODUCT DEVELOPMENT A PROBLEM?bhe.00 you hire expensive outside consultants, give us a call. We can design, prototype and develop customized software for any project involvingth MCG-85.

ATLAIIS COMPUIMERS . .. COMERIZED SEICES CORP

31-14 BROADWAY, ASORA, N.Y. 11106 (212) 728-6700

Page 61: SIMPSON PERSONAL FILE DO NOT REMOVE

*.Mk 1e114 eD COWUTEi'

A. EDGE CONNECTOR PINOUT

PUNCTION CODE PIN PIN CODE FUNCTIONsound GRD 1 A Vcc +5 Volts%ceve data RX 2 B DO

YTansmit data TX 3 C DiWROMPaogrammingVoltage EPV 4 0 02-12 volts -12v 5 E 03+12 volts +12v 6 F 04

7 H *Clock CILK 8 J A2

RESET INIO1M

Fnad RDAIOAltAgA8A12A13A14A15

ROY

AlAOA3A4wD7D6D5A5A7A6INT75INT6 5INT5 5

PORT CONNECTOR PINOUT

. (JL) Timerout B7 (JR)* Timerin B

P C5 85 P P0 C4 B4 0 0

. R C3 83 R R

. T C2 B2 T T#C1 a1 #f #

OAUD 23 Co 80 22 21

AD-A15 ADDRESS BUS, 00-07 BIDIRECTIONAL DATA BS*Available pins for user modification

MCG-85 MEMORY MAP

MONITOR ROM (2K) CSO

EXP EPROM(2K) CS1

EXP RAM1(1K) BS1

EXP RAM2 (1K) BS2

BASIC RAM (256 BYTE)CS4

BASIC RAM IMAGE

OPEN(2K) CS3

OPEN(2K) CS5

OPEN (2K) CS6

OPEN (2K) CS7

r, W L. W -0 -,KT A -I

Page 62: SIMPSON PERSONAL FILE DO NOT REMOVE

MCG 85RESET

SWITCH

ADDRESSDECODER-

1488

1489RS232

OORT SIGNALTLEVELS

2716WITH

EXPEDITORMONITOR

8155PARALLEL I/O

TIMER256 BYTES RAM

8085ACPU

6.144MHzCRYSTAL

DATA BIJSBUFFER

EXPANSION(OPTIONAL)

A

2 K MEMORYEXPANSION2716, 2016

or 5516(OPTIONA L)

2 K EXPANSION44 PIN ACCOMMODATES

MCG BUS 2114's or 6514 s(OPTIONAL)

ATL.4 rTIS COM PLIERS DMSION OF ATLANIS COMPUTERIZED SERVlCES CORP

31-14 BROADWAY, ASORL4, N.Y. 11106

£W 1 LW AcAC9QT LKEWLA Y

(212) 728-6700

PA 62

PROTOTYPINGAREA

DIP SOCKETSPARALLEL I/O

TIMER

Page 63: SIMPSON PERSONAL FILE DO NOT REMOVE

A. GENERAL CONNANDS

*Substitute command. SXXXX (SP) :The substitute command allows the user to modify memorylocations individually. The command works as follows.

a) Type an S followed by a 4 hex digit address of the first

memory location you wish to examine, followed by a space.b) The contents of that memory location are displayed,followed by a dash.c) To change the contents of the location displayed, typein the new data, followed by a space. The contents of the

next higher memory location will automatically be displayedand be available for modification.d) Type a carriage return. the S command willautomatically be terminated.

*ove memory command. MXXXX,YYYY,ZZZZ (cr)The move memory command moves the contents of memory between

hex locations XXXX and YYYY to destination field starting ataddress ZZZZ.

*Display memory command. DXXXX,YYYY (cr)The display memory command will produce a formatted listingof the memory contents between XXXX and YYYY. Each line ofthe listing begins with the address of the first memorylocation displayed on that line, represented by four hexdigits followed by up to sixteen memory locations each onerepresented by two hex digits.

'Execute command. GXXXX (cr) :Control is transferred from the monitor to the programstarting at address XXXX. If XXXX is not specified themonitor uses as an address the value on top of the stack.

'Fill memory with constant. FXXXX,YYYY,DD (cr)The fill command will put a single byte constant denoted byDD in all the memory locations between XXXX and YYYY.

*Kill echo command. K (cr) :Initially the MCG-85 will echo characters that are receivedfrom the console device. Upon issuing the K command the MCG85 will toggle the echoing on and off. MCG-85 will not echoreceived characters after the K command has been issued.This will allow communication with devices that operate inHALF DUPLEX mode, also this command will insure trouble freeoperation (no missing characters) when downloading.

'Elamine registers command. X (register identifierDisplay and modification of the CPU registers is possiblewith this command. The X command uses a register identifierto select the particular register to be examined. Aregister identifier is a single alphabetic character(A,B,C,DE,F,I,H,L,S,P,H)

'Insert command. IXXXX (cr)Insert command can be used to insert a single instruction oran entire proram in memory. The monitor waits for the userto type in a string of hex digits. Each digit in the stringis converted to its binary value, and then loaded intomemory. Two hex digits are loaded into each byte of memory.

&?APHIC LW A1RCRAFT DI&PL A Y PAQF 63

Page 64: SIMPSON PERSONAL FILE DO NOT REMOVE

*sTring search and replace T XXXX (cr).Proats user for search string, then finds the firstoccurance of that string starting at address XXXX. Displaysthe address of the string occurence at which time the userhas the option of replacing the string by typing in the newstring or the user can go on to the next occurence of thesearch string by hitting (cr). The command terminates whenuser types (e3c).[e.g. You wish to change all calls to a subroutine which wasoriginally at 2080 but is now at 20A4. If your programstarts at 2000 you would type T2000(cr). The monitor wouldpromt you for the search string in this case that would beCD8020. The monitor would then search for the firstoccurance of the string, at which time it would print itsaddress on the console and allow you to change contents ofmemory starting at that address. To continue search type(cr), to end search type (ese)

*Assemble AXXXX(cr).If the optional line assembler is mounted on the MCG-85,then assemble user lines starting at address XXXX.

C. TERMINAL 1/0 ROUTINES + UTILITY ROUTINES

OCI (Character input ) [0065H]Waits for an ASCII character to be received from the consoleand returns its value in the A register.

*CO (Character output ) (0068H]Transmits the ASCII character in C to the console. Thecharacter is printed at the current print position.

*SNOUT (Hex number printer ') [006BH]The 8 bit quantity in A register is printed at the consoleas two hex digits.

'CROUT (Carriage return line feed ) [006EH]Sends carriage return and line feed to the console.

'CRSEND (Send characters until carriage return ) [0071H]The contents of H,L contain the address of the characters tobe sent to the console sequentially until a carriage returncharacter is found in the string.

*BSEND (Send characters until B=0 ) (0074]Register B contains the number of characters to be send tothe console, H,L contains the beginning address of thestring.

*CSEND (send character in C reg. B times) [b077H]Register B contains the number of times the character inregister ,C will be sent to the console.

'ASCGET (Input characters until B=0 ) [007AH]Input characters from the console until content of Bregister is equal to zero. Register H,L contain address ofwhere string will be stored. The CARRY is set if routineterminated by carriage return before B=0.

*GETBYT (Get two characters and form byte ) [007DH]First character from input stream becomes lower hex digit,second character becomes high hex digit of the byte returnedin A.

l~APH*IJC & -X? AJRLAFT SI.A Y q- 64PA&c M4

Page 65: SIMPSON PERSONAL FILE DO NOT REMOVE

DOWNLOAD CONNANDS

*Read hex paper tape format. R (cr)Accepts information in the hex paper tape format. It startsout by looking for the colon leader, then it picks out therecord length and the address of the record. After thisparameters have been acquired incoming ASCII characters arestripped down to 4 bit HEX digit format. It takes twoincoming ASCII characters to form a byte whLeh 'is stored inmemory. The command terminates when a record length of 00is detected. The format it expects follows.[ :10203000CD40203E25....23 3This record is 16 bytes long and it is to be placed startingat address 2030. The first byte of the record is CD, thecheckum is 23.

*Write hex paper tape format. W XXXXYYYY,ZZ (cr)Writes 16 byte records in the hex paper tape format.Records start at address XXXX and continue until all datahas been sent up to address YYYY.The parameter ZZ (if ZZ=DD then delay is on) determines if adelay of 12 seconds should occur before the W command startssending out formatted data. At the end of each line thereis a .5 second pause to allow for software delays.

*en NOTE *** BY USING THIS COMMAND A USER CAN SAVE AMACHINE LANGUAGE PROGRAM ON A COMPUTER THAT HAS A STORAGEFACILITY.

*Hex sequential load. H XXXXYYYY (cr)This command will consider any incoming characters as 8 bitquantities that are to be stored in successive memorylocations starting at address XXXX until the commandterminates when we reach the address YYYY.

*ASCII sequential load. C XXXXYYYY (cr)ASCII load expects its input to be ASCII encoded hex digitswhich are converted to bytes and stored in memory locationsstarting at XXXX until YYYY. This command accepts groups oftwo ASCII characters only if they are preceeded by a space.

[This command is used when we want to transfer hex data fromany computer system that has a display memory command) tothe MCG-85 ].

E. CODE CHECK OR CONVERT.

OVALDIG (Check for valid hex digit ) [008FH]Checks if register A contains a valid hex digit. CARRY isset if A contains valid hex digit, carry is clearedotherwise.

*PETAL (Converts HEX to ASCII ) (0092H)Converts the hexadecimal digit in register C to an ASCIIcharacter in register C.

*CNVNIBBLE (Converts ASCII to HEX digit ) [0095H)Converts the ASCII character in A to a HEX digit in A.

*CETBYTE (Convert ASCII to two HEX digits ) [0098H]Assumes the contents of B,A registers contain two ASCIIcharacters. From these characters it forms two HEX digitsas a byte of data returned in the A register.

GRAPHIC LC AIRQRAFT DPL A Y PACE 65

Page 66: SIMPSON PERSONAL FILE DO NOT REMOVE

D. TEST + COMPARE ROUTINES.

*HILO (Compare 16 bit integers ) [0080H]Compares the 16 bit integers in HL and DE. The CARRY flagis set if the contents of HL are larger than than or equalto the contents of DE; the CARRY is cleared if the contentsof HL are less than the contents of DE.

*STRING (Strinj[compare ) [0083H)Register pair DE contain the address of STRINGI; HL containthe address of STRING2. Register B contains the length ofthe string. The CARRY is set if the strings are equal,otherwise the CARRY flag is cleared.

OSTRUE (Set carry and return ) [0086H]Strue is JUMPED to by routines wishing to indicate success.Strue sets the CARRY flag to indicate success and thenreturns to the calling program.

*SFALSE (Clear carry and return ) [0089H)Sfalse is JUMPED to by routines wishing to indicate failure.Sfalse clears the CARRY flag to indicate failure and thenreturns to the calling program.

*BCDADD (Binary coded decimal addition ) [008CH]Register pair HL contains the address of the FIRST number,while register pair DE contains address of SECOND number.Register B contains 1/2 the number of BCD digits to beadded. The sum replaces the FIRST number.

ODELAY -(Delay proportional to content of DE ) [009BH]The contents of register pair DE are decremented to producea delay of a few microseconds to approximately 1/2 second.

F. RESTART INSTRUCTIONS

RST 1, RST 2, RST 3. RST 4, RST 6. RST 7 all cause a "warmstart". Upon executing any of the previous restartinstructions control is transferred to location 0008H. Thecontents of all registers are saved and therl displayed onthe screen, control is then transferred to the commandrecognizing routine.

RST 5 will sound the bell at the console and then transfercontrol to the command recognizing routine. (RST 5 will notcause the contents of the registers to be saved.)

GRAPHIC LCD AIRCRAFT DIS cLA Y PAGE 66

Page 67: SIMPSON PERSONAL FILE DO NOT REMOVE

The following is a summary of the instruction set

8080/85 CPU INSTRUCTIONS IN OPERATION CODE SEQUENCE

Op OP OPCODEJ MNEMONIC JCODE1 MNEMONIC 1CODEJ MNEMONIC.

00 NOP

0f LXI 8,01602 STAX B

03 INX 8

04 INR B

05 DCR B06 MVI 8,08

07 RLC

08 -

09 DAD 8

OA LDAXB

08 DCX BOC INR C

00 DCR C

OE MVI CD8

OF RRC

10 --

11 LXI 0,016

12 STAX D

13 INX D

14 INR D

15 DCR D

16 MVI D,08

17 RAL

18 --

19 DAD D

IA LDAXD

iB DCX 0

IC INR E

ID DRC E ,

1E MVI E,D8

IF RAR

20 RIM

2) LXI H,D16

22 SHLD Adr

23 INX H

24 INR H

25 DCR H

26 MVI H,D8

27 DAA

28 -- '

29 DAD H

2A LHLD Adr

DCX H

INR LDCR L

MVI LD01

CMA

SIM

LXI SPD16

STA Adr

INX SP

INR M

DCR M

MVI M,D8

STC

DAD SP

LDA Adr

DCX SP

INR A

DCR A

MVI A,DD

CMC

MOV 6,8

MOV B,C

MOV B,D

MOV B,E

MOV B,H

MOV B,L

MOV BlM

MOV BA

MOV C,8

MOV C,C

MOV C.D

MOV C,E

MOV C.H

MOV C,L

MOV CM

MOV C,A

MOV D,B

MOV D,C

MOV DD

MOV D,E

MOV DH

MOV D,L

MOV D,M

MOV DA

MOV E,8

MOV E,C

MOV E,D

MOV E,E

MOV E,H

MOV E,L

MOV E,M

MOV EA

MOV H,B

MOV H,C

MOV H,D

MOV H,E

MOV H,H

MOV H,L

MOV H,M

MOV HA

MOV LB

MOV L,C

MOV LD

MOV L,E

MOV LH

MOV L,L

MOV L,M

MOV LA

MOV MD

MOV MC

MOV M,D

MOV M,E

MOV M,H

MOV ML

HLT

MOV MA

MOV A,8

MOV A.C

MOV A,D

MOV A,E

MOV A,H

MOV A,L

MOV AM

MOV AA

ADD B

DO S constant, or log-cal/arilhmetic expression that evaluates

to an 8 bit data quantity.Adr - 16 bit address

oP OP OPCODE MNEMONIC CODELMNEMONIC CODE MNEMONIC__

81

82

8384

as

86878889

8A

88

SCOD

SE8F

9192

9394

95

%6

97

98

999A

98

9C

90

9E

9F

AO

AlA2

A3A4

AS

A6A7

A8

A9

AA

AB

ADD C

ADD D

ADD E

ADD H -

ADD L

ADD M

ADD A

ADC B

ADC C

ADC D

ADC E

ADC H

ADC L

ADC M

ADC A

SUB B

SUB C

SUB 0

SUB E

SUB H

SUB L

SUB M

SUB A

588 8

SBB C

SBa D

588 E

SBB H

SOB L

SOB M

SBB A

ANA B

ANA C

ANA D

ANA E

ANA H

ANA L

ANA M

ANA A

XRA B

XRA C

XRA D

XRA E

AC

AD

AEAF

B0

Bl

B2

B3

84as

86

87

88

89

BA

B8

BC

BD

BE

F

CO

Cl

C2

C3

C4

CS

C6

C7

CS

C9

CA

CB

CC

CD

CE

CF

DO

01

D2

D3

D4

DS

D6

XRA H

XRA L

XRA M

XRA A

ORA B

ORA CORA D

ORA E

ORA H

ORA L

ORA M

ORA A

CMP 8

CMP C

CMP D

CMP E

CMP H

CMP L

CMP M

CMP A

,RNZPOP 8

INZ AdrJMP Adr

CNZ Adr

PUSH B

ADl DO

RST 0

RZRET Adr

jZ Ar

CZ Adr

CALL Adr

ACI DO

RST 1

RNC

POP D

)NC Adr

OUT D8

CNC Adr

PUSH D

SUI D8

D7

D8

D9

DA

D

DC

DD

DE

DF

E0

El

E2

E3

E4

ES

E6

E7

ESE9

EA

ED

EC

ED

EE

EF

F0

F1

F2

F3

F4

FS

F6

F7

F8

F9

FA

FEFC

FD

FE

FF

RST 2

RC

IC Adr

IN 08

CC Adr

SBI 08

RST 3

RPO

POP H

JPO Adr

XTHL

CPO Adr

PUSH H

ANI D

RST 4

RPE

PCHL

jPE Adr

XCHG

CPE Adr

XRI D8

RST 5

RP

POP PSWIP Adr

DI

CP Adr

PUSH PSW

ORI 08

RST 6

RM

SPHL

JM Adr

El

CM Adr

CPI D8

RST 7

D16 * constant, or logical/arithmetic expression that evaluates

to a 16 bit data quantity

ALL MNEMONICS C 1974, 1975, 1976, 1977 INTEL CORPORA TION

GRAPHIC L CD AIRCRAFT 11PL A Y PAGE 67

Page 68: SIMPSON PERSONAL FILE DO NOT REMOVE

ASCII CODESThe 8080 and 8085 use the sevcn-bit ASCII Lode, with the high-order eighth bit(parity bit) always reset.

GRAPHICOR ASCIICONTROL (HEXADECIMAL)

NUL 00SOH 01STX 02ETX 03EOT 04ENO 05ACK 06BEL 07BS 08HT 09LF 0AVT OBFF OCCR ODSO GES1 OFDLE 10DC1 (X-ON) 11DC2(TAPE) 12DC3 (X-OFF) 13DC4 (T APE 14NAK 15SYN 16ETB 17CAN 18EM 19SUB 1AESC 1BFS iCGS 1DRS 1EUS IF

SP 202122

# 23

S 24% 25

& 262728

292A

GRAPHI-C LCV AIRCRAFT DMIL A Y

GRAPHIC OR ASCIICONTROL (HEXADECIMAL)

V 56W 57X 58Y 592 SA

585C50

A () 5E- 5F

60

61

b 62c 63

d 6465

1 66

9 67h 68

69

6A

k 686C

m 6D.n 6E

0 6F

p 70q 71r 72s ' 73t 74

u 75

ii 76

w 77x 78

y 79

2 7A787C

(ALT MODE) 7D7E

DEL(RUBOUT) 7F

PA 68

Page 69: SIMPSON PERSONAL FILE DO NOT REMOVE

APPENDIX E.

PROGRAM LISTINGS

GRAPHIC LCD AIRCRAFT L Y ML 69PAG|E'Q 69

Page 70: SIMPSON PERSONAL FILE DO NOT REMOVE

0524 =

0466 =

009B =0479 =

0800

0800 AA

.* *

* L CCCCC DDDDD AAA SSSSS N11M *

* L cc DO D A A SS MMM *

* L cc DD D AAAAA SS M M M *

L CC DD D A A SS M M *TLTS CCCCC DDD 0 A A SSSSS M M *

;REVISION HISIORY: VERSION: 1.2

;DATE: CHANGES:;23 APR 84 WRITTEN BY LEE MARZKE;13 MAY 84 FIXED MANY BUGS IN PUT,PUTX, AND DROTR16 MAY 84 ADDED GETBAUD CALL, AUTOBAR

* ********** ******** ******* *** * *** ******* ***** ***** ***

IHIS IS A GRAPHICS AND TEXT DISPLAY PROGRAM FOR THESHARPE LM-24003G LCD DISPLAY. IT IS WRITTEN 'IO RUNON 'THE MCG-8085 COMPUTER HAVING A LHM-24000 DISPLAY

;CONTROLLER BOARD.TEXT STRINGS AND GRAPHIC SYMBOLS ARE DEFINED AT

;INITILIZATION. THE TEXT STRINGS MAY THEN BE CHANGEDAND B3'In STRINGS AND SYMBOLS MAY BE M0VED T0 ANY;COORDINATE ON THE SCREEN.

CRIFSSADASCmSKSY1MSKDEMOFUNCT

EQUATESODHOAH4000H03FH080H03000H03050H

0801080208050808080A080D0810

081308140817081A081D081 E081F082008230826082708280829082C

082D0830083108340837083A083D083F08420845

;CARRIAGE RETURN;LINE FEED;START OF DISPLAY RAM;ASCII MASK;SYMBOL MASK;DEMO, FUNCTION EPROM;ENTRY FOR FUNCTION COMMAND

- MONITOR CALLS

MRES EQU 0000H ;MONI'TOR COLD STARTMo EQU 000811 ;MONITER WARM START (MUST BE

- CALLED)wCI EQU 0065H ;?MmITOR INPUT ROUTINE

; RETURNS ASCII CHAR. IN A.CO EQU 0068H ;MONI'IOR OUTPUT ROUTINE

; SENDS ASCII CHAR IN C.MCRLF EQU 006EH ;SENDS CR, LF 'IO CONSOLEHILD EQU 0080H ;16 BIT COMPARE OF DE,HL

AF3216113202113E07321711CD1308C32D08

AF321111211211111811732372211411110013732372CDE508C9

31A811AF320011320111CD170D3A0030FEBBCA0130CD7904C35308

; CARRY SE' IF HL>=DECCEV EQU 0524H ;CONVERTS IWO ASCII CHAR. IN

; A, B TO HEX DIGIT IN AVALDL EQU 0466H ;RET WITH CARRY SET IF CHAR.

; IN C. IS A VALID DELIMITERDELAY EQU 009BH ;DELAY PROPIONAL 'IO D,EGETBAUD EQU 047911 ;CALCUIATE BAUD FROM SPACE CR

ORG 0800H

DB OAAH ;AUIOSTART BYTE

;COLD START HEREINIT:

INSTAB:

XPASTASPAMVISTACALLJMP

XRASPALXILXImoVINXMOVLXILXIMOVINXM0VCALLRET

AEFLAGFUNBYTA, 07HCSPACEINSTABGO

ANUMSYMH, NEWSYMD, SYMTABM, EIfM, DH, NEWDATD, DATAM, EH

;A=O;DCHO ON;FUNCTION OFF

;CHARACTER SPACINGINIT SYM. TABLE

INIT SYMBOL TABLE

' WARM STARr MTRY HERE

LXIXRASPASPACALLLDACPIJzCALLJMP

SP, STACK; INIT STACKA ;A=0BUFTOPBUFBOTCRLFDF24 ;SEE IF DEMO ROM PRESENTOBBH ;DEM0 PRESENT BYTEDEMO+1 ;YES, JUMP 'TO DEMO 1MGE77BAUDGETCmD ;NO

JUMP TABLE

000DOOOA4000003F008030003050

0000 =0008 =

0065 =

0068 =

006E =0080 =

Page 71: SIMPSON PERSONAL FILE DO NOT REMOVE

0850 ORG 0850H0850 C3AFOC WRBUF: JMP0853 C35608 GEECMD: JMP

; COMAND IMPLEMENTING BOUTINESWRBUFRGETCM.

; CMAND RBCGNIZER RUTINE

FUNCTION: GET CCMtANDINPUTS: NONEOUTPUTS: NONECALLS: RDBUF, ECHO, ERRORDESTRDYS: A,B,C,H,L,FDESCRIPIION: GETCMD RECEIVES AN INPUT CARACTER FRM

THE INPUT BUFFER AND ATTEMPTS 70 LOCATEIT IN THE CXMAND WHARACTER TABLE.IF SUCCESSFUL THE RUTINE CORRESPONDINGTO TflS CGARACTER IS SELCTED FROM ATABLE OF COMMAND ROUTINE ADDRESSES, ANDCCNTROL IS TRANSFERRED TO THIS 10UTINE.

SP,STACK;LCD STACK POINTER SEEC, '#'

EHORDBUFB, NCMDSH,CIABMGTC1OHCGLC05ERRORH,CADRBBA,M,HH,ML,A

C, '*'ECHOCRLFGETCmD

;PROMPT CHARACTER

;NUMBER OF COMMANDS;COMMAND TABLE;COMPARE TABLE ENTRY AND CHAR.;CMD. RECOGNIZED;ELSE, INC TABLE POINTER;DEC LOP CX)UNT;BRANCH IF NOT AT TABLE END

;ADR OF TABLE OF COM. FOUTINE; ADDRESSES-ADD REMAINDER OF LOOP COUNT; 'WICE BECAUSE ENTRY 2 WORDS

THE FOLLOWING SHORTHAND IS USED BELtW:## - SYMBOL IDENT (TWO HEX DIGITS)XX - X POSITION " "

YY - Y POSITION o "

HH - HEIGHT IN PIXELSWW - WIDTH IN WORDS (UNITS OF 8 PIXELS)BBB.. - HEX DIGITS (IN GROUPS OF IWO) REPRESENTING

THE SYMBOL '0 BE SI ORED.STRING - ASCII STRING IN THE RANGE OF 20H TO 60H<CR> - CARRIAGE RETURN

;NOTE: THE UPPER TWO BITS OF ## ARE MASKED AND SET TO:00 - FOR ASCII STRINGS01 - FOR SYMBOLS

FORMAT: A##/STRING <CR

0888 CDDOOC088B E63F088D F5088E CDDFOC0891 FE2F0893 CABF080896 4F0897 CD6604089A D27D08089D Fl089E CD610B08A1 D27D0808A4 E508A5 CD580C08A8 El08A9 CDDOOC08AC 7708AD 23O8AE CDF30C08B1 CDDOOC08B4 7708B5 2B08B6 CDE50C08B9 CDO30C08BC C3530808BF Fl08CO F508C1 CD610B08C4 D2D50808C7 E508C8 23

AmD: CALLANIPUSHCALLCPIJz?oVCALLJNCPOPCALLJNCPUSHCALLPOPCALLm0VINXCALLCALLMOVDCXCALLCALLJMP

AC10: POPPUSHCALLJNCPUSHINX

A##,XX,YY <CR>

GETBYrASCMSKPSWGEIG CR',/'

AC10C,AVALDLERRORPSWSYMADR.ERIORHCLRSTRHGEEBYT'M,AHGEEDLGETBYrM,AHGETCRPUTSTRGETOMDPSWPSWSYMADRAC15HH

> (ENTERS OR CHANGES STRING)(CIANGES X,Y POSITION)

;SAVE SYM #

;CHANGE STRING VALUE?;YES

;NO, MOVE STRING LOCATION

;SYM #;GET STORAGE ADR;STRING NY FUND;SAVE IT;ERASE OLD STRING

;X POS

;Y POS

;GET SYM #;SAVE AGAIN

;SYMBOL FCUND?;YES, SAVE ADR

08560859085B085E0861086408670868086B086C086D087008730876087708780879087A087B087C

31A811OE23CD030DCD7DOCO1OE0021380DBECA730823ODC26708C37D0821460D09097E23666FE9

GEI'M: LXIMVICALL

GC03: CALLLXILXI

G0T05: CMPJzINXECRJNZJMP

GT10: LXIDADDADMDVINXM0VM0VPCHL

ERROR: MVICALLCALLJMP

087D OE2A087F CDO30D0882 CD170D0885 C35308

Page 72: SIMPSON PERSONAL FILE DO NOT REMOVE

=~aId L = DNLY'kS H12JOu~VVO.DNI3vds u12.Iv~1V1 2aim

01.flL dWCE-1Ddf9 7W323VdsD VJS

HLO'V IAW :C9,04<013> M :dLVMj02

G1DJao d~f

HmiTM'JMD~iaH 's2.LvicrdooDx jaol rnuIxD q'pjD :U.r~<H3> AA 'Xx## :aJVMJ02

SaLVNI0rdODD A 'X ILV '1OHWAS Jl

CHM dWC

Z13J2D TiV3

='2Id 9 = ONIZ)VdS Uli3VHV-D" H90 IV IAW :(ON~rONIZ)VdS 82JJWdVH3 M~ddVN <HZ3> N JHA

CROMOL2 dWP

JNIOd ix2N im.e caW3J dwP

VWVM A 32S -' rCnVA fON., V'3 ACI'

ILNI~d TIV3JNT~d J2S1' HaiO'V IAW

V'3 A011* 0d117 A 129 J.,a129 TIV

V'0I AGW*ollco x J29-, j.TUaa9 'rw :QjJJ

<'d;) *'AX'AXX'AA0C UVWOA3

0VM L2 dWrHa3L 1 TMV

luao' IV IW 0

UWAMJ2 dNP9V.ISNI 7m1V'd1-l29D TMV :CFDI

alsylL 'I0GWAS LINI1

<1i> I uwo

GICU12 diw

80ESED3052(13-TTLTE£

L02C

0860GL60VL608L60

JNfLMSd

H3J2DMSd

013>O

ROESED SL60V090C13 ZL6060903 3960

80ESEZ) 39603052(13 696011L1ZE 9960

902£ t,960

80ESED

602C80C0LZUt'09903

609SV3)

6003(1332£

LS300003

dol

TV :Gw~.r

aNDMZ9 dNP113120 TIvD

cH39 NO NR1flL- 9xfl3 vilsV cQi2Z .V vuli *cmNoOK) <HDn01> 2 UV I

ClaNIM2 AGVaHW2 3l 1101112-T960US60US60BS60S 560tI560T56031760317606t760Lt76091V6051760Zt76011760ZE60

caq,-l'19113129D

WASJ29mlld

**10J29H117ud1

SS31100V dfl )40071- 11OWASJMC1I I AVS MSd

)IS4Ias

dWPTIVDTIV3

dOd7m3

DrTIV3HSfld1110IRNTMV

ocosUD13

D0SWcDSA

D00OGC

80ESEDX)5203TT9TZE

aV

T05£

0813

AS92:Qg~ 300003

<HD3> *8888M 11#0:.JVMjd :

tt 0(t

110(

80£5£3 9C60305203 8£60119TZE S£60

332£ £E60

80ESM3 0E6080ETG3 GZ603052(13 VZ60

90ESE3 LZ60

1211 63SID3 W, B032C0

0118H TIVD 000893Z3'W ACW ~ TL

H XNI SqDI33'W A01 T IL

)050' lxil 0500T1Ot'0'H lxl 0170OTZ800 '3 lAW 1fHM 0020

ThrJM (W R80COW13 'fM 805203o

H113129 TIVO M01OY 305203

ON., msd

# WAS1

PSd110V WAS! H

H

<ED3> D :Jl'IwJQA -

dWPTIV3

dOddWPTMD

dOddOdTJlVDXNI

80ES£D 60180801730 96380

:STO 13 5080G80£5£3 Z(180D0£C13 3380

13 238012 0380

DOZZC3 VD80EZ 6D80

K 60EZ6031603T60

6T609160£ 160Z T60

3060306060608060S060Z06033803380Da80V1480L£480

9a80C£480038032809980(O80V380L280S280

Zge03Q80D080

K svam

Page 73: SIMPSON PERSONAL FILE DO NOT REMOVE

XOR SYMBOL WITH SCREEN AT X,Y COORDINATESFORMAT: X##,XX,YY <CR>

X##/<CR> - USES OLD COORDS0983 CDB609 XCMD: CALL GXYHL0986 CD380A CALL PUtrx0989 C35308 JmP GETMD

09CB CDFBOC09CE CDDOOC09D1 7709D2 2309D3 5709D4 CDF30C09D7 CDD0C09DA 7709DB 2309DC 4F09DD 4209DE C509DF 5609E0 2309E1 5E09E2 2309E3 CDE50C09E6 Cl09E7 EB09E8 C909E9 4609EA 2309EB 4E09EC 2309ED C3DE09

; MOVE SYMBOL F1M OLD POSITION 'IO X,Y COORDINATES- FORMAT: M##,XX,YY <CR>MD: CALL GETBYT ;GET ADDRESS

ANI ASCGSKORI SYHItSKCALL SYMADR.JNC ERRORPUSH H ;SAVE ADDRESSt0V B, M ;OLD X POSINX HMDV C,M ;OLD Y POSINX HMDV D,M ;GET HEIGHTINX HFDV E, M ;GET WIDTHINX HXQGCALL PUI'X ;ERASE OLDPOP H -GET ADRESSCALL XYHL ;XOR NEWCALL PUI'XJMP GETCMD

; FORMAT: Z <CR>09BO CDE50C ZCMD: CALL GEICR09B3 CD0800 CALL mo

CALLCALLMDVINXMDVCALLCALLMOVINXMOVDV

XYH: PUSHMDVINX?4VINXCALL]POPXCHGRET

XY: MOVINXMDVINXJmp

GDLGETBYrM,A.HD,AGETDLGETBYTM, AHC,AB, DBD,MHE,MHGE'ICRB

B, MHC, MHXYH

;GET X POS.S'TORE IN SYMBOL

;SAVE X;GET DLIGET Y POS.;SIORE IT

;Y POSX POS

;GET HEIGHT

;GET WIDTH7SYM ADR + 4;iECK FOR CR;X,Y POS

-X POS

;Y POS

;OVE GRAPHICS 10UTINES

;FUJCTION: POINT;INPUTS: A - O,RESET POINT; ELSE SET POINT

B - X CORDINATEC - Y COORDINATE

;DESCRIPTION: SETS OR CLEARS SPECIFIED POINT ON SCREEN

JUMP IO ON'ITOR

INPUI'S: INPUT BUFFER [##,XX,YY]JOUTPUTS: H = HEIGHT, L = WIDTH

D,E = SYM ADR + 4B = X POS, C = Y POS

DESCRIPTION:GET X,Y POSITION AND SORE WITH SYMBOLRETRIEVE HIEGHT, WIDTH FROM SYMBOL

GKYHL: CALLANIORICALLJNC

XYHL: CALLCPIJz

GETBYT ;SYM IDENT 'I0 AASCMSKSYMMSKSYMADR ;IOKUP STIORAGE ADR.ERRORGETIR -CHECK FOR DELIMITER

XY ;IF /, USE OLD X.Y CORDS

09F0 F509F1 CDAFOA09F4 3E8009F6 CD960A09F9 4709FA 2F09FB A609FC 4F09FD Fl09FE B709FF 79OAOO CA040AOA03 BO0A04 77OA05 C9

POINT: PUSHCALLMVICALLbDV

ANAMDVPOPORAMDVJzORA

FNT05: MVRET

PSWSCADRA, 080HRTRB, A

MC,A.PSWAA, CPfr05BM,A

;GET ADDRESS,B=SBITS;MASK;IUTATE B TIMES;SAVE MASK

;MASK OUT POINT;SAVE

;SET FLAGS;DOESN'T CHANGE FLAGS;LEAVE POINT RESET;SET POINT;WRITE 'IO SCREEN MEM

098C098F0991099309960999099A099B099C099D099E099F09AO09A109A209A309A609A709AA09AD

CDDOOCE63FF680CD610BD27D08E546234E2356235E23EBCD380AElC1C309CD380AC35308

09B609B909BB09BD09C009C309C609C8

CDDOOCE63FF680CD610BD27DO8CDDFOCFE2FCAE909

Page 74: SIMPSON PERSONAL FILE DO NOT REMOVE

INTENTIONALLY LEFT BLANK

GRAPHIC LCD AIRCRAFT DISPLAY PA GE 74

Page 75: SIMPSON PERSONAL FILE DO NOT REMOVE

FUNCTION: PUT (PUT SYMBOL AT X,Y LOCATION)INPUTS: B - X POS

C - Y POSD,E - SYM. ADDRESS + 4

H - HEIGHTL - WIDTH

OUTPUTS: D,E - LAST SYM. ADDRESSCALLS: DROTR, GE'IMSK, INCSAD, SCADR

PUT: SHLDSHLDUSH

CALLCALLFOP

PUrOl: NOVPUTO2: XCiG

MOVCALLXCHGNOVINXCALLJNCPUSHPUSHIiLD

NOVPUSHLiLDANAORAFOPNOVPOPPOPORAJNZRET

SYMXCTSYE4DDSCADRGETMSKDC,M

-SAVE SYMBOL ADDRESS-GET SCREEN ADDRESS;SET MASK ORRECTLY;SYM. ADDRESS;SAVE 1ST WORD FOR CARRY IN

A,M ;GET SYMBOL WORDDROTR ;SHIFT IT RIGHT

M,ADINCSADPUTO2PSWHSADREA,MHFMASKLCHM,AHPSWAPUTOl

;WRITE TO SCREEN;NEXT SYM. ADDRESS;NEXr SCR. ADDRESS;RIGHT EDGE OF SYM? NO;YES, STORE A;SAVE HL;GET SAD RIGHT EDGE + 1;GET NEXT SCR. WORD

;GET ROTATE MASK;MASK CUT HO BITS;OR CARRY OUT BITS

;PUT BACK ON SCREEN;RFSIRE LAST ADR. TO H,L;RESTORE A (=0, DONE);SET FLAGS;DONE? NO;YES

FUNCTION: PUTX (XOR SYMBOL WITH SCREEN AT X.Y [DC);INPUTS: B - X POS

C - Y POSD,E - SYM ADRESS + 4

H - HEIGHTL - WIDTH

OUTPUTS: D,E - LAST SYM ADDRESSCALLS: DRITR, GETMSK, INCSAD, SCADR

OA38 220E11 PUTX: SHLD SYMXCT

OA3B 220C11OA3E D5OA3F CDAFOAOA42 CD9COA0A45 DlOA46 OEOOOA48 EBOA49 7EOA4A CD710AOA4D 47OA4E 3AOAllOA51 AOOA52 EBOA53 AEOA54 77OA55 13OA56 CD02OB0A59 D26BOAOA5C F5OA5D E5OA5E 79OA5F 2AD511OA62 AEOA63 77OA64 ElOA65 FlOA66 B7OA67 C2460AOA6A C9OA6B 79OA6C AEOA6D 77OA6E C3460A

SHILDPUSHCALLCALLPOP

PUTXOl: MVIPUTXD2: XoHG

OVCALLNOVIDAANAXCHGXRANOVINXCALLJNCPUSHPUSHNOVLHLDXRANOVPOPPOPORAJNZRET

PUTX03: MOVXRANOVJMP

SYMliDDSCADRGEIMSKDC, OOH'

A,MDROTRB,AFM4ASKB

MM,ADINCSADPUI'X3PSWHA,CSADREMM,AHPSWAPUTXOl

A, CMM,APUTXD1

;SAVE SYMBOL ADDRESS;GET SCREEN ADDRESS,SET MASK CORRECTLY;SYM. ADDRESS;CARRY IN NOT NEEDED

;GET SYMBOL WORD;SHIFT IT RIGHT

;MASK UPPER N BITS

;WRITE TO SCREEN;NEXT SYM. ADDRESS;NEXT SCR. ADDRESS;RIGHT EDGE OF SYM? NO;STORE DJNE BYTE;SAVE HL;GET CARRY CUT;YES

;RESTORE A (=0, DoNE):SET FLAGS;DONE? NO;YES;CARRY;XOR IN NEXT SCREEN IDCATION

OA060A09OAOCOAODOAl0OA13OA14OA15UA16OA17OA1A0AlBOAI COAIDOA20OA23OA24OA25OA28OA29OA2AOA2DOA2EOA2F0A30OA31OA32OA33OA34OA37

220E11220C11D5CDAFOACD9COADl4EEB7ECD710AEB7713CDO20BD2150AF5E52A05117EE52AQA.llA5B1El77ElFlB7C2140AC9

FUNCION: DROTR (DOUBLE WIDE SHIFT RIGHT)INPUTS: A - SHIFT REGISTER

C - OVERFLOW BITS IN(LEFr JUSTIFIED)

SBITS - # OF BITS TO SHIFT (N)FIMASK - MASK (8-N OF THE LSB'S SET)RMASK+1 - MASK (N OF THE MSB'S SET)

OUTPUTS: A - SHIFT REGESTERC - OVERFLDW BITS OUT

(LEFT JUSTIFIED)CALLS: RDTRDESTROYS: A,C,FDESCRIPTION: THE BITS IN THE A. REG. ARE

SHIFTED RIGHT N TIMES, WITHINFLOW FROM REG. C AND OVERFLOW70 REG. C. RMASK MUST BE SET(BY EXECUTING GE IMSK:) PRIOR TO

Page 76: SIMPSON PERSONAL FILE DO NOT REMOVE

ENTRY.

PSW ;SAVE ASBITS ;GEBCK #B,A00HDIOrD5C,APSW

PSWDHBBMASKremB,AHC,AA, BLDB,DD, AA, EHDHD

; =07;NO;CLFAR CARRY OUT;YES, DONE

;SAVE DE;SAVE IL

SAVE CARRY IN;GET IUTATE MASK;SHIFT A REG.;SAVE;GET OVERFLW;PUT IN C

;MASK OVERFILW;CARRY IN TO E;RESIORE # IN TO B

;MASK;OR WITH SHIFTED BITS;RESTORE HL;RESIORE DE

OA71 F50A72 3A09110A75 47OA76 FE0OOA78 C27E0AOA7B 4FOA7C FlOA7D C9OA7E FlOA7F D50A80 E5OA81 C5OA82 2AOAllDA85 CD960A0A88 47QA89 A4OAA 4F0A8B 78OABC A5OA8D DlOABE 420A8F 57OA90 7B0A91 A40A92 B20A93 El0A94 Dl0A95 C9

0A96 050A97 F8OA98 OF0A99 C3960A

RITR: DCRRIRRCJMP

;DESTROYS: A,F

GETIMK: PUSH BPUSH HLXI H,MSKMDV C, BMVI B, OOHDAD B13V H,M14V A, HMA

MoV L,ASHLD RMASK

B ;DONE?;YES;NO, ROTATE RIGHT

rIR

TAE

0AAC ElOAAD C1OAAE C9DRCIR: PUSH

IDAOV

CPIJNZ3V

POPRET

DROT05: POPPUSHPUSHPUSHIILDCALL4V'

ANA4V

mVANAPOP'V!3V3V

ANAORAPOPPOPRET

;SAVE B;SAVE H

; GET N'TH ENTRY;IN TABLE

;COPLEMENT IT

21004078CDDAOAF5AF321011571922071179E67FCDE50AEB2A071119CD430B220711Fl07070732091147C9

H ;RESTORE HB ;RESIORE B

;SCREEN ADDRESSING 1OUTINES

FUNCTION: SCADRINPUTS: B - X POSITION

C - Y POSITIONSSAD - START OF DISPLAY RAM

OUTPUTS: H,L - ADDRESS OF SCREEN IDCATION SADSVB - BITS TO SHIFT RIGHT = SBITS

CALLS: FIXADDDESTIOYS: A,B,C,D,E,F,H,LDESCRIPTION: FROM THE X AND Y COORDINATES THIS

FXTINE CALCULATES THE CORRESPONDINGADDRESS OF DISPLAY RAM, AND TiE BITOFFSET.SSAD 30*Y + INT( X/8)SBITS= 8 * FRC( X/8)

SCADR: LXI H,SSADMOV A,B ;X IDCATIONCALL DIV8PUSH PSW ;SAVE X/8XRA A ; ZEROSTA1V4DADSHLDMoVANICALLXCHG[ILDDADCALLSHLDPOPRICRLCRLC!STAnDVRET

SCRBYTD,ADSADSVA,C07FHMULT30

SADSVDFIXADRSADSVPSW

SBITSB,A

;INIT TD 0

;ADD TO START SCREEN ADD.;SAVE IT;Y LOCATION;MASK

-GET SCR ADDRESS;ADD 30 Y-ORRECT FOR GAP IN DISP RAM;FINAL SCR ADDRESS;GET X/8

;NO OF SHIFTS

* FUNCTION: DIV8

OAAFOAB2OAB3OAB6OAB7OAB,8OABBOABC!OABDOACOOAClOAC3OAC6OAC7OACAOACBOACEOAD1OAD20AD3OAD4OAD5OAD8OAD9

;IYIATE A RIGHT B TIMES;DESTRDYS: A,B,F

OA9COA9DOA9EOAAIOAA2OAA4OAA5OAA6OAA7OAABOAA9

C5E5212FOD48060009667C2F6F220All

Page 77: SIMPSON PERSONAL FILE DO NOT REMOVE

INPUTS: A - 8 BIT INTEGER-UTPU-S: A - FRACTION PART

D - INTEGER PARTCALLS: NOTHINGDESTFOYS: A, D, E, FDESCRIPTION: THE 8 BIT NUMBER IN A. IS DIVIDED BY

8 WITH THE INTEGER PART AND FRACTIONPART STORED IN D. AND A. RESPECTIVELY.

DIV8: RBCRRCRRC

IVANI

ANTfr

D, AOFH

E, AA, DOEOH

-DIVIDE BY 8;SAVE;INT PART-PU IN E-GET ROT BITS-FRC PART

FUNCTION: MULTPLY A BY 30INPUT: A - 8 BIT NUMBEROUTPUT: H,L - 16 BIT NUMBERDESTROYS: ABCHL,F

MULT30: PUSHRICRICRLCRICRIC

oVANIMOV

OVANI

DVPOPRICMOVANICMAMDVMOVANICMAMOV

DADRET

PSW ;SAVE IT

C, AOLFHB,AA, COEOHC,APSW

L,AO1H

H,AA, LOFEH

L,AHB

;32*Y

-GET CARRY

OB02 3AOEllOB05 3DOB06 320E11OB09 CAOOBOBOC 23OBOD C33EOBOHIO 3AOCllOB13 320E11OB16 3AOFIlOB19 3DOBlA 320F11OBID CA370BOB20 D5OB21 23OB22 220511OB25 2A0711OB28 111E00OB2B 19OB2C CD430BOB2F 220711OB32 DlOB33 B7OB34 C3410BOB37 23OB38 220511OB3B C3410B

-MASK CARRY;B,C NOW = 32Y;GET Y;2*Y

;GET CARRY;CtPLEMEMT IT

;MASK CARRY

;H,L NOW = -2Y;H,L = 30 Y

OB3E 37OB3F 3FOB40 C9

OB41 37OB42 C9

SFUNCTIW:z IRINPUTS: H,L

SYMX-SYMX

Syr*-SYMH~

OUTPUTS: AH,LSADRCARE

CALLS: FIXADDDESTROYS: A, F,DESCJRIPTION:

INCSAD: LDADCRSTAJZINXJMP

INC05: LDASTALDADCRSTAJZPUSHINXSHLDLIDLXIDADCALLSHLDOP

ORAJMP

INClO: INXSHLDJMP

FRET:

SRET:

RET

STCRET

E24ENT SCREEN ADDRESS OF SYMBOL- CURRENT SCREEN ADDRESS- SYMBOL X COUNTER

D - SYMBOL WIDTHT - SYMBOL HEIGHTCT - SYMBOL Y COUNTER

- 0 = DONE (0 FLAG SET)- NEXT SCREEN ADD. = SADSV- SCR ADR (SYM RIGHT EDGE) + 1- SET = CURRENTLY AT SYM RIGHT EDGE

H, LTUE NEXT SCREEN ADDRESS IS DETERMINEDAND PLACED IN SADSV. RETURNS WITH CARRYSET IF AT RIGHT EDGE OF SYMBOL AND WITHZERO FLAG SET IF AT END OF SYMBOL.ON INITIAL CALL SET SYMXCT = SYMWD,SYMYCT = SYMHT , AND SADSV = SCREEN ADR.

SYMXCTASYMXCTINC05HFRETSYMWDSYMT'

ASYMYcUINC10DHSADRESADSVD,01EHDFIXADRSADSVDASRETHSADRESRET

;DEC X COUNTER

;AT RIGHT EDGE ?;NO, INC. SAD

;GET SYMBOL WIDTH;PUT IN X COUNTER;GET Y COUNT;DECREMENT IT

;ALL DONE,SAVE DE;SCR ADR RIGHT EDGE + 1;S'IDRE IT;GET ADD OF BEG OF LINE;JUMP DOWN 'I NEXT LINE (+1EH)

;CORRECT FUR GAP IN DISP. RAM

;RESIORE DE;SET FLAGS (ZERO F CLR);DONE;LAST ADD+1;SAVE IT;(ZEFI F SET)

;RETURN WITH CARRY CLEAR

;RETURN WITH CARRY SET

OADAOADBOADCOADDOADEOAEOOAElOAE2OAE4

OFOFOF57E61F5F7AE6EOC9

OAE5 F5OAE6 07OAE7 07OAE8 07OAE9 07OAEA 07OAEB 4FOAE)C E61FOAEE 47OAEF 79OAFO E6EOOAF2 4FOAF3 FlOAF4 07OAF5 6FOAF6 E601OAF8 2FOAF9 67OAFA 7DOAFB E6FEOAFD 2FOAFE 6FOAFF 23OB00 09OBO C9

Page 78: SIMPSON PERSONAL FILE DO NOT REMOVE

FUNCTION: FIX SCREEN ADDRESSINPUTS: H,L - SCREEN ADDRESS

SCRBYT - SCREEN BYTE (00 = TOP,FF = DT)

OUTPUTS: H, L - SCREEN ADDRESS (CORRECTED)SCRBYT - SCREEN BYTE

CALLS: NOTHINGDESTROYS: NOTHINGDESCRIPTION:

FIXADR: PUSHLDAORAJMPUSHLXICALLJNCLXIDADMVISTA

FIX05: POPFIX10: POP

RET

OB65 B7OB66 CA3EOB0B69 47OB6A 7COB6B 211811086E 110300OB71 BE0B72 CA7DOB0B75 19

OB76 05OB77 C2710BOB7A C33EOBOB7D 23OB7E 7EOB7F 23OB80 66OB81 6FOB82 C3410B

FIXADR IS CALLED BE'IWEEN EACHINCREMENT OF THE SCREEN ADDRESS.80 HEX (128 D) IS ADDED 'IO FIRSTSCREEN ADDRESS GREATER THAN 477FH 0

CORRECT FOR 'HE GAP IN DISPLAY RAM IN

THIS AREA. THE WORD SCRBYT IS THENTOGGLED IO FF HEX TO STOP FURTHERORRECTIONS.

PSWSCRBYTAFIX10DD, 4780HHILOFIX05D,080HDA, OFFHSCRBYT

;SET FLAGS;LOWiER HALF OF SCREEN? YESDONT KNOWLCWER

;HALF OF SCREEN?

;YES;ADD OFFSET

;TGGLE SCRBYI 1 FT

SYMBOL STORAGE / LOOKUP ROUTINES

FUNCTION: LOOKUP SYMBOL ADDRESS

INPUTS: A - SYMBOL IDENTOJTPUTS: H, L - ADDRESS OF SYMBOL

CARRY - CLEAR, SYMBOL wDT FOUND

DESTROYS: AB,D,E,H,L,FDESCRIPTION: LOCATES SYMBOL IDENT IN SYMTAB AND

RETURNS THE ADDRESS OF THE STORED SYMBOL.

CARRY IS SET IF FOUND.

0B61 67 SYMADR: MDVOB62 3A1111 [LA

H,A SAVE IDENTNUMSYM ;# OF SYMBOLS

ORAJzMDV

LXILXI

SYMO5: CMPJZ

DADDCRJNZJMP

SYMlO: INXMDVINXMDVMDVJMP

A ;SET FLAGSFRET 'DONE IF # SYMBOLS = 0B,A ;PUT IN BA, H ;GET IDENTH, SYMTAB ;ADR OF SYMBOL TABLED,03H ;LENGIH OF TABLE ENTRYMSYMlODBSYM05FRETiA,MHH,ML,ASRET

;NEXT TABLE ENTRY;DEC 1O0P COUNT

*GET ADDRESS*OF SYMBOL

;PUT IN H,L

; FUNCION: GET SYMBOL; INPUTS: A - SYMBOL IDENT; OUTPUTS: H,L - STORAGE ADDRESS; DESTFRYS: AB,C,D, H,L,F; DESCRIPTION: ADDS SYMBOL IDENT AND STORAGE ADDRESS

'I SYMBOL TABLE. THE BYTES DEFINING THESYMBOL ARE THEN PLUCKED FROM THE INPUTBUFFER AND STORED IN RAM.

B885 C BOB0888 2A1411088B 3EFF0880 77

OB8E 23OB8F 3EFFOB91 77OB92 23CrB93 CDDOOC0896 4F

0B97 320F11OB9A B7OB9B FACDOBOB9E 77OB9F 23OBAO CDDOOCOBA3 320C11OBA6 57OBA7 3COBA8 3COBA9 E6EGOBAB C2CDOBOBAE 72OBAF 23

GETSYM: CALL

MVIMoVINXmvi

INXCALLMOV

STAORAJM

MDVINXCALLSTAMDVINRINRANIJNZmDV

GTS05: INX

ADDSYMNEWIAT

A, OFFHM,AH

A, OFFHM,AHGETBYTC,ASYMYI'

AGTS15M,AHGETBYTSYMD

AOE0HGT155M, DH

;STORE X POS = FF

;SIORE Y POS = F

;GET HEIGHT OF SYM

;PUT IN Y ODUNTER

;ERROR - Too WIDE;SIORE HEIGHT

;GET WIDIH

*ERROR - TOO HIGH;STORE WIDTH

OB43 F5OB44 3A011OB47 B7OB48 FA5FOBOB4B D5OB4C 118047OB4F CD8000OB52 D25EOBOB55 118000OB58 190859 3EFFOB5B 321011OB5E DlOB5F FlOB60 C9

Page 79: SIMPSON PERSONAL FILE DO NOT REMOVE

CALL GETBYr ;GET SYM DATAI4V M,A ;STORE ITDCR DJNZ Grs05 ;END OF DATA ?WA SYMWD!oV D,AIDA SYMYCrDCR ASTA SYMYCrJNz GrS05

GTS10: INXSHLDJMP

GTS15: LHLDDCRUILDDCRDCRDCR

HNEWIATSRETNUMSYMMNEWSYMM

;ERBOR - DELETE ENTRY

;FWCTIN: ADDSTR (ADD STRING);INPUTS: A - SYMBOL IDENT,OUTPUTS: H, L - STORAGE ADDRESS;CALLS: GETSTR, ADDSYM;DESTIRYS: A,B,C,D,E,F,H,L;DESCRIPTION: ADDS STRING TO SYMBOL TABLE, THEN GETS

STRING FROM THE INPUT BUFFER AND STORESIT.

OBF4 CDDBOB ADDSTR: CALLOBF7OBF8OBFAOBFBOBFCOBFDOBFEOC(01OC02

OBBO CDD00COBB3 77OBB4 15OBB5 C2AFOBOBB8 3AOCllOBBB 57OBBC 3AOFllOBBF 3DOBCO 320F11OBC3 C2AFOBOBC6 23OBC7 221411OBCA C3410BOBCD 2Al111OBDO 35OBD1 2A1211OBD4 35OBD5 35OBD6 35OBD7 35OBD8 C33EOB

E53EFF77237723CD220CElC9

PUSHMVIMOVINXMDVINXCALLPOPRET

ADDSYMHA,OFFHM,AHM,AHGETSTRH

SAVE STORAGE ADR

RESTORE STORAGE ADR

FUNCTION: ADD SYMBOLINPUTS: A - SYMBOL IDENTOUTPUTS: H, L - STORAGE ADDRESSDESTROYS: A,B, C,D,H,L,FDESCRIPTION: ADDS SYMBOL IDENT AND STORAGE ADDRESS

TO SYMBOL TABLE.

ADDSYM: LXIINRIELDMovINXXCHG

MVSTAXINXMOVSTAXINXXCHGSHLDXCHGREP

H, NMSYMM ;INC # OF SYMBOLSNEWSYM ;ADR FOR NEW TABLE ENTRYM,A ;SIORE SYM IDENTH

NEWMDAT ;ADR FMR NEW SYM DATAA, LD ;PUT NEWDAT POINTER IN SYMIAB

FUNCTION : PUTSTR (PUT STRING ON SCREEN AT X,Y CORD)INPUTS: H, L - ADDRESS OF STRINGOUTPUTS: B,C - X,Y COORDINATESDESCRIPTION: TAKES THE ChARACTER STRING POINTED TO

BY H,L AND PLACES IT ON THE SCREENSTARTING AT THE SPECIFIED X,Y POSITION.

OC03OC04OC05OC06OC07OC(08OC09OCOBOCOEOCOFOC120C15OC16OC17OClAOClB1ocic(OCIDOC20OC21

NEWSYM ;INC TABLE POINTER

46234E23C57EFEODCA200CEB210107CDO60AEBC13A17118047C5C3080CC1C9

PUTSTR: MOVINXMDVINXFUSH

PST05: M4VCPIJzXmHGLXICALLXCiHGPOPWAADDMDVPUSHiMP

PST1O: POPRET

B, MHC, M

A,MCRPST10

H, 0701HPUT

BGPACEBB, ABPST05

;SAVE X, Y COORDINATES

;END OF STRING?

;STR POINTER 'IO DE;HEIGHT=7, WIDUI=1

;OLD X,Y;GET IAR. SPACING

;SAVE NEW X,Y

STRING STORAGE / LOOKUP ROUTINES

* ** * ****** **** ** *** ***** *********************** *****FUNCTION: GETSTRINPUTS: H, L - STORAGE ADDRESS

DCR MJMP FRET

OB1OBDEOBDFOBE2OBE3OBE4OBE5OBE8OBE9OBEAOBEBOBECOBEDOBEEOBEFOBF2OBF3

211111342A12117723EB2A14117D12137C1213EB221211EBC9

Page 80: SIMPSON PERSONAL FILE DO NOT REMOVE

DESCRIPTION:

GTSR: XCHGSTRO5: CALL

CPIJzSUL

ACCEPTS A STRING OF CARACTERS UP 'OTHE FIRST CARRAGE REIURN AND SIORES IHEmHARACTER DATA STARTING AT THE LOCATION

POINTED 'IO BY H,L

GEIGR ;GET CEAR. IN ACR ;CHECK FOR END OF INPUTSTR10020H :ASCII 20H FIRST CHAR. IN TABLE

MULT A BY 7 T0 GET LOCATION IN TABLE

ANI 03FH ;MASKLXI H,CHRTABMVI B,OHPUSH PSW

C,ABB, 07H

OC58 46OC59 23OC5A 4EOC5B 23OC5C 78OC5D FEFFOC5F C8OC60 7EOC61 FEODOC63 C8OC64 E5OC65 210107OC68 11640DOC6B C5OC6C CDO60AOC6F ClOC70 3A1711OC73 80OC74 470C75 El0C76 110700OC79 19OC7A C3600C

OC22OC23OC26OC28OC2B

OC2DOC2FOC32OC34OC35OC36OC37OC38OC39OC3AOC3BOC3COC3DOC3EOC3F

LOOP To GET 7 LINES OF DATA FOR EACH CHARACTER.

CLRSTR: MOVINXmDVINXMVyCPIRZ

CST05: MOVCPIRZPUSHLXILXIPUSHCALLPOPLDAADD

DVPOPLXIDADJMP

CHARACTER IN STRING.

B,M ;X P)SHC,M ;Y POSHA, BOFFH ;IF NOT ON SCREEN

;WERE DONEA,M ;GET DATACR ;END?

;YESH ; SAVE DATA POINTERH, 070111 7HEIGHT=7,WIDi=1D,CHRTAB;SPACE CHARACTERB ;SAVE X,Y POSITIONPUT :ERASE OLD STRINGB ;GET X,Y POSCSPACEB ;ADD CSPACE 'IO X PB,AHD,0007HDCSTO5

ALREADY

;GET DATA POINTER-NEXT CHARACTER

EBCDDFOCFEODCA4EOCD620

E63F21640D0600F507074F09Fl4F09074F090607

STRO7: MOV A,MXCHGMDV M,AXCHGINX HINX D[CR BJNZ STRJMP STR

STRIO: XMGMDV M,AINX HSHLD NEW]CALL CRIRET

;GET BYTE FROM TABLE ,

O7O5

;SIORE IT

;NEXT TABLE LDCATION;NEXT MEMORY LOCATION;DONE WITH CHAR. YET?;NO;YES, GET NEXT CHAR.

;PUT CR IN MEMORY AS END MARK

DAT

OC7DOC7EOC7FOC82OC85OC86OC89OC8AOC8DOC90OC91OC94OC97

FUNCTION: CLEAR STRINGINPUTS: H, L - ADDRESS OF STRING

DESCRIPTION: CLEARS STRING POINTED '1O BY H,L BYWRITING SPACES 'IO SCREEN FOR EVERY

E5C52100103A0011473A0111B8C2A10C3A0211B7CA990C2A0311F9

FUNCTION: READ FIRO CHARACTER INPUT BUFFER:UJT - ADESTROYS A,FDESCRIPTION: READS CNE CHARACTER FROM BOTIUM OF

INPUT BUFFER (BUFBOT).IF BUFFER EMPrY AND

FUNBYT = 00 'HEN CALL CI ROUTINEFUNBYT = FF THEN RETURN 'IO DEMO PROGRAM

RDBUF: PUSHPUSHLXILDAMDV

RDO5: LDAMP

JNZIDAORAJz

SPHL

HBH, BUFFBUF'IOPB,ABUFBOTBRD10FUNBYTARDO6STKSAV

;BUFFER EMPTY? *;FUNCTION RUNNING?;SET FLAGS;NO;YESRESTORE OLD STACK

;H,L NOW POINTS TO CHAR.; BYTE (JOUNTER = 7

INPUT / cUTPUT FOUTINES

OC41OC42OC43OC44OC45OC46OC47OC48OC4BOC4EOC4FOC50OC51OC54OC57

7EEB77EB231305C2410CC3230CEB7723221411CD170DC9

OS

Page 81: SIMPSON PERSONAL FILE DO NOT REMOVE

OC98 C90C99 CD200DOC9C E67FOC9E C3AAOCOCAl 6FOCA2 F3OCA3 46OCA4 3COCA5 320111OCA8 78OCA9 FBOCAA ClOCAB ElOCAC C3410B

RETRDO6: CALL CI

ANI 07FIJMP RD1

RD10: moV L,ADINOV B,MINR ASTA BUFMV A, BEI

RD15: POP BFOP HJMP SRET

;RET 'I0 FUNCTICN

;MASK PARITY BIT*

OCD6 CD7DOCOCD9 E67FOCDB CD2405OCDE C9

OCDF CD7DOCOCE2 E67FOCE4 C9

; CHAR FROM BOT OF BUFF

B0T ; INC BUFBOT

FUNCTION: WRITE TO QIARACTER INPUT BUFFERINPUT: ADESTROYS: A,FDESCRIPTION:

OCAF CS WRBUFR: PUSHOCBO E5 PUSHOCB1 4F NOVOCB2 210010 LXIOCB5 3A0111 LDAOCB8 47 NVOCB9 3A0011 LDAOCBC 6F NOVOCBD 3C INRUCBE B8 GMPOCBF CACBOC JzOCC2 F3 DI0(C3 320011 STAOCC6 71 NOVOC7 FB EIOCC8 El POPOCC9 cl POPOCCA C9 RET

OCCB 3E01 BUFFUL: MVIOCCD CD0800 CALL

WRITES ONE CHARACTER TO 'I0P OF INPUTBUFFER (BUFIOP).B

C,AH, BUFFBUFBOTB, ABUFIOPL,AA

; STIORE A TEP;ADR OF BUFFER

OCE8OCE9OCECOCEDOCEFOCF2

OCF3OCF6OCF8OCFBOCFCOCFFOD02

OD03OD06OD07OD08ODOBODODODOEODOFODI 1OD14OD16

;H,L NOW POINTS TO DATA

B ;BUFFER OVERFM PBUFFUL ;YES

BUFIOP ;L4O, INC BUFITOPM,C ;CiAR TO TOP OF BUFF

HB

A,01H ;ERROR #1NO ;JUMP 'IO MONITOR

PEIURNS WITH HEX BYTE IN REG. A EQUAL TO THE VALUE OFTHE FIRST 'IWO ASCII DIGITS IN '11E INPUT BUFFER.

OCDO CD7DOC GETBYT: CALL RDBUF ;DESTROYS: A,B,C,FOCD3 E67F ANI 07FH ;MASK PARITY BITOCD5 47 MOV B,A

CDDFOC4FCD030D79FEODC27D08C9

CDDFOCFEODCA7D084FCD6604D27D08C9

3A1611B7COCD2BOD3EODB9COOEOACD2BODOEODC9

OD17 3A1611ODIA B7ODIB COODIC CD6EOOODIF C9

OD20 CD6500OD23 C5OD24 4FOD25 CDO30D

CALLANICALLRET

GEIGUR: CALLANIRET

GETCR: CALLmVCALLNOVCPIJNZRET

RDBUF07FHCONV

;MASK PARITY

RDBUF ;DESTROYS: A,F07FH ; MASK PARITY

GETCHR ;DESTROYS: A,C,FC,AEmHOA,CCRERROR

; GET NEXT CHARACTER - ERROR IF NOT DELIMITER.

GETDL: CALLCPIJz

GDL: NoVCALLJNCRET

GTmYRCRERRORC,AVALDLERROR

DESTIOYS: A,C,FLDA EFLAGORA A

CALL coMVI A,CRCMP CRNZMVI C,LFCALL coMVI C,CRRET

LDAORAfNzCALLRET

EFILAGA

MCRLF

CALL MCIPUSH BNOV C,ACALL ECHO

;DESTROYS: A,C,F

;INHIBIT ECHO

;IF NOT = 0;INPUT REG. C

;ECHO CR AS CRLF

;RET WITH CHAR IN C

; EHO SUPRESSED?

;YES;NO

;CHAR. INPUT IN A;DESTROYS ONLY A,F

5

CRLF:

Page 82: SIMPSON PERSONAL FILE DO NOT REMOVE

Z-

E

O1

(HOZ=)~

dS

S'10GRKS

HOTO '1100H830'H060'HOO'HOC'HOTO

HOLO'H880HB00'HOEO'HOTO'H100'H130

H830'HO8OH080'HOLO'H100'H880'HOLO

HOLO'HOO

HOLO'H88 0H8DO'H8VO'H860'H880'HOLO

H000'HO80H00 'HOO'HOTO'H800'H900

H000'HOOO'HOOO0'000'H0001000'H1000

11000'130'HO'11000 'HOHO' 'OHOTO

HOZOHOOOHOOOH890 HO60

HO 'H800

HOZ0'HOEO'HOTO'HODO'HOO

HOE0'HVOHOLO'HOZ0'HOLO'HVO'HOZO

H090'HOTO

H830'H050'H830'HOGO'H0O0

HOBO'HOBO'HOBO'HOtO'0 0H000'11000

H000'H000'H00 H00'H0011190 '11060

HBVO '1101' '010'11)10'HOt'0

H8Z0 '1101.0'1010 'f18L0 'HO00HO0S0'HOSO

HO0 '11000

HOOO'1000'HOO 0H0S'11000

'SHZ=.J'~ 9SVD H1ddfl 'S98311Wf()1109 OkL '(ds) 140Z

X rd

92

9211092qu92go929292BG

so

-92

110

10892

8G28029G29G2SG2

9G2892

OTOT8306050EOT

OL88800E018083

11301080L80880L

OLOE

OL888D86880L

0008010018090

0ZOO0000000000

0000

00330000 00

000

0Z8V

OZOT8080800T0Z

0000

89068V01'0vV0v1

BT860t'030183203

03038EOLOV8LOE

050581305830909

00000000050509

0200

00008VJHD0000000000

22GO

62006200 .3000G

0300

19000

11£30 6320

90008xio

E630

0900

1190

99201900

aw2600

0600

311006LGO0 VO

36900

GO

6.01.1.00DL0001.00119006900

1900

GoDU

GDI

GWN0101

GNX Qw~Dd

GKyZ

Xwwm. HOO

V SSSHOOlv 0Nalm m 11001'1

-auiow~~ OL dkflC1

,Z,

8JO 0TXS IndI idJXRI t4k 0T TTINr011kfAS SA.WJ 11,

NO 01m 000021.ISD WAS NI m0 0 ,

=D~1S uVa'T1 IDS,ONPIHS IIDSV-' IV&

1100011 111110000111111000001119100000011

IaD 219 cas 1100000001

mMCMCmpa

MCmMCYOmMCMMCI

go02

929392go

909a

10

9392

0

gowlgogo

929292au

110La 9900

60DT VGGO60VE 8GO60CE 9SGO603E 0GGO

60V9 OGGO6039 0'00608L Db'O60E WGO600a B91000000 9tGO

= 3000Vs stGo

BS E'GO1. 9EGO

31 1EGO

9v TEGO

0 0EGO

00 VEGO£t, 60.10

90.8E10

33 LEO33 9CU0w1 SOo8A V'CO

00 TWO

sw'11111

MW JWX L. AB9 S -

G04V MCma

JaHi

DIV NII 8088 0900

60 U3C00009902 G1c00

62 VZOO12 6Z~l06U 8&00

me1

NS

smgvj, uawHatzirD Hajovavm -,

Page 83: SIMPSON PERSONAL FILE DO NOT REMOVE

0DF7 F88F00808ODFC 8870ODFE 384080F088OE03 8870OE05 F808102020OEOA 2020OEOC 7088887088OEll 8870OE13 70888878080E18 10E0OElA 0000200020OElF 0000OE21 00002000200E26 2040OE28 1020408040OE2D 2010OE2F 0000F800F8OE34 00000E36 4020100810OE3B 2040OE3D 7088083020OE42 0020OE44 7088A8B8BOOE49 8078OE4B 20508888F80E50 88880E52 F08888F088OE57 88F00E59 7088808080OE5E 88700E60 F088888888OE65 88F0OE67 F88080F080OE6C 80F8OE6E F88080F0800E73 8080OE75 7888808098OE7A 8878OE7C 888888F888OE81 8888OE83 7020202020OE88 2070OE8A 0808080808OE8F 8870OE91 8890AOCOAOOE96 90880E98 8080808080OE9D 80F8OE9F 88D8A8ABASOEA4 8888OEA6 8888CaA898QEAB 8888OEAD 7088888888OEB2 8870OEB4 F08888F080

DB

DBDBDBIDBDBDBDBDBDBDB

DBDBDBDBDBDBDBDBDBDBDBIDBDBDBDBDB

DBJDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB

DBDBDBDBDB

08

OF8H, 080H, OFOH, 008H,0081108811,07011038H,040H,080H, 0F0H, 088H088H,070H0F8H,008H,010H,020H,020H020H,020H070H,088H,088H,.070H,088H088H,070H070H,088H,088H,078H,008H010H,0E0H000H,000H,020H,000H,020H000H,000H000H,000H,020H, 000H, 020H020H,040H010H,020H,040H,080H,04011020H,010H000H,000H, 0F8H, 000H, 0F8H000H,000040H,0201,010H,00811,010H020H,04011070H,0831,008H,030H,020H000H,020H070H,088H,0A8H,0B8H,0BH080H,0781020H,050H,088H,088, 0F8H088H,08811OFOH, 08811, 088H, OFOH, 088H088H, OFOH0701,0881,080H,080H,080H0888,0701OFOH, 088H,088H,08811,088H088H, 0F0H0F8H,080H,080H,0F0H,080H080H,0F8HOF8H, 080H,080H, OFOH, 080H080H,080H078H, 088H, 080H, 080H, 098H088H,078H088H,088H,088H,0F8H,088H088H,088H070H,020H,020H,020H,020H02011,070H00811, 00811, 00811,008H,008H088H,070H088H, 090H, 0A0H, OCOH, OA0H090H,088H1080H,080H,080H,080H,080H080H,0F811088H,0D8H,0ASH,0A8H,0A8H088H,08811088H,088H,0C8H,0A8H,098H088H,088H1070H,088H,088H,088H,088H088H,070H0FOH,088H,088H,0FOH,080H

08890E3BOECOM0EC20EC701129OEC9EOECEOEDOOED5OED7OEDCOEDEOEE3OEE5OEEAOEECOEFlOEF3OEF8OEFAOEFFOF01OF06OF08OFODOFOF0F140F16OFIBOFIDOF22OF24OF29

808070888888AB9068F08888FOA0908870888070088870F8A820202020208888888888887088888850502020888888ASA8Aa508888702070888888887020202020F80810204080F8F8COCOCOCOCOF800804020100800F818181818

00002050880000000000000000F840201000000000

07011,08811,088H,088H, 0A8H09011, 068HOFOH, 088H, 088H, OFOH, 0A0H090H,088H070H,088H,080H1,070H,008H088H,070H0F8H,0A8H,020H,020H,020H020H,020H088H,088H,088H,088H,088H08811,070H08811,08811,088H, 050H, 050H02011,020H088H,088H,088H,0A8H,0A8HOA8H, 05010881,0881,070H,020H,070H088H, 088H088H,088H,070H,020H,020H020H,020HOF811,0081H,010H,020H,040H080H, 0F8H0F8H,0COH,OCOH, 0CH,0C0HOCOH, 0F8H00011,080H,040H,020H,010H008H, 000HOF8H, 018H, 018H, 018H, 018H801811, 0F8100011,0001,020H,050H,088H

0001,0OH,000H,00H,00H00011, 0F8H040H,020H,010H,000H,000H000H,000H

VARIABLES

1000

100011001101110211031105110711091 10A110B110CllOD)

0RG

BUFF:BUFITOP:BUFBOT:FUNBYT:STKSAV:SADRE:SADSV:SBITS:RMASK:

SYMD:SYMI:

01000H

01001101H01H01H02H021102H01HOlH01H01H01H

;START ADR OF INPUI' BUFFER;'IOP OF BUFFER;BOT OF BUFFER;FUNCTION RUNNING BYTE;SP SAVE LOCATION;SCREEN ADR END OF LINE;SCREEN ADR TEMP SAVE;SCREEN BIT OFFSET;8-N LSB'S SET;14 MSB'S SET; SYM WITH;SYM HEIGHT

;Q

;R

;S

;T

;U

-V

;W

;X

;Y

;Z

(=[

Page 84: SIMPSON PERSONAL FILE DO NOT REMOVE

A V

7d

'I[ L

_7V

WIV

GO

7 OQ

HdAV

6V

8o 88

D

wjO

N

) ot

0. ,..

Co

~9 a

z

#V .3

EV

d

Page 85: SIMPSON PERSONAL FILE DO NOT REMOVE

;ILS INDICATOR DEMONSTRATION PROGRAM

EQUATESJMPINST EQURST7P5 EQUSIM EQURIM EQUCR EQUWRBUF EUGET'12D EDUPRVAL EQUDELAY EQUBCADD EDU

GETBAUD EDUENDCMD EUFUNON EQUFUNOFF EQUTIMEON ED

OC3H020FOH030H020HODH0850H0853110092H009BH05C8H

0479HOFH1OFFHOOHOFFH

30273029302C302D30303033303630383039303C303F3042

3050

;JUMP INSTRUCTION;RST 7.5 INTERUPT LOCATION;SIM, RIM NOT RECOGNIZED BY-THIS ASSEMBLER,CARRIAGE RETURN;CHAR IN A 'IO INPUT BUFFER;IED GET 00MAND JUT'INE;OONVERT C. FROM HEX 'IO ASCII;DELAY PROP IO CONTENTS OF D,E;BCD ADD, HL > NUMI, DE > NUM2

RESULT REPLACES NUMl;SET BAUD FROM2 SPACE CHAR;END OF COMMAND STRING MARK

;ENABLE TIME DISPLAY

ORG 03000HDB OBBH ;AUIOSTART BYTE

INITILIZATION

;THIS PROGRAM INITILIZES THE TIMER FOR IMS INTERUPTS;AND PORT A = OUTPUT, PORT B = INPUT, PORT C = INPUT

INIT: DILXI SP,FSTACK

;SET UP INTEJRPTSLXI H,RST7P5MVI M,JMPINSTLXI H,CLIOCK

;INIT STACK

;CODE FOR JUMP;ADR OF CLOCK ROUTINE

SHLD RST7P5+1;SET UP TIMER AND PORTS

MVI A,OOH ;TIMER L.O. COUNTOUT 024HMVI A,04CH ;TIMER H.O. COUNTOUT 025H :SQUARE W AVE CUTMVI A,0ClH ;START TIMEROUT 020H ;PORT A OUT

;PORT B IN,INIT VARIABLES

MVI A,010DSTA THSCNTSTA HNDCNTSTA TENCNT

3EFF320211AF325D12325E12325F123ElF3021FA32CDDB30CDEF30C35330

MVISTAXRASTASTASTAMVIDBLXICALLCALLJMP

A, OFFHFUNBYTATIMETIME+1TIME+2A,01FHSIMH, CmDS1SNDCMDDOMDSW

;FUNCTION ON

;ZERO;TIME = 0

;MASK ALL INTERUPTS

;SIGN cN MESSAGE;PROCESS OWbIMANDS

ORG 03050H

JUMP TABLE

3050 C3BF31 TFUCT: JMP FUNCT

;WAIT FOR USER IO PRESS BUPTON

3053 CDB3313056 FE023058 CA6930305B FE01305D C253303060 3EFF3062 3202113065 FB3066 C3C0313069 3E00306B 320211306E 3EOF3070 303071 3E453073 CDE6303076 CD79043079 C35308

SW: CALLCPI

CPIJNZMVISTAEIJMP

DOFF: MVISTAMVIDBMVICALLCALLJMP

GETSW ;GET SWITlI PRESS02H ;DEMO OFF MODE?DOFF ;YESOlH ;DEMO MODE?SW ;NOT VALID SWITCHA, FUNONFUNBYT ;FWUCT. ON

;ENABLE INTERUPTS FOR C[DCKDEMOl ;AIRCRAFT INSIURUMENT DEMOA,FUNOFF;ZEROFUNBYT ;FUNCT OFFA, OFH ;MASK INTERUPTSSIMA, 'E'SSCMD 'TURN ON ECHOGETBAUDGET'ID

;INTERUPT SERVICE FOUTINES

FUNCTION: CIDCKENTRY: INTERUPT DRIVENFUNCTION: SCEDULES PROGRAMS

307C307D307E307F3080

F5C5D5E53A5012

CLOCK: PUSHPUSHPUSHPUSHIDA

PSW ;SAVE ENVIRONMENTBDHTHSCNT ;THOUSANTS OUNT

00C3 =20F0 =0030 =0020 =000D =0850 =0853 =0092 =009B =05C8 =

0479 =00FF =00FF =0000 =00FF =

30003000 BB

3001 F33002 315012

3005 21F0203008 36C3300A 217C30300D 22F120

3010 3E003012 D3243014 3E4C3016 D3253018 3EC1301A D320

301C 3EOA301E 3250123021 3251123024 325212

Page 86: SIMPSON PERSONAL FILE DO NOT REMOVE

30C7 CDDB3030CA 21531230CD CDDB3030DO CDEF3030D3 AF30D4 32601230D7 CD933130DA C9

ECR AJZ HNUTHSrA THSCNT

PRoGRAMS SCEDULED EVERY lMS BELOW

;NONE$$$S$$$$$$ $ $ $$ $$ $$ $

308A C3B930 JMP GOBACK308D 3EOA HNDITH: MVI A,010D308F 325012 STA 'IHSCNT

PROGRAMS SCEDULED EVERY 10MS BELCW

;NONE

IDA HNDCNTDCR AJZ TENTHSTA HNDCNTJMP GOBACK

TENTH: MVI A,010DSTA HNDCNr

PFOGRAMS SCEDULED EVERY lOOMS BELoW

;NON4E

DA TENCrDCR AJZ SECONDSrA TENCNrJmP GOBACK

SECOND: MVI A,Ol0DSPA TENCNT

PROGRAMS SCEDULES EVERY SEOCND BELiOW

CALL ADDSEC

GOBACK: POP H RES'IORE ENVI ONMENTPOP DPOP BPOP PSWEIRET

;FUNCTION: NENTIME;DESCRIPTION: UPDATES TIME STRING CN SCREEN

NEWTIM: LilAORARZLXI

TDBYTEA

H,MDS5

CALLLXICALLCALLXRASTACALLRET

SNDCMDH, TIMSTRSNXMDDOOD ;UPDATE TIMEATDBYTE ;TIME IS NOW CURRENTFLIP

;FUNCTION: SEND Cft1AND;INPUTS: H,L - POINTER '10 CNtNAND STRING;DESCRIPTICN: WRITES MESAGE 'I INPUT BUFFER

30DB30DC30DE30DF30E230E3

7EFEFF

CD500823C3DB30

30E6 CD500830E9 3EOD30EB CD500830EE C9

SNDCMD: MOVCPIRZCALLINXJMP

S-qlD: CALLMVICALLRET

A,M -GET CHROFFH ;END?

WRBUFHSNDCMD

WRBUF ;SEND SINGLE LITER COMANDA, CRWRBUF

;'IhIS ROUPINE CALLS GE'IUMD 'TO PROCESS THE OXH1ANDS IN;'IHE INPUTr BUFFER. WHEN THE BUFFER IS EMPTY, A REIURN;'IU THIS FUTINE WILL OCCUR.

30EF30F230F330F430F530F830FB

210000392B2B220311CD5308C9

DOCMD: LXIDADDCXDCXSHMCALL

RET

H, OHSPHHSrKSAVGETCMD

;GET SP;OPENSATE SAVED SPACK POINTR;FOR RETURN ADR FRO GETCMD;SAVE STACK POINTER;DO CDMMANDS;GUNMD RETURNS HERE IF;Fi1WBYr = FF

FUNCTION: ADD SECONDDESCRIPTION: UPDATES TIME REGISTER BY CNE SEOOND

30FC30FF310231043107310A

;TIME IS CURRENT IF 0

215D12CD3531FE60CAOA31C33F31AF

ADDSEC: LXICALLCPIJzJMP

ADDMIN: XRA

H, TIMEBCDAD1060HADDMINGETIMEA

;SECONDS;ADD 1 SEC;= 60 SEC?

3083 3D3084 CABD303087 325012

3092309530963099309C309F30A1

3A51123DCA9F30325112C3B9303EOA325112

30A4 3A521230A7 3D30A8 CAB13030AB 32521230AE C3B93030B1 3EOA30B3 325212

30B6 CDFC30

30B9 El30BA D130BB Cl30BC Fl30BD FB30BE C9

30BF 3A601230C2 B730C3 C830C4 217734

Page 87: SIMPSON PERSONAL FILE DO NOT REMOVE

V NI afl'IA 1-LIM SN~nflL3dtMR1N 03S 1d30C 29 01. 1-rLIMS HOA SlIVM

SS3?ld 8.MIMS JM:OIO -

NTvDv 7udi, Io0N'VILW OO 'Sax-,

IXYMCI Slda13 SVr MW'

NIVOY avaH -IM130i 93Nfl£ea30

SAVSS.l18 ms Jfl TN )1SVW-

S3RLiw. avid.

tms1N CdWZH1

9 dI'DMSd d~dVI'8 ACW'8340 INVHEZ0 NI

XVT10 IVIAO'0l IX'I

MSd HSld830 INVI

HEM0 NI

88

Lt,a093

009600

a092EZ90

* 'l3Nd RHL NO SWa.ItYS JAOS, unw .1

S = C II8'VMS = Z I8EMS = 1 1,19 'N!~X ZMS = 0 IM8 -V : SJJ-1a~f

D3, JAW~ 92 1TMYd : &JII-'Ts-MUIMS UV3aJ 'NIJOW1

-S3NIM~fl SSHALIMS ,,JAcS, 0V391

081£AV1£SVTE

8VTE

MVEa61£C06TE

6+-8ISWIL VJSawadlta' IV AW

8+~1JWI~ VIlSI{' AW

L+HISWI, VJlSDIV ACW'

9+,dIsuW1 vJiSRIANOD TM3

a1411 WfliG+H.LswlL vJs

6: 1 V AW

DIV ACl4£+E1JSWI.1 VJs1iIANIc0 TN3T+awLL VmT

*:, IV IAW

1+HI34LL VJSDIV ACl4

HJSWLIL 'iJSIKUANM TM3Z+gwL.L 'fri:3j~Ij~J

ZTDSZE LLI£

ZTVSZE 091£6L 391E

Z16SZE 69T£1£3L(D 991EZT10SVE E9T1£ZTB8ZE 09T£

ZTLSE 819ST6L VS1£

ZT9SZE LS1£TESLC0 lv~lE

6L 8171£ZTESZE S1'£1£3L03 ZVTC1ZTASVC 3£1£

-ELSWIl NI 1I 93HCOIS OINV E)NIHISII3SV 0, H31S1911 NI 31411, SJ IANCD :N0J0jI0~

SwiJ 120 :N0I13NflA

j2a1GwD00l TMV

CWCINS 7M389211'D'H IX'I

Z DIG II3S- VI D0c0 II3SV -D JI0!M.&LX XS14 -V NV£

1211'IVAd 91M3

El'V ACWV'3 ACW'D's AC14830 INVMSd dOd

r1VA11d 7mV'VC3 AOW

36H1DUH381139TH

H030 INVMSd HSfld

630£300£80CT3

:d-3 SE8VTg

6D00O66I3

8Lat,TV7

3093T.4

O0Z6C0331v3030d030

0393UMM SA0

J211Lvi

T wnvsmcol HTO a :am06TE66TE961£E6TE

Z61E381£E381£E081£381£V81 £681£981£S8TEVOTE£E81£Z8TE181£dLIE3L1 £

ciav O.L *DIG A0 U1384MN1

380 V uON -

Z 1d V =I

Hnc T I V-S11rKc,1-Z

Z!NTW 09= -NIW I 0lav

1,

SJaNIW1IT

63 ULIEZT09ZE VLTC

12H00"i3 rTVDH10'19 IAW380'0 DCrl

SWIJ.AD dW['Z+gwilL vJS

V Y8X3WiJ2D dl4PAVO30V WrH17Z0 IdD

1U"ATXIg TIvD4-3Wll'H IXI1+aWLL 'iJS

V vaXaW1120 dWP

HIU80V zip8090 1d3

TCMg13e 7111+31411'H I)CI

awil vJls

T0 SETE

60 UE£1£S080CD VEI£

1090 BETE1£3£TI SETE 1cw136

*Wlcv

*ITflv

1£3££3z13sZc

V1£3££3ZTAGV31'T331 £E0

T13C1D

0933A1£SE(IDZT2S1ZZTSZ

3Z 1£lg1 £8R1 £

9G 1£E8 1£9ZTE011£

611£911£1711£111£R01£801£

Page 88: SIMPSON PERSONAL FILE DO NOT REMOVE

GETSW: CALL NEWIM ;UPDATE TIMECALL RDSW ;READ SWIICH REGISTERCPI OHBNZ ;RFT IF SWITi DEPRESSEDJMP GETSW

FUNCr: NOP ;R1UINE 'Im BRANCH '10 ORRECT FUNCTIONNOT IMPLMENTED YET

;DEMO1 - SIMUIATION OF AN ILS TYPE AIRCRAFT INSTRUMENT

H,CMmS2 ;HOR. BAR, ASNDCMDDOmDH,CMDS3 ;VERT BARSNDXMDCD3DDmMDH,CMDS4 ;O3RDS OF BASNDCMDDXMDH,CMES6 ;HOLDW BOXSNDCMDDOCMDH,CMDS7 ;TRIANGLESSNDMDDOrMDH,CmDS9 ;POINTERSSNDoMDDOEMDA,037HXBAR ;INITIAL CRA,037HYBAR ;INITIAL CORA,08H ;UNMASK INTESIMEVVBAR ;LET USER E

0008H ;MONI'IUR

ND CENTER MARK

LRS, TIME STRING

D OF XBAR

UD OF YBAR;RUPTS

)VE BARS

;FUNCTION: DEVE BARS-DESCRIPTION: WHEN SW2 THROUGH SW5 PRESSED 'TE CORRECT

10UTINE 10 MOVE A BAR IS CALLED.

GETSIWOFHDOFF03HAJIUOBAR

;EXIT?

31B331B631B931BB31BC

CDBF30CD9D31FEOOCOC3B331

31BF 00

EM~Ol:

;MOVE LEFT?

;MVE RIGHT?

;MOVE UP?

;MOVE DOWN?

31CO31C331C631C931CC31CF31D231D531D831DB31DE31E131E431E731EA31ED31F031 F331F631F931FB31FE32003203320532063209

21C233CDDB30CDEF30210334CDDB30CD4936CDEF30210C34CDDB30CDEF30217C34CDDB30CDEF30210C35CDDB30CDEF3021B835CDDB30CDEF303E373261123E373262123E0830CDOC32CD0800

LXICALLCALLLXICALLCALLCALLLXICALLCAILLXICALLCALLLXICALLCALLLXICALLCALLMVISTAMVISTAMVIDBCALLCALL

3219321A321B321E321F322032213224322532263227322A322B322C322F32323235323732383239323C323F32403243324532463247324A324D324E32513253325432553258325B325C325F32613262326332663269

IFF5DC3232FlIFF5DC4032FlIFF5DC4E32FlIFDC5C32C30C323A6112FE1C83D326112CDA632C93A6112FE60C83C326112CDA632C93A6212FE10c83D326212CDC632C93A6212FE60C83C326212CDC632C9

RARPUSHccPOPPARPUSHccPOPRARPUSHccPOPRARccJMP

LEFT: LDACPIRZDCRSTACALLRET

RIGHT: LDACPIRZINRSTACALLRET

UP: LDACPIRZDCRSTACALLRET

DON: LDACPIZ

INRSTACALLRET

AUTOBAR:MVIABI: PUSH

CALLCALLPOPDCRJNZMVI

AB2: PUSH

PSWLEFTPSW

PSWRIGHTPSW

PSWUPPSW

DOWNMIJVBARXBAR010H

AXBARSNDXBAR

XBAR060H

AXBARSNDXBAR

YBAR010H

AYBARSNDYBAR

YBAR060H

AYBARSNDYBAR

$ $$ $$$$ $,

B, 010HBUPLEFTBBABlB,010HB

320C320F321132143216

VBAR:CDB331FEOFCC6930FE03CA6A32

CALLCPICZCPIJz

326A 0610326C C5326D CD4E323270 CD32323273 CI3274 053275 C26C323278 0610327A C5

Page 89: SIMPSON PERSONAL FILE DO NOT REMOVE

327B327E327F32803283328532863289328C328D328E329132933294329732983299329C329F32AO32A3

32A632A932AC32AF32B232B532B832BB32BE32BF32C232C5

CD4032Cl05C27A320610C5CD5C32CD3232C105C285320610C5CD4032C105C29332CD9D31B7C20C32C36A32

21F032CDDB303A6112CDDD3221F532CDDB30CDEF30210070EBCD9BOOCDBF30C9

CALLPOPDCRJNZMVI

AB3: PUSHCALLCALLPOPDCRJNZMVI

AB4: PUSHCALLPOPDCRJNZCALLORAJNZJMP

(AR: LXICALLLDACALLLXICALLCALL

EDAR: LXIXCHGCALLCALLRET

32C6 21E832 SNDYBAR:LXI32C9 CDDB3032C 3A621232CF CDDD3232D2 3EOD32D4 CD500832D7 CDEF3032DA C3BB32

CALLLDACALLMVICALLCALLJMP

32DD CD7E31 SDBYT: CALL32E0 CD5008 CALL32E3 79 McOV32E4 CD5008 CALL32E7 C9 RET

32E8 4D30312C31BMDl: DB

32EF32FO32F432F532F832F9

RIGHTBBAB2B, 010HB

MVNLEFTBBAB3B, 010HBRIGHTBBAB4RDSWAMDVBARALTCEA

H, BCMD2 ;SEND NEW COORDS OF XBARSNDCMDXBARSNDBY,H,BCMD3SNDCMDDOCMDH,07000H;BAR MOVE DELAY

DELAYNEWTIM

H, BmD1 ;SEND NEW COORDS OF YBARSNDCMDYBARSNDBYTA,CRWRBUFrXIMDDXR

OrMrIMWRBUFA,CWRBUF

32FA32FB32FC3314331533243325332E332F33383339335A335B33643365336D336E3377337833833384338D338E33AC33AD33B633B733CO33C1

33C233C333C433EO33E133F733F834013402

FF4D30322CFF2C3130ODFT

DBB3MD2: DB

DBBCMD3: DB

DBDB

ENDCMD

'M02, 'ENDCMD

',10'CRENDCMD

;COMMAND STRINGS

4BOD4130312F4OD4130322F5OD4130312C3OD4130322C3004130352F5OD4130352C3OD4130332F44OD4130332C3OD4130342F4OD4130342C3OD4430312C3(OD5030312C3OD5030312C4ODFF

49OD4430312C3OD4430352C3OD5030352C3ODFF

3403 4430322C3340B FF

CMDS1: DBDB

1 DBDB

3 DBDB

3 DBDB

9 DB

DB3 DBDB

4 DBDBDBDB

4 DBDBDBDBDB

DBDBDBDBDBDBDBDB

DBDB

DB

3 DBDBDB

5CMDS3: DBDB

CR'A01/AIRCPAFT LCD DISPLAY'CR'A02/ELEwT MDE'CR'AO1, 30,00'

CR'A02,90,45'

CR'A05/S.B. THESIS, LEE MARZKE, 5/84'

CR'A05,10,20'

CR'A03/DEMO'

CR' A03, 7A, 5F'

CR'A04/DISPIAY'

CR'A04,95,6A'

CR'D01,0B011818181818181899DB7El8'

CR ;DOWN ARROW SYMBOL'P01,85,75'

CR' PO1,A6, 75'

CRENDCMD

CR ;HOROZONTAL BAR'D01, 010AFFFFFFFFFFFFFFFFFFFF'

CR'D05,07013E7F7F7F7F7F3E'

CR ;CENTER MARK'P05, 33, 34'

CRENDCMD

'D02,5001';VERTICAL BARENDCMD

'Mo1,10,1

Page 90: SIMPSON PERSONAL FILE DO NOT REMOVE

cm: X-IC[HVU

:UVO:Hvgx

: ZJARCLL:Rwil

:HjswljlJNDNZLjj L)GNH

JK)SHL

CEO

99ZTC9ZTz9zT19ZI09ZTGSZTESZTZ ZTTSZTOSZTOSZTOOZIOOZT

arnvA XYMG aACW EVE -HZOHW UOH A0 RLVNIGHa)D X-' HTOUW 11M aO aIVNIGHOOD X- HTO

DNLLVUdn SGREN 2WLL 'aa=-' HTO(H'W'S) XM4 NI RWTV 14CO

GWDaM "do '2WLL IIDSV-' HVOHTOHTOHTO

HOMOMS 'ADMIS HOSO

sasasaSOSOsclSOsasasciscl

HOOZIO

cln'H3MTC)d:. Z8"8ZOTTOtO'LOa.

C10am'do

,6E'T9'90X.,do

Ed/OLL dria!'Itox,ED

,9Z'19'tOd.'aa. 2,laqmL NMOG-' 'do.OOtOOOJOOO2O0O2TOOaTO8aC,,OagLOOOOOOOOOZZBOtZBOBZ8,ODcjOzz80zz8OmqzO01, 900,,QL. 2'IDWMI dfl-' ED

IODIZOZZZOZZZOZZZOZZZozvvlOD6JO0OOOOOOO,-)JL0R4COOJT.OO,4T OO:1OOOjOOOtOz 00 1 , wa.

.L9'2Z'EOV,ED

IEOl3zlzOv,ED

10OC/cov,ED

jOZT/ZOV.ED

tq'UZ'EOd.

.0019ZEod.x0cl M(MOI I do

Lq.4.;t.4EOOOOD.ITOOOOBTOOOO81

,TOOOO8TOOOO9TOOOO8,,100008TOO008COOOOD,

COUOIEOG,MC)CM, /Tov,

CaCamNo

.OS09'OSOT'OZ:09'OZOT,.'09OS'O9OZ'OTOS'OTOZ,

.'0909'090T'OT09'OTOT'l.ED

NOTLLVJM-'. 6L'OO'TOV,

MINIS aWIJ,-' , I-dJSMqIJ,/Tov,ED@No

ED.OT'LE'ZOX,

'doSHVU dO 9GH0D-'.LE'OT'TOX.

:69MDOEDZLEOE" BOSE

a1q(30

9EDZalvesGO

:89M.0 AzvEOE8SGO

9EDZVEOEOGGo

TEOE8E9'vEEKOFBEZE8ETEDZ9COE"

CIOZEOCZETVTt?EEOEOE9vTE

:L9M 0TCDZPEOE"

LOSE98SEGVSEDVSESVSELVSE26SEG6SES8SEG9SESSSEtISSEXSEtZSEDOSE

=UVIUVAf

*DM aAVS HRINIOd DVJSfSJA9 ONINNM NOTIONMI

HZO 9C1 :AVSMJSHTO SO : J.TgNng

HZOTTO CHO

MEMOM TM

*do IV IAWED ZNP9 Hou

angum TM.OlV IAWaneum 7m.8.1v IAN :ED

C108 Is IAW CUD

EOTTZOTTZOTT

60 US9E800SCID 9s9c

ClOaC 6S 9CWevzo 9S9E

so Ss9E800SCID zs9E

OCRE Os9c800SCID CIV9E8M sv9EOS90 6V9C

da SOSE(30 VOSE

ZEDZECOETV TOSECIO OOSE

ZEDZZEOETV LJK(10 9,4t7E

EE14ZEEOCIV a2vEGO 231VE

TEaZZEOETV L3VCCIO 93t7c

ZEDZCEOCOS GGIVE(10 0017E

ZEDZEEOCOS ECKGO ZGVE

OEOEOCOCEV OOVEOCOCOCOE8E tRtEOCOEOCOEBE ZVKOEOCOEOEEV 06K

:99MDOCOZEEOE" DLtEAa ELK

:S9JWD aZTEOETV LLVE

UVO TVDIJ M-,

SaNIMCIHMS ONIMS GtTdt Mf

cx-xmED

.aglgv"vov.ED

saw aww/vov,,do

VL lea 18OCT 1'do

,VL'LD'LOd,Ho

o8L'9V'60d,'do

.8L'S8'VOd.ED

=!,VO8OOTOZOT8OVOTOLO'VOG,ED

aMIH-'.OZ0180'vOBOOTOZTOLO'60CI,ED

NM0GZ.OT8ZttZ81OVO '9Da,ED

aaCIO

TVDZKOETV(10

avaZKOCIt,CIO

svDz8EOEOS(10

EVDZLEOEOS(10

TVDZ6EOCOSCIO

BEDZTtOEOS(10

OEDZTIVOE"GO

OEDZ6EOE"CIO

OCOMCOE"CIO

8v%Lt9Eac9cGEWME,qz9E9z9ESZ9ED19E919EZT9ET 19E809EL09EUSEOASEWSE6GSE6DSEBDSE

aaGO

OZOEZEOETEOZOETEOEZEOCTEOCTECIP

(10OEDZTEOETV

CIOtSgZTEOETV

CIOst,GO

EEOZZEOE8SGO

:V9UWDTE0ZTEO[8S

901ES LKMEZ"E6EK8EKJztEMIEZZKTZKOztEaTK9TVCSTtEOOVE