Tony Duell originally asked this but the group may be interested. The MMD1
8080 trainer was based on a design by Jonathan Titus and Company (Tychon
Inc.) and was apparently described in a series of articles in the May-July
1976 Radio Electronics, however it is also described in "The 8080a Bugbook",
a Howard Sams book (ISBN 0-672-21447-4), 1977.
Tony: the two ROM sockets are for 1702 ROMS. The very simple but efficient
monitor, called KEX for "Keyboard Executive", easily fits in the 256 byte
space of one of these, leaving ROM socket 1 for "expansion".
I don't have access to the original articles on this unit but it was easy
enough to reverse engineer the assembly listing of KEX, below. I'd give
y'all instructions on using the monitor but that would take the fun out of
reading the source listing! i've also stuck the HEX file at the end of the
listing. have fun!
- Glenn
* KEX.ASM
*
* Keypad EXecutive
*
* This is a reverse engineered assembly listing
* of the 8080 trainer ROM. For more information see
* Radio Electronics May-July 1976 issues, also Chapter 2
* of "The 8080 Bugbook"
*
* Glenn Roberts 2/13/97
*
RST1 SET 003010A
RST2 SET 003020A
RST3 SET 003030A
RST4 SET 003040A
RST5 SET 003050A
RST6 SET 003060A
STACK SET 004000A
USERFWA SET 003000A
*
* Keypad equates
*
H.KEY EQU 10Q
L.KEY EQU 11Q
G.KEY EQU 12Q
S.KEY EQU 13Q
A.KEY EQU 15Q
B.KEY EQU 16Q
C.KEY EQU 17Q
ORG 0
JMP START
DS 5
JMP RST1
DS 5
JMP RST2
DS 5
JMP RST3
DS 5
JMP RST4
DS 5
JMP RST5
DS 5
JMP RST6
DS 5
*
* Cold boot entry, load stack and memory pointer
*
START LXI SP,STACK
LXI H,USERFWA
MAIN MOV C,M ; C is value to be displayed
MOV A,H ; Output High byte
OUT 1 ; of memory counter to left LEDs
MOV A,L ; and low byte of memory counter
OUT 0 ; to center LEDs
*
* Loop to process keypad input
*
KPLOOP MOV A,C ; output the value of C to
OUT 2 ; the rightmost LEDs
L110 CALL RDKEY ; Read key from keypad
CPI 8 ; Is it numeric octal? (0-7)
JNC L134 ; no, test for others
MOV B,A ; Temp save in B
MOV A,C ; Get the current working byte
RAL ; and move it left 3 bits
RAL
RAL
ANI 11111000B ; then clear low 3 bits
ORA B ; and insert temp value (B) there
MOV C,A ; then move back to C
JMP KPLOOP
L134 CPI L.KEY ; Was key "L"?
JNZ L345 ; no
MOV L,C ; yes, move working byte to L
JMP MAIN ; and go to top
CPI H.KEY ; Was key "H"?
JNZ L156 ; no
MOV H,C ; yes, move working byte to H
JMP MAIN ; and go to top
L156 CPI S.KEY ; Was key "S" (step)?
JNZ L170 ; no
MOV M,C ; yes, move working byte to memory
INX H ; increment memory pointer
JMP MAIN ; and go to top
L170 CPI G.KEY ; Was key "G" (go)?
JNZ L110 ; no
PCHL ; yes - load Program Counter from HL
DS 65 ; filler
*
* Delay (debounce)
*
* This routine delays for a bit over 10ms.
* Note cycle time is 1.5 microseconds
* Total delay: 62 + (294 * 24) = 7,118 cycles
* 7,118 * 1.5 = 10.677 ms.
*
DELAY PUSH PSW
PUSH D
LXI D,294 ; Number of times to loop
DLY1 DCX D ; Decrement DE
MOV A,D ; and test for DE = 0
ORA E
JNZ DLY1 ; if not, keep looping
POP D
POP PSW
RET
*
* Read a key from the keypad (with debouncing)
*
RDKEY IN 0 ; Read the keypad port
ORA A ; set flags
JM RDKEY ; no key depressed - loop
CALL DELAY ; have key, debounce
RDK1 IN 0 ; Re-read the key
ORA A ; set flags
JP RDK1 ; key still depressed - loop
CALL DELAY ; key released, wait
IN 0 ; Read once more
ORA A ; set flags
JP RDK1
L345 ANI 00001111B ; Only lower nibble of interest
PUSH H
MVI H,0 ; Set HL to point to table
ADI #TABLE
MOV L,A
MOV A,M
POP H
RET
*
* Lookup table for keypad
*
TABLE DB 0,1,2,3,4,5,6,7
DB S.KEY
DB 0
DB C.KEY
DB G.KEY
DB H.KEY
DB L.KEY
DB A.KEY
DB B.KEY
END START
:10000000C33800BB3A32D63AC30803318022CD5EF2
:10001000C31003210842CD46C3180323CDEC3D1184
:10002000C320030842CD7041C32803AF328C3A325B
:10003000C33003153B2108423100042100034E7CEC
:10004000D3017DD30079D302CDCD00FE08D25C0070
:100050004779171717E6F8B04FC34500FE09C2E508
:100060000069C33E00FE08C26E0061C33E00FE0B85
:10007000C278007123C33E00FE0AC24800E93B116A
:100080000142017B3BFF2B3A7B3BE601C178D1E18A
:10009000CA263DFE3DC2103DCD7F3DDAE23B21DF69
:1000A0003ACD8734FE2CCC213E21DF3A11FB4101B1
:1000B0007B3BFF2B3A7B3BE601CAC03C21D53AF59E
:1000C000D51126011B7AB3C2C400D1F1C9DB00B738
:1000D000FACD00CDBF00DB00B7F2D600CDBF00DB0C
:1000E00000B7F2D600E60FE52600C6F06F7EE1C944
:1000F00000010203040506070B000F0A08090D0E94
:00003801C7
>
>I seem to recall reading somewhere (BYTE ~1985 ?) that Soviet made CPUs
>(6502 clones?) were so poorly maid that they individually came with a
>list of which instuctions worked and which didn't. Also seem to
recall
>an article on the soviet Apple ][ clone of the time (CPU on a large
>daughterboard, pirated ROM, cost approx US $20,000)
>
>-Matt Pritchard
>Graphics Engine and Optimization Specialist
>MS Age of Empires & Age of Empires ][
All right, I have taken this for a while, but no more. This ignorance
about Soviet technology and abilities is ridiculous. I think you
people have kept your anti-communist opinions along with you IBM
704s.
Although the USSR certainly had ridiculous administration, and its
technology was not very modern, there were many advances by the
soviet union, and it now has just as much technology as the US.
Lastly, the US scored below Russia in third grade math tests. Also,
a LOT of modern programmers are Russian. Most Russian immigrants
I know deal with computers.
When I was in first grade (1990), we were first led into our school's
new computer room. It had a classroom of terminals (in plywood cases),
and a punched card machine. My young mind could not discern any other
details.
I don't mean to be ridiculous, but please be a bit more careful,
people!
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
>
>> All right, I have taken this for a while, but no more. This ignorance
>> about Soviet technology and abilities is ridiculous. I think you
>> people have kept your anti-communist opinions along with you IBM
>> 704s.
>>
>> Although the USSR certainly had ridiculous administration, and its
>> technology was not very modern, there were many advances by the
>> soviet union, and it now has just as much technology as the US.
>>
>
>The soviets always had comparable technology, but were limited by
>inefficient manufacturing and logistics. Those only exposed to western
>design philosophy tend to belittle soviet engineers because of the
>seemingly crude appearance of their equipment, but they had to meet
>vastly different product requirements. Their export market was the
>underdeveloped third world, no infrastructure at all. When your target
>market is some place like Mongolia, Eritrea or South Yemen you have an
>entirely different set of design parameters. There is no Radio Shack
>down the corner, no parts store in town, no UPS delivery service. Even
Why Radio Shack when you have BFI? I can just imagine a fried US
made cell phone flying into a third-world bonfire...that sure would
stink. Another reason why Russian products were build to last was,
very simply, because if you trash your phone, you'd have to get on
a two-month waiting list to get another one.
> Jack Peacock
>
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
Found on Usenet. If you want to do some trading, contact him directly.
-=-=- <snip> -=-=-
From: psthomas(a)nyx.nyx.net (Patrick Thomas)
Newsgroups: comp.sys.dec.micro
Subject: Anyone trade sun->vax stuff?
Date: 15 Apr 1998 04:03:42 GMT
Organization: Nyx Public Access Internet
Lines: 17
Message-ID: <892612952.112379(a)iris.nyx.net>
NNTP-Posting-Host: iris.nyx.net
X-Newsreader: NN version 6.5.0 #5
X-Disclaimer: Nyx is a Free Public Access Internet Service:
http://www.nyx.net
Our AUP / Free Speech Policy are at
http://www.nyx.net/policies/
Direct complaints to abuse(a)nyx.net
X-Post-Path: iris.nyx.net!psthomas(a)nyx.nyx.net
Path:
blushng.jps.net!nntp.snfc21.pbi.net!news.pbi.net!howland.erols.net!newsfeed.internetmci.com!206.124.0.31!pulsar.dimensional.com!dimensional.com!quasar.dimensional.com!nyx.net!nyx!psthomas
Hi again, all...
Well, after some four years of absence, my curiousity has again
been piqued. After having to divest myself of my collection of VAX
hardware in my move to the west coast, I find myself interested to
find a microvax or vaxstation again. Even (gasp) a VAXstation 2000, if
nothing else. I have a bunch of Sun 3/60s, and even a an IPC, and
possibly an HP 9000/400 that I'd be willing to part with, if anyone
might be interested. Or I can always go with cash, for those less-
enterprising types. :)
I live in Portland, now, and will pick up anything in the portland/seattle
areas. I also remember how cheap VAXstation 2000s were four years ago,
and I would suspect they aren't old enough to be collectible quite yet. :)
I'd be more interested in something like a vs3x00 or some such.
-- Patrick
-=-=-=-=-=-=-=-=-
Bruce Lane, SysOp,
The Dragon's Cave BBS (Fido 1:343/272)
kyrrin {at} j<p>s d[o]t n=e=t
"...No matter how hard we may wish otherwise, our science can only describe
an object, event, or living creature, in our own human terms. It cannot possibly
define any of them!..."
<> a problem. The Northstar Horizon was good, VECTOR MZ, COMPUPRO and the
<> was an oufit that made mostly boxes all well cooled.
<
<Integrand?
One I'd kill for even now. They designed for cooling and still had an
attractive box.
Allison
> > Some of the better boxes had put some thought to air flow
> and this was not
> > a problem. The Northstar Horizon was good, VECTOR MZ,
> COMPUPRO and there
> > was an oufit that made mostly boxes all well cooled.
>
> Integrand?
The Integrand was one of the best. I still have one of their big S-100
boxes, fans everywhere, monster transformer in the power supply, but
somewhat dificult to use all the DB cutouts on the back.
Jack Peacock
<signal lines. Every board required it's own regulation, which
<could take 20% or more of the board space, as well as being a
<nightmare to keep cool. If you see early pictures of loaded
<IMSAIs, the cover was always off. This was a necessity, the
<heat was too much with the cover on. I had to use a 16" fan to
<keep mine running with 64KB of 2102 based static RAM (not 21L02s
<BTW, they cost more than the fan did).
Some of the batter boxes had put some thought to air flw and this was not
a problem. The Northstar Horizon was good, VECTOR MZ, COMPUPRO and there
was an oufit that made mostly boxes all well cooled.
In the mid to late 70s it was either boxed systems like TRS-80, Apple
or designer systems like S100 or SS50. SS50 was 6800 based 50 pin bus
and tended to be a very different thinking.
Allison
On Apr 14, 23:22, Tony Duell wrote:
> > On Apr 14, 0:40, David Williams wrote:
> > > You can see pictures of it on my web site on the AT&T 6300 page
>
> Having a text-only machine here, I can't see the pictures, alas...
There's a lot of brown/grey corrosion on the top surface near the terminals,
and not a lot else visible on the PSU itself, though it looks like there's some
on the base of the computer case around the PSU.
> > wipe off any excess WD40, though.
>
> I _hate_ WD40... It's far too easy to misuse and causes too many
> problems.
I prefer WD40 to machine oil for electricial connections, but I have to agree
with Tony that it's very easy to misuse. It should be supplied in
micro-syringes, not spray cans, IMNSHO. Or only available on prescription,
perhaps. That's why I said to be sure to wipe off the excess.
And WD40 should be kept away from moving metal parts. It's sometimes useful as
a plastic anti-squeak lubricant, but definitely not for metals. I use
CLP-BreakFree for that :-)
> and light machine oil. Start with (UK) 600 grit, end with 1000 grit, at
> least. I'd clean the screw terminals with dry 600 grit paper and then
> contact cleaner.
I've seen contact cleaner seriously misused too. Some types leave "a light
film" behind -- if you use a little, once. I once had to fix a BBC Micro with
faulty ROM sockets; the owner had repeatedly fed it contact cleaner until it
was swimming in the stuff. ISTR cleaning most of it off with 1,1,1-TCE and
then washing the board in Teepol (industrial grade/laboratory detergent) before
it could be attacked with a soldering iron.
--
Pete Peter Turnbull
Dept. of Computer Science
University of York
OK... I was talking to a Ukranian programmer, who told me that in 1968 the
PC was invented, not far from where he worked in Ukrane. Now, that's 4
years before the microprocessor, but is it possible?
And this guy might be dilusional, he's VERY communist, but then again,
at base, so am I, but with a democratic twist. Anyway, what's the story
behind this?
Thanks,
Tim D. Hotze
Hi tony,
you know where to get the amd assembler for this stuff ?
cheers,
emanuel
----------
> From: Tony Duell <ard(a)p850ug1.demon.co.uk>
> To: Discussion re-collecting of classic computers
<classiccmp(a)u.washington.edu>
> Subject: Re: neat find
> Date: Tuesday, April 14, 1998 3:14 PM
>
> >
> > today at goodwill I found a Advance Micro Device AM2900 Evaluation &
> > Learning Kit in the it's box (very nice design on it) with one
worksheet.
> > the unit was only $5.
>
> The comment 'you lucky beggar' springs to mind !.
>
>
> The AMD 2900 series of chips were essentially a build-it-yourself CPU.
> The main ones were :
>
> The 2901 - a 4 bit ALU + registers. You could cascade these to give you
as
> many bits as you wanted (in multiples of 4). There was also a fast carry
> generator, equivalent to the 74182. Was that the 2902?
>
> The 2903 was an enchanced 2901 AFAIK. I never used it.
>
> Then there were the 2909 and 2911 4-bit microcode sequencers. You
> cascaded those as well to access whatever size control store you wanted.
> Add a bit of jump logic, and write the microcode to control your CPU.
>
> For simpler designes there was the 2910 12 bit sequencer which couldn't
> easily be extended (*). That would seqeunce a 4K control store, and had
> some of the jump control logic built-in.
>
> I've done a bit with these chips, and was reading the data books earlier
> today, actually. Great pity they're no longer made...
>
> (*) PERQ systems used a 2910 as the sequencer on the 4K PERQ CPU board.
> The 16K CPU board also used a 2910 with a '2 bit kludge' to provide the
> extra address lines. The pun on '2 bit' is intentional, and will be
> understood by anybody who's ever written PERQ microcode...
>
> >
> >
>
> -tony