Mercurial > public > hwos_code
diff src/options.asm @ 562:8b7ea27ea1fa
seperate desat and sat multipliers for GF and Non-GF modes. Set to 100/100 as default in GF mode
author | heinrichsweikamp |
---|---|
date | Sat, 03 Feb 2018 15:17:01 +0100 |
parents | b7eb98dbd800 |
children | b455b31ce022 |
line wrap: on
line diff
--- a/src/options.asm Sat Feb 03 13:36:02 2018 +0100 +++ b/src/options.asm Sat Feb 03 15:17:01 2018 +0100 @@ -84,11 +84,14 @@ movlw HIGH(option_table_begin) movwf FSR0H option_reset_all_1: - movf FSR0L,W ; Reached end of table ? - xorlw LOW(option_table_end) ; (8bit test -> 10 bytes x 128 options max) - btfsc STATUS,Z ; YES: done. - return - + movlw LOW(option_table_end) + cpfseq FSR0L + bra option_reset_all_2 ; Not yet done... + movlw HIGH(option_table_end) + cpfseq FSR0H + bra option_reset_all_2 ; Not yet done... + return ; All done. +option_reset_all_2: rcall option_reset ; Reset one option. bra option_reset_all_1 ; and loop. @@ -106,11 +109,14 @@ movwf FSR0H option_check_all_1: - movf FSR0L,W ; Reached end of table ? - xorlw LOW(option_table_end) ; (8bit test -> 10 bytes x 128 options max) - btfsc STATUS,Z ; YES: done. - return - + movlw LOW(option_table_end) + cpfseq FSR0L + bra option_check_all_2 ; Not yet done... + movlw HIGH(option_table_end) + cpfseq FSR0H + bra option_check_all_2 ; Not yet done... + return ; All done. +option_check_all_2: rcall option_check ; check one option. bra option_check_all_1 ; and loop @@ -254,11 +260,14 @@ movwf FSR0H option_save_all_1: - movf FSR0L,W ; Reached end of table ? - xorlw LOW(option_table_end) ; (8bit test -> 10 bytes x 128 options max) - btfsc STATUS,Z ; YES: done. - return - + movlw LOW(option_table_end) + cpfseq FSR0L + bra option_save_all_2 ; Not yet done... + movlw HIGH(option_table_end) + cpfseq FSR0H + bra option_save_all_2 ; Not yet done... + return ; All done. +option_save_all_2: rcall option_save ; Save one option. bra option_save_all_1 ; and loop. @@ -328,14 +337,16 @@ movwf FSR0H option_restore_all_1: - movf FSR0L,W ; Reached end of table ? - xorlw LOW(option_table_end) ; (8bit test -> 10 bytes x 128 options max) - btfsc STATUS,Z ; YES: done. - return - + movlw LOW(option_table_end) + cpfseq FSR0L + bra option_restore_all_2 ; Not yet done... + movlw HIGH(option_table_end) + cpfseq FSR0H + bra option_restore_all_2 ; Not yet done... + return ; All done. +option_restore_all_2: rcall option_restore ; Restore one option. bra option_restore_all_1 ; and loop. - return option_restore: rcall option_read