|
|
| version 1.1, 2003/12/19 00:25:49 | version 1.3, 2003/12/20 10:27:55 |
|---|---|
| Line 1 | Line 1 |
| ; PI_levels equ 0 | ; ---- cgwindow |
| ; PI_level equ 4 | |
| ; PI_levelsbak equ 12 | |
| ; PI_levelbak equ 16 | |
| ; PI_pry equ 24 | |
| ; PI_icw equ 32 | |
| PI_IMR equ 36 | |
| ; PI_ocw3 equ 37 | |
| ; PI_irr equ 38 | |
| ; PI_ext equ 39 | |
| ; PI_isr equ 40 | |
| ; PI_isrbak equ 41 | |
| ; PI_writeicw equ 42 | |
| ; PI_padding equ 43 | |
| PI_SIZE equ 44 | |
| PIC_MASTER equ 0 | IMPORT cgwindow |
| PIC_SLAVE equ PI_SIZE | |
| PIC_EXTIRQ equ (PI_SIZE * 2) | CGW_LOW equ 0 |
| CGW_HIGH equ 4 | |
| CGW_WRITABLE equ 8 | |
| ; ---- dmac | |
| IMPORT dmac | |
| ; DMACH_adrs equ 0 | ; DMACH_adrs equ 0 |
| ; DMACH_leng equ 4 | ; DMACH_leng equ 4 |
| ; DMACH_adrsorg equ 6 | ; DMACH_adrsorg equ 6 |
| Line 42 DMAC_WORKING equ (DMACH_SIZE * 4) + 8 | Line 34 DMAC_WORKING equ (DMACH_SIZE * 4) + 8 |
| ; DMA_stat equ (DMACH_SIZE * 4) + 13 | ; DMA_stat equ (DMACH_SIZE * 4) + 13 |
| ; ---- emm | |
| IMPORT extmem | |
| ; em_maxmem equ 0 | |
| EM_PAGEPTR equ 4 | |
| ; em_target equ 20 | |
| ; em_page equ 24 | |
| ; ---- gdc | |
| IMPORT gdcs | |
| ; gdcs_access equ 0 | |
| ; gdcs_disp equ 1 | |
| GDCS_TEXTDISP equ 2 | |
| GDCS_MSWACC equ 3 | |
| GDCS_GRPHDISP equ 4 | |
| ; gdcs_palchange equ 5 | |
| ; gdcs_mode2 equ 6 | |
| ; ---- grcg | |
| IMPORT grcg | |
| ; grcg_counter equ 0 | |
| ; grcg_mode equ 4 | |
| GRCG_MODEREG equ 6 | |
| GRCG_TILE equ 8 | |
| ; grcg_gdcwithgrcg equ 16 | |
| ; grcg_chip equ 20 | |
| ; ---- pic | |
| IMPORT pic | |
| IMPORT extirq_pop | |
| ; PI_levels equ 0 | |
| ; PI_level equ 4 | |
| ; PI_levelsbak equ 12 | |
| ; PI_levelbak equ 16 | |
| ; PI_pry equ 24 | |
| ; PI_icw equ 32 | |
| PI_IMR equ 36 | |
| ; PI_ocw3 equ 37 | |
| ; PI_irr equ 38 | |
| ; PI_ext equ 39 | |
| ; PI_isr equ 40 | |
| ; PI_isrbak equ 41 | |
| ; PI_writeicw equ 42 | |
| ; PI_padding equ 43 | |
| PI_SIZE equ 44 | |
| PIC_MASTER equ 0 | |
| PIC_SLAVE equ PI_SIZE | |
| PIC_EXTIRQ equ (PI_SIZE * 2) | |
| MACRO | |
| $label NOINTREXIT | |
| $label tst r8, #I_FLAG | |
| moveq pc, r11 | |
| ldrb r1, [r0, #PIC_EXTIRQ] | |
| ldr r2, [r0, #(PIC_MASTER + PI_IMR)] | |
| mov r12, #(&ff << 24) | |
| cmp r1, #0 | |
| movne pc, r11 | |
| ldr r3, [r0, #(PIC_SLAVE + PI_IMR)] | |
| eor r0, r12, r2 lsl #24 | |
| tst r0, r2 lsl #8 | |
| eoreq r0, r12, r3 lsl #24 | |
| tsteq r0, r3 lsl #8 | |
| moveq pc, r11 | |
| MEND | |
| MACRO | MACRO |
| $label PICEXISTINTR | $label PICEXISTINTR $noirq |
| mov r12, #(&ff << 24) | $label ldrb r1, [r0, #PIC_EXTIRQ] |
| ldrb r1, [r0, #PIC_EXTIRQ] | ldr r2, [r0, #(PIC_MASTER + PI_IMR)] |
| ldr r2, [r0, #(PIC_MASTER + PI_IMR)] | mov r12, #(&ff << 24) |
| ldr r3, [r0, #(PIC_SLAVE + PI_IMR)] | cmp r1, #0 |
| cmp r1, #0 | bne $noirq |
| eoreq r0, r12, r2 lsl #24 | ldr r3, [r0, #(PIC_SLAVE + PI_IMR)] |
| tsteq r0, r2 lsl #8 | eor r0, r12, r2 lsl #24 |
| eoreq r0, r12, r3 lsl #24 | tst r0, r2 lsl #8 |
| tsteq r0, r3 lsl #8 | eoreq r0, r12, r3 lsl #24 |
| tsteq r0, r3 lsl #8 | |
| MEND | MEND |
| END | END |