#inc ;############################################################################################ ;# ;# ;############################################################################################ ; the address in GIO for storing the output data ; #def LHL = 1 #def delay = 5 #def delay2= 0xfff #def PRTON = 0xF0E2 ;#def PRTON = 0x10E2 #def INPORT = NP3 ORG 0 ; start of the IRQ tst procedure tst: nop ; clear the NI mov b010011 r0; jmpr cc_busy 0 ; sgio r0 NMOD nop nop ; release clear, set in network mode mov b011011 r0; jmpr cc_busy 0 sgio r0 NMOD nop nop nop nop mov 0, r15 mov c12, r5 sra+ r5 mov c12, r5 mov c12, r5 sra+ r5 add r5, c1, r8 sra+ r8 mov c15, r1 sra+ r1 #ifdef HZH mov 5, r2 sgio r2, INPORT iext PRTON mov PRTON, r5 mov 0xe2, r4 spack: sgio r4, SMMODE mov delay, r13 sub r13, c1, r13 jmpr cc_nzero, -1 sgio r5, SMMODE mov delay2, r13 shl 8, r13, r13 sub r13, c1, r13 jmpr cc_nzero, -1 sub r1, c1, r1 jmp cc_nzero, spack #endif #ifdef LZL mov 4, r2 sgio r2, INPORT iext PRTON mov PRTON, r5 mov 0xe2, r4 spack: sgio r4, SMMODE mov delay, r13 sub r13, c1, r13 jmpr cc_nzero, -1 sgio r5, SMMODE mov delay2, r13 shl 2, r13, r13 sub r13, c1, r13 jmpr cc_nzero, -1 sub r1, c1, r1 jmp cc_nzero, spack #endif #ifdef LHL iext PRTON mov PRTON, r4 sgio r4, SMMODE mov 1, r2 mov 0, r3 spack: sgio r2, INPORT mov delay, r13 sub r13, c1, r13 jmpr cc_nzero, -1 sgio r3, INPORT mov delay2, r13 sub r13, c1, r13 jmpr cc_nzero, -1 sub r1, c1, r1 jmp cc_nzero, spack #endif #ifdef HLH iext PRTON mov PRTON, r4 sgio r4, SMMODE mov 4, r2 mov 5, r3 spack: sgio r2, INPORT mov delay, r13 sub r13, c1, r13 jmpr cc_nzero, -1 sgio r3, INPORT mov delay2, r13 sub r13, c1, r13 jmpr cc_nzero, -1 sub r1, c1, r1 jmp cc_nzero, spack #endif ; inc the counter jmpr cc_busy, 0 nop sgio r8, 0x0C04 sra+ r8 ; switch to low power mode jmpr cc_busy 0 mov 0x12 r0 sgio r0 SMCMD jmpr cc_busy 0 ; loop nop nop nop nop nop mov 0, r8 sra+ r8 lploop: add r8, c1, r8 sra r8, r15 jmp cc_uncond, lploop jmpr cc_uncond, 0