FloppySoftware logo


gdoc is a documentation generator for programmers, from C and assembler sources.

It is very useful to document APIs and libraries. In fact, I use it to document some of my retro projects.

It has some compatibility degree with Doxygen and similar tools.

It can write its output to plain text, html or Markdown formats.

gdoc image

gdoc image


Run gdoc in the command line:

gdoc [-options...] filename [> destination]

 -c for C source (default)
 -a for assembler source
 -t for text output (default)
 -h for html output
 -m for markdown output

Implemented tags

@author name [add more @author tags if needed]
@brief small-explanation
@copyright description
@date value
@doclink destination|description
@file [filename]
@fn prototype
@param details [add more @param tags if needed]
@project name
@return details
@section name
@version value
- list items
detailed explanation...


This is a real example, from a function in my XPCW graphics library for the Amstrad PCW and MESCC:

 * @fn     DrawSmallBitmap(int row, int col, int rows, int cols, BYTE *bitmap) : void
 * @brief  Draws a small bitmap on screen.
 * A small bitmap can be only up to X_BUFSIZE bytes in size.
 * @param  row    - vertical position on screen: 0..31
 * @param  col    - horizontal position on screen: 0..79
 * @param  rows   - height in character rows
 * @param  cols   - width in character positions
 * @param  bitmap - bitmap
 * @return -
DrawSmallBitmap(row, col, rows, cols, bitmap)
int row, col, rows, cols; BYTE *bitmap;
    x_fun = X_PutBmpRC;

    x_par[0] = row;
    x_par[1] = col;
    x_par[2] = rows;
    x_par[3] = cols;
    x_par[4] = bitmap;