SMARTGLOBE : The Electronic Country Locator
description
Transcript of SMARTGLOBE : The Electronic Country Locator
STI College – Makati
SmartGlobe: Electronic Country Locator Using a Standard Globe
A Thesis Project Presented to the Faculty ofSTI College – Makati
In Partial Fulfillmentof the Requirements for the Degree of
Bachelor of Science in Computer Engineering
by:
Benito, Reynaldo Jr. BEnjambre, Matthew D.Luchavez, Romel N.Mendoza, Glenn F.
Mr. Noel Jason M. HernandezThesis Adviser
March 2009
STI College – Makati
ADVISER’S RECOMMENDATION SHEET
This Thesis Project entitled
SmartGlobe: Electronic Country Locator Using a Standard Globe
by:
Benito, Reynaldo Jr. B.Enjambre, Matthew D.Luchavez, Romel N.Mendoza, Glenn F.
Submitted in partial fulfillment of the requirements of theBachelor of Science in Computer Engineering degree has been examined
and is recommended for acceptance and approval
Mr. Noel Jason M. Hernandez
Thesis Adviser
March 2009
STI College – Makati
PANEL’S APPROVAL SHEET
This Thesis Project entitled
SmartGlobe: Electronic Country Locator Using a Standard Globe
developed by:
Benito, Reynaldo Jr. B.Enjambre, Matthew D.Luchavez, Romel N.Mendoza, Glenn F.
After having been presented is hereby approvedby the following members of the panel
Mr. Riegie D. Tan Engr. Antonio M. LazonaPanelist Panelist
Dr. Emmalyn Capuno Panelist
STI College – Makati
THESIS COORDINATOR AND DEAN’S
ACCEPTANCE SHEET
This Thesis Project entitled
SmartGlobe: Electronic Country Locator Using a Standard Globe
After having been recommended and approved is hereby acceptedby the Computer Engineering Department
of STI College - Makati
Engr. Laura M. AlteaThesis Coordinator
Engr. Laura M. AlteaDean
March 2009
TABLE OF CONTENTSPage
1 INTRODUCTION
1.1 Statement of the Problem 1-21.1.1 General Problem 1-21.1.2 Specific Problems 1-2
1.2 Current State of the Technology 1-21.3 Objectives 1-4
1.3.1 General Objective 1-41.3.2 Specific Objectives 1-4
1.4 Scope and Limitations 1-51.5 Review of Related Studies 1-6
1.5.1 Foreign Studies 1-61.5.2 Local Studies 1-8
2 THEORETICAL FRAMEWORK
2.1 Introduction 2-12.2 Gimbal 2-12.3 Microcontroller 2-22.4 Embedded Design 2-32.5 Stepper Motor 2-5
3 SMARTGLOBE: ELECTRONIC COUNTRY LOCATOR USING A STANDARD GLOBE
3.1 Introduction 3-13.2 System Design Specifications 3-1
3.2.1 Globe 3-13.2.2 Microcontroller Unit 3-23.2.3 LCD 3-33.2.4 Keypad 3-43.2.5 Stepper Motor 3-43.2.6 Storage Device 3-43.2.7 Prototype Design 3-5
3.3 Summary 3-7
4 PERFORMANCE ANALYSIS
4.1 Introduction 4-14.2 Experimental 4-14.3 Results and Analysis 4-34.4 Summary 4-4
5 CONCLUSION AND RECOMMENDATION
5.1 Conclusion 5-15.2 Recommendation 5-1
BibliographyAppendicesResource PersonPersonal 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.
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-1
1.0 INTRODUCTION
Origination in the 1490's, the world globe has been a fixture in society
ever since. Today's world globes have been perfected for accurate scientific and
scholastic use. World globes are no longer limited merely to scientific and
scholastic circles. In recent years many people have begun to integrate world
globes into their homes as a stylish accent to its overall décor. There is a huge
variety of both traditional and contemporary world globes available today.
Student, fine art, gemstone, scientific, interactive, and illuminated world globes
are available in tabletop styles and stand-alone models.
For years since the actual globe is made, professionals, scientists, and
students rely on locating countries based on latitudes and longitudes, since it is
wide in terms of geographical settings, it is much complicated to those who were
unfamiliar or who do not have any knowledge in locating countries with the use
of coordinate that are tiring and confusing.
One of the basic uses of the globe is to find places cities, nations, land
areas and water areas. Just as easy as finding the busiest street corner in your
home town. Finding a place is not enough unless seeing it in its true geographical
relationship to the rest of the world or seeing those countries which are its
neighbors and the true distances and directions between them [ANON2006].
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-2
1.1 Statement of the Problem
1.1.1 General Problem
How to design and develop a Microcontroller Unit (MCU)
Based Electronic Globe Country locator that will expedite
the searching of country?
1.1.2 Specific Problems
How to design and construct a circuit that would allow the
user to input code of the country to be located?
How to make the globe automatically rotate and pinpoint a
particular country?
How to present additional information about the located
country?
1.2 Current State of the Technology
Modern world globes now come in a numerous of styles are
constructed out of many beautiful materials. Most modern globes are
imprinted with parallels and meridians where a specific point on the
surface of the planet is located. All lines running east and west, parallel to
the equator, are called latitude lines and the lines running north and south
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-3
from pole to pole are called longitude lines which are shown at 15°
intervals [REPL2008].
When locating countries within the globe, knowing the prime
meridian and the equator will be a good idea to start your search. Knowing
the right coordinates of the country will give the exact location.
Another method is by knowing the neighboring countries,
familiarity within the area, and the geographical setting is also a good
reference when searching. Same applies to the continents. For example,
Kuwait is a small country difficult to locate. Looking for neighboring
countries larger in size like Iran or Iraq is a way to look for the country.
But relying to these methods is not applicable to some situations.
City-state countries like on Middle East Asia and in some territories in
Europe are difficult to find since their neighboring countries are relatively
small. In some state, the Island Nations like Fiji, Tuvalu, and Tonga, are
also hard to locate since the area is surrounded by large bodies of water
like the Pacific Ocean.
The approaches stated above explains the way in using the globe
that demands enhancement, since different methods finding the right
locations is not that reliable and requires some effort.
In today's age of technology, people are now more than ever
allowed the luxury of communicating with people from all over the world.
Though technology brings us many things we all use and enjoy, some
things simply cannot be replaced by a computer screen or pure data. To
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-4
many people, a world globe is among the items that simply cannot be
outdated by new electronic technology. Satellite data collecting, imagery,
and general computer data processing have all helped the globe and map
industry immeasurably. These technologies allow globe makers to offer a
much higher level of detail and accuracy than ever before. Still, there is
just no replacement for a 3 dimensional model of our planet.
1.3 Objectives
1.3.1 General Objective
To design and develop a Microcontroller Unit (MCU)
Based Electronic Globe Country locator that will expedite
the searching of country.
1.3.2 Specific Objectives
To construct a numeric keypad that would allow the user to
input the code of a country.
To construct a mechanism that would enable the globe to
rotate and pinpoint a particular country.
To provide an output device that would display information
about the located country.
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-5
1.4 Scope and Limitations
The project will cover the following:
The prototype will locate and pinpoint the corresponding country
with the use of two stepper motors. One stepper motor would
rotate the globe horizontally clockwise and counter-clockwise.
The prototype will display the current information of the country
that is located using a four-line LCD. Information to be displayed
includes the country name, coordinates, currency, and capital city.
The prototype will have an alphabetically arranged list of countries
with its corresponding country code that would serve as an input to
the keypad.
A globe measuring 12 inches in diameter will be used in the
prototype. The whole unit, composed of the globe, stand, keypad
and LCD, would measure 27 inches in height, with the base that
measures 19.5 by 14 by 6.5 inches.
The information saved in the storage device can be modified
within the prototype, using the keypad.
The prototype can be manually spun to preset on the default
position in case of shut down or suddenly movement.
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-6
The project will not cover the following:
The prototype will not be able to locate specific locations inside a
country besides the capital city.
The stepper motor to be used to rotate the globe has only 200 steps,
limiting the accuracy of the device to 1.8 degrees per step when
locating a particular country.
The prototype will not cover the changes in geographical settings
or declaration of new countries since the program will be based on
the standard globe at present time.
1.5 Review of Related Studies
1.5.1 Foreign Studies
Google Earth
Google Earth is a proprietary virtual globe program that
was originally called Earth Viewer, and was created by Keyhole,
Inc, a company acquired by Google in 2004. It maps the earth by
the superimposition of images obtained from satellite imagery,
aerial photography and GIS 3D globe. Google Earth allows users
to search for addresses for some countries, enter coordinates, or
simply use the mouse to browse to a location. The product is
currently available for use on personal computers running
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-7
Microsoft Windows 2000, XP, or Vista, Mac OS X 10.3.9 and
above, Linux, and FreeBSD. Google Earth is also available as a
browser plug-in for Firefox, IE6, or IE7. In addition to releasing an
updated Keyhole based client, Google also added the imagery from
the Earth database to their web based mapping software. The
release of Google Earth in mid 2006 to the public caused a more
than tenfold increase in media coverage on virtual globes between
2006 and 2007, driving public interest in geospatial technologies
and applications.
The concept of locating a country was the main idea that
the group adapt from it. But which, the project will be mainly
controlled by an MCU.
Eartha: World's Largest Rotating Globe
Eartha is a 3-dimensional scale model of our earth with
mountains and landforms in full 3D that rotates and revolves,
simulating the earth’s real movements. It measures 41.5 ft in
diameter. Unveiled July 23, 1998 Eartha took two years to build
and represents earth as it is seen from space. Every aspect of
Eartha was developed using computer technology. It was designed
by David DeLorme, CEO and constructed by DeLorme staff
members. The surface is composed of 792 panels printed from a
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-8
computerized database and incorporating shaded relief and depth
info, roadways and cities. Eartha tilts at 23.5 degrees, just as the
earth does. It revolves on a specially designed cantilever arm and
rotates on an axis. This action is powered by two electric-powered
motors, which are commanded by a computer. One combined
Eartha revolution and rotation occurs every minute at maximum
speed.
The application of motors for the rotation of the Eartha
globe is one of the similar approach that is used in moving the
project. The only purpose of this electric powered motor device is
for the rotation of the object and to show geographical features.
Unlike the SmartGlobe, these stepper motors are used for locating
countries.
1.5.2 Local Studies
Standard Globe
These Globes came in different designs and variations,
these made often made of plastics, cardboard, wood, and metallic
materials. Other types are inflatable and often came in different
size, some came with lightings to be viewable through the dark,
though the features of its functionality are the same.
SmartGlobe: Electronic Country Locator Using a Standard Globe 1-9
This standard-sized globe is the environment of the
SmartGlobe, in which the implementation of the embedded
systems will enhance the objects functions and capabilities.
SmartGlobe: Electronic Country Locator Using a Standard Globe 2-1
2.0 THEORETICAL FRAMEWORK
2.1 Introduction
The theoretical framework serves as a starting point for
investigation, as guidance for the first steps in the field. The theoretical
background that leads to the design of the project serves as a background
in the project development.
2.2 Gimbal
A gimbal is a pivoted support that allows the rotation of an object
about a single axis. A set of two gimbals, one mounted on the other with
pivot axes orthogonal, may be used to allow an object mounted on the
innermost gimbal to remain vertical regardless of the motion of its
support. For example, gyroscopes, shipboard compasses, stoves and even
drink holders typically use gimbals to keep them upright with respect to
the horizon despite the ship's pitching and rolling. [SART1999].
A basic advantage is that it provides a means of aligning and
inserting a gimbal drive and sensor assembly into position in which it
couples two gimbals along a rotation axis.
The present invention also provides a means of aligning and
engaging and disengaging an electro-mechanical subassembly into a
gimbal set or other system by means of a simple single manipulation
device which also makes all necessary interconnections. [JACO1993]
SmartGlobe: Electronic Country Locator Using a Standard Globe 2-2
The purpose of it was to set the globe to move on one axis giving
access through the countries that could be found in the upper and lower
part of the area. The upper and the lower threads attached to the gimbals
are used to support the globe together with the stepper motor that is
attached through the base (The motor set for the globe’s horizontal
movement).
2.3 Microcontroller
Microcontrollers generally can be classified into 8-bit, 16-bit, and
32-bit family based on the size of their arithmetic and index register(s). It
generally consists of ROM (Read Only Memory), RAM(Random Access
Memory), Stack Pointers, Registers, Accumulator, Input/Output Ports,
Timers, Analog to Digital Converter(ADC), Digital to Analog
Converter(DAC), UART or SPI (for communication purposes). Some
have special built in features that comes with Liquid Crystal Display
Driver (LCD) that will enable them to drive LCD displays, EEPROM
(Electrical Eraseable Programmable Read Only Memory) which is a non
volatile memory that will enable it to store data permanently.
It can be implemented using high level language or assembly
language. Clock speed determines how much processing can be
accomplished in a given amount of time by the MCU. Some have a narrow
clock speed range. Sometimes a specific clock frequency is chosen to
generate another clock required in the system, e.g. for serial baud rates.
SmartGlobe: Electronic Country Locator Using a Standard Globe 2-3
Generally the higher clock frequencies, the higher the system costs
because not only does it cost more, but so do all the support chips
required, such as RAM’s, ROM’s and bus drivers.
The processing technology of microcontrollers is N-channel metal-
oxide semiconductor (NMOS) or high-density complementary metal-oxide
semiconductor (HCMOS). In HCMOS, signals drive from rail-to-rail,
unlike earlier NMOS processors. Since these criteria can significantly
affect noise issues in system design, HCMOS uses less power and thus
generates less heat. The design geometries in HCMOS are smaller, which
permit denser designs for a given size and thus allow higher bus speeds.
The denser designs also allow lower cost, for more units can be processed
on the same sized silicon wafer. For these reasons, most MCUs today are
produced using HCMOS technology.
The entire system of this project is controlled with this device. The
signals are sent through pulses for the globe’s movement, storage
management, information displays and 16-digit keypad are all
programmed and interfaced to the mcu.
2.4 Embedded Design
An embedded system is a special-purpose computer system
designed to perform one or a few dedicated functions, often with real-time
computing constraints. It is usually embedded as part of a complete device
including hardware and mechanical parts. In contrast, a general-purpose
SmartGlobe: Electronic Country Locator Using a Standard Globe 2-4
computer, such as a personal computer, can do many different tasks
depending on programming. Embedded systems control many of the
common devices in use today.
Since the embedded system is dedicated to specific tasks, design
engineers can optimize it, reducing the size and cost of the product, or
increasing the reliability and performance. Some embedded systems are
mass-produced, benefiting from economies of scale.
Physically, embedded systems range from portable devices such as
digital watches and MP3 players, to large stationary installations like
traffic lights, factory controllers, or the systems controlling nuclear power
plants. Complexity varies from low, with a single microcontroller chip, to
very high with multiple units, peripherals and networks mounted inside a
large chassis or enclosure.
In general, "embedded system" is not an exactly defined term, as
many systems have some element of programmability. For example,
Handheld computers share some elements with embedded systems — such
as the operating systems and microprocessors which power them — but
are not truly embedded systems, because they allow different applications
to be loaded and peripherals to be connected.
The majority of computer systems in use today are embedded in
other machinery, such as automobiles, telephones, appliances, and
peripherals for computer systems. These are called embedded systems.
While some embedded systems are very sophisticated, many have minimal
SmartGlobe: Electronic Country Locator Using a Standard Globe 2-5
requirements for memory and program length, with no operating system,
and low software complexity. Typical input and output devices include
switches, relays, solenoids, LEDs, small or custom LCD displays, radio
frequency devices, and sensors for data such as temperature, humidity,
light level etc. Embedded systems usually have no keyboard, screen, disks,
printers, or other recognizable I/O devices of a personal computer, and
may lack human interaction devices of any kind. [BARR2008]
The use of MCU’s are considered to be an approach in
implementing embedded systems, which ensures reliability measures that
can optimize the SmartGlobe’s features. This can eliminate some certain
tasks like redundant measures such as using a software applications or
operating system, compatibility concerns, and cost issues. It could also
minimize exposure to adverse environmental conditions.
2.5 Stepper Motor
Stepper motors are widely used in applications in which an
accurate positioning of an output shaft is to be provided, their advantage
being that the output can be moved to any desired position from a known
starting position simply by generating an appropriate number of pulses to
drive the shaft incrementally. Stepper motors can thus be operated in an
open loop configuration and so there can be a great cost advantage over
servo-systems since neither a positional sensor nor feedback control
system is required.
SmartGlobe: Electronic Country Locator Using a Standard Globe 2-6
The precise mechanical constructions of stepper motors are many
and various, but generally a multiple pole motor together with a multi-
phase stator winding is employed. The greater the number of poles and
phases, the greater the resolution in the positional increment may be
achieved. Multi-phase motors are also capable of high power. Whatever
the construction, a stepper motor controller is required to generate, from
an applied input pulse, appropriate currents to the motor windings to make
the axis of the air gap field step around in coincidence with the input
pulse. [BURR1993]
The accuracy features of the stepper motors are considered to be
an important part of pinpointing several countries in the SmartGlobe
concerning the small land area, or the ones that are hard to locate. There
are two stepper motors. The one is set through the base for the horizontal
movement, and the other is positioned to the right side to move the globe
vertically.
SmartGlobe: Electronic Country Locator Using a Standard Globe 3-1
3.0 SMARTGLOBE: ELECTRONIC COUNTRY LOCATOR USING A
STANDARD GLOBE
3.1 Introduction
Locating Countries and navigating through coordinates take much
time. Even, familiarity through geography is not that accurate enough to
view these, since there are small countries not friendly to view. Sometimes
annoying gridlines would make countries hard to locate. These will be the
measures in order for the project to give ease, giving a nice output.
3.2 System Design Specifications
3.2.1 Globe
A 12-inch (30cm) globe weighting 2.2 lbs (1kg) is used.
The lightweight, durable globe sits in a scratch resistant, smoke
black base. Countries are colored to contrast with neighboring
countries and states. It has latitude lines in 15 degree increments
from the equator and longitude lines with 15 degree increments
from the prime meridian. The prime meridian is the line from pole
to pole, running through Greenwich, England, and serves as the
start point for all longitude lines.
SmartGlobe: Electronic Country Locator Using a Standard Globe 3-2
3.2.2 Microcontroller Unit
The microcontroller used to control the device is the
PIC18F458. It is a RISC CPU with the following specifications
and capabilities:
Operating speed: up to 40 MHz, Up to 10 MIPS
Operating voltage: 4.2-5.5V
Industrial temperature range (-40° to +85°C)
Linear program memory addressing up to 2 Mbytes
Linear data memory addressing up to 4 Kbytes
4-10 MHz oscillator/clock input with PLL active
16-bit wide instructions, 8-bit wide data path
75 instructions
Special Microcontroller Features
Flash Memory: 32 Kbytes (16,384 words)
Data SRAM: 1536 bytes
Data EEPROM: 256 bytes
In-Circuit Serial Programming via two pins
The Microcontroller was used to interface with the input
device in then form of the keypad, as well as the output device in
the form of the LCD screen. It is also used to control the
movement of the two stepper motors used to move the globe.
SmartGlobe: Electronic Country Locator Using a Standard Globe 3-3
3.2.3 LCD
The LCD controller is HD44780 (standard Hitachi
interface) compatible and has 4 lines of 20 characters each.
The HD44780U dot-matrix liquid crystal display controller
and driver LSI displays alphanumeric, Japanese kana characters,
and symbols. It can be configured to drive a dot-matrix liquid
crystal display under the control of a 4- or 8-bit microprocessor.
Since all the functions such as display RAM, character generator,
and liquid crystal driver, required for driving a dot-matrix liquid
crystal display are internally provided on one chip, a minimal
system can be interfaced with this controller/driver. A single
HD44780U can display up to one 8-character line or two 8-
character lines.
The HD44780U has pin function compatibility with the
HD44780S which allows the user to easily replace an LCD-II with
an HD44780U. The HD44780U character generator ROM is
extended to generate 208 5 ´ 8 dot character fonts and 32 5 ´ 10 dot
character fonts for a total of 240 different character fonts.
The low power supply (2.7V to 5.5V) of the HD44780U is
suitable for any portable battery-driven product requiring low
power dissipation.
The device will serve as an output in navigating countries
through the use of country code as the user’s input. It also displays
SmartGlobe: Electronic Country Locator Using a Standard Globe 3-4
information such as the country name, coordinates, capital, and
currency during the operation.
3.2.4 Keypad
These will function as the user’s input in the process of
locating desired country.
It also serves as a tool for updating profiles of the country
and modifications by simply adding and removing databases. The
mikroBasic compiler provides a hardware interface and code to
this module.
3.2.5 Stepper Motor
The researchers used a bipolar 2-phase stepper motor,
having 200 steps per revolution. During the operation, the two
stepper motors are used to rotate the globe on two axes. The
horizontal movement of the globe provided by the stepper motor
which would translate to a 1.8 degree of accuracy when
pinpointing the capital of a country (mapping of 200 steps to the
globes 360 degrees).
3.2.6 Storage Device
Country information will be stored using a 64 MB solid
state drive in the form of the Multimedia Card (MMC). PIC
SmartGlobe: Electronic Country Locator Using a Standard Globe 3-5
provides SPI features. Serial Peripheral Interface is a
communication method that was once used to connect devices such
as printers, cameras, scanners, etc. to a desktop computer. This
function has largely been taken over by USB, however SPI can still
be a useful communication tool for some applications. SPI runs as
a master slave set-up and can run in full duplex mode, meaning
that signals from the master to the slave and versa can be
transferred at the same time. SPI involves four lines, and is
therefore often termed the “four wire” serial bus. The four lines
are:
SCLK — Serial Clock (output from master)
MOSI/SIMO — Master Output, Slave Input (output from master)
MISO/SOMI — Master Input, Slave Output (output from slave)
SS — Slave Select (active low; output from master)
3.2.7 Prototype Design
The prototype was composed of a globe measuring 12
inches in diameter, stand, keypad and LCD (mounted at the base),
and would all-in-all measure 27 inches in height, with a base that
measures 19.5 by 14 by 6.5 inches.
SmartGlobe: Electronic Country Locator Using a Standard Globe 3-6
Figure 3-1: Prototype Design
The design calls for the use of a microcontroller to move
two motors that would rotate the globe so that a country would
face the user. The microcontroller would provide necessary I/O
lines to interface to an alphanumeric keypad and a LCD.
Figure 3-2: Schematic Diagram of the System
SmartGlobe: Electronic Country Locator Using a Standard Globe 3-7
The Layout of the circuit is designed through the Express
PCB software. The saved project is then printed through the
acetate and then use a presensitized PCB for the board tracing
process, in which keeping the board in contact with extreme
sunlight for 2 minutes, then placing the board in the developer
solution until the traces are visible. Once transferred, the board is
then submerged with the FeCl compound, producing an output
ready for drilling and mounting the components.
Figure 3-3: PCB Layout of the Main Board
SmartGlobe: Electronic Country Locator Using a Standard Globe 3-8
3.3 Summary
All the ideas and concepts made to build the SmartGlobe are based
through different approaches. These methods are carefully chosen and
used to interface several ways. These can be manipulated and refined
through the use of microcontroller unit.
Figure 3-4: Block Diagram of the System
SmartGlobe: Electronic Country Locator Using a Standard Globe 4-1
4.0 PERFORMANCE ANALYSIS
4.1 Introduction
In this chapter the proponents are to discuss the end results of the
numerous experiments and theories that the group has done. Like what the
group has proposed the main objective of this project is to be able to
design and develop a Microcontroller Unit (MCU) Based Electronic Globe
Country locator that will expedite the searching of country.
4.2 Experimental
Programming
The toughest part in making this system to work is the creation of
an algorithm when performing new search of a country after the other with
the use of a compiler written in a basic language (software used in
embedding codes through the microcontroller). Though the idea is so
simple that after a country has been located, the next action is to locate a
new one starting to the previous one as an origin. The experiment that the
proponents had conducted was to know if saving a country’s current
coordinates would allow the project to locate the country. The movement
of the 2 motors should rotate the globe according to the programmed
coordinates.
SmartGlobe: Electronic Country Locator Using a Standard Globe 4-2
Accuracy
This phase concerns the proper alignment of the globe with the
gimbals that holds it, in which the proponent’s objective is to make the
country location more accurate. The experiment that had been conducted
was to know if adding a counterweight or making a balancer to prototype
will prevent the gimbals from freewheeling in its axis movement. The
activity here is to get the actual weight of the gearbox and stepper
motor (which is 58 grams) located through the base (the one that rotates
the globe horizontally) in order to produce a proportional counterweight
through that of the object. After the activity is done, proper wiring of the
entire hardware must be carefully installed to avoid obstruction in running
the system.
Hardware
The stage focuses more on implementing the actual structure of the
project, this includes the globe, gearbox, stand and the gimbals, proper
wiring and ventilation. This is to test how the overall hardware
implementation of the project works. The proponents subjected the
prototype to a test run by trying to locate 10 countries in succession. All
problems during the batch run will be analyzed so they can be properly
addressed.
SmartGlobe: Electronic Country Locator Using a Standard Globe 4-3
Table 4.1: Table of Experiments
Experiment # Topics Remarks1 Review on Circuitry and Electronics This cover the basic and
advance principles on electronics
2 Review on Programming A review on different programming languages like Assembly Language, Visual Basic, and C Language.
3 Introduction on Embedded Systems and Microcontrollers
A study on the concepts of microcontrollers and it’s applications
4 Study on PIC Microchip IC Among the commercial IC’s used today, proponents used PIC IC’s because of it’s flexibility and good features
5 Circuit Interfacing based on PIC Microchip IC
Study on circuit interfacing based on PIC
6 Study on different compilers for PIC Microchip IC
Study on compiler’s based on PIC, commonly based on C, Basic, and Assembly
7 Choosing the compiler needed to build the project
Proponents prefer MicroBasic compiler based on Basic Language
8 Study on the mechanical structure of the project model
Includes the proper alignment, and preferred parts and design
9 In-depth study of the MicroBasic compiler software
Study on the features and other capabilities on the software, and proper implementation
10 Project Refinement Process Numerous revising and improvising are covered in this stage to finalized the project
SmartGlobe: Electronic Country Locator Using a Standard Globe 4-4
4.3 Results and Analysis
Programming
After examining and debugging the code that would control the 2
motors. It is now possible to locate countries whose coordinates are stored
in the system memory.
Accuracy
Putting a counterweight helped reduce the risk of freewheeling of
the globe’s gimbals. The gearbox is also consider the factor in adding
more strength to hold the gimbals, and without the proper alignment of the
globe installed, the system will not run as expected.
Hardware
During the batch run, it was noted by the group that the project
exhibited a slight trembling as the motor moves the globe along its axes.
The problem was attributed to an unsteady base. The use of the angle bar
as base material is enough to provide a steady stand to avoid trembling
when running the system. The experiment was conducted to know if using
an angle bar as a base will prevent the object from shaking. After the task
is finished, proper alignment for accuracy must be implemented (see
Accuracy). It was also observed that the ambient temperature inside the
case is high due to the motor driver which gives off a considerable amount
SmartGlobe: Electronic Country Locator Using a Standard Globe 4-5
of heat. Proper ventilation with the use of fan must be installed to prevent
the circuit for overheating. As for the project’s wiring, the proponents will
provide flexible hose to hide and organize the wires. A box made of
aluminum material to serve as a chassis for the gearbox, and acrylic
material for the base’s frame. The use of flexible hose is good in hiding
the wires to make the prototype more presentable.
4.4 Summary
The result and analysis shows that the SmartGlobe: Electronic
Country Locator objectives has been covered well. The movement of the
globe was stabilized with the introduction of the counterweight and the
project was able to move the motor based on coordinates stored in
memory.
SmartGlobe: Electronic Country Locator Using a Standard Globe 5-1
5.0 CONCLUSION AND RECOMMENDATION
Conclusion
The proponents had developed SmartGlobe: Electronic Country Locator to
help the user in locating and giving some information of the particular country
that are located. The SmartGlobe eliminates the need of randomly rotating the
globe in the hope of locating an unfamiliar country, so users can locate a country
without the need to know its coordinates.
Recommendation
For future enhancements, the proponents recommend to make use of a
stronger stepper motor gear that would hold the globe so it would not slip down
when it locates the country. Still, the improvement on the entire scope of the
projects focuses on the accuracy. Using a faster motor can also be used to hasten
the seek time when moving the globe to the correct axes. Powerful electromagnets
can also be used to replace the gimbals making the globe levitate on its axes. For
country information, aural presentation of country information with the use of
built-in speakers can enhance the user experience.
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
Appendix B B-1
Glossary of Terms
1. Abridge - To make shorter; to shorten in duration; to lessen; to
diminish; to curtail; as, to abridge labor; to abridge power or rights.
2. International Date Line (IDL) - is an imaginary line on the surface of
the Earth opposite the Prime Meridian which offsets the date as one
travels east or west across it
3. Latitude - usually denoted symbolically by the Greek letter phi, ,
gives the location of a place on Earth north or south of the equator.
Lines of Latitude are the horizontal lines shown running east-to-west on
maps.
4. Longitude - is the north - south (Up to Down) geographic coordinate
measurement most commonly used in cartography and global
navigation.
5. Meridian - (or line of longitude) is an imaginary arc on the Earth's
surface from the North Pole to the South Pole that connects all
locations running along it with a given longitude.
6. Prime Meridian - is the meridian (line of longitude) at which longitude
is defined to be 0°.
7. Equator - Runs East and West around the exact middle of the globe.
Appendix C: Transcript of Interviews
Appendix C C-1
Theory on Gears, Approaches and method of construction
Proponents: Reynaldo Benito Jr., Matthew Enjambre, Romel Luchavez, Glenn Mendoza
Proponents: Do you provide some ready-made gears from the motors you sell here?
Seller: Hmm… Not exactly because there are motors here that came with attached gears, most of these are surplus and only few are new kasi we only provide small stepper motors. But if you are knowledgeable, you can make your own set of gears or gearboxes. We provide some spare parts for gears
Proponents: About these gears, ahh. Can there be some services you offer about constructing gearboxes?
Seller: Uhmm, for now, we don’t provide services for that
Proponents: Do you know a shop where they can customize, fabricate, construct gearboxes? Most of the ones we visited only provide fixed gears, and most of them are made for industrial works.
Seller: Uhm, you could at least try those machine shops there in Caloocan, you can go through LRT. I think they fabricate gears.
Proponents: Thanks.
Hardware: Inquiries on Microprocessor/Microcontroller IC’s
Proponents: What’s the difference between Zilog and PIC Microchip IC’s
Seller: of course Zilog is a microprocessor chip, while the PIC micro IC’s are what they called microcontrollers.
Proponents: How can you distinguish their differences?
Seller: Since I’m just a seller, it depends on the number of pins, and the manufacturer of course. But I think Zilog IC’s are a bit cheaper than the PIC micro. But our technical staff may provide you some helpful information about these IC’s. (small conversation with the staff)
Proponents: Sir, about those IC’s, can you tell use the differences?
Technical Staff: Microprocessors are IC’s that can be found on pc’s, in order for them to function, they need a separate RAM and ROM, when interfacing, you need to construct a circuit for a specific device since all of these ports are based on I/O’s. These are contrary to the microcontrollers that have built-in features that microprocessors doesn’t have.
Appendix D: Project Costing
Appendix D D-1
Table D.1: Project Design Costing
Planning Number of hours estimated to complete all planning activities Includes time on outside and inside implementation
Contract Labor This entry is for all implementation costs for work provided by outside
contractors In this project, all implementation activities which include the alignment,
welding, acrylic installation and paint finish totaled ___P 2,000____
Tools and Equipment Tools needed to build the project in terms of software and hardware, this includes
the PickIT Programmer bundled with Development Board for inCD Debugging, PIC IC’s 16f and 18f series, Compiler and Utility Software, and tools necessary for both experimentation and implementation
Internal Implementation Enter the number of hours estimated to complete all installation activities,
programming, interfacing and gathering of resources
Parts This covers the total costs of parts needed in building the project
Capital Costs Include all equipment and material purchased to complete the project.
Entry Unit Cost/TimePlanning Hour/s 3240Contract Labor: Alignment Php 1800 Acrylic Installation Php 100 Paint Finish Php 100Tools & Equipment/s: PickIT Debug Express Php 3071.73 PIC Microchip IC’s Php 2903.76 Other Hardware Tools Php n/aInternal Implementation Hour/s 1440Project Parts Php 20184.49Capital Cost Php 30000Implementation Cost Php 1600
Appendix D D-2
Table D.2: Materials Costing
Materials: No. of Units/Meters: Unit Price: Price:PickIt2 Programmer 1 pc 2300 3071.73PIC18F458 IC 3 pcs 789 2153.76Stepper Motors 4 pcs 150 600L298a Motor Driver IC 6 pcs 187.25 1123.50L297 Motor Driver IC 6 pcs 189.75 1138.50Pre-sensitized PCB 6 pcs 190 1140Assorted Resistors 4 packs 15 60Assorted Capacitors Electrolytic 50 pcs 4 200Assorted Capacitors Ceramic 25 pcs 4 10012-inch in Diameter Globe 1 pc. 3200 3200Kaynar Wires 20 bundles 10 200Solid Wires 15 meters 10 1501 Ampere Multi-tap Transformer 2 pcs 120 240500 mA Multi-tap Transformer 1 pc. 80 80Assorted transistors PNP/ NPN 30 pcs 15 450Transistor Regulator (5V & 12V) 10 pcs 13 130Soldering Lead 20 meters 10 200Alligator Clips 2 packs 56 112LCD 4 x 20 lines 1 pcs 1780 1780Tact Switch 16 pcs 8.50 136Female Connectors (Asstd) 10 pcs 15 150Male Connectors (Asstd) 15 pcs 13 195Crystal Oscillator 4Mhz 2 pcs 17 34Diodes (Assorted) 50 pcs 2.50 125Buzzer Signal 2 pcs 60 120Laser Pointer 1 pc 250 250Heat Sinks 5 pcs 20 100Soldering Paste 1 pc 30 30Ferric Chloride 3 packs (powder) 20 60Acrylic 15 x 20 meters 600 600MMC 128 MB 1 pc 700 700MMC Socket 1 pc 350 350Steel Rod 1pc 395 395Bearings 4 pcs 90 360Flat bar 1 pc 360 360Drill Bit 1 pc 90 90
Total: P 20,184.49
Appendix D D-3
Benefits
Additional mode of topic presentation for subjects that deals with geographical locations.
Reduced preparation time for educators. Reduced material costs for preparation of visual aids. Teachers are provided with an effective tool to integrate technology into their
curriculum and use technology in ways that enhance instructional opportunities and successes for all students.
Learning process in the classroom can become significantly richer as students have access to new and different types of information which they can directly manipulate. Learning becomes a hands-on experience.
The use of technology in the classroom can improve students' motivation and attitudes about themselves and about learning. Technology-rich classes report higher attendance and lower dropout rates than traditional classes [DWYE1994]. Students are found to be challenged, engaged, and more independent when using technology.
Technology helps teachers improve their classroom practice by expanding their opportunities for training students.
Appendix E: List of Country Codes
Appendix E E-1
Name of Country Country Code
Afghanistan 0004Albania 0008 Algeria 0012 Andorra 0020 Angola 0024 Antigua and Barbuda 0028 Argentina 0032 Armenia 0051 Aruba 0533 Australia 0036 Austria 0040 Azerbaijan 0031 Bahamas 0044 Bahrain 0048 Bangladesh 0050 Barbados 0052 Belarus 0112 Belgium 0056 Belize 0084 Benin 0204 Bhutan 0064 Bolivia 0068 Bosnia and Herzegovina 0070 Botswana 0072 Brazil 0076 Brunei Darussalam 0096 Bulgaria 0100 Burkina Faso 0854 Burundi 0108 Cambodia 0116 Cameroon 0120 Canada 0124 Cape Verde 0132 Central African Republic 0140 Chad 0148 Chile 0152 China 0156 Colombia 0170 Comoros 0174 Congo 0180 Costa Rica 0188 Côte d'Ivoire 0384 Croatia 0191 Cuba 0192 Cyprus 0196 Czech Republic 0203
Appendix E E-2
Name of Country Country Code
Denmark 0208 Djibouti 0262 Dominica 0212 Dominican Republic 0214 Ecuador 0218Egypt 0818 El Salvador 0222 Equatorial Guinea 0226 Eritrea 0232 Estonia 0233 Ethiopia 0231 Fiji 0242 Finland 0246 France 0250 Gabon 0266Gambia 0270 Georgia 0268 Germany 0276 Ghana 0288 Greece 0300 Grenada 0308 Guatemala 0320 Guinea 0324 Guinea-Bissau 0624 Guyana 0328 Haiti 0332
Holy See (Vatican City State) 0336Honduras 0340 Hungary 0348 Iceland 0352 India 0356 Indonesia 0360 Iran 0364 Iraq 0368
Ireland 0372 Israel 0376 Italy 0380 Jamaica 0388 Japan 0392 Jordan 0400 Kazakhstan 0398 Kenya 0404 Kiribati 0296 North Korea 0408 South Korea 0410 Kuwait 0414
Appendix E E-3
Name of Country Country Code
Kyrgyzstan 0417 Latvia 0428 Lebanon 0422 Lesotho 0426 Liberia 0430
Libya 0434 Liechtenstein 0438 Lithuania 0440 Luxembourg 0442
Macedonia 0807 Madagascar 0450 Malawi 0454 Malaysia 0458 Maldives 0462 Mali 0466 Malta 0470 Marshall Islands 0584 Mauritania 0478 Mauritius 0480 Mexico 0484 Moldova 0498
Monaco 0492 Mongolia 0496 Montenegro 0499 Morocco 0504 Mozambique 0508 Myanmar 0104 Namibia 0516 Nauru 0520
Nepal 0524 Netherlands 0528 New Zealand 0554 Nicaragua 0558
Niger 0562 Nigeria 0566 Norway 0578 Oman 0512 Pakistan 0586 Panama 0591 Papua New Guinea 0598 Paraguay 0600 Peru 0604 Philippines 0608 Poland 0616 Portugal 0620 Qatar 0634
Appendix E E-4
Name of Country Country Code
Romania 0642 Russia 0643 Rwanda 0646 Saint Kitts and Nevis 0659 Saint Lucia 0662 Saint Vincent and the Grenadines 0670 Samoa 0882 San Marino 0674 Sao Tome and Principe 0678 Saudi Arabia 0682 Senegal 0686 Serbia 0688 Seychelles 0690 Sierra Leone 0694 Singapore 0702 Slovakia 0703 Slovenia 0705 Solomon Islands 0090 Somalia 0706 South Africa 0710 Spain 0724 Sri Lanka 0144 Sudan 0736 Suriname 0740 Swaziland 0748 Sweden 0752
Switzerland 0756 Syria 0760 Tajikistan 0762 Tanzania 0834 Thailand 0764 Timor-Leste 0626 Togo 0768 Tonga 0776 Trinidad and Tobago 0780 Tunisia 0788 Turkey 0792 Turkmenistan 0795 Tuvalu 0798 Uganda 0800 Ukraine 0804 United Arab Emirates 0784 United Kingdom 0826 United States 0840 Uruguay 0858 Uzbekistan 0860
Appendix E E-5
Name of Country Country Code
Vanuatu 0548 Venezuela 0862 Viet Nam 0704 Yemen 0887 Zambia 0894 Zimbabwe 0716
Appendix F: Program Listing
Appendix F F-1
; ADDRESS OPCODE ASM; ----------------------------------------------$0000 $EF04 F000
GOTO _main$490A $ _delay_1us:;Delays.pbas,13 :: sub procedure Delay_1us;Delays.pbas,15 :: Delay_us(1)$490A $0000 NOP$490C $ Delays_L_2:$490C $0012
RETURN$481C $ _delay_5500us:;Delays.pbas,43 :: sub procedure Delay_5500us;Delays.pbas,45 :: Delay_us(5500)$481C $0E08
MOVLW 8$481E $6E0B
MOVWF STACK_11, 0$4820 $0EFF
MOVLW 255$4822 $6E0A
MOVWF STACK_10, 0$4824 $2E0B
DECFSZ STACK_11, F, 0$4826 $D001 BRA
$+2$4828 $D003 BRA
$+4$482A $2E0A
DECFSZ STACK_10, F, 0$482C $D7FE BRA
$-1$482E $D7FA BRA
$-5$4830 $0E1E
MOVLW 30$4832 $6E0A
MOVWF STACK_10, 0$4834 $2E0A
DECFSZ STACK_10, F, 0$4836 $D7FE BRA
$-1$4838 $ Delays_L_8:$4838 $0012
RETURN$48D6 $ _delay_50us:;Delays.pbas,28 :: sub procedure Delay_50us;Delays.pbas,30 :: Delay_us(50)$48D6 $0E10
MOVLW 16$48D8 $6E0A
MOVWF STACK_10, 0$48DA $2E0A
DECFSZ STACK_10, F, 0$48DC $D7FE BRA
$-1$48DE $0000 NOP$48E0 $ Delays_L_5:$48E0 $0012
RETURN$4858 $ _setfun32:$4858 $0100
MOVLB 0
;math_double.ppas,152 :: ;math_double.ppas,160 :: $485A $840B BSF
STACK_11, FUN, 0;math_double.ppas,161 :: $485C $AE0B
BTFSS STACK_11, SAT, 0;math_double.ppas,163 :: $485E $EF38 F024
GOTO SETFUN32EEE;math_double.ppas,164 :: $4862 $0E01
MOVLW 0X01;math_double.ppas,165 :: $4864 $6E03
MOVWF STACK_3, 0;math_double.ppas,166 :: $4866 $6A02 CLRF
STACK_2, 0;math_double.ppas,167 :: $4868 $6A01 CLRF
STACK_1, 0;math_double.ppas,168 :: $486A $6A00 CLRF
STACK_0, 0;math_double.ppas,169 :: $486C $360A RLCF
STACK_10, F, 0;math_double.ppas,170 :: $486E $3202 RRCF
STACK_2, F, 0;math_double.ppas,171 :: $4870 $ SETFUN32EEE:;math_double.ppas,172 :: $4870 $0EFF
MOVLW 0XFF;math_double.ppas,173 :: $4872 $ math_double_L_4:;math_double.ppas,174 :: $4872 $0012
RETURN$4900 $ _fixsign32:$4900 $0100
MOVLB 0;math_double.ppas,123 :: ;math_double.ppas,127 :: $4902 $AE0A
BTFSS STACK_10, 7, 0;math_double.ppas,128 :: $4904 $9E02 BCF
STACK_2, 7, 0;math_double.ppas,129 :: $4906 $0E00
MOVLW 0;math_double.ppas,130 :: $4908 $ math_double_L_2:;math_double.ppas,131 :: $4908 $0012
RETURN$4874 $ _setfov32:$4874 $0100
MOVLB 0;math_double.ppas,86 :: ;math_double.ppas,94 :: $4876 $820B BSF
STACK_11, FOV, 0
Appendix F F-2
;math_double.ppas,95 :: $4878 $AE0B
BTFSS STACK_11, SAT, 0;math_double.ppas,97 :: $487A $EF45 F024
GOTO SETFOV32EEE;math_double.ppas,98 :: $487E $6803 SETF
STACK_3, 0;math_double.ppas,99 :: $4880 $6802 SETF
STACK_2, 0;math_double.ppas,100 :: $4882 $6801 SETF
STACK_1, 0;math_double.ppas,101 :: $4884 $6800 SETF
STACK_0, 0;math_double.ppas,102 :: $4886 $360A RLCF
STACK_10, F, 0;math_double.ppas,103 :: $4888 $3202 RRCF
STACK_2, F, 0;math_double.ppas,104 :: $488A $ SETFOV32EEE:;math_double.ppas,105 :: $488A $0EFF
MOVLW 0XFF;math_double.ppas,106 :: $488C $ math_double_L_0:;math_double.ppas,107 :: $488C $0012
RETURN$48B6 $ _res032:$48B6 $0100
MOVLB 0;math_double.ppas,135 :: ;math_double.ppas,141 :: $48B8 $6A02 CLRF
STACK_2, 0;math_double.ppas,142 :: $48BA $6A01 CLRF
STACK_1, 0;math_double.ppas,143 :: $48BC $6A00 CLRF
STACK_0, 0;math_double.ppas,144 :: $48BE $6A08 CLRF
STACK_8, 0;math_double.ppas,145 :: $48C0 $6A03 CLRF
STACK_3, 0;math_double.ppas,146 :: $48C2 $0E00
MOVLW 0;math_double.ppas,147 :: $48C4 $ math_double_L_3:;math_double.ppas,148 :: $48C4 $0012
RETURN$352A $ _lcd_cmd:;Lcd.ppas,17 :: ;Lcd.ppas,18 :: $352A $0EFF
MOVLW 255
$352C $1415 ANDWF lcd_dataport_address, 0, 0
$352E $6EE9 MOVWF FSR0L, 0
;Lcd.ppas,19 :: $3530 $C016 F000
MOVFF lcd_dataport_address+1, STACK_0$3534 $C000 FFEA
MOVFF STACK_0, FSR0H;Lcd.ppas,20 :: $3538 $0EFF
MOVLW 255$353A $1417
ANDWF lcd_ctrlport_address, 0, 0$353C $6EE1
MOVWF FSR1L, 0;Lcd.ppas,21 :: $353E $C018 F000
MOVFF lcd_ctrlport_address+1, STACK_0$3542 $C000 FFE2
MOVFF STACK_0, FSR1H;Lcd.ppas,23 :: $3546 $1C19
COMF lcd____menable, 0, 0$3548 $6E00
MOVWF STACK_0, 0$354A $5000
MOVF STACK_0, 0, 0$354C $16E7
ANDWF INDF1, 1, 0;Lcd.ppas,24 :: $354E $1C1A
COMF lcd____mrs, 0, 0$3550 $6E00
MOVWF STACK_0, 0$3552 $5000
MOVF STACK_0, 0, 0$3554 $16E7
ANDWF INDF1, 1, 0;Lcd.ppas,25 :: $3556 $501C
MOVF lcd____mdb6, 0, 0$3558 $101B
IORWF lcd____mdb7, 0, 0$355A $6E00
MOVWF STACK_0, 0$355C $501D
MOVF lcd____mdb5, 0, 0$355E $1200
IORWF STACK_0, 1, 0$3560 $501E
MOVF lcd____mdb4, 0, 0$3562 $1200
IORWF STACK_0, 1, 0$3564 $1E00
COMF STACK_0, 1, 0$3566 $5000
MOVF STACK_0, 0, 0$3568 $16EF
ANDWF INDF0, 1, 0;Lcd.ppas,27 :: $356A $6A01 CLRF
STACK_1, 0$356C $0103
MOVLB 3
Appendix F F-3
$356E $BFDA BTFSC FARG_Lcd_Cmd, 7, 1
$3570 $2A01 INCFSTACK_1, 1, 0
$3572 $5001 MOVF STACK_1, 0, 0
$3574 $0A01 XORLW 1
$3576 $E102 BNZLcd_L_2
$3578 $ Lcd_L_1:;Lcd.ppas,28 :: $3578 $501B
MOVF lcd____mdb7, 0, 0$357A $12EF
IORWF INDF0, 1, 0$357C $ Lcd_L_2:$357C $ Lcd_L_3:;Lcd.ppas,29 :: $357C $6A01 CLRF
STACK_1, 0$357E $BDDA
BTFSC FARG_Lcd_Cmd, 6, 1$3580 $2A01 INCF
STACK_1, 1, 0$3582 $5001
MOVF STACK_1, 0, 0$3584 $0A01
XORLW 1$3586 $E102 BNZ
Lcd_L_5$3588 $ Lcd_L_4:;Lcd.ppas,30 :: $3588 $501C
MOVF lcd____mdb6, 0, 0$358A $12EF
IORWF INDF0, 1, 0$358C $ Lcd_L_5:$358C $ Lcd_L_6:;Lcd.ppas,31 :: $358C $6A01 CLRF
STACK_1, 0$358E $BBDA
BTFSC FARG_Lcd_Cmd, 5, 1$3590 $2A01 INCF
STACK_1, 1, 0$3592 $5001
MOVF STACK_1, 0, 0$3594 $0A01
XORLW 1$3596 $E102 BNZ
Lcd_L_8$3598 $ Lcd_L_7:;Lcd.ppas,32 :: $3598 $501D
MOVF lcd____mdb5, 0, 0$359A $12EF
IORWF INDF0, 1, 0$359C $ Lcd_L_8:$359C $ Lcd_L_9:;Lcd.ppas,33 :: $359C $6A01 CLRF
STACK_1, 0$359E $B9DA
BTFSC FARG_Lcd_Cmd, 4, 1
$35A0 $2A01 INCFSTACK_1, 1, 0
$35A2 $5001 MOVF STACK_1, 0, 0
$35A4 $0A01 XORLW 1
$35A6 $E102 BNZLcd_L_11
$35A8 $ Lcd_L_10:;Lcd.ppas,34 :: $35A8 $501E
MOVF lcd____mdb4, 0, 0$35AA $12EF
IORWF INDF0, 1, 0$35AC $ Lcd_L_11:$35AC $ Lcd_L_12:;Lcd.ppas,36 :: $35AC $501F
MOVF lcd_lcdcmd_status, 0, 0$35AE $0A01
XORLW 1$35B0 $E105 BNZ
Lcd_L_14$35B2 $ Lcd_L_13:;Lcd.ppas,37 :: $35B2 $1C1A
COMF lcd____mrs, 0, 0$35B4 $6E00
MOVWF STACK_0, 0$35B6 $5000
MOVF STACK_0, 0, 0$35B8 $16E7
ANDWF INDF1, 1, 0$35BA $D003 BRA
Lcd_L_15;Lcd.ppas,38 :: $35BC $ Lcd_L_14:;Lcd.ppas,39 :: $35BC $0103
MOVLB 3$35BE $501A
MOVF lcd____mrs, 0, 0$35C0 $12E7
IORWF INDF1, 1, 0$35C2 $ Lcd_L_15:;Lcd.ppas,41 :: $35C2 $5019
MOVF lcd____menable, 0, 0$35C4 $12E7
IORWF INDF1, 1, 0;Lcd.ppas,43 :: $35C6 $EC85 F024 CALL
_delay_1us;Lcd.ppas,45 :: $35CA $1C19
COMF lcd____menable, 0, 0$35CC $6E00
MOVWF STACK_0, 0$35CE $5000
MOVF STACK_0, 0, 0$35D0 $16E7
ANDWF INDF1, 1, 0;Lcd.ppas,46 :: $35D2 $1C1A
COMF lcd____mrs, 0, 0
Appendix F F-4
$35D4 $6E00 MOVWF STACK_0, 0
$35D6 $5000 MOVF STACK_0, 0, 0
$35D8 $16E7 ANDWF INDF1, 1, 0
;Lcd.ppas,47 :: $35DA $501C
MOVF lcd____mdb6, 0, 0$35DC $101B
IORWF lcd____mdb7, 0, 0$35DE $6E00
MOVWF STACK_0, 0$35E0 $501D
MOVF lcd____mdb5, 0, 0$35E2 $1200
IORWF STACK_0, 1, 0$35E4 $501E
MOVF lcd____mdb4, 0, 0$35E6 $1200
IORWF STACK_0, 1, 0$35E8 $1E00
COMF STACK_0, 1, 0$35EA $5000
MOVF STACK_0, 0, 0$35EC $16EF
ANDWF INDF0, 1, 0;Lcd.ppas,49 :: $35EE $6A01 CLRF
STACK_1, 0$35F0 $0103
MOVLB 3$35F2 $B7DA
BTFSC FARG_Lcd_Cmd, 3, 1$35F4 $2A01 INCF
STACK_1, 1, 0$35F6 $5001
MOVF STACK_1, 0, 0$35F8 $0A01
XORLW 1$35FA $E102 BNZ
Lcd_L_17$35FC $ Lcd_L_16:;Lcd.ppas,50 :: $35FC $501B
MOVF lcd____mdb7, 0, 0$35FE $12EF
IORWF INDF0, 1, 0$3600 $ Lcd_L_17:$3600 $ Lcd_L_18:;Lcd.ppas,51 :: $3600 $6A01 CLRF
STACK_1, 0$3602 $B5DA
BTFSC FARG_Lcd_Cmd, 2, 1$3604 $2A01 INCF
STACK_1, 1, 0$3606 $5001
MOVF STACK_1, 0, 0$3608 $0A01
XORLW 1$360A $E102 BNZ
Lcd_L_20$360C $ Lcd_L_19:;Lcd.ppas,52 ::
$360C $501C MOVF lcd____mdb6, 0, 0
$360E $12EF IORWF INDF0, 1, 0
$3610 $ Lcd_L_20:$3610 $ Lcd_L_21:;Lcd.ppas,53 :: $3610 $6A01 CLRF
STACK_1, 0$3612 $B3DA
BTFSC FARG_Lcd_Cmd, 1, 1$3614 $2A01 INCF
STACK_1, 1, 0$3616 $5001
MOVF STACK_1, 0, 0$3618 $0A01
XORLW 1$361A $E102 BNZ
Lcd_L_23$361C $ Lcd_L_22:;Lcd.ppas,54 :: $361C $501D
MOVF lcd____mdb5, 0, 0$361E $12EF
IORWF INDF0, 1, 0$3620 $ Lcd_L_23:$3620 $ Lcd_L_24:;Lcd.ppas,55 :: $3620 $0E01
MOVLW 1$3622 $15DA
ANDWF FARG_Lcd_Cmd, 0, 1$3624 $6E01
MOVWF STACK_1, 0$3626 $5001
MOVF STACK_1, 0, 0$3628 $0A01
XORLW 1$362A $E102 BNZ
Lcd_L_26$362C $ Lcd_L_25:;Lcd.ppas,56 :: $362C $501E
MOVF lcd____mdb4, 0, 0$362E $12EF
IORWF INDF0, 1, 0$3630 $ Lcd_L_26:$3630 $ Lcd_L_27:;Lcd.ppas,58 :: $3630 $501F
MOVF lcd_lcdcmd_status, 0, 0$3632 $0A01
XORLW 1$3634 $E105 BNZ
Lcd_L_29$3636 $ Lcd_L_28:;Lcd.ppas,59 :: $3636 $1C1A
COMF lcd____mrs, 0, 0$3638 $6E00
MOVWF STACK_0, 0$363A $5000
MOVF STACK_0, 0, 0$363C $16E7
ANDWF INDF1, 1, 0
Appendix F F-5
$363E $D003 BRALcd_L_30
;Lcd.ppas,60 :: $3640 $ Lcd_L_29:;Lcd.ppas,61 :: $3640 $0103
MOVLB 3$3642 $501A
MOVF lcd____mrs, 0, 0$3644 $12E7
IORWF INDF1, 1, 0$3646 $ Lcd_L_30:;Lcd.ppas,63 :: $3646 $0103
MOVLB 3$3648 $5019
MOVF lcd____menable, 0, 0$364A $12E7
IORWF INDF1, 1, 0;Lcd.ppas,64 :: $364C $EC85 F024 CALL
_delay_1us;Lcd.ppas,65 :: $3650 $1C19
COMF lcd____menable, 0, 0$3652 $6E00
MOVWF STACK_0, 0$3654 $5000
MOVF STACK_0, 0, 0$3656 $16E7
ANDWF INDF1, 1, 0;Lcd.ppas,67 :: $3658 $501F
MOVF lcd_lcdcmd_status, 0, 0$365A $0A01
XORLW 1$365C $E103 BNZ
Lcd_L_32$365E $ Lcd_L_31:;Lcd.ppas,68 :: $365E $EC0E F024 CALL
_delay_5500us$3662 $D002 BRA
Lcd_L_33;Lcd.ppas,69 :: $3664 $ Lcd_L_32:;Lcd.ppas,70 :: $3664 $EC6B F024 CALL
_delay_50us$3668 $ Lcd_L_33:$3668 $ Lcd_L_0:;Lcd.ppas,71 :: $3668 $0012
RETURN$31C0 $ _nrm4032:$31C0 $0100
MOVLB 0;math_double.ppas,183 :: ;math_double.ppas,192 :: $31C2 $B00C
BTFSC STACK_12, 0, 0;math_double.ppas,193 :: $31C4 $EF23 F019
GOTO NRMRND4032;math_double.ppas,194 ::
$31C8 $A20C BTFSS STACK_12, 1, 0
;math_double.ppas,195 :: $31CA $EFCB F019
GOTO NRM40JPSETFOV32;math_double.ppas,196 :: $31CE $ NRM4032:;math_double.ppas,197 :: $31CE $6A0E CLRF
STACK_14, 0;math_double.ppas,198 :: $31D0 $0E00
MOVLW 0X00;math_double.ppas,199 :: $31D2 $6402
CPFSGT STACK_2, 0;math_double.ppas,201 :: $31D4 $EF3A F019
GOTO NRM4032A;math_double.ppas,202 :: $31D8 $ TNIB4032:;math_double.ppas,203 :: $31D8 $0EF0
MOVLW 0XF0;math_double.ppas,204 :: $31DA $1402
ANDWF STACK_2, W, 0;math_double.ppas,205 :: $31DC $A4D8
BTFSS STATUS, Z, 0;math_double.ppas,207 :: $31DE $EF05 F019
GOTO NORM4032;math_double.ppas,208 :: $31E2 $3A02
SWAPF STACK_2, F, 0;math_double.ppas,209 :: $31E4 $3801
SWAPF STACK_1, W, 0;math_double.ppas,210 :: $31E6 $0B0F
ANDLW 0X0F;math_double.ppas,212 :: $31E8 $2602
ADDWF STACK_2, F, 0;math_double.ppas,213 :: $31EA $3801
SWAPF STACK_1, W, 0;math_double.ppas,214 :: $31EC $0BF0
ANDLW 0XF0;math_double.ppas,215 :: $31EE $6E01
MOVWF STACK_1, 0;math_double.ppas,216 :: $31F0 $3800
SWAPF STACK_0, W, 0;math_double.ppas,217 :: $31F2 $0B0F
ANDLW 0X0F;math_double.ppas,219 :: $31F4 $2601
ADDWF STACK_1, F, 0;math_double.ppas,220 :: $31F6 $3800
SWAPF STACK_0, W, 0
Appendix F F-6
;math_double.ppas,221 :: $31F8 $0BF0
ANDLW 0XF0;math_double.ppas,222 :: $31FA $6E00
MOVWF STACK_0, 0;math_double.ppas,223 :: $31FC $3808
SWAPF STACK_8, W, 0;math_double.ppas,224 :: $31FE $0B0F
ANDLW 0X0F;math_double.ppas,226 :: $3200 $2600
ADDWF STACK_0, F, 0;math_double.ppas,227 :: $3202 $3808
SWAPF STACK_8, W, 0;math_double.ppas,228 :: $3204 $0BF0
ANDLW 0XF0;math_double.ppas,230 :: $3206 $6E08
MOVWF STACK_8, 0;math_double.ppas,232 :: $3208 $840E BSF
STACK_14, 2, 0;math_double.ppas,233 :: $320A $ NORM4032:;math_double.ppas,235 :: $320A $90D8 BCF
STATUS, C, 0;math_double.ppas,236 :: $320C $BE02
BTFSC STACK_2, 7, 0;math_double.ppas,237 :: $320E $EF1E F019
GOTO TNORMUN4032;math_double.ppas,238 :: $3212 $3608 RLCF
STACK_8, F, 0;math_double.ppas,239 :: $3214 $3600 RLCF
STACK_0, F, 0;math_double.ppas,240 :: $3216 $3601 RLCF
STACK_1, F, 0;math_double.ppas,241 :: $3218 $3602 RLCF
STACK_2, F, 0;math_double.ppas,242 :: $321A $2A0E INCF
STACK_14, F, 0;math_double.ppas,243 :: $321C $BE02
BTFSC STACK_2, 7, 0;math_double.ppas,244 :: $321E $EF1E F019
GOTO TNORMUN4032;math_double.ppas,245 :: $3222 $3608 RLCF
STACK_8, F, 0;math_double.ppas,246 :: $3224 $3600 RLCF
STACK_0, F, 0;math_double.ppas,247 ::
$3226 $3601 RLCFSTACK_1, F, 0
;math_double.ppas,248 :: $3228 $3602 RLCF
STACK_2, F, 0;math_double.ppas,249 :: $322A $2A0E INCF
STACK_14, F, 0;math_double.ppas,250 :: $322C $BE02
BTFSC STACK_2, 7, 0;math_double.ppas,251 :: $322E $EF1E F019
GOTO TNORMUN4032;math_double.ppas,252 :: $3232 $3608 RLCF
STACK_8, F, 0;math_double.ppas,253 :: $3234 $3600 RLCF
STACK_0, F, 0;math_double.ppas,254 :: $3236 $3601 RLCF
STACK_1, F, 0;math_double.ppas,255 :: $3238 $3602 RLCF
STACK_2, F, 0;math_double.ppas,257 :: $323A $2A0E INCF
STACK_14, F, 0;math_double.ppas,258 :: $323C $ TNORMUN4032:;math_double.ppas,259 :: $323C $500E
MOVF STACK_14, W, 0;math_double.ppas,260 :: $323E $6403
CPFSGT STACK_3, 0;math_double.ppas,261 :: $3240 $EFBF F019
GOTO NRM40JPSETFUN32;math_double.ppas,263 :: $3244 $5E03
SUBWF STACK_3, F, 0;math_double.ppas,264 :: $3246 $ NRMRND4032:;math_double.ppas,265 :: $3246 $BC0B
BTFSC STACK_11, RND, 0;math_double.ppas,266 :: $3248 $AE08
BTFSS STACK_8, 7, 0;math_double.ppas,267 :: $324A $EFC5 F019
GOTO NRM40JPFIXSIGN32;math_double.ppas,268 :: $324E $80D8 BSF
STATUS, C, 0;math_double.ppas,269 :: $3250 $0E80
MOVLW 0X80;math_double.ppas,270 :: $3252 $6408
CPFSGT STACK_8, 0;math_double.ppas,271 :: $3254 $3000 RRCF
STACK_0, W, 0
Appendix F F-7
;math_double.ppas,272 :: $3256 $0E00
MOVLW 0X00;math_double.ppas,273 :: $3258 $2200
ADDWFC STACK_0, F, 0;math_double.ppas,274 :: $325A $2201
ADDWFC STACK_1, F, 0;math_double.ppas,276 :: $325C $2202
ADDWFC STACK_2, F, 0;math_double.ppas,277 :: $325E $A0D8
BTFSS STATUS, C, 0;math_double.ppas,278 :: $3260 $EFC5 F019
GOTO NRM40JPFIXSIGN32;math_double.ppas,279 :: $3264 $3202 RRCF
STACK_2, F, 0;math_double.ppas,280 :: $3266 $3201 RRCF
STACK_1, F, 0;math_double.ppas,281 :: $3268 $3200 RRCF
STACK_0, F, 0;math_double.ppas,282 :: $326A $4A03
INFSNZ STACK_3, F, 0;math_double.ppas,283 :: $326C $EFCB F019
GOTO NRM40JPSETFOV32;math_double.ppas,285 :: $3270 $EFC5 F019
GOTO NRM40JPFIXSIGN32;math_double.ppas,286 :: $3274 $ NRM4032A:;math_double.ppas,287 :: $3274 $C001 F002
MOVFF STACK_1, STACK_2;math_double.ppas,288 :: $3278 $C000 F001
MOVFF STACK_0, STACK_1;math_double.ppas,289 :: $327C $C008 F000
MOVFF STACK_8, STACK_0;math_double.ppas,290 :: $3280 $6A08 CLRF
STACK_8, 0;math_double.ppas,291 :: $3282 $0E00
MOVLW 0X00;math_double.ppas,292 :: $3284 $860E BSF
STACK_14, 3, 0;math_double.ppas,293 :: $3286 $6402
CPFSGT STACK_2, 0;math_double.ppas,295 :: $3288 $EF71 F019
GOTO NRM4032B;math_double.ppas,296 :: $328C $ TNIB4032A:;math_double.ppas,297 ::
$328C $0EF0 MOVLW 0XF0
;math_double.ppas,298 :: $328E $1402
ANDWF STACK_2, W, 0;math_double.ppas,299 :: $3290 $A4D8
BTFSS STATUS, Z, 0;math_double.ppas,300 :: $3292 $EF59 F019
GOTO NORM4032A;math_double.ppas,301 :: $3296 $3A02
SWAPF STACK_2, F, 0;math_double.ppas,302 :: $3298 $3801
SWAPF STACK_1, W, 0;math_double.ppas,303 :: $329A $0B0F
ANDLW 0X0F;math_double.ppas,305 :: $329C $2602
ADDWF STACK_2, F, 0;math_double.ppas,306 :: $329E $3801
SWAPF STACK_1, W, 0;math_double.ppas,307 :: $32A0 $0BF0
ANDLW 0XF0;math_double.ppas,308 :: $32A2 $6E01
MOVWF STACK_1, 0;math_double.ppas,309 :: ;Lcd.ppas,189 :: $313E $1C1B
COMF lcd____mdb7, 0, 0$3140 $6E00
MOVWF STACK_0, 0$3142 $5000
MOVF STACK_0, 0, 0$3144 $16EF
ANDWF INDF0, 1, 0;Lcd.ppas,190 :: $3146 $501E
MOVF lcd____mdb4, 0, 0$3148 $12EF
IORWF INDF0, 1, 0;Lcd.ppas,191 :: $314A $5019
MOVF lcd____menable, 0, 0_yy3, 0, 1
$2330 $0A03 XORLW 3
$2332 $E103 BNZSmartGlobe_L_146
$2334 $ SmartGlobe_L_145:;SmartGlobe.pbas,205 :: cnt = $4a$2334 $0E4A
MOVLW 74$2336 $6F1A
MOVWF _cnt, 1$2338 $D023 BRA
SmartGlobe_L_147;SmartGlobe.pbas,206 :: else$233A $ SmartGlobe_L_146:
Appendix F F-8
;SmartGlobe.pbas,207 :: if yy3 = 4 then$233A $5119
MOVF _yy3, 0, 1$233C $0A04
XORLW 4$233E $E103 BNZ
SmartGlobe_L_149$2340 $ SmartGlobe_L_148:;SmartGlobe.pbas,208 :: cnt = $4b$2340 $0E4B
MOVLW 75$2342 $6F1A
MOVWF _cnt, 1$2344 $D01D BRA
SmartGlobe_L_150;SmartGlobe.pbas,209 :: else$2346 $ SmartGlobe_L_149:;SmartGlobe.pbas,210 :: if yy3 = 5 then$2346 $5119
MOVF _yy3, 0, 1$2348 $0A05
XORLW 5$234A $E103 BNZ
SmartGlobe_L_152$234C $ SmartGlobe_L_151:;SmartGlobe.pbas,211 :: cnt = $4c$234C $0E4C
MOVLW 76$234E $6F1A
MOVWF _cnt, 1$2350 $D017 BRA
SmartGlobe_L_153;SmartGlobe.pbas,212 :: else$2352 $ SmartGlobe_L_152:;SmartGlobe.pbas,213 :: if yy3 = 6 then$2352 $5119
MOVF _yy3, 0, 1$2354 $0A06
XORLW 6$2356 $E103 BNZ
SmartGlobe_L_155$2358 $ SmartGlobe_L_154:;SmartGlobe.pbas,214 :: cnt = 53$2358 $0E35
MOVLW 53$235A $6F1A
MOVWF _cnt, 1$235C $D011 BRA
SmartGlobe_L_156;SmartGlobe.pbas,215 :: else$235E $ SmartGlobe_L_155:;SmartGlobe.pbas,216 :: if yy3 = 7 then$235E $5119
MOVF _yy3, 0, 1$2360 $0A07
XORLW 7$2362 $E103 BNZ
SmartGlobe_L_158$2364 $ SmartGlobe_L_157:
;SmartGlobe.pbas,217 :: cnt = 63$2364 $0E3F
MOVLW 63$2366 $6F1A
MOVWF _cnt, 1$2368 $D00B BRA
SmartGlobe_L_159;SmartGlobe.pbas,218 :: else$236A $ SmartGlobe_L_158:;SmartGlobe.pbas,219 :: if yy3 = 8 then$236A $5119
MOVF _yy3, 0, 1$236C $0A08
XORLW 8$236E $E103 BNZ
SmartGlobe_L_161$2370 $ SmartGlobe_L_160:;SmartGlobe.pbas,220 :: cnt = 64$2370 $0E40
MOVLW 64$2372 $6F1A
MOVWF _cnt, 1$2374 $D005 BRA
SmartGlobe_L_162;SmartGlobe.pbas,221 :: else$2376 $ SmartGlobe_L_161:;SmartGlobe.pbas,222 :: if yy3 = 9 then$2376 $5119
MOVF _yy3, 0, 1$2378 $0A09
XORLW 9$237A $E102 BNZ
SmartGlobe_L_164$237C $ SmartGlobe_L_163:;SmartGlobe.pbas,223 :: cnt = 91$237C $0E5B
MOVLW 91$237E $6F1A
MOVWF _cnt, 1$2380 $ SmartGlobe_L_164:;SmartGlobe.pbas,224 :: end if$2380 $ SmartGlobe_L_165:;SmartGlobe.pbas,225 :: end if$2380 $ SmartGlobe_L_162:;SmartGlobe.pbas,226 :: end if$2380 $ SmartGlobe_L_159:;SmartGlobe.pbas,227 :: end if$2380 $ SmartGlobe_L_156:;SmartGlobe.pbas,228 :: end if$2380 $ SmartGlobe_L_153:;SmartGlobe.pbas,229 :: end if$2380 $ SmartGlobe_L_150:;SmartGlobe.pbas,230 :: end if$2380 $ SmartGlobe_L_147:
Appendix F F-9
;SmartGlobe.pbas,231 :: end if$2380 $ SmartGlobe_L_144:;SmartGlobe.pbas,232 :: end if$2380 $ SmartGlobe_L_141:;SmartGlobe.pbas,233 :: end if$2380 $ SmartGlobe_L_138:$2380 $D144 BRA
SmartGlobe_L_135;SmartGlobe.pbas,235 :: else$2382 $ SmartGlobe_L_134:;SmartGlobe.pbas,236 :: if kp = 54 then$2382 $0100
MOVLB 0$2384 $51CA
MOVF _kp, 0, 1$2386 $0A36
XORLW 54$2388 $E13D BNZ
SmartGlobe_L_167$238A $ SmartGlobe_L_166:;SmartGlobe.pbas,238 :: if yy3 = 0 then$238A $0103
MOVLB 3$238C $5119
MOVF _yy3, 0, 1$238E $0A00
XORLW 0$2390 $E103 BNZ
SmartGlobe_L_170$2392 $ SmartGlobe_L_169:;SmartGlobe.pbas,239 :: cnt = $6d$2392 $0E6D
MOVLW 109$2394 $6F1A
MOVWF _cnt, 1$2396 $D035 BRA
SmartGlobe_L_171;SmartGlobe.pbas,240 :: else$2398 $ SmartGlobe_L_170:;SmartGlobe.pbas,241 :: if yy3 = 1 then$2398 $5119
MOVF _yy3, 0, 1$239A $0A01
XORLW 1$239C $E103 BNZ
SmartGlobe_L_173$239E $ SmartGlobe_L_172:;SmartGlobe.pbas,242 :: cnt = $6e$239E $0E6E
MOVLW 110$23A0 $6F1A
MOVWF _cnt, 1$23A2 $D02F BRA
SmartGlobe_L_174;SmartGlobe.pbas,243 :: else$23A4 $ SmartGlobe_L_173:;SmartGlobe.pbas,244 :: if yy3 = 2 then
$23A4 $5119 MOVF _yy3, 0, 1
$23A6 $0A02 XORLW 2
;SmartGlobe.pbas,248 :: cnt = $4d$23B6 $0E4D
MOVLW 77$23B8 $6F1A
MOVWF _cnt, 1$23BA $D023 BRA
SmartGlobe_L_180;SmartGlobe.pbas,249 :: else$23BC $ SmartGlobe_L_179:;SmartGlobe.pbas,250 :: if yy3 = 4 then$23BC $5119
MOVF _yy3, 0, 1$23BE $0A04
XORLW 4$23C0 $E103 BNZ
SmartGlobe_L_182$23C2 $ SmartGlobe_L_181:;SmartGlobe.pbas,251 :: cnt = $4e$23C2 $0E4E
MOVLW 78$23C4 $6F1A
MOVWF _cnt, 1$23C6 $D01D BRA
SmartGlobe_L_183;SmartGlobe.pbas,252 :: else$23C8 $ SmartGlobe_L_182:;SmartGlobe.pbas,253 :: if yy3 = 5 then$23C8 $5119
MOVF _yy3, 0, 1$23CA $0A05
XORLW 5$23CC $E103 BNZ
SmartGlobe_L_185$23CE $ SmartGlobe_L_184:;SmartGlobe.pbas,254 :: cnt = $4f$23CE $0E4F
MOVLW 79$23D0 $6F1A
MOVWF _cnt, 1$23D2 $D017 BRA
SmartGlobe_L_186;SmartGlobe.pbas,255 :: else$23D4 $ SmartGlobe_L_185:;SmartGlobe.pbas,256 :: if yy3 = 6 then$23D4 $5119
MOVF _yy3, 0, 1$23D6 $0A06
XORLW 6$23D8 $E103 BNZ
SmartGlobe_L_188$23DA $ SmartGlobe_L_187:;SmartGlobe.pbas,257 :: cnt = 54$23DA $0E36
MOVLW 54
Appendix F F-10
$23DC $6F1A MOVWF _cnt, 1
$23DE $D011 BRASmartGlobe_L_189
;SmartGlobe.pbas,258 :: else$23E0 $ SmartGlobe_L_188:;SmartGlobe.pbas,259 :: if yy3 = 7 then$23E0 $5119
MOVF _yy3, 0, 1$23E2 $0A07
XORLW 7$23E4 $E103 BNZ
SmartGlobe_L_191$23E6 $ SmartGlobe_L_190:;SmartGlobe.pbas,260 :: cnt = 92$23E6 $0E5C
MOVLW 92$23E8 $6F1A
MOVWF _cnt, 1$23EA $D00B BRA
SmartGlobe_L_192;SmartGlobe.pbas,261 :: else$23EC $ SmartGlobe_L_191:;SmartGlobe.pbas,262 :: if yy3 = 8 then$23EC $5119
MOVF _yy3, 0, 1$23EE $0A08
XORLW 8$23F0 $E103 BNZ
SmartGlobe_L_194$23F2 $ SmartGlobe_L_193:;SmartGlobe.pbas,263 :: cnt = 93$23F2 $0E5D
MOVLW 93$23F4 $6F1A
MOVWF _cnt, 1$23F6 $D005 BRA
SmartGlobe_L_195;SmartGlobe.pbas,264 :: else$23F8 $ SmartGlobe_L_194:;SmartGlobe.pbas,265 :: if yy3 = 9 then$23F8 $5119
MOVF _yy3, 0, 1$23FA $0A09
XORLW 9$23FC $E102 BNZ
SmartGlobe_L_197$23FE $ SmartGlobe_L_196:;SmartGlobe.pbas,266 :: cnt = 94$23FE $0E5E
MOVLW 94$2400 $6F1A
MOVWF _cnt, 1$2402 $ SmartGlobe_L_197:;SmartGlobe.pbas,267 :: end if$2402 $ SmartGlobe_L_198:;SmartGlobe.pbas,268 :: end if$2402 $ SmartGlobe_L_195:
;SmartGlobe.pbas,269 :: end if$2402 $ SmartGlobe_L_192:;SmartGlobe.pbas,270 :: end if$2402 $ SmartGlobe_L_189:;SmartGlobe.pbas,271 :: end if$2402 $ SmartGlobe_L_186:;SmartGlobe.pbas,272 :: end if$2402 $ SmartGlobe_L_183:;SmartGlobe.pbas,273 :: end if$2402 $ SmartGlobe_L_180:;SmartGlobe.pbas,274 :: end if$2402 $ SmartGlobe_L_177:;SmartGlobe.pbas,275 :: end if$2402 $ SmartGlobe_L_174:;SmartGlobe.pbas,276 :: end if$2402 $ SmartGlobe_L_171:$2402 $D103 BRA
SmartGlobe_L_168;SmartGlobe.pbas,278 :: else$2404 $ SmartGlobe_L_167:;SmartGlobe.pbas,279 :: if kp = 55 then$2404 $0100
MOVLB 0$2406 $51CA
MOVF _kp, 0, 1$2408 $0A37
XORLW 55$240A $E13D BNZ
SmartGlobe_L_200$240C $ SmartGlobe_L_199:;SmartGlobe.pbas,281 :: if yy3 = 0 then$240C $0103
MOVLB 3$240E $5119
MOVF _yy3, 0, 1$2410 $0A00
XORLW 0$2412 $E103 BNZ
SmartGlobe_L_203$2414 $ SmartGlobe_L_202:;SmartGlobe.pbas,282 :: cnt = $70$2414 $0E70
MOVLW 112$2416 $6F1A
MOVWF _cnt, 1$2418 $D035 BRA
SmartGlobe_L_204;SmartGlobe.pbas,283 :: else$241A $ SmartGlobe_L_203:;SmartGlobe.pbas,284 :: if yy3 = 1 then$241A $5119
MOVF _yy3, 0, 1$241C $0A01
XORLW 1
Appendix F F-11
$241E $E103 BNZSmartGlobe_L_206
$2420 $ SmartGlobe_L_205:;SmartGlobe.pbas,285 :: cnt = $71$2420 $0E71
MOVLW 113$2422 $6F1A
MOVWF _cnt, 1$2424 $D02F BRA
SmartGlobe_L_207;SmartGlobe.pbas,286 :: else$2426 $ SmartGlobe_L_206:;SmartGlobe.pbas,287 :: if yy3 = 2 then$2426 $5119
MOVF _yy3, 0, 1$2428 $0A02
XORLW 2$242A $E103 BNZ
SmartGlobe_L_209$242C $ SmartGlobe_L_208:;SmartGlobe.pbas,288 :: cnt =$72$242C $0E72
MOVLW 114$242E $6F1A
MOVWF _cnt, 1$2430 $D029 BRA
SmartGlobe_L_210;SmartGlobe.pbas,289 :: else$2432 $ SmartGlobe_L_209:;SmartGlobe.pbas,290 :: if yy3 = 3 then$2432 $5119
MOVF _yy3, 0, 1$2434 $0A03
XORLW 3$2436 $E103 BNZ
SmartGlobe_L_212$2438 $ SmartGlobe_L_211:;SmartGlobe.pbas,291 :: cnt = $73$2438 $0E73
MOVLW 115$243A $6F1A
MOVWF _cnt, 1$243C $D023 BRA
SmartGlobe_L_213;SmartGlobe.pbas,292 :: else$243E $ SmartGlobe_L_212:;SmartGlobe.pbas,293 :: if yy3 = 4 then$243E $5119
MOVF _yy3, 0, 1$2440 $0A04
XORLW 4$2442 $E103 BNZ
SmartGlobe_L_215$2444 $ SmartGlobe_L_214:;SmartGlobe.pbas,294 :: cnt = $50$2444 $0E50
MOVLW 80$2446 $6F1A
MOVWF _cnt, 1
$2448 $D01D BRASmartGlobe_L_216
;SmartGlobe.pbas,295 :: else$244A $ SmartGlobe_L_215:;SmartGlobe.pbas,296 :: if yy3 = 5 then$244A $5119
MOVF _yy3, 0, 1$244C $0A05
XORLW 5$244E $E103 BNZ
SmartGlobe_L_218$2450 $ SmartGlobe_L_217:;SmartGlobe.pbas,297 :: cnt = $51$2450 $0E51
MOVLW 81$2452 $6F1A
MOVWF _cnt, 1$2454 $D017 BRA
SmartGlobe_L_219;SmartGlobe.pbas,298 :: else$2456 $ SmartGlobe_L_218:;SmartGlobe.pbas,299 :: if yy3 = 6 then$2456 $5119
MOVF _yy3, 0, 1$2458 $0A06
XORLW 6$245A $E103 BNZ
SmartGlobe_L_221$245C $ SmartGlobe_L_220:;SmartGlobe.pbas,300 :: cnt = $52$245C $0E52
MOVLW 82$245E $6F1A
MOVWF _cnt, 1$2460 $D011 BRA
SmartGlobe_L_222;SmartGlobe.pbas,301 :: else$2462 $ SmartGlobe_L_221:;SmartGlobe.pbas,302 :: if yy3 = 7 then$2462 $5119
MOVF _yy3, 0, 1$2464 $0A07
XORLW 7$2466 $E103 BNZ
SmartGlobe_L_224$2468 $ SmartGlobe_L_223:;SmartGlobe.pbas,303 :: cnt = $53$2468 $0E53
MOVLW 83$246A $6F1A
MOVWF _cnt, 1$246C $D00B BRA
SmartGlobe_L_225;SmartGlobe.pbas,304 :: else$246E $ SmartGlobe_L_224:;SmartGlobe.pbas,305 :: if yy3 = 8 then$246E $5119
MOVF _yy3, 0, 1
Appendix F F-12
$2470 $0A08 XORLW 8
$2472 $E103 BNZSmartGlobe_L_227
$2474 $ SmartGlobe_L_226:;SmartGlobe.pbas,306 :: cnt = 55$2474 $0E37
MOVLW 55$2476 $6F1A
MOVWF _cnt, 1$2478 $D005 BRA
SmartGlobe_L_228;SmartGlobe.pbas,307 :: else$247A $ SmartGlobe_L_227:;SmartGlobe.pbas,308 :: if yy3 = 9 then$247A $5119
MOVF _yy3, 0, 1$247C $0A09
XORLW 9$247E $E102 BNZ
SmartGlobe_L_230$2480 $ SmartGlobe_L_229:;SmartGlobe.pbas,309 :: cnt = 95$2480 $0E5F
MOVLW 95$2482 $6F1A
MOVWF _cnt, 1$2484 $ SmartGlobe_L_230:;SmartGlobe.pbas,310 :: end if$2484 $ SmartGlobe_L_231:;SmartGlobe.pbas,311 :: end if$2484 $ SmartGlobe_L_228:;SmartGlobe.pbas,312 :: end if;SmartGlobe.pbas,352 :: cnt = 124
SmartGlobe_L_294;SmartGlobe.pbas,393 :: else$257E $ SmartGlobe_L_293:;SmartGlobe.pbas,394 :: if yy3 = 9 then$257E $5119
MOVF _yy3, 0, 1$2580 $0A09
XORLW 9$2582 $E102 BNZ
SmartGlobe_L_296$2584 $ SmartGlobe_L_295:;SmartGlobe.pbas,395 :: cnt = 125$2584 $0E7D
MOVLW 125$2586 $6F1A
MOVWF _cnt, 1$2588 $ SmartGlobe_L_296:;SmartGlobe.pbas,396 :: end if$2588 $ SmartGlobe_L_297:;SmartGlobe.pbas,397 :: end if$2588 $ SmartGlobe_L_294:
;SmartGlobe.pbas,398 :: end if$2588 $ SmartGlobe_L_291:;SmartGlobe.pbas,399 :: end if$2588 $ SmartGlobe_L_288:;SmartGlobe.pbas,400 :: end if$2588 $ SmartGlobe_L_285:;SmartGlobe.pbas,401 :: end if$2588 $ SmartGlobe_L_282:;SmartGlobe.pbas,402 :: end if$2588 $ SmartGlobe_L_279:;SmartGlobe.pbas,403 :: end if$2588 $ SmartGlobe_L_276:;SmartGlobe.pbas,404 :: end if$2588 $ SmartGlobe_L_273:;SmartGlobe.pbas,405 :: end if$2588 $ SmartGlobe_L_270:$2588 $D040 BRA
SmartGlobe_L_267;SmartGlobe.pbas,407 :: else$258A $ SmartGlobe_L_266:;SmartGlobe.pbas,408 :: if kp = 48 then$258A $0100
MOVLB 0$258C $51CA
MOVF _kp, 0, 1$258E $0A30
XORLW 48$2590 $E13C BNZ
SmartGlobe_L_299$2592 $ SmartGlobe_L_298:;SmartGlobe.pbas,410 :: if yy3 = 0 then$2592 $0103
MOVLB 3$2594 $5119
MOVF _yy3, 0, 1$2596 $0A00
XORLW 0$2598 $E103 BNZ
SmartGlobe_L_302$259A $ SmartGlobe_L_301:;SmartGlobe.pbas,411 :: cnt = 32$259A $0E20
MOVLW 32$259C $6F1A
MOVWF _cnt, 1$259E $D035 BRA
SmartGlobe_L_303;SmartGlobe.pbas,412 :: else$25A0 $ SmartGlobe_L_302:;SmartGlobe.pbas,413 :: if yy3 = 1 then$25A0 $5119
MOVF _yy3, 0, 1$25A2 $0A01
XORLW 1
Appendix F F-13
$25A4 $E103 BNZSmartGlobe_L_305
$25A6 $ SmartGlobe_L_304:;SmartGlobe.pbas,414 :: cnt = 48$25A6 $0E30
MOVLW 48$25A8 $6F1A
MOVWF _cnt, 1$25AA $D02F BRA
SmartGlobe_L_306;SmartGlobe.pbas,415 :: else$25AC $ SmartGlobe_L_305:;SmartGlobe.pbas,416 :: if yy3 = 2 then$25AC $5119
MOVF _yy3, 0, 1$25AE $0A02
XORLW 2$25B0 $E103 BNZ
SmartGlobe_L_308$25B2 $ SmartGlobe_L_307:;SmartGlobe.pbas,417 :: cnt = 32$25B2 $0E20
MOVLW 32$25B4 $6F1A
MOVWF _cnt, 1$25B6 $D029 BRA
SmartGlobe_L_309;SmartGlobe.pbas,418 :: else$25B8 $ SmartGlobe_L_308:;SmartGlobe.pbas,419 :: if yy3 = 3 then$25B8 $5119
MOVF _yy3, 0, 1$25BA $0A03
XORLW 3$25BC $E103 BNZ
SmartGlobe_L_311$25BE $ SmartGlobe_L_310:;SmartGlobe.pbas,420 :: cnt = 48$25BE $0E30
MOVLW 48$25C0 $6F1A
MOVWF _cnt, 1$25C2 $D023 BRA
SmartGlobe_L_312;SmartGlobe.pbas,421 :: else$25C4 $ SmartGlobe_L_311:;SmartGlobe.pbas,422 :: if yy3 = 4 then$25C4 $5119
MOVF _yy3, 0, 1$25C6 $0A04
XORLW 4$25C8 $E103 BNZ
SmartGlobe_L_314$25CA $ SmartGlobe_L_313:;SmartGlobe.pbas,423 :: cnt = 32$25CA $0E20
MOVLW 32$25CC $6F1A
MOVWF _cnt, 1
$25CE $D01D BRASmartGlobe_L_315
;SmartGlobe.pbas,424 :: else$25D0 $ SmartGlobe_L_314:;SmartGlobe.pbas,425 :: if yy3 = 5 then$25D0 $5119
MOVF _yy3, 0, 1$25D2 $0A05
XORLW 5$25D4 $E103 BNZ
SmartGlobe_L_317$25D6 $ SmartGlobe_L_316:;SmartGlobe.pbas,426 :: cnt = 48$25D6 $0E30
MOVLW 48$25D8 $6F1A
MOVWF _cnt, 1$25DA $D017 BRA
SmartGlobe_L_318;SmartGlobe.pbas,427 :: else$25DC $ SmartGlobe_L_317:;SmartGlobe.pbas,428 :: if yy3 = 6 then$25DC $5119
MOVF _yy3, 0, 1$25DE $0A06
XORLW 6$25E0 $E103 BNZ
SmartGlobe_L_320$25E2 $ SmartGlobe_L_319:;SmartGlobe.pbas,429 :: cnt = 32$25E2 $0E20
MOVLW 32$25E4 $6F1A
MOVWF _cnt, 1$25E6 $D011 BRA
SmartGlobe_L_321;SmartGlobe.pbas,430 :: else$25E8 $ SmartGlobe_L_320:;SmartGlobe.pbas,431 :: if yy3 = 7 then$25E8 $5119
MOVF _yy3, 0, 1$25EA $0A07
XORLW 7$25EC $E103 BNZ
SmartGlobe_L_323$25EE $ SmartGlobe_L_322:;SmartGlobe.pbas,432 :: cnt =48$25EE $0E30
MOVLW 48$25F0 $6F1A
MOVWF _cnt, 1$25F2 $D00B BRA
SmartGlobe_L_324;SmartGlobe.pbas,433 :: else$25F4 $ SmartGlobe_L_323:;SmartGlobe.pbas,434 :: if yy3 = 8 then$25F4 $5119
MOVF _yy3, 0, 1
Appendix F F-14
$25F6 $0A08 XORLW 8
$25F8 $E103 BNZSmartGlobe_L_326
$25FA $ SmartGlobe_L_325:;SmartGlobe.pbas,435 :: cnt = 32$25FA $0E20
MOVLW 32$25FC $6F1A
MOVWF _cnt, 1$25FE $D005 BRA
SmartGlobe_L_327;SmartGlobe.pbas,436 :: else$2600 $ SmartGlobe_L_326:;SmartGlobe.pbas,437 :: if yy3 = 9 then$2600 $5119
MOVF _yy3, 0, 1$2602 $0A09
XORLW 9$2604 $E102 BNZ
SmartGlobe_L_329$2606 $ SmartGlobe_L_328:;SmartGlobe.pbas,438 :: cnt = 48$2606 $0E30
MOVLW 48$2608 $6F1A
MOVWF _cnt, 1$260A $ SmartGlobe_L_329:;SmartGlobe.pbas,439 :: end if$260A $ SmartGlobe_L_330:;SmartGlobe.pbas,440 :: end if$260A $ SmartGlobe_L_327:;SmartGlobe.pbas,441 :: end if$260A $ SmartGlobe_L_324:;SmartGlobe.pbas,442 :: end if$260A $ SmartGlobe_L_321:;SmartGlobe.pbas,443 :: end if$260A $ SmartGlobe_L_318:;SmartGlobe.pbas,444 :: end if$260A $ SmartGlobe_L_315:;SmartGlobe.pbas,445 :: end if$260A $ SmartGlobe_L_312:;SmartGlobe.pbas,446 :: end if$260A $ SmartGlobe_L_309:;SmartGlobe.pbas,447 :: end if$260A $ SmartGlobe_L_306:;SmartGlobe.pbas,448 :: end if$260A $ SmartGlobe_L_303:$260A $ SmartGlobe_L_299:;SmartGlobe.pbas,451 :: end if$260A $ SmartGlobe_L_300:
;SmartGlobe.pbas,452 :: end if$260A $ SmartGlobe_L_267:;SmartGlobe.pbas,453 :: end if$260A $ SmartGlobe_L_234:;SmartGlobe.pbas,454 :: end if$260A $ SmartGlobe_L_201:;SmartGlobe.pbas,455 :: end if$260A $ SmartGlobe_L_168:;SmartGlobe.pbas,456 :: end if$260A $ SmartGlobe_L_135:;SmartGlobe.pbas,457 :: end if$260A $ SmartGlobe_L_102:;SmartGlobe.pbas,458 :: end if$260A $ SmartGlobe_L_69:;SmartGlobe.pbas,459 :: end if$260A $ SmartGlobe_L_36:;SmartGlobe.pbas,460 :: end if$260A $ SmartGlobe_L_3:$260A $ SmartGlobe_L_0:$260A $0103
MOVLB 3$260C $0012
RETURN$3EEA $ _outdata:;SmartGlobe.pbas,822 :: sub procedure outdata;SmartGlobe.pbas,824 :: if tup = 1 then$3EEA $0103
MOVLB 3$3EEC $511B
MOVF _tup, 0, 1$3EEE $0A01
XORLW 1$3EF0 $E111 BNZ
SmartGlobe_L_443$3EF2 $ SmartGlobe_L_442:;SmartGlobe.pbas,825 ::
text1[yy] = cnt$3EF2 $0E2B
MOVLW _text1$3EF4 $6E02
MOVWF STACK_2, 0$3EF6 $0E00
MOVLW @_text1$3EF8 $6E03
MOVWF STACK_2+1, 0$3EFA $C31C F000
MOVFF _yy, STACK_0$3EFE $0E00
MOVLW 0$3F00 $6E01
MOVWF STACK_0+1, 0$3F02 $5000
MOVF STACK_0, 0, 0$3F04 $2402
ADDWF STACK_2, 0, 0
Appendix F F-15
$3F06 $6EE1 MOVWF FSR1Ptr, 0
$3F08 $5001 MOVF STACK_0+1, 0, 0
$3F0A $2003 ADDWFC STACK_2+1, 0, 0
$3F0C $6EE2 MOVWF FSR1Ptr+1, 0
$3F0E $C31A FFE6MOVFF _cnt, POSTINC1
$3F12 $D04F BRASmartGlobe_L_444
;SmartGlobe.pbas,826 :: else$3F14 $ SmartGlobe_L_443:;SmartGlobe.pbas,827 :: if tup = 2 then$3F14 $511B
MOVF _tup, 0, 1$3F16 $0A02
XORLW 2$3F18 $E111 BNZ
SmartGlobe_L_446$3F1A $ SmartGlobe_L_445:;SmartGlobe.pbas,828 ::
text2[yy] = cnt$3F1A $0E40
MOVLW _text2$3F1C $6E02
MOVWF STACK_2, 0$3F1E $0E00
MOVLW @_text2$3F20 $6E03
MOVWF STACK_2+1, 0$3F22 $C31C F000
MOVFF _yy, STACK_0$3F26 $0E00
MOVLW 0$3F28 $6E01
MOVWF STACK_0+1, 0$3F2A $5000
MOVF STACK_0, 0, 0$1404 $C003 F38E
MOVFF STACK_0+3, FLOC_main+28$1408 $C3A3 F000
MOVFF FLOC_main+49, STACK_0$140C $C3A4 F001
MOVFF FLOC_main+50, STACK_0+1$1410 $C3A5 F002
MOVFF FLOC_main+51, STACK_0+2$1414 $C3A6 F003
MOVFF FLOC_main+52, STACK_0+3$1418 $C38B F004
MOVFF FLOC_main+25, STACK_4$141C $C38C F005
MOVFF FLOC_main+26, STACK_4+1$1420 $C38D F006
MOVFF FLOC_main+27, STACK_4+2$1424 $C38E F007
MOVFF FLOC_main+28, STACK_4+3$1428 $ECC9 F01B CALL
_mul_32x32_fp$142C $C387 F004
MOVFF FLOC_main+21, STACK_4$1430 $C388 F005
MOVFF FLOC_main+22, STACK_4+1
$1434 $C389 F006MOVFF FLOC_main+23, STACK_4+2
$1438 $C38A F007MOVFF FLOC_main+24, STACK_4+3
$143C $EC07 F013 CALL_add_32x32_fp
$1440 $C000 F387MOVFF STACK_0, FLOC_main+21
$1444 $C001 F388MOVFF STACK_0+1, FLOC_main+22
$1448 $C002 F389MOVFF STACK_0+2, FLOC_main+23
$144C $C003 F38AMOVFF STACK_0+3, FLOC_main+24
$1450 $C387 F36DMOVFF FLOC_main+21, _iii
$1454 $C388 F36EMOVFF FLOC_main+22, _iii+1
$1458 $C389 F36FMOVFF FLOC_main+23, _iii+2
$145C $C38A F370MOVFF FLOC_main+24, _iii+3
;SmartGlobe.pbas,1131 :: ggg = iii - bbb$1460 $C33F F004
MOVFF _bbb, STACK_4$1464 $C340 F005
MOVFF _bbb+1, STACK_4+1$1468 $C341 F006
MOVFF _bbb+2, STACK_4+2$146C $C342 F007
MOVFF _bbb+3, STACK_4+3$1470 $C387 F000
MOVFF FLOC_main+21, STACK_0$1474 $C388 F001
MOVFF FLOC_main+22, STACK_0+1$1478 $C389 F002
MOVFF FLOC_main+23, STACK_0+2$147C $C38A F003
MOVFF FLOC_main+24, STACK_0+3$1480 $EC71 F024 CALL
_sub_32x32_fp$1484 $C000 F30F
MOVFF STACK_0, _ggg$1488 $C001 F310
MOVFF STACK_0+1, _ggg+1$148C $C002 F311
MOVFF STACK_0+2, _ggg+2$1490 $C003 F312
MOVFF STACK_0+3, _ggg+3;SmartGlobe.pbas,1132 :: ggg = 0.265988178 * ggg$1494 $0E9A
MOVLW 154$1496 $6E04
MOVWF STACK_4, 0$1498 $0E2F
MOVLW 47$149A $6E05
MOVWF STACK_4+1, 0$149C $0E08
MOVLW 8$149E $6E06
MOVWF STACK_4+2, 0$14A0 $0E7D
MOVLW 125
Appendix F F-16
$14A2 $6E07 MOVWF STACK_4+3, 0
$14A4 $ECC9 F01B CALL_mul_32x32_fp
$14A8 $C000 F30FMOVFF STACK_0, _ggg
$14AC $C001 F310MOVFF STACK_0+1, _ggg+1
$14B0 $C002 F311MOVFF STACK_0+2, _ggg+2
$14B4 $C003 F312MOVFF STACK_0+3, _ggg+3
;SmartGlobe.pbas,1133 :: bbb = iii$14B8 $C387 F33F
MOVFF FLOC_main+21, _bbb$14BC $C388 F340
MOVFF FLOC_main+22, _bbb+1$14C0 $C389 F341
MOVFF FLOC_main+23, _bbb+2$14C4 $C38A F342
MOVFF FLOC_main+24, _bbb+3;SmartGlobe.pbas,1134 :: iii = eee[4]*100 + eee[5]*10 + eee[5]*1 + eee[7]*1$14C8 $C39F F000
MOVFF FLOC_main+45, STACK_0$14CC $C3A0 F001
MOVFF FLOC_main+46, STACK_0+1$14D0 $C3A1 F002
MOVFF FLOC_main+47, STACK_0+2$14D4 $C3A2 F003
MOVFF FLOC_main+48, STACK_0+3$14D8 $C393 F004
MOVFF FLOC_main+33, STACK_4$14DC $C394 F005
MOVFF FLOC_main+34, STACK_4+1$14E0 $C395 F006
MOVFF FLOC_main+35, STACK_4+2$14E4 $C396 F007
MOVFF FLOC_main+36, STACK_4+3$14E8 $ECC9 F01B CALL
_mul_32x32_fp$14EC $C000 F387
MOVFF STACK_0, FLOC_main+21$14F0 $C001 F388
MOVFF STACK_0+1, FLOC_main+22$14F4 $C002 F389
MOVFF STACK_0+2, FLOC_main+23$14F8 $C003 F38A
MOVFF STACK_0+3, FLOC_main+24$14FC $C39B F000
MOVFF FLOC_main+41, STACK_0$1500 $C39C F001
MOVFF FLOC_main+42, STACK_0+1$1504 $C39D F002
MOVFF FLOC_main+43, STACK_0+2$1508 $C39E F003
MOVFF FLOC_main+44, STACK_0+3$150C $C38F F004
MOVFF FLOC_main+29, STACK_4$1510 $C390 F005
MOVFF FLOC_main+30, STACK_4+1$1514 $C391 F006
MOVFF FLOC_main+31, STACK_4+2$1518 $C392 F007
MOVFF FLOC_main+32, STACK_4+3
$151C $ECC9 F01B CALL_mul_32x32_fp
$1520 $C387 F004MOVFF FLOC_main+21, STACK_4
$1524 $C388 F005MOVFF FLOC_main+22, STACK_4+1
$1528 $C389 F006MOVFF FLOC_main+23, STACK_4+2
$152C $C38A F007MOVFF FLOC_main+24, STACK_4+3
$1530 $EC07 F013 CALL_add_32x32_fp
$1534 $C000 F387MOVFF STACK_0, FLOC_main+21
$1538 $C001 F388MOVFF STACK_0+1, FLOC_main+22
$153C $C002 F389MOVFF STACK_0+2, FLOC_main+23
$1540 $C003 F38AMOVFF STACK_0+3, FLOC_main+24
$1544 $C39B F000MOVFF FLOC_main+41, STACK_0
$1548 $C39C F001MOVFF FLOC_main+42, STACK_0+1
$154C $C39D F002MOVFF FLOC_main+43, STACK_0+2
$1550 $C39E F003MOVFF FLOC_main+44, STACK_0+3
$1554 $C38B F004MOVFF FLOC_main+25, STACK_4
$1558 $C38C F005MOVFF FLOC_main+26, STACK_4+1
$155C $C38D F006MOVFF FLOC_main+27, STACK_4+2
$1560 $C38E F007MOVFF FLOC_main+28, STACK_4+3
$1564 $ECC9 F01B CALL_mul_32x32_fp
$1568 $C387 F004MOVFF FLOC_main+21, STACK_4
$156C $C388 F005MOVFF FLOC_main+22, STACK_4+1
$1570 $C389 F006MOVFF FLOC_main+23, STACK_4+2
$1574 $C38A F007MOVFF FLOC_main+24, STACK_4+3
$1578 $EC07 F013 CALL_add_32x32_fp
$157C $C000 F387MOVFF STACK_0, FLOC_main+21
$1580 $C001 F388MOVFF STACK_0+1, FLOC_main+22
$1584 $C002 F389MOVFF STACK_0+2, FLOC_main+23
$1588 $C003 F38AMOVFF STACK_0+3, FLOC_main+24
$158C $C397 F000MOVFF FLOC_main+37, STACK_0
$1590 $C398 F001MOVFF FLOC_main+38, STACK_0+1
$1594 $C399 F002MOVFF FLOC_main+39, STACK_0+2
$1598 $C39A F003MOVFF FLOC_main+40, STACK_0+3
$159C $C38B F004MOVFF FLOC_main+25, STACK_4
Appendix F F-17
$15A0 $C38C F005MOVFF FLOC_main+26, STACK_4+1
$15A4 $C38D F006MOVFF FLOC_main+27, STACK_4+2
$15A8 $C38E F007MOVFF FLOC_main+28, STACK_4+3
$15AC $ECC9 F01B CALL_mul_32x32_fp
$15B0 $C387 F004MOVFF FLOC_main+21, STACK_4
$15B4 $C388 F005MOVFF FLOC_main+22, STACK_4+1
$15B8 $C389 F006MOVFF FLOC_main+23, STACK_4+2
$15BC $C38A F007MOVFF FLOC_main+24, STACK_4+3
$15C0 $EC07 F013 CALL_add_32x32_fp
$15C4 $C000 F387MOVFF STACK_0, FLOC_main+21
$15C8 $C001 F388MOVFF STACK_0+1, FLOC_main+22
$15CC $C002 F389MOVFF STACK_0+2, FLOC_main+23
$15D0 $C003 F38AMOVFF STACK_0+3, FLOC_main+24
$15D4 $C387 F36DMOVFF FLOC_main+21, _iii
$15D8 $C388 F36EMOVFF FLOC_main+22, _iii+1
$15DC $C389 F36FMOVFF FLOC_main+23, _iii+2
$15E0 $C38A F370MOVFF FLOC_main+24, _iii+3
;SmartGlobe.pbas,1135 :: hhh = iii - ddd$15E4 $C343 F004
MOVFF _ddd, STACK_4$15E8 $C344 F005
MOVFF _ddd+1, STACK_4+1$15EC $C345 F006
MOVFF _ddd+2, STACK_4+2$15F0 $C346 F007
MOVFF _ddd+3, STACK_4+3$15F4 $C387 F000
MOVFF FLOC_main+21, STACK_0$15F8 $C388 F001
MOVFF FLOC_main+22, STACK_0+1$15FC $C389 F002
MOVFF FLOC_main+23, STACK_0+2$1600 $C38A F003
MOVFF FLOC_main+24, STACK_0+3$1604 $EC71 F024 CALL
_sub_32x32_fp$1608 $C000 F315
MOVFF STACK_0, _hhh$160C $C001 F316
MOVFF STACK_0+1, _hhh+1$1610 $C002 F317
MOVFF STACK_0+2, _hhh+2$1614 $C003 F318
MOVFF STACK_0+3, _hhh+3;SmartGlobe.pbas,1136 :: hhh = 0.265988178 * hhh$1618 $0E9A
MOVLW 154
$161A $6E04 MOVWF STACK_4, 0
$161C $0E2F MOVLW 47
$161E $6E05 MOVWF STACK_4+1, 0
$1620 $0E08 MOVLW 8
$1622 $6E06 MOVWF STACK_4+2, 0
$1624 $0E7D MOVLW 125
$1626 $6E07 MOVWF STACK_4+3, 0
$1628 $ECC9 F01B CALL_mul_32x32_fp
$162C $C000 F315MOVFF STACK_0, _hhh
$1630 $C001 F316MOVFF STACK_0+1, _hhh+1
$1634 $C002 F317MOVFF STACK_0+2, _hhh+2
$1638 $C003 F318MOVFF STACK_0+3, _hhh+3
;SmartGlobe.pbas,1137 :: ddd = iii$163C $C387 F343
MOVFF FLOC_main+21, _ddd$1640 $C388 F344
MOVFF FLOC_main+22, _ddd+1$1644 $C389 F345
MOVFF FLOC_main+23, _ddd+2$1648 $C38A F346
MOVFF FLOC_main+24, _ddd+3;SmartGlobe.pbas,1138 ::
motor$164C $EC82 F00D CALL
_motor;SmartGlobe.pbas,1139 ::
porte.0 = 1$1650 $ SmartGlobe_L_582:$1650 $8084 BSF
PORTE, 0, 0$1652 $ SmartGlobe_L_583:;SmartGlobe.pbas,1140 :: do$1652 $ SmartGlobe_L_584:;SmartGlobe.pbas,1141 :: kp = keypad_released$1652 $ECEF F023 CALL
_keypad_released$1656 $C000 F0CA
MOVFF STACK_0, _kp;SmartGlobe.pbas,1142 ::
display2$165A $EC9D F022 CALL
_display2;SmartGlobe.pbas,1143 :: loop until kp = 16$165E $ SmartGlobe_L_585:$165E $0100
MOVLB 0$1660 $51CA
MOVF _kp, 0, 1$1662 $0A10
XORLW 16
Appendix F F-18
$1664 $E101 BNZSmartGlobe_L_587
$1666 $ SmartGlobe_L_588:$1666 $D001 BRA
SmartGlobe_L_586$1668 $ SmartGlobe_L_587:$1668 $D7F4 BRA
SmartGlobe_L_584$166A $ SmartGlobe_L_586:;SmartGlobe.pbas,1144 ::
porte.0 = 0$166A $0100
MOVLB 0$166C $9084 BCF
PORTE, 0, 0$166E $ SmartGlobe_L_590:;SmartGlobe.pbas,1145 :: kp3 = 0$166E $0103
MOVLB 3$1670 $6B1E CLRF
_kp3, 1;SmartGlobe.pbas,1146 ::
lcd_cmd(lcd_clear)$1672 $0E01
MOVLW 1$1674 $6FDA
MOVWF FARG_Lcd_Cmd, 1$1676 $EC95 F01A CALL
_lcd_cmd;SmartGlobe.pbas,1147 :: txt = "____"$167A $0E5F
MOVLW 95$167C $0100
MOVLB 0$167E $6FC5
MOVWF _txt+0, 1$1680 $6FC6
MOVWF _txt+1, 1$1682 $6FC7
MOVWF _txt+2, 1$1684 $6FC8
MOVWF _txt+3, 1$1686 $6BC9 CLRF
_txt+4, 1;SmartGlobe.pbas,1148 :: end if$1688 $ SmartGlobe_L_576:$1688 $D23A BRA
SmartGlobe_L_570;SmartGlobe.pbas,1150 :: else$168A $ SmartGlobe_L_569:;SmartGlobe.pbas,1151 :: if kp3 = 3 then$168A $0103
MOVLB 3$168C $511E
MOVF _kp3, 0, 1$168E $0A03
XORLW 3$1690 $A4D8
BTFSS STATUS, Z, 0$1692 $D235 BRA
SmartGlobe_L_592$1694 $ SmartGlobe_L_591:
;SmartGlobe.pbas,1152 :: kp = 0$1694 $0100
MOVLB 0$1696 $6BCA CLRF
_kp, 1;SmartGlobe.pbas,1153 ::
display2$1698 $EC9D F022 CALL
_display2;SmartGlobe.pbas,1154 :: while kp = 0$169C $ SmartGlobe_L_595:$169C $0100
MOVLB 0$169E $51CA
MOVF _kp, 0, 1$16A0 $0A00
XORLW 0$16A2 $E114 BNZ
SmartGlobe_L_596;SmartGlobe.pbas,1155 :: kp = Keypad_Released$16A4 $ECEF F023 CALL
_keypad_released$16A8 $C000 F0CA
MOVFF STACK_0, _kp;SmartGlobe.pbas,1156 :: if kp2 = 0 then$16AC $0E00
MOVLW 0$16AE $0103
MOVLB 3$16B0 $1949
XORWF _kp2+1, 0, 1$16B2 $E102 BNZ
L_main_14$16B4 $0E00
MOVLW 0$16B6 $1948
XORWF _kp2, 0, 1$16B8 $ L_main_14:$16B8 $E102 BNZ
SmartGlobe_L_600$16BA $ SmartGlobe_L_599:;SmartGlobe.pbas,1157 :: nop$16BA $0000 NOP$16BC $D005 BRA
SmartGlobe_L_601;SmartGlobe.pbas,1158 :: else$16BE $ SmartGlobe_L_600:;SmartGlobe.pbas,1159 ::
dec(kp2)$16BE $0103
MOVLB 3$16C0 $0E01
MOVLW 1$16C2 $5F48
SUBWF _kp2, 1, 1$16C4 $0E00
MOVLW 0$16C6 $5B49
SUBWFB _kp2+1, 1, 1;SmartGlobe.pbas,1160 :: end if$16C8 $ SmartGlobe_L_601:
Appendix F F-19
$16C8 $0103 MOVLB 3
$16CA $D7E8 BRASmartGlobe_L_595
$16CC $ SmartGlobe_L_596:;SmartGlobe.pbas,1164 :: case 4 kp = 65 'A'$16CC $ SmartGlobe_L_604:$16CC $0103
MOVLB 3$16CE $0100
MOVLB 0$16D0 $51CA
MOVF _kp, 0, 1$16D2 $0A04
XORLW 4$16D4 $E103 BNZ
SmartGlobe_L_605$16D6 $ SmartGlobe_L_603:$16D6 $0E41
MOVLW 65$16D8 $6FCA
MOVWF _kp, 1$16DA $D04A BRA
SmartGlobe_L_602$16DC $ SmartGlobe_L_605:;SmartGlobe.pbas,1165 :: case 5 kp = 52 '4'$16DC $ SmartGlobe_L_607:$16DC $51CA
MOVF _kp, 0, 1$16DE $0A05
XORLW 5$16E0 $E103 BNZ
SmartGlobe_L_608$16E2 $ SmartGlobe_L_606:$16E2 $0E34
MOVLW 52$16E4 $6FCA
MOVWF _kp, 1$16E6 $D044 BRA
SmartGlobe_L_602$16E8 $ SmartGlobe_L_608:;SmartGlobe.pbas,1166 :: case 6 kp = 53 '5'$16E8 $ SmartGlobe_L_610:$16E8 $51CA
MOVF _kp, 0, 1$16EA $0A06
XORLW 6$16EC $E103 BNZ
SmartGlobe_L_611$16EE $ SmartGlobe_L_609:$16EE $0E35
MOVLW 53$16F0 $6FCA
MOVWF _kp, 1$16F2 $D03E BRA
SmartGlobe_L_602$16F4 $ SmartGlobe_L_611:;SmartGlobe.pbas,1167 :: case 7 kp = 54 '6'$16F4 $ SmartGlobe_L_613:$16F4 $51CA
MOVF _kp, 0, 1
$16F6 $0A07 XORLW 7
$16F8 $E103 BNZSmartGlobe_L_614
$16FA $ SmartGlobe_L_612:$16FA $0E36
MOVLW 54$16FC $6FCA
MOVWF _kp, 1$16FE $D038 BRA
SmartGlobe_L_602$1700 $ SmartGlobe_L_614:;SmartGlobe.pbas,1168 :: case 8 kp = 66 'B'$1700 $ SmartGlobe_L_616:$1700 $51CA
MOVF _kp, 0, 1$1702 $0A08
XORLW 8$1704 $E103 BNZ
SmartGlobe_L_617$1706 $ SmartGlobe_L_615:$1706 $0E42
MOVLW 66$1708 $6FCA
MOVWF _kp, 1$170A $D032 BRA
SmartGlobe_L_602$170C $ SmartGlobe_L_617:;SmartGlobe.pbas,1169 :: case 9 kp = 55 '7'$170C $ SmartGlobe_L_619:$170C $51CA
MOVF _kp, 0, 1$170E $0A09
XORLW 9$1710 $E103 BNZ
SmartGlobe_L_620$1712 $ SmartGlobe_L_618:$1712 $0E37
MOVLW 55$1714 $6FCA
MOVWF _kp, 1$1716 $D02C BRA
SmartGlobe_L_602$1718 $ SmartGlobe_L_620:;SmartGlobe.pbas,1170 :: case 10 kp = 56 '8'$1718 $ SmartGlobe_L_622:$1718 $51CA
MOVF _kp, 0, 1$171A $0A0A
XORLW 10$171C $E103 BNZ
SmartGlobe_L_623$171E $ SmartGlobe_L_621:$171E $0E38
MOVLW 56$1720 $6FCA
MOVWF _kp, 1$1722 $D026 BRA
SmartGlobe_L_602$1724 $ SmartGlobe_L_623:;SmartGlobe.pbas,1171 :: case 11 kp = 57 '9'$1724 $ SmartGlobe_L_625:
Appendix F F-20
$1724 $51CA MOVF _kp, 0, 1
$1726 $0A0B XORLW 11
$1728 $E103 BNZSmartGlobe_L_626
$172A $ SmartGlobe_L_624:$172A $0E39
MOVLW 57$172C $6FCA
MOVWF _kp, 1$172E $D020 BRA
SmartGlobe_L_602$1730 $ SmartGlobe_L_626:;SmartGlobe.pbas,1172 :: case 12 kp = 67 'C'$1730 $ SmartGlobe_L_628:$1730 $51CA
MOVF _kp, 0, 1$1732 $0A0C
XORLW 12$1734 $E103 BNZ
SmartGlobe_L_629$1736 $ SmartGlobe_L_627:$1736 $0E43
MOVLW 67$1738 $6FCA
MOVWF _kp, 1$173A $D01A BRA
SmartGlobe_L_602$173C $ SmartGlobe_L_629:;SmartGlobe.pbas,1173 :: case 13 kp = 42 '*'$173C $ SmartGlobe_L_631:$173C $51CA
MOVF _kp, 0, 1$173E $0A0D
XORLW 13$1740 $E103 BNZ
SmartGlobe_L_632$1742 $ SmartGlobe_L_630:$1742 $0E2A
MOVLW 42$1744 $6FCA
MOVWF _kp, 1$1746 $D014 BRA
SmartGlobe_L_602$1748 $ SmartGlobe_L_632:;SmartGlobe.pbas,1174 :: case 14 kp = 48 '0'$1748 $ SmartGlobe_L_634:$1748 $51CA
MOVF _kp, 0, 1$174A $0A0E
XORLW 14$174C $E103 BNZ
SmartGlobe_L_635$174E $ SmartGlobe_L_633:$174E $0E30
MOVLW 48$1750 $6FCA
MOVWF _kp, 1$1752 $D00E BRA
SmartGlobe_L_602$1754 $ SmartGlobe_L_635:
;SmartGlobe.pbas,1175 :: case 15 kp = 35 '#'$1754 $ SmartGlobe_L_637:$1754 $51CA
MOVF _kp, 0, 1$1756 $0A0F
XORLW 15$1758 $E103 BNZ
SmartGlobe_L_638$175A $ SmartGlobe_L_636:$175A $0E23
MOVLW 35$175C $6FCA
MOVWF _kp, 1$175E $D008 BRA
SmartGlobe_L_602$1760 $ SmartGlobe_L_638:;SmartGlobe.pbas,1176 :: case 16 kp = 68 'D'$1760 $ SmartGlobe_L_640:$1760 $51CA
MOVF _kp, 0, 1$1762 $0A10
XORLW 16$1764 $E103 BNZ
SmartGlobe_L_641$1766 $ SmartGlobe_L_639:$1766 $0E44
MOVLW 68$1768 $6FCA
MOVWF _kp, 1$176A $D002 BRA
SmartGlobe_L_602$176C $ SmartGlobe_L_641:;SmartGlobe.pbas,1177 :: case else kp = kp + 48$176C $0E30
MOVLW 48$176E $27CA
ADDWF _kp, 1, 1$1770 $ SmartGlobe_L_602:;SmartGlobe.pbas,1180 :: if kp = 66 then$1770 $51CA
MOVF _kp, 0, 1$1772 $0A42
XORLW 66$1774 $E134 BNZ
SmartGlobe_L_643$1776 $ SmartGlobe_L_642:;SmartGlobe.pbas,1182 :: if tup = 5 then$1776 $0103
MOVLB 3$1778 $511B
MOVF _tup, 0, 1$177A $0A05
XORLW 5$177C $E104 BNZ
SmartGlobe_L_646$177E $ SmartGlobe_L_645:;SmartGlobe.pbas,1183 :: tup = 1$177E $0E01
MOVLW 1
Appendix F F-21
$1780 $6F1B MOVWF _tup, 1
$1782 $EFC4 F00BGOTO SmartGlobe_L_647
;SmartGlobe.pbas,1184 :: else$1786 $ SmartGlobe_L_646:;SmartGlobe.pbas,1185 ::
inc(tup)$1786 $2B1B INCF
_tup, 1, 1;SmartGlobe.pbas,1186 :: end if$1788 $ SmartGlobe_L_647:;SmartGlobe.pbas,1188 :: if tup = 1 then$1788 $511B
MOVF _tup, 0, 1$178A $0A01
XORLW 1$178C $E104 BNZ
SmartGlobe_L_649$178E $ SmartGlobe_L_648:;SmartGlobe.pbas,1189 :: yy1 = 0$178E $6B4B CLRF
_yy1, 1;SmartGlobe.pbas,1190 :: yy2 = 19$1790 $0E13
MOVLW 19$1792 $6F4C
MOVWF _yy2, 1$1794 $D01F BRA
SmartGlobe_L_650;SmartGlobe.pbas,1191 :: else$1796 $ SmartGlobe_L_649:;SmartGlobe.pbas,1192 :: if tup = 2 then$1796 $511B
MOVF _tup, 0, 1$1798 $0A02
XORLW 2$179A $E105 BNZ
SmartGlobe_L_652$179C $ SmartGlobe_L_651:;SmartGlobe.pbas,1193 :: yy1 = 5$179C $0E05
MOVLW 5$179E $6F4B
MOVWF _yy1, 1;SmartGlobe.pbas,1194 :: yy2 = 7$17A0 $0E07
MOVLW 7$17A2 $6F4C
MOVWF _yy2, 1$17A4 $D017 BRA
SmartGlobe_L_653;SmartGlobe.pbas,1195 :: else$17A6 $ SmartGlobe_L_652:;SmartGlobe.pbas,1196 :: if tup = 3 then$17A6 $511B
MOVF _tup, 0, 1
$17A8 $0A03 XORLW 3
$17AA $E105 BNZSmartGlobe_L_655
$17AC $ SmartGlobe_L_654:;SmartGlobe.pbas,1197 :: yy1 = 16$17AC $0E10
MOVLW 16$17AE $6F4B
MOVWF _yy1, 1;SmartGlobe.pbas,1198 :: yy2 = 18$17B0 $0E12
MOVLW 18$17B2 $6F4C
MOVWF _yy2, 1$17B4 $D00F BRA
SmartGlobe_L_656;SmartGlobe.pbas,1199 :: else$17B6 $ SmartGlobe_L_655:;SmartGlobe.pbas,1200 :: if tup= 4 then$17B6 $511B
MOVF _tup, 0, 1$17B8 $0A04
XORLW 4$17BA $E105 BNZ
SmartGlobe_L_658$17BC $ SmartGlobe_L_657:;SmartGlobe.pbas,1201 :: yy1 = 5$17BC $0E05
MOVLW 5$17BE $6F4B
MOVWF _yy1, 1;SmartGlobe.pbas,1202 :: yy2 = 19$17C0 $0E13
MOVLW 19$17C2 $6F4C
MOVWF _yy2, 1$17C4 $D007 BRA
SmartGlobe_L_659;SmartGlobe.pbas,1203 :: else$17C6 $ SmartGlobe_L_658:;SmartGlobe.pbas,1204 :: if tup = 5 then$17C6 $511B
MOVF _tup, 0, 1$17C8 $0A05
XORLW 5$17CA $E104 BNZ
SmartGlobe_L_661$17CC $ SmartGlobe_L_660:;SmartGlobe.pbas,1205 :: yy1 = 5$17CC $0E05
MOVLW 5$17CE $6F4B
MOVWF _yy1, 1;SmartGlobe.pbas,1206 :: yy2 = 19$17D0 $0E13
MOVLW 19
Appendix F F-22
$17D2 $6F4C MOVWF _yy2, 1
$17D4 $ SmartGlobe_L_661:;SmartGlobe.pbas,1207 :: end if$17D4 $ SmartGlobe_L_662:;SmartGlobe.pbas,1208 :: end if$17D4 $ SmartGlobe_L_659:;SmartGlobe.pbas,1209 :: end if$17D4 $ SmartGlobe_L_656:;SmartGlobe.pbas,1210 :: end if$17D4 $ SmartGlobe_L_653:;SmartGlobe.pbas,1211 :: end if$17D4 $ SmartGlobe_L_650:;SmartGlobe.pbas,1212 :: kp4 = 1$17D4 $0E01
MOVLW 1$17D6 $6F4A
MOVWF _kp4, 1;SmartGlobe.pbas,1213 :: yy = yy1$17D8 $C34B F31C
MOVFF _yy1, _yy$17DC $D190 BRA
SmartGlobe_L_644;SmartGlobe.pbas,1215 :: else$17DE $ SmartGlobe_L_643:;SmartGlobe.pbas,1216 :: if kp = 68 then$17DE $0100
MOVLB 0$17E0 $51CA
MOVF _kp, 0, 1$17E2 $0A44
XORLW 68$17E4 $A4D8
BTFSS STATUS, Z, 0$17E6 $D0AC BRA
SmartGlobe_L_664$17E8 $ SmartGlobe_L_663:;SmartGlobe.pbas,1217 :: tmp = 0$17E8 $0103
MOVLB 3$17EA $6B1D CLRF
_tmp, 1;SmartGlobe.pbas,1218 ::
unsubstitute$17EC $EC5D F01C CALL
_unsubstitute;SmartGlobe.pbas,1219 :: kp = 0$17F0 $0100
MOVLB 0$17F2 $6BCA CLRF
_kp, 1;SmartGlobe.pbas,1220 :: if tmp = 0 then$17F4 $0103
MOVLB 3
$17F6 $511D MOVF _tmp, 0, 1
$17F8 $0A00 XORLW 0
$17FA $E157 BNZSmartGlobe_L_667
$17FC $ SmartGlobe_L_666:;SmartGlobe.pbas,1221 ::
Lcd_Cmd(Lcd_clear)$17FC $0E01
MOVLW 1$17FE $6FDA
MOVWF FARG_Lcd_Cmd, 1$1800 $EC95 F01A CALL
_lcd_cmd;SmartGlobe.pbas,1222 ::
Lcd_out(1, 1, "Please wait...... ")$1804 $0E01
MOVLW 1$1806 $0103
MOVLB 3$1808 $6FD4
MOVWF FARG_Lcd_Out, 1$180A $0E01
MOVLW 1$180C $6FD5
MOVWF FARG_Lcd_Out+1, 1$180E $0E50
MOVLW 80$1810 $6F72
MOVWF ?main_Local_Text+0, 1$1812 $0E6C
MOVLW 108$1814 $6F73
MOVWF ?main_Local_Text+1, 1$1816 $0E65
MOVLW 101$1818 $6F74
MOVWF ?main_Local_Text+2, 1$181A $0E61
MOVLW 97$181C $6F75
MOVWF ?main_Local_Text+3, 1$181E $0E73
MOVLW 115$1820 $6F76
MOVWF ?main_Local_Text+4, 1$1822 $0E65
MOVLW 101$1824 $6F77
MOVWF ?main_Local_Text+5, 1$1826 $0E20
MOVLW 32$1828 $6F78
MOVWF ?main_Local_Text+6, 1$182A $0E77
MOVLW 119$182C $6F79
MOVWF ?main_Local_Text+7, 1$182E $0E61
MOVLW 97$1830 $6F7A
MOVWF ?main_Local_Text+8, 1$1832 $0E69
MOVLW 105
Appendix F F-23
$1834 $6F7B MOVWF ?main_Local_Text+9, 1
$1836 $0E74 MOVLW 116
$1838 $6F7C MOVWF ?main_Local_Text+10, 1
$183A $0E2E MOVLW 46
$183C $6F7D MOVWF ?main_Local_Text+11, 1
$183E $0E2E MOVLW 46
$1840 $6F7E MOVWF ?main_Local_Text+12, 1
$1842 $0E2E MOVLW 46
$1844 $6F7F MOVWF ?main_Local_Text+13, 1
$1846 $0E2E MOVLW 46
$1848 $6F80 MOVWF ?main_Local_Text+14, 1
$184A $0E2E MOVLW 46
$184C $6F81 MOVWF ?main_Local_Text+15, 1
$184E $0E2E MOVLW 46
$1850 $6F82 MOVWF ?main_Local_Text+16, 1
$1852 $0E20 MOVLW 32
$1854 $6F83 MOVWF ?main_Local_Text+17, 1
$1856 $0E20 MOVLW 32
$1858 $6F84 MOVWF ?main_Local_Text+18, 1
$185A $0E20 MOVLW 32
$185C $6F85 MOVWF ?main_Local_Text+19, 1
$185E $6B86 CLRF?main_Local_Text+20, 1
$1860 $0E72 MOVLW ?main_Local_Text
$1862 $6FD6 MOVWF FARG_Lcd_Out+2, 1
$1864 $0E03 MOVLW @?main_Local_Text
$1866 $6FD7 MOVWF FARG_Lcd_Out+3, 1
$1868 $EC95 F020 CALL_lcd_out
;SmartGlobe.pbas,1223 :: delay_ms(500)
$186C $0E03 MOVLW 3
$186E $6E0C MOVWF STACK_12, 0
$1870 $0EFF MOVLW 255
$18BE $6FB3 MOVWF FARG_Mmc_Write_Sector+4, 1
$18C0 $0E00 MOVLW @_data
$18C2 $6FB4 MOVWF FARG_Mmc_Write_Sector+5, 1
$18C4 $EC35 F01B CALL_mmc_write_sector
$18C8 $C000 F31DMOVFF STACK_0, _tmp
;SmartGlobe.pbas,1226 :: if tmp > 0 then$18CC $5000
MOVF STACK_0, 0, 0$18CE $0800
SUBLW 0$18D0 $E21C BC
SmartGlobe_L_670$18D2 $ SmartGlobe_L_669:;SmartGlobe.pbas,1227 :: do$18D2 $ SmartGlobe_L_672:;SmartGlobe.pbas,1228 :: mali$18D2 $EC32 F01E CALL
_mali;SmartGlobe.pbas,1229 :: kp = keypad_released$18D6 $ECEF F023 CALL
_keypad_released$18DA $C000 F0CA
MOVFF STACK_0, _kp;SmartGlobe.pbas,1230 :: loop until kp = 16$18DE $ SmartGlobe_L_673:$18DE $0100
MOVLB 0$18E0 $51CA
MOVF _kp, 0, 1$18E2 $0A10
XORLW 16$18E4 $E101 BNZ
SmartGlobe_L_675$18E6 $ SmartGlobe_L_676:$18E6 $D001 BRA
SmartGlobe_L_674$18E8 $ SmartGlobe_L_675:$18E8 $D7F4 BRA
SmartGlobe_L_672$18EA $ SmartGlobe_L_674:;SmartGlobe.pbas,1231 ::
lcd_cmd(lcd_clear)$18EA $0E01
MOVLW 1$18EC $0103
MOVLB 3$18EE $6FDA
MOVWF FARG_Lcd_Cmd, 1$18F0 $EC95 F01A CALL
_lcd_cmd;SmartGlobe.pbas,1232 :: kp3 = 1$18F4 $0E01
MOVLW 1$18F6 $0103
MOVLB 3$18F8 $6F1E
MOVWF _kp3, 1;SmartGlobe.pbas,1233 :: txt = "____"$18FA $0E5F
MOVLW 95
Appendix F F-24
$18FC $0100 MOVLB 0
$18FE $6FC5 MOVWF _txt+0, 1
$1900 $6FC6 MOVWF _txt+1, 1
$1902 $6FC7 MOVWF _txt+2, 1
$1904 $6FC8 MOVWF _txt+3, 1
$1906 $6BC9 CLRF_txt+4, 1
$1908 $D019 BRASmartGlobe_L_671
;SmartGlobe.pbas,1234 :: else$190A $ SmartGlobe_L_670:;SmartGlobe.pbas,1235 ::
lcd_cmd(lcd_clear)$190A $0E01
MOVLW 1$190C $0103
MOVLB 3$190E $6FDA
MOVWF FARG_Lcd_Cmd, 1$1910 $EC95 F01A CALL
_lcd_cmd;SmartGlobe.pbas,1236 :: text1 = ""$1914 $6A2B CLRF
_text1+0, 0;SmartGlobe.pbas,1237 :: text2 = ""$1916 $6A40 CLRF
_text2+0, 0;SmartGlobe.pbas,1238 :: text3 = ""$1918 $6A55 CLRF
_text3+0, 0;SmartGlobe.pbas,1239 :: text4 = ""$191A $0100
MOVLB 0$191C $6B6A CLRF
_text4+0, 1;SmartGlobe.pbas,1240 ::
Lcd_Cmd(Lcd_Clear)$191E $0E01
MOVLW 1$1920 $0103
MOVLB 3$1922 $6FDA
MOVWF FARG_Lcd_Cmd, 1$1924 $EC95 F01A CALL
_lcd_cmd;SmartGlobe.pbas,1241 :: txt = "____"$1928 $0E5F
MOVLW 95$192A $0100
MOVLB 0$192C $6FC5
MOVWF _txt+0, 1$192E $6FC6
MOVWF _txt+1, 1$1930 $6FC7
MOVWF _txt+2, 1
$1932 $6FC8 MOVWF _txt+3, 1
$1934 $6BC9 CLRF_txt+4, 1
;SmartGlobe.pbas,1242 :: kp3 = 1$1936 $0E01
MOVLW 1$1938 $0103
MOVLB 3$193A $6F1E
MOVWF _kp3, 1;SmartGlobe.pbas,1243 :: end if$193C $ SmartGlobe_L_671:$193C $0103
MOVLB 3$193E $D0DF BRA
SmartGlobe_L_665;SmartGlobe.pbas,1244 :: else$1940 $ SmartGlobe_L_664:;SmartGlobe.pbas,1245 :: if kp = 65 then$1940 $0100
MOVLB 0$1942 $51CA
MOVF _kp, 0, 1$1944 $0A41
XORLW 65$1946 $E10C BNZ
SmartGlobe_L_678$1948 $ SmartGlobe_L_677:;SmartGlobe.pbas,1247 :: if porte.2 = 1 then$1948 $6A04 CLRF
STACK_4, 0$194A $B484
BTFSC PORTE, 2, 0$194C $2A04 INCF
STACK_4, 1, 0$194E $5004
MOVF STACK_4, 0, 0$1950 $0A01
XORLW 1$1952 $E102 BNZ
SmartGlobe_L_681$1954 $ SmartGlobe_L_680:;SmartGlobe.pbas,1248 ::
porte.2 = 0$1954 $9484 BCF
PORTE, 2, 0$1956 $ SmartGlobe_L_684:$1956 $D002 BRA
SmartGlobe_L_682;SmartGlobe.pbas,1249 :: else$1958 $ SmartGlobe_L_681:;SmartGlobe.pbas,1250 ::
porte.2 = 1$1958 $ SmartGlobe_L_685:$1958 $0100
MOVLB 0$195A $8484 BSF
PORTE, 2, 0$195C $ SmartGlobe_L_686:;SmartGlobe.pbas,1251 :: end if
Appendix F F-25
$195C $ SmartGlobe_L_682:$195C $0100
MOVLB 0$195E $D0CF BRA
SmartGlobe_L_679;SmartGlobe.pbas,1253 :: else$1960 $ SmartGlobe_L_678:;SmartGlobe.pbas,1254 :: if kp = 67 then$1960 $51CA
MOVF _kp, 0, 1$1962 $0A43
XORLW 67$1964 $A4D8
BTFSS STATUS, Z, 0$1966 $D089 BRA
SmartGlobe_L_688$1968 $ SmartGlobe_L_687:;SmartGlobe.pbas,1256 :: if tup = 1 then$1968 $0103
MOVLB 3$196A $511B
MOVF _tup, 0, 1$196C $0A01
XORLW 1$196E $E11A BNZ
SmartGlobe_L_691$1970 $ SmartGlobe_L_690:;SmartGlobe.pbas,1257 :: yy1 = 0$1970 $6B4B CLRF
_yy1, 1;SmartGlobe.pbas,1258 :: yy2 = 19$1972 $0E13
MOVLW 19$1974 $6F4C
MOVWF _yy2, 1;SmartGlobe.pbas,1259 :: text1 = " "$1976 $0E20
MOVLW 32$1978 $6E2B
MOVWF _text1+0, 0$197A $6E2C
MOVWF _text1+1, 0$197C $6E2D
MOVWF _text1+2, 0$197E $6E2E
MOVWF _text1+3, 0$1980 $6E2F
MOVWF _text1+4, 0$1982 $6E30
MOVWF _text1+5, 0$1984 $6E31
MOVWF _text1+6, 0$1986 $6E32
MOVWF _text1+7, 0$1988 $6E33
MOVWF _text1+8, 0$198A $6E34
MOVWF _text1+9, 0$198C $6E35
MOVWF _text1+10, 0
$198E $6E36 MOVWF _text1+11, 0
$1990 $6E37 MOVWF _text1+12, 0
$1992 $6E38 MOVWF _text1+13, 0
$1994 $6E39 MOVWF _text1+14, 0
$1996 $6E3A MOVWF _text1+15, 0
$1998 $6E3B MOVWF _text1+16, 0
$199A $6E3C MOVWF _text1+17, 0
$199C $6E3D MOVWF _text1+18, 0
$199E $6E3E MOVWF _text1+19, 0
$19A0 $6A3F CLRF_text1+20, 0
$19A2 $D062 BRASmartGlobe_L_692
;SmartGlobe.pbas,1260 :: else$19A4 $ SmartGlobe_L_691:;SmartGlobe.pbas,1261 :: if tup = 2 then$19A4 $511B
MOVF _tup, 0, 1$19A6 $0A02
XORLW 2$19A8 $E10B BNZ
SmartGlobe_L_694$19AA $ SmartGlobe_L_693:;SmartGlobe.pbas,1262 :: yy1 = 5$19AA $0E05
MOVLW 5$19AC $6F4B
MOVWF _yy1, 1;SmartGlobe.pbas,1263 :: yy2 = 8$19AE $0E08
MOVLW 8$19B0 $6F4C
MOVWF _yy2, 1;SmartGlobe.pbas,1264 ::
text2[5] = ""$19B2 $0E30
MOVLW 48$19B4 $6E45
MOVWF _text2+5, 0;SmartGlobe.pbas,1265 ::
text2[6] = ""$19B6 $0E30
MOVLW 48$19B8 $6E46
MOVWF _text2+6, 0;SmartGlobe.pbas,1266 ::
text2[7] = ""$19BA $0E30
MOVLW 48$19BC $6E47
MOVWF _text2+7, 0$19BE $D054 BRA
SmartGlobe_L_695;SmartGlobe.pbas,1267 :: else
Appendix F F-26
$19C0 $ SmartGlobe_L_694:;SmartGlobe.pbas,1268 :: if tup = 3 then$19C0 $511B
MOVF _tup, 0, 1$19C2 $0A03
XORLW 3$19C4 $E10B BNZ
SmartGlobe_L_697$19C6 $ SmartGlobe_L_696:;SmartGlobe.pbas,1269 :: yy1 = 16$19C6 $0E10
MOVLW 16$19C8 $6F4B
MOVWF _yy1, 1;SmartGlobe.pbas,1270 :: yy2 = 19$19CA $0E13
MOVLW 19$19CC $6F4C
MOVWF _yy2, 1;SmartGlobe.pbas,1271 ::
text2[16] = ""$19CE $0E30
MOVLW 48$19D0 $6E50
MOVWF _text2+16, 0;SmartGlobe.pbas,1272 ::
text2[17] = ""$19D2 $0E30
MOVLW 48$19D4 $6E51
MOVWF _text2+17, 0;SmartGlobe.pbas,1273 ::
text2[18] = ""$19D6 $0E30
MOVLW 48$19D8 $6E52
MOVWF _text2+18, 0$19DA $D046 BRA
SmartGlobe_L_698;SmartGlobe.pbas,1274 :: else$19DC $ SmartGlobe_L_697:;SmartGlobe.pbas,1275 :: if tup = 4 then$19DC $511B
MOVF _tup, 0, 1$19DE $0A04
XORLW 4$19E0 $E120 BNZ
SmartGlobe_L_700$19E2 $ SmartGlobe_L_699:;SmartGlobe.pbas,1276 :: yy1 = 5$19E2 $0E05
MOVLW 5$19E4 $6F4B
MOVWF _yy1, 1;SmartGlobe.pbas,1277 :: yy2 = 19$19E6 $0E13
MOVLW 19$19E8 $6F4C
MOVWF _yy2, 1
;SmartGlobe.pbas,1278 :: text3 = "Cap: "$19EA $0E43
MOVLW 67$19EC $6E55
MOVWF _text3+0, 0$19EE $0E61
MOVLW 97$19F0 $6E56
MOVWF _text3+1, 0$19F2 $0E70
MOVLW 112$19F4 $6E57
MOVWF _text3+2, 0$19F6 $0E3A
MOVLW 58$19F8 $6E58
MOVWF _text3+3, 0$19FA $0E20
MOVLW 32$19FC $6E59
MOVWF _text3+4, 0$19FE $6E5A
MOVWF _text3+5, 0$1A00 $6E5B
MOVWF _text3+6, 0$1A02 $6E5C
MOVWF _text3+7, 0$1A04 $6E5D
MOVWF _text3+8, 0$1A06 $6E5E
MOVWF _text3+9, 0$1A08 $6E5F
MOVWF _text3+10, 0$1A0A $0100
MOVLB 0$1A0C $6F60
MOVWF _text3+11, 1$1A0E $6F61
MOVWF _text3+12, 1$1A10 $6F62
MOVWF _text3+13, 1$1A12 $6F63
MOVWF _text3+14, 1$1A14 $6F64
MOVWF _text3+15, 1$1A16 $6F65
MOVWF _text3+16, 1$1A18 $6F66
MOVWF _text3+17, 1$1A1A $6F67
MOVWF _text3+18, 1$1A1C $6F68
MOVWF _text3+19, 1$1A1E $6B69 CLRF
_text3+20, 1$1A20 $D023 BRA
SmartGlobe_L_701;SmartGlobe.pbas,1279 :: else$1A22 $ SmartGlobe_L_700:;SmartGlobe.pbas,1280 :: if tup = 5 then$1A22 $0103
MOVLB 3$1A24 $511B
MOVF _tup, 0, 1
Appendix F F-27
$1A26 $0A05 XORLW 5
$1A28 $E11F BNZSmartGlobe_L_703
$1A2A $ SmartGlobe_L_702:;SmartGlobe.pbas,1281 :: yy1 = 5$1A2A $0E05
MOVLW 5$1A2C $6F4B
MOVWF _yy1, 1;SmartGlobe.pbas,1282 :: yy2 = 19$1A2E $0E13
MOVLW 19$1A30 $6F4C
MOVWF _yy2, 1;SmartGlobe.pbas,1283 :: text4 = "Cur: "$1A32 $0E43
MOVLW 67$1A34 $0100
MOVLB 0$1A36 $6F6A
MOVWF _text4+0, 1$1A38 $0E75
MOVLW 117$1A3A $6F6B
MOVWF _text4+1, 1$1A3C $0E72
MOVLW 114$1A3E $6F6C
MOVWF _text4+2, 1$1A40 $0E3A
MOVLW 58$1A42 $6F6D
MOVWF _text4+3, 1$1A44 $0E20
MOVLW 32$1A46 $6F6E
MOVWF _text4+4, 1$1A48 $6F6F
MOVWF _text4+5, 1$1A4A $6F70
MOVWF _text4+6, 1$1A4C $6F71
MOVWF _text4+7, 1$1A4E $6F72
MOVWF _text4+8, 1$1A50 $6F73
MOVWF _text4+9, 1$1A52 $6F74
MOVWF _text4+10, 1$1A54 $6F75
MOVWF _text4+11, 1$1A56 $6F76
MOVWF _text4+12, 1$1A58 $6F77
MOVWF _text4+13, 1$1A5A $6F78
MOVWF _text4+14, 1$1A5C $6F79
MOVWF _text4+15, 1$1A5E $6F7A
MOVWF _text4+16, 1
$1A60 $6F7B MOVWF _text4+17, 1
$1A62 $6F7C MOVWF _text4+18, 1
$1A64 $6F7D MOVWF _text4+19, 1
$1A66 $6B7E CLRF_text4+20, 1
$1A68 $ SmartGlobe_L_703:;SmartGlobe.pbas,1284 :: end if$1A68 $ SmartGlobe_L_704:;SmartGlobe.pbas,1285 :: end if$1A68 $ SmartGlobe_L_701:;SmartGlobe.pbas,1286 :: end if$1A68 $ SmartGlobe_L_698:;SmartGlobe.pbas,1287 :: end if$1A68 $ SmartGlobe_L_695:;SmartGlobe.pbas,1288 :: end if$1A68 $ SmartGlobe_L_692:;SmartGlobe.pbas,1289 :: kp4 = 1$1A68 $0100
MOVLB 0$1A6A $0E01
MOVLW 1$1A6C $0103
MOVLB 3$1A6E $6F4A
MOVWF _kp4, 1;SmartGlobe.pbas,1290 :: yy = yy1$1A70 $C34B F31C
MOVFF _yy1, _yy;SmartGlobe.pbas,1291 :: yy3 = 0$1A74 $6B19 CLRF
_yy3, 1;SmartGlobe.pbas,1292 :: kp1 = 0$1A76 $6B71 CLRF
_kp1, 1$1A78 $D042 BRA
SmartGlobe_L_689;SmartGlobe.pbas,1294 :: else$1A7A $ SmartGlobe_L_688:;SmartGlobe.pbas,1297 :: if kp = kp1 then$1A7A $0100
MOVLB 0$1A7C $51CA
MOVF _kp, 0, 1$1A7E $0103
MOVLB 3$1A80 $1971
XORWF _kp1, 0, 1$1A82 $E120 BNZ
SmartGlobe_L_706$1A84 $ SmartGlobe_L_705:;SmartGlobe.pbas,1299 :: if yy3 = 9 then
Appendix F F-28
$1A84 $5119 MOVF _yy3, 0, 1
$1A86 $0A09 XORLW 9
$1A88 $E103 BNZSmartGlobe_L_709
$1A8A $ SmartGlobe_L_708:;SmartGlobe.pbas,1300 :: yy3 = 0$1A8A $6B19 CLRF
_yy3, 1$1A8C $EF49 F00D
GOTO SmartGlobe_L_710;SmartGlobe.pbas,1301 :: else$1A90 $ SmartGlobe_L_709:;SmartGlobe.pbas,1302 ::
inc(yy3)$1A90 $2B19 INCF
_yy3, 1, 1;SmartGlobe.pbas,1303 :: end if$1A92 $ SmartGlobe_L_710:;SmartGlobe.pbas,1305 :: if kp2 = 0 then$1A92 $0E00
MOVLW 0$1A94 $1949
XORWF _kp2+1, 0, 1$1A96 $E102 BNZ
L_main_15$1A98 $0E00
MOVLW 0$1A9A $1948
XORWF _kp2, 0, 1$1A9C $ L_main_15:$1A9C $E10B BNZ
SmartGlobe_L_712$1A9E $ SmartGlobe_L_711:;SmartGlobe.pbas,1306 :: yy3 = 0$1A9E $6B19 CLRF
_yy3, 1;SmartGlobe.pbas,1307 :: if yy = yy2 then$1AA0 $511C
MOVF _yy, 0, 1$1AA2 $194C
XORWF _yy2, 0, 1$1AA4 $E104 BNZ
SmartGlobe_L_715$1AA6 $ SmartGlobe_L_714:;SmartGlobe.pbas,1308 :: yy = yy1$1AA6 $C34B F31C
MOVFF _yy1, _yy$1AAA $EF58 F00D
GOTO SmartGlobe_L_716;SmartGlobe.pbas,1309 :: else$1AAE $ SmartGlobe_L_715:;SmartGlobe.pbas,1310 ::
inc(yy)$1AAE $2B1C INCF
_yy, 1, 1;SmartGlobe.pbas,1311 :: end if$1AB0 $ SmartGlobe_L_716:
$1AB0 $0103 MOVLB 3
$1AB2 $D000 BRASmartGlobe_L_713
;SmartGlobe.pbas,1313 :: else$1AB4 $ SmartGlobe_L_712:;SmartGlobe.pbas,1317 :: end if$1AB4 $ SmartGlobe_L_713:;SmartGlobe.pbas,1319 :: kp2 = 4000$1AB4 $0103
MOVLB 3$1AB6 $0EA0
MOVLW 160$1AB8 $6F48
MOVWF _kp2, 1$1ABA $0E0F
MOVLW 15$1ABC $6F49
MOVWF _kp2+1, 1;SmartGlobe.pbas,1320 ::
manipulate$1ABE $EC7D F010 CALL
_manipulate$1AC2 $D01A BRA
SmartGlobe_L_707;SmartGlobe.pbas,1322 :: else$1AC4 $ SmartGlobe_L_706:;SmartGlobe.pbas,1324 :: if kp4 = 0 then$1AC4 $0103
MOVLB 3$1AC6 $514A
MOVF _kp4, 0, 1$1AC8 $0A00
XORLW 0$1ACA $E10B BNZ
SmartGlobe_L_718$1ACC $ SmartGlobe_L_717:;SmartGlobe.pbas,1326 :: if yy = yy2 then$1ACC $511C
MOVF _yy, 0, 1$1ACE $194C
XORWF _yy2, 0, 1$1AD0 $E104 BNZ
SmartGlobe_L_721$1AD2 $ SmartGlobe_L_720:;SmartGlobe.pbas,1327 :: yy = yy1$1AD2 $C34B F31C
MOVFF _yy1, _yy$1AD6 $EF6E F00D
GOTO SmartGlobe_L_722;SmartGlobe.pbas,1328 :: else$1ADA $ SmartGlobe_L_721:;SmartGlobe.pbas,1329 ::
inc(yy)$1ADA $2B1C INCF
_yy, 1, 1;SmartGlobe.pbas,1330 :: end if$1ADC $ SmartGlobe_L_722:$1ADC $0103
MOVLB 3
Appendix F F-29
$1ADE $EF72 F00DGOTO SmartGlobe_L_719
;SmartGlobe.pbas,1332 :: else$1AE2 $ SmartGlobe_L_718:;SmartGlobe.pbas,1335 :: kp4 = 0$1AE2 $6B4A CLRF
_kp4, 1;SmartGlobe.pbas,1336 :: end if$1AE4 $ SmartGlobe_L_719:;SmartGlobe.pbas,1338 :: yy3 = 0$1AE4 $0103
MOVLB 3$1AE6 $6B19 CLRF
_yy3, 1;SmartGlobe.pbas,1339 :: kp2 = 4000$1AE8 $0EA0
MOVLW 160$1AEA $6F48
MOVWF _kp2, 1$1AEC $0E0F
MOVLW 15$1AEE $6F49
MOVWF _kp2+1, 1;SmartGlobe.pbas,1340 :: kp1 = kp$1AF0 $C0CA F371
MOVFF _kp, _kp1;SmartGlobe.pbas,1341 :: cnt = kp$1AF4 $C0CA F31A
MOVFF _kp, _cnt;SmartGlobe.pbas,1344 :: end if$1AF8 $ SmartGlobe_L_707:;SmartGlobe.pbas,1346 ::
outdata$1AF8 $0103
MOVLB 3$1AFA $EC75 F01F CALL
_outdata;SmartGlobe.pbas,1349 :: end if$1AFE $ SmartGlobe_L_689:;SmartGlobe.pbas,1350 :: end if$1AFE $ SmartGlobe_L_679:;SmartGlobe.pbas,1351 :: end if$1AFE $ SmartGlobe_L_665:;SmartGlobe.pbas,1352 :: end if$1AFE $ SmartGlobe_L_644:$1AFE $ SmartGlobe_L_592:;SmartGlobe.pbas,1358 :: end if$1AFE $ SmartGlobe_L_593:;SmartGlobe.pbas,1359 :: end if$1AFE $ SmartGlobe_L_570:;SmartGlobe.pbas,1360 :: end if$1AFE $ SmartGlobe_L_516:
;SmartGlobe.pbas,1361 :: end if$1AFE $ SmartGlobe_L_473:$1AFE $EFA1 F003
GOTO SmartGlobe_L_467;SmartGlobe.pbas,1362 ::
wend$1B02 $D7FF BRA
$
Appendix G: User’s Manual
Appendix G G-1
SmartGlobe Operations Manual
Appendix G G-2
Operating Instructions:
Figure 1.1
Figure 1.2
1. Turn on the power switch as pointed on [Figure 1.1]. There will be a display on the LCD indicating the system information [Figure 1.2].
Figure 2.2
Figure 2.1.a Figure 2.1.b
2. Adjust the globe so that the laser pointer points to the Base Position, which is the intersection of the Prime meridian and the Equator. A black rubber marker is placed on the base position as an indicator [Figure 2.1.a, Figure 2.1.b]. To ensure proper alignment, the user can press the light bulb button [Figure 2.2] on the keypad to activate the laser pointer (with accompanying beep from the buzzer)
Power Switch
Appendix G G-3
when adjusting the globe’s position. Pressing the light bulb button the second time would turn off the laser pointer.
Figure 3.1 Figure 3.2
3. In the country selection menu [Figure 3.1], input the country code from the list of countries located on the right-side of the LCD [Figure 3.2]. Press Enter.
4. After pressing the Enter button, the SmartGlobe will start locating the entered country. The laser pointer and the buzzer will activate once the process is finished. Press the Enter button so the globe will move back to its base position. When the globe is already at its default position, it is now ready to locate another country.
Appendix G G-4
Updating/Editing Entries
1. In the country selection menu, input “9999” and press Enter. After pressing Enter,a message will be displayed, see Figure 5. Press Enter.
Figure 5
2. Input the corresponding code of the country you want to update. Press Enter.
3. Press SEL depending on the position of the information you want to update. The number you press the SEL button, the number of times it will move. For example, if you press it two times, it is on the Longitude attribute. When it is pressed three times, the cursor is on the Capital attributes, though you can’t see the cursor.
4. After selecting/determining the line to edit, press CLR(Clear). Type the word(s)/number depending on the changes you desire.
5. Press Enter.
6. In the country selection menu, input “9999” again and press Enter. After pressing Enter a message will be display, see Figure 6. Press Enter.
Figure 6
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