z80 Assembly Documentation Generator
The z80 Assembly Documentation Generator was originally written as a tool to aid in the development of the 3rd party Vera
operating system for TI-83/84+ line
of graphing calculators. It reads in any TASM-style (most assemblers used by the TI community use TASM style sourcecode) z80 source code, and generates api documentation from specially formatted doc-comments. Here's an example:
;; Vera - the calc lover's OS,
;; copyright (C) 2007 The Vera Development Team.
;; This file provides control over the keyboard
; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation, either version 3 of the License, or
; (at your option) any later version.
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; === keyboard_init ===
;; Reset the keyboard on OS boot
;; Keyboard routines can safely be called
; Reset keyboard
Any line preceded by ;; is a doc-comment. Every file and routine may have a description. In addition you may specicy certain attributes in the doc-comment.
The following attributes are supported:
;; pre: allows you to specify pre-conditions for a routine.
;; post: allows you to specify the post-conditions of a routine
;; warning: generates a warning about the behavior of a routine
;; seealso: allows you to provide a list of related routines.
;; example: allows you to provide an example usage for a routine
Bombadil:vera thomas$ tools/asmdoc/z80asmdoc.py --help
Vera z80 Assembly Documentation Generator
Usage: ./z80asmdoc.py -ttitle -iintropage [-ccssfile]
[-hheader] [-ffooter] asmfile1 [asmfile2[...asmfileN]]
The source code for this Utlity is licensed under the GNU General Public License v3.
Any example content is licensed under the terms of the Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License