Logo

StickFigure Graphic Productions


z80 Assembly Documentation Generator

Documentation

 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
;;
;; Post:
;;   Keyboard routines can safely be called
keyboard_init:

#ifdef VERBOSE_BOOT
	ld hl,keyboard_startstr
	call console_print
#endif

	; Reset keyboard
	ld a,$FF
	out (KEYBOARD),a

#ifdef VERBOSE_BOOT
	ld hl,keyboard_stopstr
	call console_print
#endif

	ret

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
usage:
Bombadil:vera thomas$ tools/asmdoc/z80asmdoc.py --help
Vera z80 Assembly Documentation Generator

Usage: ./z80asmdoc.py -ttitle -iintropage [-ccssfile]
	[-hheader] [-ffooter] asmfile1 [asmfile2[...asmfileN]]

Downloads

Licensing

Creative Commons License GNU General Public License v3
  • 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