Download - SMARTGLOBE : The Electronic Country Locator

Transcript
Page 1: SMARTGLOBE : The Electronic Country Locator

STI College – Makati

SmartGlobe: Electronic Country Locator Using a Standard Globe

A Thesis Project Presented to the Faculty ofSTI College – Makati

In Partial Fulfillmentof the Requirements for the Degree of

Bachelor of Science in Computer Engineering

by:

Benito, Reynaldo Jr. BEnjambre, Matthew D.Luchavez, Romel N.Mendoza, Glenn F.

Mr. Noel Jason M. HernandezThesis Adviser

March 2009

Page 2: SMARTGLOBE : The Electronic Country Locator

STI College – Makati

ADVISER’S RECOMMENDATION SHEET

This Thesis Project entitled

SmartGlobe: Electronic Country Locator Using a Standard Globe

by:

Benito, Reynaldo Jr. B.Enjambre, Matthew D.Luchavez, Romel N.Mendoza, Glenn F.

Submitted in partial fulfillment of the requirements of theBachelor of Science in Computer Engineering degree has been examined

and is recommended for acceptance and approval

Mr. Noel Jason M. Hernandez

Thesis Adviser

March 2009

Page 3: SMARTGLOBE : The Electronic Country Locator

STI College – Makati

PANEL’S APPROVAL SHEET

This Thesis Project entitled

SmartGlobe: Electronic Country Locator Using a Standard Globe

developed by:

Benito, Reynaldo Jr. B.Enjambre, Matthew D.Luchavez, Romel N.Mendoza, Glenn F.

After having been presented is hereby approvedby the following members of the panel

Mr. Riegie D. Tan Engr. Antonio M. LazonaPanelist Panelist

Dr. Emmalyn Capuno Panelist

Page 4: SMARTGLOBE : The Electronic Country Locator

STI College – Makati

THESIS COORDINATOR AND DEAN’S

ACCEPTANCE SHEET

This Thesis Project entitled

SmartGlobe: Electronic Country Locator Using a Standard Globe

After having been recommended and approved is hereby acceptedby the Computer Engineering Department

of STI College - Makati

Engr. Laura M. AlteaThesis Coordinator

Engr. Laura M. AlteaDean

March 2009

Page 5: SMARTGLOBE : The Electronic Country Locator

TABLE OF CONTENTSPage

1 INTRODUCTION

1.1 Statement of the Problem 1-21.1.1 General Problem 1-21.1.2 Specific Problems 1-2

1.2 Current State of the Technology 1-21.3 Objectives 1-4

1.3.1 General Objective 1-41.3.2 Specific Objectives 1-4

1.4 Scope and Limitations 1-51.5 Review of Related Studies 1-6

1.5.1 Foreign Studies 1-61.5.2 Local Studies 1-8

2 THEORETICAL FRAMEWORK

2.1 Introduction 2-12.2 Gimbal 2-12.3 Microcontroller 2-22.4 Embedded Design 2-32.5 Stepper Motor 2-5

3 SMARTGLOBE: ELECTRONIC COUNTRY LOCATOR USING A STANDARD GLOBE

3.1 Introduction 3-13.2 System Design Specifications 3-1

3.2.1 Globe 3-13.2.2 Microcontroller Unit 3-23.2.3 LCD 3-33.2.4 Keypad 3-43.2.5 Stepper Motor 3-43.2.6 Storage Device 3-43.2.7 Prototype Design 3-5

3.3 Summary 3-7

4 PERFORMANCE ANALYSIS

4.1 Introduction 4-14.2 Experimental 4-14.3 Results and Analysis 4-34.4 Summary 4-4

Page 6: SMARTGLOBE : The Electronic Country Locator

5 CONCLUSION AND RECOMMENDATION

5.1 Conclusion 5-15.2 Recommendation 5-1

BibliographyAppendicesResource PersonPersonal Vitae

Page 7: SMARTGLOBE : The Electronic Country Locator

LIST OF APPENDICES

Appendix A Project Schedule

Appendix B Glossary of Terms

Appendix C Transcript of Interviews

Appendix D Project Costing

Appendix E List of Country Codes

Appendix F Program Listing

Appendix G User’s Manual

Appendix H Sample Receipts

Page 8: SMARTGLOBE : The Electronic Country Locator

LIST OF FIGURES

Figure 3-1 Prototype Design 3-6

Figure 3-2 Schematic Diagram of the System 3-6

Figure 3-3 PCB Layout of the Main Board 3-7

Figure 3-4 Block Diagram of the System 3-8

Page 9: SMARTGLOBE : The Electronic Country Locator

Acknowledgements

First and foremost, the group would like to thank the almighty God, who has been the

source of everything and with whom great things are possible. To Him all the glory is given for

the achievement of this project.

To the adviser, Mr. Noel Jason M. Hernandez, for his invaluable support, encouragement,

supervision and useful suggestions throughout this research work. His support and continuous

guidance enabled the successful completion of the project.

The proponents were also highly thankful to the faculty of IT department: Ms. Araceli

Taisa, Mr. Antonio Lazona, Mr. Riegie Tan, Mr. Ruel Viera, and Mr. Joel Jimenez, for their

valuable suggestions throughout this study.

To the project design coordinator, Engr. Laura Altea, who guided and directed the project

from the beginning, for the empowerment to strive for excellence in everything. Moreover,

sincere thanks go to fellow colleagues of Engineering Batch 2008-2009, who shared their love

and experiences.

And lastly to the groups’ each loving parents, for their love and support throughout our

lives, thank you so much.

Page 10: SMARTGLOBE : The Electronic Country Locator

Abstract

It is important for the students and educators, to implement adequate procedures when

searching countries using the globe. Reference books indicate the coordinates needed in order for

the user to locate for the right longitudes and latitudes. Although there have been PC-based

programs like the online Google Earth, that enhances the globe's functionality, there would be

another considerations that takes place when running the program.

The SmartGlobe was designed and developed to expedite the searching of the country in

a standard globe. The use of a microcontroller was introduced in the making process of the thesis

project. Direct interfacing procedure was researched and practiced, and different input and output

devices were used for the realization and, mainly construction of the project. The proponents

consider the SmartGlobe as one of the best contributions to educational technology ever

invented. Making a globe that will, indeed, spin to any country you want, eliminates the need of

randomly rotating the globe in the hope of locating an unfamiliar country. The result is a system

that is both educational and mildly amusing.

Page 11: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-1

1.0 INTRODUCTION

Origination in the 1490's, the world globe has been a fixture in society

ever since. Today's world globes have been perfected for accurate scientific and

scholastic use. World globes are no longer limited merely to scientific and

scholastic circles. In recent years many people have begun to integrate world

globes into their homes as a stylish accent to its overall décor. There is a huge

variety of both traditional and contemporary world globes available today.

Student, fine art, gemstone, scientific, interactive, and illuminated world globes

are available in tabletop styles and stand-alone models.

For years since the actual globe is made, professionals, scientists, and

students rely on locating countries based on latitudes and longitudes, since it is

wide in terms of geographical settings, it is much complicated to those who were

unfamiliar or who do not have any knowledge in locating countries with the use

of coordinate that are tiring and confusing.

One of the basic uses of the globe is to find places cities, nations, land

areas and water areas. Just as easy as finding the busiest street corner in your

home town. Finding a place is not enough unless seeing it in its true geographical

relationship to the rest of the world or seeing those countries which are its

neighbors and the true distances and directions between them [ANON2006].

Page 12: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-2

1.1 Statement of the Problem

1.1.1 General Problem

How to design and develop a Microcontroller Unit (MCU)

Based Electronic Globe Country locator that will expedite

the searching of country?

1.1.2 Specific Problems

How to design and construct a circuit that would allow the

user to input code of the country to be located?

How to make the globe automatically rotate and pinpoint a

particular country?

How to present additional information about the located

country?

1.2 Current State of the Technology

Modern world globes now come in a numerous of styles are

constructed out of many beautiful materials. Most modern globes are

imprinted with parallels and meridians where a specific point on the

surface of the planet is located. All lines running east and west, parallel to

the equator, are called latitude lines and the lines running north and south

Page 13: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-3

from pole to pole are called longitude lines which are shown at 15°

intervals [REPL2008].

When locating countries within the globe, knowing the prime

meridian and the equator will be a good idea to start your search. Knowing

the right coordinates of the country will give the exact location.

Another method is by knowing the neighboring countries,

familiarity within the area, and the geographical setting is also a good

reference when searching. Same applies to the continents. For example,

Kuwait is a small country difficult to locate. Looking for neighboring

countries larger in size like Iran or Iraq is a way to look for the country.

But relying to these methods is not applicable to some situations.

City-state countries like on Middle East Asia and in some territories in

Europe are difficult to find since their neighboring countries are relatively

small. In some state, the Island Nations like Fiji, Tuvalu, and Tonga, are

also hard to locate since the area is surrounded by large bodies of water

like the Pacific Ocean.

The approaches stated above explains the way in using the globe

that demands enhancement, since different methods finding the right

locations is not that reliable and requires some effort.

In today's age of technology, people are now more than ever

allowed the luxury of communicating with people from all over the world.

Though technology brings us many things we all use and enjoy, some

things simply cannot be replaced by a computer screen or pure data. To

Page 14: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-4

many people, a world globe is among the items that simply cannot be

outdated by new electronic technology. Satellite data collecting, imagery,

and general computer data processing have all helped the globe and map

industry immeasurably. These technologies allow globe makers to offer a

much higher level of detail and accuracy than ever before. Still, there is

just no replacement for a 3 dimensional model of our planet.

1.3 Objectives

1.3.1 General Objective

To design and develop a Microcontroller Unit (MCU)

Based Electronic Globe Country locator that will expedite

the searching of country.

1.3.2 Specific Objectives

To construct a numeric keypad that would allow the user to

input the code of a country.

To construct a mechanism that would enable the globe to

rotate and pinpoint a particular country.

To provide an output device that would display information

about the located country.

Page 15: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-5

1.4 Scope and Limitations

The project will cover the following:

The prototype will locate and pinpoint the corresponding country

with the use of two stepper motors. One stepper motor would

rotate the globe horizontally clockwise and counter-clockwise.

The prototype will display the current information of the country

that is located using a four-line LCD. Information to be displayed

includes the country name, coordinates, currency, and capital city.

The prototype will have an alphabetically arranged list of countries

with its corresponding country code that would serve as an input to

the keypad.

A globe measuring 12 inches in diameter will be used in the

prototype. The whole unit, composed of the globe, stand, keypad

and LCD, would measure 27 inches in height, with the base that

measures 19.5 by 14 by 6.5 inches.

The information saved in the storage device can be modified

within the prototype, using the keypad.

The prototype can be manually spun to preset on the default

position in case of shut down or suddenly movement.

Page 16: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-6

The project will not cover the following:

The prototype will not be able to locate specific locations inside a

country besides the capital city.

The stepper motor to be used to rotate the globe has only 200 steps,

limiting the accuracy of the device to 1.8 degrees per step when

locating a particular country.

The prototype will not cover the changes in geographical settings

or declaration of new countries since the program will be based on

the standard globe at present time.

1.5 Review of Related Studies

1.5.1 Foreign Studies

Google Earth

Google Earth is a proprietary virtual globe program that

was originally called Earth Viewer, and was created by Keyhole,

Inc, a company acquired by Google in 2004. It maps the earth by

the superimposition of images obtained from satellite imagery,

aerial photography and GIS 3D globe. Google Earth allows users

to search for addresses for some countries, enter coordinates, or

simply use the mouse to browse to a location. The product is

currently available for use on personal computers running

Page 17: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-7

Microsoft Windows 2000, XP, or Vista, Mac OS X 10.3.9 and

above, Linux, and FreeBSD. Google Earth is also available as a

browser plug-in for Firefox, IE6, or IE7. In addition to releasing an

updated Keyhole based client, Google also added the imagery from

the Earth database to their web based mapping software. The

release of Google Earth in mid 2006 to the public caused a more

than tenfold increase in media coverage on virtual globes between

2006 and 2007, driving public interest in geospatial technologies

and applications.

The concept of locating a country was the main idea that

the group adapt from it. But which, the project will be mainly

controlled by an MCU.

Eartha: World's Largest Rotating Globe

Eartha is a 3-dimensional scale model of our earth with

mountains and landforms in full 3D that rotates and revolves,

simulating the earth’s real movements. It measures 41.5 ft in

diameter. Unveiled July 23, 1998 Eartha took two years to build

and represents earth as it is seen from space. Every aspect of

Eartha was developed using computer technology. It was designed

by David DeLorme, CEO and constructed by DeLorme staff

members. The surface is composed of 792 panels printed from a

Page 18: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-8

computerized database and incorporating shaded relief and depth

info, roadways and cities. Eartha tilts at 23.5 degrees, just as the

earth does. It revolves on a specially designed cantilever arm and

rotates on an axis. This action is powered by two electric-powered

motors, which are commanded by a computer. One combined

Eartha revolution and rotation occurs every minute at maximum

speed.

The application of motors for the rotation of the Eartha

globe is one of the similar approach that is used in moving the

project. The only purpose of this electric powered motor device is

for the rotation of the object and to show geographical features.

Unlike the SmartGlobe, these stepper motors are used for locating

countries.

1.5.2 Local Studies

Standard Globe

These Globes came in different designs and variations,

these made often made of plastics, cardboard, wood, and metallic

materials. Other types are inflatable and often came in different

size, some came with lightings to be viewable through the dark,

though the features of its functionality are the same.

Page 19: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 1-9

This standard-sized globe is the environment of the

SmartGlobe, in which the implementation of the embedded

systems will enhance the objects functions and capabilities.

Page 20: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 2-1

2.0 THEORETICAL FRAMEWORK

2.1 Introduction

The theoretical framework serves as a starting point for

investigation, as guidance for the first steps in the field. The theoretical

background that leads to the design of the project serves as a background

in the project development.

2.2 Gimbal

A gimbal is a pivoted support that allows the rotation of an object

about a single axis. A set of two gimbals, one mounted on the other with

pivot axes orthogonal, may be used to allow an object mounted on the

innermost gimbal to remain vertical regardless of the motion of its

support. For example, gyroscopes, shipboard compasses, stoves and even

drink holders typically use gimbals to keep them upright with respect to

the horizon despite the ship's pitching and rolling. [SART1999].

A basic advantage is that it provides a means of aligning and

inserting a gimbal drive and sensor assembly into position in which it

couples two gimbals along a rotation axis.

The present invention also provides a means of aligning and

engaging and disengaging an electro-mechanical subassembly into a

gimbal set or other system by means of a simple single manipulation

device which also makes all necessary interconnections. [JACO1993]

Page 21: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 2-2

The purpose of it was to set the globe to move on one axis giving

access through the countries that could be found in the upper and lower

part of the area. The upper and the lower threads attached to the gimbals

are used to support the globe together with the stepper motor that is

attached through the base (The motor set for the globe’s horizontal

movement).

2.3 Microcontroller

Microcontrollers generally can be classified into 8-bit, 16-bit, and

32-bit family based on the size of their arithmetic and index register(s). It

generally consists of ROM (Read Only Memory), RAM(Random Access

Memory), Stack Pointers, Registers, Accumulator, Input/Output Ports,

Timers, Analog to Digital Converter(ADC), Digital to Analog

Converter(DAC), UART or SPI (for communication purposes). Some

have special built in features that comes with Liquid Crystal Display

Driver (LCD) that will enable them to drive LCD displays, EEPROM

(Electrical Eraseable Programmable Read Only Memory) which is a non

volatile memory that will enable it to store data permanently.

It can be implemented using high level language or assembly

language. Clock speed determines how much processing can be

accomplished in a given amount of time by the MCU. Some have a narrow

clock speed range. Sometimes a specific clock frequency is chosen to

generate another clock required in the system, e.g. for serial baud rates.

Page 22: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 2-3

Generally the higher clock frequencies, the higher the system costs

because not only does it cost more, but so do all the support chips

required, such as RAM’s, ROM’s and bus drivers.

The processing technology of microcontrollers is N-channel metal-

oxide semiconductor (NMOS) or high-density complementary metal-oxide

semiconductor (HCMOS). In HCMOS, signals drive from rail-to-rail,

unlike earlier NMOS processors. Since these criteria can significantly

affect noise issues in system design, HCMOS uses less power and thus

generates less heat. The design geometries in HCMOS are smaller, which

permit denser designs for a given size and thus allow higher bus speeds.

The denser designs also allow lower cost, for more units can be processed

on the same sized silicon wafer. For these reasons, most MCUs today are

produced using HCMOS technology.

The entire system of this project is controlled with this device. The

signals are sent through pulses for the globe’s movement, storage

management, information displays and 16-digit keypad are all

programmed and interfaced to the mcu.

2.4 Embedded Design

An embedded system is a special-purpose computer system

designed to perform one or a few dedicated functions, often with real-time

computing constraints. It is usually embedded as part of a complete device

including hardware and mechanical parts. In contrast, a general-purpose

Page 23: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 2-4

computer, such as a personal computer, can do many different tasks

depending on programming. Embedded systems control many of the

common devices in use today.

Since the embedded system is dedicated to specific tasks, design

engineers can optimize it, reducing the size and cost of the product, or

increasing the reliability and performance. Some embedded systems are

mass-produced, benefiting from economies of scale.

Physically, embedded systems range from portable devices such as

digital watches and MP3 players, to large stationary installations like

traffic lights, factory controllers, or the systems controlling nuclear power

plants. Complexity varies from low, with a single microcontroller chip, to

very high with multiple units, peripherals and networks mounted inside a

large chassis or enclosure.

In general, "embedded system" is not an exactly defined term, as

many systems have some element of programmability. For example,

Handheld computers share some elements with embedded systems — such

as the operating systems and microprocessors which power them — but

are not truly embedded systems, because they allow different applications

to be loaded and peripherals to be connected.

The majority of computer systems in use today are embedded in

other machinery, such as automobiles, telephones, appliances, and

peripherals for computer systems. These are called embedded systems.

While some embedded systems are very sophisticated, many have minimal

Page 24: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 2-5

requirements for memory and program length, with no operating system,

and low software complexity. Typical input and output devices include

switches, relays, solenoids, LEDs, small or custom LCD displays, radio

frequency devices, and sensors for data such as temperature, humidity,

light level etc. Embedded systems usually have no keyboard, screen, disks,

printers, or other recognizable I/O devices of a personal computer, and

may lack human interaction devices of any kind. [BARR2008]

The use of MCU’s are considered to be an approach in

implementing embedded systems, which ensures reliability measures that

can optimize the SmartGlobe’s features. This can eliminate some certain

tasks like redundant measures such as using a software applications or

operating system, compatibility concerns, and cost issues. It could also

minimize exposure to adverse environmental conditions.

2.5 Stepper Motor

Stepper motors are widely used in applications in which an

accurate positioning of an output shaft is to be provided, their advantage

being that the output can be moved to any desired position from a known

starting position simply by generating an appropriate number of pulses to

drive the shaft incrementally. Stepper motors can thus be operated in an

open loop configuration and so there can be a great cost advantage over

servo-systems since neither a positional sensor nor feedback control

system is required.

Page 25: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 2-6

The precise mechanical constructions of stepper motors are many

and various, but generally a multiple pole motor together with a multi-

phase stator winding is employed. The greater the number of poles and

phases, the greater the resolution in the positional increment may be

achieved. Multi-phase motors are also capable of high power. Whatever

the construction, a stepper motor controller is required to generate, from

an applied input pulse, appropriate currents to the motor windings to make

the axis of the air gap field step around in coincidence with the input

pulse. [BURR1993]

The accuracy features of the stepper motors are considered to be

an important part of pinpointing several countries in the SmartGlobe

concerning the small land area, or the ones that are hard to locate. There

are two stepper motors. The one is set through the base for the horizontal

movement, and the other is positioned to the right side to move the globe

vertically.

Page 26: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 3-1

3.0 SMARTGLOBE: ELECTRONIC COUNTRY LOCATOR USING A

STANDARD GLOBE

3.1 Introduction

Locating Countries and navigating through coordinates take much

time. Even, familiarity through geography is not that accurate enough to

view these, since there are small countries not friendly to view. Sometimes

annoying gridlines would make countries hard to locate. These will be the

measures in order for the project to give ease, giving a nice output.

3.2 System Design Specifications

3.2.1 Globe

A 12-inch (30cm) globe weighting 2.2 lbs (1kg) is used.

The lightweight, durable globe sits in a scratch resistant, smoke

black base. Countries are colored to contrast with neighboring

countries and states. It has latitude lines in 15 degree increments

from the equator and longitude lines with 15 degree increments

from the prime meridian. The prime meridian is the line from pole

to pole, running through Greenwich, England, and serves as the

start point for all longitude lines.

Page 27: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 3-2

3.2.2 Microcontroller Unit

The microcontroller used to control the device is the

PIC18F458. It is a RISC CPU with the following specifications

and capabilities:

Operating speed: up to 40 MHz, Up to 10 MIPS

Operating voltage: 4.2-5.5V

Industrial temperature range (-40° to +85°C)

Linear program memory addressing up to 2 Mbytes

Linear data memory addressing up to 4 Kbytes

4-10 MHz oscillator/clock input with PLL active

16-bit wide instructions, 8-bit wide data path

75 instructions

Special Microcontroller Features

Flash Memory: 32 Kbytes (16,384 words)

Data SRAM: 1536 bytes

Data EEPROM: 256 bytes

In-Circuit Serial Programming via two pins

The Microcontroller was used to interface with the input

device in then form of the keypad, as well as the output device in

the form of the LCD screen. It is also used to control the

movement of the two stepper motors used to move the globe.

Page 28: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 3-3

3.2.3 LCD

The LCD controller is HD44780 (standard Hitachi

interface) compatible and has 4 lines of 20 characters each.

The HD44780U dot-matrix liquid crystal display controller

and driver LSI displays alphanumeric, Japanese kana characters,

and symbols. It can be configured to drive a dot-matrix liquid

crystal display under the control of a 4- or 8-bit microprocessor.

Since all the functions such as display RAM, character generator,

and liquid crystal driver, required for driving a dot-matrix liquid

crystal display are internally provided on one chip, a minimal

system can be interfaced with this controller/driver. A single

HD44780U can display up to one 8-character line or two 8-

character lines.

The HD44780U has pin function compatibility with the

HD44780S which allows the user to easily replace an LCD-II with

an HD44780U. The HD44780U character generator ROM is

extended to generate 208 5 ´ 8 dot character fonts and 32 5 ´ 10 dot

character fonts for a total of 240 different character fonts.

The low power supply (2.7V to 5.5V) of the HD44780U is

suitable for any portable battery-driven product requiring low

power dissipation.

The device will serve as an output in navigating countries

through the use of country code as the user’s input. It also displays

Page 29: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 3-4

information such as the country name, coordinates, capital, and

currency during the operation.

3.2.4 Keypad

These will function as the user’s input in the process of

locating desired country.

It also serves as a tool for updating profiles of the country

and modifications by simply adding and removing databases. The

mikroBasic compiler provides a hardware interface and code to

this module.

3.2.5 Stepper Motor

The researchers used a bipolar 2-phase stepper motor,

having 200 steps per revolution. During the operation, the two

stepper motors are used to rotate the globe on two axes. The

horizontal movement of the globe provided by the stepper motor

which would translate to a 1.8 degree of accuracy when

pinpointing the capital of a country (mapping of 200 steps to the

globes 360 degrees).

3.2.6 Storage Device

Country information will be stored using a 64 MB solid

state drive in the form of the Multimedia Card (MMC). PIC

Page 30: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 3-5

provides SPI features. Serial Peripheral Interface is a

communication method that was once used to connect devices such

as printers, cameras, scanners, etc. to a desktop computer. This

function has largely been taken over by USB, however SPI can still

be a useful communication tool for some applications. SPI runs as

a master slave set-up and can run in full duplex mode, meaning

that signals from the master to the slave and versa can be

transferred at the same time. SPI involves four lines, and is

therefore often termed the “four wire” serial bus. The four lines

are:

SCLK — Serial Clock (output from master)

MOSI/SIMO — Master Output, Slave Input (output from master)

MISO/SOMI — Master Input, Slave Output (output from slave)

SS — Slave Select (active low; output from master)

3.2.7 Prototype Design

The prototype was composed of a globe measuring 12

inches in diameter, stand, keypad and LCD (mounted at the base),

and would all-in-all measure 27 inches in height, with a base that

measures 19.5 by 14 by 6.5 inches.

Page 31: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 3-6

Figure 3-1: Prototype Design

The design calls for the use of a microcontroller to move

two motors that would rotate the globe so that a country would

face the user. The microcontroller would provide necessary I/O

lines to interface to an alphanumeric keypad and a LCD.

Figure 3-2: Schematic Diagram of the System

Page 32: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 3-7

The Layout of the circuit is designed through the Express

PCB software. The saved project is then printed through the

acetate and then use a presensitized PCB for the board tracing

process, in which keeping the board in contact with extreme

sunlight for 2 minutes, then placing the board in the developer

solution until the traces are visible. Once transferred, the board is

then submerged with the FeCl compound, producing an output

ready for drilling and mounting the components.

Figure 3-3: PCB Layout of the Main Board

Page 33: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 3-8

3.3 Summary

All the ideas and concepts made to build the SmartGlobe are based

through different approaches. These methods are carefully chosen and

used to interface several ways. These can be manipulated and refined

through the use of microcontroller unit.

Figure 3-4: Block Diagram of the System

Page 34: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 4-1

4.0 PERFORMANCE ANALYSIS

4.1 Introduction

In this chapter the proponents are to discuss the end results of the

numerous experiments and theories that the group has done. Like what the

group has proposed the main objective of this project is to be able to

design and develop a Microcontroller Unit (MCU) Based Electronic Globe

Country locator that will expedite the searching of country.

4.2 Experimental

Programming

The toughest part in making this system to work is the creation of

an algorithm when performing new search of a country after the other with

the use of a compiler written in a basic language (software used in

embedding codes through the microcontroller). Though the idea is so

simple that after a country has been located, the next action is to locate a

new one starting to the previous one as an origin. The experiment that the

proponents had conducted was to know if saving a country’s current

coordinates would allow the project to locate the country. The movement

of the 2 motors should rotate the globe according to the programmed

coordinates.

Page 35: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 4-2

Accuracy

This phase concerns the proper alignment of the globe with the

gimbals that holds it, in which the proponent’s objective is to make the

country location more accurate. The experiment that had been conducted

was to know if adding a counterweight or making a balancer to prototype

will prevent the gimbals from freewheeling in its axis movement. The

activity here is to get the actual weight of the gearbox and stepper

motor (which is 58 grams) located through the base (the one that rotates

the globe horizontally) in order to produce a proportional counterweight

through that of the object. After the activity is done, proper wiring of the

entire hardware must be carefully installed to avoid obstruction in running

the system.

Hardware

The stage focuses more on implementing the actual structure of the

project, this includes the globe, gearbox, stand and the gimbals, proper

wiring and ventilation. This is to test how the overall hardware

implementation of the project works. The proponents subjected the

prototype to a test run by trying to locate 10 countries in succession. All

problems during the batch run will be analyzed so they can be properly

addressed.

Page 36: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 4-3

Table 4.1: Table of Experiments

Experiment # Topics Remarks1 Review on Circuitry and Electronics This cover the basic and

advance principles on electronics

2 Review on Programming A review on different programming languages like Assembly Language, Visual Basic, and C Language.

3 Introduction on Embedded Systems and Microcontrollers

A study on the concepts of microcontrollers and it’s applications

4 Study on PIC Microchip IC Among the commercial IC’s used today, proponents used PIC IC’s because of it’s flexibility and good features

5 Circuit Interfacing based on PIC Microchip IC

Study on circuit interfacing based on PIC

6 Study on different compilers for PIC Microchip IC

Study on compiler’s based on PIC, commonly based on C, Basic, and Assembly

7 Choosing the compiler needed to build the project

Proponents prefer MicroBasic compiler based on Basic Language

8 Study on the mechanical structure of the project model

Includes the proper alignment, and preferred parts and design

9 In-depth study of the MicroBasic compiler software

Study on the features and other capabilities on the software, and proper implementation

10 Project Refinement Process Numerous revising and improvising are covered in this stage to finalized the project

Page 37: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 4-4

4.3 Results and Analysis

Programming

After examining and debugging the code that would control the 2

motors. It is now possible to locate countries whose coordinates are stored

in the system memory.

Accuracy

Putting a counterweight helped reduce the risk of freewheeling of

the globe’s gimbals. The gearbox is also consider the factor in adding

more strength to hold the gimbals, and without the proper alignment of the

globe installed, the system will not run as expected.

Hardware

During the batch run, it was noted by the group that the project

exhibited a slight trembling as the motor moves the globe along its axes.

The problem was attributed to an unsteady base. The use of the angle bar

as base material is enough to provide a steady stand to avoid trembling

when running the system. The experiment was conducted to know if using

an angle bar as a base will prevent the object from shaking. After the task

is finished, proper alignment for accuracy must be implemented (see

Accuracy). It was also observed that the ambient temperature inside the

case is high due to the motor driver which gives off a considerable amount

Page 38: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 4-5

of heat. Proper ventilation with the use of fan must be installed to prevent

the circuit for overheating. As for the project’s wiring, the proponents will

provide flexible hose to hide and organize the wires. A box made of

aluminum material to serve as a chassis for the gearbox, and acrylic

material for the base’s frame. The use of flexible hose is good in hiding

the wires to make the prototype more presentable.

4.4 Summary

The result and analysis shows that the SmartGlobe: Electronic

Country Locator objectives has been covered well. The movement of the

globe was stabilized with the introduction of the counterweight and the

project was able to move the motor based on coordinates stored in

memory.

Page 39: SMARTGLOBE : The Electronic Country Locator

SmartGlobe: Electronic Country Locator Using a Standard Globe 5-1

5.0 CONCLUSION AND RECOMMENDATION

Conclusion

The proponents had developed SmartGlobe: Electronic Country Locator to

help the user in locating and giving some information of the particular country

that are located. The SmartGlobe eliminates the need of randomly rotating the

globe in the hope of locating an unfamiliar country, so users can locate a country

without the need to know its coordinates.

Recommendation

For future enhancements, the proponents recommend to make use of a

stronger stepper motor gear that would hold the globe so it would not slip down

when it locates the country. Still, the improvement on the entire scope of the

projects focuses on the accuracy. Using a faster motor can also be used to hasten

the seek time when moving the globe to the correct axes. Powerful electromagnets

can also be used to replace the gimbals making the globe levitate on its axes. For

country information, aural presentation of country information with the use of

built-in speakers can enhance the user experience.

Page 40: SMARTGLOBE : The Electronic Country Locator

BIBLIOGRAPHY

World Wide Web:

[ANON2006] Anonymous (2006). ‘Seeing the the world on a globe’. http://www.myworldglobes.com/

[BARR2008] Barr, Michael (2008). ‘Embedded Systems’ www.netrino.com/Embedded-Systems/Glossary

[JONE1995] Jones, Douglas W. (1995). ‘Control of Stepping Motor’ www.cs.uiowa.edu/~jones/step/types.html#bipolar

[REPL2008] Replogle Globes Inc. (2008). ‘How to use your Globe’ http://www.replogleglobes.com/

[WIKI2008] Wikipedia (2008). ‘Microcontroller’ http://en.wikipedia.org/wiki/microcontroller

Books:[BURR1993] Burri, Michel (1993). Stepper motor controllers

Gd-Saconnex Inc. (Chicago, U.S.A)

[DWYE1994] Dwyer (1994) 4-10; Braun, Vision: TEST (Technologically Enriched Schools of Tomorrow), Final Report (Eugene, OR: International Society for Technology in Education, 1990) 7.

[JACO1993] Jacobson, Peter E. (1993). Gimbal Module W. Marlette Drive, Phoenix, Arizona, 85019, US

[SART1999] Sarton, George (1999). A History of Science: Hellenistic Science and Culture in the Last Three Centuries. Norton & Company Inc. (New York, U.S.A.), Ltd.

Page 41: SMARTGLOBE : The Electronic Country Locator

Appendix A: Project Schedule

Page 42: SMARTGLOBE : The Electronic Country Locator

Appendix A A-1

Page 43: SMARTGLOBE : The Electronic Country Locator

Appendix A A-2

Page 44: SMARTGLOBE : The Electronic Country Locator

Appendix A A-3

Page 45: SMARTGLOBE : The Electronic Country Locator

Appendix B: Glossary of Terms

Page 46: SMARTGLOBE : The Electronic Country Locator

Appendix B B-1

Glossary of Terms

1. Abridge - To make shorter; to shorten in duration; to lessen; to

diminish; to curtail; as, to abridge labor; to abridge power or rights.

2. International Date Line (IDL) - is an imaginary line on the surface of

the Earth opposite the Prime Meridian which offsets the date as one

travels east or west across it

3. Latitude - usually denoted symbolically by the Greek letter phi, ,

gives the location of a place on Earth north or south of the equator.

Lines of Latitude are the horizontal lines shown running east-to-west on

maps.

4. Longitude - is the north - south (Up to Down) geographic coordinate

measurement most commonly used in cartography and global

navigation.

5. Meridian - (or line of longitude) is an imaginary arc on the Earth's

surface from the North Pole to the South Pole that connects all

locations running along it with a given longitude.

6. Prime Meridian - is the meridian (line of longitude) at which longitude

is defined to be 0°.

7. Equator - Runs East and West around the exact middle of the globe.

Page 47: SMARTGLOBE : The Electronic Country Locator

Appendix C: Transcript of Interviews

Page 48: SMARTGLOBE : The Electronic Country Locator

Appendix C C-1

Theory on Gears, Approaches and method of construction

Proponents: Reynaldo Benito Jr., Matthew Enjambre, Romel Luchavez, Glenn Mendoza

Proponents: Do you provide some ready-made gears from the motors you sell here?

Seller: Hmm… Not exactly because there are motors here that came with attached gears, most of these are surplus and only few are new kasi we only provide small stepper motors. But if you are knowledgeable, you can make your own set of gears or gearboxes. We provide some spare parts for gears

Proponents: About these gears, ahh. Can there be some services you offer about constructing gearboxes?

Seller: Uhmm, for now, we don’t provide services for that

Proponents: Do you know a shop where they can customize, fabricate, construct gearboxes? Most of the ones we visited only provide fixed gears, and most of them are made for industrial works.

Seller: Uhm, you could at least try those machine shops there in Caloocan, you can go through LRT. I think they fabricate gears.

Proponents: Thanks.

Hardware: Inquiries on Microprocessor/Microcontroller IC’s

Proponents: What’s the difference between Zilog and PIC Microchip IC’s

Seller: of course Zilog is a microprocessor chip, while the PIC micro IC’s are what they called microcontrollers.

Proponents: How can you distinguish their differences?

Seller: Since I’m just a seller, it depends on the number of pins, and the manufacturer of course. But I think Zilog IC’s are a bit cheaper than the PIC micro. But our technical staff may provide you some helpful information about these IC’s. (small conversation with the staff)

Proponents: Sir, about those IC’s, can you tell use the differences?

Technical Staff: Microprocessors are IC’s that can be found on pc’s, in order for them to function, they need a separate RAM and ROM, when interfacing, you need to construct a circuit for a specific device since all of these ports are based on I/O’s. These are contrary to the microcontrollers that have built-in features that microprocessors doesn’t have.

Page 49: SMARTGLOBE : The Electronic Country Locator

Appendix D: Project Costing

Page 50: SMARTGLOBE : The Electronic Country Locator

Appendix D D-1

Table D.1: Project Design Costing

Planning Number of hours estimated to complete all planning activities Includes time on outside and inside implementation

Contract Labor This entry is for all implementation costs for work provided by outside

contractors In this project, all implementation activities which include the alignment,

welding, acrylic installation and paint finish totaled ___P 2,000____

Tools and Equipment Tools needed to build the project in terms of software and hardware, this includes

the PickIT Programmer bundled with Development Board for inCD Debugging, PIC IC’s 16f and 18f series, Compiler and Utility Software, and tools necessary for both experimentation and implementation

Internal Implementation Enter the number of hours estimated to complete all installation activities,

programming, interfacing and gathering of resources

Parts This covers the total costs of parts needed in building the project

Capital Costs Include all equipment and material purchased to complete the project.

Entry Unit Cost/TimePlanning Hour/s 3240Contract Labor: Alignment Php 1800 Acrylic Installation Php 100 Paint Finish Php 100Tools & Equipment/s: PickIT Debug Express Php 3071.73 PIC Microchip IC’s Php 2903.76 Other Hardware Tools Php n/aInternal Implementation Hour/s 1440Project Parts Php 20184.49Capital Cost Php 30000Implementation Cost Php 1600

Page 51: SMARTGLOBE : The Electronic Country Locator

Appendix D D-2

Table D.2: Materials Costing

Materials: No. of Units/Meters: Unit Price: Price:PickIt2 Programmer 1 pc 2300 3071.73PIC18F458 IC 3 pcs 789 2153.76Stepper Motors 4 pcs 150 600L298a Motor Driver IC 6 pcs 187.25 1123.50L297 Motor Driver IC 6 pcs 189.75 1138.50Pre-sensitized PCB 6 pcs 190 1140Assorted Resistors 4 packs 15 60Assorted Capacitors Electrolytic 50 pcs 4 200Assorted Capacitors Ceramic 25 pcs 4 10012-inch in Diameter Globe 1 pc. 3200 3200Kaynar Wires 20 bundles 10 200Solid Wires 15 meters 10 1501 Ampere Multi-tap Transformer 2 pcs 120 240500 mA Multi-tap Transformer 1 pc. 80 80Assorted transistors PNP/ NPN 30 pcs 15 450Transistor Regulator (5V & 12V) 10 pcs 13 130Soldering Lead 20 meters 10 200Alligator Clips 2 packs 56 112LCD 4 x 20 lines 1 pcs 1780 1780Tact Switch 16 pcs 8.50 136Female Connectors (Asstd) 10 pcs 15 150Male Connectors (Asstd) 15 pcs 13 195Crystal Oscillator 4Mhz 2 pcs 17 34Diodes (Assorted) 50 pcs 2.50 125Buzzer Signal 2 pcs 60 120Laser Pointer 1 pc 250 250Heat Sinks 5 pcs 20 100Soldering Paste 1 pc 30 30Ferric Chloride 3 packs (powder) 20 60Acrylic 15 x 20 meters 600 600MMC 128 MB 1 pc 700 700MMC Socket 1 pc 350 350Steel Rod 1pc 395 395Bearings 4 pcs 90 360Flat bar 1 pc 360 360Drill Bit 1 pc 90 90

Total: P 20,184.49

Page 52: SMARTGLOBE : The Electronic Country Locator

Appendix D D-3

Benefits

Additional mode of topic presentation for subjects that deals with geographical locations.

Reduced preparation time for educators. Reduced material costs for preparation of visual aids. Teachers are provided with an effective tool to integrate technology into their

curriculum and use technology in ways that enhance instructional opportunities and successes for all students.

Learning process in the classroom can become significantly richer as students have access to new and different types of information which they can directly manipulate. Learning becomes a hands-on experience.

The use of technology in the classroom can improve students' motivation and attitudes about themselves and about learning. Technology-rich classes report higher attendance and lower dropout rates than traditional classes [DWYE1994]. Students are found to be challenged, engaged, and more independent when using technology.

Technology helps teachers improve their classroom practice by expanding their opportunities for training students.

Page 53: SMARTGLOBE : The Electronic Country Locator

Appendix E: List of Country Codes

Page 54: SMARTGLOBE : The Electronic Country Locator

Appendix E E-1

Name of Country Country Code

Afghanistan 0004Albania 0008 Algeria 0012 Andorra 0020 Angola 0024 Antigua and Barbuda 0028 Argentina 0032 Armenia 0051 Aruba 0533 Australia 0036 Austria 0040 Azerbaijan 0031 Bahamas 0044 Bahrain 0048 Bangladesh 0050 Barbados 0052 Belarus 0112 Belgium 0056 Belize 0084 Benin 0204 Bhutan 0064 Bolivia 0068 Bosnia and Herzegovina 0070 Botswana 0072 Brazil 0076 Brunei Darussalam 0096 Bulgaria 0100 Burkina Faso 0854 Burundi 0108 Cambodia 0116 Cameroon 0120 Canada 0124 Cape Verde 0132 Central African Republic 0140 Chad 0148 Chile 0152 China 0156 Colombia 0170 Comoros 0174 Congo 0180 Costa Rica 0188 Côte d'Ivoire 0384 Croatia 0191 Cuba 0192 Cyprus 0196 Czech Republic 0203

Page 55: SMARTGLOBE : The Electronic Country Locator

Appendix E E-2

Name of Country Country Code

Denmark 0208 Djibouti 0262 Dominica 0212 Dominican Republic 0214 Ecuador 0218Egypt 0818 El Salvador 0222 Equatorial Guinea 0226 Eritrea 0232 Estonia 0233 Ethiopia 0231 Fiji 0242 Finland 0246 France 0250 Gabon 0266Gambia 0270 Georgia 0268 Germany 0276 Ghana 0288 Greece 0300 Grenada 0308 Guatemala 0320 Guinea 0324 Guinea-Bissau 0624 Guyana 0328 Haiti 0332

Holy See (Vatican City State) 0336Honduras 0340 Hungary 0348 Iceland 0352 India 0356 Indonesia 0360 Iran 0364 Iraq 0368

Ireland 0372 Israel 0376 Italy 0380 Jamaica 0388 Japan 0392 Jordan 0400 Kazakhstan 0398 Kenya 0404 Kiribati 0296 North Korea 0408 South Korea 0410 Kuwait 0414

Page 56: SMARTGLOBE : The Electronic Country Locator

Appendix E E-3

Name of Country Country Code

Kyrgyzstan 0417 Latvia 0428 Lebanon 0422 Lesotho 0426 Liberia 0430

Libya 0434 Liechtenstein 0438 Lithuania 0440 Luxembourg 0442

Macedonia 0807 Madagascar 0450 Malawi 0454 Malaysia 0458 Maldives 0462 Mali 0466 Malta 0470 Marshall Islands 0584 Mauritania 0478 Mauritius 0480 Mexico 0484 Moldova 0498

Monaco 0492 Mongolia 0496 Montenegro 0499 Morocco 0504 Mozambique 0508 Myanmar 0104 Namibia 0516 Nauru 0520

Nepal 0524 Netherlands 0528 New Zealand 0554 Nicaragua 0558

Niger 0562 Nigeria 0566 Norway 0578 Oman 0512 Pakistan 0586 Panama 0591 Papua New Guinea 0598 Paraguay 0600 Peru 0604 Philippines 0608 Poland 0616 Portugal 0620 Qatar 0634

Page 57: SMARTGLOBE : The Electronic Country Locator

Appendix E E-4

Name of Country Country Code

Romania 0642 Russia 0643 Rwanda 0646 Saint Kitts and Nevis 0659 Saint Lucia 0662 Saint Vincent and the Grenadines 0670 Samoa 0882 San Marino 0674 Sao Tome and Principe 0678 Saudi Arabia 0682 Senegal 0686 Serbia 0688 Seychelles 0690 Sierra Leone 0694 Singapore 0702 Slovakia 0703 Slovenia 0705 Solomon Islands 0090 Somalia 0706 South Africa 0710 Spain 0724 Sri Lanka 0144 Sudan 0736 Suriname 0740 Swaziland 0748 Sweden 0752

Switzerland 0756 Syria 0760 Tajikistan 0762 Tanzania 0834 Thailand 0764 Timor-Leste 0626 Togo 0768 Tonga 0776 Trinidad and Tobago 0780 Tunisia 0788 Turkey 0792 Turkmenistan 0795 Tuvalu 0798 Uganda 0800 Ukraine 0804 United Arab Emirates 0784 United Kingdom 0826 United States 0840 Uruguay 0858 Uzbekistan 0860

Page 58: SMARTGLOBE : The Electronic Country Locator

Appendix E E-5

Name of Country Country Code

Vanuatu 0548 Venezuela 0862 Viet Nam 0704 Yemen 0887 Zambia 0894 Zimbabwe 0716

Page 59: SMARTGLOBE : The Electronic Country Locator

Appendix F: Program Listing

Page 60: SMARTGLOBE : The Electronic Country Locator

Appendix F F-1

; ADDRESS OPCODE ASM; ----------------------------------------------$0000 $EF04 F000

GOTO _main$490A $ _delay_1us:;Delays.pbas,13 :: sub procedure Delay_1us;Delays.pbas,15 :: Delay_us(1)$490A $0000 NOP$490C $ Delays_L_2:$490C $0012

RETURN$481C $ _delay_5500us:;Delays.pbas,43 :: sub procedure Delay_5500us;Delays.pbas,45 :: Delay_us(5500)$481C $0E08

MOVLW 8$481E $6E0B

MOVWF STACK_11, 0$4820 $0EFF

MOVLW 255$4822 $6E0A

MOVWF STACK_10, 0$4824 $2E0B

DECFSZ STACK_11, F, 0$4826 $D001 BRA

$+2$4828 $D003 BRA

$+4$482A $2E0A

DECFSZ STACK_10, F, 0$482C $D7FE BRA

$-1$482E $D7FA BRA

$-5$4830 $0E1E

MOVLW 30$4832 $6E0A

MOVWF STACK_10, 0$4834 $2E0A

DECFSZ STACK_10, F, 0$4836 $D7FE BRA

$-1$4838 $ Delays_L_8:$4838 $0012

RETURN$48D6 $ _delay_50us:;Delays.pbas,28 :: sub procedure Delay_50us;Delays.pbas,30 :: Delay_us(50)$48D6 $0E10

MOVLW 16$48D8 $6E0A

MOVWF STACK_10, 0$48DA $2E0A

DECFSZ STACK_10, F, 0$48DC $D7FE BRA

$-1$48DE $0000 NOP$48E0 $ Delays_L_5:$48E0 $0012

RETURN$4858 $ _setfun32:$4858 $0100

MOVLB 0

;math_double.ppas,152 :: ;math_double.ppas,160 :: $485A $840B BSF

STACK_11, FUN, 0;math_double.ppas,161 :: $485C $AE0B

BTFSS STACK_11, SAT, 0;math_double.ppas,163 :: $485E $EF38 F024

GOTO SETFUN32EEE;math_double.ppas,164 :: $4862 $0E01

MOVLW 0X01;math_double.ppas,165 :: $4864 $6E03

MOVWF STACK_3, 0;math_double.ppas,166 :: $4866 $6A02 CLRF

STACK_2, 0;math_double.ppas,167 :: $4868 $6A01 CLRF

STACK_1, 0;math_double.ppas,168 :: $486A $6A00 CLRF

STACK_0, 0;math_double.ppas,169 :: $486C $360A RLCF

STACK_10, F, 0;math_double.ppas,170 :: $486E $3202 RRCF

STACK_2, F, 0;math_double.ppas,171 :: $4870 $ SETFUN32EEE:;math_double.ppas,172 :: $4870 $0EFF

MOVLW 0XFF;math_double.ppas,173 :: $4872 $ math_double_L_4:;math_double.ppas,174 :: $4872 $0012

RETURN$4900 $ _fixsign32:$4900 $0100

MOVLB 0;math_double.ppas,123 :: ;math_double.ppas,127 :: $4902 $AE0A

BTFSS STACK_10, 7, 0;math_double.ppas,128 :: $4904 $9E02 BCF

STACK_2, 7, 0;math_double.ppas,129 :: $4906 $0E00

MOVLW 0;math_double.ppas,130 :: $4908 $ math_double_L_2:;math_double.ppas,131 :: $4908 $0012

RETURN$4874 $ _setfov32:$4874 $0100

MOVLB 0;math_double.ppas,86 :: ;math_double.ppas,94 :: $4876 $820B BSF

STACK_11, FOV, 0

Page 61: SMARTGLOBE : The Electronic Country Locator

Appendix F F-2

;math_double.ppas,95 :: $4878 $AE0B

BTFSS STACK_11, SAT, 0;math_double.ppas,97 :: $487A $EF45 F024

GOTO SETFOV32EEE;math_double.ppas,98 :: $487E $6803 SETF

STACK_3, 0;math_double.ppas,99 :: $4880 $6802 SETF

STACK_2, 0;math_double.ppas,100 :: $4882 $6801 SETF

STACK_1, 0;math_double.ppas,101 :: $4884 $6800 SETF

STACK_0, 0;math_double.ppas,102 :: $4886 $360A RLCF

STACK_10, F, 0;math_double.ppas,103 :: $4888 $3202 RRCF

STACK_2, F, 0;math_double.ppas,104 :: $488A $ SETFOV32EEE:;math_double.ppas,105 :: $488A $0EFF

MOVLW 0XFF;math_double.ppas,106 :: $488C $ math_double_L_0:;math_double.ppas,107 :: $488C $0012

RETURN$48B6 $ _res032:$48B6 $0100

MOVLB 0;math_double.ppas,135 :: ;math_double.ppas,141 :: $48B8 $6A02 CLRF

STACK_2, 0;math_double.ppas,142 :: $48BA $6A01 CLRF

STACK_1, 0;math_double.ppas,143 :: $48BC $6A00 CLRF

STACK_0, 0;math_double.ppas,144 :: $48BE $6A08 CLRF

STACK_8, 0;math_double.ppas,145 :: $48C0 $6A03 CLRF

STACK_3, 0;math_double.ppas,146 :: $48C2 $0E00

MOVLW 0;math_double.ppas,147 :: $48C4 $ math_double_L_3:;math_double.ppas,148 :: $48C4 $0012

RETURN$352A $ _lcd_cmd:;Lcd.ppas,17 :: ;Lcd.ppas,18 :: $352A $0EFF

MOVLW 255

$352C $1415 ANDWF lcd_dataport_address, 0, 0

$352E $6EE9 MOVWF FSR0L, 0

;Lcd.ppas,19 :: $3530 $C016 F000

MOVFF lcd_dataport_address+1, STACK_0$3534 $C000 FFEA

MOVFF STACK_0, FSR0H;Lcd.ppas,20 :: $3538 $0EFF

MOVLW 255$353A $1417

ANDWF lcd_ctrlport_address, 0, 0$353C $6EE1

MOVWF FSR1L, 0;Lcd.ppas,21 :: $353E $C018 F000

MOVFF lcd_ctrlport_address+1, STACK_0$3542 $C000 FFE2

MOVFF STACK_0, FSR1H;Lcd.ppas,23 :: $3546 $1C19

COMF lcd____menable, 0, 0$3548 $6E00

MOVWF STACK_0, 0$354A $5000

MOVF STACK_0, 0, 0$354C $16E7

ANDWF INDF1, 1, 0;Lcd.ppas,24 :: $354E $1C1A

COMF lcd____mrs, 0, 0$3550 $6E00

MOVWF STACK_0, 0$3552 $5000

MOVF STACK_0, 0, 0$3554 $16E7

ANDWF INDF1, 1, 0;Lcd.ppas,25 :: $3556 $501C

MOVF lcd____mdb6, 0, 0$3558 $101B

IORWF lcd____mdb7, 0, 0$355A $6E00

MOVWF STACK_0, 0$355C $501D

MOVF lcd____mdb5, 0, 0$355E $1200

IORWF STACK_0, 1, 0$3560 $501E

MOVF lcd____mdb4, 0, 0$3562 $1200

IORWF STACK_0, 1, 0$3564 $1E00

COMF STACK_0, 1, 0$3566 $5000

MOVF STACK_0, 0, 0$3568 $16EF

ANDWF INDF0, 1, 0;Lcd.ppas,27 :: $356A $6A01 CLRF

STACK_1, 0$356C $0103

MOVLB 3

Page 62: SMARTGLOBE : The Electronic Country Locator

Appendix F F-3

$356E $BFDA BTFSC FARG_Lcd_Cmd, 7, 1

$3570 $2A01 INCFSTACK_1, 1, 0

$3572 $5001 MOVF STACK_1, 0, 0

$3574 $0A01 XORLW 1

$3576 $E102 BNZLcd_L_2

$3578 $ Lcd_L_1:;Lcd.ppas,28 :: $3578 $501B

MOVF lcd____mdb7, 0, 0$357A $12EF

IORWF INDF0, 1, 0$357C $ Lcd_L_2:$357C $ Lcd_L_3:;Lcd.ppas,29 :: $357C $6A01 CLRF

STACK_1, 0$357E $BDDA

BTFSC FARG_Lcd_Cmd, 6, 1$3580 $2A01 INCF

STACK_1, 1, 0$3582 $5001

MOVF STACK_1, 0, 0$3584 $0A01

XORLW 1$3586 $E102 BNZ

Lcd_L_5$3588 $ Lcd_L_4:;Lcd.ppas,30 :: $3588 $501C

MOVF lcd____mdb6, 0, 0$358A $12EF

IORWF INDF0, 1, 0$358C $ Lcd_L_5:$358C $ Lcd_L_6:;Lcd.ppas,31 :: $358C $6A01 CLRF

STACK_1, 0$358E $BBDA

BTFSC FARG_Lcd_Cmd, 5, 1$3590 $2A01 INCF

STACK_1, 1, 0$3592 $5001

MOVF STACK_1, 0, 0$3594 $0A01

XORLW 1$3596 $E102 BNZ

Lcd_L_8$3598 $ Lcd_L_7:;Lcd.ppas,32 :: $3598 $501D

MOVF lcd____mdb5, 0, 0$359A $12EF

IORWF INDF0, 1, 0$359C $ Lcd_L_8:$359C $ Lcd_L_9:;Lcd.ppas,33 :: $359C $6A01 CLRF

STACK_1, 0$359E $B9DA

BTFSC FARG_Lcd_Cmd, 4, 1

$35A0 $2A01 INCFSTACK_1, 1, 0

$35A2 $5001 MOVF STACK_1, 0, 0

$35A4 $0A01 XORLW 1

$35A6 $E102 BNZLcd_L_11

$35A8 $ Lcd_L_10:;Lcd.ppas,34 :: $35A8 $501E

MOVF lcd____mdb4, 0, 0$35AA $12EF

IORWF INDF0, 1, 0$35AC $ Lcd_L_11:$35AC $ Lcd_L_12:;Lcd.ppas,36 :: $35AC $501F

MOVF lcd_lcdcmd_status, 0, 0$35AE $0A01

XORLW 1$35B0 $E105 BNZ

Lcd_L_14$35B2 $ Lcd_L_13:;Lcd.ppas,37 :: $35B2 $1C1A

COMF lcd____mrs, 0, 0$35B4 $6E00

MOVWF STACK_0, 0$35B6 $5000

MOVF STACK_0, 0, 0$35B8 $16E7

ANDWF INDF1, 1, 0$35BA $D003 BRA

Lcd_L_15;Lcd.ppas,38 :: $35BC $ Lcd_L_14:;Lcd.ppas,39 :: $35BC $0103

MOVLB 3$35BE $501A

MOVF lcd____mrs, 0, 0$35C0 $12E7

IORWF INDF1, 1, 0$35C2 $ Lcd_L_15:;Lcd.ppas,41 :: $35C2 $5019

MOVF lcd____menable, 0, 0$35C4 $12E7

IORWF INDF1, 1, 0;Lcd.ppas,43 :: $35C6 $EC85 F024 CALL

_delay_1us;Lcd.ppas,45 :: $35CA $1C19

COMF lcd____menable, 0, 0$35CC $6E00

MOVWF STACK_0, 0$35CE $5000

MOVF STACK_0, 0, 0$35D0 $16E7

ANDWF INDF1, 1, 0;Lcd.ppas,46 :: $35D2 $1C1A

COMF lcd____mrs, 0, 0

Page 63: SMARTGLOBE : The Electronic Country Locator

Appendix F F-4

$35D4 $6E00 MOVWF STACK_0, 0

$35D6 $5000 MOVF STACK_0, 0, 0

$35D8 $16E7 ANDWF INDF1, 1, 0

;Lcd.ppas,47 :: $35DA $501C

MOVF lcd____mdb6, 0, 0$35DC $101B

IORWF lcd____mdb7, 0, 0$35DE $6E00

MOVWF STACK_0, 0$35E0 $501D

MOVF lcd____mdb5, 0, 0$35E2 $1200

IORWF STACK_0, 1, 0$35E4 $501E

MOVF lcd____mdb4, 0, 0$35E6 $1200

IORWF STACK_0, 1, 0$35E8 $1E00

COMF STACK_0, 1, 0$35EA $5000

MOVF STACK_0, 0, 0$35EC $16EF

ANDWF INDF0, 1, 0;Lcd.ppas,49 :: $35EE $6A01 CLRF

STACK_1, 0$35F0 $0103

MOVLB 3$35F2 $B7DA

BTFSC FARG_Lcd_Cmd, 3, 1$35F4 $2A01 INCF

STACK_1, 1, 0$35F6 $5001

MOVF STACK_1, 0, 0$35F8 $0A01

XORLW 1$35FA $E102 BNZ

Lcd_L_17$35FC $ Lcd_L_16:;Lcd.ppas,50 :: $35FC $501B

MOVF lcd____mdb7, 0, 0$35FE $12EF

IORWF INDF0, 1, 0$3600 $ Lcd_L_17:$3600 $ Lcd_L_18:;Lcd.ppas,51 :: $3600 $6A01 CLRF

STACK_1, 0$3602 $B5DA

BTFSC FARG_Lcd_Cmd, 2, 1$3604 $2A01 INCF

STACK_1, 1, 0$3606 $5001

MOVF STACK_1, 0, 0$3608 $0A01

XORLW 1$360A $E102 BNZ

Lcd_L_20$360C $ Lcd_L_19:;Lcd.ppas,52 ::

$360C $501C MOVF lcd____mdb6, 0, 0

$360E $12EF IORWF INDF0, 1, 0

$3610 $ Lcd_L_20:$3610 $ Lcd_L_21:;Lcd.ppas,53 :: $3610 $6A01 CLRF

STACK_1, 0$3612 $B3DA

BTFSC FARG_Lcd_Cmd, 1, 1$3614 $2A01 INCF

STACK_1, 1, 0$3616 $5001

MOVF STACK_1, 0, 0$3618 $0A01

XORLW 1$361A $E102 BNZ

Lcd_L_23$361C $ Lcd_L_22:;Lcd.ppas,54 :: $361C $501D

MOVF lcd____mdb5, 0, 0$361E $12EF

IORWF INDF0, 1, 0$3620 $ Lcd_L_23:$3620 $ Lcd_L_24:;Lcd.ppas,55 :: $3620 $0E01

MOVLW 1$3622 $15DA

ANDWF FARG_Lcd_Cmd, 0, 1$3624 $6E01

MOVWF STACK_1, 0$3626 $5001

MOVF STACK_1, 0, 0$3628 $0A01

XORLW 1$362A $E102 BNZ

Lcd_L_26$362C $ Lcd_L_25:;Lcd.ppas,56 :: $362C $501E

MOVF lcd____mdb4, 0, 0$362E $12EF

IORWF INDF0, 1, 0$3630 $ Lcd_L_26:$3630 $ Lcd_L_27:;Lcd.ppas,58 :: $3630 $501F

MOVF lcd_lcdcmd_status, 0, 0$3632 $0A01

XORLW 1$3634 $E105 BNZ

Lcd_L_29$3636 $ Lcd_L_28:;Lcd.ppas,59 :: $3636 $1C1A

COMF lcd____mrs, 0, 0$3638 $6E00

MOVWF STACK_0, 0$363A $5000

MOVF STACK_0, 0, 0$363C $16E7

ANDWF INDF1, 1, 0

Page 64: SMARTGLOBE : The Electronic Country Locator

Appendix F F-5

$363E $D003 BRALcd_L_30

;Lcd.ppas,60 :: $3640 $ Lcd_L_29:;Lcd.ppas,61 :: $3640 $0103

MOVLB 3$3642 $501A

MOVF lcd____mrs, 0, 0$3644 $12E7

IORWF INDF1, 1, 0$3646 $ Lcd_L_30:;Lcd.ppas,63 :: $3646 $0103

MOVLB 3$3648 $5019

MOVF lcd____menable, 0, 0$364A $12E7

IORWF INDF1, 1, 0;Lcd.ppas,64 :: $364C $EC85 F024 CALL

_delay_1us;Lcd.ppas,65 :: $3650 $1C19

COMF lcd____menable, 0, 0$3652 $6E00

MOVWF STACK_0, 0$3654 $5000

MOVF STACK_0, 0, 0$3656 $16E7

ANDWF INDF1, 1, 0;Lcd.ppas,67 :: $3658 $501F

MOVF lcd_lcdcmd_status, 0, 0$365A $0A01

XORLW 1$365C $E103 BNZ

Lcd_L_32$365E $ Lcd_L_31:;Lcd.ppas,68 :: $365E $EC0E F024 CALL

_delay_5500us$3662 $D002 BRA

Lcd_L_33;Lcd.ppas,69 :: $3664 $ Lcd_L_32:;Lcd.ppas,70 :: $3664 $EC6B F024 CALL

_delay_50us$3668 $ Lcd_L_33:$3668 $ Lcd_L_0:;Lcd.ppas,71 :: $3668 $0012

RETURN$31C0 $ _nrm4032:$31C0 $0100

MOVLB 0;math_double.ppas,183 :: ;math_double.ppas,192 :: $31C2 $B00C

BTFSC STACK_12, 0, 0;math_double.ppas,193 :: $31C4 $EF23 F019

GOTO NRMRND4032;math_double.ppas,194 ::

$31C8 $A20C BTFSS STACK_12, 1, 0

;math_double.ppas,195 :: $31CA $EFCB F019

GOTO NRM40JPSETFOV32;math_double.ppas,196 :: $31CE $ NRM4032:;math_double.ppas,197 :: $31CE $6A0E CLRF

STACK_14, 0;math_double.ppas,198 :: $31D0 $0E00

MOVLW 0X00;math_double.ppas,199 :: $31D2 $6402

CPFSGT STACK_2, 0;math_double.ppas,201 :: $31D4 $EF3A F019

GOTO NRM4032A;math_double.ppas,202 :: $31D8 $ TNIB4032:;math_double.ppas,203 :: $31D8 $0EF0

MOVLW 0XF0;math_double.ppas,204 :: $31DA $1402

ANDWF STACK_2, W, 0;math_double.ppas,205 :: $31DC $A4D8

BTFSS STATUS, Z, 0;math_double.ppas,207 :: $31DE $EF05 F019

GOTO NORM4032;math_double.ppas,208 :: $31E2 $3A02

SWAPF STACK_2, F, 0;math_double.ppas,209 :: $31E4 $3801

SWAPF STACK_1, W, 0;math_double.ppas,210 :: $31E6 $0B0F

ANDLW 0X0F;math_double.ppas,212 :: $31E8 $2602

ADDWF STACK_2, F, 0;math_double.ppas,213 :: $31EA $3801

SWAPF STACK_1, W, 0;math_double.ppas,214 :: $31EC $0BF0

ANDLW 0XF0;math_double.ppas,215 :: $31EE $6E01

MOVWF STACK_1, 0;math_double.ppas,216 :: $31F0 $3800

SWAPF STACK_0, W, 0;math_double.ppas,217 :: $31F2 $0B0F

ANDLW 0X0F;math_double.ppas,219 :: $31F4 $2601

ADDWF STACK_1, F, 0;math_double.ppas,220 :: $31F6 $3800

SWAPF STACK_0, W, 0

Page 65: SMARTGLOBE : The Electronic Country Locator

Appendix F F-6

;math_double.ppas,221 :: $31F8 $0BF0

ANDLW 0XF0;math_double.ppas,222 :: $31FA $6E00

MOVWF STACK_0, 0;math_double.ppas,223 :: $31FC $3808

SWAPF STACK_8, W, 0;math_double.ppas,224 :: $31FE $0B0F

ANDLW 0X0F;math_double.ppas,226 :: $3200 $2600

ADDWF STACK_0, F, 0;math_double.ppas,227 :: $3202 $3808

SWAPF STACK_8, W, 0;math_double.ppas,228 :: $3204 $0BF0

ANDLW 0XF0;math_double.ppas,230 :: $3206 $6E08

MOVWF STACK_8, 0;math_double.ppas,232 :: $3208 $840E BSF

STACK_14, 2, 0;math_double.ppas,233 :: $320A $ NORM4032:;math_double.ppas,235 :: $320A $90D8 BCF

STATUS, C, 0;math_double.ppas,236 :: $320C $BE02

BTFSC STACK_2, 7, 0;math_double.ppas,237 :: $320E $EF1E F019

GOTO TNORMUN4032;math_double.ppas,238 :: $3212 $3608 RLCF

STACK_8, F, 0;math_double.ppas,239 :: $3214 $3600 RLCF

STACK_0, F, 0;math_double.ppas,240 :: $3216 $3601 RLCF

STACK_1, F, 0;math_double.ppas,241 :: $3218 $3602 RLCF

STACK_2, F, 0;math_double.ppas,242 :: $321A $2A0E INCF

STACK_14, F, 0;math_double.ppas,243 :: $321C $BE02

BTFSC STACK_2, 7, 0;math_double.ppas,244 :: $321E $EF1E F019

GOTO TNORMUN4032;math_double.ppas,245 :: $3222 $3608 RLCF

STACK_8, F, 0;math_double.ppas,246 :: $3224 $3600 RLCF

STACK_0, F, 0;math_double.ppas,247 ::

$3226 $3601 RLCFSTACK_1, F, 0

;math_double.ppas,248 :: $3228 $3602 RLCF

STACK_2, F, 0;math_double.ppas,249 :: $322A $2A0E INCF

STACK_14, F, 0;math_double.ppas,250 :: $322C $BE02

BTFSC STACK_2, 7, 0;math_double.ppas,251 :: $322E $EF1E F019

GOTO TNORMUN4032;math_double.ppas,252 :: $3232 $3608 RLCF

STACK_8, F, 0;math_double.ppas,253 :: $3234 $3600 RLCF

STACK_0, F, 0;math_double.ppas,254 :: $3236 $3601 RLCF

STACK_1, F, 0;math_double.ppas,255 :: $3238 $3602 RLCF

STACK_2, F, 0;math_double.ppas,257 :: $323A $2A0E INCF

STACK_14, F, 0;math_double.ppas,258 :: $323C $ TNORMUN4032:;math_double.ppas,259 :: $323C $500E

MOVF STACK_14, W, 0;math_double.ppas,260 :: $323E $6403

CPFSGT STACK_3, 0;math_double.ppas,261 :: $3240 $EFBF F019

GOTO NRM40JPSETFUN32;math_double.ppas,263 :: $3244 $5E03

SUBWF STACK_3, F, 0;math_double.ppas,264 :: $3246 $ NRMRND4032:;math_double.ppas,265 :: $3246 $BC0B

BTFSC STACK_11, RND, 0;math_double.ppas,266 :: $3248 $AE08

BTFSS STACK_8, 7, 0;math_double.ppas,267 :: $324A $EFC5 F019

GOTO NRM40JPFIXSIGN32;math_double.ppas,268 :: $324E $80D8 BSF

STATUS, C, 0;math_double.ppas,269 :: $3250 $0E80

MOVLW 0X80;math_double.ppas,270 :: $3252 $6408

CPFSGT STACK_8, 0;math_double.ppas,271 :: $3254 $3000 RRCF

STACK_0, W, 0

Page 66: SMARTGLOBE : The Electronic Country Locator

Appendix F F-7

;math_double.ppas,272 :: $3256 $0E00

MOVLW 0X00;math_double.ppas,273 :: $3258 $2200

ADDWFC STACK_0, F, 0;math_double.ppas,274 :: $325A $2201

ADDWFC STACK_1, F, 0;math_double.ppas,276 :: $325C $2202

ADDWFC STACK_2, F, 0;math_double.ppas,277 :: $325E $A0D8

BTFSS STATUS, C, 0;math_double.ppas,278 :: $3260 $EFC5 F019

GOTO NRM40JPFIXSIGN32;math_double.ppas,279 :: $3264 $3202 RRCF

STACK_2, F, 0;math_double.ppas,280 :: $3266 $3201 RRCF

STACK_1, F, 0;math_double.ppas,281 :: $3268 $3200 RRCF

STACK_0, F, 0;math_double.ppas,282 :: $326A $4A03

INFSNZ STACK_3, F, 0;math_double.ppas,283 :: $326C $EFCB F019

GOTO NRM40JPSETFOV32;math_double.ppas,285 :: $3270 $EFC5 F019

GOTO NRM40JPFIXSIGN32;math_double.ppas,286 :: $3274 $ NRM4032A:;math_double.ppas,287 :: $3274 $C001 F002

MOVFF STACK_1, STACK_2;math_double.ppas,288 :: $3278 $C000 F001

MOVFF STACK_0, STACK_1;math_double.ppas,289 :: $327C $C008 F000

MOVFF STACK_8, STACK_0;math_double.ppas,290 :: $3280 $6A08 CLRF

STACK_8, 0;math_double.ppas,291 :: $3282 $0E00

MOVLW 0X00;math_double.ppas,292 :: $3284 $860E BSF

STACK_14, 3, 0;math_double.ppas,293 :: $3286 $6402

CPFSGT STACK_2, 0;math_double.ppas,295 :: $3288 $EF71 F019

GOTO NRM4032B;math_double.ppas,296 :: $328C $ TNIB4032A:;math_double.ppas,297 ::

$328C $0EF0 MOVLW 0XF0

;math_double.ppas,298 :: $328E $1402

ANDWF STACK_2, W, 0;math_double.ppas,299 :: $3290 $A4D8

BTFSS STATUS, Z, 0;math_double.ppas,300 :: $3292 $EF59 F019

GOTO NORM4032A;math_double.ppas,301 :: $3296 $3A02

SWAPF STACK_2, F, 0;math_double.ppas,302 :: $3298 $3801

SWAPF STACK_1, W, 0;math_double.ppas,303 :: $329A $0B0F

ANDLW 0X0F;math_double.ppas,305 :: $329C $2602

ADDWF STACK_2, F, 0;math_double.ppas,306 :: $329E $3801

SWAPF STACK_1, W, 0;math_double.ppas,307 :: $32A0 $0BF0

ANDLW 0XF0;math_double.ppas,308 :: $32A2 $6E01

MOVWF STACK_1, 0;math_double.ppas,309 :: ;Lcd.ppas,189 :: $313E $1C1B

COMF lcd____mdb7, 0, 0$3140 $6E00

MOVWF STACK_0, 0$3142 $5000

MOVF STACK_0, 0, 0$3144 $16EF

ANDWF INDF0, 1, 0;Lcd.ppas,190 :: $3146 $501E

MOVF lcd____mdb4, 0, 0$3148 $12EF

IORWF INDF0, 1, 0;Lcd.ppas,191 :: $314A $5019

MOVF lcd____menable, 0, 0_yy3, 0, 1

$2330 $0A03 XORLW 3

$2332 $E103 BNZSmartGlobe_L_146

$2334 $ SmartGlobe_L_145:;SmartGlobe.pbas,205 :: cnt = $4a$2334 $0E4A

MOVLW 74$2336 $6F1A

MOVWF _cnt, 1$2338 $D023 BRA

SmartGlobe_L_147;SmartGlobe.pbas,206 :: else$233A $ SmartGlobe_L_146:

Page 67: SMARTGLOBE : The Electronic Country Locator

Appendix F F-8

;SmartGlobe.pbas,207 :: if yy3 = 4 then$233A $5119

MOVF _yy3, 0, 1$233C $0A04

XORLW 4$233E $E103 BNZ

SmartGlobe_L_149$2340 $ SmartGlobe_L_148:;SmartGlobe.pbas,208 :: cnt = $4b$2340 $0E4B

MOVLW 75$2342 $6F1A

MOVWF _cnt, 1$2344 $D01D BRA

SmartGlobe_L_150;SmartGlobe.pbas,209 :: else$2346 $ SmartGlobe_L_149:;SmartGlobe.pbas,210 :: if yy3 = 5 then$2346 $5119

MOVF _yy3, 0, 1$2348 $0A05

XORLW 5$234A $E103 BNZ

SmartGlobe_L_152$234C $ SmartGlobe_L_151:;SmartGlobe.pbas,211 :: cnt = $4c$234C $0E4C

MOVLW 76$234E $6F1A

MOVWF _cnt, 1$2350 $D017 BRA

SmartGlobe_L_153;SmartGlobe.pbas,212 :: else$2352 $ SmartGlobe_L_152:;SmartGlobe.pbas,213 :: if yy3 = 6 then$2352 $5119

MOVF _yy3, 0, 1$2354 $0A06

XORLW 6$2356 $E103 BNZ

SmartGlobe_L_155$2358 $ SmartGlobe_L_154:;SmartGlobe.pbas,214 :: cnt = 53$2358 $0E35

MOVLW 53$235A $6F1A

MOVWF _cnt, 1$235C $D011 BRA

SmartGlobe_L_156;SmartGlobe.pbas,215 :: else$235E $ SmartGlobe_L_155:;SmartGlobe.pbas,216 :: if yy3 = 7 then$235E $5119

MOVF _yy3, 0, 1$2360 $0A07

XORLW 7$2362 $E103 BNZ

SmartGlobe_L_158$2364 $ SmartGlobe_L_157:

;SmartGlobe.pbas,217 :: cnt = 63$2364 $0E3F

MOVLW 63$2366 $6F1A

MOVWF _cnt, 1$2368 $D00B BRA

SmartGlobe_L_159;SmartGlobe.pbas,218 :: else$236A $ SmartGlobe_L_158:;SmartGlobe.pbas,219 :: if yy3 = 8 then$236A $5119

MOVF _yy3, 0, 1$236C $0A08

XORLW 8$236E $E103 BNZ

SmartGlobe_L_161$2370 $ SmartGlobe_L_160:;SmartGlobe.pbas,220 :: cnt = 64$2370 $0E40

MOVLW 64$2372 $6F1A

MOVWF _cnt, 1$2374 $D005 BRA

SmartGlobe_L_162;SmartGlobe.pbas,221 :: else$2376 $ SmartGlobe_L_161:;SmartGlobe.pbas,222 :: if yy3 = 9 then$2376 $5119

MOVF _yy3, 0, 1$2378 $0A09

XORLW 9$237A $E102 BNZ

SmartGlobe_L_164$237C $ SmartGlobe_L_163:;SmartGlobe.pbas,223 :: cnt = 91$237C $0E5B

MOVLW 91$237E $6F1A

MOVWF _cnt, 1$2380 $ SmartGlobe_L_164:;SmartGlobe.pbas,224 :: end if$2380 $ SmartGlobe_L_165:;SmartGlobe.pbas,225 :: end if$2380 $ SmartGlobe_L_162:;SmartGlobe.pbas,226 :: end if$2380 $ SmartGlobe_L_159:;SmartGlobe.pbas,227 :: end if$2380 $ SmartGlobe_L_156:;SmartGlobe.pbas,228 :: end if$2380 $ SmartGlobe_L_153:;SmartGlobe.pbas,229 :: end if$2380 $ SmartGlobe_L_150:;SmartGlobe.pbas,230 :: end if$2380 $ SmartGlobe_L_147:

Page 68: SMARTGLOBE : The Electronic Country Locator

Appendix F F-9

;SmartGlobe.pbas,231 :: end if$2380 $ SmartGlobe_L_144:;SmartGlobe.pbas,232 :: end if$2380 $ SmartGlobe_L_141:;SmartGlobe.pbas,233 :: end if$2380 $ SmartGlobe_L_138:$2380 $D144 BRA

SmartGlobe_L_135;SmartGlobe.pbas,235 :: else$2382 $ SmartGlobe_L_134:;SmartGlobe.pbas,236 :: if kp = 54 then$2382 $0100

MOVLB 0$2384 $51CA

MOVF _kp, 0, 1$2386 $0A36

XORLW 54$2388 $E13D BNZ

SmartGlobe_L_167$238A $ SmartGlobe_L_166:;SmartGlobe.pbas,238 :: if yy3 = 0 then$238A $0103

MOVLB 3$238C $5119

MOVF _yy3, 0, 1$238E $0A00

XORLW 0$2390 $E103 BNZ

SmartGlobe_L_170$2392 $ SmartGlobe_L_169:;SmartGlobe.pbas,239 :: cnt = $6d$2392 $0E6D

MOVLW 109$2394 $6F1A

MOVWF _cnt, 1$2396 $D035 BRA

SmartGlobe_L_171;SmartGlobe.pbas,240 :: else$2398 $ SmartGlobe_L_170:;SmartGlobe.pbas,241 :: if yy3 = 1 then$2398 $5119

MOVF _yy3, 0, 1$239A $0A01

XORLW 1$239C $E103 BNZ

SmartGlobe_L_173$239E $ SmartGlobe_L_172:;SmartGlobe.pbas,242 :: cnt = $6e$239E $0E6E

MOVLW 110$23A0 $6F1A

MOVWF _cnt, 1$23A2 $D02F BRA

SmartGlobe_L_174;SmartGlobe.pbas,243 :: else$23A4 $ SmartGlobe_L_173:;SmartGlobe.pbas,244 :: if yy3 = 2 then

$23A4 $5119 MOVF _yy3, 0, 1

$23A6 $0A02 XORLW 2

;SmartGlobe.pbas,248 :: cnt = $4d$23B6 $0E4D

MOVLW 77$23B8 $6F1A

MOVWF _cnt, 1$23BA $D023 BRA

SmartGlobe_L_180;SmartGlobe.pbas,249 :: else$23BC $ SmartGlobe_L_179:;SmartGlobe.pbas,250 :: if yy3 = 4 then$23BC $5119

MOVF _yy3, 0, 1$23BE $0A04

XORLW 4$23C0 $E103 BNZ

SmartGlobe_L_182$23C2 $ SmartGlobe_L_181:;SmartGlobe.pbas,251 :: cnt = $4e$23C2 $0E4E

MOVLW 78$23C4 $6F1A

MOVWF _cnt, 1$23C6 $D01D BRA

SmartGlobe_L_183;SmartGlobe.pbas,252 :: else$23C8 $ SmartGlobe_L_182:;SmartGlobe.pbas,253 :: if yy3 = 5 then$23C8 $5119

MOVF _yy3, 0, 1$23CA $0A05

XORLW 5$23CC $E103 BNZ

SmartGlobe_L_185$23CE $ SmartGlobe_L_184:;SmartGlobe.pbas,254 :: cnt = $4f$23CE $0E4F

MOVLW 79$23D0 $6F1A

MOVWF _cnt, 1$23D2 $D017 BRA

SmartGlobe_L_186;SmartGlobe.pbas,255 :: else$23D4 $ SmartGlobe_L_185:;SmartGlobe.pbas,256 :: if yy3 = 6 then$23D4 $5119

MOVF _yy3, 0, 1$23D6 $0A06

XORLW 6$23D8 $E103 BNZ

SmartGlobe_L_188$23DA $ SmartGlobe_L_187:;SmartGlobe.pbas,257 :: cnt = 54$23DA $0E36

MOVLW 54

Page 69: SMARTGLOBE : The Electronic Country Locator

Appendix F F-10

$23DC $6F1A MOVWF _cnt, 1

$23DE $D011 BRASmartGlobe_L_189

;SmartGlobe.pbas,258 :: else$23E0 $ SmartGlobe_L_188:;SmartGlobe.pbas,259 :: if yy3 = 7 then$23E0 $5119

MOVF _yy3, 0, 1$23E2 $0A07

XORLW 7$23E4 $E103 BNZ

SmartGlobe_L_191$23E6 $ SmartGlobe_L_190:;SmartGlobe.pbas,260 :: cnt = 92$23E6 $0E5C

MOVLW 92$23E8 $6F1A

MOVWF _cnt, 1$23EA $D00B BRA

SmartGlobe_L_192;SmartGlobe.pbas,261 :: else$23EC $ SmartGlobe_L_191:;SmartGlobe.pbas,262 :: if yy3 = 8 then$23EC $5119

MOVF _yy3, 0, 1$23EE $0A08

XORLW 8$23F0 $E103 BNZ

SmartGlobe_L_194$23F2 $ SmartGlobe_L_193:;SmartGlobe.pbas,263 :: cnt = 93$23F2 $0E5D

MOVLW 93$23F4 $6F1A

MOVWF _cnt, 1$23F6 $D005 BRA

SmartGlobe_L_195;SmartGlobe.pbas,264 :: else$23F8 $ SmartGlobe_L_194:;SmartGlobe.pbas,265 :: if yy3 = 9 then$23F8 $5119

MOVF _yy3, 0, 1$23FA $0A09

XORLW 9$23FC $E102 BNZ

SmartGlobe_L_197$23FE $ SmartGlobe_L_196:;SmartGlobe.pbas,266 :: cnt = 94$23FE $0E5E

MOVLW 94$2400 $6F1A

MOVWF _cnt, 1$2402 $ SmartGlobe_L_197:;SmartGlobe.pbas,267 :: end if$2402 $ SmartGlobe_L_198:;SmartGlobe.pbas,268 :: end if$2402 $ SmartGlobe_L_195:

;SmartGlobe.pbas,269 :: end if$2402 $ SmartGlobe_L_192:;SmartGlobe.pbas,270 :: end if$2402 $ SmartGlobe_L_189:;SmartGlobe.pbas,271 :: end if$2402 $ SmartGlobe_L_186:;SmartGlobe.pbas,272 :: end if$2402 $ SmartGlobe_L_183:;SmartGlobe.pbas,273 :: end if$2402 $ SmartGlobe_L_180:;SmartGlobe.pbas,274 :: end if$2402 $ SmartGlobe_L_177:;SmartGlobe.pbas,275 :: end if$2402 $ SmartGlobe_L_174:;SmartGlobe.pbas,276 :: end if$2402 $ SmartGlobe_L_171:$2402 $D103 BRA

SmartGlobe_L_168;SmartGlobe.pbas,278 :: else$2404 $ SmartGlobe_L_167:;SmartGlobe.pbas,279 :: if kp = 55 then$2404 $0100

MOVLB 0$2406 $51CA

MOVF _kp, 0, 1$2408 $0A37

XORLW 55$240A $E13D BNZ

SmartGlobe_L_200$240C $ SmartGlobe_L_199:;SmartGlobe.pbas,281 :: if yy3 = 0 then$240C $0103

MOVLB 3$240E $5119

MOVF _yy3, 0, 1$2410 $0A00

XORLW 0$2412 $E103 BNZ

SmartGlobe_L_203$2414 $ SmartGlobe_L_202:;SmartGlobe.pbas,282 :: cnt = $70$2414 $0E70

MOVLW 112$2416 $6F1A

MOVWF _cnt, 1$2418 $D035 BRA

SmartGlobe_L_204;SmartGlobe.pbas,283 :: else$241A $ SmartGlobe_L_203:;SmartGlobe.pbas,284 :: if yy3 = 1 then$241A $5119

MOVF _yy3, 0, 1$241C $0A01

XORLW 1

Page 70: SMARTGLOBE : The Electronic Country Locator

Appendix F F-11

$241E $E103 BNZSmartGlobe_L_206

$2420 $ SmartGlobe_L_205:;SmartGlobe.pbas,285 :: cnt = $71$2420 $0E71

MOVLW 113$2422 $6F1A

MOVWF _cnt, 1$2424 $D02F BRA

SmartGlobe_L_207;SmartGlobe.pbas,286 :: else$2426 $ SmartGlobe_L_206:;SmartGlobe.pbas,287 :: if yy3 = 2 then$2426 $5119

MOVF _yy3, 0, 1$2428 $0A02

XORLW 2$242A $E103 BNZ

SmartGlobe_L_209$242C $ SmartGlobe_L_208:;SmartGlobe.pbas,288 :: cnt =$72$242C $0E72

MOVLW 114$242E $6F1A

MOVWF _cnt, 1$2430 $D029 BRA

SmartGlobe_L_210;SmartGlobe.pbas,289 :: else$2432 $ SmartGlobe_L_209:;SmartGlobe.pbas,290 :: if yy3 = 3 then$2432 $5119

MOVF _yy3, 0, 1$2434 $0A03

XORLW 3$2436 $E103 BNZ

SmartGlobe_L_212$2438 $ SmartGlobe_L_211:;SmartGlobe.pbas,291 :: cnt = $73$2438 $0E73

MOVLW 115$243A $6F1A

MOVWF _cnt, 1$243C $D023 BRA

SmartGlobe_L_213;SmartGlobe.pbas,292 :: else$243E $ SmartGlobe_L_212:;SmartGlobe.pbas,293 :: if yy3 = 4 then$243E $5119

MOVF _yy3, 0, 1$2440 $0A04

XORLW 4$2442 $E103 BNZ

SmartGlobe_L_215$2444 $ SmartGlobe_L_214:;SmartGlobe.pbas,294 :: cnt = $50$2444 $0E50

MOVLW 80$2446 $6F1A

MOVWF _cnt, 1

$2448 $D01D BRASmartGlobe_L_216

;SmartGlobe.pbas,295 :: else$244A $ SmartGlobe_L_215:;SmartGlobe.pbas,296 :: if yy3 = 5 then$244A $5119

MOVF _yy3, 0, 1$244C $0A05

XORLW 5$244E $E103 BNZ

SmartGlobe_L_218$2450 $ SmartGlobe_L_217:;SmartGlobe.pbas,297 :: cnt = $51$2450 $0E51

MOVLW 81$2452 $6F1A

MOVWF _cnt, 1$2454 $D017 BRA

SmartGlobe_L_219;SmartGlobe.pbas,298 :: else$2456 $ SmartGlobe_L_218:;SmartGlobe.pbas,299 :: if yy3 = 6 then$2456 $5119

MOVF _yy3, 0, 1$2458 $0A06

XORLW 6$245A $E103 BNZ

SmartGlobe_L_221$245C $ SmartGlobe_L_220:;SmartGlobe.pbas,300 :: cnt = $52$245C $0E52

MOVLW 82$245E $6F1A

MOVWF _cnt, 1$2460 $D011 BRA

SmartGlobe_L_222;SmartGlobe.pbas,301 :: else$2462 $ SmartGlobe_L_221:;SmartGlobe.pbas,302 :: if yy3 = 7 then$2462 $5119

MOVF _yy3, 0, 1$2464 $0A07

XORLW 7$2466 $E103 BNZ

SmartGlobe_L_224$2468 $ SmartGlobe_L_223:;SmartGlobe.pbas,303 :: cnt = $53$2468 $0E53

MOVLW 83$246A $6F1A

MOVWF _cnt, 1$246C $D00B BRA

SmartGlobe_L_225;SmartGlobe.pbas,304 :: else$246E $ SmartGlobe_L_224:;SmartGlobe.pbas,305 :: if yy3 = 8 then$246E $5119

MOVF _yy3, 0, 1

Page 71: SMARTGLOBE : The Electronic Country Locator

Appendix F F-12

$2470 $0A08 XORLW 8

$2472 $E103 BNZSmartGlobe_L_227

$2474 $ SmartGlobe_L_226:;SmartGlobe.pbas,306 :: cnt = 55$2474 $0E37

MOVLW 55$2476 $6F1A

MOVWF _cnt, 1$2478 $D005 BRA

SmartGlobe_L_228;SmartGlobe.pbas,307 :: else$247A $ SmartGlobe_L_227:;SmartGlobe.pbas,308 :: if yy3 = 9 then$247A $5119

MOVF _yy3, 0, 1$247C $0A09

XORLW 9$247E $E102 BNZ

SmartGlobe_L_230$2480 $ SmartGlobe_L_229:;SmartGlobe.pbas,309 :: cnt = 95$2480 $0E5F

MOVLW 95$2482 $6F1A

MOVWF _cnt, 1$2484 $ SmartGlobe_L_230:;SmartGlobe.pbas,310 :: end if$2484 $ SmartGlobe_L_231:;SmartGlobe.pbas,311 :: end if$2484 $ SmartGlobe_L_228:;SmartGlobe.pbas,312 :: end if;SmartGlobe.pbas,352 :: cnt = 124

SmartGlobe_L_294;SmartGlobe.pbas,393 :: else$257E $ SmartGlobe_L_293:;SmartGlobe.pbas,394 :: if yy3 = 9 then$257E $5119

MOVF _yy3, 0, 1$2580 $0A09

XORLW 9$2582 $E102 BNZ

SmartGlobe_L_296$2584 $ SmartGlobe_L_295:;SmartGlobe.pbas,395 :: cnt = 125$2584 $0E7D

MOVLW 125$2586 $6F1A

MOVWF _cnt, 1$2588 $ SmartGlobe_L_296:;SmartGlobe.pbas,396 :: end if$2588 $ SmartGlobe_L_297:;SmartGlobe.pbas,397 :: end if$2588 $ SmartGlobe_L_294:

;SmartGlobe.pbas,398 :: end if$2588 $ SmartGlobe_L_291:;SmartGlobe.pbas,399 :: end if$2588 $ SmartGlobe_L_288:;SmartGlobe.pbas,400 :: end if$2588 $ SmartGlobe_L_285:;SmartGlobe.pbas,401 :: end if$2588 $ SmartGlobe_L_282:;SmartGlobe.pbas,402 :: end if$2588 $ SmartGlobe_L_279:;SmartGlobe.pbas,403 :: end if$2588 $ SmartGlobe_L_276:;SmartGlobe.pbas,404 :: end if$2588 $ SmartGlobe_L_273:;SmartGlobe.pbas,405 :: end if$2588 $ SmartGlobe_L_270:$2588 $D040 BRA

SmartGlobe_L_267;SmartGlobe.pbas,407 :: else$258A $ SmartGlobe_L_266:;SmartGlobe.pbas,408 :: if kp = 48 then$258A $0100

MOVLB 0$258C $51CA

MOVF _kp, 0, 1$258E $0A30

XORLW 48$2590 $E13C BNZ

SmartGlobe_L_299$2592 $ SmartGlobe_L_298:;SmartGlobe.pbas,410 :: if yy3 = 0 then$2592 $0103

MOVLB 3$2594 $5119

MOVF _yy3, 0, 1$2596 $0A00

XORLW 0$2598 $E103 BNZ

SmartGlobe_L_302$259A $ SmartGlobe_L_301:;SmartGlobe.pbas,411 :: cnt = 32$259A $0E20

MOVLW 32$259C $6F1A

MOVWF _cnt, 1$259E $D035 BRA

SmartGlobe_L_303;SmartGlobe.pbas,412 :: else$25A0 $ SmartGlobe_L_302:;SmartGlobe.pbas,413 :: if yy3 = 1 then$25A0 $5119

MOVF _yy3, 0, 1$25A2 $0A01

XORLW 1

Page 72: SMARTGLOBE : The Electronic Country Locator

Appendix F F-13

$25A4 $E103 BNZSmartGlobe_L_305

$25A6 $ SmartGlobe_L_304:;SmartGlobe.pbas,414 :: cnt = 48$25A6 $0E30

MOVLW 48$25A8 $6F1A

MOVWF _cnt, 1$25AA $D02F BRA

SmartGlobe_L_306;SmartGlobe.pbas,415 :: else$25AC $ SmartGlobe_L_305:;SmartGlobe.pbas,416 :: if yy3 = 2 then$25AC $5119

MOVF _yy3, 0, 1$25AE $0A02

XORLW 2$25B0 $E103 BNZ

SmartGlobe_L_308$25B2 $ SmartGlobe_L_307:;SmartGlobe.pbas,417 :: cnt = 32$25B2 $0E20

MOVLW 32$25B4 $6F1A

MOVWF _cnt, 1$25B6 $D029 BRA

SmartGlobe_L_309;SmartGlobe.pbas,418 :: else$25B8 $ SmartGlobe_L_308:;SmartGlobe.pbas,419 :: if yy3 = 3 then$25B8 $5119

MOVF _yy3, 0, 1$25BA $0A03

XORLW 3$25BC $E103 BNZ

SmartGlobe_L_311$25BE $ SmartGlobe_L_310:;SmartGlobe.pbas,420 :: cnt = 48$25BE $0E30

MOVLW 48$25C0 $6F1A

MOVWF _cnt, 1$25C2 $D023 BRA

SmartGlobe_L_312;SmartGlobe.pbas,421 :: else$25C4 $ SmartGlobe_L_311:;SmartGlobe.pbas,422 :: if yy3 = 4 then$25C4 $5119

MOVF _yy3, 0, 1$25C6 $0A04

XORLW 4$25C8 $E103 BNZ

SmartGlobe_L_314$25CA $ SmartGlobe_L_313:;SmartGlobe.pbas,423 :: cnt = 32$25CA $0E20

MOVLW 32$25CC $6F1A

MOVWF _cnt, 1

$25CE $D01D BRASmartGlobe_L_315

;SmartGlobe.pbas,424 :: else$25D0 $ SmartGlobe_L_314:;SmartGlobe.pbas,425 :: if yy3 = 5 then$25D0 $5119

MOVF _yy3, 0, 1$25D2 $0A05

XORLW 5$25D4 $E103 BNZ

SmartGlobe_L_317$25D6 $ SmartGlobe_L_316:;SmartGlobe.pbas,426 :: cnt = 48$25D6 $0E30

MOVLW 48$25D8 $6F1A

MOVWF _cnt, 1$25DA $D017 BRA

SmartGlobe_L_318;SmartGlobe.pbas,427 :: else$25DC $ SmartGlobe_L_317:;SmartGlobe.pbas,428 :: if yy3 = 6 then$25DC $5119

MOVF _yy3, 0, 1$25DE $0A06

XORLW 6$25E0 $E103 BNZ

SmartGlobe_L_320$25E2 $ SmartGlobe_L_319:;SmartGlobe.pbas,429 :: cnt = 32$25E2 $0E20

MOVLW 32$25E4 $6F1A

MOVWF _cnt, 1$25E6 $D011 BRA

SmartGlobe_L_321;SmartGlobe.pbas,430 :: else$25E8 $ SmartGlobe_L_320:;SmartGlobe.pbas,431 :: if yy3 = 7 then$25E8 $5119

MOVF _yy3, 0, 1$25EA $0A07

XORLW 7$25EC $E103 BNZ

SmartGlobe_L_323$25EE $ SmartGlobe_L_322:;SmartGlobe.pbas,432 :: cnt =48$25EE $0E30

MOVLW 48$25F0 $6F1A

MOVWF _cnt, 1$25F2 $D00B BRA

SmartGlobe_L_324;SmartGlobe.pbas,433 :: else$25F4 $ SmartGlobe_L_323:;SmartGlobe.pbas,434 :: if yy3 = 8 then$25F4 $5119

MOVF _yy3, 0, 1

Page 73: SMARTGLOBE : The Electronic Country Locator

Appendix F F-14

$25F6 $0A08 XORLW 8

$25F8 $E103 BNZSmartGlobe_L_326

$25FA $ SmartGlobe_L_325:;SmartGlobe.pbas,435 :: cnt = 32$25FA $0E20

MOVLW 32$25FC $6F1A

MOVWF _cnt, 1$25FE $D005 BRA

SmartGlobe_L_327;SmartGlobe.pbas,436 :: else$2600 $ SmartGlobe_L_326:;SmartGlobe.pbas,437 :: if yy3 = 9 then$2600 $5119

MOVF _yy3, 0, 1$2602 $0A09

XORLW 9$2604 $E102 BNZ

SmartGlobe_L_329$2606 $ SmartGlobe_L_328:;SmartGlobe.pbas,438 :: cnt = 48$2606 $0E30

MOVLW 48$2608 $6F1A

MOVWF _cnt, 1$260A $ SmartGlobe_L_329:;SmartGlobe.pbas,439 :: end if$260A $ SmartGlobe_L_330:;SmartGlobe.pbas,440 :: end if$260A $ SmartGlobe_L_327:;SmartGlobe.pbas,441 :: end if$260A $ SmartGlobe_L_324:;SmartGlobe.pbas,442 :: end if$260A $ SmartGlobe_L_321:;SmartGlobe.pbas,443 :: end if$260A $ SmartGlobe_L_318:;SmartGlobe.pbas,444 :: end if$260A $ SmartGlobe_L_315:;SmartGlobe.pbas,445 :: end if$260A $ SmartGlobe_L_312:;SmartGlobe.pbas,446 :: end if$260A $ SmartGlobe_L_309:;SmartGlobe.pbas,447 :: end if$260A $ SmartGlobe_L_306:;SmartGlobe.pbas,448 :: end if$260A $ SmartGlobe_L_303:$260A $ SmartGlobe_L_299:;SmartGlobe.pbas,451 :: end if$260A $ SmartGlobe_L_300:

;SmartGlobe.pbas,452 :: end if$260A $ SmartGlobe_L_267:;SmartGlobe.pbas,453 :: end if$260A $ SmartGlobe_L_234:;SmartGlobe.pbas,454 :: end if$260A $ SmartGlobe_L_201:;SmartGlobe.pbas,455 :: end if$260A $ SmartGlobe_L_168:;SmartGlobe.pbas,456 :: end if$260A $ SmartGlobe_L_135:;SmartGlobe.pbas,457 :: end if$260A $ SmartGlobe_L_102:;SmartGlobe.pbas,458 :: end if$260A $ SmartGlobe_L_69:;SmartGlobe.pbas,459 :: end if$260A $ SmartGlobe_L_36:;SmartGlobe.pbas,460 :: end if$260A $ SmartGlobe_L_3:$260A $ SmartGlobe_L_0:$260A $0103

MOVLB 3$260C $0012

RETURN$3EEA $ _outdata:;SmartGlobe.pbas,822 :: sub procedure outdata;SmartGlobe.pbas,824 :: if tup = 1 then$3EEA $0103

MOVLB 3$3EEC $511B

MOVF _tup, 0, 1$3EEE $0A01

XORLW 1$3EF0 $E111 BNZ

SmartGlobe_L_443$3EF2 $ SmartGlobe_L_442:;SmartGlobe.pbas,825 ::

text1[yy] = cnt$3EF2 $0E2B

MOVLW _text1$3EF4 $6E02

MOVWF STACK_2, 0$3EF6 $0E00

MOVLW @_text1$3EF8 $6E03

MOVWF STACK_2+1, 0$3EFA $C31C F000

MOVFF _yy, STACK_0$3EFE $0E00

MOVLW 0$3F00 $6E01

MOVWF STACK_0+1, 0$3F02 $5000

MOVF STACK_0, 0, 0$3F04 $2402

ADDWF STACK_2, 0, 0

Page 74: SMARTGLOBE : The Electronic Country Locator

Appendix F F-15

$3F06 $6EE1 MOVWF FSR1Ptr, 0

$3F08 $5001 MOVF STACK_0+1, 0, 0

$3F0A $2003 ADDWFC STACK_2+1, 0, 0

$3F0C $6EE2 MOVWF FSR1Ptr+1, 0

$3F0E $C31A FFE6MOVFF _cnt, POSTINC1

$3F12 $D04F BRASmartGlobe_L_444

;SmartGlobe.pbas,826 :: else$3F14 $ SmartGlobe_L_443:;SmartGlobe.pbas,827 :: if tup = 2 then$3F14 $511B

MOVF _tup, 0, 1$3F16 $0A02

XORLW 2$3F18 $E111 BNZ

SmartGlobe_L_446$3F1A $ SmartGlobe_L_445:;SmartGlobe.pbas,828 ::

text2[yy] = cnt$3F1A $0E40

MOVLW _text2$3F1C $6E02

MOVWF STACK_2, 0$3F1E $0E00

MOVLW @_text2$3F20 $6E03

MOVWF STACK_2+1, 0$3F22 $C31C F000

MOVFF _yy, STACK_0$3F26 $0E00

MOVLW 0$3F28 $6E01

MOVWF STACK_0+1, 0$3F2A $5000

MOVF STACK_0, 0, 0$1404 $C003 F38E

MOVFF STACK_0+3, FLOC_main+28$1408 $C3A3 F000

MOVFF FLOC_main+49, STACK_0$140C $C3A4 F001

MOVFF FLOC_main+50, STACK_0+1$1410 $C3A5 F002

MOVFF FLOC_main+51, STACK_0+2$1414 $C3A6 F003

MOVFF FLOC_main+52, STACK_0+3$1418 $C38B F004

MOVFF FLOC_main+25, STACK_4$141C $C38C F005

MOVFF FLOC_main+26, STACK_4+1$1420 $C38D F006

MOVFF FLOC_main+27, STACK_4+2$1424 $C38E F007

MOVFF FLOC_main+28, STACK_4+3$1428 $ECC9 F01B CALL

_mul_32x32_fp$142C $C387 F004

MOVFF FLOC_main+21, STACK_4$1430 $C388 F005

MOVFF FLOC_main+22, STACK_4+1

$1434 $C389 F006MOVFF FLOC_main+23, STACK_4+2

$1438 $C38A F007MOVFF FLOC_main+24, STACK_4+3

$143C $EC07 F013 CALL_add_32x32_fp

$1440 $C000 F387MOVFF STACK_0, FLOC_main+21

$1444 $C001 F388MOVFF STACK_0+1, FLOC_main+22

$1448 $C002 F389MOVFF STACK_0+2, FLOC_main+23

$144C $C003 F38AMOVFF STACK_0+3, FLOC_main+24

$1450 $C387 F36DMOVFF FLOC_main+21, _iii

$1454 $C388 F36EMOVFF FLOC_main+22, _iii+1

$1458 $C389 F36FMOVFF FLOC_main+23, _iii+2

$145C $C38A F370MOVFF FLOC_main+24, _iii+3

;SmartGlobe.pbas,1131 :: ggg = iii - bbb$1460 $C33F F004

MOVFF _bbb, STACK_4$1464 $C340 F005

MOVFF _bbb+1, STACK_4+1$1468 $C341 F006

MOVFF _bbb+2, STACK_4+2$146C $C342 F007

MOVFF _bbb+3, STACK_4+3$1470 $C387 F000

MOVFF FLOC_main+21, STACK_0$1474 $C388 F001

MOVFF FLOC_main+22, STACK_0+1$1478 $C389 F002

MOVFF FLOC_main+23, STACK_0+2$147C $C38A F003

MOVFF FLOC_main+24, STACK_0+3$1480 $EC71 F024 CALL

_sub_32x32_fp$1484 $C000 F30F

MOVFF STACK_0, _ggg$1488 $C001 F310

MOVFF STACK_0+1, _ggg+1$148C $C002 F311

MOVFF STACK_0+2, _ggg+2$1490 $C003 F312

MOVFF STACK_0+3, _ggg+3;SmartGlobe.pbas,1132 :: ggg = 0.265988178 * ggg$1494 $0E9A

MOVLW 154$1496 $6E04

MOVWF STACK_4, 0$1498 $0E2F

MOVLW 47$149A $6E05

MOVWF STACK_4+1, 0$149C $0E08

MOVLW 8$149E $6E06

MOVWF STACK_4+2, 0$14A0 $0E7D

MOVLW 125

Page 75: SMARTGLOBE : The Electronic Country Locator

Appendix F F-16

$14A2 $6E07 MOVWF STACK_4+3, 0

$14A4 $ECC9 F01B CALL_mul_32x32_fp

$14A8 $C000 F30FMOVFF STACK_0, _ggg

$14AC $C001 F310MOVFF STACK_0+1, _ggg+1

$14B0 $C002 F311MOVFF STACK_0+2, _ggg+2

$14B4 $C003 F312MOVFF STACK_0+3, _ggg+3

;SmartGlobe.pbas,1133 :: bbb = iii$14B8 $C387 F33F

MOVFF FLOC_main+21, _bbb$14BC $C388 F340

MOVFF FLOC_main+22, _bbb+1$14C0 $C389 F341

MOVFF FLOC_main+23, _bbb+2$14C4 $C38A F342

MOVFF FLOC_main+24, _bbb+3;SmartGlobe.pbas,1134 :: iii = eee[4]*100 + eee[5]*10 + eee[5]*1 + eee[7]*1$14C8 $C39F F000

MOVFF FLOC_main+45, STACK_0$14CC $C3A0 F001

MOVFF FLOC_main+46, STACK_0+1$14D0 $C3A1 F002

MOVFF FLOC_main+47, STACK_0+2$14D4 $C3A2 F003

MOVFF FLOC_main+48, STACK_0+3$14D8 $C393 F004

MOVFF FLOC_main+33, STACK_4$14DC $C394 F005

MOVFF FLOC_main+34, STACK_4+1$14E0 $C395 F006

MOVFF FLOC_main+35, STACK_4+2$14E4 $C396 F007

MOVFF FLOC_main+36, STACK_4+3$14E8 $ECC9 F01B CALL

_mul_32x32_fp$14EC $C000 F387

MOVFF STACK_0, FLOC_main+21$14F0 $C001 F388

MOVFF STACK_0+1, FLOC_main+22$14F4 $C002 F389

MOVFF STACK_0+2, FLOC_main+23$14F8 $C003 F38A

MOVFF STACK_0+3, FLOC_main+24$14FC $C39B F000

MOVFF FLOC_main+41, STACK_0$1500 $C39C F001

MOVFF FLOC_main+42, STACK_0+1$1504 $C39D F002

MOVFF FLOC_main+43, STACK_0+2$1508 $C39E F003

MOVFF FLOC_main+44, STACK_0+3$150C $C38F F004

MOVFF FLOC_main+29, STACK_4$1510 $C390 F005

MOVFF FLOC_main+30, STACK_4+1$1514 $C391 F006

MOVFF FLOC_main+31, STACK_4+2$1518 $C392 F007

MOVFF FLOC_main+32, STACK_4+3

$151C $ECC9 F01B CALL_mul_32x32_fp

$1520 $C387 F004MOVFF FLOC_main+21, STACK_4

$1524 $C388 F005MOVFF FLOC_main+22, STACK_4+1

$1528 $C389 F006MOVFF FLOC_main+23, STACK_4+2

$152C $C38A F007MOVFF FLOC_main+24, STACK_4+3

$1530 $EC07 F013 CALL_add_32x32_fp

$1534 $C000 F387MOVFF STACK_0, FLOC_main+21

$1538 $C001 F388MOVFF STACK_0+1, FLOC_main+22

$153C $C002 F389MOVFF STACK_0+2, FLOC_main+23

$1540 $C003 F38AMOVFF STACK_0+3, FLOC_main+24

$1544 $C39B F000MOVFF FLOC_main+41, STACK_0

$1548 $C39C F001MOVFF FLOC_main+42, STACK_0+1

$154C $C39D F002MOVFF FLOC_main+43, STACK_0+2

$1550 $C39E F003MOVFF FLOC_main+44, STACK_0+3

$1554 $C38B F004MOVFF FLOC_main+25, STACK_4

$1558 $C38C F005MOVFF FLOC_main+26, STACK_4+1

$155C $C38D F006MOVFF FLOC_main+27, STACK_4+2

$1560 $C38E F007MOVFF FLOC_main+28, STACK_4+3

$1564 $ECC9 F01B CALL_mul_32x32_fp

$1568 $C387 F004MOVFF FLOC_main+21, STACK_4

$156C $C388 F005MOVFF FLOC_main+22, STACK_4+1

$1570 $C389 F006MOVFF FLOC_main+23, STACK_4+2

$1574 $C38A F007MOVFF FLOC_main+24, STACK_4+3

$1578 $EC07 F013 CALL_add_32x32_fp

$157C $C000 F387MOVFF STACK_0, FLOC_main+21

$1580 $C001 F388MOVFF STACK_0+1, FLOC_main+22

$1584 $C002 F389MOVFF STACK_0+2, FLOC_main+23

$1588 $C003 F38AMOVFF STACK_0+3, FLOC_main+24

$158C $C397 F000MOVFF FLOC_main+37, STACK_0

$1590 $C398 F001MOVFF FLOC_main+38, STACK_0+1

$1594 $C399 F002MOVFF FLOC_main+39, STACK_0+2

$1598 $C39A F003MOVFF FLOC_main+40, STACK_0+3

$159C $C38B F004MOVFF FLOC_main+25, STACK_4

Page 76: SMARTGLOBE : The Electronic Country Locator

Appendix F F-17

$15A0 $C38C F005MOVFF FLOC_main+26, STACK_4+1

$15A4 $C38D F006MOVFF FLOC_main+27, STACK_4+2

$15A8 $C38E F007MOVFF FLOC_main+28, STACK_4+3

$15AC $ECC9 F01B CALL_mul_32x32_fp

$15B0 $C387 F004MOVFF FLOC_main+21, STACK_4

$15B4 $C388 F005MOVFF FLOC_main+22, STACK_4+1

$15B8 $C389 F006MOVFF FLOC_main+23, STACK_4+2

$15BC $C38A F007MOVFF FLOC_main+24, STACK_4+3

$15C0 $EC07 F013 CALL_add_32x32_fp

$15C4 $C000 F387MOVFF STACK_0, FLOC_main+21

$15C8 $C001 F388MOVFF STACK_0+1, FLOC_main+22

$15CC $C002 F389MOVFF STACK_0+2, FLOC_main+23

$15D0 $C003 F38AMOVFF STACK_0+3, FLOC_main+24

$15D4 $C387 F36DMOVFF FLOC_main+21, _iii

$15D8 $C388 F36EMOVFF FLOC_main+22, _iii+1

$15DC $C389 F36FMOVFF FLOC_main+23, _iii+2

$15E0 $C38A F370MOVFF FLOC_main+24, _iii+3

;SmartGlobe.pbas,1135 :: hhh = iii - ddd$15E4 $C343 F004

MOVFF _ddd, STACK_4$15E8 $C344 F005

MOVFF _ddd+1, STACK_4+1$15EC $C345 F006

MOVFF _ddd+2, STACK_4+2$15F0 $C346 F007

MOVFF _ddd+3, STACK_4+3$15F4 $C387 F000

MOVFF FLOC_main+21, STACK_0$15F8 $C388 F001

MOVFF FLOC_main+22, STACK_0+1$15FC $C389 F002

MOVFF FLOC_main+23, STACK_0+2$1600 $C38A F003

MOVFF FLOC_main+24, STACK_0+3$1604 $EC71 F024 CALL

_sub_32x32_fp$1608 $C000 F315

MOVFF STACK_0, _hhh$160C $C001 F316

MOVFF STACK_0+1, _hhh+1$1610 $C002 F317

MOVFF STACK_0+2, _hhh+2$1614 $C003 F318

MOVFF STACK_0+3, _hhh+3;SmartGlobe.pbas,1136 :: hhh = 0.265988178 * hhh$1618 $0E9A

MOVLW 154

$161A $6E04 MOVWF STACK_4, 0

$161C $0E2F MOVLW 47

$161E $6E05 MOVWF STACK_4+1, 0

$1620 $0E08 MOVLW 8

$1622 $6E06 MOVWF STACK_4+2, 0

$1624 $0E7D MOVLW 125

$1626 $6E07 MOVWF STACK_4+3, 0

$1628 $ECC9 F01B CALL_mul_32x32_fp

$162C $C000 F315MOVFF STACK_0, _hhh

$1630 $C001 F316MOVFF STACK_0+1, _hhh+1

$1634 $C002 F317MOVFF STACK_0+2, _hhh+2

$1638 $C003 F318MOVFF STACK_0+3, _hhh+3

;SmartGlobe.pbas,1137 :: ddd = iii$163C $C387 F343

MOVFF FLOC_main+21, _ddd$1640 $C388 F344

MOVFF FLOC_main+22, _ddd+1$1644 $C389 F345

MOVFF FLOC_main+23, _ddd+2$1648 $C38A F346

MOVFF FLOC_main+24, _ddd+3;SmartGlobe.pbas,1138 ::

motor$164C $EC82 F00D CALL

_motor;SmartGlobe.pbas,1139 ::

porte.0 = 1$1650 $ SmartGlobe_L_582:$1650 $8084 BSF

PORTE, 0, 0$1652 $ SmartGlobe_L_583:;SmartGlobe.pbas,1140 :: do$1652 $ SmartGlobe_L_584:;SmartGlobe.pbas,1141 :: kp = keypad_released$1652 $ECEF F023 CALL

_keypad_released$1656 $C000 F0CA

MOVFF STACK_0, _kp;SmartGlobe.pbas,1142 ::

display2$165A $EC9D F022 CALL

_display2;SmartGlobe.pbas,1143 :: loop until kp = 16$165E $ SmartGlobe_L_585:$165E $0100

MOVLB 0$1660 $51CA

MOVF _kp, 0, 1$1662 $0A10

XORLW 16

Page 77: SMARTGLOBE : The Electronic Country Locator

Appendix F F-18

$1664 $E101 BNZSmartGlobe_L_587

$1666 $ SmartGlobe_L_588:$1666 $D001 BRA

SmartGlobe_L_586$1668 $ SmartGlobe_L_587:$1668 $D7F4 BRA

SmartGlobe_L_584$166A $ SmartGlobe_L_586:;SmartGlobe.pbas,1144 ::

porte.0 = 0$166A $0100

MOVLB 0$166C $9084 BCF

PORTE, 0, 0$166E $ SmartGlobe_L_590:;SmartGlobe.pbas,1145 :: kp3 = 0$166E $0103

MOVLB 3$1670 $6B1E CLRF

_kp3, 1;SmartGlobe.pbas,1146 ::

lcd_cmd(lcd_clear)$1672 $0E01

MOVLW 1$1674 $6FDA

MOVWF FARG_Lcd_Cmd, 1$1676 $EC95 F01A CALL

_lcd_cmd;SmartGlobe.pbas,1147 :: txt = "____"$167A $0E5F

MOVLW 95$167C $0100

MOVLB 0$167E $6FC5

MOVWF _txt+0, 1$1680 $6FC6

MOVWF _txt+1, 1$1682 $6FC7

MOVWF _txt+2, 1$1684 $6FC8

MOVWF _txt+3, 1$1686 $6BC9 CLRF

_txt+4, 1;SmartGlobe.pbas,1148 :: end if$1688 $ SmartGlobe_L_576:$1688 $D23A BRA

SmartGlobe_L_570;SmartGlobe.pbas,1150 :: else$168A $ SmartGlobe_L_569:;SmartGlobe.pbas,1151 :: if kp3 = 3 then$168A $0103

MOVLB 3$168C $511E

MOVF _kp3, 0, 1$168E $0A03

XORLW 3$1690 $A4D8

BTFSS STATUS, Z, 0$1692 $D235 BRA

SmartGlobe_L_592$1694 $ SmartGlobe_L_591:

;SmartGlobe.pbas,1152 :: kp = 0$1694 $0100

MOVLB 0$1696 $6BCA CLRF

_kp, 1;SmartGlobe.pbas,1153 ::

display2$1698 $EC9D F022 CALL

_display2;SmartGlobe.pbas,1154 :: while kp = 0$169C $ SmartGlobe_L_595:$169C $0100

MOVLB 0$169E $51CA

MOVF _kp, 0, 1$16A0 $0A00

XORLW 0$16A2 $E114 BNZ

SmartGlobe_L_596;SmartGlobe.pbas,1155 :: kp = Keypad_Released$16A4 $ECEF F023 CALL

_keypad_released$16A8 $C000 F0CA

MOVFF STACK_0, _kp;SmartGlobe.pbas,1156 :: if kp2 = 0 then$16AC $0E00

MOVLW 0$16AE $0103

MOVLB 3$16B0 $1949

XORWF _kp2+1, 0, 1$16B2 $E102 BNZ

L_main_14$16B4 $0E00

MOVLW 0$16B6 $1948

XORWF _kp2, 0, 1$16B8 $ L_main_14:$16B8 $E102 BNZ

SmartGlobe_L_600$16BA $ SmartGlobe_L_599:;SmartGlobe.pbas,1157 :: nop$16BA $0000 NOP$16BC $D005 BRA

SmartGlobe_L_601;SmartGlobe.pbas,1158 :: else$16BE $ SmartGlobe_L_600:;SmartGlobe.pbas,1159 ::

dec(kp2)$16BE $0103

MOVLB 3$16C0 $0E01

MOVLW 1$16C2 $5F48

SUBWF _kp2, 1, 1$16C4 $0E00

MOVLW 0$16C6 $5B49

SUBWFB _kp2+1, 1, 1;SmartGlobe.pbas,1160 :: end if$16C8 $ SmartGlobe_L_601:

Page 78: SMARTGLOBE : The Electronic Country Locator

Appendix F F-19

$16C8 $0103 MOVLB 3

$16CA $D7E8 BRASmartGlobe_L_595

$16CC $ SmartGlobe_L_596:;SmartGlobe.pbas,1164 :: case 4 kp = 65 'A'$16CC $ SmartGlobe_L_604:$16CC $0103

MOVLB 3$16CE $0100

MOVLB 0$16D0 $51CA

MOVF _kp, 0, 1$16D2 $0A04

XORLW 4$16D4 $E103 BNZ

SmartGlobe_L_605$16D6 $ SmartGlobe_L_603:$16D6 $0E41

MOVLW 65$16D8 $6FCA

MOVWF _kp, 1$16DA $D04A BRA

SmartGlobe_L_602$16DC $ SmartGlobe_L_605:;SmartGlobe.pbas,1165 :: case 5 kp = 52 '4'$16DC $ SmartGlobe_L_607:$16DC $51CA

MOVF _kp, 0, 1$16DE $0A05

XORLW 5$16E0 $E103 BNZ

SmartGlobe_L_608$16E2 $ SmartGlobe_L_606:$16E2 $0E34

MOVLW 52$16E4 $6FCA

MOVWF _kp, 1$16E6 $D044 BRA

SmartGlobe_L_602$16E8 $ SmartGlobe_L_608:;SmartGlobe.pbas,1166 :: case 6 kp = 53 '5'$16E8 $ SmartGlobe_L_610:$16E8 $51CA

MOVF _kp, 0, 1$16EA $0A06

XORLW 6$16EC $E103 BNZ

SmartGlobe_L_611$16EE $ SmartGlobe_L_609:$16EE $0E35

MOVLW 53$16F0 $6FCA

MOVWF _kp, 1$16F2 $D03E BRA

SmartGlobe_L_602$16F4 $ SmartGlobe_L_611:;SmartGlobe.pbas,1167 :: case 7 kp = 54 '6'$16F4 $ SmartGlobe_L_613:$16F4 $51CA

MOVF _kp, 0, 1

$16F6 $0A07 XORLW 7

$16F8 $E103 BNZSmartGlobe_L_614

$16FA $ SmartGlobe_L_612:$16FA $0E36

MOVLW 54$16FC $6FCA

MOVWF _kp, 1$16FE $D038 BRA

SmartGlobe_L_602$1700 $ SmartGlobe_L_614:;SmartGlobe.pbas,1168 :: case 8 kp = 66 'B'$1700 $ SmartGlobe_L_616:$1700 $51CA

MOVF _kp, 0, 1$1702 $0A08

XORLW 8$1704 $E103 BNZ

SmartGlobe_L_617$1706 $ SmartGlobe_L_615:$1706 $0E42

MOVLW 66$1708 $6FCA

MOVWF _kp, 1$170A $D032 BRA

SmartGlobe_L_602$170C $ SmartGlobe_L_617:;SmartGlobe.pbas,1169 :: case 9 kp = 55 '7'$170C $ SmartGlobe_L_619:$170C $51CA

MOVF _kp, 0, 1$170E $0A09

XORLW 9$1710 $E103 BNZ

SmartGlobe_L_620$1712 $ SmartGlobe_L_618:$1712 $0E37

MOVLW 55$1714 $6FCA

MOVWF _kp, 1$1716 $D02C BRA

SmartGlobe_L_602$1718 $ SmartGlobe_L_620:;SmartGlobe.pbas,1170 :: case 10 kp = 56 '8'$1718 $ SmartGlobe_L_622:$1718 $51CA

MOVF _kp, 0, 1$171A $0A0A

XORLW 10$171C $E103 BNZ

SmartGlobe_L_623$171E $ SmartGlobe_L_621:$171E $0E38

MOVLW 56$1720 $6FCA

MOVWF _kp, 1$1722 $D026 BRA

SmartGlobe_L_602$1724 $ SmartGlobe_L_623:;SmartGlobe.pbas,1171 :: case 11 kp = 57 '9'$1724 $ SmartGlobe_L_625:

Page 79: SMARTGLOBE : The Electronic Country Locator

Appendix F F-20

$1724 $51CA MOVF _kp, 0, 1

$1726 $0A0B XORLW 11

$1728 $E103 BNZSmartGlobe_L_626

$172A $ SmartGlobe_L_624:$172A $0E39

MOVLW 57$172C $6FCA

MOVWF _kp, 1$172E $D020 BRA

SmartGlobe_L_602$1730 $ SmartGlobe_L_626:;SmartGlobe.pbas,1172 :: case 12 kp = 67 'C'$1730 $ SmartGlobe_L_628:$1730 $51CA

MOVF _kp, 0, 1$1732 $0A0C

XORLW 12$1734 $E103 BNZ

SmartGlobe_L_629$1736 $ SmartGlobe_L_627:$1736 $0E43

MOVLW 67$1738 $6FCA

MOVWF _kp, 1$173A $D01A BRA

SmartGlobe_L_602$173C $ SmartGlobe_L_629:;SmartGlobe.pbas,1173 :: case 13 kp = 42 '*'$173C $ SmartGlobe_L_631:$173C $51CA

MOVF _kp, 0, 1$173E $0A0D

XORLW 13$1740 $E103 BNZ

SmartGlobe_L_632$1742 $ SmartGlobe_L_630:$1742 $0E2A

MOVLW 42$1744 $6FCA

MOVWF _kp, 1$1746 $D014 BRA

SmartGlobe_L_602$1748 $ SmartGlobe_L_632:;SmartGlobe.pbas,1174 :: case 14 kp = 48 '0'$1748 $ SmartGlobe_L_634:$1748 $51CA

MOVF _kp, 0, 1$174A $0A0E

XORLW 14$174C $E103 BNZ

SmartGlobe_L_635$174E $ SmartGlobe_L_633:$174E $0E30

MOVLW 48$1750 $6FCA

MOVWF _kp, 1$1752 $D00E BRA

SmartGlobe_L_602$1754 $ SmartGlobe_L_635:

;SmartGlobe.pbas,1175 :: case 15 kp = 35 '#'$1754 $ SmartGlobe_L_637:$1754 $51CA

MOVF _kp, 0, 1$1756 $0A0F

XORLW 15$1758 $E103 BNZ

SmartGlobe_L_638$175A $ SmartGlobe_L_636:$175A $0E23

MOVLW 35$175C $6FCA

MOVWF _kp, 1$175E $D008 BRA

SmartGlobe_L_602$1760 $ SmartGlobe_L_638:;SmartGlobe.pbas,1176 :: case 16 kp = 68 'D'$1760 $ SmartGlobe_L_640:$1760 $51CA

MOVF _kp, 0, 1$1762 $0A10

XORLW 16$1764 $E103 BNZ

SmartGlobe_L_641$1766 $ SmartGlobe_L_639:$1766 $0E44

MOVLW 68$1768 $6FCA

MOVWF _kp, 1$176A $D002 BRA

SmartGlobe_L_602$176C $ SmartGlobe_L_641:;SmartGlobe.pbas,1177 :: case else kp = kp + 48$176C $0E30

MOVLW 48$176E $27CA

ADDWF _kp, 1, 1$1770 $ SmartGlobe_L_602:;SmartGlobe.pbas,1180 :: if kp = 66 then$1770 $51CA

MOVF _kp, 0, 1$1772 $0A42

XORLW 66$1774 $E134 BNZ

SmartGlobe_L_643$1776 $ SmartGlobe_L_642:;SmartGlobe.pbas,1182 :: if tup = 5 then$1776 $0103

MOVLB 3$1778 $511B

MOVF _tup, 0, 1$177A $0A05

XORLW 5$177C $E104 BNZ

SmartGlobe_L_646$177E $ SmartGlobe_L_645:;SmartGlobe.pbas,1183 :: tup = 1$177E $0E01

MOVLW 1

Page 80: SMARTGLOBE : The Electronic Country Locator

Appendix F F-21

$1780 $6F1B MOVWF _tup, 1

$1782 $EFC4 F00BGOTO SmartGlobe_L_647

;SmartGlobe.pbas,1184 :: else$1786 $ SmartGlobe_L_646:;SmartGlobe.pbas,1185 ::

inc(tup)$1786 $2B1B INCF

_tup, 1, 1;SmartGlobe.pbas,1186 :: end if$1788 $ SmartGlobe_L_647:;SmartGlobe.pbas,1188 :: if tup = 1 then$1788 $511B

MOVF _tup, 0, 1$178A $0A01

XORLW 1$178C $E104 BNZ

SmartGlobe_L_649$178E $ SmartGlobe_L_648:;SmartGlobe.pbas,1189 :: yy1 = 0$178E $6B4B CLRF

_yy1, 1;SmartGlobe.pbas,1190 :: yy2 = 19$1790 $0E13

MOVLW 19$1792 $6F4C

MOVWF _yy2, 1$1794 $D01F BRA

SmartGlobe_L_650;SmartGlobe.pbas,1191 :: else$1796 $ SmartGlobe_L_649:;SmartGlobe.pbas,1192 :: if tup = 2 then$1796 $511B

MOVF _tup, 0, 1$1798 $0A02

XORLW 2$179A $E105 BNZ

SmartGlobe_L_652$179C $ SmartGlobe_L_651:;SmartGlobe.pbas,1193 :: yy1 = 5$179C $0E05

MOVLW 5$179E $6F4B

MOVWF _yy1, 1;SmartGlobe.pbas,1194 :: yy2 = 7$17A0 $0E07

MOVLW 7$17A2 $6F4C

MOVWF _yy2, 1$17A4 $D017 BRA

SmartGlobe_L_653;SmartGlobe.pbas,1195 :: else$17A6 $ SmartGlobe_L_652:;SmartGlobe.pbas,1196 :: if tup = 3 then$17A6 $511B

MOVF _tup, 0, 1

$17A8 $0A03 XORLW 3

$17AA $E105 BNZSmartGlobe_L_655

$17AC $ SmartGlobe_L_654:;SmartGlobe.pbas,1197 :: yy1 = 16$17AC $0E10

MOVLW 16$17AE $6F4B

MOVWF _yy1, 1;SmartGlobe.pbas,1198 :: yy2 = 18$17B0 $0E12

MOVLW 18$17B2 $6F4C

MOVWF _yy2, 1$17B4 $D00F BRA

SmartGlobe_L_656;SmartGlobe.pbas,1199 :: else$17B6 $ SmartGlobe_L_655:;SmartGlobe.pbas,1200 :: if tup= 4 then$17B6 $511B

MOVF _tup, 0, 1$17B8 $0A04

XORLW 4$17BA $E105 BNZ

SmartGlobe_L_658$17BC $ SmartGlobe_L_657:;SmartGlobe.pbas,1201 :: yy1 = 5$17BC $0E05

MOVLW 5$17BE $6F4B

MOVWF _yy1, 1;SmartGlobe.pbas,1202 :: yy2 = 19$17C0 $0E13

MOVLW 19$17C2 $6F4C

MOVWF _yy2, 1$17C4 $D007 BRA

SmartGlobe_L_659;SmartGlobe.pbas,1203 :: else$17C6 $ SmartGlobe_L_658:;SmartGlobe.pbas,1204 :: if tup = 5 then$17C6 $511B

MOVF _tup, 0, 1$17C8 $0A05

XORLW 5$17CA $E104 BNZ

SmartGlobe_L_661$17CC $ SmartGlobe_L_660:;SmartGlobe.pbas,1205 :: yy1 = 5$17CC $0E05

MOVLW 5$17CE $6F4B

MOVWF _yy1, 1;SmartGlobe.pbas,1206 :: yy2 = 19$17D0 $0E13

MOVLW 19

Page 81: SMARTGLOBE : The Electronic Country Locator

Appendix F F-22

$17D2 $6F4C MOVWF _yy2, 1

$17D4 $ SmartGlobe_L_661:;SmartGlobe.pbas,1207 :: end if$17D4 $ SmartGlobe_L_662:;SmartGlobe.pbas,1208 :: end if$17D4 $ SmartGlobe_L_659:;SmartGlobe.pbas,1209 :: end if$17D4 $ SmartGlobe_L_656:;SmartGlobe.pbas,1210 :: end if$17D4 $ SmartGlobe_L_653:;SmartGlobe.pbas,1211 :: end if$17D4 $ SmartGlobe_L_650:;SmartGlobe.pbas,1212 :: kp4 = 1$17D4 $0E01

MOVLW 1$17D6 $6F4A

MOVWF _kp4, 1;SmartGlobe.pbas,1213 :: yy = yy1$17D8 $C34B F31C

MOVFF _yy1, _yy$17DC $D190 BRA

SmartGlobe_L_644;SmartGlobe.pbas,1215 :: else$17DE $ SmartGlobe_L_643:;SmartGlobe.pbas,1216 :: if kp = 68 then$17DE $0100

MOVLB 0$17E0 $51CA

MOVF _kp, 0, 1$17E2 $0A44

XORLW 68$17E4 $A4D8

BTFSS STATUS, Z, 0$17E6 $D0AC BRA

SmartGlobe_L_664$17E8 $ SmartGlobe_L_663:;SmartGlobe.pbas,1217 :: tmp = 0$17E8 $0103

MOVLB 3$17EA $6B1D CLRF

_tmp, 1;SmartGlobe.pbas,1218 ::

unsubstitute$17EC $EC5D F01C CALL

_unsubstitute;SmartGlobe.pbas,1219 :: kp = 0$17F0 $0100

MOVLB 0$17F2 $6BCA CLRF

_kp, 1;SmartGlobe.pbas,1220 :: if tmp = 0 then$17F4 $0103

MOVLB 3

$17F6 $511D MOVF _tmp, 0, 1

$17F8 $0A00 XORLW 0

$17FA $E157 BNZSmartGlobe_L_667

$17FC $ SmartGlobe_L_666:;SmartGlobe.pbas,1221 ::

Lcd_Cmd(Lcd_clear)$17FC $0E01

MOVLW 1$17FE $6FDA

MOVWF FARG_Lcd_Cmd, 1$1800 $EC95 F01A CALL

_lcd_cmd;SmartGlobe.pbas,1222 ::

Lcd_out(1, 1, "Please wait...... ")$1804 $0E01

MOVLW 1$1806 $0103

MOVLB 3$1808 $6FD4

MOVWF FARG_Lcd_Out, 1$180A $0E01

MOVLW 1$180C $6FD5

MOVWF FARG_Lcd_Out+1, 1$180E $0E50

MOVLW 80$1810 $6F72

MOVWF ?main_Local_Text+0, 1$1812 $0E6C

MOVLW 108$1814 $6F73

MOVWF ?main_Local_Text+1, 1$1816 $0E65

MOVLW 101$1818 $6F74

MOVWF ?main_Local_Text+2, 1$181A $0E61

MOVLW 97$181C $6F75

MOVWF ?main_Local_Text+3, 1$181E $0E73

MOVLW 115$1820 $6F76

MOVWF ?main_Local_Text+4, 1$1822 $0E65

MOVLW 101$1824 $6F77

MOVWF ?main_Local_Text+5, 1$1826 $0E20

MOVLW 32$1828 $6F78

MOVWF ?main_Local_Text+6, 1$182A $0E77

MOVLW 119$182C $6F79

MOVWF ?main_Local_Text+7, 1$182E $0E61

MOVLW 97$1830 $6F7A

MOVWF ?main_Local_Text+8, 1$1832 $0E69

MOVLW 105

Page 82: SMARTGLOBE : The Electronic Country Locator

Appendix F F-23

$1834 $6F7B MOVWF ?main_Local_Text+9, 1

$1836 $0E74 MOVLW 116

$1838 $6F7C MOVWF ?main_Local_Text+10, 1

$183A $0E2E MOVLW 46

$183C $6F7D MOVWF ?main_Local_Text+11, 1

$183E $0E2E MOVLW 46

$1840 $6F7E MOVWF ?main_Local_Text+12, 1

$1842 $0E2E MOVLW 46

$1844 $6F7F MOVWF ?main_Local_Text+13, 1

$1846 $0E2E MOVLW 46

$1848 $6F80 MOVWF ?main_Local_Text+14, 1

$184A $0E2E MOVLW 46

$184C $6F81 MOVWF ?main_Local_Text+15, 1

$184E $0E2E MOVLW 46

$1850 $6F82 MOVWF ?main_Local_Text+16, 1

$1852 $0E20 MOVLW 32

$1854 $6F83 MOVWF ?main_Local_Text+17, 1

$1856 $0E20 MOVLW 32

$1858 $6F84 MOVWF ?main_Local_Text+18, 1

$185A $0E20 MOVLW 32

$185C $6F85 MOVWF ?main_Local_Text+19, 1

$185E $6B86 CLRF?main_Local_Text+20, 1

$1860 $0E72 MOVLW ?main_Local_Text

$1862 $6FD6 MOVWF FARG_Lcd_Out+2, 1

$1864 $0E03 MOVLW @?main_Local_Text

$1866 $6FD7 MOVWF FARG_Lcd_Out+3, 1

$1868 $EC95 F020 CALL_lcd_out

;SmartGlobe.pbas,1223 :: delay_ms(500)

$186C $0E03 MOVLW 3

$186E $6E0C MOVWF STACK_12, 0

$1870 $0EFF MOVLW 255

$18BE $6FB3 MOVWF FARG_Mmc_Write_Sector+4, 1

$18C0 $0E00 MOVLW @_data

$18C2 $6FB4 MOVWF FARG_Mmc_Write_Sector+5, 1

$18C4 $EC35 F01B CALL_mmc_write_sector

$18C8 $C000 F31DMOVFF STACK_0, _tmp

;SmartGlobe.pbas,1226 :: if tmp > 0 then$18CC $5000

MOVF STACK_0, 0, 0$18CE $0800

SUBLW 0$18D0 $E21C BC

SmartGlobe_L_670$18D2 $ SmartGlobe_L_669:;SmartGlobe.pbas,1227 :: do$18D2 $ SmartGlobe_L_672:;SmartGlobe.pbas,1228 :: mali$18D2 $EC32 F01E CALL

_mali;SmartGlobe.pbas,1229 :: kp = keypad_released$18D6 $ECEF F023 CALL

_keypad_released$18DA $C000 F0CA

MOVFF STACK_0, _kp;SmartGlobe.pbas,1230 :: loop until kp = 16$18DE $ SmartGlobe_L_673:$18DE $0100

MOVLB 0$18E0 $51CA

MOVF _kp, 0, 1$18E2 $0A10

XORLW 16$18E4 $E101 BNZ

SmartGlobe_L_675$18E6 $ SmartGlobe_L_676:$18E6 $D001 BRA

SmartGlobe_L_674$18E8 $ SmartGlobe_L_675:$18E8 $D7F4 BRA

SmartGlobe_L_672$18EA $ SmartGlobe_L_674:;SmartGlobe.pbas,1231 ::

lcd_cmd(lcd_clear)$18EA $0E01

MOVLW 1$18EC $0103

MOVLB 3$18EE $6FDA

MOVWF FARG_Lcd_Cmd, 1$18F0 $EC95 F01A CALL

_lcd_cmd;SmartGlobe.pbas,1232 :: kp3 = 1$18F4 $0E01

MOVLW 1$18F6 $0103

MOVLB 3$18F8 $6F1E

MOVWF _kp3, 1;SmartGlobe.pbas,1233 :: txt = "____"$18FA $0E5F

MOVLW 95

Page 83: SMARTGLOBE : The Electronic Country Locator

Appendix F F-24

$18FC $0100 MOVLB 0

$18FE $6FC5 MOVWF _txt+0, 1

$1900 $6FC6 MOVWF _txt+1, 1

$1902 $6FC7 MOVWF _txt+2, 1

$1904 $6FC8 MOVWF _txt+3, 1

$1906 $6BC9 CLRF_txt+4, 1

$1908 $D019 BRASmartGlobe_L_671

;SmartGlobe.pbas,1234 :: else$190A $ SmartGlobe_L_670:;SmartGlobe.pbas,1235 ::

lcd_cmd(lcd_clear)$190A $0E01

MOVLW 1$190C $0103

MOVLB 3$190E $6FDA

MOVWF FARG_Lcd_Cmd, 1$1910 $EC95 F01A CALL

_lcd_cmd;SmartGlobe.pbas,1236 :: text1 = ""$1914 $6A2B CLRF

_text1+0, 0;SmartGlobe.pbas,1237 :: text2 = ""$1916 $6A40 CLRF

_text2+0, 0;SmartGlobe.pbas,1238 :: text3 = ""$1918 $6A55 CLRF

_text3+0, 0;SmartGlobe.pbas,1239 :: text4 = ""$191A $0100

MOVLB 0$191C $6B6A CLRF

_text4+0, 1;SmartGlobe.pbas,1240 ::

Lcd_Cmd(Lcd_Clear)$191E $0E01

MOVLW 1$1920 $0103

MOVLB 3$1922 $6FDA

MOVWF FARG_Lcd_Cmd, 1$1924 $EC95 F01A CALL

_lcd_cmd;SmartGlobe.pbas,1241 :: txt = "____"$1928 $0E5F

MOVLW 95$192A $0100

MOVLB 0$192C $6FC5

MOVWF _txt+0, 1$192E $6FC6

MOVWF _txt+1, 1$1930 $6FC7

MOVWF _txt+2, 1

$1932 $6FC8 MOVWF _txt+3, 1

$1934 $6BC9 CLRF_txt+4, 1

;SmartGlobe.pbas,1242 :: kp3 = 1$1936 $0E01

MOVLW 1$1938 $0103

MOVLB 3$193A $6F1E

MOVWF _kp3, 1;SmartGlobe.pbas,1243 :: end if$193C $ SmartGlobe_L_671:$193C $0103

MOVLB 3$193E $D0DF BRA

SmartGlobe_L_665;SmartGlobe.pbas,1244 :: else$1940 $ SmartGlobe_L_664:;SmartGlobe.pbas,1245 :: if kp = 65 then$1940 $0100

MOVLB 0$1942 $51CA

MOVF _kp, 0, 1$1944 $0A41

XORLW 65$1946 $E10C BNZ

SmartGlobe_L_678$1948 $ SmartGlobe_L_677:;SmartGlobe.pbas,1247 :: if porte.2 = 1 then$1948 $6A04 CLRF

STACK_4, 0$194A $B484

BTFSC PORTE, 2, 0$194C $2A04 INCF

STACK_4, 1, 0$194E $5004

MOVF STACK_4, 0, 0$1950 $0A01

XORLW 1$1952 $E102 BNZ

SmartGlobe_L_681$1954 $ SmartGlobe_L_680:;SmartGlobe.pbas,1248 ::

porte.2 = 0$1954 $9484 BCF

PORTE, 2, 0$1956 $ SmartGlobe_L_684:$1956 $D002 BRA

SmartGlobe_L_682;SmartGlobe.pbas,1249 :: else$1958 $ SmartGlobe_L_681:;SmartGlobe.pbas,1250 ::

porte.2 = 1$1958 $ SmartGlobe_L_685:$1958 $0100

MOVLB 0$195A $8484 BSF

PORTE, 2, 0$195C $ SmartGlobe_L_686:;SmartGlobe.pbas,1251 :: end if

Page 84: SMARTGLOBE : The Electronic Country Locator

Appendix F F-25

$195C $ SmartGlobe_L_682:$195C $0100

MOVLB 0$195E $D0CF BRA

SmartGlobe_L_679;SmartGlobe.pbas,1253 :: else$1960 $ SmartGlobe_L_678:;SmartGlobe.pbas,1254 :: if kp = 67 then$1960 $51CA

MOVF _kp, 0, 1$1962 $0A43

XORLW 67$1964 $A4D8

BTFSS STATUS, Z, 0$1966 $D089 BRA

SmartGlobe_L_688$1968 $ SmartGlobe_L_687:;SmartGlobe.pbas,1256 :: if tup = 1 then$1968 $0103

MOVLB 3$196A $511B

MOVF _tup, 0, 1$196C $0A01

XORLW 1$196E $E11A BNZ

SmartGlobe_L_691$1970 $ SmartGlobe_L_690:;SmartGlobe.pbas,1257 :: yy1 = 0$1970 $6B4B CLRF

_yy1, 1;SmartGlobe.pbas,1258 :: yy2 = 19$1972 $0E13

MOVLW 19$1974 $6F4C

MOVWF _yy2, 1;SmartGlobe.pbas,1259 :: text1 = " "$1976 $0E20

MOVLW 32$1978 $6E2B

MOVWF _text1+0, 0$197A $6E2C

MOVWF _text1+1, 0$197C $6E2D

MOVWF _text1+2, 0$197E $6E2E

MOVWF _text1+3, 0$1980 $6E2F

MOVWF _text1+4, 0$1982 $6E30

MOVWF _text1+5, 0$1984 $6E31

MOVWF _text1+6, 0$1986 $6E32

MOVWF _text1+7, 0$1988 $6E33

MOVWF _text1+8, 0$198A $6E34

MOVWF _text1+9, 0$198C $6E35

MOVWF _text1+10, 0

$198E $6E36 MOVWF _text1+11, 0

$1990 $6E37 MOVWF _text1+12, 0

$1992 $6E38 MOVWF _text1+13, 0

$1994 $6E39 MOVWF _text1+14, 0

$1996 $6E3A MOVWF _text1+15, 0

$1998 $6E3B MOVWF _text1+16, 0

$199A $6E3C MOVWF _text1+17, 0

$199C $6E3D MOVWF _text1+18, 0

$199E $6E3E MOVWF _text1+19, 0

$19A0 $6A3F CLRF_text1+20, 0

$19A2 $D062 BRASmartGlobe_L_692

;SmartGlobe.pbas,1260 :: else$19A4 $ SmartGlobe_L_691:;SmartGlobe.pbas,1261 :: if tup = 2 then$19A4 $511B

MOVF _tup, 0, 1$19A6 $0A02

XORLW 2$19A8 $E10B BNZ

SmartGlobe_L_694$19AA $ SmartGlobe_L_693:;SmartGlobe.pbas,1262 :: yy1 = 5$19AA $0E05

MOVLW 5$19AC $6F4B

MOVWF _yy1, 1;SmartGlobe.pbas,1263 :: yy2 = 8$19AE $0E08

MOVLW 8$19B0 $6F4C

MOVWF _yy2, 1;SmartGlobe.pbas,1264 ::

text2[5] = ""$19B2 $0E30

MOVLW 48$19B4 $6E45

MOVWF _text2+5, 0;SmartGlobe.pbas,1265 ::

text2[6] = ""$19B6 $0E30

MOVLW 48$19B8 $6E46

MOVWF _text2+6, 0;SmartGlobe.pbas,1266 ::

text2[7] = ""$19BA $0E30

MOVLW 48$19BC $6E47

MOVWF _text2+7, 0$19BE $D054 BRA

SmartGlobe_L_695;SmartGlobe.pbas,1267 :: else

Page 85: SMARTGLOBE : The Electronic Country Locator

Appendix F F-26

$19C0 $ SmartGlobe_L_694:;SmartGlobe.pbas,1268 :: if tup = 3 then$19C0 $511B

MOVF _tup, 0, 1$19C2 $0A03

XORLW 3$19C4 $E10B BNZ

SmartGlobe_L_697$19C6 $ SmartGlobe_L_696:;SmartGlobe.pbas,1269 :: yy1 = 16$19C6 $0E10

MOVLW 16$19C8 $6F4B

MOVWF _yy1, 1;SmartGlobe.pbas,1270 :: yy2 = 19$19CA $0E13

MOVLW 19$19CC $6F4C

MOVWF _yy2, 1;SmartGlobe.pbas,1271 ::

text2[16] = ""$19CE $0E30

MOVLW 48$19D0 $6E50

MOVWF _text2+16, 0;SmartGlobe.pbas,1272 ::

text2[17] = ""$19D2 $0E30

MOVLW 48$19D4 $6E51

MOVWF _text2+17, 0;SmartGlobe.pbas,1273 ::

text2[18] = ""$19D6 $0E30

MOVLW 48$19D8 $6E52

MOVWF _text2+18, 0$19DA $D046 BRA

SmartGlobe_L_698;SmartGlobe.pbas,1274 :: else$19DC $ SmartGlobe_L_697:;SmartGlobe.pbas,1275 :: if tup = 4 then$19DC $511B

MOVF _tup, 0, 1$19DE $0A04

XORLW 4$19E0 $E120 BNZ

SmartGlobe_L_700$19E2 $ SmartGlobe_L_699:;SmartGlobe.pbas,1276 :: yy1 = 5$19E2 $0E05

MOVLW 5$19E4 $6F4B

MOVWF _yy1, 1;SmartGlobe.pbas,1277 :: yy2 = 19$19E6 $0E13

MOVLW 19$19E8 $6F4C

MOVWF _yy2, 1

;SmartGlobe.pbas,1278 :: text3 = "Cap: "$19EA $0E43

MOVLW 67$19EC $6E55

MOVWF _text3+0, 0$19EE $0E61

MOVLW 97$19F0 $6E56

MOVWF _text3+1, 0$19F2 $0E70

MOVLW 112$19F4 $6E57

MOVWF _text3+2, 0$19F6 $0E3A

MOVLW 58$19F8 $6E58

MOVWF _text3+3, 0$19FA $0E20

MOVLW 32$19FC $6E59

MOVWF _text3+4, 0$19FE $6E5A

MOVWF _text3+5, 0$1A00 $6E5B

MOVWF _text3+6, 0$1A02 $6E5C

MOVWF _text3+7, 0$1A04 $6E5D

MOVWF _text3+8, 0$1A06 $6E5E

MOVWF _text3+9, 0$1A08 $6E5F

MOVWF _text3+10, 0$1A0A $0100

MOVLB 0$1A0C $6F60

MOVWF _text3+11, 1$1A0E $6F61

MOVWF _text3+12, 1$1A10 $6F62

MOVWF _text3+13, 1$1A12 $6F63

MOVWF _text3+14, 1$1A14 $6F64

MOVWF _text3+15, 1$1A16 $6F65

MOVWF _text3+16, 1$1A18 $6F66

MOVWF _text3+17, 1$1A1A $6F67

MOVWF _text3+18, 1$1A1C $6F68

MOVWF _text3+19, 1$1A1E $6B69 CLRF

_text3+20, 1$1A20 $D023 BRA

SmartGlobe_L_701;SmartGlobe.pbas,1279 :: else$1A22 $ SmartGlobe_L_700:;SmartGlobe.pbas,1280 :: if tup = 5 then$1A22 $0103

MOVLB 3$1A24 $511B

MOVF _tup, 0, 1

Page 86: SMARTGLOBE : The Electronic Country Locator

Appendix F F-27

$1A26 $0A05 XORLW 5

$1A28 $E11F BNZSmartGlobe_L_703

$1A2A $ SmartGlobe_L_702:;SmartGlobe.pbas,1281 :: yy1 = 5$1A2A $0E05

MOVLW 5$1A2C $6F4B

MOVWF _yy1, 1;SmartGlobe.pbas,1282 :: yy2 = 19$1A2E $0E13

MOVLW 19$1A30 $6F4C

MOVWF _yy2, 1;SmartGlobe.pbas,1283 :: text4 = "Cur: "$1A32 $0E43

MOVLW 67$1A34 $0100

MOVLB 0$1A36 $6F6A

MOVWF _text4+0, 1$1A38 $0E75

MOVLW 117$1A3A $6F6B

MOVWF _text4+1, 1$1A3C $0E72

MOVLW 114$1A3E $6F6C

MOVWF _text4+2, 1$1A40 $0E3A

MOVLW 58$1A42 $6F6D

MOVWF _text4+3, 1$1A44 $0E20

MOVLW 32$1A46 $6F6E

MOVWF _text4+4, 1$1A48 $6F6F

MOVWF _text4+5, 1$1A4A $6F70

MOVWF _text4+6, 1$1A4C $6F71

MOVWF _text4+7, 1$1A4E $6F72

MOVWF _text4+8, 1$1A50 $6F73

MOVWF _text4+9, 1$1A52 $6F74

MOVWF _text4+10, 1$1A54 $6F75

MOVWF _text4+11, 1$1A56 $6F76

MOVWF _text4+12, 1$1A58 $6F77

MOVWF _text4+13, 1$1A5A $6F78

MOVWF _text4+14, 1$1A5C $6F79

MOVWF _text4+15, 1$1A5E $6F7A

MOVWF _text4+16, 1

$1A60 $6F7B MOVWF _text4+17, 1

$1A62 $6F7C MOVWF _text4+18, 1

$1A64 $6F7D MOVWF _text4+19, 1

$1A66 $6B7E CLRF_text4+20, 1

$1A68 $ SmartGlobe_L_703:;SmartGlobe.pbas,1284 :: end if$1A68 $ SmartGlobe_L_704:;SmartGlobe.pbas,1285 :: end if$1A68 $ SmartGlobe_L_701:;SmartGlobe.pbas,1286 :: end if$1A68 $ SmartGlobe_L_698:;SmartGlobe.pbas,1287 :: end if$1A68 $ SmartGlobe_L_695:;SmartGlobe.pbas,1288 :: end if$1A68 $ SmartGlobe_L_692:;SmartGlobe.pbas,1289 :: kp4 = 1$1A68 $0100

MOVLB 0$1A6A $0E01

MOVLW 1$1A6C $0103

MOVLB 3$1A6E $6F4A

MOVWF _kp4, 1;SmartGlobe.pbas,1290 :: yy = yy1$1A70 $C34B F31C

MOVFF _yy1, _yy;SmartGlobe.pbas,1291 :: yy3 = 0$1A74 $6B19 CLRF

_yy3, 1;SmartGlobe.pbas,1292 :: kp1 = 0$1A76 $6B71 CLRF

_kp1, 1$1A78 $D042 BRA

SmartGlobe_L_689;SmartGlobe.pbas,1294 :: else$1A7A $ SmartGlobe_L_688:;SmartGlobe.pbas,1297 :: if kp = kp1 then$1A7A $0100

MOVLB 0$1A7C $51CA

MOVF _kp, 0, 1$1A7E $0103

MOVLB 3$1A80 $1971

XORWF _kp1, 0, 1$1A82 $E120 BNZ

SmartGlobe_L_706$1A84 $ SmartGlobe_L_705:;SmartGlobe.pbas,1299 :: if yy3 = 9 then

Page 87: SMARTGLOBE : The Electronic Country Locator

Appendix F F-28

$1A84 $5119 MOVF _yy3, 0, 1

$1A86 $0A09 XORLW 9

$1A88 $E103 BNZSmartGlobe_L_709

$1A8A $ SmartGlobe_L_708:;SmartGlobe.pbas,1300 :: yy3 = 0$1A8A $6B19 CLRF

_yy3, 1$1A8C $EF49 F00D

GOTO SmartGlobe_L_710;SmartGlobe.pbas,1301 :: else$1A90 $ SmartGlobe_L_709:;SmartGlobe.pbas,1302 ::

inc(yy3)$1A90 $2B19 INCF

_yy3, 1, 1;SmartGlobe.pbas,1303 :: end if$1A92 $ SmartGlobe_L_710:;SmartGlobe.pbas,1305 :: if kp2 = 0 then$1A92 $0E00

MOVLW 0$1A94 $1949

XORWF _kp2+1, 0, 1$1A96 $E102 BNZ

L_main_15$1A98 $0E00

MOVLW 0$1A9A $1948

XORWF _kp2, 0, 1$1A9C $ L_main_15:$1A9C $E10B BNZ

SmartGlobe_L_712$1A9E $ SmartGlobe_L_711:;SmartGlobe.pbas,1306 :: yy3 = 0$1A9E $6B19 CLRF

_yy3, 1;SmartGlobe.pbas,1307 :: if yy = yy2 then$1AA0 $511C

MOVF _yy, 0, 1$1AA2 $194C

XORWF _yy2, 0, 1$1AA4 $E104 BNZ

SmartGlobe_L_715$1AA6 $ SmartGlobe_L_714:;SmartGlobe.pbas,1308 :: yy = yy1$1AA6 $C34B F31C

MOVFF _yy1, _yy$1AAA $EF58 F00D

GOTO SmartGlobe_L_716;SmartGlobe.pbas,1309 :: else$1AAE $ SmartGlobe_L_715:;SmartGlobe.pbas,1310 ::

inc(yy)$1AAE $2B1C INCF

_yy, 1, 1;SmartGlobe.pbas,1311 :: end if$1AB0 $ SmartGlobe_L_716:

$1AB0 $0103 MOVLB 3

$1AB2 $D000 BRASmartGlobe_L_713

;SmartGlobe.pbas,1313 :: else$1AB4 $ SmartGlobe_L_712:;SmartGlobe.pbas,1317 :: end if$1AB4 $ SmartGlobe_L_713:;SmartGlobe.pbas,1319 :: kp2 = 4000$1AB4 $0103

MOVLB 3$1AB6 $0EA0

MOVLW 160$1AB8 $6F48

MOVWF _kp2, 1$1ABA $0E0F

MOVLW 15$1ABC $6F49

MOVWF _kp2+1, 1;SmartGlobe.pbas,1320 ::

manipulate$1ABE $EC7D F010 CALL

_manipulate$1AC2 $D01A BRA

SmartGlobe_L_707;SmartGlobe.pbas,1322 :: else$1AC4 $ SmartGlobe_L_706:;SmartGlobe.pbas,1324 :: if kp4 = 0 then$1AC4 $0103

MOVLB 3$1AC6 $514A

MOVF _kp4, 0, 1$1AC8 $0A00

XORLW 0$1ACA $E10B BNZ

SmartGlobe_L_718$1ACC $ SmartGlobe_L_717:;SmartGlobe.pbas,1326 :: if yy = yy2 then$1ACC $511C

MOVF _yy, 0, 1$1ACE $194C

XORWF _yy2, 0, 1$1AD0 $E104 BNZ

SmartGlobe_L_721$1AD2 $ SmartGlobe_L_720:;SmartGlobe.pbas,1327 :: yy = yy1$1AD2 $C34B F31C

MOVFF _yy1, _yy$1AD6 $EF6E F00D

GOTO SmartGlobe_L_722;SmartGlobe.pbas,1328 :: else$1ADA $ SmartGlobe_L_721:;SmartGlobe.pbas,1329 ::

inc(yy)$1ADA $2B1C INCF

_yy, 1, 1;SmartGlobe.pbas,1330 :: end if$1ADC $ SmartGlobe_L_722:$1ADC $0103

MOVLB 3

Page 88: SMARTGLOBE : The Electronic Country Locator

Appendix F F-29

$1ADE $EF72 F00DGOTO SmartGlobe_L_719

;SmartGlobe.pbas,1332 :: else$1AE2 $ SmartGlobe_L_718:;SmartGlobe.pbas,1335 :: kp4 = 0$1AE2 $6B4A CLRF

_kp4, 1;SmartGlobe.pbas,1336 :: end if$1AE4 $ SmartGlobe_L_719:;SmartGlobe.pbas,1338 :: yy3 = 0$1AE4 $0103

MOVLB 3$1AE6 $6B19 CLRF

_yy3, 1;SmartGlobe.pbas,1339 :: kp2 = 4000$1AE8 $0EA0

MOVLW 160$1AEA $6F48

MOVWF _kp2, 1$1AEC $0E0F

MOVLW 15$1AEE $6F49

MOVWF _kp2+1, 1;SmartGlobe.pbas,1340 :: kp1 = kp$1AF0 $C0CA F371

MOVFF _kp, _kp1;SmartGlobe.pbas,1341 :: cnt = kp$1AF4 $C0CA F31A

MOVFF _kp, _cnt;SmartGlobe.pbas,1344 :: end if$1AF8 $ SmartGlobe_L_707:;SmartGlobe.pbas,1346 ::

outdata$1AF8 $0103

MOVLB 3$1AFA $EC75 F01F CALL

_outdata;SmartGlobe.pbas,1349 :: end if$1AFE $ SmartGlobe_L_689:;SmartGlobe.pbas,1350 :: end if$1AFE $ SmartGlobe_L_679:;SmartGlobe.pbas,1351 :: end if$1AFE $ SmartGlobe_L_665:;SmartGlobe.pbas,1352 :: end if$1AFE $ SmartGlobe_L_644:$1AFE $ SmartGlobe_L_592:;SmartGlobe.pbas,1358 :: end if$1AFE $ SmartGlobe_L_593:;SmartGlobe.pbas,1359 :: end if$1AFE $ SmartGlobe_L_570:;SmartGlobe.pbas,1360 :: end if$1AFE $ SmartGlobe_L_516:

;SmartGlobe.pbas,1361 :: end if$1AFE $ SmartGlobe_L_473:$1AFE $EFA1 F003

GOTO SmartGlobe_L_467;SmartGlobe.pbas,1362 ::

wend$1B02 $D7FF BRA

$

Page 89: SMARTGLOBE : The Electronic Country Locator

Appendix G: User’s Manual

Page 90: SMARTGLOBE : The Electronic Country Locator

Appendix G G-1

SmartGlobe Operations Manual

Page 91: SMARTGLOBE : The Electronic Country Locator

Appendix G G-2

Operating Instructions:

Figure 1.1

Figure 1.2

1. Turn on the power switch as pointed on [Figure 1.1]. There will be a display on the LCD indicating the system information [Figure 1.2].

Figure 2.2

Figure 2.1.a Figure 2.1.b

2. Adjust the globe so that the laser pointer points to the Base Position, which is the intersection of the Prime meridian and the Equator. A black rubber marker is placed on the base position as an indicator [Figure 2.1.a, Figure 2.1.b]. To ensure proper alignment, the user can press the light bulb button [Figure 2.2] on the keypad to activate the laser pointer (with accompanying beep from the buzzer)

Power Switch

Page 92: SMARTGLOBE : The Electronic Country Locator

Appendix G G-3

when adjusting the globe’s position. Pressing the light bulb button the second time would turn off the laser pointer.

Figure 3.1 Figure 3.2

3. In the country selection menu [Figure 3.1], input the country code from the list of countries located on the right-side of the LCD [Figure 3.2]. Press Enter.

4. After pressing the Enter button, the SmartGlobe will start locating the entered country. The laser pointer and the buzzer will activate once the process is finished. Press the Enter button so the globe will move back to its base position. When the globe is already at its default position, it is now ready to locate another country.

Page 93: SMARTGLOBE : The Electronic Country Locator

Appendix G G-4

Updating/Editing Entries

1. In the country selection menu, input “9999” and press Enter. After pressing Enter,a message will be displayed, see Figure 5. Press Enter.

Figure 5

2. Input the corresponding code of the country you want to update. Press Enter.

3. Press SEL depending on the position of the information you want to update. The number you press the SEL button, the number of times it will move. For example, if you press it two times, it is on the Longitude attribute. When it is pressed three times, the cursor is on the Capital attributes, though you can’t see the cursor.

4. After selecting/determining the line to edit, press CLR(Clear). Type the word(s)/number depending on the changes you desire.

5. Press Enter.

6. In the country selection menu, input “9999” again and press Enter. After pressing Enter a message will be display, see Figure 6. Press Enter.

Figure 6

Page 94: SMARTGLOBE : The Electronic Country Locator

Appendix H: Sample Receipts

Page 95: SMARTGLOBE : The Electronic Country Locator

Appendix H H-1

Page 96: SMARTGLOBE : The Electronic Country Locator

Appendix H H-2

Page 97: SMARTGLOBE : The Electronic Country Locator

Appendix H H-3

Page 98: SMARTGLOBE : The Electronic Country Locator

Appendix H H-4

Page 99: SMARTGLOBE : The Electronic Country Locator

Appendix H H-5

Page 100: SMARTGLOBE : The Electronic Country Locator

Appendix H H-6

Page 101: SMARTGLOBE : The Electronic Country Locator

Appendix H H-7

Page 102: SMARTGLOBE : The Electronic Country Locator

Appendix H H-8

Page 103: SMARTGLOBE : The Electronic Country Locator

Appendix H H-9