📄 display.lst
字号:
+0 635 635
00000024 1800 +0 636 636 ld a,0 ;clear other DBR area
00000026 +0 637 637 init_vft_02:
00000026 F578 +0 638 638 ld (iy),a
00000028 ED6F0000 R +0 639 639 cmp iy,DBR_BOT
0000002C DB03 +0 640 640 j ge,init_vft_09
0000002E 35 +0 641 641 inc iy
0000002F FCF5 +0 642 642 j init_vft_02
00000031 +0 643 643 init_vft_09:
00000031 FD0000 R +0 644 644 call spc_disp
00000034 +0 645 645 vft_enable:
00000034 0A0040 R +0 646 646 ld (VFTCR1),0y01000000 ;BLK-enable 8M
00000037 FA +0 647 647 ret
+0 648 648
00000038 +0 649 649 vft_disable:
00000038 0A00C0 R +0 650 650 ld (VFTCR1),0y11000000 ;BLK-blanking, SDT1-10, VSEL-(V31~V0) 8M
0000003B FA +0 651 651 ret
+0 652 652
+0 653 653 ;V2.10-------------------------------------
+0 654 654 ;V4.13dbr_clear:
+0 655 655 ;V4.13 ld hl,0x0fa0 ;V2.12
+0 656 656 ;V4.13 ld c,0 ;V2.12
+0 657 657 ;V4.13dbr_clear0: ;V2.12
+0 658 658 ;V4.13 ld (hl+c),0 ;V2.12
+0 659 659 ;V4.13 inc c ;V2.12
+0 660 660 ;V4.13 cmp c,0x02f ;V2.12
+0 661 661 ;V4.13 j le,dbr_clear0 ;V2.12
+0 662 662 ;V4.13 ret ;V2.12
+0 663 663
+0 664 664 ;==============================================================================
+0 665 665 ; Name: disp_to_dbr
+0 666 666 ; Function: DISP data convert and store to DBR
+0 667 667 ; Input: DISP +0~+13 (set character code, DP and commma flag)
+0 668 668 ;==============================================================================
+0 669 669
0000003C +0 670 670 disp_to_dbr:
+0 671 671
0000003C 4C0000 R +0 672 672 ld ix,DISP_LSD
0000003F 4D0000 R +0 673 673 ld iy,DBR_SEG
00000042 4B0000 R +0 674 674 ld hl,tbl_vft_seg
+0 675 675 ;set segment data and DP to DBR(FA0h~FAFh)
00000045 +0 676 676 disp_to_dbr0:
00000045 E442 +0 677 677 ld c,(ix) ;DISP data load
00000047 EA643F +0 678 678 and c,0y00111111
0000004A E740 +0 679 679 ld a,(hl+c) ;convert to segment data
+0 680 680 ;V4.13 @F_BLINK_OFF (disp_to_dbr1) ;V2.12
+0 681 681 ;V4.13 and a,0y00000000 ;V2.12
0000004C +0 682 682 disp_to_dbr1: ;V2.12
0000004C E442 +0 683 683 ld c,(ix) ;DISP data load
+0 684 684 ;V3.00 @RTC_SET_ON (disp_to_dbr2) ;V2.07
+0 685 685 ;V4.13 @F_ICDSP_ON (disp_to_dbr2) ;V2.07
+0 686 686 ;V3.01 @F_BLINK_ON (disp_to_dbr2) ;V2.12
0000004E EA6440 +0 687 687 and c,0y01000000 ;DP bit(bit6) check
00000051 D802 +0 688 688 j z,disp_to_dbr2 ;no DP yes->
00000053 6680 +0 689 689 or a,0y10000000 ;set DP segment
00000055 +0 690 690 disp_to_dbr2:
00000055 F578 +0 691 691 ld (iy),a ;store to DBR
+0 692 692 ;set commma to DBR(FB0h~FBFh)
00000057 1800 +0 693 693 ld a,0y00000000
+0 694 694 ;V3.00 @RTC_SET_ON (disp_to_dbr4) ;V2.07
+0 695 695 ;V4.13 @F_BLINK_ON (disp_to_dbr4) ;V2.12
+0 696 696 ;V4.13 @F_DPIN_ON (disp_to_dbr3) ;V2.13
+0 697 697 ;V4.13 @F_TNKEY_OFF (disp_to_dbr3) ;V2.13
+0 698 698 ; @SW_ADM_ON (disp_to_dbr4) ;V2.13
00000059 +0 699 699 disp_to_dbr3: ;V2.13
00000059 E442 +0 700 700 ld c,(ix) ;DISP data load
0000005B EA6480 +0 701 701 and c,0y10000000 ;Comma bit(bit7) check
0000005E D806 +0 702 702 j z,disp_to_dbr4 ;no Comma yes->
+0 703 703 ;V3.00 ld a,0y10000000 ;Comma set to DBR
00000060 D5F0C7 +0 704 704 set (iy-0x10).7
00000063 FE0000 R +0 705 705 jp disp_to_dbr4_1
00000066 +0 706 706 disp_to_dbr4:
00000066 D5F0CF +0 707 707 clr (iy-0x10).7
00000069 +0 708 708 disp_to_dbr4_1:
+0 709 709 ;V3.00 ld (iy-0x10),a ;store to DBR(current DBR address + 10h)
00000069 3C +0 710 710 dec ix ;DISP address move to MSD <-
0000006A 35 +0 711 711 inc iy ;+1 DBR address
0000006B 5B00 R +0 712 712 test (MDFLG_3).3
0000006D A6 +0 713 713 j f,disp_to_dbr4_2
0000006E EC6F0000 R +0 714 714 cmp ix,DISP_MSD+2 ;V4.03
00000072 FE0000 R +0 715 715 jp disp_to_dbr4_3 ;V4.05
+0 716 716 ;V4.05 @IS_D14_ON(disp_to_dbr4_2) ;V4.03
+0 717 717 ;V4.05 cmp ix,DISP_MSD+2
00000075 +0 718 718 disp_to_dbr4_2: ;V4.03
00000075 EC6F0000 R +0 719 719 cmp ix,DISP_MSD ;V4.05
00000079 +0 720 720 disp_to_dbr4_3: ;V4.05
00000079 DBCA +0 721 721 j ge,disp_to_dbr0
0000007B +0 722 722 disp_symbol: ;V2.10
+0 723 723 ;set 'E','-','M' sign to symbol digit...........
0000007B 1A00 +0 724 724 ld c,0y00000000
0000007D 480000 R +0 725 725 ld wa,ICON_E
00000080 E10000FC R +0 726 726 test (ICON_E>>4).a ;bit -reverse-> jump status
00000084 81 +0 727 727 j t,disp_to_dbr5 ;if jump status is 1 -> branch
00000085 EAC2 +0 728 728 set c.2 ;set 'E'
00000087 +0 729 729 disp_to_dbr5:
+0 730 730 ;V3.00 @BBS (RTC_ON,disp_to_dbr9) ;RTC display? yes ->
+0 731 731 ;V3.00 @BBS (RTC_SET,disp_to_dbr9)
00000087 480000 R +0 732 732 ld wa,ICON_MIN
0000008A E10000FC R +0 733 733 test (ICON_MIN>>4).a ;bit -reverse-> jump status
0000008E 81 +0 734 734 j t,disp_to_dbr6 ;if jump status is 1 -> branch
0000008F EAC1 +0 735 735 set c.1 ;set '-'
00000091 +0 736 736 disp_to_dbr6:
00000091 480000 R +0 737 737 ld wa,ICON_M
00000094 E10000FC R +0 738 738 test (ICON_M>>4).a ;bit -reverse-> jump status
00000098 81 +0 739 739 j t,disp_to_dbr7 ;if jump status is 1 -> branch
00000099 EAC0 +0 740 740 set c.0 ;set 'M'
0000009B +0 741 741 disp_to_dbr7:
+0 742 742 ;V3.00 ld (iy),c ;store to DBR(G15)
+0 743 743 ;V3.00 ld c,0 ;V2.06
+0 744 744 ;V3.00 @BBC (ICON_GT,disp_to_dbr8) ;V2.06
+0 745 745 ;V3.00 ld c,0y00000001 ;V2.06 set "GT"
+0 746 746 ;V3.00disp_to_dbr8:
0000009B F57A +0 747 747 ld (iy),c ;V2.06
0000009D FA +0 748 748 ret
0000009E +0 749 749 disp_to_dbr9: ;V2.06
0000009E F57A +0 750 750 ld (iy),c ;V2.06
000000A0 1A00 +0 751 751 ld c,0 ;V2.06
000000A2 55107A +0 752 752 ld (iy+0x10),c ;V2.06
000000A5 FA +0 753 753 ret ;V2.06
+0 754 754
+0 755 755
000000A6 +0 756 756 tbl_vft_seg:
+0 757 757 ; PPPPPPPP
+0 758 758 ; 88888888
+0 759 759 ; 76543210
+0 760 760 ; .decgfba
000000A6 77 +0 761 761 db 0y01110111 ;00h '0'
000000A7 12 +0 762 762 db 0y00010010 ;01h '1'
000000A8 6B +0 763 763 db 0y01101011 ;02h '2'
000000A9 5B +0 764 764 db 0y01011011 ;03h '3'
000000AA 1E +0 765 765 db 0y00011110 ;04h '4'
000000AB 5D +0 766 766 db 0y01011101 ;05h '5'
000000AC 7D +0 767 767 db 0y01111101 ;06h '6'
000000AD 17 +0 768 768 db 0y00010111 ;07h '7'
000000AE 7F +0 769 769 db 0y01111111 ;08h '8'
000000AF 5F +0 770 770 db 0y01011111 ;09h '9'
000000B0 3F +0 771 771 db 0y00111111 ;0ah 'A'
000000B1 7C +0 772 772 db 0y01111100 ;0bh 'b'
000000B2 65 +0 773 773 db 0y01100101 ;0ch 'c'
000000B3 7A +0 774 774 db 0y01111010 ;0dh 'd'
000000B4 6D +0 775 775 db 0y01101101 ;0eh 'E'
000000B5 2D +0 776 776 db 0y00101101 ;0fh 'F'
000000B6 2F +0 777 777 db 0y00101111 ;10h 'P'
000000B7 3E +0 778 778 db 0y00111110 ;11h 'H '
000000B8 08 +0 779 779 db 0y00001000 ;12h '-'
000000B9 64 +0 780 780 db 0y01100100 ;13h 'L'
000000BA 37 +0 781 781 db 0y00110111 ;14h 'M'
000000BB 38 +0 782 782 db 0y00111000 ;15h 'n'
000000BC 48 +0 783 783 db 0y01001000 ;16h '='
000000BD 28 +0 784 784 db 0y00101000 ;17h 'r'
000000BE 76 +0 785 785 db 0y01110110 ;18h 'U'
000000BF 6C +0 786 786 db 0y01101100 ;19h 't'
000000C0 00 +0 787 787 db 0y00000000 ;1ah ' '
000000C1 00 +0 788 788 db 0y00000000 ;1bh ' '
000000C2 00 +0 789 789 db 0y00000000 ;1ch ' '
000000C3 00 +0 790 790 db 0y00000000 ;1dh ' '
000000C4 00 +0 791 791 db 0y00000000 ;1eh ' '
000000C5 00 +0 792 792 db 0y00000000 ;1fh ' '
+0 793 793 ; .decgfba
000000C6 01 +0 794 794 db 0y00000001 ;a 20h
000000C7 02 +0 795 795 db 0y00000010 ;b 21h
000000C8 10 +0 796 796 db 0y00010000 ;c 22h
000000C9 40 +0 797 797 db 0y01000000 ;d 23h
000000CA 20 +0 798 798 db 0y00100000 ;e 24h
000000CB 04 +0 799 799 db 0y00000100 ;f 25h
000000CC 08 +0 800 800 db 0y00001000 ;g 26h
000000CD 80 +0 801 801 db 0y10000000 ;. 27h
000000CE 00 +0 802 802 db 0y00000000 ;' 28h
000000CF 0F +0 803 803 db 0y00001111 ;up"o" 29h
000000D0 78 +0 804 804 db 0y01111000 ;low'o' 2ah
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -