flat assembler
Message board for the users of flat assembler.

Index > OS Construction > .

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
dasyar



Joined: 27 Feb 2005
Posts: 33
dasyar 07 Oct 2007, 14:12
"The most important BIOS functions are accessible through a protected mode interface which I believe is more efficient than a general interface like aeBIOS, ..."

For a begginer, where do I find this library of function calls? Does this library also contain keyboard, disk, memory, ..., etc, calls?

I think that aeBIOS could be an attempt to soften the shock of trying to program in PM. There are plenty of people, including myself, that made an attemp to develop a PM OS, and became very very discouraged when you have to start creating your own drivers. Yes, you want to place a character, or move the cursor, these are very complex tasks, just for starters, let alone trying to access a disk drive. The aeBIOS would reduce the difficulty somewhat, only because there are plenty of examples in 16 bit world. Granted aeBIOS does not have character control access at the moment, but I think that will probably change.

I do aggree with your initial point of having control of all of your code, that way you know exactly what you are dealing with, when you become an expert programmer, that is the goal that has been aspired too.
Post 07 Oct 2007, 14:12
View user's profile Send private message Reply with quote
mikegonta



Joined: 20 Nov 2005
Posts: 99
mikegonta 07 Oct 2007, 15:18
[ Post removed by author. ]


Last edited by mikegonta on 27 Jan 2009, 22:10; edited 2 times in total
Post 07 Oct 2007, 15:18
View user's profile Send private message Reply with quote
dasyar



Joined: 27 Feb 2005
Posts: 33
dasyar 07 Oct 2007, 22:40
I have been running some test code, like keyboard access, and increasing the size of the start file to 1003 KB. The keyboard access works fine, gets the key pressed, displays it, and does a CR when the ENTER key is used. As for the 1.3M start file, it loads and runs as expected. So far no problems have been encoumtered.

The next thing I want to do is write some code for disk access. Now, I was thinking since that code already exits in aeBIOS, can it be used via some sort of function call? Maybe something like "loadfile 'XXXXXX.XXX', 'memory location'. So the command 'loadfile' would load it to a specified memory location and run it. This way we could avoid basically code duplication by using stuff that already has been coded.

The other topic is multitasking, any ideas as to how to do this using your aeBIOS? That would probably be the next thing I would want to try once I can get a file loaded and having it run.
Post 07 Oct 2007, 22:40
View user's profile Send private message Reply with quote
mikegonta



Joined: 20 Nov 2005
Posts: 99
mikegonta 27 Oct 2007, 22:42
[ Post removed by author. ]


Last edited by mikegonta on 27 Jan 2009, 22:10; edited 2 times in total
Post 27 Oct 2007, 22:42
View user's profile Send private message Reply with quote
dasyar



Joined: 27 Feb 2005
Posts: 33
dasyar 05 Nov 2007, 14:37
Mike,
In your latest distro of aeBIOS, you have a program called info which gives the correct value for low mem, int 12. I tried using int 88h, high mem, but all I get is the same value as the low mem. So, I guess the question is, do you have a functional translation of int 88h. Or, do you have another way of getting the high memory value.

So far the aeBIOS looks good. One of the things I am tryng to do is develop a diagnostic program, which would give information about the computer, like how much total memory is available, what kind of disks are attached, and how many com ports are available, for starters.

Thanks
Post 05 Nov 2007, 14:37
View user's profile Send private message Reply with quote
dasyar



Joined: 27 Feb 2005
Posts: 33
dasyar 05 Nov 2007, 15:53
Now that learned how to read, it is int 15h function 88h to get extended memory size. I am testing on a machine that has 512MB of memory, when I use the int 15h function 88h, I get 65532 kilobytes. Using the BIOS method I am not getting the full 512MB number. Does anybody have some example code that gets the full memory size available on these new machines?

Thanks
Post 05 Nov 2007, 15:53
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 06 Nov 2007, 16:27
Try this from DexOS
Code:
 ;----------------------------------------------------; ; Get Ram Size.                                      ; ;----------------------------------------------------;GetRamSize:     mov   ax,0xe801       int   15h     jc    @f      movzx ebx, bx shl   ebx,6   movzx eax, ax add   ebx,eax mov   [ExtMemorySize],ebx     call  TotalRam@@:       ret ;----------------------------------------------------; ; TotalRam.                                          ; ;----------------------------------------------------;TotalRam:       shr   ebx,10  inc   ebx     test  ebx,1   jnz   @f      mov   [TotalMemoryMB],ebx     ret@@:    inc   ebx     mov   [TotalMemoryMB],ebx     ret    
Post 06 Nov 2007, 16:27
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.