flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2, 3, 4 Next |
Author |
|
Tyler 09 May 2010, 22:36
It's okay, me too.
|
|||
![]() |
|
adroit 10 May 2010, 02:20
I wonder!
|
|||
![]() |
|
Tyler 10 May 2010, 02:49
You wonder what?!
|
|||
![]() |
|
roboman 26 May 2010, 18:27
Protected mode is a bit complex to setup and then to access some of the hardware you will likely find it easer to drop to real mode set the hardware then go back to protected mode, another pain. If you go with real mode then you are stuck dealing with segments, another real pain. If you go with real mode, and only use the first 64k, life is simple. You are turning your pc into a very small computer, but what the heck, the first home desktops could only hold 64k and a lot of programming/ learning happened there. That's the option MikeOS took.
|
|||
![]() |
|
revolution 27 May 2010, 06:20
MeshNix wrote: Which option should I make. |
|||
![]() |
|
baldr 27 May 2010, 07:34
revolution,
Probably not purpose first (it's too generic), I think feature list is more important. Single task or multi-task. Single thread or multithreaded. Cooperative or preemptive. Shared memory or isolated tasks. Memory model. Paged memory. I/O model. ----8<---- MeshNix, OS provides an abstraction for underlying hardware. Prepare design documents for your abstraction, then implementation considerations come naturally. |
|||
![]() |
|
revolution 27 May 2010, 08:22
baldr
Definitely purpose first. How do you know if you want single or multi tasking without knowing what you want/need to achieve? "The purpose of my OS is to ..." ... run my light controller application? ... make my computer run as a standalone browser? ... play tic-tac-toe? ... run concurrent DOS applications? ... run everything ever written for a computer? ... be all-singing all-dancing all-bells all-whistles got-it-all ... and bloated? ... look pretty? ... overtake Windows and make me richer than god? ... overtake Linux and make me poorer than dog poo? ... make me famous? ... impress my girlfriend/boyfriend/spouse/parents/teacher/boss/self? ... turn my computer into a doorstop? ... generally waste time and perhaps learn a few things along the way? ... other? |
|||
![]() |
|
baldr 27 May 2010, 09:45
revolution,
How do any of these influence OS design? ![]() Design, OTOH, makes difference for most of them. Will my light controller application be polling or interrupt-driven? Can my browser dedicate separate thread to GIF animation? How my concurrent DOS applications will share resources, e.g. soundcard? |
|||
![]() |
|
revolution 27 May 2010, 09:51
baldr
They all influence the OS design. Does tic-tac-toe need multi-threading? Does a browser need more than 64k memory? Does overtaking Windows require kernel-driver separation? Does running concurrent DOS apps mean I can't use 64bit? etc. |
|||
![]() |
|
edfed 27 May 2010, 10:25
i want an audiOS.
somethnig to compose and play music, with cool graphix. means that it needs multithreading, dma control, graphic driver, file system, protected mode capabilities, dsp algorithms... and internet connexion, for audio streaming servicing, a little server, some html capabilities, and irc/jabber protocol support just to catch girls on chats. ![]() i need 3D and 2D graphix, with ray tracing. i need coffee, and some forbidden plants from morocco or holland... a good name for an os would NOS (Not Operating System). then, maybe a challenge would be, make a NOS in less than 0 bytes. ![]() |
|||
![]() |
|
adroit 27 May 2010, 19:20
I see that the purpose is required before design is considered. The purpose of my OS is to run applications from my own software design (not PE, COM, or MZ), and have some graphics.
Protected mode is the way to go but, Windows 1.0 ran in real mode, and it had GUI. But is was 16-bit, which meant it was limited to 256-colors. In PM we can use VESA, which means you can have lots of pixels. revolution is logically right. Before we can design, we must know what we want. Would you design a building, without knowing its purpose? I wouldn't |
|||
![]() |
|
baldr 27 May 2010, 20:00
MeshNix wrote: Windows 1.0 ran in real mode, and it had GUI. But is was 16-bit, which meant it was limited to 256-colors. In PM we can use VESA, which means you can have lots of pixels. Design vs. purpose looks like chicken-and-egg dilemma: OS doesn't have purpose itself, applications do. To use your building analogy, OS is the basement and communications: they can look different for different types of buildings, but the principles generally are the same. In the same way, range of constructions that can be reliably and easily built on top of particular basement doesn't seem to be wide. |
|||
![]() |
|
revolution 27 May 2010, 23:28
baldr wrote: Design vs. purpose looks like chicken-and-egg dilemma: OS doesn't have purpose itself, ... baldr wrote: ... applications do. To use your building analogy, OS is the basement and communications: they can look different for different types of buildings, but the principles generally are the same. In the same way, range of constructions that can be reliably and easily built on top of particular basement doesn't seem to be wide. |
|||
![]() |
|
adroit 27 May 2010, 23:57
(Sorry if I am constantly asking questions)
It may not apply but it draws the same principle where a purpose must be defined before any further implementations must be done. ----------- I have chosen RM to run for my first version (for its simplicity), then I can develop a more complex system. But could someone suggest which mode is best. ----------- If I am running on an 80386, then BIOS starts in V86 mode, instead of Real mode, right? Then do I have to enter real mode, or is V86 mode compatible to automatically enter RM when necessary? I would really like to have a successful OS, but I don;t know how to actually have a full progressive development. |
|||
![]() |
|
baldr 28 May 2010, 01:04
revolution wrote: It provides a framework for the apps. That is it's purpose. Do we have any real OS built for apparent purpose? I think, 80% of applications use only 20% of API any OS provides. Anyway, this becomes too scholastic (and off-topic?). ----8<---- MeshNix wrote: If I am running on an 80386, then BIOS starts in V86 mode, instead of Real mode, right? Then do I have to enter real mode, or is V86 mode compatible to automatically enter RM when necessary? |
|||
![]() |
|
revolution 28 May 2010, 03:28
MeshNix wrote: But could someone suggest which mode is best. roboman already described some of the differences to you. http://board.flatassembler.net/topic.php?p=114913#114913 |
|||
![]() |
|
cod3b453 29 May 2010, 10:03
Personally, I have a little necessary 16 bit code (A20, BIOS mem-map, VESA setup and disk copy) before switching to 32bit protected mode. From here onwards I have a graphical interface and all the memory I need to access and so I would recommend anyone to aim for this.
As others have said, the rest is based on your goals and how you want things to work. Aspects such as paging, 64 bit code, task switching and API calls may all influence your decisions. |
|||
![]() |
|
adroit 30 May 2010, 18:03
It may be a little difficult as I am only a beginner. I guess it's all on me to develop the functionalities.
------------- Back to business An OS uses drivers to interface with devices. I would like to know how to code a keyboard driver. One thing I've got is the I/O ports is 60h and the status port is 64h. I've got the basics. ?How do I convert scan codes to ASCII? Code: ... KbdHndler in al,60h ;what else do I do? ;how do I convert the scan codes? mov al,20h out 20h,al iret ... |
|||
![]() |
|
baldr 30 May 2010, 18:41
MeshNix,
xlat+tables; several cmps and subtables for ranges. Are you done with IRQ setup already? Probably polling keyboard instead could be easier. |
|||
![]() |
|
Goto page Previous 1, 2, 3, 4 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.