Changeset 6


Ignore:
Timestamp:
Jul 25, 2009, 12:18:16 AM (10 years ago)
Author:
brandonlw
Message:

Use our interrupt equates

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/includes/os2.inc

    r5 r6  
    28312831 
    28322832;====================================================================== 
    2833 ;           I/O equates                                                           
    2834 ;====================================================================== 
    2835 ; 
    2836 D0D1_bits       EQU  03h 
    2837 D0LD1L          EQU  03h 
    2838 D0LD1H          EQU  01h 
    2839 D0HD1L          EQU  02h 
    2840 D0HD1H          EQU  00h 
    2841 bport           EQU  0                  ; 4-BIT LINK PORT (I/O)  
     2833; I/O Equates                                                           
     2834;====================================================================== 
     2835bport                EQU    0      ;4-BIT LINK PORT (I/O) (or so TI says) 
     2836D0D1_bits            EQU    03h 
     2837D0LD1L               EQU    03h 
     2838D0LD1H               EQU    01h 
     2839D0HD1L               EQU    02h 
     2840D0HD1H               EQU    00h 
     2841usbStatusPort        EQU    55h 
     2842usbEventPort         EQU    56h 
    28422843 
    28432844;====================================================================== 
    28442845; Interrupt Equates 
    28452846;====================================================================== 
    2846 intrptEnPort         EQU    3         ;interrupt enable (in/out) 
     2847interruptEnPort      EQU    3             ;interrupt enable 
    28472848iNormal              EQU    1011b 
    28482849INTERRUPT_MASK_ON    EQU    00000001b 
     
    28512852INTERRUPT_MASK_POWER EQU    00001000b 
    28522853INTERRUPT_MASK_LINK  EQU    00010000b 
    2853  
    2854 ;====================================================================== 
    2855 ;       Memory paging equates 
    2856 ;====================================================================== 
    2857 ; 
    2858 memPageAPort    equ 6 ; memory page A (in/out) 
    2859 ; 
     2854interruptStatusPort  EQU    4             ;interrupt status 
     2855INT_TRIGGER_ON       EQU    0 
     2856INT_TRIGGER_HW1      EQU    1 
     2857INT_TRIGGER_HW2      EQU    2 
     2858INT_STATUS_ON        EQU    3 
     2859INT_TRIGGER_LINK     EQU    4 
     2860INT_TRIGGER_TIMER1   EQU    5 
     2861INT_TRIGGER_TIMER2   EQU    6 
     2862INT_TRIGGER_TIMER3   EQU    7 
     2863 
     2864;====================================================================== 
     2865; Memory Paging Equates 
     2866;====================================================================== 
     2867memModePort          EQU    4 
     2868memPageAPort         EQU    6 ;bank 1 
     2869memPageBPort         EQU    7 ;bank 2 
     2870memPageCPort         EQU    5 ;bank 3 
     2871 
    28602872;====================================================================== 
    28612873;       LCD Driver equates 
  • trunk/page00/boot.asm

    r5 r6  
    7373;003Ah: 
    7474resumeInterruptHandler: 
    75        in a,(4) 
    76        bit 7,a 
     75       in a,(interruptStatusPort) 
     76       bit INT_TRIGGER_TIMER1,a 
     77       jp nz,firstCrystalTimerExpired 
     78       bit INT_TRIGGER_TIMER2,a 
     79       jp nz,secondCrystalTimerExpired 
     80       bit INT_TRIGGER_TIMER3,a 
    7781       jp nz,thirdCrystalTimerExpired 
    78        bit 5,a 
    79        jp nz,firstCrystalTimerExpired 
    80        bit 6,a 
    81        jp nz,secondCrystalTimerExpired 
    8282       jp continueInterruptHandler 
    8383;004Eh: 
     
    113113       ret 
    114114;0075h: 
     115;This is used as the hard-coded return point for BCALL/BJUMP routines. 
    115116       ex (sp),hl 
    116117       push af 
     
    125126       ex af,af' 
    126127       exx 
    127        in a,(55h) 
     128       in a,(usbStatusPort) 
    128129       xor 0FFh 
    129130       and 1Fh 
     
    131132       ;TODO: Do USB stuff 
    132133continueInterruptHandler: 
    133        bit 2,a 
     134       bit INT_TRIGGER_HW2,a 
    134135       jr nz,secondHardwareTimerTriggered 
    135        bit 4,a 
     136       bit INT_TRIGGER_LINK,a 
    136137       jr nz,linkActivityDetected 
    137138       rra 
     
    142143interruptReturnA: 
    143144       push af 
    144        ld a,8 
    145        out (3),a 
    146        pop af 
    147        out (3),a 
     145       ld a,INTERRUPT_MASK_POWER   ;keep calculator powered at least 
     146       out (interruptEnPort),a 
     147       pop af 
     148       out (interruptEnPort),a 
    148149interruptReturnStandard: 
    149        ld a,0Bh 
     150       ld a,iNormal 
    150151       bit 0,(iy+16h) 
    151152       jr z,interruptDirectReturnA 
    152153interruptReturnEnableTimer2: 
    153        add a,4 
     154       or INTERRUPT_MASK_HW2       ;enable hardware timer 2 
    154155interruptDirectReturnA: 
    155        out (3),a 
     156       out (interruptEnPort),a 
    156157       ex af,af' 
    157158       exx 
    158159       ei 
    159160       reti 
     161 
    160162firstCrystalTimerExpired: 
    161163secondCrystalTimerExpired: 
Note: See TracChangeset for help on using the changeset viewer.