
                     * PAG
                     ************************************************************
                     * DISASSEMBLY BY DYNAMITE OF 1.SETHORLO.CMD                *
                     ************************************************************
                     * OPT PAG
                     *
                     * 'HOLOGE' UTILITY FOR VEGAS 6809 HARDWARE
                     *
                     * BY FLD ON 15-10-2011 FOR VEGAS
                     * DISSASEMBLY BY DYNAMITE OF SETHORLO.CMD
                     
                     * STANDARD PRE-NAMED LABEL EQUATES
                     
               CD03  WARMS   EQU    $CD03
               CD15  GETCHR  EQU    $CD15
               CD1E  PSTRNG  EQU    $CD1E
               F640  HORLO   EQU    $F640     RTC TEST REGISTERS LOCATION
               F64E  HORMA   EQU    $F64E     RTC STOP/START REGISTER
                     
                     * EXTERNAL LABEL EQUATES
                     
               C103  M1STCH  EQU    $C103
               C104  M2NDCH  EQU    $C104
               C106  STRING  EQU    $C106
               C279  LC279   EQU    $C279
               C27B  LC27B   EQU    $C27B
               C27C  LC27C   EQU    $C27C
               C288  LC288   EQU    $C288
               C2A6  LC2A6   EQU    $C2A6
               C2B5  LC2B5   EQU    $C2B5
               C2B7  LC2B7   EQU    $C2B7
               F641  HOR10S  EQU    $F641     SEC/10 REGISTER
               F642  HORUSE  EQU    $F642     UNIT OF SEC REGISTER
               F643  HORTSE  EQU    $F643     TENS OF SEC REGISTER
               F644  HORUMI  EQU    $F644     UNITS OF MINUTS REGISTER
               F645  HORTMI  EQU    $F645     TENS OF MINUTS REGISTER
               F646  HORUHO  EQU    $F646     UNITS OF HOURS REGISTER
               F647  HORTHO  EQU    $F647     TENS OF HOURS REGISTER
               F648  HORUDA  EQU    $F648     UNITS OF DAYS REGISTER
               F649  HORTDA  EQU    $F649     TENS OD DAYS REGISTER
               F64A  HORWDA  EQU    $F64A     DAYS OF WEEK REGISTER
               F64B  HORUMO  EQU    $F64B     UNITS OF MONTHS REGISTER
               F64C  HORTMO  EQU    $F64C     TENS OF MONTHS REGISTER
               F64D  HORYRS  EQU    $F64D     YEARS REGISTER
                     
                     
  C100                       ORG    $C100
                     
  C100 20   0A       CMDADR  BRA    START
  C102 01                    FCB    $01       VERSION
                     
  C10C                       ORG    $C10C
                     
  C10C 86   00       START   LDA    #0        INIT REGISTERS TO $00
  C10E B7   F64E             STA    HORMA     STOP THE RTC
  C111 B7   F640             STA    HORLO     INIT THE TEST REGISTER
  C114 B7   F641             STA    HOR10S    INIT THE SEC/10 REGISTER
  C117 B7   F642             STA    HORUSE    INIT THE SEC REGISTER
  C11A B7   F643             STA    HORTSE    INIT THE SEC REGISTER
  C11D 8E   C1DB             LDX    #MINUTS   ASK FOR THE MINUTES
  C120 BD   C1A7             JSR    SUBR1     GET THE MINUTS
  C123 B6   C103             LDA    M1STCH    LOAD THE TENS OF MINUTS FROM BUFFER
  C126 B7   F645             STA    HORTMI    STORE THE TENS OF MINUTS
  C129 B6   C104             LDA    M2NDCH    LOAD THE UNITS OF MINUTS FROM BUFFER
  C12C B7   F644             STA    HORUMI    STOTE THE UNITS OF MINUTS
  C12F 8E   C1EA             LDX    #HOURS    ASK FOR  THE HOURS
 >C132 BD   C1A7             JSR    SUBR1     GET THE HOURS
  C135 B6   C103             LDA    M1STCH    LOAD THE TENS OF HOURS FROM BUFFER
  C138 B7   F647             STA    HORTHO    STORE THE TENS OF HOURS
  C13B B6   C104             LDA    M2NDCH    LOAD THE UNITS OF HOURS FROM BUFFER
  C13E B7   F646             STA    HORUHO    STOTE THE UNITS OF OURS
  C141 8E   C1F9             LDX    #DAY      ASK FOR THE DAY
 >C144 BD   C1A7             JSR    SUBR1     GET THE DAY
  C147 B6   C103             LDA    M1STCH    LOAD THE TENS OF DAY FROM BUFFER
  C14A B7   F649             STA    HORTDA    STORE THE TENS OF DAY
  C14D B6   C104             LDA    M2NDCH    LOAD THE UNITS OF DAY FROM BUFFER
  C150 B7   F648             STA    HORUDA    STORE THE UNITS OF DAY
  C153 8E   C209             LDX    #WEEKDA   ASK FOR THE DAY OF THE WEEK
 >C156 BD   C1A7             JSR    SUBR1     GET THE DAY OF THE WEEK
  C159 B6   C104             LDA    M2NDCH    LOAD THE DAY OF THE WEEK FROM BUFFER
  C15C B7   F64A             STA    HORWDA    STORE THE DAY OF THE WEEK
  C15F 8E   C235             LDX    #MONTH    ASK FOR THE MONTH
 >C162 BD   C1A7             JSR    SUBR1     GET THE MONTH
  C165 B6   C103             LDA    M1STCH    LOAD THE TENS OF MONTH FROM BUFFER
  C168 B7   F64C             STA    HORTMO    STORE THE TENS OF MONTH
  C16B B6   C104             LDA    M2NDCH    LOAD THE UNITS OF MONTH FROM BUFFER
  C16E B7   F64B             STA    HORUMO    STORE THE UNITS OF MONTH
  C171 8E   C245             LDX    #YEAR     ASK FOR THE YEAR
 >C174 BD   C1A7             JSR    SUBR1     GET THE YEAR
  C177 B6   C103             LDA    M1STCH    LOAD THE TENS OF YEAR FROM BUFFER
  C17A 84   0F               ANDA   #$0F      FILTER LESS THAN 4 BITS
  C17C C6   0A               LDB    #$0A
  C17E 3D                    MUL              MULTIPLY BY 10
  C17F F7   C103             STB    M1STCH    STORE THE VALUE BACK TO BUFFER
  C182 B6   C104             LDA    M2NDCH    LOAD THE UNITS OF YEAR
  C185 84   0F               ANDA   #$0F      FILTER LESS THAN 4 BITS
  C187 BB   C103             ADDA   M1STCH    ADD TO BUFFER
  C18A 84   03               ANDA   #3        GET LAST 2 BITS
  C18C 4C                    INCA             ADD 1
  C18D C6   10               LDB    #$10
  C18F 57            LOOP1   ASRB             SHIFT RIGHT
  C190 4A                    DECA             A TIMES
  C191 26   FC               BNE    LOOP1
  C193 F7   F64D             STB    HORYRS    STORE IN YEAR REGISTER
  C196 8E   C255             LDX    #RESTAR   ASK FOR RESTART
  C199 BD   CD1E             JSR    PSTRNG
  C19C BD   CD15             JSR    GETCHR    GET A CHARACTER
  C19F 86   01               LDA    #1
  C1A1 B7   F64E             STA    HORMA     STARTS THE RTC
  C1A4 7E   CD03             JMP    WARMS
                     
                     *  PRINT THE STRING AND GET THE CHARACTERS FROM KEYBOARD
                     
  C1A7 BF   C106     SUBR1   STX    STRING    STORE THE ADDRESS IN HE ADDRESS BUFFER
  C1AA BE   C106     LOOP2   LDX    STRING    RELOAD THE ADDRESS FROM THE ADDRESS BUFFER
  C1AD BD   CD1E             JSR    PSTRNG
  C1B0 C6   03               LDB    #3        GET 3 CHARACTERS FROM KEYBOARD
  C1B2 8E   C103             LDX    #M1STCH
  C1B5 BD   CD15     LOOP3   JSR    GETCHR
  C1B8 A7   80               STA    0,X+      STORE THE FIRST CHARACTER
  C1BA 81   0D               CMPA   #$0D      IS IT A RETURN CHAR ?
  C1BC 27   05               BEQ    JUMP1     JUMP IF YES
  C1BE 5A                    DECB             NEXT CHAR
  C1BF 26   F4               BNE    LOOP3     LOOP IF NOT
  C1C1 20   E7               BRA    LOOP2     MORE THAN 3 CHARACTERS THEN RESTART
  C1C3 8E   C103     JUMP1   LDX    #M1STCH
  C1C6 A6   01               LDA    1,X       CHECK THE SECOND CHARACTER
  C1C8 81   0D               CMPA   #$0D      IS IT RETURN
  C1CA 26   0E               BNE    RETURN    JUMP IF NOT
  C1CC A6   01               LDA    1,X
  C1CE 81   0D               CMPA   #$0D
  C1D0 26   D8               BNE    LOOP2
  C1D2 A6   84               LDA    0,X
  C1D4 A7   01               STA    1,X
  C1D6 86   30               LDA    #$30
  C1D8 A7   84               STA    0,X
  C1DA 39            RETURN  RTS
  C1DB 4D 49 4E 55   MINUTS  FCC    'MINUTE (MM) ? '
  C1DF 54 45 20 28   
  C1E3 4D 4D 29 20   
  C1E7 3F 20         
  C1E9 04                    FCB    $04
  C1EA 48 45 55 52   HOURS   FCC    'HEURE  (HH) ? '
  C1EE 45 20 20 28   
  C1F2 48 48 29 20   
  C1F6 3F 20         
  C1F8 04                    FCB    $04
  C1F9 4A 4F 55 52   DAY     FCC    'JOUR    (JJ) ? '
  C1FD 20 20 20 20   
  C201 28 4A 4A 29   
  C205 20 3F 20      
  C208 04                    FCB    $04
  C209 4A 4F 55 52   WEEKDA  FCC    'JOUR DE LA SEMAINE (1=LUNDI, 7=DIMANCHE) ? '
  C20D 20 44 45 20   
  C211 4C 41 20 53   
  C215 45 4D 41 49   
  C219 4E 45 20 28   
  C21D 31 3D 4C 55   
  C221 4E 44 49 2C   
  C225 20 37 3D 44   
  C229 49 4D 41 4E   
  C22D 43 48 45 29   
  C231 20 3F 20      
  C234 04                    FCB    $04
  C235 4D 4F 49 53   MONTH   FCC    'MOIS    (MM) ? '
  C239 20 20 20 20   
  C23D 28 4D 4D 29   
  C241 20 3F 20      
  C244 04                    FCB    $04
  C245 41 4E 4E 45   YEAR    FCC    'ANNEE   (AA) ? '
  C249 45 20 20 20   
  C24D 28 41 41 29   
  C251 20 3F 20      
  C254 04                    FCB    $04
  C255 54 41 50 45   RESTAR  FCC    'TAPEZ "RETURN" POUR DEMARRER L'
  C259 5A 20 22 52   
  C25D 45 54 55 52   
  C261 4E 22 20 50   
  C265 4F 55 52 20   
  C269 44 45 4D 41   
  C26D 52 52 45 52   
  C271 20 4C         
  C273 27                    FCB    $27
  C274 48 4F 52 4C           FCC    'HORLOGE '
  C278 4F 47 45 20   
  C27C 04                    FCB    $04
                             END    CMDADR

0 ERROR(S) DETECTED

SYMBOL TABLE:

CMDADR C100   DAY    C1F9   GETCHR CD15   HOR10S F641   HORLO  F640   
HORMA  F64E   HORTDA F649   HORTHO F647   HORTMI F645   HORTMO F64C   
HORTSE F643   HORUDA F648   HORUHO F646   HORUMI F644   HORUMO F64B   
HORUSE F642   HORWDA F64A   HORYRS F64D   HOURS  C1EA   JUMP1  C1C3   
LC279  C279   LC27B  C27B   LC27C  C27C   LC288  C288   LC2A6  C2A6   
LC2B5  C2B5   LC2B7  C2B7   LOOP1  C18F   LOOP2  C1AA   LOOP3  C1B5   
M1STCH C103   M2NDCH C104   MINUTS C1DB   MONTH  C235   PSTRNG CD1E   
RESTAR C255   RETURN C1DA   START  C10C   STRING C106   SUBR1  C1A7   
WARMS  CD03   WEEKDA C209   YEAR   C245   




