You are on page 1of 11

Armadillo

Chassis Measurements:
Width: 4.4 Inches or 11.18 Centimeters
Length: (Without Sensors) 5.95 Inches or 15.11 Centimeters
(With Sensors) 7.80 Inches or 19.81 Centimeters
Height: 3 Inches or 7.62 Centimeters
Weight: 466.5 Grams

Drive Measurements:
Width: 5.2 Inches or 13.21 Centimeters
Center of tire to center of tire on opposite side
Length: 1.865 Inches or 4.74 Centimeters
Center of tire to center of tire on same side
Tire Diameter: 1.7 Inches or 4.32 Centimeters
LEGO 13x24 Hard Rubber Tire
Gear Ratio: 27:1

Remarks:
The Armadillo was developed in two stages. Headmaster Patrick McShane provided the Drive
Train and student Gary Gunter applied the Cosmetic Design. The Armadillo is a fast four-wheel-
drive vehicle that has two Optosensors mounted, one front and one rear, pointing towards the
ground. Specially designed mounting brackets were required to achieve this application. Power to
and sensor data from the vehicle is provided via a 4-cable bundle that connects to Ports A & B
for Motor Control and Ports 7 & 8 for Optosensor input, on the LEGO-TC-logo Interface Box
(Invented here at PCS by James Clough). The computer control was through the Atari 130XE.
The motors are standard LEGO 4.5v motors and steering in the PCS Left-Side/Right-Side Methods
controlled by the Optosensors. By pressing the ESC Key control is passed from the Optosensors
to the Human Factor using a standard Joystick to control the full-function movement of the
Armadillo.
A Robosphere1 has been designed for the Armadillo which allows staff and students an
opportunity to experiment with Artificial Life principles. Two such examples have been created;
one, wherein the vehicle becomes trapped inside black lines and another, wherein the vehicle
follows black lines of varying widths and configurations. Other Alife experiments remain in
development. Development of the Armadillo began in 1990.

Patrick
Digitally signed by
Patrick McShane
DN: cn=Patrick McShane,
o=PCS Centers for

McSha Enhanced Learning,


ou=Headmaster,
email=mcshane.patrick9

ne @gmail.com, c=US
Date: 2009.03.22
13:46:22 -06'00'

1
Robosphere…A term coined at PCS 11/1990 to designate a specific environment wherein a robot must
function according to the rules developed by the programmer. Not unlike the concept of Biosphere.
CAMLU III

Chassis Measurements:
Width: 3.14 Inches or 8 Centimeters
Length: 5.97 Inches or 15.16 Centimeters
Height: 2.59 Inches or 6.56 Centimeters
Weight: 384.5 Grams
Drive Measurements:
Width: 4.3 Inches or 10.92 Centimeters
Center of tire to center of tire on opposite side
Length: 3.1 Inches or 7.87 Centimeters
Center of tire to center of tire on same side
Tire Diameter: 2.0 Inches or 5.08 Centimeters
LEGO 20x30 Soft Rubber Tires
Turning
Radius: 5.3 Inches or 13.46 Centimeters
Gear Ratio: 72:1
Remarks:
CAMLU III is a true 4WD System using the Left-Side/Right-Side Drive Method of locomotion
with both front and rear axles being driven simultaneously. Power to the Drive Train is provided
by two 4.5v LEGO standard electric motors. Electrical Power to and Sensor data from the vehicle
is provided via a 4-cable bundle that connects to Ports A & B for Motor Control and Ports 6 & 7
for Optosensor input, on the LEGO-TC-logo Interface Box (Invented at PCS by James Clough).
There are two Opto Sensors mounted on the Worm Gear axles at a gear ratio of 3:1 from the
motors. The Worm Gears, in turn, drive final 24-toothed Spur Gears. Data is fed into the Atari
130XE computer as the Optosensors read information provided by the turning of two 4-
Segmented Black-and-White Counting Disks as they turn past the ’eyes’ of the Optosensors. The
Counting Disks are mounted on the same axles as the Worm Gears, front.
A Testing Station was built to make programming easier in that one doesn’t have to run after
an errant robot because of poor code writing. Both vehicle and testing station were designed and
created by Founder and Superintendent of PCS Center for Enhanced Learning, Nampa, Idaho
Campus, 12/1991.
Control of CAMLU III was provided by the Human factor using a heavy duty Joystick. The
Optosensor feedback allowed the operator to view, in real-time, the actual speed of the vehicle
expressed in any measurement that the programmer wished to observe. The 72:1 gear ratio,
while somewhat slower than the Armadillo, provided an inordinate amount of power, allowing the
traversal of slopes up to approximately 60%. The ability to ‘munch’ other vehicles during
operation seemed to offset the need for speed and everyone seemed to be satisfied.

Patrick Digitally signed by Patrick


McShane
DN: cn=Patrick McShane,

McSha
o=PCS Centers for
Enhanced Learning,
ou=Headmaster,
email=mcshane.patrick9

ne
@gmail.com, c=US
Date: 2009.03.22 13:46:39
-06'00'
Tramiel era: XE series and XE Game System

Atari Jack Tramiel's Atari Corporation produced the final machines in the 8-bit series, which
were the 65XE and 130XE (XE stood for XL-Expanded). They were announced in 1985, at the
same time as the initial models in the Atari STseries, and resembled the Atari ST. Originally
intended to be called the 900XLF, the 65XE was functionally equivalent to the 800XL minus the
PBI connection. The 65XE (European version) and the 130XE had the Enhanced Cartridge
Interface (ECI), a semi-compatible variant of the Parallel Bus Interface (PBI). The 130XE shipped
with 128 KB of memory, accessible through bank-selection.
Close-up view of 130XE front panel/keyboard. This machine is the same as a 65XE but with an
extra 64k (128k total) memory. The last 8-bit Atari made, the extra memory was not supported
by most applications.

Patrick
Digitally signed by Patrick
McShane
DN: cn=Patrick McShane,
o=PCS Centers for

McShan Enhanced Learning,


ou=Headmaster,
email=mcshane.patrick9@

e gmail.com, c=US
Date: 2009.03.22 13:46:53
-06'00'
Action!
Action! was a programming language and integrated editor, debugger, and 6502code
generating compiler, editor for the Atari 8-bit family of microcomputers. Action! was
created by Clinton Parker and released on cartridge by Optimized Systems Software in
1983. Its syntax was similar to that of ALGOL 68.
Action! was significant for its high performance, which allowed games and graphics
demos to be written in a high-level language in an era when it was generally understood
that performance required hand-written assembly languagecode. The language was
tailored so there was a clean mapping between language constructs and the 6502
hardware.
A library was available as a separate product called the Action! Toolkit. Action! was
used to develop at least two commercial product: the Homepak productivity suite
and Games Computers Play client program. The language was never ported to other
systems.
In 2007 it inspired Effectus - a cross-compiler currently running on Windows targeting
the Atari 8-bit. Effectus resembles Action! syntax and is intended to be as compatible as
possible with it.
Contents
[hide]
• 1 Data Types
• 1.1 BYTE
• 1.2 CARDin
al
• 1.3 INTeger
• 2 Keywords
• 3 Programming
• 4 Example code
• 5 See also
6 External links

Data Types
ACTION! has three fundamental data types, all of which are numeric.

BYTE
Internally represented as an unsigned 8-bit integer. Values range from 0 to 255.
The CHAR keyword can also be used to declare BYTE variables.
BYTE age=[21] ; declare age and initialize it to the value 21
BYTE leftMargin=82 ; declare leftMargin and store it at address 82

CARDinal
Internally represented as an unsigned 16-bit integer. Values range from 0 to 65,535.
CARD population=$600 ; declare population and store it at
address 1536 and 1537
CARD prevYear, curYear, nextYear ; use commas to declare multiple
variables

INTeger
Internally represented as a signed 16-bit integer. Values range from -32,768 to 32,767.
INT veryCold = [-10]
INT profitsQ1, profitsQ2, ; declaring multiple variables can
profitsQ3, profitsQ4 ; span across multiple lines

ACTION! also has ARRAYs, POINTERs and user defined TYPEs. No floating
point support was available.
An example of a user-defined TYPE:
TYPE CORD=[CARD x,y]
CORD point
point.x=42
point.y=23

Keywords
A "keyword" is any word or symbol that the ACTION! compiler recognizes as something
special. It can be an operator, a data type name, a statement, or a compiler directive.
AND FI OR UNTIL = (
ARRAY FOR POINTER WHILE < )
BYTE FUNC PROC XOR # .
CARD IF RETURN + [
CHAR INCLUDE RSH - = ]
DEFINE INT SET * < "
DO LSH STEP / <= '
ELSE MOD THEN & $ ;
ELSEIF MODULE TO % ^
EXIT OD TYPE ! @

Programming
Programming in Action! required working with the editor and compiling/debugging in
the monitor. The editor had a full-screen, scrolling display capable of displaying two
windows. The editor included block operations and global search and replace. Compiling
took place in the monitor, a mode that allowed compiling and debugging.
Action! was a one-pass compiler. It compiled the source code entirely in memory. This
allowed great speed, but limited the amount of code that could be compiled.
Local variables were assigned fixed addresses in memory instead of being allocated on
the stack. This enabled tight code to be generated for the 6502, but precluded the use
of recursion.
Example code
The following is example code for Sieve of Eratosthenes written in Action. In order to
increase performance, it disables theANTIC graphics coprocessor on the Atari hardware,
thus preventing its DMA engine from "stealing" CPU cycles during the computation.
BYTE RTCLOK=20, ; addr of sys timer
SDMCTL=559 ; DMA control

BYTE ARRAY FLAGS(8190)

CARD COUNT,I,K,PRIME,TIME

PROC SIEVE()

SDMCTL=0 ; shut off Antic


RTCLOK=0 ; only one timer needed

COUNT=0 ; init count


FOR I=0 TO 8190 ; and flags
DO
FLAGS(I)='T ; "'T" is a compiler-provided constant for True
OD

FOR I=0 TO 8190 ; and flags


DO
IF FLAGS(I)='T THEN
PRIME=I+I+3
K=I+PRIME
WHILE K<=8190
DO
FLAGS(K)='F ; "'F" is a compiler-provided constant for False
K==+PRIME
OD
COUNT==+1
FI
OD
TIME=RTCLOK ; get timer reading
SDMCTL=34 ; restore screen

PRINTF("%E %U PRIMES IN",COUNT)


PRINTF("%E %U JIFFIES",TIME)
RETURN

See also
• ALGOL 68

External links
• Review of Action! from ANALOG Computing, with benchmarks
• Action! info at Retrobits.com
• Action! Programming Wiki
• Hi-Res Vol. 1, No. 4 - May/June 1984 Lights, Camera, Action!
• The ACTION! Archive
• Action! language reference
• effectus
Categories: Procedural programming languages | Algol programming language
family | Optimized Systems Software

Patrick Digitally signed by


Patrick McShane
DN: cn=Patrick McShane,

McSha
o=PCS Centers for
Enhanced Learning,
ou=Headmaster,
email=mcshane.patrick9

ne
@gmail.com, c=US
Date: 2009.03.22
13:47:14 -06'00'
Atari 130XE Memory Locations

I discovered that by PEEKing and POKEing into these MemLocs I could READ and WRITE to the
Joystick Ports. If we connected Sensors to provide INPUT we could cause specific OUTPUT
actions to take place, like running two motors at the same time in the same, or different
rotational attitudes. These locations are:
Decimal ADDR
632 Joystick 0
633 Joystick 1
634 Joystick 2
635 Joystick 3
644 Trig 0
645 Trig 1
646 Trig 2
647 Trig 3

By using the wonderful Atari 130XE, 6502 8-Bit Microprocessor and Action (Compiled
programming language) we were able to achieve a high degree of control over our robotic
creations. I am very sorry that no one saw the value in this wonderful little computer and it’s
programming powers. I started using Basic, then Basic XE, Logo, Action, C, and a few rather
oblique languages. When all had been tested, I still came back to Action as the controlling
language. For the students, they seemed to prefer the modular aspects of Logo. It was very easy
for them to get their minds around the modular concepts. I have since seen this modularity
applied to the new PCS Edventures Brain as it starts with a Modular Format, followed by Logo,
and then their own brand of Compiled Language. They have also added the CAD concept to
creating Lego elements.

Patrick
Digitally signed by Patrick
McShane
DN: cn=Patrick McShane,
o=PCS Centers for

McShan Enhanced Learning,


ou=Headmaster,
email=mcshane.patrick9@

e gmail.com, c=US
Date: 2009.03.22 13:47:29
-06'00'
Patrick
Digitally signed by
Patrick McShane
DN: cn=Patrick McShane,
o=PCS Centers for

McSha Enhanced Learning,


ou=Headmaster,
email=mcshane.patrick9

ne @gmail.com, c=US
Date: 2009.03.22 13:48:04
-06'00'
Patrick Digitally signed by Patrick
McShane
DN: cn=Patrick McShane,

McSha
o=PCS Centers for
Enhanced Learning,
ou=Headmaster,
email=mcshane.patrick9@

ne
gmail.com, c=US
Date: 2009.03.22 13:48:32
-06'00'

You might also like