Shop OBEX P1 Docs P2 Docs Learn Events
Assembler/disassembler for Intel 8089 — Parallax Forums

Assembler/disassembler for Intel 8089

Hi,

I hope that this is the right spot for non-Parallax topics related to computer technology.

If it is not, moderators please feel free to move it or delete it :-)

I know that this is a Very, very, very long shot, but I am looking for an Assembler/disassembler for the old and forgotten 8089. Intel had that ASM89 that would run on their 86 development system (which I do not have) and that assembler is made of unobtanium.

Any thoughts?


Best,

J

Comments

  • Any chance this would work for you?

    https://github.com/brouhaha/i89

  • Heater.Heater. Posts: 21,230
    Wow, what?

    Back in 1982 or so, we designed an 8086 board that included sockets for an 8087 maths coprocessor and an 8089 IO processor.

    I have not heard of the 8089 ever since.

    The 8089 was a glorified DMA engine, with its own processor and assembly language.

    Never occured to me that it could be used by itself.




  • Yeah, the 8089 was became obsolete overnight when less expensive DMA chips were introduced. I am just fascinated by the idea of a programmable input output engine.

    Thankyou for the github link!

    Best,

    J
  • YanomaniYanomani Posts: 1,524
    edited 2018-04-01 00:43
    IIRC, you could use two (or even more) Z80 DMAs in the same circuit.

    There could be also the possibility of one commanding the other, besides both being commanded by the Z80 itself. And being commanded by its counterpart too.

    Its all a matter of how you connect them and let them access some areas into memory or I/O spaces.

    Also there is an ancient flag, still blinking inside my head, warning that you MUST provide a resistor to the 5V power suply, the pin that must be pulled high, I don't remember now, for it to reset and reinitialize properly after that.

    For me, it was a thing from the period 1981-1988, too many years to recall everything about it.

    P.S. It was the CLK pin that needs a pull-up, either a single resistor for slower clock rates, pulling up the high level of the 74xx gate output that drives the pin, or an active pull-up made of resistors, a capacitor and a BJT (but the resistor is still there, ensuring proper levels during reset). Ouch, must resort to the datasheet anyway. Ancient times....

    P.S. II - Mostek manual does have its schematic (active pull-up), drafted on page 70. Values could be adapted for each situation. Also the BJT could be improved a lot. Your scope is your best friend, seconded by your best dog. :lol:

    https://jameco.com/Jameco/Products/ProdDS/35561.pdf
  • If I recall, the i8089 was much more than just DMA. The way I understood it, the chip was intended to be the chip equivalent of the separate IOPs of the time used in big iron such as the IBM 360. Total surprise the chip went by the wayside. The thinking even into the 90s was that no matter the cpu in the server or desktop box, there was no challenge to the arena of big iron because of the ability to move and manipulate massive amounts of data through the IOPs. That was the whole reason for the i8089, to be able to move the data shuffling and device control away from the cpu. DMA was only one part of that process, hence the intelligence built into the IOP and its routines.
  • Heater.Heater. Posts: 21,230
    Indeed. The i8089 was not just a simple DMA controller device as was common in Z80 and other 8 bit systems.

    It was a proper coprocessor to the 8086, connected the same way as the 8087 floating point processor. The i8089 had its own CPU and instruction set, different from x86.

    Hence the call for an Assembler/disassembler for Intel 8089 by the OP here.
  • TorTor Posts: 2,010
    I guess it failed then because nobody actually found the need for that much IO on PCs - so no need for IOPs. That left just the DMA part. Which couldn't compete, as Kotobuki said.
    The minis I worked at up to the early nineties did have IO processors too, that was not only a mainframe thing. 68000-based things with their own little OS and communication channels.
Sign In or Register to comment.