DRUID Development Docs: gmacros.inc

Gadget Sourcecode: gmacros.inc

; Justice Unlimited Gadget Microcode
; (C) 2004 Nathan (Acorn) Pooley 
;
; gmacros.inc
;
;@DOC@ Macros
;

;############################################
;############### MACROS #####################
;############################################

    EXPAND      ; expand macros in listing file

;
; skip following instruction
;
SKIP1   macro
    btfsc   TBLPTRU,7       ; should always be 0 (ie always skip)
    endm

;
; enable/disable interrupts (GLOBAL)
;
DISABLE_INTR    macro
    bcf     b_giel
    bcf     b_gieh
    endm

ENABLE_INTR macro
    bsf     b_gieh
    bsf     b_giel
    endm


;
; Breakpoints
;     BREAKPOINT <label>     call breakpoint
;     SKIP_BREAKPOINT        skip immediately following breakpoint
;
#if SIMULATE_BP
BREAKPOINT  macro   label
    rcall   label
    endm
SKIP_BREAKPOINT macro
    SKIP1
    endm
#else
BREAKPOINT  macro   label
    endm
SKIP_BREAKPOINT macro
    endm
#endif

;
; DISPLAY A LITERAL CHARACTER
;
PUT_CHAR    macro   c
    movlw   c
    rcall   putc
    endm

;
; DISPLAY A DEBUG CHARACTER
;
#if SIMULATE_SERIAL
SIMSERIAL_PUTC  macro   c
    movwf   v_macsv_1
    movlw   c
    rcall   putc_raw
    movf    v_macsv_1,w
    endm
#else
SIMSERIAL_PUTC  macro   c
    endm
#endif

;
; SPINNER ENABLE
;
DISABLE_SPINNER macro
    bsf     disab_spinner
    SIMSERIAL_PUTC  0xE5
    endm

ENABLE_SPINNER  macro
    bcf     disab_spinner
    SIMSERIAL_PUTC  0xE6
    endm

;
; IR RX ENABLE
;
DISABLE_IR  macro
    bsf     disab_irrx
    SIMSERIAL_PUTC  0xE9
    endm

ENABLE_IR   macro
    bcf     disab_irrx
    SIMSERIAL_PUTC  0xEA
    endm


;
; DISPLAY ENABLE
;
DISABLE_DISPLAY macro
    bsf     disab_display
    SIMSERIAL_PUTC  0xE3
    endm

ENABLE_DISPLAY  macro
    bcf     disab_display
    SIMSERIAL_PUTC  0xE4
    endm


;
; LIGHT ON/OFF
;
LIGHT_OFF   macro
    bsf     disab_light
    SIMSERIAL_PUTC  0xE7
    endm

LIGHT_ON    macro
    bcf     disab_light
    SIMSERIAL_PUTC  0xE8
    endm


;
; SOUND
;
SOUND_CLICK macro
    btg     disab_sound
    endm

SOUND_OFF   macro
    bsf     disab_sound
    endm

This file Copyright (C) 2004 by Nathan (Acorn) Pooley
Go to DRUID Development page
Go to DRUID page
Go to JU Gadgets page
Go to Justice Unlimited homepage
Go to Acorn's personal webpage
Contact Acorn
See comments from others
Post your own comments
File created by do_doc at Wed Aug 4 17:53:36 2004