📄 mmu.c
字号:
/*
xByte AuxRam[512] _at_ 0;
xByte MmcBuffer[512] _at_ 0x200;
void SectorBufferToAuxRam512 (void)
{
Word i,addr;
addr = 511;
for (i=0 ; i<512 ; i++)
{
MMU_AddrHigh = addr / 256;
MMU_51Addr = addr % 256;
AuxRam[i] = MMU_Data;
addr--;
}
}
*/
//void LCD_Clear();
//void PrintBHEX(Byte);
void MMU_Pointer_Set(Word pointer)
{
MMU_AddrHigh = (pointer/256 == 0)? 0: 0x41;
MMU_51Addr = pointer;
MMU_CardAddr = pointer;
/*
LCD_Clear();
PrintBHEX(MMU_AddrHigh);
PrintBHEX(MMU_51Addr);
Delay(50000);
*/
}
//static Byte Read_MMU(Word pointer)
Byte Read_MMU(Word pointer)
{
MMU_Pointer_Set(511-pointer);
return MMU_Data;
}
void Write_MMU(Word pointer, Byte x)
{
MMU_Pointer_Set(511-pointer);
MMU_Data = x;
}
void Write_MMU_Word(Word pointer, Word x)
{
MMU_Pointer_Set(511-pointer);
MMU_Data = x;
MMU_Pointer_Set(511-pointer-1);
MMU_Data = x/256;
}
Word MMU_Byte2Word(Word x)
{
return(Read_MMU(x+1)*0x100 + Read_MMU(x));
}
Dword MMU_Byte2Dword(Word x)
{
return(Read_MMU(x+3)*0x1000000
+ Read_MMU(x+2)*0x10000
+ Read_MMU(x+1)*0x100
+ Read_MMU(x));
}
void Clear_MMU()
{
Word i;
for( i=0 ; i<512 ; i++)
{
Write_MMU(i, 0xff);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -