You are on page 1of 103

STI College – Makati

SmartGlobe: Electronic Country Locator Using a Standard Globe

A Thesis Project Presented to the Faculty of


STI College – Makati

In Partial Fulfillment
of the Requirements for the Degree of
Bachelor of Science in Computer Engineering

by:

Benito, Reynaldo Jr. B


Enjambre, Matthew D.
Luchavez, Romel N.
Mendoza, Glenn F.

Mr. Noel Jason M. Hernandez


Thesis Adviser

March 2009
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 the


Bachelor 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
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 approved


by the following members of the panel

Mr. Riegie D. Tan Engr. Antonio M. Lazona


Panelist Panelist

Dr. Emmalyn Capuno


Panelist
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 accepted


by the Computer Engineering Department
of STI College - Makati

Engr. Laura M. Altea


Thesis Coordinator

Engr. Laura M. Altea


Dean

March 2009
TABLE OF CONTENTS
Page
1 INTRODUCTION

1.1 Statement of the Problem 1-2


1.1.1 General Problem 1-2
1.1.2 Specific Problems 1-2
1.2 Current State of the Technology 1-2
1.3 Objectives 1-4
1.3.1 General Objective 1-4
1.3.2 Specific Objectives 1-4
1.4 Scope and Limitations 1-5
1.5 Review of Related Studies 1-6
1.5.1 Foreign Studies 1-6
1.5.2 Local Studies 1-8

2 THEORETICAL FRAMEWORK

2.1 Introduction 2-1


2.2 Gimbal 2-1
2.3 Microcontroller 2-2
2.4 Embedded Design 2-3
2.5 Stepper Motor 2-5

3 SMARTGLOBE: ELECTRONIC COUNTRY LOCATOR USING A


STANDARD GLOBE

3.1 Introduction 3-1


3.2 System Design Specifications 3-1
3.2.1 Globe 3-1
3.2.2 Microcontroller Unit 3-2
3.2.3 LCD 3-3
3.2.4 Keypad 3-4
3.2.5 Stepper Motor 3-4
3.2.6 Storage Device 3-4
3.2.7 Prototype Design 3-5
3.3 Summary 3-7

4 PERFORMANCE ANALYSIS

4.1 Introduction 4-1


4.2 Experimental 4-1
4.3 Results and Analysis 4-3
4.4 Summary 4-4
5 CONCLUSION AND RECOMMENDATION

5.1 Conclusion 5-1


5.2 Recommendation 5-1

Bibliography
Appendices
Resource Person
Personal Vitae
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


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


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.


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.


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].

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


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

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


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

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


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.

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


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.

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


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

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


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

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


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.

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


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.

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


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]

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


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.

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


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

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


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

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


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.

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


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.

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


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.

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


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.

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


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

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


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

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


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.

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


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

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


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

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


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

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


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.

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


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.

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


Table 4.1: Table of Experiments

Experiment # Topics Remarks


1 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 A study on the concepts of
Microcontrollers 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 Study on circuit interfacing
Microchip IC based on PIC
6 Study on different compilers for PIC Study on compiler’s based
Microchip IC on PIC, commonly based on
C, Basic, and Assembly
7 Choosing the compiler needed to build Proponents prefer
the project MicroBasic compiler based
on Basic Language
8 Study on the mechanical structure of the Includes the proper
project model alignment, and preferred
parts and design
9 In-depth study of the MicroBasic Study on the features and
compiler software 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

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


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

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


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.

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


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.

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


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.
Appendix A: Project Schedule
Appendix A A-1
Appendix A A-2
Appendix A A-3
Appendix B: Glossary of Terms
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.

Appendix B B-1
Appendix C: Transcript of Interviews
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.

Appendix C C-1
Appendix D: Project Costing
Table D.1: Project Design Costing

Entry Unit Cost/Time


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

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.

Appendix D D-1
Table D.2: Materials Costing

Materials: No. of Units/Meters: Unit Price: Price:


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

Total: P 20,184.49

Appendix D D-2
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.

Appendix D D-3
Appendix E: List of Country Codes
Name of Country Country Code

Afghanistan 0004
Albania 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

Appendix E E-1
Name of Country Country Code

Denmark 0208
Djibouti 0262
Dominica 0212
Dominican Republic 0214
Ecuador 0218
Egypt 0818
El Salvador 0222
Equatorial Guinea 0226
Eritrea 0232
Estonia 0233
Ethiopia 0231
Fiji 0242
Finland 0246
France 0250
Gabon 0266
Gambia 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) 0336
Honduras 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

Appendix E E-2
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

Appendix E E-3
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

Appendix E E-4
Name of Country Country Code

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

Appendix E E-5
Appendix F: Program Listing
; ADDRESS OPCODE ASM ;math_double.ppas,152 ::
; ---------------------------------------------- ;math_double.ppas,160 ::
$0000 $EF04 F000 $485A $840B BSF
GOTO _main STACK_11, FUN, 0
$490A $ _delay_1us: ;math_double.ppas,161 ::
;Delays.pbas,13 :: sub procedure $485C $AE0B
Delay_1us BTFSS STACK_11, SAT, 0
;Delays.pbas,15 :: Delay_us(1) ;math_double.ppas,163 ::
$490A $0000 NOP $485E $EF38 F024
$490C $ Delays_L_2: GOTO SETFUN32EEE
$490C $0012 ;math_double.ppas,164 ::
RETURN $4862 $0E01
$481C $ _delay_5500us: MOVLW 0X01
;Delays.pbas,43 :: sub procedure ;math_double.ppas,165 ::
Delay_5500us $4864 $6E03
;Delays.pbas,45 :: Delay_us(5500) MOVWF STACK_3, 0
$481C $0E08 ;math_double.ppas,166 ::
MOVLW 8 $4866 $6A02 CLRF
$481E $6E0B STACK_2, 0
MOVWF STACK_11, 0 ;math_double.ppas,167 ::
$4820 $0EFF $4868 $6A01 CLRF
MOVLW 255 STACK_1, 0
$4822 $6E0A ;math_double.ppas,168 ::
MOVWF STACK_10, 0 $486A $6A00 CLRF
$4824 $2E0B STACK_0, 0
DECFSZ STACK_11, F, 0 ;math_double.ppas,169 ::
$4826 $D001 BRA $486C $360A RLCF
$+2 STACK_10, F, 0
$4828 $D003 BRA ;math_double.ppas,170 ::
$+4 $486E $3202 RRCF
$482A $2E0A STACK_2, F, 0
DECFSZ STACK_10, F, 0 ;math_double.ppas,171 ::
$482C $D7FE BRA $4870 $ SETFUN32EEE:
$-1 ;math_double.ppas,172 ::
$482E $D7FA BRA $4870 $0EFF
$-5 MOVLW 0XFF
$4830 $0E1E ;math_double.ppas,173 ::
MOVLW 30 $4872 $ math_double_L_4:
$4832 $6E0A ;math_double.ppas,174 ::
MOVWF STACK_10, 0 $4872 $0012
$4834 $2E0A RETURN
DECFSZ STACK_10, F, 0 $4900 $ _fixsign32:
$4836 $D7FE BRA $4900 $0100
$-1 MOVLB 0
$4838 $ Delays_L_8: ;math_double.ppas,123 ::
$4838 $0012 ;math_double.ppas,127 ::
RETURN $4902 $AE0A
$48D6 $ _delay_50us: BTFSS STACK_10, 7, 0
;Delays.pbas,28 :: sub procedure ;math_double.ppas,128 ::
Delay_50us $4904 $9E02 BCF
;Delays.pbas,30 :: Delay_us(50) STACK_2, 7, 0
$48D6 $0E10 ;math_double.ppas,129 ::
MOVLW 16 $4906 $0E00
$48D8 $6E0A MOVLW 0
MOVWF STACK_10, 0 ;math_double.ppas,130 ::
$48DA $2E0A $4908 $ math_double_L_2:
DECFSZ STACK_10, F, 0 ;math_double.ppas,131 ::
$48DC $D7FE BRA $4908 $0012
$-1 RETURN
$48DE $0000 NOP $4874 $ _setfov32:
$48E0 $ Delays_L_5: $4874 $0100
$48E0 $0012 MOVLB 0
RETURN ;math_double.ppas,86 ::
$4858 $ _setfun32: ;math_double.ppas,94 ::
$4858 $0100 $4876 $820B BSF
MOVLB 0 STACK_11, FOV, 0

Appendix F F-1
;math_double.ppas,95 :: $352C $1415
$4878 $AE0B ANDWF lcd_dataport_address, 0, 0
BTFSS STACK_11, SAT, 0 $352E $6EE9
;math_double.ppas,97 :: MOVWF FSR0L, 0
$487A $EF45 F024 ;Lcd.ppas,19 ::
GOTO SETFOV32EEE $3530 $C016 F000
;math_double.ppas,98 :: MOVFF lcd_dataport_address+1, STACK_0
$487E $6803 SETF $3534 $C000 FFEA
STACK_3, 0 MOVFF STACK_0, FSR0H
;math_double.ppas,99 :: ;Lcd.ppas,20 ::
$4880 $6802 SETF $3538 $0EFF
STACK_2, 0 MOVLW 255
;math_double.ppas,100 :: $353A $1417
$4882 $6801 SETF ANDWF lcd_ctrlport_address, 0, 0
STACK_1, 0 $353C $6EE1
;math_double.ppas,101 :: MOVWF FSR1L, 0
$4884 $6800 SETF ;Lcd.ppas,21 ::
STACK_0, 0 $353E $C018 F000
;math_double.ppas,102 :: MOVFF lcd_ctrlport_address+1, STACK_0
$4886 $360A RLCF $3542 $C000 FFE2
STACK_10, F, 0 MOVFF STACK_0, FSR1H
;math_double.ppas,103 :: ;Lcd.ppas,23 ::
$4888 $3202 RRCF $3546 $1C19
STACK_2, F, 0 COMF lcd____menable, 0, 0
;math_double.ppas,104 :: $3548 $6E00
$488A $ SETFOV32EEE: MOVWF STACK_0, 0
;math_double.ppas,105 :: $354A $5000
$488A $0EFF MOVF STACK_0, 0, 0
MOVLW 0XFF $354C $16E7
;math_double.ppas,106 :: ANDWF INDF1, 1, 0
$488C $ math_double_L_0: ;Lcd.ppas,24 ::
;math_double.ppas,107 :: $354E $1C1A
$488C $0012 COMF lcd____mrs, 0, 0
RETURN $3550 $6E00
$48B6 $ _res032: MOVWF STACK_0, 0
$48B6 $0100 $3552 $5000
MOVLB 0 MOVF STACK_0, 0, 0
;math_double.ppas,135 :: $3554 $16E7
;math_double.ppas,141 :: ANDWF INDF1, 1, 0
$48B8 $6A02 CLRF ;Lcd.ppas,25 ::
STACK_2, 0 $3556 $501C
;math_double.ppas,142 :: MOVF lcd____mdb6, 0, 0
$48BA $6A01 CLRF $3558 $101B
STACK_1, 0 IORWF lcd____mdb7, 0, 0
;math_double.ppas,143 :: $355A $6E00
$48BC $6A00 CLRF MOVWF STACK_0, 0
STACK_0, 0 $355C $501D
;math_double.ppas,144 :: MOVF lcd____mdb5, 0, 0
$48BE $6A08 CLRF $355E $1200
STACK_8, 0 IORWF STACK_0, 1, 0
;math_double.ppas,145 :: $3560 $501E
$48C0 $6A03 CLRF MOVF lcd____mdb4, 0, 0
STACK_3, 0 $3562 $1200
;math_double.ppas,146 :: IORWF STACK_0, 1, 0
$48C2 $0E00 $3564 $1E00
MOVLW 0 COMF STACK_0, 1, 0
;math_double.ppas,147 :: $3566 $5000
$48C4 $ math_double_L_3: MOVF STACK_0, 0, 0
;math_double.ppas,148 :: $3568 $16EF
$48C4 $0012 ANDWF INDF0, 1, 0
RETURN ;Lcd.ppas,27 ::
$352A $ _lcd_cmd: $356A $6A01 CLRF
;Lcd.ppas,17 :: STACK_1, 0
;Lcd.ppas,18 :: $356C $0103
$352A $0EFF MOVLB 3
MOVLW 255

Appendix F F-2
$356E $BFDA $35A0 $2A01 INCF
BTFSC FARG_Lcd_Cmd, 7, 1 STACK_1, 1, 0
$3570 $2A01 INCF $35A2 $5001
STACK_1, 1, 0 MOVF STACK_1, 0, 0
$3572 $5001 $35A4 $0A01
MOVF STACK_1, 0, 0 XORLW 1
$3574 $0A01 $35A6 $E102 BNZ
XORLW 1 Lcd_L_11
$3576 $E102 BNZ $35A8 $ Lcd_L_10:
Lcd_L_2 ;Lcd.ppas,34 ::
$3578 $ Lcd_L_1: $35A8 $501E
;Lcd.ppas,28 :: MOVF lcd____mdb4, 0, 0
$3578 $501B $35AA $12EF
MOVF lcd____mdb7, 0, 0 IORWF INDF0, 1, 0
$357A $12EF $35AC $ Lcd_L_11:
IORWF INDF0, 1, 0 $35AC $ Lcd_L_12:
$357C $ Lcd_L_2: ;Lcd.ppas,36 ::
$357C $ Lcd_L_3: $35AC $501F
;Lcd.ppas,29 :: MOVF lcd_lcdcmd_status, 0, 0
$357C $6A01 CLRF $35AE $0A01
STACK_1, 0 XORLW 1
$357E $BDDA $35B0 $E105 BNZ
BTFSC FARG_Lcd_Cmd, 6, 1 Lcd_L_14
$3580 $2A01 INCF $35B2 $ Lcd_L_13:
STACK_1, 1, 0 ;Lcd.ppas,37 ::
$3582 $5001 $35B2 $1C1A
MOVF STACK_1, 0, 0 COMF lcd____mrs, 0, 0
$3584 $0A01 $35B4 $6E00
XORLW 1 MOVWF STACK_0, 0
$3586 $E102 BNZ $35B6 $5000
Lcd_L_5 MOVF STACK_0, 0, 0
$3588 $ Lcd_L_4: $35B8 $16E7
;Lcd.ppas,30 :: ANDWF INDF1, 1, 0
$3588 $501C $35BA $D003 BRA
MOVF lcd____mdb6, 0, 0 Lcd_L_15
$358A $12EF ;Lcd.ppas,38 ::
IORWF INDF0, 1, 0 $35BC $ Lcd_L_14:
$358C $ Lcd_L_5: ;Lcd.ppas,39 ::
$358C $ Lcd_L_6: $35BC $0103
;Lcd.ppas,31 :: MOVLB 3
$358C $6A01 CLRF $35BE $501A
STACK_1, 0 MOVF lcd____mrs, 0, 0
$358E $BBDA $35C0 $12E7
BTFSC FARG_Lcd_Cmd, 5, 1 IORWF INDF1, 1, 0
$3590 $2A01 INCF $35C2 $ Lcd_L_15:
STACK_1, 1, 0 ;Lcd.ppas,41 ::
$3592 $5001 $35C2 $5019
MOVF STACK_1, 0, 0 MOVF lcd____menable, 0, 0
$3594 $0A01 $35C4 $12E7
XORLW 1 IORWF INDF1, 1, 0
$3596 $E102 BNZ ;Lcd.ppas,43 ::
Lcd_L_8 $35C6 $EC85 F024 CALL
$3598 $ Lcd_L_7: _delay_1us
;Lcd.ppas,32 :: ;Lcd.ppas,45 ::
$3598 $501D $35CA $1C19
MOVF lcd____mdb5, 0, 0 COMF lcd____menable, 0, 0
$359A $12EF $35CC $6E00
IORWF INDF0, 1, 0 MOVWF STACK_0, 0
$359C $ Lcd_L_8: $35CE $5000
$359C $ Lcd_L_9: MOVF STACK_0, 0, 0
;Lcd.ppas,33 :: $35D0 $16E7
$359C $6A01 CLRF ANDWF INDF1, 1, 0
STACK_1, 0 ;Lcd.ppas,46 ::
$359E $B9DA $35D2 $1C1A
BTFSC FARG_Lcd_Cmd, 4, 1 COMF lcd____mrs, 0, 0

Appendix F F-3
$35D4 $6E00 $360C $501C
MOVWF STACK_0, 0 MOVF lcd____mdb6, 0, 0
$35D6 $5000 $360E $12EF
MOVF STACK_0, 0, 0 IORWF INDF0, 1, 0
$35D8 $16E7 $3610 $ Lcd_L_20:
ANDWF INDF1, 1, 0 $3610 $ Lcd_L_21:
;Lcd.ppas,47 :: ;Lcd.ppas,53 ::
$35DA $501C $3610 $6A01 CLRF
MOVF lcd____mdb6, 0, 0 STACK_1, 0
$35DC $101B $3612 $B3DA
IORWF lcd____mdb7, 0, 0 BTFSC FARG_Lcd_Cmd, 1, 1
$35DE $6E00 $3614 $2A01 INCF
MOVWF STACK_0, 0 STACK_1, 1, 0
$35E0 $501D $3616 $5001
MOVF lcd____mdb5, 0, 0 MOVF STACK_1, 0, 0
$35E2 $1200 $3618 $0A01
IORWF STACK_0, 1, 0 XORLW 1
$35E4 $501E $361A $E102 BNZ
MOVF lcd____mdb4, 0, 0 Lcd_L_23
$35E6 $1200 $361C $ Lcd_L_22:
IORWF STACK_0, 1, 0 ;Lcd.ppas,54 ::
$35E8 $1E00 $361C $501D
COMF STACK_0, 1, 0 MOVF lcd____mdb5, 0, 0
$35EA $5000 $361E $12EF
MOVF STACK_0, 0, 0 IORWF INDF0, 1, 0
$35EC $16EF $3620 $ Lcd_L_23:
ANDWF INDF0, 1, 0 $3620 $ Lcd_L_24:
;Lcd.ppas,49 :: ;Lcd.ppas,55 ::
$35EE $6A01 CLRF $3620 $0E01
STACK_1, 0 MOVLW 1
$35F0 $0103 $3622 $15DA
MOVLB 3 ANDWF FARG_Lcd_Cmd, 0, 1
$35F2 $B7DA $3624 $6E01
BTFSC FARG_Lcd_Cmd, 3, 1 MOVWF STACK_1, 0
$35F4 $2A01 INCF $3626 $5001
STACK_1, 1, 0 MOVF STACK_1, 0, 0
$35F6 $5001 $3628 $0A01
MOVF STACK_1, 0, 0 XORLW 1
$35F8 $0A01 $362A $E102 BNZ
XORLW 1 Lcd_L_26
$35FA $E102 BNZ $362C $ Lcd_L_25:
Lcd_L_17 ;Lcd.ppas,56 ::
$35FC $ Lcd_L_16: $362C $501E
;Lcd.ppas,50 :: MOVF lcd____mdb4, 0, 0
$35FC $501B $362E $12EF
MOVF lcd____mdb7, 0, 0 IORWF INDF0, 1, 0
$35FE $12EF $3630 $ Lcd_L_26:
IORWF INDF0, 1, 0 $3630 $ Lcd_L_27:
$3600 $ Lcd_L_17: ;Lcd.ppas,58 ::
$3600 $ Lcd_L_18: $3630 $501F
;Lcd.ppas,51 :: MOVF lcd_lcdcmd_status, 0, 0
$3600 $6A01 CLRF $3632 $0A01
STACK_1, 0 XORLW 1
$3602 $B5DA $3634 $E105 BNZ
BTFSC FARG_Lcd_Cmd, 2, 1 Lcd_L_29
$3604 $2A01 INCF $3636 $ Lcd_L_28:
STACK_1, 1, 0 ;Lcd.ppas,59 ::
$3606 $5001 $3636 $1C1A
MOVF STACK_1, 0, 0 COMF lcd____mrs, 0, 0
$3608 $0A01 $3638 $6E00
XORLW 1 MOVWF STACK_0, 0
$360A $E102 BNZ $363A $5000
Lcd_L_20 MOVF STACK_0, 0, 0
$360C $ Lcd_L_19: $363C $16E7
;Lcd.ppas,52 :: ANDWF INDF1, 1, 0

Appendix F F-4
$363E $D003 BRA $31C8 $A20C
Lcd_L_30 BTFSS STACK_12, 1, 0
;Lcd.ppas,60 :: ;math_double.ppas,195 ::
$3640 $ Lcd_L_29: $31CA $EFCB F019
;Lcd.ppas,61 :: GOTO NRM40JPSETFOV32
$3640 $0103 ;math_double.ppas,196 ::
MOVLB 3 $31CE $ NRM4032:
$3642 $501A ;math_double.ppas,197 ::
MOVF lcd____mrs, 0, 0 $31CE $6A0E CLRF
$3644 $12E7 STACK_14, 0
IORWF INDF1, 1, 0 ;math_double.ppas,198 ::
$3646 $ Lcd_L_30: $31D0 $0E00
;Lcd.ppas,63 :: MOVLW 0X00
$3646 $0103 ;math_double.ppas,199 ::
MOVLB 3 $31D2 $6402
$3648 $5019 CPFSGT STACK_2, 0
MOVF lcd____menable, 0, 0 ;math_double.ppas,201 ::
$364A $12E7 $31D4 $EF3A F019
IORWF INDF1, 1, 0 GOTO NRM4032A
;Lcd.ppas,64 :: ;math_double.ppas,202 ::
$364C $EC85 F024 CALL $31D8 $ TNIB4032:
_delay_1us ;math_double.ppas,203 ::
;Lcd.ppas,65 :: $31D8 $0EF0
$3650 $1C19 MOVLW 0XF0
COMF lcd____menable, 0, 0 ;math_double.ppas,204 ::
$3652 $6E00 $31DA $1402
MOVWF STACK_0, 0 ANDWF STACK_2, W, 0
$3654 $5000 ;math_double.ppas,205 ::
MOVF STACK_0, 0, 0 $31DC $A4D8
$3656 $16E7 BTFSS STATUS, Z, 0
ANDWF INDF1, 1, 0 ;math_double.ppas,207 ::
;Lcd.ppas,67 :: $31DE $EF05 F019
$3658 $501F GOTO NORM4032
MOVF lcd_lcdcmd_status, 0, 0 ;math_double.ppas,208 ::
$365A $0A01 $31E2 $3A02
XORLW 1 SWAPF STACK_2, F, 0
$365C $E103 BNZ ;math_double.ppas,209 ::
Lcd_L_32 $31E4 $3801
$365E $ Lcd_L_31: SWAPF STACK_1, W, 0
;Lcd.ppas,68 :: ;math_double.ppas,210 ::
$365E $EC0E F024 CALL $31E6 $0B0F
_delay_5500us ANDLW 0X0F
$3662 $D002 BRA ;math_double.ppas,212 ::
Lcd_L_33 $31E8 $2602
;Lcd.ppas,69 :: ADDWF STACK_2, F, 0
$3664 $ Lcd_L_32: ;math_double.ppas,213 ::
;Lcd.ppas,70 :: $31EA $3801
$3664 $EC6B F024 CALL SWAPF STACK_1, W, 0
_delay_50us ;math_double.ppas,214 ::
$3668 $ Lcd_L_33: $31EC $0BF0
$3668 $ Lcd_L_0: ANDLW 0XF0
;Lcd.ppas,71 :: ;math_double.ppas,215 ::
$3668 $0012 $31EE $6E01
RETURN MOVWF STACK_1, 0
$31C0 $ _nrm4032: ;math_double.ppas,216 ::
$31C0 $0100 $31F0 $3800
MOVLB 0 SWAPF STACK_0, W, 0
;math_double.ppas,183 :: ;math_double.ppas,217 ::
;math_double.ppas,192 :: $31F2 $0B0F
$31C2 $B00C ANDLW 0X0F
BTFSC STACK_12, 0, 0 ;math_double.ppas,219 ::
;math_double.ppas,193 :: $31F4 $2601
$31C4 $EF23 F019 ADDWF STACK_1, F, 0
GOTO NRMRND4032 ;math_double.ppas,220 ::
;math_double.ppas,194 :: $31F6 $3800
SWAPF STACK_0, W, 0

Appendix F F-5
;math_double.ppas,221 :: $3226 $3601 RLCF
$31F8 $0BF0 STACK_1, F, 0
ANDLW 0XF0 ;math_double.ppas,248 ::
;math_double.ppas,222 :: $3228 $3602 RLCF
$31FA $6E00 STACK_2, F, 0
MOVWF STACK_0, 0 ;math_double.ppas,249 ::
;math_double.ppas,223 :: $322A $2A0E INCF
$31FC $3808 STACK_14, F, 0
SWAPF STACK_8, W, 0 ;math_double.ppas,250 ::
;math_double.ppas,224 :: $322C $BE02
$31FE $0B0F BTFSC STACK_2, 7, 0
ANDLW 0X0F ;math_double.ppas,251 ::
;math_double.ppas,226 :: $322E $EF1E F019
$3200 $2600 GOTO TNORMUN4032
ADDWF STACK_0, F, 0 ;math_double.ppas,252 ::
;math_double.ppas,227 :: $3232 $3608 RLCF
$3202 $3808 STACK_8, F, 0
SWAPF STACK_8, W, 0 ;math_double.ppas,253 ::
;math_double.ppas,228 :: $3234 $3600 RLCF
$3204 $0BF0 STACK_0, F, 0
ANDLW 0XF0 ;math_double.ppas,254 ::
;math_double.ppas,230 :: $3236 $3601 RLCF
$3206 $6E08 STACK_1, F, 0
MOVWF STACK_8, 0 ;math_double.ppas,255 ::
;math_double.ppas,232 :: $3238 $3602 RLCF
$3208 $840E BSF STACK_2, F, 0
STACK_14, 2, 0 ;math_double.ppas,257 ::
;math_double.ppas,233 :: $323A $2A0E INCF
$320A $ NORM4032: STACK_14, F, 0
;math_double.ppas,235 :: ;math_double.ppas,258 ::
$320A $90D8 BCF $323C $ TNORMUN4032:
STATUS, C, 0 ;math_double.ppas,259 ::
;math_double.ppas,236 :: $323C $500E
$320C $BE02 MOVF STACK_14, W, 0
BTFSC STACK_2, 7, 0 ;math_double.ppas,260 ::
;math_double.ppas,237 :: $323E $6403
$320E $EF1E F019 CPFSGT STACK_3, 0
GOTO TNORMUN4032 ;math_double.ppas,261 ::
;math_double.ppas,238 :: $3240 $EFBF F019
$3212 $3608 RLCF GOTO NRM40JPSETFUN32
STACK_8, F, 0 ;math_double.ppas,263 ::
;math_double.ppas,239 :: $3244 $5E03
$3214 $3600 RLCF SUBWF STACK_3, F, 0
STACK_0, F, 0 ;math_double.ppas,264 ::
;math_double.ppas,240 :: $3246 $ NRMRND4032:
$3216 $3601 RLCF ;math_double.ppas,265 ::
STACK_1, F, 0 $3246 $BC0B
;math_double.ppas,241 :: BTFSC STACK_11, RND, 0
$3218 $3602 RLCF ;math_double.ppas,266 ::
STACK_2, F, 0 $3248 $AE08
;math_double.ppas,242 :: BTFSS STACK_8, 7, 0
$321A $2A0E INCF ;math_double.ppas,267 ::
STACK_14, F, 0 $324A $EFC5 F019
;math_double.ppas,243 :: GOTO NRM40JPFIXSIGN32
$321C $BE02 ;math_double.ppas,268 ::
BTFSC STACK_2, 7, 0 $324E $80D8 BSF
;math_double.ppas,244 :: STATUS, C, 0
$321E $EF1E F019 ;math_double.ppas,269 ::
GOTO TNORMUN4032 $3250 $0E80
;math_double.ppas,245 :: MOVLW 0X80
$3222 $3608 RLCF ;math_double.ppas,270 ::
STACK_8, F, 0 $3252 $6408
;math_double.ppas,246 :: CPFSGT STACK_8, 0
$3224 $3600 RLCF ;math_double.ppas,271 ::
STACK_0, F, 0 $3254 $3000 RRCF
;math_double.ppas,247 :: STACK_0, W, 0

Appendix F F-6
;math_double.ppas,272 :: $328C $0EF0
$3256 $0E00 MOVLW 0XF0
MOVLW 0X00 ;math_double.ppas,298 ::
;math_double.ppas,273 :: $328E $1402
$3258 $2200 ANDWF STACK_2, W, 0
ADDWFC STACK_0, F, 0 ;math_double.ppas,299 ::
;math_double.ppas,274 :: $3290 $A4D8
$325A $2201 BTFSS STATUS, Z, 0
ADDWFC STACK_1, F, 0 ;math_double.ppas,300 ::
;math_double.ppas,276 :: $3292 $EF59 F019
$325C $2202 GOTO NORM4032A
ADDWFC STACK_2, F, 0 ;math_double.ppas,301 ::
;math_double.ppas,277 :: $3296 $3A02
$325E $A0D8 SWAPF STACK_2, F, 0
BTFSS STATUS, C, 0 ;math_double.ppas,302 ::
;math_double.ppas,278 :: $3298 $3801
$3260 $EFC5 F019 SWAPF STACK_1, W, 0
GOTO NRM40JPFIXSIGN32 ;math_double.ppas,303 ::
;math_double.ppas,279 :: $329A $0B0F
$3264 $3202 RRCF ANDLW 0X0F
STACK_2, F, 0 ;math_double.ppas,305 ::
;math_double.ppas,280 :: $329C $2602
$3266 $3201 RRCF ADDWF STACK_2, F, 0
STACK_1, F, 0 ;math_double.ppas,306 ::
;math_double.ppas,281 :: $329E $3801
$3268 $3200 RRCF SWAPF STACK_1, W, 0
STACK_0, F, 0 ;math_double.ppas,307 ::
;math_double.ppas,282 :: $32A0 $0BF0
$326A $4A03 ANDLW 0XF0
INFSNZ STACK_3, F, 0 ;math_double.ppas,308 ::
;math_double.ppas,283 :: $32A2 $6E01
$326C $EFCB F019 MOVWF STACK_1, 0
GOTO NRM40JPSETFOV32 ;math_double.ppas,309 ::
;math_double.ppas,285 :: ;Lcd.ppas,189 ::
$3270 $EFC5 F019 $313E $1C1B
GOTO NRM40JPFIXSIGN32 COMF lcd____mdb7, 0, 0
;math_double.ppas,286 :: $3140 $6E00
$3274 $ NRM4032A: MOVWF STACK_0, 0
;math_double.ppas,287 :: $3142 $5000
$3274 $C001 F002 MOVF STACK_0, 0, 0
MOVFF STACK_1, STACK_2 $3144 $16EF
;math_double.ppas,288 :: ANDWF INDF0, 1, 0
$3278 $C000 F001 ;Lcd.ppas,190 ::
MOVFF STACK_0, STACK_1 $3146 $501E
;math_double.ppas,289 :: MOVF lcd____mdb4, 0, 0
$327C $C008 F000 $3148 $12EF
MOVFF STACK_8, STACK_0 IORWF INDF0, 1, 0
;math_double.ppas,290 :: ;Lcd.ppas,191 ::
$3280 $6A08 CLRF $314A $5019
STACK_8, 0 MOVF lcd____menable, 0, 0
;math_double.ppas,291 :: _yy3, 0, 1
$3282 $0E00 $2330 $0A03
MOVLW 0X00 XORLW 3
;math_double.ppas,292 :: $2332 $E103 BNZ
$3284 $860E BSF SmartGlobe_L_146
STACK_14, 3, 0 $2334 $ SmartGlobe_L_145:
;math_double.ppas,293 :: ;SmartGlobe.pbas,205 :: cnt =
$3286 $6402 $4a
CPFSGT STACK_2, 0 $2334 $0E4A
;math_double.ppas,295 :: MOVLW 74
$3288 $EF71 F019 $2336 $6F1A
GOTO NRM4032B MOVWF _cnt, 1
;math_double.ppas,296 :: $2338 $D023 BRA
$328C $ TNIB4032A: SmartGlobe_L_147
;math_double.ppas,297 :: ;SmartGlobe.pbas,206 :: else
$233A $ SmartGlobe_L_146:

Appendix F F-7
;SmartGlobe.pbas,207 :: if yy3 ;SmartGlobe.pbas,217 :: cnt =
= 4 then 63
$233A $5119 $2364 $0E3F
MOVF _yy3, 0, 1 MOVLW 63
$233C $0A04 $2366 $6F1A
XORLW 4 MOVWF _cnt, 1
$233E $E103 BNZ $2368 $D00B BRA
SmartGlobe_L_149 SmartGlobe_L_159
$2340 $ SmartGlobe_L_148: ;SmartGlobe.pbas,218 :: else
;SmartGlobe.pbas,208 :: cnt = $236A $ SmartGlobe_L_158:
$4b ;SmartGlobe.pbas,219 :: if yy3
$2340 $0E4B = 8 then
MOVLW 75 $236A $5119
$2342 $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1 $236C $0A08
$2344 $D01D BRA XORLW 8
SmartGlobe_L_150 $236E $E103 BNZ
;SmartGlobe.pbas,209 :: else SmartGlobe_L_161
$2346 $ SmartGlobe_L_149: $2370 $ SmartGlobe_L_160:
;SmartGlobe.pbas,210 :: if yy3 ;SmartGlobe.pbas,220 :: cnt =
= 5 then 64
$2346 $5119 $2370 $0E40
MOVF _yy3, 0, 1 MOVLW 64
$2348 $0A05 $2372 $6F1A
XORLW 5 MOVWF _cnt, 1
$234A $E103 BNZ $2374 $D005 BRA
SmartGlobe_L_152 SmartGlobe_L_162
$234C $ SmartGlobe_L_151: ;SmartGlobe.pbas,221 :: else
;SmartGlobe.pbas,211 :: cnt = $2376 $ SmartGlobe_L_161:
$4c ;SmartGlobe.pbas,222 :: if yy3
$234C $0E4C = 9 then
MOVLW 76 $2376 $5119
$234E $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1 $2378 $0A09
$2350 $D017 BRA XORLW 9
SmartGlobe_L_153 $237A $E102 BNZ
;SmartGlobe.pbas,212 :: else SmartGlobe_L_164
$2352 $ SmartGlobe_L_152: $237C $ SmartGlobe_L_163:
;SmartGlobe.pbas,213 :: if yy3 ;SmartGlobe.pbas,223 :: cnt =
= 6 then 91
$2352 $5119 $237C $0E5B
MOVF _yy3, 0, 1 MOVLW 91
$2354 $0A06 $237E $6F1A
XORLW 6 MOVWF _cnt, 1
$2356 $E103 BNZ $2380 $ SmartGlobe_L_164:
SmartGlobe_L_155 ;SmartGlobe.pbas,224 :: end
$2358 $ SmartGlobe_L_154: if
;SmartGlobe.pbas,214 :: cnt = $2380 $ SmartGlobe_L_165:
53 ;SmartGlobe.pbas,225 :: end
$2358 $0E35 if
MOVLW 53 $2380 $ SmartGlobe_L_162:
$235A $6F1A ;SmartGlobe.pbas,226 :: end
MOVWF _cnt, 1 if
$235C $D011 BRA $2380 $ SmartGlobe_L_159:
SmartGlobe_L_156 ;SmartGlobe.pbas,227 :: end
;SmartGlobe.pbas,215 :: else if
$235E $ SmartGlobe_L_155: $2380 $ SmartGlobe_L_156:
;SmartGlobe.pbas,216 :: if yy3 ;SmartGlobe.pbas,228 :: end
= 7 then if
$235E $5119 $2380 $ SmartGlobe_L_153:
MOVF _yy3, 0, 1 ;SmartGlobe.pbas,229 :: end
$2360 $0A07 if
XORLW 7 $2380 $ SmartGlobe_L_150:
$2362 $E103 BNZ ;SmartGlobe.pbas,230 :: end
SmartGlobe_L_158 if
$2364 $ SmartGlobe_L_157: $2380 $ SmartGlobe_L_147:

Appendix F F-8
;SmartGlobe.pbas,231 :: end $23A4 $5119
if MOVF _yy3, 0, 1
$2380 $ SmartGlobe_L_144: $23A6 $0A02
;SmartGlobe.pbas,232 :: end XORLW 2
if ;SmartGlobe.pbas,248 :: cnt =
$2380 $ SmartGlobe_L_141: $4d
;SmartGlobe.pbas,233 :: end $23B6 $0E4D
if MOVLW 77
$2380 $ SmartGlobe_L_138: $23B8 $6F1A
$2380 $D144 BRA MOVWF _cnt, 1
SmartGlobe_L_135 $23BA $D023 BRA
;SmartGlobe.pbas,235 :: else SmartGlobe_L_180
$2382 $ SmartGlobe_L_134: ;SmartGlobe.pbas,249 :: else
;SmartGlobe.pbas,236 :: if kp $23BC $ SmartGlobe_L_179:
= 54 then ;SmartGlobe.pbas,250 :: if yy3
$2382 $0100 = 4 then
MOVLB 0 $23BC $5119
$2384 $51CA MOVF _yy3, 0, 1
MOVF _kp, 0, 1 $23BE $0A04
$2386 $0A36 XORLW 4
XORLW 54 $23C0 $E103 BNZ
$2388 $E13D BNZ SmartGlobe_L_182
SmartGlobe_L_167 $23C2 $ SmartGlobe_L_181:
$238A $ SmartGlobe_L_166: ;SmartGlobe.pbas,251 :: cnt =
;SmartGlobe.pbas,238 :: if yy3 $4e
= 0 then $23C2 $0E4E
$238A $0103 MOVLW 78
MOVLB 3 $23C4 $6F1A
$238C $5119 MOVWF _cnt, 1
MOVF _yy3, 0, 1 $23C6 $D01D BRA
$238E $0A00 SmartGlobe_L_183
XORLW 0 ;SmartGlobe.pbas,252 :: else
$2390 $E103 BNZ $23C8 $ SmartGlobe_L_182:
SmartGlobe_L_170 ;SmartGlobe.pbas,253 :: if yy3
$2392 $ SmartGlobe_L_169: = 5 then
;SmartGlobe.pbas,239 :: cnt = $23C8 $5119
$6d MOVF _yy3, 0, 1
$2392 $0E6D $23CA $0A05
MOVLW 109 XORLW 5
$2394 $6F1A $23CC $E103 BNZ
MOVWF _cnt, 1 SmartGlobe_L_185
$2396 $D035 BRA $23CE $ SmartGlobe_L_184:
SmartGlobe_L_171 ;SmartGlobe.pbas,254 :: cnt =
;SmartGlobe.pbas,240 :: else $4f
$2398 $ SmartGlobe_L_170: $23CE $0E4F
;SmartGlobe.pbas,241 :: if yy3 MOVLW 79
= 1 then $23D0 $6F1A
$2398 $5119 MOVWF _cnt, 1
MOVF _yy3, 0, 1 $23D2 $D017 BRA
$239A $0A01 SmartGlobe_L_186
XORLW 1 ;SmartGlobe.pbas,255 :: else
$239C $E103 BNZ $23D4 $ SmartGlobe_L_185:
SmartGlobe_L_173 ;SmartGlobe.pbas,256 :: if yy3
$239E $ SmartGlobe_L_172: = 6 then
;SmartGlobe.pbas,242 :: cnt = $23D4 $5119
$6e MOVF _yy3, 0, 1
$239E $0E6E $23D6 $0A06
MOVLW 110 XORLW 6
$23A0 $6F1A $23D8 $E103 BNZ
MOVWF _cnt, 1 SmartGlobe_L_188
$23A2 $D02F BRA $23DA $ SmartGlobe_L_187:
SmartGlobe_L_174 ;SmartGlobe.pbas,257 :: cnt =
;SmartGlobe.pbas,243 :: else 54
$23A4 $ SmartGlobe_L_173: $23DA $0E36
;SmartGlobe.pbas,244 :: if yy3 MOVLW 54
= 2 then

Appendix F F-9
$23DC $6F1A ;SmartGlobe.pbas,269 :: end
MOVWF _cnt, 1 if
$23DE $D011 BRA $2402 $ SmartGlobe_L_192:
SmartGlobe_L_189 ;SmartGlobe.pbas,270 :: end
;SmartGlobe.pbas,258 :: else if
$23E0 $ SmartGlobe_L_188: $2402 $ SmartGlobe_L_189:
;SmartGlobe.pbas,259 :: if yy3 ;SmartGlobe.pbas,271 :: end
= 7 then if
$23E0 $5119 $2402 $ SmartGlobe_L_186:
MOVF _yy3, 0, 1 ;SmartGlobe.pbas,272 :: end
$23E2 $0A07 if
XORLW 7 $2402 $ SmartGlobe_L_183:
$23E4 $E103 BNZ ;SmartGlobe.pbas,273 :: end
SmartGlobe_L_191 if
$23E6 $ SmartGlobe_L_190: $2402 $ SmartGlobe_L_180:
;SmartGlobe.pbas,260 :: cnt = ;SmartGlobe.pbas,274 :: end
92 if
$23E6 $0E5C $2402 $ SmartGlobe_L_177:
MOVLW 92 ;SmartGlobe.pbas,275 :: end
$23E8 $6F1A if
MOVWF _cnt, 1 $2402 $ SmartGlobe_L_174:
$23EA $D00B BRA ;SmartGlobe.pbas,276 :: end
SmartGlobe_L_192 if
;SmartGlobe.pbas,261 :: else $2402 $ SmartGlobe_L_171:
$23EC $ SmartGlobe_L_191: $2402 $D103 BRA
;SmartGlobe.pbas,262 :: if yy3 SmartGlobe_L_168
= 8 then ;SmartGlobe.pbas,278 :: else
$23EC $5119 $2404 $ SmartGlobe_L_167:
MOVF _yy3, 0, 1 ;SmartGlobe.pbas,279 :: if kp
$23EE $0A08 = 55 then
XORLW 8 $2404 $0100
$23F0 $E103 BNZ MOVLB 0
SmartGlobe_L_194 $2406 $51CA
$23F2 $ SmartGlobe_L_193: MOVF _kp, 0, 1
;SmartGlobe.pbas,263 :: cnt = $2408 $0A37
93 XORLW 55
$23F2 $0E5D $240A $E13D BNZ
MOVLW 93 SmartGlobe_L_200
$23F4 $6F1A $240C $ SmartGlobe_L_199:
MOVWF _cnt, 1 ;SmartGlobe.pbas,281 :: if yy3
$23F6 $D005 BRA = 0 then
SmartGlobe_L_195 $240C $0103
;SmartGlobe.pbas,264 :: else MOVLB 3
$23F8 $ SmartGlobe_L_194: $240E $5119
;SmartGlobe.pbas,265 :: if yy3 MOVF _yy3, 0, 1
= 9 then $2410 $0A00
$23F8 $5119 XORLW 0
MOVF _yy3, 0, 1 $2412 $E103 BNZ
$23FA $0A09 SmartGlobe_L_203
XORLW 9 $2414 $ SmartGlobe_L_202:
$23FC $E102 BNZ ;SmartGlobe.pbas,282 :: cnt =
SmartGlobe_L_197 $70
$23FE $ SmartGlobe_L_196: $2414 $0E70
;SmartGlobe.pbas,266 :: cnt = MOVLW 112
94 $2416 $6F1A
$23FE $0E5E MOVWF _cnt, 1
MOVLW 94 $2418 $D035 BRA
$2400 $6F1A SmartGlobe_L_204
MOVWF _cnt, 1 ;SmartGlobe.pbas,283 :: else
$2402 $ SmartGlobe_L_197: $241A $ SmartGlobe_L_203:
;SmartGlobe.pbas,267 :: end ;SmartGlobe.pbas,284 :: if yy3
if = 1 then
$2402 $ SmartGlobe_L_198: $241A $5119
;SmartGlobe.pbas,268 :: end MOVF _yy3, 0, 1
if $241C $0A01
$2402 $ SmartGlobe_L_195: XORLW 1

Appendix F F-10
$241E $E103 BNZ $2448 $D01D BRA
SmartGlobe_L_206 SmartGlobe_L_216
$2420 $ SmartGlobe_L_205: ;SmartGlobe.pbas,295 :: else
;SmartGlobe.pbas,285 :: cnt = $244A $ SmartGlobe_L_215:
$71 ;SmartGlobe.pbas,296 :: if yy3
$2420 $0E71 = 5 then
MOVLW 113 $244A $5119
$2422 $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1 $244C $0A05
$2424 $D02F BRA XORLW 5
SmartGlobe_L_207 $244E $E103 BNZ
;SmartGlobe.pbas,286 :: else SmartGlobe_L_218
$2426 $ SmartGlobe_L_206: $2450 $ SmartGlobe_L_217:
;SmartGlobe.pbas,287 :: if yy3 ;SmartGlobe.pbas,297 :: cnt =
= 2 then $51
$2426 $5119 $2450 $0E51
MOVF _yy3, 0, 1 MOVLW 81
$2428 $0A02 $2452 $6F1A
XORLW 2 MOVWF _cnt, 1
$242A $E103 BNZ $2454 $D017 BRA
SmartGlobe_L_209 SmartGlobe_L_219
$242C $ SmartGlobe_L_208: ;SmartGlobe.pbas,298 :: else
;SmartGlobe.pbas,288 :: cnt = $2456 $ SmartGlobe_L_218:
$72 ;SmartGlobe.pbas,299 :: if yy3
$242C $0E72 = 6 then
MOVLW 114 $2456 $5119
$242E $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1 $2458 $0A06
$2430 $D029 BRA XORLW 6
SmartGlobe_L_210 $245A $E103 BNZ
;SmartGlobe.pbas,289 :: else SmartGlobe_L_221
$2432 $ SmartGlobe_L_209: $245C $ SmartGlobe_L_220:
;SmartGlobe.pbas,290 :: if yy3 ;SmartGlobe.pbas,300 :: cnt =
= 3 then $52
$2432 $5119 $245C $0E52
MOVF _yy3, 0, 1 MOVLW 82
$2434 $0A03 $245E $6F1A
XORLW 3 MOVWF _cnt, 1
$2436 $E103 BNZ $2460 $D011 BRA
SmartGlobe_L_212 SmartGlobe_L_222
$2438 $ SmartGlobe_L_211: ;SmartGlobe.pbas,301 :: else
;SmartGlobe.pbas,291 :: cnt = $2462 $ SmartGlobe_L_221:
$73 ;SmartGlobe.pbas,302 :: if yy3
$2438 $0E73 = 7 then
MOVLW 115 $2462 $5119
$243A $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1 $2464 $0A07
$243C $D023 BRA XORLW 7
SmartGlobe_L_213 $2466 $E103 BNZ
;SmartGlobe.pbas,292 :: else SmartGlobe_L_224
$243E $ SmartGlobe_L_212: $2468 $ SmartGlobe_L_223:
;SmartGlobe.pbas,293 :: if yy3 ;SmartGlobe.pbas,303 :: cnt =
= 4 then $53
$243E $5119 $2468 $0E53
MOVF _yy3, 0, 1 MOVLW 83
$2440 $0A04 $246A $6F1A
XORLW 4 MOVWF _cnt, 1
$2442 $E103 BNZ $246C $D00B BRA
SmartGlobe_L_215 SmartGlobe_L_225
$2444 $ SmartGlobe_L_214: ;SmartGlobe.pbas,304 :: else
;SmartGlobe.pbas,294 :: cnt = $246E $ SmartGlobe_L_224:
$50 ;SmartGlobe.pbas,305 :: if yy3
$2444 $0E50 = 8 then
MOVLW 80 $246E $5119
$2446 $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1

Appendix F F-11
$2470 $0A08 ;SmartGlobe.pbas,398 :: end
XORLW 8 if
$2472 $E103 BNZ $2588 $ SmartGlobe_L_291:
SmartGlobe_L_227 ;SmartGlobe.pbas,399 :: end
$2474 $ SmartGlobe_L_226: if
;SmartGlobe.pbas,306 :: cnt = $2588 $ SmartGlobe_L_288:
55 ;SmartGlobe.pbas,400 :: end
$2474 $0E37 if
MOVLW 55 $2588 $ SmartGlobe_L_285:
$2476 $6F1A ;SmartGlobe.pbas,401 :: end
MOVWF _cnt, 1 if
$2478 $D005 BRA $2588 $ SmartGlobe_L_282:
SmartGlobe_L_228 ;SmartGlobe.pbas,402 :: end
;SmartGlobe.pbas,307 :: else if
$247A $ SmartGlobe_L_227: $2588 $ SmartGlobe_L_279:
;SmartGlobe.pbas,308 :: if yy3 ;SmartGlobe.pbas,403 :: end
= 9 then if
$247A $5119 $2588 $ SmartGlobe_L_276:
MOVF _yy3, 0, 1 ;SmartGlobe.pbas,404 :: end
$247C $0A09 if
XORLW 9 $2588 $ SmartGlobe_L_273:
$247E $E102 BNZ ;SmartGlobe.pbas,405 :: end
SmartGlobe_L_230 if
$2480 $ SmartGlobe_L_229: $2588 $ SmartGlobe_L_270:
;SmartGlobe.pbas,309 :: cnt = $2588 $D040 BRA
95 SmartGlobe_L_267
$2480 $0E5F ;SmartGlobe.pbas,407 :: else
MOVLW 95 $258A $ SmartGlobe_L_266:
$2482 $6F1A ;SmartGlobe.pbas,408 :: if kp
MOVWF _cnt, 1 = 48 then
$2484 $ SmartGlobe_L_230: $258A $0100
;SmartGlobe.pbas,310 :: end MOVLB 0
if $258C $51CA
$2484 $ SmartGlobe_L_231: MOVF _kp, 0, 1
;SmartGlobe.pbas,311 :: end $258E $0A30
if XORLW 48
$2484 $ SmartGlobe_L_228: $2590 $E13C BNZ
;SmartGlobe.pbas,312 :: end SmartGlobe_L_299
if $2592 $ SmartGlobe_L_298:
;SmartGlobe.pbas,352 :: cnt = ;SmartGlobe.pbas,410 :: if yy3
124 = 0 then
SmartGlobe_L_294 $2592 $0103
;SmartGlobe.pbas,393 :: else MOVLB 3
$257E $ SmartGlobe_L_293: $2594 $5119
;SmartGlobe.pbas,394 :: if yy3 MOVF _yy3, 0, 1
= 9 then $2596 $0A00
$257E $5119 XORLW 0
MOVF _yy3, 0, 1 $2598 $E103 BNZ
$2580 $0A09 SmartGlobe_L_302
XORLW 9 $259A $ SmartGlobe_L_301:
$2582 $E102 BNZ ;SmartGlobe.pbas,411 :: cnt =
SmartGlobe_L_296 32
$2584 $ SmartGlobe_L_295: $259A $0E20
;SmartGlobe.pbas,395 :: cnt = MOVLW 32
125 $259C $6F1A
$2584 $0E7D MOVWF _cnt, 1
MOVLW 125 $259E $D035 BRA
$2586 $6F1A SmartGlobe_L_303
MOVWF _cnt, 1 ;SmartGlobe.pbas,412 :: else
$2588 $ SmartGlobe_L_296: $25A0 $ SmartGlobe_L_302:
;SmartGlobe.pbas,396 :: end ;SmartGlobe.pbas,413 :: if yy3
if = 1 then
$2588 $ SmartGlobe_L_297: $25A0 $5119
;SmartGlobe.pbas,397 :: end MOVF _yy3, 0, 1
if $25A2 $0A01
$2588 $ SmartGlobe_L_294: XORLW 1

Appendix F F-12
$25A4 $E103 BNZ $25CE $D01D BRA
SmartGlobe_L_305 SmartGlobe_L_315
$25A6 $ SmartGlobe_L_304: ;SmartGlobe.pbas,424 :: else
;SmartGlobe.pbas,414 :: cnt = $25D0 $ SmartGlobe_L_314:
48 ;SmartGlobe.pbas,425 :: if yy3
$25A6 $0E30 = 5 then
MOVLW 48 $25D0 $5119
$25A8 $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1 $25D2 $0A05
$25AA $D02F BRA XORLW 5
SmartGlobe_L_306 $25D4 $E103 BNZ
;SmartGlobe.pbas,415 :: else SmartGlobe_L_317
$25AC $ SmartGlobe_L_305: $25D6 $ SmartGlobe_L_316:
;SmartGlobe.pbas,416 :: if yy3 ;SmartGlobe.pbas,426 :: cnt =
= 2 then 48
$25AC $5119 $25D6 $0E30
MOVF _yy3, 0, 1 MOVLW 48
$25AE $0A02 $25D8 $6F1A
XORLW 2 MOVWF _cnt, 1
$25B0 $E103 BNZ $25DA $D017 BRA
SmartGlobe_L_308 SmartGlobe_L_318
$25B2 $ SmartGlobe_L_307: ;SmartGlobe.pbas,427 :: else
;SmartGlobe.pbas,417 :: cnt = $25DC $ SmartGlobe_L_317:
32 ;SmartGlobe.pbas,428 :: if yy3
$25B2 $0E20 = 6 then
MOVLW 32 $25DC $5119
$25B4 $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1 $25DE $0A06
$25B6 $D029 BRA XORLW 6
SmartGlobe_L_309 $25E0 $E103 BNZ
;SmartGlobe.pbas,418 :: else SmartGlobe_L_320
$25B8 $ SmartGlobe_L_308: $25E2 $ SmartGlobe_L_319:
;SmartGlobe.pbas,419 :: if yy3 ;SmartGlobe.pbas,429 :: cnt =
= 3 then 32
$25B8 $5119 $25E2 $0E20
MOVF _yy3, 0, 1 MOVLW 32
$25BA $0A03 $25E4 $6F1A
XORLW 3 MOVWF _cnt, 1
$25BC $E103 BNZ $25E6 $D011 BRA
SmartGlobe_L_311 SmartGlobe_L_321
$25BE $ SmartGlobe_L_310: ;SmartGlobe.pbas,430 :: else
;SmartGlobe.pbas,420 :: cnt = $25E8 $ SmartGlobe_L_320:
48 ;SmartGlobe.pbas,431 :: if yy3
$25BE $0E30 = 7 then
MOVLW 48 $25E8 $5119
$25C0 $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1 $25EA $0A07
$25C2 $D023 BRA XORLW 7
SmartGlobe_L_312 $25EC $E103 BNZ
;SmartGlobe.pbas,421 :: else SmartGlobe_L_323
$25C4 $ SmartGlobe_L_311: $25EE $ SmartGlobe_L_322:
;SmartGlobe.pbas,422 :: if yy3 ;SmartGlobe.pbas,432 :: cnt =
= 4 then 48
$25C4 $5119 $25EE $0E30
MOVF _yy3, 0, 1 MOVLW 48
$25C6 $0A04 $25F0 $6F1A
XORLW 4 MOVWF _cnt, 1
$25C8 $E103 BNZ $25F2 $D00B BRA
SmartGlobe_L_314 SmartGlobe_L_324
$25CA $ SmartGlobe_L_313: ;SmartGlobe.pbas,433 :: else
;SmartGlobe.pbas,423 :: cnt = $25F4 $ SmartGlobe_L_323:
32 ;SmartGlobe.pbas,434 :: if yy3
$25CA $0E20 = 8 then
MOVLW 32 $25F4 $5119
$25CC $6F1A MOVF _yy3, 0, 1
MOVWF _cnt, 1

Appendix F F-13
$25F6 $0A08 ;SmartGlobe.pbas,452 :: end
XORLW 8 if
$25F8 $E103 BNZ $260A $ SmartGlobe_L_267:
SmartGlobe_L_326 ;SmartGlobe.pbas,453 :: end
$25FA $ SmartGlobe_L_325: if
;SmartGlobe.pbas,435 :: cnt = $260A $ SmartGlobe_L_234:
32 ;SmartGlobe.pbas,454 :: end
$25FA $0E20 if
MOVLW 32 $260A $ SmartGlobe_L_201:
$25FC $6F1A ;SmartGlobe.pbas,455 :: end
MOVWF _cnt, 1 if
$25FE $D005 BRA $260A $ SmartGlobe_L_168:
SmartGlobe_L_327 ;SmartGlobe.pbas,456 :: end
;SmartGlobe.pbas,436 :: else if
$2600 $ SmartGlobe_L_326: $260A $ SmartGlobe_L_135:
;SmartGlobe.pbas,437 :: if yy3 ;SmartGlobe.pbas,457 :: end
= 9 then if
$2600 $5119 $260A $ SmartGlobe_L_102:
MOVF _yy3, 0, 1 ;SmartGlobe.pbas,458 :: end
$2602 $0A09 if
XORLW 9 $260A $ SmartGlobe_L_69:
$2604 $E102 BNZ ;SmartGlobe.pbas,459 :: end
SmartGlobe_L_329 if
$2606 $ SmartGlobe_L_328: $260A $ SmartGlobe_L_36:
;SmartGlobe.pbas,438 :: cnt = ;SmartGlobe.pbas,460 :: end
48 if
$2606 $0E30 $260A $ SmartGlobe_L_3:
MOVLW 48 $260A $ SmartGlobe_L_0:
$2608 $6F1A $260A $0103
MOVWF _cnt, 1 MOVLB 3
$260A $ SmartGlobe_L_329: $260C $0012
;SmartGlobe.pbas,439 :: end RETURN
if $3EEA $ _outdata:
$260A $ SmartGlobe_L_330: ;SmartGlobe.pbas,822 :: sub
;SmartGlobe.pbas,440 :: end procedure outdata
if ;SmartGlobe.pbas,824 :: if tup
$260A $ SmartGlobe_L_327: = 1 then
;SmartGlobe.pbas,441 :: end $3EEA $0103
if MOVLB 3
$260A $ SmartGlobe_L_324: $3EEC $511B
;SmartGlobe.pbas,442 :: end MOVF _tup, 0, 1
if $3EEE $0A01
$260A $ SmartGlobe_L_321: XORLW 1
;SmartGlobe.pbas,443 :: end $3EF0 $E111 BNZ
if SmartGlobe_L_443
$260A $ SmartGlobe_L_318: $3EF2 $ SmartGlobe_L_442:
;SmartGlobe.pbas,444 :: end ;SmartGlobe.pbas,825 ::
if text1[yy] = cnt
$260A $ SmartGlobe_L_315: $3EF2 $0E2B
;SmartGlobe.pbas,445 :: end MOVLW _text1
if $3EF4 $6E02
$260A $ SmartGlobe_L_312: MOVWF STACK_2, 0
;SmartGlobe.pbas,446 :: end $3EF6 $0E00
if MOVLW @_text1
$260A $ SmartGlobe_L_309: $3EF8 $6E03
;SmartGlobe.pbas,447 :: end MOVWF STACK_2+1, 0
if $3EFA $C31C F000
$260A $ SmartGlobe_L_306: MOVFF _yy, STACK_0
;SmartGlobe.pbas,448 :: end $3EFE $0E00
if MOVLW 0
$260A $ SmartGlobe_L_303: $3F00 $6E01
$260A $ SmartGlobe_L_299: MOVWF STACK_0+1, 0
;SmartGlobe.pbas,451 :: end $3F02 $5000
if MOVF STACK_0, 0, 0
$260A $ SmartGlobe_L_300: $3F04 $2402
ADDWF STACK_2, 0, 0

Appendix F F-14
$3F06 $6EE1 $1434 $C389 F006
MOVWF FSR1Ptr, 0 MOVFF FLOC_main+23, STACK_4+2
$3F08 $5001 $1438 $C38A F007
MOVF STACK_0+1, 0, 0 MOVFF FLOC_main+24, STACK_4+3
$3F0A $2003 $143C $EC07 F013 CALL
ADDWFC STACK_2+1, 0, 0 _add_32x32_fp
$3F0C $6EE2 $1440 $C000 F387
MOVWF FSR1Ptr+1, 0 MOVFF STACK_0, FLOC_main+21
$3F0E $C31A FFE6 $1444 $C001 F388
MOVFF _cnt, POSTINC1 MOVFF STACK_0+1, FLOC_main+22
$3F12 $D04F BRA $1448 $C002 F389
SmartGlobe_L_444 MOVFF STACK_0+2, FLOC_main+23
;SmartGlobe.pbas,826 :: else $144C $C003 F38A
$3F14 $ SmartGlobe_L_443: MOVFF STACK_0+3, FLOC_main+24
;SmartGlobe.pbas,827 :: if tup $1450 $C387 F36D
= 2 then MOVFF FLOC_main+21, _iii
$3F14 $511B $1454 $C388 F36E
MOVF _tup, 0, 1 MOVFF FLOC_main+22, _iii+1
$3F16 $0A02 $1458 $C389 F36F
XORLW 2 MOVFF FLOC_main+23, _iii+2
$3F18 $E111 BNZ $145C $C38A F370
SmartGlobe_L_446 MOVFF FLOC_main+24, _iii+3
$3F1A $ SmartGlobe_L_445: ;SmartGlobe.pbas,1131 :: ggg =
;SmartGlobe.pbas,828 :: iii - bbb
text2[yy] = cnt $1460 $C33F F004
$3F1A $0E40 MOVFF _bbb, STACK_4
MOVLW _text2 $1464 $C340 F005
$3F1C $6E02 MOVFF _bbb+1, STACK_4+1
MOVWF STACK_2, 0 $1468 $C341 F006
$3F1E $0E00 MOVFF _bbb+2, STACK_4+2
MOVLW @_text2 $146C $C342 F007
$3F20 $6E03 MOVFF _bbb+3, STACK_4+3
MOVWF STACK_2+1, 0 $1470 $C387 F000
$3F22 $C31C F000 MOVFF FLOC_main+21, STACK_0
MOVFF _yy, STACK_0 $1474 $C388 F001
$3F26 $0E00 MOVFF FLOC_main+22, STACK_0+1
MOVLW 0 $1478 $C389 F002
$3F28 $6E01 MOVFF FLOC_main+23, STACK_0+2
MOVWF STACK_0+1, 0 $147C $C38A F003
$3F2A $5000 MOVFF FLOC_main+24, STACK_0+3
MOVF STACK_0, 0, 0 $1480 $EC71 F024 CALL
$1404 $C003 F38E _sub_32x32_fp
MOVFF STACK_0+3, FLOC_main+28 $1484 $C000 F30F
$1408 $C3A3 F000 MOVFF STACK_0, _ggg
MOVFF FLOC_main+49, STACK_0 $1488 $C001 F310
$140C $C3A4 F001 MOVFF STACK_0+1, _ggg+1
MOVFF FLOC_main+50, STACK_0+1 $148C $C002 F311
$1410 $C3A5 F002 MOVFF STACK_0+2, _ggg+2
MOVFF FLOC_main+51, STACK_0+2 $1490 $C003 F312
$1414 $C3A6 F003 MOVFF STACK_0+3, _ggg+3
MOVFF FLOC_main+52, STACK_0+3 ;SmartGlobe.pbas,1132 :: ggg =
$1418 $C38B F004 0.265988178 * ggg
MOVFF FLOC_main+25, STACK_4 $1494 $0E9A
$141C $C38C F005 MOVLW 154
MOVFF FLOC_main+26, STACK_4+1 $1496 $6E04
$1420 $C38D F006 MOVWF STACK_4, 0
MOVFF FLOC_main+27, STACK_4+2 $1498 $0E2F
$1424 $C38E F007 MOVLW 47
MOVFF FLOC_main+28, STACK_4+3 $149A $6E05
$1428 $ECC9 F01B CALL MOVWF STACK_4+1, 0
_mul_32x32_fp $149C $0E08
$142C $C387 F004 MOVLW 8
MOVFF FLOC_main+21, STACK_4 $149E $6E06
$1430 $C388 F005 MOVWF STACK_4+2, 0
MOVFF FLOC_main+22, STACK_4+1 $14A0 $0E7D
MOVLW 125

Appendix F F-15
$14A2 $6E07 $151C $ECC9 F01B CALL
MOVWF STACK_4+3, 0 _mul_32x32_fp
$14A4 $ECC9 F01B CALL $1520 $C387 F004
_mul_32x32_fp MOVFF FLOC_main+21, STACK_4
$14A8 $C000 F30F $1524 $C388 F005
MOVFF STACK_0, _ggg MOVFF FLOC_main+22, STACK_4+1
$14AC $C001 F310 $1528 $C389 F006
MOVFF STACK_0+1, _ggg+1 MOVFF FLOC_main+23, STACK_4+2
$14B0 $C002 F311 $152C $C38A F007
MOVFF STACK_0+2, _ggg+2 MOVFF FLOC_main+24, STACK_4+3
$14B4 $C003 F312 $1530 $EC07 F013 CALL
MOVFF STACK_0+3, _ggg+3 _add_32x32_fp
;SmartGlobe.pbas,1133 :: bbb $1534 $C000 F387
= iii MOVFF STACK_0, FLOC_main+21
$14B8 $C387 F33F $1538 $C001 F388
MOVFF FLOC_main+21, _bbb MOVFF STACK_0+1, FLOC_main+22
$14BC $C388 F340 $153C $C002 F389
MOVFF FLOC_main+22, _bbb+1 MOVFF STACK_0+2, FLOC_main+23
$14C0 $C389 F341 $1540 $C003 F38A
MOVFF FLOC_main+23, _bbb+2 MOVFF STACK_0+3, FLOC_main+24
$14C4 $C38A F342 $1544 $C39B F000
MOVFF FLOC_main+24, _bbb+3 MOVFF FLOC_main+41, STACK_0
;SmartGlobe.pbas,1134 :: iii = $1548 $C39C F001
eee[4]*100 + eee[5]*10 + eee[5]*1 + eee[7]*1 MOVFF FLOC_main+42, STACK_0+1
$14C8 $C39F F000 $154C $C39D F002
MOVFF FLOC_main+45, STACK_0 MOVFF FLOC_main+43, STACK_0+2
$14CC $C3A0 F001 $1550 $C39E F003
MOVFF FLOC_main+46, STACK_0+1 MOVFF FLOC_main+44, STACK_0+3
$14D0 $C3A1 F002 $1554 $C38B F004
MOVFF FLOC_main+47, STACK_0+2 MOVFF FLOC_main+25, STACK_4
$14D4 $C3A2 F003 $1558 $C38C F005
MOVFF FLOC_main+48, STACK_0+3 MOVFF FLOC_main+26, STACK_4+1
$14D8 $C393 F004 $155C $C38D F006
MOVFF FLOC_main+33, STACK_4 MOVFF FLOC_main+27, STACK_4+2
$14DC $C394 F005 $1560 $C38E F007
MOVFF FLOC_main+34, STACK_4+1 MOVFF FLOC_main+28, STACK_4+3
$14E0 $C395 F006 $1564 $ECC9 F01B CALL
MOVFF FLOC_main+35, STACK_4+2 _mul_32x32_fp
$14E4 $C396 F007 $1568 $C387 F004
MOVFF FLOC_main+36, STACK_4+3 MOVFF FLOC_main+21, STACK_4
$14E8 $ECC9 F01B CALL $156C $C388 F005
_mul_32x32_fp MOVFF FLOC_main+22, STACK_4+1
$14EC $C000 F387 $1570 $C389 F006
MOVFF STACK_0, FLOC_main+21 MOVFF FLOC_main+23, STACK_4+2
$14F0 $C001 F388 $1574 $C38A F007
MOVFF STACK_0+1, FLOC_main+22 MOVFF FLOC_main+24, STACK_4+3
$14F4 $C002 F389 $1578 $EC07 F013 CALL
MOVFF STACK_0+2, FLOC_main+23 _add_32x32_fp
$14F8 $C003 F38A $157C $C000 F387
MOVFF STACK_0+3, FLOC_main+24 MOVFF STACK_0, FLOC_main+21
$14FC $C39B F000 $1580 $C001 F388
MOVFF FLOC_main+41, STACK_0 MOVFF STACK_0+1, FLOC_main+22
$1500 $C39C F001 $1584 $C002 F389
MOVFF FLOC_main+42, STACK_0+1 MOVFF STACK_0+2, FLOC_main+23
$1504 $C39D F002 $1588 $C003 F38A
MOVFF FLOC_main+43, STACK_0+2 MOVFF STACK_0+3, FLOC_main+24
$1508 $C39E F003 $158C $C397 F000
MOVFF FLOC_main+44, STACK_0+3 MOVFF FLOC_main+37, STACK_0
$150C $C38F F004 $1590 $C398 F001
MOVFF FLOC_main+29, STACK_4 MOVFF FLOC_main+38, STACK_0+1
$1510 $C390 F005 $1594 $C399 F002
MOVFF FLOC_main+30, STACK_4+1 MOVFF FLOC_main+39, STACK_0+2
$1514 $C391 F006 $1598 $C39A F003
MOVFF FLOC_main+31, STACK_4+2 MOVFF FLOC_main+40, STACK_0+3
$1518 $C392 F007 $159C $C38B F004
MOVFF FLOC_main+32, STACK_4+3 MOVFF FLOC_main+25, STACK_4

Appendix F F-16
$15A0 $C38C F005 $161A $6E04
MOVFF FLOC_main+26, STACK_4+1 MOVWF STACK_4, 0
$15A4 $C38D F006 $161C $0E2F
MOVFF FLOC_main+27, STACK_4+2 MOVLW 47
$15A8 $C38E F007 $161E $6E05
MOVFF FLOC_main+28, STACK_4+3 MOVWF STACK_4+1, 0
$15AC $ECC9 F01B CALL $1620 $0E08
_mul_32x32_fp MOVLW 8
$15B0 $C387 F004 $1622 $6E06
MOVFF FLOC_main+21, STACK_4 MOVWF STACK_4+2, 0
$15B4 $C388 F005 $1624 $0E7D
MOVFF FLOC_main+22, STACK_4+1 MOVLW 125
$15B8 $C389 F006 $1626 $6E07
MOVFF FLOC_main+23, STACK_4+2 MOVWF STACK_4+3, 0
$15BC $C38A F007 $1628 $ECC9 F01B CALL
MOVFF FLOC_main+24, STACK_4+3 _mul_32x32_fp
$15C0 $EC07 F013 CALL $162C $C000 F315
_add_32x32_fp MOVFF STACK_0, _hhh
$15C4 $C000 F387 $1630 $C001 F316
MOVFF STACK_0, FLOC_main+21 MOVFF STACK_0+1, _hhh+1
$15C8 $C001 F388 $1634 $C002 F317
MOVFF STACK_0+1, FLOC_main+22 MOVFF STACK_0+2, _hhh+2
$15CC $C002 F389 $1638 $C003 F318
MOVFF STACK_0+2, FLOC_main+23 MOVFF STACK_0+3, _hhh+3
$15D0 $C003 F38A ;SmartGlobe.pbas,1137 :: ddd
MOVFF STACK_0+3, FLOC_main+24 = iii
$15D4 $C387 F36D $163C $C387 F343
MOVFF FLOC_main+21, _iii MOVFF FLOC_main+21, _ddd
$15D8 $C388 F36E $1640 $C388 F344
MOVFF FLOC_main+22, _iii+1 MOVFF FLOC_main+22, _ddd+1
$15DC $C389 F36F $1644 $C389 F345
MOVFF FLOC_main+23, _iii+2 MOVFF FLOC_main+23, _ddd+2
$15E0 $C38A F370 $1648 $C38A F346
MOVFF FLOC_main+24, _iii+3 MOVFF FLOC_main+24, _ddd+3
;SmartGlobe.pbas,1135 :: hhh ;SmartGlobe.pbas,1138 ::
= iii - ddd motor
$15E4 $C343 F004 $164C $EC82 F00D CALL
MOVFF _ddd, STACK_4 _motor
$15E8 $C344 F005 ;SmartGlobe.pbas,1139 ::
MOVFF _ddd+1, STACK_4+1 porte.0 = 1
$15EC $C345 F006 $1650 $ SmartGlobe_L_582:
MOVFF _ddd+2, STACK_4+2 $1650 $8084 BSF
$15F0 $C346 F007 PORTE, 0, 0
MOVFF _ddd+3, STACK_4+3 $1652 $ SmartGlobe_L_583:
$15F4 $C387 F000 ;SmartGlobe.pbas,1140 :: do
MOVFF FLOC_main+21, STACK_0 $1652 $ SmartGlobe_L_584:
$15F8 $C388 F001 ;SmartGlobe.pbas,1141 :: kp =
MOVFF FLOC_main+22, STACK_0+1 keypad_released
$15FC $C389 F002 $1652 $ECEF F023 CALL
MOVFF FLOC_main+23, STACK_0+2 _keypad_released
$1600 $C38A F003 $1656 $C000 F0CA
MOVFF FLOC_main+24, STACK_0+3 MOVFF STACK_0, _kp
$1604 $EC71 F024 CALL ;SmartGlobe.pbas,1142 ::
_sub_32x32_fp display2
$1608 $C000 F315 $165A $EC9D F022 CALL
MOVFF STACK_0, _hhh _display2
$160C $C001 F316 ;SmartGlobe.pbas,1143 :: loop
MOVFF STACK_0+1, _hhh+1 until kp = 16
$1610 $C002 F317 $165E $ SmartGlobe_L_585:
MOVFF STACK_0+2, _hhh+2 $165E $0100
$1614 $C003 F318 MOVLB 0
MOVFF STACK_0+3, _hhh+3 $1660 $51CA
;SmartGlobe.pbas,1136 :: hhh MOVF _kp, 0, 1
= 0.265988178 * hhh $1662 $0A10
$1618 $0E9A XORLW 16
MOVLW 154

Appendix F F-17
$1664 $E101 BNZ ;SmartGlobe.pbas,1152 :: kp =
SmartGlobe_L_587 0
$1666 $ SmartGlobe_L_588: $1694 $0100
$1666 $D001 BRA MOVLB 0
SmartGlobe_L_586 $1696 $6BCA CLRF
$1668 $ SmartGlobe_L_587: _kp, 1
$1668 $D7F4 BRA ;SmartGlobe.pbas,1153 ::
SmartGlobe_L_584 display2
$166A $ SmartGlobe_L_586: $1698 $EC9D F022 CALL
;SmartGlobe.pbas,1144 :: _display2
porte.0 = 0 ;SmartGlobe.pbas,1154 :: while
$166A $0100 kp = 0
MOVLB 0 $169C $ SmartGlobe_L_595:
$166C $9084 BCF $169C $0100
PORTE, 0, 0 MOVLB 0
$166E $ SmartGlobe_L_590: $169E $51CA
;SmartGlobe.pbas,1145 :: kp3 = MOVF _kp, 0, 1
0 $16A0 $0A00
$166E $0103 XORLW 0
MOVLB 3 $16A2 $E114 BNZ
$1670 $6B1E CLRF SmartGlobe_L_596
_kp3, 1 ;SmartGlobe.pbas,1155 :: kp =
;SmartGlobe.pbas,1146 :: Keypad_Released
lcd_cmd(lcd_clear) $16A4 $ECEF F023 CALL
$1672 $0E01 _keypad_released
MOVLW 1 $16A8 $C000 F0CA
$1674 $6FDA MOVFF STACK_0, _kp
MOVWF FARG_Lcd_Cmd, 1 ;SmartGlobe.pbas,1156 :: if kp2
$1676 $EC95 F01A CALL = 0 then
_lcd_cmd $16AC $0E00
;SmartGlobe.pbas,1147 :: txt = MOVLW 0
"____" $16AE $0103
$167A $0E5F MOVLB 3
MOVLW 95 $16B0 $1949
$167C $0100 XORWF _kp2+1, 0, 1
MOVLB 0 $16B2 $E102 BNZ
$167E $6FC5 L_main_14
MOVWF _txt+0, 1 $16B4 $0E00
$1680 $6FC6 MOVLW 0
MOVWF _txt+1, 1 $16B6 $1948
$1682 $6FC7 XORWF _kp2, 0, 1
MOVWF _txt+2, 1 $16B8 $ L_main_14:
$1684 $6FC8 $16B8 $E102 BNZ
MOVWF _txt+3, 1 SmartGlobe_L_600
$1686 $6BC9 CLRF $16BA $ SmartGlobe_L_599:
_txt+4, 1 ;SmartGlobe.pbas,1157 :: nop
;SmartGlobe.pbas,1148 :: end $16BA $0000 NOP
if $16BC $D005 BRA
$1688 $ SmartGlobe_L_576: SmartGlobe_L_601
$1688 $D23A BRA ;SmartGlobe.pbas,1158 :: else
SmartGlobe_L_570 $16BE $ SmartGlobe_L_600:
;SmartGlobe.pbas,1150 :: else ;SmartGlobe.pbas,1159 ::
$168A $ SmartGlobe_L_569: dec(kp2)
;SmartGlobe.pbas,1151 :: if kp3 $16BE $0103
= 3 then MOVLB 3
$168A $0103 $16C0 $0E01
MOVLB 3 MOVLW 1
$168C $511E $16C2 $5F48
MOVF _kp3, 0, 1 SUBWF _kp2, 1, 1
$168E $0A03 $16C4 $0E00
XORLW 3 MOVLW 0
$1690 $A4D8 $16C6 $5B49
BTFSS STATUS, Z, 0 SUBWFB _kp2+1, 1, 1
$1692 $D235 BRA ;SmartGlobe.pbas,1160 :: end
SmartGlobe_L_592 if
$1694 $ SmartGlobe_L_591: $16C8 $ SmartGlobe_L_601:

Appendix F F-18
$16C8 $0103 $16F6 $0A07
MOVLB 3 XORLW 7
$16CA $D7E8 BRA $16F8 $E103 BNZ
SmartGlobe_L_595 SmartGlobe_L_614
$16CC $ SmartGlobe_L_596: $16FA $ SmartGlobe_L_612:
;SmartGlobe.pbas,1164 :: case $16FA $0E36
4 kp = 65 'A' MOVLW 54
$16CC $ SmartGlobe_L_604: $16FC $6FCA
$16CC $0103 MOVWF _kp, 1
MOVLB 3 $16FE $D038 BRA
$16CE $0100 SmartGlobe_L_602
MOVLB 0 $1700 $ SmartGlobe_L_614:
$16D0 $51CA ;SmartGlobe.pbas,1168 :: case
MOVF _kp, 0, 1 8 kp = 66 'B'
$16D2 $0A04 $1700 $ SmartGlobe_L_616:
XORLW 4 $1700 $51CA
$16D4 $E103 BNZ MOVF _kp, 0, 1
SmartGlobe_L_605 $1702 $0A08
$16D6 $ SmartGlobe_L_603: XORLW 8
$16D6 $0E41 $1704 $E103 BNZ
MOVLW 65 SmartGlobe_L_617
$16D8 $6FCA $1706 $ SmartGlobe_L_615:
MOVWF _kp, 1 $1706 $0E42
$16DA $D04A BRA MOVLW 66
SmartGlobe_L_602 $1708 $6FCA
$16DC $ SmartGlobe_L_605: MOVWF _kp, 1
;SmartGlobe.pbas,1165 :: case $170A $D032 BRA
5 kp = 52 '4' SmartGlobe_L_602
$16DC $ SmartGlobe_L_607: $170C $ SmartGlobe_L_617:
$16DC $51CA ;SmartGlobe.pbas,1169 :: case
MOVF _kp, 0, 1 9 kp = 55 '7'
$16DE $0A05 $170C $ SmartGlobe_L_619:
XORLW 5 $170C $51CA
$16E0 $E103 BNZ MOVF _kp, 0, 1
SmartGlobe_L_608 $170E $0A09
$16E2 $ SmartGlobe_L_606: XORLW 9
$16E2 $0E34 $1710 $E103 BNZ
MOVLW 52 SmartGlobe_L_620
$16E4 $6FCA $1712 $ SmartGlobe_L_618:
MOVWF _kp, 1 $1712 $0E37
$16E6 $D044 BRA MOVLW 55
SmartGlobe_L_602 $1714 $6FCA
$16E8 $ SmartGlobe_L_608: MOVWF _kp, 1
;SmartGlobe.pbas,1166 :: case $1716 $D02C BRA
6 kp = 53 '5' SmartGlobe_L_602
$16E8 $ SmartGlobe_L_610: $1718 $ SmartGlobe_L_620:
$16E8 $51CA ;SmartGlobe.pbas,1170 :: case
MOVF _kp, 0, 1 10 kp = 56 '8'
$16EA $0A06 $1718 $ SmartGlobe_L_622:
XORLW 6 $1718 $51CA
$16EC $E103 BNZ MOVF _kp, 0, 1
SmartGlobe_L_611 $171A $0A0A
$16EE $ SmartGlobe_L_609: XORLW 10
$16EE $0E35 $171C $E103 BNZ
MOVLW 53 SmartGlobe_L_623
$16F0 $6FCA $171E $ SmartGlobe_L_621:
MOVWF _kp, 1 $171E $0E38
$16F2 $D03E BRA MOVLW 56
SmartGlobe_L_602 $1720 $6FCA
$16F4 $ SmartGlobe_L_611: MOVWF _kp, 1
;SmartGlobe.pbas,1167 :: case $1722 $D026 BRA
7 kp = 54 '6' SmartGlobe_L_602
$16F4 $ SmartGlobe_L_613: $1724 $ SmartGlobe_L_623:
$16F4 $51CA ;SmartGlobe.pbas,1171 :: case
MOVF _kp, 0, 1 11 kp = 57 '9'
$1724 $ SmartGlobe_L_625:

Appendix F F-19
$1724 $51CA ;SmartGlobe.pbas,1175 :: case
MOVF _kp, 0, 1 15 kp = 35 '#'
$1726 $0A0B $1754 $ SmartGlobe_L_637:
XORLW 11 $1754 $51CA
$1728 $E103 BNZ MOVF _kp, 0, 1
SmartGlobe_L_626 $1756 $0A0F
$172A $ SmartGlobe_L_624: XORLW 15
$172A $0E39 $1758 $E103 BNZ
MOVLW 57 SmartGlobe_L_638
$172C $6FCA $175A $ SmartGlobe_L_636:
MOVWF _kp, 1 $175A $0E23
$172E $D020 BRA MOVLW 35
SmartGlobe_L_602 $175C $6FCA
$1730 $ SmartGlobe_L_626: MOVWF _kp, 1
;SmartGlobe.pbas,1172 :: case $175E $D008 BRA
12 kp = 67 'C' SmartGlobe_L_602
$1730 $ SmartGlobe_L_628: $1760 $ SmartGlobe_L_638:
$1730 $51CA ;SmartGlobe.pbas,1176 :: case
MOVF _kp, 0, 1 16 kp = 68 'D'
$1732 $0A0C $1760 $ SmartGlobe_L_640:
XORLW 12 $1760 $51CA
$1734 $E103 BNZ MOVF _kp, 0, 1
SmartGlobe_L_629 $1762 $0A10
$1736 $ SmartGlobe_L_627: XORLW 16
$1736 $0E43 $1764 $E103 BNZ
MOVLW 67 SmartGlobe_L_641
$1738 $6FCA $1766 $ SmartGlobe_L_639:
MOVWF _kp, 1 $1766 $0E44
$173A $D01A BRA MOVLW 68
SmartGlobe_L_602 $1768 $6FCA
$173C $ SmartGlobe_L_629: MOVWF _kp, 1
;SmartGlobe.pbas,1173 :: case $176A $D002 BRA
13 kp = 42 '*' SmartGlobe_L_602
$173C $ SmartGlobe_L_631: $176C $ SmartGlobe_L_641:
$173C $51CA ;SmartGlobe.pbas,1177 :: case
MOVF _kp, 0, 1 else kp = kp + 48
$173E $0A0D $176C $0E30
XORLW 13 MOVLW 48
$1740 $E103 BNZ $176E $27CA
SmartGlobe_L_632 ADDWF _kp, 1, 1
$1742 $ SmartGlobe_L_630: $1770 $ SmartGlobe_L_602:
$1742 $0E2A ;SmartGlobe.pbas,1180 :: if kp
MOVLW 42 = 66 then
$1744 $6FCA $1770 $51CA
MOVWF _kp, 1 MOVF _kp, 0, 1
$1746 $D014 BRA $1772 $0A42
SmartGlobe_L_602 XORLW 66
$1748 $ SmartGlobe_L_632: $1774 $E134 BNZ
;SmartGlobe.pbas,1174 :: case SmartGlobe_L_643
14 kp = 48 '0' $1776 $ SmartGlobe_L_642:
$1748 $ SmartGlobe_L_634: ;SmartGlobe.pbas,1182 :: if tup
$1748 $51CA = 5 then
MOVF _kp, 0, 1 $1776 $0103
$174A $0A0E MOVLB 3
XORLW 14 $1778 $511B
$174C $E103 BNZ MOVF _tup, 0, 1
SmartGlobe_L_635 $177A $0A05
$174E $ SmartGlobe_L_633: XORLW 5
$174E $0E30 $177C $E104 BNZ
MOVLW 48 SmartGlobe_L_646
$1750 $6FCA $177E $ SmartGlobe_L_645:
MOVWF _kp, 1 ;SmartGlobe.pbas,1183 :: tup =
$1752 $D00E BRA 1
SmartGlobe_L_602 $177E $0E01
$1754 $ SmartGlobe_L_635: MOVLW 1

Appendix F F-20
$1780 $6F1B $17A8 $0A03
MOVWF _tup, 1 XORLW 3
$1782 $EFC4 F00B $17AA $E105 BNZ
GOTO SmartGlobe_L_647 SmartGlobe_L_655
;SmartGlobe.pbas,1184 :: else $17AC $ SmartGlobe_L_654:
$1786 $ SmartGlobe_L_646: ;SmartGlobe.pbas,1197 :: yy1 =
;SmartGlobe.pbas,1185 :: 16
inc(tup) $17AC $0E10
$1786 $2B1B INCF MOVLW 16
_tup, 1, 1 $17AE $6F4B
;SmartGlobe.pbas,1186 :: end MOVWF _yy1, 1
if ;SmartGlobe.pbas,1198 :: yy2 =
$1788 $ SmartGlobe_L_647: 18
;SmartGlobe.pbas,1188 :: if tup $17B0 $0E12
= 1 then MOVLW 18
$1788 $511B $17B2 $6F4C
MOVF _tup, 0, 1 MOVWF _yy2, 1
$178A $0A01 $17B4 $D00F BRA
XORLW 1 SmartGlobe_L_656
$178C $E104 BNZ ;SmartGlobe.pbas,1199 :: else
SmartGlobe_L_649 $17B6 $ SmartGlobe_L_655:
$178E $ SmartGlobe_L_648: ;SmartGlobe.pbas,1200 :: if tup
;SmartGlobe.pbas,1189 :: yy1 = = 4 then
0 $17B6 $511B
$178E $6B4B CLRF MOVF _tup, 0, 1
_yy1, 1 $17B8 $0A04
;SmartGlobe.pbas,1190 :: yy2 = XORLW 4
19 $17BA $E105 BNZ
$1790 $0E13 SmartGlobe_L_658
MOVLW 19 $17BC $ SmartGlobe_L_657:
$1792 $6F4C ;SmartGlobe.pbas,1201 :: yy1 =
MOVWF _yy2, 1 5
$1794 $D01F BRA $17BC $0E05
SmartGlobe_L_650 MOVLW 5
;SmartGlobe.pbas,1191 :: else $17BE $6F4B
$1796 $ SmartGlobe_L_649: MOVWF _yy1, 1
;SmartGlobe.pbas,1192 :: if tup ;SmartGlobe.pbas,1202 :: yy2 =
= 2 then 19
$1796 $511B $17C0 $0E13
MOVF _tup, 0, 1 MOVLW 19
$1798 $0A02 $17C2 $6F4C
XORLW 2 MOVWF _yy2, 1
$179A $E105 BNZ $17C4 $D007 BRA
SmartGlobe_L_652 SmartGlobe_L_659
$179C $ SmartGlobe_L_651: ;SmartGlobe.pbas,1203 :: else
;SmartGlobe.pbas,1193 :: yy1 = $17C6 $ SmartGlobe_L_658:
5 ;SmartGlobe.pbas,1204 :: if tup
$179C $0E05 = 5 then
MOVLW 5 $17C6 $511B
$179E $6F4B MOVF _tup, 0, 1
MOVWF _yy1, 1 $17C8 $0A05
;SmartGlobe.pbas,1194 :: yy2 = XORLW 5
7 $17CA $E104 BNZ
$17A0 $0E07 SmartGlobe_L_661
MOVLW 7 $17CC $ SmartGlobe_L_660:
$17A2 $6F4C ;SmartGlobe.pbas,1205 :: yy1 =
MOVWF _yy2, 1 5
$17A4 $D017 BRA $17CC $0E05
SmartGlobe_L_653 MOVLW 5
;SmartGlobe.pbas,1195 :: else $17CE $6F4B
$17A6 $ SmartGlobe_L_652: MOVWF _yy1, 1
;SmartGlobe.pbas,1196 :: if tup ;SmartGlobe.pbas,1206 :: yy2 =
= 3 then 19
$17A6 $511B $17D0 $0E13
MOVF _tup, 0, 1 MOVLW 19

Appendix F F-21
$17D2 $6F4C $17F6 $511D
MOVWF _yy2, 1 MOVF _tmp, 0, 1
$17D4 $ SmartGlobe_L_661: $17F8 $0A00
;SmartGlobe.pbas,1207 :: end XORLW 0
if $17FA $E157 BNZ
$17D4 $ SmartGlobe_L_662: SmartGlobe_L_667
;SmartGlobe.pbas,1208 :: end $17FC $ SmartGlobe_L_666:
if ;SmartGlobe.pbas,1221 ::
$17D4 $ SmartGlobe_L_659: Lcd_Cmd(Lcd_clear)
;SmartGlobe.pbas,1209 :: end $17FC $0E01
if MOVLW 1
$17D4 $ SmartGlobe_L_656: $17FE $6FDA
;SmartGlobe.pbas,1210 :: end MOVWF FARG_Lcd_Cmd, 1
if $1800 $EC95 F01A CALL
$17D4 $ SmartGlobe_L_653: _lcd_cmd
;SmartGlobe.pbas,1211 :: end ;SmartGlobe.pbas,1222 ::
if Lcd_out(1, 1, "Please wait...... ")
$17D4 $ SmartGlobe_L_650: $1804 $0E01
;SmartGlobe.pbas,1212 :: kp4 = MOVLW 1
1 $1806 $0103
$17D4 $0E01 MOVLB 3
MOVLW 1 $1808 $6FD4
$17D6 $6F4A MOVWF FARG_Lcd_Out, 1
MOVWF _kp4, 1 $180A $0E01
;SmartGlobe.pbas,1213 :: yy = MOVLW 1
yy1 $180C $6FD5
$17D8 $C34B F31C MOVWF FARG_Lcd_Out+1, 1
MOVFF _yy1, _yy $180E $0E50
$17DC $D190 BRA MOVLW 80
SmartGlobe_L_644 $1810 $6F72
;SmartGlobe.pbas,1215 :: else MOVWF ?main_Local_Text+0, 1
$17DE $ SmartGlobe_L_643: $1812 $0E6C
;SmartGlobe.pbas,1216 :: if kp MOVLW 108
= 68 then $1814 $6F73
$17DE $0100 MOVWF ?main_Local_Text+1, 1
MOVLB 0 $1816 $0E65
$17E0 $51CA MOVLW 101
MOVF _kp, 0, 1 $1818 $6F74
$17E2 $0A44 MOVWF ?main_Local_Text+2, 1
XORLW 68 $181A $0E61
$17E4 $A4D8 MOVLW 97
BTFSS STATUS, Z, 0 $181C $6F75
$17E6 $D0AC BRA MOVWF ?main_Local_Text+3, 1
SmartGlobe_L_664 $181E $0E73
$17E8 $ SmartGlobe_L_663: MOVLW 115
;SmartGlobe.pbas,1217 :: tmp $1820 $6F76
=0 MOVWF ?main_Local_Text+4, 1
$17E8 $0103 $1822 $0E65
MOVLB 3 MOVLW 101
$17EA $6B1D CLRF $1824 $6F77
_tmp, 1 MOVWF ?main_Local_Text+5, 1
;SmartGlobe.pbas,1218 :: $1826 $0E20
unsubstitute MOVLW 32
$17EC $EC5D F01C CALL $1828 $6F78
_unsubstitute MOVWF ?main_Local_Text+6, 1
;SmartGlobe.pbas,1219 :: kp = $182A $0E77
0 MOVLW 119
$17F0 $0100 $182C $6F79
MOVLB 0 MOVWF ?main_Local_Text+7, 1
$17F2 $6BCA CLRF $182E $0E61
_kp, 1 MOVLW 97
;SmartGlobe.pbas,1220 :: if $1830 $6F7A
tmp = 0 then MOVWF ?main_Local_Text+8, 1
$17F4 $0103 $1832 $0E69
MOVLB 3 MOVLW 105

Appendix F F-22
$1834 $6F7B $18C2 $6FB4
MOVWF ?main_Local_Text+9, 1 MOVWF FARG_Mmc_Write_Sector+5, 1
$1836 $0E74 $18C4 $EC35 F01B CALL
MOVLW 116 _mmc_write_sector
$1838 $6F7C $18C8 $C000 F31D
MOVWF ?main_Local_Text+10, 1 MOVFF STACK_0, _tmp
$183A $0E2E ;SmartGlobe.pbas,1226 :: if
MOVLW 46 tmp > 0 then
$183C $6F7D $18CC $5000
MOVWF ?main_Local_Text+11, 1 MOVF STACK_0, 0, 0
$183E $0E2E $18CE $0800
MOVLW 46 SUBLW 0
$1840 $6F7E $18D0 $E21C BC
MOVWF ?main_Local_Text+12, 1 SmartGlobe_L_670
$1842 $0E2E $18D2 $ SmartGlobe_L_669:
MOVLW 46 ;SmartGlobe.pbas,1227 :: do
$1844 $6F7F $18D2 $ SmartGlobe_L_672:
MOVWF ?main_Local_Text+13, 1 ;SmartGlobe.pbas,1228 :: mali
$1846 $0E2E $18D2 $EC32 F01E CALL
MOVLW 46 _mali
$1848 $6F80 ;SmartGlobe.pbas,1229 :: kp =
MOVWF ?main_Local_Text+14, 1 keypad_released
$184A $0E2E $18D6 $ECEF F023 CALL
MOVLW 46 _keypad_released
$184C $6F81 $18DA $C000 F0CA
MOVWF ?main_Local_Text+15, 1 MOVFF STACK_0, _kp
$184E $0E2E ;SmartGlobe.pbas,1230 :: loop
MOVLW 46 until kp = 16
$1850 $6F82 $18DE $ SmartGlobe_L_673:
MOVWF ?main_Local_Text+16, 1 $18DE $0100
$1852 $0E20 MOVLB 0
MOVLW 32 $18E0 $51CA
$1854 $6F83 MOVF _kp, 0, 1
MOVWF ?main_Local_Text+17, 1 $18E2 $0A10
$1856 $0E20 XORLW 16
MOVLW 32 $18E4 $E101 BNZ
$1858 $6F84 SmartGlobe_L_675
MOVWF ?main_Local_Text+18, 1 $18E6 $ SmartGlobe_L_676:
$185A $0E20 $18E6 $D001 BRA
MOVLW 32 SmartGlobe_L_674
$185C $6F85 $18E8 $ SmartGlobe_L_675:
MOVWF ?main_Local_Text+19, 1 $18E8 $D7F4 BRA
$185E $6B86 CLRF SmartGlobe_L_672
?main_Local_Text+20, 1 $18EA $ SmartGlobe_L_674:
$1860 $0E72 ;SmartGlobe.pbas,1231 ::
MOVLW ?main_Local_Text lcd_cmd(lcd_clear)
$1862 $6FD6 $18EA $0E01
MOVWF FARG_Lcd_Out+2, 1 MOVLW 1
$1864 $0E03 $18EC $0103
MOVLW @?main_Local_Text MOVLB 3
$1866 $6FD7 $18EE $6FDA
MOVWF FARG_Lcd_Out+3, 1 MOVWF FARG_Lcd_Cmd, 1
$1868 $EC95 F020 CALL $18F0 $EC95 F01A CALL
_lcd_out _lcd_cmd
;SmartGlobe.pbas,1223 :: ;SmartGlobe.pbas,1232 :: kp3 =
delay_ms(500) 1
$186C $0E03 $18F4 $0E01
MOVLW 3 MOVLW 1
$186E $6E0C $18F6 $0103
MOVWF STACK_12, 0 MOVLB 3
$1870 $0EFF $18F8 $6F1E
MOVLW 255 MOVWF _kp3, 1
$18BE $6FB3 ;SmartGlobe.pbas,1233 :: txt =
MOVWF FARG_Mmc_Write_Sector+4, 1 "____"
$18C0 $0E00 $18FA $0E5F
MOVLW @_data MOVLW 95

Appendix F F-23
$18FC $0100 $1932 $6FC8
MOVLB 0 MOVWF _txt+3, 1
$18FE $6FC5 $1934 $6BC9 CLRF
MOVWF _txt+0, 1 _txt+4, 1
$1900 $6FC6 ;SmartGlobe.pbas,1242 :: kp3 =
MOVWF _txt+1, 1 1
$1902 $6FC7 $1936 $0E01
MOVWF _txt+2, 1 MOVLW 1
$1904 $6FC8 $1938 $0103
MOVWF _txt+3, 1 MOVLB 3
$1906 $6BC9 CLRF $193A $6F1E
_txt+4, 1 MOVWF _kp3, 1
$1908 $D019 BRA ;SmartGlobe.pbas,1243 :: end
SmartGlobe_L_671 if
;SmartGlobe.pbas,1234 :: else $193C $ SmartGlobe_L_671:
$190A $ SmartGlobe_L_670: $193C $0103
;SmartGlobe.pbas,1235 :: MOVLB 3
lcd_cmd(lcd_clear) $193E $D0DF BRA
$190A $0E01 SmartGlobe_L_665
MOVLW 1 ;SmartGlobe.pbas,1244 :: else
$190C $0103 $1940 $ SmartGlobe_L_664:
MOVLB 3 ;SmartGlobe.pbas,1245 :: if kp
$190E $6FDA = 65 then
MOVWF FARG_Lcd_Cmd, 1 $1940 $0100
$1910 $EC95 F01A CALL MOVLB 0
_lcd_cmd $1942 $51CA
;SmartGlobe.pbas,1236 :: text1 MOVF _kp, 0, 1
= "" $1944 $0A41
$1914 $6A2B CLRF XORLW 65
_text1+0, 0 $1946 $E10C BNZ
;SmartGlobe.pbas,1237 :: text2 SmartGlobe_L_678
= "" $1948 $ SmartGlobe_L_677:
$1916 $6A40 CLRF ;SmartGlobe.pbas,1247 :: if
_text2+0, 0 porte.2 = 1 then
;SmartGlobe.pbas,1238 :: text3 $1948 $6A04 CLRF
= "" STACK_4, 0
$1918 $6A55 CLRF $194A $B484
_text3+0, 0 BTFSC PORTE, 2, 0
;SmartGlobe.pbas,1239 :: text4 $194C $2A04 INCF
= "" STACK_4, 1, 0
$191A $0100 $194E $5004
MOVLB 0 MOVF STACK_4, 0, 0
$191C $6B6A CLRF $1950 $0A01
_text4+0, 1 XORLW 1
;SmartGlobe.pbas,1240 :: $1952 $E102 BNZ
Lcd_Cmd(Lcd_Clear) SmartGlobe_L_681
$191E $0E01 $1954 $ SmartGlobe_L_680:
MOVLW 1 ;SmartGlobe.pbas,1248 ::
$1920 $0103 porte.2 = 0
MOVLB 3 $1954 $9484 BCF
$1922 $6FDA PORTE, 2, 0
MOVWF FARG_Lcd_Cmd, 1 $1956 $ SmartGlobe_L_684:
$1924 $EC95 F01A CALL $1956 $D002 BRA
_lcd_cmd SmartGlobe_L_682
;SmartGlobe.pbas,1241 :: txt = ;SmartGlobe.pbas,1249 :: else
"____" $1958 $ SmartGlobe_L_681:
$1928 $0E5F ;SmartGlobe.pbas,1250 ::
MOVLW 95 porte.2 = 1
$192A $0100 $1958 $ SmartGlobe_L_685:
MOVLB 0 $1958 $0100
$192C $6FC5 MOVLB 0
MOVWF _txt+0, 1 $195A $8484 BSF
$192E $6FC6 PORTE, 2, 0
MOVWF _txt+1, 1 $195C $ SmartGlobe_L_686:
$1930 $6FC7 ;SmartGlobe.pbas,1251 :: end
MOVWF _txt+2, 1 if

Appendix F F-24
$195C $ SmartGlobe_L_682: $198E $6E36
$195C $0100 MOVWF _text1+11, 0
MOVLB 0 $1990 $6E37
$195E $D0CF BRA MOVWF _text1+12, 0
SmartGlobe_L_679 $1992 $6E38
;SmartGlobe.pbas,1253 :: else MOVWF _text1+13, 0
$1960 $ SmartGlobe_L_678: $1994 $6E39
;SmartGlobe.pbas,1254 :: if kp MOVWF _text1+14, 0
= 67 then $1996 $6E3A
$1960 $51CA MOVWF _text1+15, 0
MOVF _kp, 0, 1 $1998 $6E3B
$1962 $0A43 MOVWF _text1+16, 0
XORLW 67 $199A $6E3C
$1964 $A4D8 MOVWF _text1+17, 0
BTFSS STATUS, Z, 0 $199C $6E3D
$1966 $D089 BRA MOVWF _text1+18, 0
SmartGlobe_L_688 $199E $6E3E
$1968 $ SmartGlobe_L_687: MOVWF _text1+19, 0
;SmartGlobe.pbas,1256 :: if tup $19A0 $6A3F CLRF
= 1 then _text1+20, 0
$1968 $0103 $19A2 $D062 BRA
MOVLB 3 SmartGlobe_L_692
$196A $511B ;SmartGlobe.pbas,1260 :: else
MOVF _tup, 0, 1 $19A4 $ SmartGlobe_L_691:
$196C $0A01 ;SmartGlobe.pbas,1261 :: if tup
XORLW 1 = 2 then
$196E $E11A BNZ $19A4 $511B
SmartGlobe_L_691 MOVF _tup, 0, 1
$1970 $ SmartGlobe_L_690: $19A6 $0A02
;SmartGlobe.pbas,1257 :: yy1 = XORLW 2
0 $19A8 $E10B BNZ
$1970 $6B4B CLRF SmartGlobe_L_694
_yy1, 1 $19AA $ SmartGlobe_L_693:
;SmartGlobe.pbas,1258 :: yy2 = ;SmartGlobe.pbas,1262 :: yy1 =
19 5
$1972 $0E13 $19AA $0E05
MOVLW 19 MOVLW 5
$1974 $6F4C $19AC $6F4B
MOVWF _yy2, 1 MOVWF _yy1, 1
;SmartGlobe.pbas,1259 :: text1 ;SmartGlobe.pbas,1263 :: yy2 =
=" " 8
$1976 $0E20 $19AE $0E08
MOVLW 32 MOVLW 8
$1978 $6E2B $19B0 $6F4C
MOVWF _text1+0, 0 MOVWF _yy2, 1
$197A $6E2C ;SmartGlobe.pbas,1264 ::
MOVWF _text1+1, 0 text2[5] = ""
$197C $6E2D $19B2 $0E30
MOVWF _text1+2, 0 MOVLW 48
$197E $6E2E $19B4 $6E45
MOVWF _text1+3, 0 MOVWF _text2+5, 0
$1980 $6E2F ;SmartGlobe.pbas,1265 ::
MOVWF _text1+4, 0 text2[6] = ""
$1982 $6E30 $19B6 $0E30
MOVWF _text1+5, 0 MOVLW 48
$1984 $6E31 $19B8 $6E46
MOVWF _text1+6, 0 MOVWF _text2+6, 0
$1986 $6E32 ;SmartGlobe.pbas,1266 ::
MOVWF _text1+7, 0 text2[7] = ""
$1988 $6E33 $19BA $0E30
MOVWF _text1+8, 0 MOVLW 48
$198A $6E34 $19BC $6E47
MOVWF _text1+9, 0 MOVWF _text2+7, 0
$198C $6E35 $19BE $D054 BRA
MOVWF _text1+10, 0 SmartGlobe_L_695
;SmartGlobe.pbas,1267 :: else

Appendix F F-25
$19C0 $ SmartGlobe_L_694: ;SmartGlobe.pbas,1278 :: text3
;SmartGlobe.pbas,1268 :: if tup = "Cap: "
= 3 then $19EA $0E43
$19C0 $511B MOVLW 67
MOVF _tup, 0, 1 $19EC $6E55
$19C2 $0A03 MOVWF _text3+0, 0
XORLW 3 $19EE $0E61
$19C4 $E10B BNZ MOVLW 97
SmartGlobe_L_697 $19F0 $6E56
$19C6 $ SmartGlobe_L_696: MOVWF _text3+1, 0
;SmartGlobe.pbas,1269 :: yy1 = $19F2 $0E70
16 MOVLW 112
$19C6 $0E10 $19F4 $6E57
MOVLW 16 MOVWF _text3+2, 0
$19C8 $6F4B $19F6 $0E3A
MOVWF _yy1, 1 MOVLW 58
;SmartGlobe.pbas,1270 :: yy2 = $19F8 $6E58
19 MOVWF _text3+3, 0
$19CA $0E13 $19FA $0E20
MOVLW 19 MOVLW 32
$19CC $6F4C $19FC $6E59
MOVWF _yy2, 1 MOVWF _text3+4, 0
;SmartGlobe.pbas,1271 :: $19FE $6E5A
text2[16] = "" MOVWF _text3+5, 0
$19CE $0E30 $1A00 $6E5B
MOVLW 48 MOVWF _text3+6, 0
$19D0 $6E50 $1A02 $6E5C
MOVWF _text2+16, 0 MOVWF _text3+7, 0
;SmartGlobe.pbas,1272 :: $1A04 $6E5D
text2[17] = "" MOVWF _text3+8, 0
$19D2 $0E30 $1A06 $6E5E
MOVLW 48 MOVWF _text3+9, 0
$19D4 $6E51 $1A08 $6E5F
MOVWF _text2+17, 0 MOVWF _text3+10, 0
;SmartGlobe.pbas,1273 :: $1A0A $0100
text2[18] = "" MOVLB 0
$19D6 $0E30 $1A0C $6F60
MOVLW 48 MOVWF _text3+11, 1
$19D8 $6E52 $1A0E $6F61
MOVWF _text2+18, 0 MOVWF _text3+12, 1
$19DA $D046 BRA $1A10 $6F62
SmartGlobe_L_698 MOVWF _text3+13, 1
;SmartGlobe.pbas,1274 :: else $1A12 $6F63
$19DC $ SmartGlobe_L_697: MOVWF _text3+14, 1
;SmartGlobe.pbas,1275 :: if tup $1A14 $6F64
= 4 then MOVWF _text3+15, 1
$19DC $511B $1A16 $6F65
MOVF _tup, 0, 1 MOVWF _text3+16, 1
$19DE $0A04 $1A18 $6F66
XORLW 4 MOVWF _text3+17, 1
$19E0 $E120 BNZ $1A1A $6F67
SmartGlobe_L_700 MOVWF _text3+18, 1
$19E2 $ SmartGlobe_L_699: $1A1C $6F68
;SmartGlobe.pbas,1276 :: yy1 = MOVWF _text3+19, 1
5 $1A1E $6B69 CLRF
$19E2 $0E05 _text3+20, 1
MOVLW 5 $1A20 $D023 BRA
$19E4 $6F4B SmartGlobe_L_701
MOVWF _yy1, 1 ;SmartGlobe.pbas,1279 :: else
;SmartGlobe.pbas,1277 :: yy2 = $1A22 $ SmartGlobe_L_700:
19 ;SmartGlobe.pbas,1280 :: if tup
$19E6 $0E13 = 5 then
MOVLW 19 $1A22 $0103
$19E8 $6F4C MOVLB 3
MOVWF _yy2, 1 $1A24 $511B
MOVF _tup, 0, 1

Appendix F F-26
$1A26 $0A05 $1A60 $6F7B
XORLW 5 MOVWF _text4+17, 1
$1A28 $E11F BNZ $1A62 $6F7C
SmartGlobe_L_703 MOVWF _text4+18, 1
$1A2A $ SmartGlobe_L_702: $1A64 $6F7D
;SmartGlobe.pbas,1281 :: yy1 = MOVWF _text4+19, 1
5 $1A66 $6B7E CLRF
$1A2A $0E05 _text4+20, 1
MOVLW 5 $1A68 $ SmartGlobe_L_703:
$1A2C $6F4B ;SmartGlobe.pbas,1284 :: end
MOVWF _yy1, 1 if
;SmartGlobe.pbas,1282 :: yy2 = $1A68 $ SmartGlobe_L_704:
19 ;SmartGlobe.pbas,1285 :: end
$1A2E $0E13 if
MOVLW 19 $1A68 $ SmartGlobe_L_701:
$1A30 $6F4C ;SmartGlobe.pbas,1286 :: end
MOVWF _yy2, 1 if
;SmartGlobe.pbas,1283 :: text4 $1A68 $ SmartGlobe_L_698:
= "Cur: " ;SmartGlobe.pbas,1287 :: end
$1A32 $0E43 if
MOVLW 67 $1A68 $ SmartGlobe_L_695:
$1A34 $0100 ;SmartGlobe.pbas,1288 :: end
MOVLB 0 if
$1A36 $6F6A $1A68 $ SmartGlobe_L_692:
MOVWF _text4+0, 1 ;SmartGlobe.pbas,1289 :: kp4 =
$1A38 $0E75 1
MOVLW 117 $1A68 $0100
$1A3A $6F6B MOVLB 0
MOVWF _text4+1, 1 $1A6A $0E01
$1A3C $0E72 MOVLW 1
MOVLW 114 $1A6C $0103
$1A3E $6F6C MOVLB 3
MOVWF _text4+2, 1 $1A6E $6F4A
$1A40 $0E3A MOVWF _kp4, 1
MOVLW 58 ;SmartGlobe.pbas,1290 :: yy =
$1A42 $6F6D yy1
MOVWF _text4+3, 1 $1A70 $C34B F31C
$1A44 $0E20 MOVFF _yy1, _yy
MOVLW 32 ;SmartGlobe.pbas,1291 :: yy3 =
$1A46 $6F6E 0
MOVWF _text4+4, 1 $1A74 $6B19 CLRF
$1A48 $6F6F _yy3, 1
MOVWF _text4+5, 1 ;SmartGlobe.pbas,1292 :: kp1 =
$1A4A $6F70 0
MOVWF _text4+6, 1 $1A76 $6B71 CLRF
$1A4C $6F71 _kp1, 1
MOVWF _text4+7, 1 $1A78 $D042 BRA
$1A4E $6F72 SmartGlobe_L_689
MOVWF _text4+8, 1 ;SmartGlobe.pbas,1294 :: else
$1A50 $6F73 $1A7A $ SmartGlobe_L_688:
MOVWF _text4+9, 1 ;SmartGlobe.pbas,1297 :: if kp
$1A52 $6F74 = kp1 then
MOVWF _text4+10, 1 $1A7A $0100
$1A54 $6F75 MOVLB 0
MOVWF _text4+11, 1 $1A7C $51CA
$1A56 $6F76 MOVF _kp, 0, 1
MOVWF _text4+12, 1 $1A7E $0103
$1A58 $6F77 MOVLB 3
MOVWF _text4+13, 1 $1A80 $1971
$1A5A $6F78 XORWF _kp1, 0, 1
MOVWF _text4+14, 1 $1A82 $E120 BNZ
$1A5C $6F79 SmartGlobe_L_706
MOVWF _text4+15, 1 $1A84 $ SmartGlobe_L_705:
$1A5E $6F7A ;SmartGlobe.pbas,1299 :: if yy3
MOVWF _text4+16, 1 = 9 then

Appendix F F-27
$1A84 $5119 $1AB0 $0103
MOVF _yy3, 0, 1 MOVLB 3
$1A86 $0A09 $1AB2 $D000 BRA
XORLW 9 SmartGlobe_L_713
$1A88 $E103 BNZ ;SmartGlobe.pbas,1313 :: else
SmartGlobe_L_709 $1AB4 $ SmartGlobe_L_712:
$1A8A $ SmartGlobe_L_708: ;SmartGlobe.pbas,1317 :: end
;SmartGlobe.pbas,1300 :: yy3 = if
0 $1AB4 $ SmartGlobe_L_713:
$1A8A $6B19 CLRF ;SmartGlobe.pbas,1319 :: kp2 =
_yy3, 1 4000
$1A8C $EF49 F00D $1AB4 $0103
GOTO SmartGlobe_L_710 MOVLB 3
;SmartGlobe.pbas,1301 :: else $1AB6 $0EA0
$1A90 $ SmartGlobe_L_709: MOVLW 160
;SmartGlobe.pbas,1302 :: $1AB8 $6F48
inc(yy3) MOVWF _kp2, 1
$1A90 $2B19 INCF $1ABA $0E0F
_yy3, 1, 1 MOVLW 15
;SmartGlobe.pbas,1303 :: end $1ABC $6F49
if MOVWF _kp2+1, 1
$1A92 $ SmartGlobe_L_710: ;SmartGlobe.pbas,1320 ::
;SmartGlobe.pbas,1305 :: if kp2 manipulate
= 0 then $1ABE $EC7D F010 CALL
$1A92 $0E00 _manipulate
MOVLW 0 $1AC2 $D01A BRA
$1A94 $1949 SmartGlobe_L_707
XORWF _kp2+1, 0, 1 ;SmartGlobe.pbas,1322 :: else
$1A96 $E102 BNZ $1AC4 $ SmartGlobe_L_706:
L_main_15 ;SmartGlobe.pbas,1324 :: if kp4
$1A98 $0E00 = 0 then
MOVLW 0 $1AC4 $0103
$1A9A $1948 MOVLB 3
XORWF _kp2, 0, 1 $1AC6 $514A
$1A9C $ L_main_15: MOVF _kp4, 0, 1
$1A9C $E10B BNZ $1AC8 $0A00
SmartGlobe_L_712 XORLW 0
$1A9E $ SmartGlobe_L_711: $1ACA $E10B BNZ
;SmartGlobe.pbas,1306 :: yy3 = SmartGlobe_L_718
0 $1ACC $ SmartGlobe_L_717:
$1A9E $6B19 CLRF ;SmartGlobe.pbas,1326 :: if yy
_yy3, 1 = yy2 then
;SmartGlobe.pbas,1307 :: if yy $1ACC $511C
= yy2 then MOVF _yy, 0, 1
$1AA0 $511C $1ACE $194C
MOVF _yy, 0, 1 XORWF _yy2, 0, 1
$1AA2 $194C $1AD0 $E104 BNZ
XORWF _yy2, 0, 1 SmartGlobe_L_721
$1AA4 $E104 BNZ $1AD2 $ SmartGlobe_L_720:
SmartGlobe_L_715 ;SmartGlobe.pbas,1327 :: yy =
$1AA6 $ SmartGlobe_L_714: yy1
;SmartGlobe.pbas,1308 :: yy = $1AD2 $C34B F31C
yy1 MOVFF _yy1, _yy
$1AA6 $C34B F31C $1AD6 $EF6E F00D
MOVFF _yy1, _yy GOTO SmartGlobe_L_722
$1AAA $EF58 F00D ;SmartGlobe.pbas,1328 :: else
GOTO SmartGlobe_L_716 $1ADA $ SmartGlobe_L_721:
;SmartGlobe.pbas,1309 :: else ;SmartGlobe.pbas,1329 ::
$1AAE $ SmartGlobe_L_715: inc(yy)
;SmartGlobe.pbas,1310 :: $1ADA $2B1C INCF
inc(yy) _yy, 1, 1
$1AAE $2B1C INCF ;SmartGlobe.pbas,1330 :: end
_yy, 1, 1 if
;SmartGlobe.pbas,1311 :: end $1ADC $ SmartGlobe_L_722:
if $1ADC $0103
$1AB0 $ SmartGlobe_L_716: MOVLB 3

Appendix F F-28
$1ADE $EF72 F00D ;SmartGlobe.pbas,1361 :: end
GOTO SmartGlobe_L_719 if
;SmartGlobe.pbas,1332 :: else $1AFE $ SmartGlobe_L_473:
$1AE2 $ SmartGlobe_L_718: $1AFE $EFA1 F003
;SmartGlobe.pbas,1335 :: kp4 = GOTO SmartGlobe_L_467
0 ;SmartGlobe.pbas,1362 ::
$1AE2 $6B4A CLRF wend
_kp4, 1 $1B02 $D7FF BRA
;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:

Appendix F F-29
Appendix G: User’s Manual
SmartGlobe Operations Manual

Appendix G G-1
Operating Instructions:

Power Switch

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)

Appendix G G-2
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.

Appendix G G-3
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

Appendix G G-4
Appendix H: Sample Receipts
Appendix H H-1
Appendix H H-2
Appendix H H-3
Appendix H H-4
Appendix H H-5
Appendix H H-6
Appendix H H-7
Appendix H H-8
Appendix H H-9

You might also like