Org-ASM Home Page

The Microprocessor Integrated Development System for the Macintosh

from the Desktop of Graham Hinton


Last updated: 06 June 2006


Page Index:


Org-ASM Assembler

This is a set of Tools, Scripts and Files that will turn a Macintosh into an IDE for any microprocessor, now or in the future. Other software will be required too, mainly the Macintosh Programmers Workshop which is now available FREE from Apple. A smaller system could be configured with just the ToolServer (under OS 9) and using BBEdit or CodeWarrior as the Shell.

Org-ASM is based on the popular DOS Cross Assembler TASM which uses external files to define the microprocessor type. This has been ported to the Macintosh as an MPW Tool and given a GUI front end like this:

Any TASM files from other platforms (Unix, PC or Atari) may be brought over and used without editing. TASM also has definable directives that make it easy to port work done under other assemblers to it with the minimum of work. Startup files are provided for both MPW and BBEdit to customise the environment and menus for a fully integrated development system.

To complete the package an EPROM Programmer downloader is included written for the ubiquitous Dataman S3 and S4 Programmers:

This is an MPW Script that uses the HexSIO Tool for full control of the Modem and Printer serial ports from within the shell. It may be easily edited to support other Device Programmers as long as the serial commands are known.
(HexSIO is also useful in its own right for any serial communications under MPW and documentation is included.)

Download Org-ASM Package - orgasm.sit.hqx (177K)

Please read the 'Read Me' file carefully as it contains instructions for the exact placement of all files and how to make the necessary changes to match the pathnames on your computer.

The package contains everything needed for a Macintosh IDE except the Shell to run it under. Tables are provided for the following microprocessor families:

  • 6502 (R65C02, R65C00/21)
  • 6800 (6801, 6803, 68HC11)
  • 6805 (M146805 CMOS, 68HC02C4)
  • 8048 (8041A, 8022, 8021)
  • 8051
  • 8085
  • 8096 (80C196KC)
  • Z80 (Z180/HD64180)
  • TMS32010
  • TMS320C25 (TMS320C26)
  • TMS7000

Information to create your own tables may be obtained by paying the TASM shareware fee, see The TASM Home Page for this and other information.

Additional Macintosh Version FAQs

Q: What performance can be expected?
A: Here are some average measurements of the same 68k version running on different Macintosh models:

  • 125 lines/sec on a IIcx (68030 @ 15.6672MHz)
  • 200 lines/sec on a IIci (68030 @ 25MHz + cache)
  • 180 lines/sec on a Quadra 900 (68040 @ 25MHz)
  • 700 lines/sec on a PPC 7500 (601 @ 100MHz)
  • 1000 lines/sec on a PPC 7300 (604e @ 200MHz)

Many factors may effect these speeds including the table type and hardware and system software variations. The PPC version runs up to twice the speed of its 68k counterpart on large projects, but may run slightly slower on very small ones (like the test files provided). In practise the difference is only a matter of seconds for a full 32K EPROM.

Q: What compiler is used to build the released version of TASM?
A: The SC and MrC Tools under MPW were used for version 3.1 FAT.

Q: What are the Macintosh version specifications?
A: Org-ASM 3.1 is ported directly from the DOS TASM 3.1 so the specification is similar.

  • Maximum number of labels: 15000
  • Maximum length of labels: 32 characters
  • Maximum address space: 64 Kbytes (65536 bytes)
  • Maximum number of nested INCLUDES : 4
  • Maximum length of TITLE string: 79 characters
  • Maximum source line length: 254 characters
  • Maximum length of pathnames: 254 characters
  • Maximum length of command line: 512 characters
  • Maximum number of instructions (per table): 1200
  • Maximum number of macros: 1000
  • Maximum number of macro arguments: 10
  • Maximum length of macro argument: 16 characters
  • Maximum number of files: 20

Needless to say, running this on the Macintosh is a lot less painful than trying to use a PC.

Q: What are the minimum system requirements to run Org-ASM?
A: Essentially the same as for MPW:

  • A Macintosh computer with at least a 68020, 68030 or 68040 or any Power Macintosh
  • A hard disk with at least 20 - 40 Mb of free space
  • At least 8Mb of memory, 16Mb if running System 7.5 or later
  • System 7 or later
  • Macintosh Programmers Workshop (minimum system)
    and/or
    BBEdit 4.5.1 (not the Lite version) or later and ToolServer

In other words not a lot and virtually any Macintosh bought in the last ten years would be adequate. The Org-ASM Tool is only 158Kb in size.

Q: Will Org-ASM run under OS X?
A: There is no OS X version of MPW, but it will run under Classic. How object files are transferred to a device programmer is another matter. The serial Tools will not work because they use the Communications Toolbox which is not implemented in Classic. Some terminal emulators, eg ZTerm, can transfer files to PCI or USB serial ports under OS X.


Other MPW Tools for Microprocessor Development

MultiSIO

This MPW Tool provides full support for using extra serial ports, such as the MegaWolf Romulus and Remus PCI cards and the similar Keyspan ProSX and range of USB adapters, at rates up to 230kBd.

Squirt is an MPW Script with a Commando that uses MultiSIO to send files to any of ten serial ports. MultiSIO does not have a Commando, but various Scripts may be written to perform different data transfer functions.
MultiSIO/Squirt replaces HexSIO/S4 (included in the Org-ASM package) for Macintoshes with third party extra serial ports.

Download MultiSIO Package - msiopackage.sit.hqx (49K)

Hex2ROM

This MPW Tool allows Intel Hex files to be manipulated within a 64K memory image. It will load and overlay several files at once or in multiple passes. Complex mappings may be scripted for constructing ROMs that are paged with the code placed at different addresses from where it will be run. Also useful for preparing sets of ROM dumps for use with dZ80.

The IMAGE.ROM output file uses Environment Variables to specify its Creator/Type so that it will open your favourite Hex editor. The default is HexEdit 1.2.

dZ80 Disassembler

dZ80 is ported from the DOS/Windows95 version 1.31 written by Mark Incley, but with several bug fixes and enhancements over the Windows version. This will disassemble Z80 and Z180 code up to the full 64K address space with many features to cope with ROM offsets and data areas.

dz80 Commando

Click to see examples of dZ80 output listings.

To compliment dZ80 there is a BitMap Tool to ease the task of defining code and data areas. This may be done as a series of overlays as the disassembly proceeds.

Download dZ80, Hex2Rom & BitMap Package - dz80package.sit.hqx (107K)

Contributed Tools

HEX - 680x0 Code Resource Converter

Hex is an MPW tool which will convert a given Macintosh Code Resource into a form suitable for downloading to an EPROM programmer, emulator or any other target which supports one of the common ASCII hex formats. It was developed in order to allow the Macintosh to be used for cross-development for embedded 680x0 applications.

Hex Tool

Download Hex Tool and sources - hex.sea.hqx (41K)


Macintosh Programmers Workshop MPW Logo

Information on MPW may be found at the MPW Home Page

To get started, you should download, at a minimum:

A complete MPW image file is also available with all the components in their correct folders from the MPW ftp site
Note that there are two versions of MPW: -GM (Gold Master) which is stable and proven and -PR (Pre Release) which is not. Apple keep changing the URLs of this site so if you cannot find any file go to the MPW Home Page or use the search engine on www.apple.com.

Warning: some of the documentation files are 10Mb .pdfs! If you have never used MPW before the Introduction to MPW is essential. If you plan to use it for other purposes as well it is worth buying hardcopies of the MPW Command Reference and Building & Managing Programs in MPW manuals.

Other components may be downloaded and installed as you need them. There are C, C++ and Pascal compilers for 68k and PPC Macintoshes as well as a low level and source Debuggers. Simply choose what Tools you require and add them to the Tools folder.

Other useful Apple links

N.B. Apple URLs constantly play musical chairs, if these links become dead use their site search engine.


Other outstanding Macintosh CAD/CAE software productivity tools

  • Capilano Computing - DesignWorks: THE Schematic & Simulation CAD software.
  • Nemetschek - (formerly Diehl Graphsoft) VectorWorks draughting software (formerly MiniCAD and Blueprint).
  • Lemke Software - GraphicConverter and CADintosh.
  • Osmond - Up and coming PCB Layout.
  • Bare Bones Software - BBEdit the Swiss Army Chainsaw of HTML Editors (formerly a Programmers' Editor).

Acknowledgements and Plugs

First and foremost to Apple Computer for finally having the sense to make all their Developers' Software free and available on the Internet and the MPW Development Team for producing such an outstanding product.

Closely followed by Tom Anderson for writing the TASM Cross Assembler.

Mark Incley for writing dZ80.

Russ Heeschen for writing the HexSIO Tool.

Paul Russell for contributing the Hex Tool.


Return to Hinton Instruments' Home Page

All material on these pages Copyright ©1998-2001 Hinton Instruments.