diff -up ./coridium-armmite-lpc2103-equates.asm.orig ./coridium-armmite-lpc2103-equates.asm
--- ./coridium-armmite-lpc2103-equates.asm.orig	2012-04-12 19:29:36.000000000 -0700
+++ ./coridium-armmite-lpc2103-equates.asm	2012-04-12 19:58:50.000000000 -0700
@@ -0,0 +1,33 @@
+;;; -*- Mode:Asm Mode:outline-minor-mode outline-regexp:";;;+" comment-start: "; " -*-
+        
+;;; coridium-armmite-equates.asm
+
+;;; Frank Sergeant  frank@pygmy.utoh.org modified by John Comeau jc.unternet.net
+;;; Equates specific to the Coridium ARMmite board
+
+        ;; it will be preprocessed into armmite-p2103-equates.s by
+        ;; the preprocessor that converts semicolons to at-signs so
+        ;; it can be included in various assembly programs for the
+        ;; Coridium board.
+
+;;; Equates
+
+        ;; The STAT LED is on PORT0, pin 15
+        ;; Note, P0.15 is in position 15 (dec) or 0x0F (hex)
+        ;; in decimal
+
+        ;;  3322 2222 2222 1111 1111 1100 0000 0000
+        ;;  1098 7654 3210 9876 5432 1098 7654 3210
+        ;;  xxxx xxxx xxxx xxxx Yxxx xxxx xxxx xxxx
+        ;;  0000 0000 0000 0000 0000 0000 0000 0000  in binary
+        ;;     0    0    0    0    8    0    0    0  = 0x00008000 in hex
+
+        ;; So an orr or bic(and) mask is 0x00008000
+        
+        .equ STAT_LED_MASK, 0x00008000
+        .equ LED_MASK, STAT_LED_MASK
+        
+;;; Test of an equate that cannot be loaded into the Lisp *equates* table
+
+        .equ BADKEY, 37 + 24
+        .equ BADKEY2, 0B00110101
diff -up ./custom-lpc2103.asm.orig ./custom-lpc2103.asm
--- ./custom-lpc2103.asm.orig	2012-04-12 19:21:48.000000000 -0700
+++ ./custom-lpc2103.asm	2012-04-12 21:22:17.000000000 -0700
@@ -36,15 +36,15 @@
 ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
         .include "equates-lpc2xxx.s"
-        .include "olimex-lpc2103-equates.s"
+        .include "coridium-armmite-lpc2103-equates.s"
 
-        .equ PLLCLKIN, 14745600  ;  Main crystal clock frequency
+        .equ PLLCLKIN, 20000000  ;  Main crystal clock frequency
         .equ PLL_MULTIPLIER, 1   ;  Multiplier must be 1 since we turn off PLL
         .equ CPUDIVISOR, 1       ;  (does the 2103 have a cpu clock divisor?)
         .equ PCLKDIVISOR, 4      ; must be 1, 2, or 4
         .equ TIMER0_PRESCALE_DIVISOR, 1 ; (does the 2103 have a timer prescale divisor?)
         ;.equ BAUDRATE, 115200 
-        .equ BAUDRATE, 38400
+        .equ BAUDRATE, 19200
         .equ SPIDIVISOR, 128     ; slow it way down for testing -- fcs 31 July 2006
 
 
@@ -356,4 +356,4 @@ ledOffSub:
 ;;         add r6, r6, #4
 ;;         ldr TOS, [r6]           ; read AD0DR3
 ;;         nxt
-        
\ No newline at end of file
+        
diff -up ./makefile.orig ./makefile
--- ./makefile.orig	2012-04-12 19:14:17.000000000 -0700
+++ ./makefile	2012-04-12 19:21:32.000000000 -0700
@@ -10,17 +10,17 @@
 # Set especially these variables for your environment
 # ######################################################################
 
-PORT = /dev/ttyS0
+PORT ?= /dev/ttyUSB0
 BIN = /usr/local/arm/bin
 PREASM = /usr/local/bin/preasm.tcl
 
 # I would like to make CCLK conditional upon the chip (or board) but
 # that information is not available at the time 'make xxx.dl' is run.
 # So, this must be edited for the particular board you are working with.
-CCLK = 14746
+CCLK ?= 20000  # 20MHz for ARMmite revs 1 and 2
 
 # Download speed for the serial port (for the flash loader)
-DLBAUD = 38400
+DLBAUD = 19200  # default for ARMmite revs 1 and 2
 
 INCLUDES = custom-lpc23xx.s custom-lpc2106.s custom-lpc2103.s custom-lpc2294.s
 
diff -up ./manual.html.orig ./manual.html
--- ./manual.html.orig	2012-04-12 22:55:20.000000000 -0700
+++ ./manual.html	2012-04-12 23:13:04.000000000 -0700
@@ -1906,6 +1906,45 @@ where /dev/ttyS0 is the ser
 rate and 14746 is the speed of the crystal in KHz of the board I'm
 using (i.e., 14.746 MHz).
 
+If the above doesn't work, as it doesn't in the case of the Coridium ARMmite which uses DTR and RTS, you will need the -control option. Here it is without:
+
+
+jcomeau@intrepid:~/rentacoder/jcomeau/armmite$ lpc21isp src/sample.hex /dev/ttyUSB0 19200 20000 +lpc21isp version 1.79 +File src/sample.hex: + loaded... + converted to binary format... + image size : 5232 +Image size : 5232 +Synchronizing (ESC to abort).................................................................................................... no answer on '?' ++ +
+and here with -control active:
+
+
+jcomeau@intrepid:~/rentacoder/jcomeau/armmite$ lpc21isp -control src/sample.hex /dev/ttyUSB0 19200 20000 +lpc21isp version 1.79 +File src/sample.hex: + loaded... + converted to binary format... + image size : 5232 +Image size : 5232 +Synchronizing (ESC to abort). OK +Read bootcode version: 2 +2 +Read part ID: LPC2103, 32 kiB ROM / 8 kiB SRAM (0x4FF11) +Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last. +Erasing sector 0 first, to invalidate checksum. OK +Sector 1: ............................... +Sector 0: .............................................................................................. +Download Finished... taking 6 seconds +Now launching the brand new code ++ diff -up ./riscy.tcl.orig ./riscy.tcl --- ./riscy.tcl.orig 2012-04-12 23:59:15.000000000 -0700 +++ ./riscy.tcl 2012-04-13 14:05:36.000000000 -0700 @@ -27,7 +27,7 @@ set ::serialPort1 "/dev/ttyS0" # note, serial port can be overridden on the command line with the # -port option (e.g., ./riscy.tcl ... -port /dev/ttyS0) -set ::baudrate 38400 +set ::baudrate 19200 proc filenameFromBlockNumber {num} { if {[between $num 0 999]} {return kernel.fth} @@ -1754,7 +1754,9 @@ proc openSerialPort1 {} { } if {[catch { set tty1 [open $serialPort1 w+] - fconfigure $tty1 -mode $::baudrate,n,8,2 -translation binary -buffering none \ + fconfigure $tty1 -mode $::baudrate,n,8,1 \ + -translation binary -buffering none \ + -ttycontrol {RTS 0 DTR 0} \ -blocking 1 -handshake none -timeout $::serialTimeout1 }] != 0} { error "cannot open serial port1 $serialPort1"