From 5b7ee6f1ad0d5a3870c45d1c1454ce281fa107ef Mon Sep 17 00:00:00 2001 From: Jonathan Turner Date: Thu, 14 Sep 2023 14:25:40 -0400 Subject: [PATCH] Completed Part2: 02_driver. --- Part2/.DS_Store | Bin 8196 -> 8196 bytes Part2/A4/.DS_Store | Bin 8196 -> 8196 bytes Part2/A4/02_driver/kernel/kernel.c | 8 ++++++++ 3 files changed, 8 insertions(+) diff --git a/Part2/.DS_Store b/Part2/.DS_Store index 9863d6d182d5c3e27e1754ce2ad634220122d3e2..54fa1b0e9b44988abf11fc2810c508d91e7e596e 100644 GIT binary patch delta 16 XcmZp1XmQxES77paL5IzM1=#rkJmCh9 delta 18 ZcmZp1XmQxESAfxQ@&!Tr&3^^h`2j@a2EhOT diff --git a/Part2/A4/.DS_Store b/Part2/A4/.DS_Store index b903815059af6224b63c968fdc6a826d3a5a8d54..88e3de3ac265898c8184dc1fea7eec5bc3930fa3 100644 GIT binary patch delta 16 XcmZp1XmQx^MR4*YVTa8oLKk=eJKzS4 delta 16 XcmZp1XmQx^MR4*C5r@qtLKk=eJr@SE diff --git a/Part2/A4/02_driver/kernel/kernel.c b/Part2/A4/02_driver/kernel/kernel.c index fc85bf5..b84dc96 100755 --- a/Part2/A4/02_driver/kernel/kernel.c +++ b/Part2/A4/02_driver/kernel/kernel.c @@ -9,6 +9,14 @@ void _start() { position = position << 8; /* high byte */ port_byte_out(0x3d4, 15); /* requesting low byte */ + + /* + Explaination: + Since the VGA output on the kernal has a set number of + positions per row. That number is 80. So by entering 80, + it goes to the first position on the second row. + Thus putting 250 is 80+80+80 (3rd row) + 10 columns over. + */ position += port_byte_in(0x3d5) + 250; /* VGA 'cells' consist of the character and its control data