Mercurial > public > mk2
comparison code_part1/OSTC_code_asm_part1/menu_logbook.asm @ 146:c09b0be2e1e6
PIXEL_WRITE macros.
+ obey win_flip_screen flag.
author | JeanDo |
---|---|
date | Sun, 09 Jan 2011 14:39:09 +0100 |
parents | 8b75ba28d641 |
children | a1960295433b |
comparison
equal
deleted
inserted
replaced
145:8bda2452a532 | 146:c09b0be2e1e6 |
---|---|
489 movlw d'5' | 489 movlw d'5' |
490 movwf timeout_counter3 ; here: used as colum x2 (Start at Colum 5) | 490 movwf timeout_counter3 ; here: used as colum x2 (Start at Colum 5) |
491 movlw d'75' ; Zero-m row | 491 movlw d'75' ; Zero-m row |
492 movwf apnoe_mins ; here: used for fill between rows | 492 movwf apnoe_mins ; here: used for fill between rows |
493 incf timeout_counter3,W ; Init Column | 493 incf timeout_counter3,W ; Init Column |
494 call PLED_SetColumnPixel ; pixel x2 | 494 |
495 INIT_PIXEL_WROTE timeout_counter3 ; pixel x2 | |
495 | 496 |
496 profile_display_loop: | 497 profile_display_loop: |
497 movff profile_temp+0,profile_temp2+0 | 498 movff profile_temp+0,profile_temp2+0 |
498 movff profile_temp+1,profile_temp2+1 ; 16Bit x-scaler | 499 movff profile_temp+1,profile_temp2+1 ; 16Bit x-scaler |
499 incf profile_temp2+1,F | 500 incf profile_temp2+1,F |
520 | 521 |
521 call profile_display_fill ; In this column between this row (xC+0) and the last row (apnoe_mins) | 522 call profile_display_fill ; In this column between this row (xC+0) and the last row (apnoe_mins) |
522 movff xC+0,apnoe_mins ; Store last row for fill routine | 523 movff xC+0,apnoe_mins ; Store last row for fill routine |
523 incf timeout_counter3,F | 524 incf timeout_counter3,F |
524 | 525 |
525 movf xC+0,W | 526 PIXEL_WRITE timeout_counter3,xC+0 ; Set col(0..159) x row (0..239), put a std color pixel. |
526 call PLED_SetRow ; 0...259 | |
527 | |
528 movf timeout_counter3,W | |
529 call PLED_SetColumnPixel ; pixel x2 | |
530 call PLED_standard_color | |
531 call PLED_PxlWrite ; Write two pixels | |
532 | 527 |
533 profile_display_skip_loop1: ; skips readings! | 528 profile_display_skip_loop1: ; skips readings! |
534 dcfsnz profile_temp2+0,F | 529 dcfsnz profile_temp2+0,F |
535 bra profile_display_loop3 ; check 16bit.... | 530 bra profile_display_loop3 ; check 16bit.... |
536 | 531 |
593 profile_display_fill_down: ; Fill downwards from apone_mins to xC+0! | 588 profile_display_fill_down: ; Fill downwards from apone_mins to xC+0! |
594 movff apnoe_mins,xC+1 ; Copy | 589 movff apnoe_mins,xC+1 ; Copy |
595 profile_display_fill_down2: ; Loop | 590 profile_display_fill_down2: ; Loop |
596 decf xC+1,F | 591 decf xC+1,F |
597 | 592 |
598 movf xC+1,W ; Row | 593 HALF_PIXEL_WRITE xC+1 ; Updates just row (0..239) |
599 call PLED_SetRow ; 0...259 | |
600 | |
601 call PLED_standard_color | |
602 call PLED_PxlWrite_Single; Write one Pixel | |
603 | 594 |
604 movf xC+0,W | 595 movf xC+0,W |
605 cpfseq xC+1 ; Loop until xC+1=xC+0 | 596 cpfseq xC+1 ; Loop until xC+1=xC+0 |
606 bra profile_display_fill_down2 | 597 bra profile_display_fill_down2 |
607 return ; apnoe_mins and xC+0 are untouched | 598 return ; apnoe_mins and xC+0 are untouched |
609 profile_display_fill_up: ; Fill upwards from xC+0 to apone_mins! | 600 profile_display_fill_up: ; Fill upwards from xC+0 to apone_mins! |
610 movff xC+0,xC+1 ; Copy | 601 movff xC+0,xC+1 ; Copy |
611 profile_display_fill_up2: ; Loop | 602 profile_display_fill_up2: ; Loop |
612 decf xC+1,F | 603 decf xC+1,F |
613 | 604 |
614 movf xC+1,W ; Row | 605 HALF_PIXEL_WRITE xC+1 ; Updates just row (0..239) |
615 call PLED_SetRow ; 0...259 | |
616 | |
617 call PLED_standard_color | |
618 call PLED_PxlWrite_Single; Write one Pixel | |
619 | 606 |
620 movf apnoe_mins,W | 607 movf apnoe_mins,W |
621 cpfseq xC+1 ; Loop until xC+1=apnoe_mins | 608 cpfseq xC+1 ; Loop until xC+1=apnoe_mins |
622 bra profile_display_fill_up2 | 609 bra profile_display_fill_up2 |
623 return ; apnoe_mins and xC+0 are untouched | 610 return ; apnoe_mins and xC+0 are untouched |