📄 buf_man.c
字号:
#define ram_size 4096
#include "hc_comm.h"
#include "hw_acces.h"
void read_atl(unsigned int *a_ptr, unsigned int data_size)
{
int cnt;
write_register16(Com16_HcTransferCounter,data_size*2);
outport(g_1161_command_address,Com16_HcATLBufferPort);
cnt=0;
do
{
*(a_ptr+cnt)=inport(g_1161_data_address);
cnt++;
}
while(cnt<(data_size));
}
void erase_all(void)
{
int cnt;
write_register16(Com16_HcTransferCounter,ram_size);
outport(g_1161_command_address,Com16_HcATLBufferPort|0x80);
cnt=0;
do
{
outport(g_1161_data_address,0x0000);
cnt++;
}
while(cnt<(ram_size/2));
}
void erase_itl(void)
{
int cnt;
write_register16(Com16_HcTransferCounter,ram_size);
outport(g_1161_command_address,Com16_HcITLBufferPort|0x80);
cnt=0;
do
{
outport(g_1161_data_address,0x0000);
cnt++;
}
while(cnt<(ram_size/2));
}
void write_atl(unsigned int *a_ptr, unsigned int data_size)
{
int cnt;
write_register16(Com16_HcTransferCounter,data_size*2);
outport(g_1161_command_address,Com16_HcATLBufferPort|0x80);
cnt=0;
do
{
outport(g_1161_data_address,*(a_ptr+cnt));
cnt++;
}
while(cnt<(data_size));
}
void read_itl(unsigned int *a_ptr, unsigned int data_size)
{
int cnt;
write_register16(Com16_HcTransferCounter,data_size*2);
outport(g_1161_command_address,Com16_HcITLBufferPort);
cnt=0;
do
{
*(a_ptr+cnt)=inport(g_1161_data_address);
cnt++;
}
while(cnt<(data_size));
}
void write_itl(unsigned int *a_ptr, unsigned int data_size)
{
int cnt;
write_register16(Com16_HcTransferCounter,data_size*2);
outport(g_1161_command_address,Com16_HcITLBufferPort|0x80);
cnt=0;
do
{
outport(g_1161_data_address,*(a_ptr+cnt));
cnt++;
}
while(cnt<(data_size));
}
void see_buf(void)
{
unsigned int word_cnt,test_target;
unsigned int test_size,test_word;
unsigned int buf_image[ram_size/2];
unsigned int *ptr;
clrscr();
test_size=ram_size/2;
ptr=buf_image;
read_atl(ptr,ram_size/2);
gotoxy(1,2);
word_cnt=0;
do
{
test_word=buf_image[word_cnt];
word_cnt++;
printf("%04X ",test_word);
if(word_cnt%256==0)
{
printf("\n Memory Map Page %4X",word_cnt>>8);
printf("\n From Address %06X to %06X",(word_cnt<<1)-512,word_cnt<<1);
printf("\n From Address %06d to %06d",(word_cnt<<1)-512,word_cnt<<1);
read_key(1);
gotoxy(1,2);
}
}
while(word_cnt<test_size);
if(word_cnt<256) {read_key(1); }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -