; 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