36 lines
		
	
	
		
			850 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			850 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
 | 
						|
def scope():
 | 
						|
 | 
						|
    def code1():
 | 
						|
        nohop()
 | 
						|
        label('mscp_onload')
 | 
						|
        # copy 0xc000-0xffff into bank 3
 | 
						|
        PUSH()
 | 
						|
        LDWI('SYS_LSRW2_52');STW('sysFn')
 | 
						|
        LDI(0);STW(R8)
 | 
						|
        LDWI('ctrlBits_v5');PEEK();SYS(52);ANDI(0x30);ORI(0xc0);ST(R8+1)
 | 
						|
        LDWI('SYS_CopyMemoryExt_v6_100');STW('sysFn')
 | 
						|
        LDWI(0xc000);STW(R9)
 | 
						|
        label('.loop')
 | 
						|
        STW('sysArgs0');STW('sysArgs2')
 | 
						|
        LDW(R8);SYS(100)
 | 
						|
        INC(R9+1);LDW(R9)
 | 
						|
        BNE('.loop')
 | 
						|
        # set prebooksize
 | 
						|
        LDWI('prebooksize');STW(T2)
 | 
						|
        LDWI(0xbffe);DEEK();DOKE(T2)
 | 
						|
        POP()
 | 
						|
        RET()
 | 
						|
 | 
						|
    module(name='onload.s',
 | 
						|
       code=[ ('EXPORT', 'mscp_onload'),
 | 
						|
              ('IMPORT', 'prebooksize'),
 | 
						|
              ('CODE', 'mscp_onload', code1) ] )
 | 
						|
 | 
						|
scope()
 | 
						|
 | 
						|
# Local Variables:
 | 
						|
# mode: python
 | 
						|
# indent-tabs-mode: ()
 | 
						|
# End:
 |