📄 main_quick_tx.lst
字号:
79A3 598 $Include 'it.asm'
599 ;/**************************************************
***************************/
600 ;/* PROJECT : RF key demonstrator (ASK or FSK)
*/
601 ;/* Functions: Dummy_isr
*/
602 ;/**************************************************
***************************/
603
604 ;***************************************************
main_quick_tx.asm Assembled with CASM08Z 3/18/2003 3:17:57 PM PAGE 15
***********
605 ;* dummy_isr - Dummy Interrupt Service Routine.
606 ;* description : it just does a return from
interrupt.
607 ;***************************************************
***********
608
609 dummy_isr:
610
79A3 [07] 80 611 rti
79A4 612 $Include 'Transmit_Frame.asm'
613 ;/**************************************************
***************************/
614 ;/* Transmit_Frame
*/
615 ;/* Description : Make the data frame and transmit
it out. */
616 ;/* In :
*/
617 ;/* Out :
*/
618 ;/* local variables :
*/
619 ;/**************************************************
***************************/
620
621 Transmit_Frame:
622
79A4 [05] CD797F 623 jsr Make_frame
79A7 [05] CD78BC 624 jsr Wake_up_Rx ; wake up
Romeo2
625
626 end_wake_up_rx:
627
79AA [01] 8F 628 wait ; wait for
end of tone transmission
79AB [04] 55A5 629 ldhx nb_1
79AD [03] 650000 630 cphx #0000
79B0 [03] 26F8 631 bne end_wake_up_rx
79B2 [05] CD78F9 632 jsr Transmit ; transmit
the UHF frame
633
79B5 [04] 81 634 rts
635
636 ; This is a constant delay for approximately 0.8
seconds, used while in
637 ; fast transmission mode.
638 delay_800_ms:
79B6 [02] A618 639 lda #!24
640
641 Next_delay:
79B8 [03] 45FFFF 642 ldhx #$FFFF
79BB [05] CD7880 643 jsr tempo
79BE [01] 4A 644 deca
79BF [03] 26F7 645 bne Next_delay
79C1 [04] 81 646 rts
647
648 * This is a pseudo-random delay, which will last
main_quick_tx.asm Assembled with CASM08Z 3/18/2003 3:17:57 PM PAGE 16
for approximately 0-100 ms.
649 *
650 Random_delay:
79C2 [02] 87 651 psha
79C3 [03] B622 652 lda TCNTL
79C5 [02] A407 653 and #%00000111
79C7 [03] B7B4 654 sta Random_Number
79C9 [03] 2754 655 beq No_more ; No added
delay if rand# %000.
656
79CB [02] A102 657 cmp #%010
79CD [03] 2302 658 bls Delay_25_ms ; Delay for
25 ms if rand# %001 or %010.
79CF [03] 2008 659 bra Not_25_ms
660
661 Delay_25_ms:
79D1 [03] 45BFFF 662 ldhx #$BFFF
79D4 [05] CD7880 663 jsr tempo
79D7 [03] 2046 664 bra No_more
665
666 Not_25_ms:
79D9 [03] B6B4 667 lda Random_Number
79DB [02] A104 668 cmp #%100
79DD [03] 2302 669 bls Delay_50_ms ; Delay for
50 ms if rand# %011 or %100.
79DF [03] 200E 670 bra Not_50_ms
671
672 Delay_50_ms
79E1 [03] 45FFFF 673 ldhx #$FFFF
79E4 [05] CD7880 674 jsr tempo
79E7 [03] 457FFF 675 ldhx #$7FFF
79EA [05] CD7880 676 jsr tempo
79ED [03] 2030 677 bra No_more
678
679 Not_50_ms:
79EF [03] B6B4 680 lda Random_Number
79F1 [02] A105 681 cmp #%101
79F3 [03] 2702 682 beq Delay_75_ms ; Delay for
75 ms if rand# %101.
79F5 [03] 2014 683 bra Not_75_ms
684
685 Delay_75_ms:
79F7 [03] 45FFFF 686 ldhx #$FFFF
79FA [05] CD7880 687 jsr tempo
79FD [03] 45FFFF 688 ldhx #$FFFF
7A00 [05] CD7880 689 jsr tempo
7A03 [03] 453FFF 690 ldhx #$3FFF
7A06 [05] CD7880 691 jsr tempo
7A09 [03] 2014 692 bra No_more
693
694 Not_75_ms:
695 Delay_100_ms: ; If rand#
not found yet, delay for 100 ms.
7A0B [03] 45FFFF 696 ldhx #$FFFF
7A0E [05] CD7880 697 jsr tempo
7A11 [03] 45FFFF 698 ldhx #$FFFF
7A14 [05] CD7880 699 jsr tempo
7A17 [03] 45FFFF 700 ldhx #$FFFF
main_quick_tx.asm Assembled with CASM08Z 3/18/2003 3:17:57 PM PAGE 17
7A1A [05] CD7880 701 jsr tempo
7A1D [03] 2000 702 bra No_more
703
704 No_more:
7A1F [02] 86 705 pula
7A20 [04] 81 706 rts
707
708 ; $Include 'init_ASK.asm'
7A21 709 $Include 'init_FSK.asm'
710 ;/**************************************************
***************************/
711 ;/* PROJECT : Mosport State Machine Mimic MODULE
: State_0a (No Tx here) */
712 ;/* Functions: (Initialization mode, occurs upon
power-up) */
713 ;/* Init
*/
714 ;/* Init_ports
*/
715 ;/* Init_KBI
*/
716 ;/* Init_ICG
*/
717 ;/**************************************************
***************************/
718 ; Version 1 --Jeff Burgess (Adapted from Eric
Perraud RKE Code)
719 ;/**************************************************
***************************/
720 ;/* Init_KBI
*/
721 ;/* Description : it enables keyboard interrupts
*/
722 ;/* In :
*/
723 ;/* Out : INTKBSR, INTKBIER
*/
724 ;/* local variables :
*/
725 ;/**************************************************
***************************/
726
727 Init_KBI:
7A21 [04] 121A 728 bset 1,INTKBSR ; mask keyboard
interrupt
7A23 [04] 1A1A 729 bset 5,INTKBSR ; & IRQ
7A25 [04] 1C1A 730 bset 6,INTKBSR ; clear the pending
IRQ request
7A27 [04] 141A 731 bset 2,INTKBSR ; clear the pending
keyboard request
7A29 [04] 111A 732 bclr 0,INTKBSR ; keyboard interrupt
triggered by falling edge only
7A2B [04] 161B 733 bset 3,INTKBIER ; enable keyboard
interrupt KBD3 to wakeup from stop
734 ; by Daytona
7A2D [04] 131A 735 bclr 1,INTKBSR ; enable keyboard
interrupts
7A2F [04] 81 736 rts
main_quick_tx.asm Assembled with CASM08Z 3/18/2003 3:17:57 PM PAGE 18
737
738 ;/**************************************************
***************************/
739 ;/* Init_ICG
*/
740 ;/* Description : it initializes the ICG @ 2 MHz
*/
741 ;/* In :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -