# HG changeset patch # User JeanDo # Date 1323459823 -3600 # Node ID e33a8ac4b660013b65d98df4b14eef42b98a708f # Parent 33abbc08f01e92c3001732f72737b8b258c974a8 New ASSERT_BANK1 macro for software proofing. diff -r 33abbc08f01e -r e33a8ac4b660 code_part1/OSTC_code_asm_part1/definitions.asm --- a/code_part1/OSTC_code_asm_part1/definitions.asm Fri Dec 09 20:43:39 2011 +0100 +++ b/code_part1/OSTC_code_asm_part1/definitions.asm Fri Dec 09 20:43:43 2011 +0100 @@ -358,6 +358,21 @@ desaturation_time_buffer res 2 ; buffer for desat time total_divetime_seconds res 2 ; counts dive seconds regardless of CF01 (18h max.) +ASSERT_BANK1 MACRO tag + Ifdef __DEBUG + local @end + movlw 1 + xorwf BSR,W + bz @end + + movlw low(tag) + movff WREG,temp10+0 + movlw high(tag) + movff WREG,temp10+0 + call PLED_resetdebugger +@end: + Endif + ENDM ;============================================================================= ; C-code Routines ; PART 2 diff -r 33abbc08f01e -r e33a8ac4b660 code_part1/OSTC_code_asm_part1/divemode.asm --- a/code_part1/OSTC_code_asm_part1/divemode.asm Fri Dec 09 20:43:39 2011 +0100 +++ b/code_part1/OSTC_code_asm_part1/divemode.asm Fri Dec 09 20:43:43 2011 +0100 @@ -303,9 +303,9 @@ ; Copy all gases to char_I_deco_N2_ratio and char_I_deco_He_ratio divemode_check_decogases: ; CALLed from Simulator, too - clrf EEADRH ; Make sure to select eeprom bank 0 - -;;;; FIXME BANK1 ??? + ASSERT_BANK1 .10001 ; Just make sure everything is correct. + + clrf EEADRH ; Make sure to select eeprom bank 0 read_int_eeprom d'7' ; Read He ratio movff EEDATA,char_I_deco_He_ratio+0 ; And copy into hold register diff -r 33abbc08f01e -r e33a8ac4b660 code_part1/OSTC_code_asm_part1/wait.asm --- a/code_part1/OSTC_code_asm_part1/wait.asm Fri Dec 09 20:43:39 2011 +0100 +++ b/code_part1/OSTC_code_asm_part1/wait.asm Fri Dec 09 20:43:43 2011 +0100 @@ -18,7 +18,7 @@ ; ToDo: ; ========================================================== -; WAIT 10 MICROSECONDS - 16 MHZ +; WAIT 10 MICROSECONDS - 16 Mhz and 32 Mhz ; ========================================================== IFDEF SPEED_16MHz @@ -88,8 +88,9 @@ call WAITMSX endm -WAITMSX movwf waitms_temp ; Holds number of ms to wait +WAITMSX movwf waitms_temp ; Holds number of ms to wait + ASSERT_BANK1 .10002 ; Make sure we are in bank1 Ifdef TESTING return ; In emulation, just skips waits Endif