From d8e97c9bdd1e1e67f13f289daa780755ad4d307c Mon Sep 17 00:00:00 2001 From: Robin Krens Date: Sat, 11 Jun 2022 22:02:44 +0200 Subject: [PATCH] main: inport calls --- src/main.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index bd4a86b..6558f99 100644 --- a/src/main.c +++ b/src/main.c @@ -45,6 +45,20 @@ void outport(unsigned char portnr, unsigned char val) :); } +unsigned char inport(unsigned char portnr) +{ + unsigned char val; + __asm__( + "mov %1, %%dl\n\t" + "in (%%dx), %%al\n\t" + "mov %%al, %0" + : "=r"(val) + : "r"(portnr) + :); + + return val; +} + __attribute__ ((naked)) void * dummy_isr(void) { int a = 2; @@ -70,13 +84,17 @@ void init_video(void) int main(void) { - lol[0] = 0xDD; - lol[1] = 0xDD; + outport(0x15, 0x99); + unsigned char ret = inport(0x15); + + lol[0] = 0xAA; + lol[1] = ret; blaat[0] = 0xEE; blaat[1] = 0xEE; blaat[32] = 0xEE; + setup_ivec(); init_video(); outport(IO_VIDEO_MODE, VMODE_16C_CHK | VMODE_CLEANINIT); -- 2.7.4