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-wheeldrive 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 McSha ne
1
Digitally signed by Patrick McShane DN: cn=Patrick McShane, o=PCS Centers for Enhanced Learning, ou=Headmaster, email=mcshane.patrick9 @gmail.com, c=US Date: 2009.03.22 13:46:22 -06'00'
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 4Segmented 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 McSha ne
Digitally signed by Patrick McShane DN: cn=Patrick McShane, o=PCS Centers for Enhanced Learning, ou=Headmaster, email=mcshane.patrick9 @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 McShan e
Digitally signed by Patrick McShane DN: cn=Patrick McShane, o=PCS Centers for Enhanced Learning, ou=Headmaster, email=mcshane.patrick9@ 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, profitsQ3, profitsQ4
; declaring multiple variables can ; 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 ARRAY BYTE CARD CHAR DEFINE DO ELSE ELSEIF EXIT
FI FOR FUNC IF INCLUDE INT LSH MOD MODULE OD
OR POINTER PROC RETURN RSH SET STEP THEN TO TYPE
UNTIL WHILE XOR + * / & % !
= < # = < <= $ ^ @
( ) . [ ] " ' ;
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 McSha ne
Digitally signed by Patrick McShane DN: cn=Patrick McShane, o=PCS Centers for Enhanced Learning, ou=Headmaster, email=mcshane.patrick9 @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 McShan e
Digitally signed by Patrick McShane DN: cn=Patrick McShane, o=PCS Centers for Enhanced Learning, ou=Headmaster, email=mcshane.patrick9@ gmail.com, c=US Date: 2009.03.22 13:47:29 -06'00'
Patrick McSha ne
Digitally signed by Patrick McShane DN: cn=Patrick McShane, o=PCS Centers for Enhanced Learning, ou=Headmaster, email=mcshane.patrick9 @gmail.com, c=US Date: 2009.03.22 13:48:04 -06'00'
Patrick McSha ne
Digitally signed by Patrick McShane DN: cn=Patrick McShane, o=PCS Centers for Enhanced Learning, ou=Headmaster, email=mcshane.patrick9@ gmail.com, c=US Date: 2009.03.22 13:48:32 -06'00'