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.
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
@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;
x_call();
}