Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <DOS.H>
- #include <conio.h>
- #include <stdio.h>
- #include <emurtk.h>
- #include <time.h>
- unsigned char SNS0, SNS1, SNS2;
- int SN[18], SNB[18], a, d, z = 0, x = 0, y = 0;
- char DRV[3];
- unsigned char inputD()
- {
- unsigned char data = 0;
- outportb(0x37A, 0x2E);
- outportb(0x378, 0xFF);
- outportb(0x37A, 0x2F);
- delay(1);
- data = inportb(0x378);
- outportb(0x37A, 0x04);
- return data;
- }
- void writeRC(char data)
- {
- outportb(0x37A, 0x04);
- outportb(0x378, data);
- outportb(0x37A, 0x00);
- delay(1);
- outportb(0x37A, 0x04);
- }
- void writeRA(char data)
- {
- outportb(0x37A, 0x0E);
- outportb(0x378, data);
- outportb(0x37A, 0x0A);
- delay(1);
- outportb(0x37A, 0x0E);
- }
- void RS()
- {
- writeRC(0x13);
- SNS0 = inputD();
- SNS1 = inputD();
- SNS2 = inputD();
- int SNS[3] = { SNS0 ,SNS1 ,SNS2 };
- int u = 0, i, j;
- for (i = 0; i<3; i++) {
- for (j = 0; j<6; j++) {
- SN[u] = (SNS[i] + 1) % 2;
- SNS[i] /= 2;
- u++;
- }
- }
- }
- void Doit(char DRV)
- {
- writeRC(0x11);
- writeRA(0x80);
- writeRA(DRV);
- }
- void Stop()
- {
- writeRC(0x11);
- writeRA(0x00);
- writeRA(0x00);
- }
- void calibration()
- {
- while (!kbhit()) {
- if ((SN[0] != 1) && (SN[3] != 1) && (SN[6] != 1)) {
- Doit(0x15);
- }if ((SN[0] != 0) && (SN[3] != 1) && (SN[6] != 1)) {
- Doit(0x14);
- }if ((SN[0] != 1) && (SN[3] != 0) && (SN[6] != 1)) {
- Doit(0x11);
- }if ((SN[0] != 1) && (SN[3] != 1) && (SN[6] != 0)) {
- Doit(0x05);
- }if ((SN[0] != 0) && (SN[3] != 0) && (SN[6] != 1)) {
- Doit(0x10);
- }if ((SN[0] != 0) && (SN[3] != 1) && (SN[6] != 0)) {
- Doit(0x04);
- }if ((SN[0] != 0) && (SN[3] != 1) && (SN[6] != 0)) {
- Doit(0x01);
- }
- }
- }
- int main()
- {
- RS();
- printf("na4alo");
- calibration();
- printf("\nSN[0]=%d, SN[3]=%d, SN[6]=%d\n", SN[0], SN[3], SN[6]);
- printf("vipolneno");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement