📄 hf0803.lst
字号:
489 00:00D0: 8D xx xx STA OldPageNum
490 00:00D3: A9 01 LDA #1
491 00:00D5: 8D xx xx STA ProSelec
492 00:00D8: 8D xx xx STA SCardID
493 00:00DB: 9C xx xx STZ CardCountT
494 00:00DE: 20 xx xx JSR SetupPage0
495 00:00E1: 20 xx xx JSR LoadDEFPage
496 00:00E4: 20 xx xx JSR InitTime
497 00:00E7: 58 CLI
498 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
499 ;main loop
500 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
501 MAIN:
502 00:00E8: DF xx 63 BBS5 <SystemFlag,PowerCheck
503 PowerNext:
504 00:00EB: 0F xx FA BBR0 <SystemFlag,MAIN
505 00:00EE: 07 xx RMB0 <SystemFlag
506 00:00F0: 78 SEI
507 00:00F1: A0 xx LDY #<KeyScan
508 00:00F3: A2 xx LDX #>KeyScan
509 00:00F5: A9 01 LDA #1
510 00:00F7: 20 2E 0D JSR ProgramRam
511 00:00FA: 58 CLI
512
513 ; JSR KeyScan
514 00:00FB: AD xx xx LDA KeyCode
515 00:00FE: CD xx xx CMP OldKey
516 00:0101: F0 08 BEQ CheckKeySame
517 00:0103: 8D xx xx STA OldKey
518 00:0106: 07 xx RMB0 <KeyFlag
519 00:0108: 4C xx xx JMP MAIN
520 CheckKeySame:
521 00:010B: C9 FF CMP #NULLKEY
522 00:010D: F0 D9 BEQ MAIN
523 00:010F: AD xx xx LDA PageNum
524 00:0112: C9 02 CMP #2
525 00:0114: F0 0E BEQ PageNoSameKey
526 CheckKeySameNext1:
527 00:0116: 8F xx CF BBS0 <KeyFlag,MAIN
528 CheckKeySameNext2:
529 00:0119: 20 xx xx JSR KeyDone
530 00:011C: 20 xx xx JSR IsPageChange
531 00:011F: 87 xx SMB0 <KeyFlag
532 00:0121: 4C xx xx JMP MAIN
533 PageNoSameKey:
534 00:0124: AD xx xx LDA KeyCode
535 00:0127: C9 04 CMP #leftkey
536 00:0129: F0 07 BEQ PageNoSameKey1
537 00:012B: C9 06 CMP #rightkey
538 00:012D: F0 03 BEQ PageNoSameKey1
539 00:012F: 4C xx xx JMP CheckKeySameNext1
540 PageNoSameKey1:
541 00:0132: AD xx xx LDA Page2Menu
542 00:0135: C9 01 CMP #1
543 00:0137: F0 07 BEQ PageNoSameKeyNext
544 00:0139: C9 02 CMP #2
545 00:013B: F0 03 BEQ PageNoSameKeyNext
546 00:013D: 4C xx xx JMP CheckKeySameNext1
547
548 PageNoSameKeyNext:
549 00:0140: A0 xx LDY #<DelayTime50ms
550 00:0142: A2 xx LDX #>DelayTime50ms
551 00:0144: A9 01 LDA #1
552 00:0146: 78 SEI
553 00:0147: 20 2E 0D JSR ProgramRam
554 00:014A: 58 CLI
555 00:014B: 4C xx xx JMP CheckKeySameNext2
556 PowerCheck:
557 00:014E: AD xx xx LDA PowerCnt
558 00:0151: C9 1E CMP #30
559 00:0153: F0 08 BEQ PowerDown
560 00:0155: EE xx xx INC PowerCnt
561 00:0158: 57 xx RMB5 <SystemFlag
562 00:015A: 4C xx xx JMP PowerNext
563 PowerDown:
564 00:015D: 3F 00 FD BBR3 <PA,PowerDown
565 00:0160: E7 47 SMB6 <LCTR
566 00:0162: EA NOP
567 00:0163: F7 47 SMB7 <LCTR
568 00:0165: A5 39 LDA SYS
569 00:0167: 8D xx xx STA SysSave
570 00:016A: 9C xx xx STZ PowerCnt
571 00:016D: F7 xx SMB7 <SystemFlag
572 00:016F: 64 3C STZ <IREQL
573 00:0171: 64 3D STZ <IREQH
574 00:0173: 64 3F STZ <IENAH
575 00:0175: 64 3E STZ <IENAL
576 00:0177: 57 3C RMB5 <IREQL
577 00:0179: D7 3E SMB5 <IENAL
578 00:017B: 64 04 STZ PE
579 00:017D: A9 FF LDA #FFH
580 00:017F: 85 00 STA PA
581 00:0181: A5 00 LDA <PA
582 00:0183: A9 04 LDA #$04
583 00:0185: 85 39 STA <SYS
584 WaitWai:
585 00:0187: CB WAI
586 00:0188: BF 00 FC BBS3 <PA,WaitWai
587 00:018B: EA NOP
588 00:018C: 77 47 RMB7 <LCTR
589 00:018E: EA NOP
590 00:018F: 67 47 RMB6 <LCTR
591 00:0191: 97 3E SMB1 <IENAL
592 00:0193: A7 3E SMB2 <IENAL
593 00:0195: 4C xx xx JMP MAIN
594 ;;===============================================================
595 InitTime:
596 00:0198: A9 32 LDA #50
597 00:019A: 85 20 STA T0CL
598 00:019C: A9 CF LDA #CFH
599 00:019E: 85 21 STA T0CH
600 00:01A0: A9 C0 LDA #C0H
601 00:01A2: 85 29 STA PRS
602 00:01A4: 87 28 SMB0 TIEN
603 00:01A6: 97 3E SMB1 IENAL
604 00:01A8: A9 00 LDA #00
605 00:01AA: 85 22 STA T1CL
606 00:01AC: A9 C8 LDA #C8H
607 00:01AE: 85 23 STA T1CH
608 00:01B0: 97 28 SMB1 TIEN
609 00:01B2: A7 3E SMB2 IENAL
610 00:01B4: 60 RTS
611 InitPage:
612 00:01B5: A9 01 LDA #1
613 00:01B7: 8D xx xx STA CardNumKind
614 00:01BA: 8D xx xx STA ProSelec
615 00:01BD: 9C xx xx STZ ForbidCard
616 00:01C0: A9 01 LDA #1
617 00:01C2: 8D xx xx STA WashTimeKind
618 00:01C5: 8D xx xx STA PChangeM
619 00:01C8: 8D xx xx STA TurnPM
620 00:01CB: 8D xx xx STA TuchM
621 00:01CE: A9 06 LDA #6
622 00:01D0: 8D xx xx STA BrushDelay
623 00:01D3: A9 0F LDA #15
624 00:01D5: 8D xx xx STA AllowErTim
625 00:01D8: A9 03 LDA #3
626 00:01DA: 8D xx xx STA TakeCardCount
627 00:01DD: 9C xx xx STZ A1CardCnt
628 00:01E0: A9 01 LDA #1
629 00:01E2: 8D xx xx STA PageABNum
630 00:01E5: A9 01 LDA #1
631 00:01E7: 8D xx xx STA Page2SubPage
632 00:01EA: A9 01 LDA #1
633 00:01EC: 8D xx xx STA LeftORRight
634 00:01EF: 8D xx xx STA ABCKind
635 00:01F2: 8D xx xx STA SeleCardQLKind
636 00:01F5: 8D xx xx STA PrintColorDKind
637 00:01F8: 8D xx xx STA AllowErTimeKind
638 00:01FB: 8D xx xx STA TakeCardCKind
639 00:01FE: 8D xx xx STA ForbidCardKind
640 00:0201: A9 00 LDA #0
641 00:0203: 8D xx xx STA Page9Menu
642 00:0206: 9C xx xx STZ Page2Menu
643 00:0209: A9 01 LDA #1
644 00:020B: 8D xx xx STA Page0Menu
645 00:020E: A9 01 LDA #1
646 00:0210: 8D xx xx STA Page1Menu
647 00:0213: 60 RTS
648 InitDefRam:
649 00:0214: 20 xx xx JSR CLEAN_RAM
650 00:0217: 9C xx xx STZ InitRamAddrL
651 00:021A: A9 02 LDA #2
652 00:021C: 8D xx xx STA InitRamAddrH
653 InitRamLoop:
654 00:021F: A9 00 LDA #0
655 00:0221: 92 xx STA (InitRamAddrL)
656 00:0223: AD xx xx LDA InitRamAddrL
657 00:0226: C9 FF CMP #FFH
658 00:0228: F0 07 BEQ InitDefRamH
659 InitRamLoop1:
660 00:022A: 18 CLC
661 00:022B: EE xx xx INC InitRamAddrL
662 00:022E: 4C xx xx JMP InitRamLoop
663 InitDefRamH:
664 00:0231: AD xx xx LDA InitRamAddrH
665 00:0234: C9 1F CMP #1FH
666 00:0236: F0 09 BEQ InitDefRamEnd
667 00:0238: EE xx xx INC InitRamAddrH
668 00:023B: 9C xx xx STZ InitRamAddrL
669 00:023E: 4C xx xx JMP InitRamLoop
670 InitDefRamEnd:
671 00:0241: 60 RTS
672 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
673 CLEAN_RAM:
674 00:0242: A2 00 LDX #00H
675 CLEAN_RAM_LOOP:
676 00:0244: 9E 80 00 STZ 80H,X
677 00:0247: E8 INX
678 00:0248: E0 80 CPX #80H
679 00:024A: D0 F8 BNE CLEAN_RAM_LOOP
680 00:024C: 60 RTS
681 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
682
683 InitIO:
684 00:024D: A9 10 LDA #10H
685 00:024F: 85 08 STA PCA
686 00:0251: A9 EF LDA #EFH
687 00:0253: 85 00 STA PA
688 00:0255: 64 09 STZ PCB
689 00:0257: 64 01 STZ PB
690 00:0259: A9 17 LDA #17H
691 00:025B: 85 0A STA PCC
692 00:025D: A9 07 LDA #07H
693 00:025F: 85 02 STA PC
694 00:0261: 64 0B STZ PCD
695 00:0263: A9 FF LDA #FFH
696 00:0265: 85 0C STA PCE
697 00:0267: A9 EF LDA #EFH
698 00:0269: 85 04 STA PE
699 00:026B: 64 0D STZ PCF
700 00:026D: 64 05 STZ PF
701 00:026F: A9 FF LDA #FFH
702 00:0271: 85 0D STA PCF
703 00:0273: 64 05 STZ PF
704 00:0275: 60 RTS
705 ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
706 IsPageChange:
707 00:0276: AD xx xx LDA OldPageNum
708 00:0279: CD xx xx CMP PageNum
709 00:027C: D0 01 BNE LoadPage
710 IsPageChangeEnd:
711 00:027E: 60 RTS
712 ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
713 LoadPage:
714 00:027F: AD xx xx LDA PageNum
715 00:0282: C9 00 CMP #0
716 00:0284: F0 0F BEQ ToPage0
717 00:0286: C9 01 CMP #1
718 00:0288: F0 0E BEQ ToPage1
719 00:028A: C9 02 CMP #2
720 00:028C: F0 0D BEQ ToPage2
721 00:028E: C9 09 CMP #9
722 00:0290: F0 0C BEQ ToPage9
723 00:0292: 4C xx xx JMP IsPageChangeEnd
724 ToPage0:
725 00:0295: 4C xx xx JMP SetupPage0
726 ToPage1:
727 00:0298: 4C xx xx JMP SetupPage1
728 ToPage2:
729 00:029B: 4C xx xx JMP SetupPage2New
730 ToPage9:
731 00:029E: 4C xx xx JMP SetupPage9
732 KeyDone:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -