Back to
Alpha Micro Pageant of Models |
Alpha Micro Phun Machine @ Floodgap Retrobits
AMPM: Alpha Micro Eagle 450
The Eagle 450, along with the cost-reduced Eagle 250, Eagle 250LC and Eagle
450TX, and the bigger Eagle 550 ColdFire, represent the last generation of
the 68K Eagles and have several interesting architectural features.
Probably the most notable of these unusual architectural attributes is the
choice of CPU: the E450 and descendants are based on the Motorola ColdFire,
though using the "bridge" MCF5102, which maintains full compatibility with 68K
code and in this implementation looks like a regular 68040 to application
software. (This isn't an accident: the MCF5102 started life as
the 68040VL.) The OS does need
to be patched for ColdFire support, however, which is why only 2.3A is
supported on these machines. The '040 core in the MCF5102 is slightly lower
performance at the same clockspeed as a regular '040, so it is not faster
than the bigger 40MHz 68040 or the 68060 machines (and it only runs at 33MHz).
On the other hand, it's lower power,
lower cost and lower temperature, all of which are advantageous in these
smaller systems. The E450 was the first Alpha Micro system with this
architecture and one of the earliest ColdFire systems extant.
The E450 also introduces 68-pin SCSI-3 for substantially faster I/O
throughput, as the benchmark below demonstrates.
This is the fastest Alpha Micro in my collection,
easily eclipsing the E300 serving this
page and its lower-cost descendant E100,
and was a generous donation
from Douglas Peelle (thanks, Doug!). It used to work in a 9-1-1 dispatch
center but now is my test machine and acts as hardware backup for the E300.
I'll talk briefly about how I broke into it as an educational
aid to other people who might find one of these blue-collar machines
in the wild.
For more commentary on the Eagle machine line, see the
Eagle 100 page and its ancestor
Eagle 300 page.
Pictures
As it arrived to my lab after I did a bit of cleaning up. The DAT was factory
installed and is supported directly by AMOS. It is in the standard PC
mini-tower case Alpha Micro was using around this time, including for
the E100.
The backplate of the unit, however, is very different from the E100/E300. The
power supply is mounted sideways and there is a second cooling fan for the
drive bays up top. It has connectors for Ethernet (the AUI is blocked off),
parallel, UPS monitoring (old school DB-9)
and the factory-installed 8 RJ-45 terminal serial ports. The external
SCSI connector is 68-pin instead of 50-pin and wired directly into the bus.
There are also no boot DIP switches like there are on the E100/E300 because
boot options are set in CMOS (see below).
You can't see it here, but the official model number is AM-3500-450;
all Eagles
that I have seen are officially "AM-3500" series models.
With the cover off. As received the cables were just everywhere. The power
supply is still an AT power supply; the factory-installed PSU is 250W.
The AM-138 logic board is mounted to the rear.
A closer view of the AM-138 logic board with the cables out of the way. Click
for an enlargement of the logic board (170K).
There are several interesting features on this board:
- Like prior Eagles, expansion occurs primarily over SIMM cards. The eight
pre-installed ports are provided directly by the logic board with pin headers
at the lower left; there are three additional SIMM card slots for a grand total
of 32 ports. The port cards are AM-90
Lightning boards with built-in surge protection to protect the machine from
the terminals. The slots support AM-314, AM-318 and AM-318-10 serial cards;
the AM-318-10 cards support Super I/O acceleration and are preferred.
- The large chip near the internal SCSI is obviously the controller, the LSI
version of the venerable NCR 53C770. This provides Fast Wide SCSI to
either the 68-pin or "legacy" 50-pin SCSI internal ports above it.
However, you cannot
use both busses simultaneously: all devices must be attached to either one
or the other. Even if you use the 50 pin port, the only external port
is the 68-pin one.
- The Seiko Epson RTC-65271 timekeeper chip on the middle left maintains
the clock and CMOS settings. It carries
two BR1225 batteries in it which can easily be
replaced, a big improvement over the sealed Dallas timekeepers you might
see dead in other machines.
-
Two parity-capable 72-pin RAM SIMM slots are available. RAM does not need to be
installed in matched pairs; up to 256MB in two 128MB SIMMs is supported. There
was a single 8MB SIMM in the slot when it arrived, shown here.
See Potpourri for notes on installing additional memory.
-
However, the SIMM slot above those two
is not for RAM; it is for an optional 64K cache,
the same one supported in the AM-6000 (PDB-00701-00). It has exactly the
same pin and key configuration as a 72-pin RAM stick but is decidedly
not electrically compatible,
and you will destroy the stick and/or the board if
you aren't careful. The cache SIMM is particularly important because due to
backwards compatibility reasons the ColdFire's
data cache cannot be enabled. It is irritating that this SIMM
was not a standard
PC cache SIMM of the time, something Rod Hewitt commented on in his test
report back to Alpha Micro.
Some other interesting features are what were not implemented:
- At the bottom left
are solder pads for an AUI connector which is not installed. This is
missing some components but the circuitry is present. Obnoxiously, the CMOS
menu (read on) will let you select the phantom AUI port
for Ethernet; it doesn't work, of course.
- However, a more interesting omission is located at the top middle
of the board, namely three unpopulated pin headers and an empty SMT region
where a chip should go labeled "CA91C860." The topmost header is for an
unknown option connector, but the other two are actually for PCI slots, and
the SMT region is for the 68K host-to-PCI bridge chip that would have
serviced them (in this case, the IDT
CA91C860 as labeled, though
the internal bus is still the same as the other Eagles).
The two small SMT pad regions near where the PCI slots would have gone are
for PLDs that likely would have serviced them as well. The
AlphaTCP Administrator's Guide makes reference to a PCINIC
interface for the E450 that apparently was intended to support PCI
Ethernet cards, but it doesn't look like it was ever offered on shipping
systems. In Hewitt's report he mentions the production board was intended
to have one or two slots, and his unit actually did
have a slot, but it was "covered
up with tape due to an error in the prototype board layout."
Alpha Micro added to his report that "software support is scheduled for a
later release. Until then, the PCI connectors are for future use only."
I guess we're still waiting.
-
The other major unimplemented feature is, apparently, the CPU (!). On
the far right middle of the board is a big pin grid array region for a 68040
marked U89,
but there's no socket and no chip. So where's the CPU?
Actually, it's the little chip right above it at U96 hidden by the drive cage.
Only that honking heat sink tells you this chip does a lot more work
than anything else on the board. Best theory is that the AM-138 was developed
to handle either CPU and it wasn't worth redesigning the board to remove the
unused socket. The 1998 product announcement calls it an "R&D Test Point."
Unlike earlier Eagles which used DIP switches to set boot options,
the E450 has a CMOS setup menu (notice the front
LED reads "CS"), accessible by pressing ESC on the primary terminal as
it starts up. Not only can you select the primary and secondary boot
devices -- interestingly, Flash is one of them (don't select it, though, it
won't work) but CD-ROM isn't --
but also the boot monitor, the boot INI file, serial port and even if
bootup messages are displayed. Unfortunately this also means forgetting
you changed the default terminal speed is likely to ruin your day in
a big way.
Booting up.
In the server room next to the E300 with
a Yamaha CRW-8424SX CD drive that I used to use with my old Power Mac 7300
as an "OEM" AM-402.
The console is my usual workhorse AM-65. The LED reads "0" for "no error."
How I Broke Into It
Doug didn't know how to get into the machine, so here's how I broke into it
and got it properly configured
for those of you trying to play with the Alpha Micro you just bought on eBay.
Actually getting OPR: was the easy part. Many Alpha Micro systems,
if they ask for a username, will allow you to log in as the vendor with
DEMO or System Service without a password.
DEMO is usually attached
to OPR:; System Service is usually attached to SYS:.
In this case, the DEMO login was working, and had no password!
Instant operator access! (If you're already at a dot prompt, try an immediate
LOG OPR: to see if you can get operator from there. Odds are that
if those accounts were left open and active, there's probably no password on
OPR: either.)
Unfortunately, when I got to the dot prompt and tried to do anything with
the AM-65 terminal I had handy, the terminal emulation was just a big mess.
After some looking at SYS:AMOS32.INI it seemed to be using a terminal
emulation that neither the AM-65 nor my AM-75 could be configured to support.
That was a problem because I couldn't edit any files, meaning I couldn't even
log in over the network because it was configured with a weird
static IP address.
However, the TDVDEF line in AMOS32.INI showed an entry
for ANSIPM (and, for that matter, AM65) if only I could
just coax the machine to use it.
The easiest thing to do in this situation, since SYSTAT told me
that AlphaTCP was enabled and TELNED (the Telnet daemon) was running,
was to try to fix the network address because that could be done in one file
from scratch (TCP:NETWRK.). To do this, I wrote a little AlphaBASIC
"copy con" program to create a new version of that file with the right
IP address. Start BASIC and key it in. It's only 5 lines.
The session looked like this. When keying in the network info, between the
three main fields, use tabs (two between loop and
127. in the first line).
If you make a mistake, start over, deleting
out.lst if needed,
since you may accidentally introduce odd control characters. If you saved
the BASIC text already, then reload it into BASIC
with load cpycon.bas and continue with the run command.
.log tcp:
Transferred from OPR: to TCP:
Caution - other jobs same PPN
.basic
AlphaBASIC Version 1.4(309)-2
READY
10 strsiz 255:open #1,"out.lst",output
20 input line q$
30 if q$="" then close #1:print "** DONE **":end
40 print #1 q$
50 goto 20
save cpycon.bas
READY
run
COMPILING
Compile time was 0 seconds, elapsed time was 0 seconds
loop 127.0.0.1 local
ethernet 192.168.0.1 ether eth net
** DONE **
CPU time was 0.02 seconds, elapsed time was 19 seconds
READY
bye
.type out.lst
loop 127.0.0.1 local
ethernet 192.168.0.1 ether eth net
.rename netwrk.bak=netwrk.
NETWRK. to NETWRK.BAK
Total of 1 file renamed
.rename netwrk.=out.lst
OUT.LST to NETWRK.
Total of 1 file renamed
At this point I plugged it into the network switch and rebooted it, then
got out my trusty iBook G4 and assigned it an address on the same subnet.
I could then do telnet 192.168.0.1 and got in!
e450 TELNET server (AMOS TCP/IP V1.5A) ready.
********** Welcome to AMOS **********
Enter terminal type and memory required (default is 64K)
or a question mark (?) to see a list of supported terminals
Example: >am65a 64k
>ansipm 640k
I then logged in as DEMO again and was back in OPR:. I
backed up the old AMOS32.INI
(copy sys:amos32.bak=sys:amos32.ini), created a new one
(copy sys:new32.ini=sys:amos32.ini) and now I could use VUE
to edit the new one (see the Primer on AMOS for the
commands and keycombinations to use on a non-Alpha Micro terminal) and set
the TRMDEF for the console to AM65. How that line will
look depends on the system, but this is how it looked here:
TRMDEF TERM1,AM31810=0:19200,AM65,132,132,132,EDITOR=5
I shut down and restarted the machine into the CMOS menu for a test boot,
setting the INI file to NEW32.INI. The test showed no errors, so as
the last steps, I deleted the old AMOS32.INI
(erase sys:amos32.ini) and renamed NEW32.INI to it
(rename sys:amos32.ini=sys:new32.ini), and made one last trip
into the CMOS menu to change back to AMOS32.INI. Fully
operational! Whew!
Performance
Benchmarked with SI.LIT on standard hardware with spinning
SCSI-3 hard disk. I don't have the optional cache card.
Computing Index (CX), relative to AM-100: 59.9
48 bit FP Index (4X), relative to AM-100: 58.2
Floating Point Index (FX), relative to AM-100/L: 7.9
Disk Index (DX), relative to ST-506: 30.9
All of the indices show substantial improvement over every prior Eagle
except the E550, but disk speed in particular
is roughly double that of the E300.
Rod Hewitt's test report on the E450 suggests the cache yields about a 13%
performance boost (based on his reported SI.LIT CX result of 68).
Even granted that he was working on a prototype this is still
less than you would expect, but certainly not nothing.
Potpourri
- The regular 450 cannot boot from Flash or Xmodem; don't set it to those
options in CMOS. The 450TX does (in fact, probably must) boot from Flash.
Similarly, while the CMOS menu will let you select AUI for the Ethernet
connector, there's no AUI port (so leave it set to TPI for the twisted-pair
RJ-45). Boot device settings from CMOS are not read by the monitor, so you
may need to make analogous boot devices changes there too for bootable
backups.
- Using MONTST with an .INI file not in the usual
location (DSK0:AMOS32.INI[1,4]) may not work properly. Instead,
simply set the desired .INI file from the CMOS menu.
- The correct AlphaTCP Ethernet driver for the Eagle 450 is the AM-138
(the relevant TCP:CONFIG. line reads ifconfig ec0 am138).
You may need SYSTEM DVR:AM138.LDV/N in your AMOS32.INI
to make sure that driver is loaded.
- These lines are required in AMOS32.INI to enable the parallel
port (EGP0:):
DEVTBL /EGP0
SYSTEM DVR:EGP.DVR
- The SCSI-3 dispatcher for the Eagle 450 has many useful switches. Most
of the time you will want tolerant active negation enabled for better
bus integrity, and parity enabled. That line in AMOS32.INI
looks like this:
SCZDSP SCZ138/ET
If you have Wide SCSI devices, you can add the /EW option.
If no SCSI IDs
are specified, then all devices are assumed Wide. If only one is, then just
use that SCSI ID. For example, you could use either of these lines:
SCZDSP SCZ138/ET/EW (entire bus)
SCZDSP SCZ138/ET/EW:0 (just drive 0)
In practice the /EW switch is compatible with pretty much any
SCSI-2 device, so there should be little need to specify specific SCSI IDs.
- Unfortunately, the SCSI controller in the E450 is very finicky about
other devices. Devices that are not SCSI-2 compliant may trip bugs in the
dispatcher or even cause your machine to hang. Although the Alpha Micro
AM-401 external CD-ROM drive is a rebadged Toshiba XM-5401B with a specific ROM
revision (see the E300 page for more info),
installing an internal OEM version caused
the machine to persistently complain there was no CD despite a known-good
disc and trying
multiple units with the known correct ROM PLCC. Connecting my E300's
known-working AM-401 appeared to read the disc but then reliably caused a SCSI
phase error which alternately freaked out or locked up the system. Worse,
if the AM-401 was turned on before booting the E450, the E450 couldn't find
the hard disk!
Only the AM-402 in its
two forms (the Yamaha 8424S and 3200SZ) seems to work properly with this
machine. While the AM-402 was sold as a strictly internal device,
the OEM external version (at least
the CRW-8424SX shown here) so far works fine, connected with a 68-50
pin active converter. It may have ROM restrictions as well: this known
working ROM version appears as YAMAHA CRW8424S 1.0j16/03/00.
If you list devices with the SCSI command and the unit
does not appear as a (CD-ROM), then it
was not detected as an optical drive, and you will not be able to
mount any AlphaCD partitions on it.
Although this drive is a CD burner, I don't have a PIC for MAKACD,
so I don't know if it works for that purpose (though I don't see why it
wouldn't).
- The Eagle 450 supports up to 256MB of RAM in the slots marked J10 and J11
using 4MB, 8MB, 16MB, 32MB, 64MB or 128MB SIMMs. Only 60ns SIMMS are supported.
Parity is supported and strongly advised!
SIMMs do not have to be installed in pairs, and if you use two, they don't
have to be the same size. For example, you can install a 32MB SIMM and
a 16MB SIMM for a total of 48MB of memory. Place the larger stick in J10
(if you only have one stick, then just leave J11 empty). Don't put any
RAM SIMMs into J12!
Once the SIMMs are installed, set the jumpers at JP7 to the proper sizes.
Bank 0 controls the slot at J10 and Bank 1 controls J11. In the table below,
jumpers are left to right,
1 means set the jumper to ON and 0 means set the jumper to OFF:
empty 0 0 0
4MB 1 1 1
8MB 0 1 1
16MB 1 0 1
32MB 0 0 1
64MB 1 1 0
128MB 0 1 0
- If your system has the cache SIMM (remember, only insert it into J12),
make sure the jumper at JP12 is on.
- The self-test is triggered, as in all Alpha Micro systems, by holding in
the reset button as the computer is turned on. If there is a console terminal
attached to a serial port, wait for "5b" to appear on the LEDs and then press
the space bar repeatedly until the baud rate is sensed. Messages will then
appear on the console as well as on the LEDs; a blinking code indicates an
error. Code XX/YY indicates an alternating error code. The self-test LED codes
are as follows:
- 80 - 10ms timer (80/8 - timer failure)
- 81 - lower 4K RAM (80/01-16 - failed bit 01-16)
- 84 - external cache, if installed (84 - bad cache)
- 90 - internal cache (90/01-16 - failed bit 01-16)
- 91 through 98 - memory tests (9X/01-16 - failed bit 01-16)
- 9C - timer test (9C - no IRQ detected)
- A0 - serial test (A0/XX - loopback failure port XX, A1/XX - IRQ failure)
- A8 - Winchester hard disk test [if installed]
(A8 - interface failed/not found,
A9 - controller self test failed, AA - couldn't find diagnostic cylinder,
Ab - r/w test failed)
- b0 - VCR test [if installed] (b0 - interface failed/not found, b1 -
RAM buffer failed, b2 - r/w test failed, b3 - handshake failed)
- b8 - floppy diskette test [if installed] (b8 - interface failed/not found,
b9 - RAM buffer failed, bb - timeout, bC - status error, bE - parity error)
- C0 - 515 test [if installed] (C0 - failed restore operation, C1 -
no controller found, C2 - controller self-test failed, C3 - couldn't find
diagnostic cylinder, C4 - r/w test failed)
- C8 - 520/522 test [if installed] (C8 - failed restore operation,
C9 - couldn't find diagnostic cylinder; CA - write test failed; Cb - read
or verify failed)
- d0 - SCSI controller (d0 - interface failed/not found,
d1 - controller self test failed, d2 - drive not found, d3 - drive self
test failed, d4 - couldn't find diagnostic cylinder, d5 - r/w test failed,
d6 - PCI controller test failed [uncertain if this ever occurs on
production E450s])
You can also enter the self-test by pressing CTRL-D when the computer is
waiting for the ESC key to enter the CMOS menu. However, this method uses
the internal speed setting and does not autodetect the port (but if you
know the port speed is right, you won't have to worry about it).
- If you accidentally screw up the speed for the default terminal,
the self-test can fix the situation. Once the self-test has detected the
terminal speed it will set the CMOS speed automatically; if it can't
determine the speed it will set it back to the default 19,200kbps. If
even that doesn't work,
the only solution to get into the CMOS menu again is to pull the batteries
from the RTC-65271 timekeeper,
wait a little while for everything to reset, and then reinstall them.
Everything will return to factory default and you can have the self-test
fix the port speed for you, though everything else will need to be restored.
Note that the CMOS menu does not autodetect the
port speed, so the ESC key won't work if the terminal speed doesn't match.
- Despite the name, the device AM31810 in TRMDEF lines
may still refer to devices directly connected to the internal AM-138 serial
ports (if connected to any of the first eight). The name actually comes from
the fact the on-board serial ports are implemented with an integrated
AM-318-10. Installing an additional AM-318-10 uses the same AM31810
driver (though the previous AM318 driver should also work),
but ports on older AM-318-0x boards should use AM318 and
ports on AM-314 boards should use AM314.
- The LED codes are similar to the E300 (x is
the device number, either 2 for alternate or 3 for main) with some
minor differences. If a code freezes, there was a problem at that boot step.
Some of these settings can be changed in CMOS: for example, if you see a
39 code appear, make sure the correct filename is specified for the monitor
in the CMOS menu (invariably AMOS32.MON) and that the monitor file
is in [1,4].
- F - sizing memory
- 20 - booting from PROM
- 21 - loading PROM to RAM
- 22 - checksumming RAM copy of PROM (2E - failed)
- C5 - "CS" checking for ESC to enter CMOS menu
- CE - CMOS parameter checksum error (flashes)
- CF - CMOS RAM failure, trying to use default boot settings
- 2F - bad boot device selected (check CMOS settings)
- x3 - checking device
- x4 - reading device Master File Directory
- x5 - finding [1,2]
- x8 - finding [1,4]
- x9 - finding system monitor file (tape: finding label block)
- xA - loading monitor
- xb - executing monitor
- xd - timeout
- 12 - can't find .INI file (check CMOS settings)
- 10 - bad TRMDEF interface driver line
(referenced .IDV not found in [1,6])
- 11 - bad TRMDEF interface driver line
(referenced .TDV not found in [1,6])
- LED run codes after bootup are also similar to the E300, but the PROM has some additional device support
(x indicates any value, refer to the Technical Manual for the meaning of
those subcodes):
- 0 - no error
- 4 - out of queue blocks (increase the QUEUE line in
AMOS32.INI[1,4])
- 7 - level 7 debugger on
- 8 (steady) - A/C power failure
- 8 (flashing) - A/C power failure and system has emergently halted
due to UPS low batteries
- 9 - memory parity error
- 34 - illegal/unimplemented integer instruction
- 40 - recovering from A/C power failure (if UPS connected)
- 41 - UPS bypassed (turn on UPS run switch) (if UPS connected)
- 42 - on UPS power (if UPS connected)
- 44 - on UPS power, UPS batteries low
- 45 - UPS bypassed, but UPS batteries low
- 46 - on UPS power, UPS failure imminent (next state is 8)
- 48 - UPS fault
- 49 - UPS bypassed, but still fault
- 4F - UPS unplugged
- 88 - unimplemented monitor call
- 9x - logger failure
- B0 - replace CMOS batteries
- B1 - CMOS battery voltage loss detected. This code is
normal after replacing the
batteries. Reset the machine and enter the CMOS menu to verify the settings
have reset to factory default, and then change as needed. If this code
appears when you didn't touch the batteries, then replace them.
- EF - supervisor stack protection violation
- Fx - processor fault
Back to:
Alpha Micro Pageant of Machines
| Phun Machine Main Page