Most recent revision for this page dated Jan 21 2023. Portions copyright by original authors and photographers. This Web page copyright 2023 Herb Johnson
In Jan-Feb 2015, a colleage of mine obtained a set of 1702A PROMs from the mid-1970's which contained Intel MON-80 binary. That's an early Intel 8080 monitor program. I disassembled the code but another collegue of mine Bill Beech, provided a more complete disassembly. Prior to that, I also had some Intel boards with PROMS, CPU boards from Intel development systems. I and my colleage took turns disassembling those and comparing them to available Intel source listings. He and others continue to work with these monitor sources.
Monitor programs of that era, support a serial UART and provide memory and program examination with simple commands in text form. This Web page provides a history of sorts, for Intel's MON 80 monitor, in various versions on various Intel hardware. The result is also a survey of Intel's early 8-bit products, around the time Intel introduced Multibus. I have other early Intel 4-bit and 8-bit tools and software on other Web pages. - Herb Johnson
A colleague purchased an Intel brand board in late January 2015, and provided a hex dump of the 1702A binary on the eight PROMs. They show the PROMS on a Web site and describes some of their activities. (PROM photo used with permission.)
My initial disassembly noted the presence of a command table, a monitor-version text string, and some data structures. But some of the
disassembly produced an illegal instruction - an op code "CB" which is not correct 8080 code. I showed the
dump and my disassembly to Bill Beech, who is actively working with 8080 code and early Intel products. Bill Beech provided his own
disassembly which found the questionable opcode was part of a table and so was simply "data".
Here's the Beech disassembly. After his initial disassembly, Beech says: "Looking at the area around the bad 0xCB I see a PCHL above A3292 label. A3292 and all below it are an address table (T command to my disassembler) and the table ends after 38C1. The CALL J3F73 is valid. I suspect this is the command address decode table. 38C2 is the first entry in the table. [With further disassembly], indeed, this is all true. Attached [to my email] is my disassembly - I rewrote the disassembler some and will share it with you later. I got code which assembled without error, then I began hunting down things and documenting the code. This appears to be the 8080 version of the '.' monitor we find on the 286 and 386 Intel processor [Multibus boards]. I am very interested in it.
Note it re-assembles byte for byte. With the table, and figuring the command decode, we have the commands located. The IOBYTE lead to the decoding of most of the I/O routines. I use these tricks to break the code into chunks that are easier to figure out. Once I know the assembler generates correct object code, the source code comments become unneeded. So I comment over them. Then I remove all the ones that are left." - Bill Beech
Days after Bill Beech and I (Herb) disassembled the PROMS, Beech found a source listing. Here's the PDF of the V3.0 source. This was a document distributed by Intel, their document code "98-007c". It appeared on Howard Harte's S-100 archive apparently sometime in 2004, and it's on other Web archives of 8080 code. Here's Bill Beech's assembly listing of the V3.0 PROMs and Here's the ASM.
Bill Beech provides some of his 8080 tools, and sample 8080 monitors, on a monitors WEb page. - Herb
Bill Beech points out the context of these ROM monitors: "Since this was a 1974 machine, there were no disk drives, tape drives, etc. You had teletypes, CRT [terminals] and paper tape. All the functionality in the monitor is for these devices. But you need and editor and assembler to have a development system."
"The other solution would be to do the editing and assembly on a mainframe and use paper tape to bring the object file to the Intellec. I suspect there were other EPROM images that provided this functionality. The bitsavers archive Herb found has more EPROM images. I will check that out." - Bill Beech
Beech quotes the "Intellec 8/Mod 80 Reference Manual - 1975":
The standard software for the INTELLEC 8/MOD 8O system includes a resident System Monitor, a Text Editor, and an Assembler. In addition to these INTELLEC 8/MOD 8O resident programs, there are three development programs available, which are designed for operation on LARGE- SCALE HOST COMPUTERS. These are a macro cross- assembler, a microcomputer simulator (lNTERP/80), and a PL/M compiler. PL/M is a high-level language that can shorten program development time significantly.
A manual which describes the monitor commands is "Intellec 8 mod 80 operator's manual", a very early manual from June 74. see my "references" section below.
I knew there was a V1.0 monitor, because an Intel intellec board of EPROMs was sold on eBay Jan-Feb 2015, to an unknown party. The board looks similar to the above, but the EPROMS are labled "MON 80 V 1.0", and have the same addressing. Of course I did not have access to the PROMs to dump them. But in Feb 2015, Bill Beech pulled the V1.0 source from an Intel manual, iSBC 80-10 SBC Hardware Reference Manual" of Aug 1977, and produced an ASM file and assembly. His results are on his ROM monitors Web page, but Here's Bill Beech's edited Intel Version 1.0 monitor source.
In March 2021, Bill Beech produced an OCR'd source of MON80 version 1.2. This was obtained from the 9800484A 80-20 Hardware Reference Manual (Appendix C) July 77. Here's the ASM and Here's the assembled listing. The "true" and "false" macros (jump on condition) are expanded in these. It's very similar to the V1.0 source. - Herb
From an archive at bitsavers of apparently Intel PROMs, Bill Beech has a preliminary disassembly which suggests a version 2.0 of the MON 80 monitor. Here's the V2.0 disasembly of the PROMS located at 3800 through 3F00. There are other PROMs in the archive. The V2.0 code is close to the V3.0 code. Bill is/was continuing to work on this code as of early 2015, check his Web site.
In Dec 2022 Mattis Lind contacted me. He has an intellec 8/80 system with a set of ROMS as shown in this photo of his ROM card. He provided the ROM hex dumps to me. Here's the binary I constructed from the ROM hex dumps.. After I did some initial disassemblies, Bill Beech updated his 8085 disassembler and disassembled the binary.
In Jan 2023, here's Bill Beech's disassembly listing from which one can assemble the original binary. The actual MON80 resides from 3800H to 3FFFH. There's a disassembler and another program, within 3000H to 36FFH. At 3700H-37FFH, there's a copy (two bytes difference) of the 3C00H ROM; this can be ignored. Comparision of the V4 program to earlier MON-80 sources is informative.
In July 2015, Bill Beech did an OCR and edit of the Intellec 8/MOD 80 Operators Manual, some edition 1974-75, to extract the documentation
of the ROM monitor. This is likely good for all versions, check the source for variations. Here's Bill Beech's OCR and edit of the Intellec ROM monitor commands from the manual.
In the fall of 2014, I acquired an Intel Multibus 8080A board (1977 build) with two 2716 ROMS and a ROM daughterboard. I determined it's an Intel IPB (Integrated Processor Board) PWA 1001194 with "Aux PROM BD" PWA 1001203 IPB 4001246-XX. It came from a disassembled MDS-210 Series II system. The AUX PROM daughter board, image on the right, has 9 2716 ROMS (sockets for 10) plus Intel 3604 fuse 512 X 8 PROM, and what may be a 16-bit address PROM.
I also obtained a long thin board with interrupt and reset switches, which mounts on the front edge. The MDS-210 used other Multibus and non-Multibus boards in use for I/O and expansion, but was intended to be a non-floppy based system. On the oldest and smallest MDS-201 systems, the ROM expansion board provided an on-board assembler and editor, no mass storage needed (except paper tape). This board was acquired from a disassembled MDS-210 system w/4-slot Multibus backplane.
On the right, is an image of an Intel MDS-210 box. It's a four-slot Multibus chassis, with the Intel IBP CPU board - or possibly upgraded to an IPC CPU board. It could have also been upgraded but four slots (one for the CPU board) doesn't leave much opportunity. Check the MDS_Troubleshooting_Manual below, it's the source of this image and this MDS information.
Here is the Hex and binary dumps of the two IPB ROMS, and a rough disassembly. The binary shows "SERIES II MONITOR, V1.1" and "INTELLEC SERIES II DIAGNOSTIC V1.0". The ROMS reside at E800-EFFF and F800-FFFF.
Here is the hex and binary dumps of the several PROM board ROMS and some commentary. the binary shows "ROM TEXT EDITOR V1.1" and "SERIES II ROM ASSEMBLER V1.1".
Based on disassembly of the IPB monitor ROMS, the code for this version 1.1 monitor, is very similar to the V1.3 Intel sources available (see below). Bill Beech did some further changes to the V1.3 code to match my V1.1 ROMS. Here's Bill Beech's modifications to make the V1.3 code match my V1.1 "diagnostic" code at E800H. Likewise, here's the matching "monitor" source code for the PROM at F800H. Bill Beech said "They should be exact. I compared .bin files".
About the 3604 PROM...
Word from Bill Beech and Richard Main, is that Intel often used the bipolar 3604 PROM as an address decoder; it was convenient and fast enough to decode address line logic. It's a 5-volt device, so in principle it should be readable with most ordinary old PROM programmers. But since most of those programmers don't support bipolar or fusable PROMS, they aren't set up for that device.
But in Jan 2016 I wired up a stack of 24-pin sockets, to rewire them to make the 3604 "look like" a 2732A . The 2732A is a common 5-volt PROM that has most of the same address and data lines as the 3604. In my text file of notes I describe which pins to wire through, and which need to be rewired. A stack of three IC sockets makes this simple: remove the pins from the center socket to disconnect specific pins between the lower and upper sockets; then wire between as needed. I added a toggle switch, to accomodate different versions of the 3604.
However, my resulting "read" was so sparse, I was not confident my reader was successful. So I've not provided those bits. If I can get a good read of the 3604, I'll provide the bits later. - Herb
In late 2014, I acquired an Intel Multibus 8085 card (1980 build) with 4 X 8 16K RAMS and one 2732 ROM. It's an Intel IPC (Integrated Processor Card) PWA-1002494 4002695-XX board, used in MDS 2X5 Series II or Series III systems (MDS-225, MDS-235, MDS-245). With the card was a long thin PC board with several interrupt and reset switches; it mounts on front edge of the board. The Intel MDS systems used other Multibus and non-Multibus boards for I/O and expansion of memory and floppy controller. The origins of this MDS system apparently were the Chicago Transit Authority.
On the right is an image of a MDS-220 or MDS-230 series system. Those are really Intel ordering codes, the numbers indicate various options like floppy drives and memory and so on. So a particular "MDS" may be 225 or 235 or something like that. The image shows, from the bottom, a MDS-201 or 202 four-slot Multibus expansion chassis; a MDS-220/230 series cabinet, with a CRT and floppy "above" it; and an MDS-720 or 730 two-floppy drive cabinet. The "MDS" nomeclature is very confusing and really amounts to Intel ordering codes. Check the MDS_Troubleshooting_Manual below, it's the source of this image and this MDS information.
Here's the hex dump of my 2732 PROM. Here's the binary. The binary-as-ASCII identifies the monitor code as "Series II V1.3". Inspection of the hex code for JMP addresses (C3 XX XX) and later by disassembly, suggests the first "half" of the ROM covers E800-EFFF; the second half covers F800-FFFF.
I did some disassembly of my PROM, but Bill Beech provided to me the Intel V1.3 monitor listing and assembly source. He extracted it from Intel's "INTELLEC® SERIES II MICROCOMPUTER DEVELOPMENT SYSTEM, BOOT MONITOR LISTING" document 9800605-02 Rev. B. The Intel listing covers the address range of my V1.3 ROMs as above: E800-EFFF and F800-FFFF. Here's Bill Beech's "monitor" V1.3 listing from those Intel Series II ROM monitor V1.3 source listings. Bill's "monitor" source covers E800-EB00 and F800-FFFF. Here's Beech's "diagnostic" listing V1.3 which covers the remaining EB00-EFFF (Again, Bill Beech has the ASM files on his site, I also have copies.) I've not done a final check to confirm my ROM dump matches all the "binary" in these listings, there will be slight differences, but it's substantially correct. - Herb
IN July 2015, Bill and others have adapted version 1.3 for an expanded monitor, as they work on some Intel MDS-225 systems. Check Bill's nj7p Web site for details.
in July 2015, Bill Beech extracted monitor documentation from an earlier Intellec monitor manual (see above) and edited it for documenting the Series II monitor. Here's the text file of the Series II monitor command set. Check the source for any differences among the V1.0, 1.1, 1.2 monitors.
Bill Beech says: "I disassembled the [Series II V1.1] from your site. It is almost identical to the [Series II V1.3 source] file from my site. Both of these ROM images are nearly identical to the Intellec 8/Mod 8 ROM images we have disassembled, earlier. I believe we can call the Intellec series the MDS [version 1] systems!"
"The code from the Intel listing for V1.3 mixes some of the 0E800H ROM in the monitor listing (the 0F800H ROM). I may attempt to divorce the two ROM images in the source files for V1.3. [He did.] The Series II V1.1 images are separate as it stands. V1.1 was copyright in 1977, V1.3 in 1979. The code is close to identical. I am going to edit a copy of the V1.3 code against my disassembly of the V1.1. Once that is complete, I will know exactly what changed between versions. [But I can see that] the BNPF tape routines, comp, prog and tran are gone. Added are query and z. " - Bill Beech
Bill Beech continues to work on these various Intel 8080 monitors. check Bill Beech's monitors Web page for his most recent work and related materials and software tools. Elsewhere on his site is more work on Intel Multibus and S-100 hardware.
On the bitsavers.org Web archive site, there's a partial archive of eproms, which likely contain early Intel binary. There seems to be a "broken" set of EPROM dumps, "Intellec_8_8080_eproms.zip" as some of the EPROMS seem to be missing. It's likely a larger monitor program, or pair of programs. here's the bitsavers.org (mirror) directory link, under "pdf/intel/MCS80/Intellec_8_Mod_80".
There's other early Intel development system owners, who have Web sites which include varying amounts of information. As time permits, I'll see if I can get more of these early ROM monitors. They are interesting and informative. I do have some earlier Intel development systems: check my Intellec 4/40 system. - Herb Johnson
A useful manual for the old Intellec MON80 ROM monitor, is the "Intellec 8 mod 80 operator's manual", a very early manual from June 74. I could not readily find a PDF copy of the Web in mid-2015, if anyone spots one let me know. I have a paper copy. It includes a detailed description of the Intellec 8 and 80 ROM monitor.
Here's a recommended Intel manuals list for Series II and III systems, from the MDS manual. Look for these on the bitsavers.org Web site with the MDS manual referenced above.
MANUAL LIST FOR MDS 201, 21X, 22X, 23X & 286 SERIES II 22X, 23X SERVICE INFO 9800878-01 SERIES II EXPANSION CHASSI SERVICE INFO (EMDS 201) 9800879-01 SERIES 11/225 SERVICE INFO 121569-001 C.E. DIAG. SYSTEM TEST FOR SERIES II/III 121619-001 SERIES III FIELD SERVICE MANUAL 121640-001 UPGRADE PREPARATION KIT INST. MANUAL (RIP FIX) 121721-001 iSBC 032/048/064 RAM BD. HAND. REF. MANUAL 9800488-03 INTELLEC SERIES III MICROCOMPUTER DEVELOPMENT SYSTEM INSTALLATION AND CHECKOUT MANUAL 121612-001
Also look for: "Intellec Series II Installation & Service Manual 9800559A", which was also useful to me and on the bitsavers.org site.
It's been called to my attention, that I have not pointed to a manual which has a full description of the Series II ROM monitor commands. I'm sorry about that. I've suggested looking at the source to reconstruct such a description. If that happens I'll carry a copy on this Web page. - herb
I acquired from bitsavers.org, a document "MDS_Troubleshooting_Manual.pdf". It appears to be an Intel internal or field-service document. It contains information, photos, and part numbers on boards, and diagnostic methods, for the early Intel MDS systems from which the IOB and IOC were removed (plus MDS-800,another INtel Multibus development system). I extracted from it, a description of the diagnostic procedure; it's included with the IPB ROM dump and disassembly. I also extracted some descriptions of various "MDS" options.
Why does "MDS" describe boards, systems, drives, CRT's? It's a confusing reference system. The thing is......Everything Intel offered with a microprocessor was a "Microprocessor Development System", that is an "MDS". But I found a data sheet on this Intel reference site titled "Intel Intellec Series II/85 Microcomputer Development System". It had this note: "MDS is an ordering code only and is not used as a product name or trademark. MDS is a registered trademark of Mohawk Data Sciences Corp" - that tells me the "suits" from Mohawk got to the "suits" at Intel and slapped their hands. I"ve since been told, Mohawk contacted others who used the "MDS" description for their Intel-related products as well.
Copyright © 2023 Herb Johnson