• News:
    • 0.20: added the PRIVATE/S switch
  • SOURCE/A (default: error message :)
    PowerD compatible source file.

  • DEST (default: <source_name> where the source_name is without .d extension)
    Destination executable file.

  • TO=TOOBJECT/K (default: <source name>.o where the source_name is without .d extension) Destination object file. It is the same as OBJECT in OPTions.

  • GM=GENMODULE/S (default: disabled)
    This will generate external module from given powerd source code. It is useful, if You have source code in more files and functions/variables are used in other sources. This will generate module including references to functions/variables from the source code. It means that You don't have to write such headers (like #?.h in c) by yourself. The generated file will be places in the same directory as the source file and will change the '.d' extension with '.m' extension. From the 0.18, it also adds to the generated ascii module the object file link. See: external modules

  • CO=CHECKONLY/S (default: generate executable)
    This disables Writing and following passes. It is useful only if You want to check if no syntax errors appear.

  • NS=NOSOURCE/S (default: show source with errors)
    If errors appear and this switch is enabled, no source code will be shown, only line number and error message will be written.

  • AI=ASMINFO/S (default: no assembler info)
    Generates more readable assembler source with some useful information. See assembler source description to get more information.

  • DS=DEBUGSYM/S (default: no debug symbols)
    This compiles source with debug symbols, it is currently only way to debug files in debugger like monam or bdebug.

  • SDV=STARTDEBUGVALUE/N (default: 0)
    As You can see in asm source description. There are used internal counters to avoid same labels in assembler output. This counter always starts from zero and it may collide if You link more files with debug symbols which starts from zero. This is useless for code generating, but if You try to debug such file and want to jump to such twiced address, it will probably jump to the first one. If You want to debug such files, set this value to eg. 10000 and this counter will start with this value.

  • NU=NOUNUSED/S (default: show unused variables/procedures)
    This disables showing of unused variables/procedures.

  • I=INFO/S (default: no such information)
    When compilation is finished, some compiling information will appear, eg:
        Compilation time:      2.76 secs (scan: 1.38 secs)
        # of constants:          22
        # of variables:          10
        # of objects:             1
        # of defines:             1
        # of procedures:          1
        # of functions:         578
        stack size:              24
        source length:           87 (including all 7 modules: 21870)
        source lines:             9 (including all 7 modules: 732)
        object length:          112
        executable length:      296 (2 optimizations saved 8 bytes)
        allocated memory:    192271 bytes (6413 allocations)
    

    scan in first line represents Scanning pass time There may also appear:
        # of errors:              3
    

    if three errors appeared.

  • AUTHOR/S (default: powerd author unknown ;)
    This is quite useless, but who knows...

  • CPU=MACHINE/N (default: 68020+881)
    Same as OPT CPU. Pay attention, older then 020 processors are not supported. 68020 is the minimum.

  • NOFPU/S (default: 68881 fpu enabled)
    Same as OPT NOFPU.

  • O=OPTIMIZE/N (default: 0)
    Same as OPT OPTIMIZE.

  • AC=ASMCOMMENT/S (default: no comment is written)
    This enables writing powerd source in assembler output as comment. It is completely useless, but it can help You to recognise what does it do.

  • NOEXE/S (default: try to create an executable file)
    Same as OPT NOEXE.

  • DF=DELFILES/S (default: all files will stay on your hd)
    If this switch enabled, file <name>.ass will be deleted if <name>.o is succefuly generated and this file will be removed, if the executable file is succefuly generated. Of course if NOEXE/S switch enabled, this object file won't be deleted :)

  • LG=LIBGEN/K (default: disabled)
    New from v0.17.
    This argument can be used only with a source code of an OS library module. the used keyword is the name of the directory (with full path), where will be stored all the generated sources of the functions. These functions must be then compiled (by pasm) and joined together by eg.: join cli command to a libfile. To make it clear, let's take an example:
    You just got some develop package of a new 68k library, let's call it gamemaster.library. But it (ofcourse) doesn't contain any modules for the PowerD. But it contains a small file called gamemaster_lib.fd file. So we have to convert it to a PowerD module. Enter in a cli:
        4.> fd2m gamemaster_lib
        

    This will generate the PowerD ascii module. Move it into the DMODULES: directory as gamemaster.m module. Now You can use it with all the 68k compiled proggies. But not with the PowerPC ones. Now we can use this argument. Enter:
        4.> dc dmodules:gamemaster.m lg ram:gamemaster
        

    This will generate all the function launchers for the PowerPC as a PowerPC assembly sources.

  • PRIVATE/S (default: only public data allowed)
    This enables using of private data in the source.