flat assembler
Message board for the users of flat assembler.

Index > OS Construction > FASM Challenge - For all users

Goto page Previous  1, 2, 3, 4, 5 ... 13, 14, 15  Next
Author
Thread Post new topic Reply to topic
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias 25 Jan 2008, 03:45
Dex4u wrote:
...What do you mean contest begins ?, is this a project or contest...
It is a project, not a contest. However, the thread commenced as a contest, so some participants still refer to it that way...there is NO PRIZE, it is just hard work, without remuneration (plus the satisfaction of knowing that something useful was accomplished!!!)
edfed wrote:
...all in all, I want this project/contest to be a real fact, and not only some posts. ...
OK, good. I like your enthusiasm, however, I also like this notion from dosin:
Quote:
...As far as booting in a sec or two..that would be great.. but we need to get the basics working and then..opt it! Right now there is nothing but an idea. ...
dosin wrote:

I think all we would need to start is a basic kernel that we all agree on.. and let people add to it until it loads the fasm message board..
edfed wrote:
...so, the first part of first step is to make the design book. ...

May I offer a suggestion. The best approach is the simplest (echoing Dex4u) I appreciate, and understand that Edfed is raring to go, but, sometimes we make more progress by working methodically instead of rushing out to do something without a rigorously defined spec. Ok, maybe that is to cumbersome. Maybe that takes away the fun. Maybe the spontaneity is missing if every last detail is thought out ahead of the code writing. So, maybe I am in error. I would say that the best idea, thus far, was Dex4u's suggestion to commence with a simple boot into protected mode, to display a message on the screen, hello world. No internet. No browser, NOTHING else. Just that. With that as a starting point, one can create a more functional "blue print" as dosin suggested. Edfed, I am not trying to throw cold water onto your nifty design document, above. I am simply trying to offer a constructive assessment of this excellent project, now only three days old, and already with some good ideas....It will be more effective, in my opinion, for whatever it is worth, to AVOID using punctuation symbols, as an intended replacement for ENGLISH WORDS. Those words, in a design document, are far more useful than meaningless punctuation symbols. GET RID OF THE INFERNAL @@@. If English is too difficult, Ecritez en Francaise. Mais, ne utilize pas des symbols de' ponctuation qui comportaient aucun signification. A blueprint which is unreadable is not going to ensure that everyone understands one another.
edfed wrote:
...for speed improvement, virtuallization souldn't be made. all in ram.
This seems exactly correct to me. Remember what Dex wrote: keep it simple, no operating system. No emulators needed.
edfed wrote:
...i have some problems to code for too much layers. i only code for the easier mode there is 320*200, 256 colors & true real mode.
Now you have hit the nail on the head!!! Now we are discussing the meat and potatoes of this first attempt at a net based specification document. yup. this is where it becomes fun. I had suggested, to some folks annoyance, that the design require a P4 with 256mbytes of memory. Someone else thought this a poor notion, and preferred a 386 with 16 mbytes of RAM. Ok, no problem, I don't mind, but, sooner or later, we ought to arrive at consensus on the HARDWARE constraints, and by writing about the video controller, and display parameters, Edfed has introduced a meaningful question which needs to be addressed....
Again, I think the best solution is to start with the simplest step, as Dex proposed, of a boot into protected mode displaying something on the screen, like "hello world", and then resolve the hardware constraints, including the question of need for accessing hard disk, timer, and network controller (I suppose it is universally accepted that this project can not be accomplished with dialup access to the internet, correct?) Else, if so, then clearly the modem would have to be powered up, and the login to the ISP accomplished prior to the boot???? Hmm. That seems rather thorny....
Smile
Post 25 Jan 2008, 03:45
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4330
Location: Now
edfed 25 Jan 2008, 04:08
moi, j'aime bien les @@:
in english or in frensh, it's the same, i like @@:
i feel good with it. insted of L1, L2, L3, L4, 0X33FC43A, +20, .for1, while2, etc...
ça permet de tester pleins de combinaisons très rapidement, et d'écrire vite aussi.

all that is loop or things like loops, are simpler with @@:, if you see @@: and @f somewhere, imagine it's a little diamond from functional diagram.

ok, i'll try to comment these @@: or replace it with explicit symbols.

ok, i'll code this hello world in vesa, without mouse but the fedit 1024*768 32 bits version. but i dislike this nothion of pm to rm switch to change resolution, and come back to pm... i dislike.
i prefer to know the issue of the two previous vesa treads.


Last edited by edfed on 25 Jan 2008, 04:20; edited 1 time in total
Post 25 Jan 2008, 04:08
View user's profile Send private message Visit poster's website Reply with quote
dosin



Joined: 24 Aug 2007
Posts: 337
dosin 25 Jan 2008, 04:19
A browser that prints hello world would be fine! Just waiting on dex4u..

In the mean time I have been searching the net/library for specs..and anything that would help with the project... Very Happy
Post 25 Jan 2008, 04:19
View user's profile Send private message Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias 25 Jan 2008, 13:21
edfed wrote:
...i like @@:
i feel good with it. insted of L1, L2, L3, L4, 0X33FC43A, +20, .for1, while2, etc...
Sorry to have been too obscure.
It is not the infernal @@@@ itself that is WRONG for a specification document, ALL of the symbols in this quote above are incorrect. A "blueprint", or specification document needs to be:
1. Simple (remember Dex's point)
2. Readable
3. Complete
4. Accurate
Our specification document will surely not be complete at the outset, but, by the end of the first prototype, it will be complete. I am confident that it will be accurate. My worry is that it will not be readable. Readability is a critical parameter, and whether one uses @@@, or L1, L2, L3, etc, ad nauseum, or any other combination of symbols and letters to produce CODE, not readable words, the end result is chaos, not a specification document. As far as I am concerned the program, (aka "code") itself, ALSO ought not contain ANY such symbols.
edfed wrote:
ok, i'll try to comment these @@: or replace it with explicit symbols.
Non, chere edfed. Please understand. You need to grasp this point. It is NOT a question of "documenting" the symbols, this is a "blueprint", as dosin wrote, or ALGORITHM as it is customarily noted in the world of computer science. It is the outline that explains
A. What we are doing,
B. Why we are doing it,
C. HOW we intend to accomplish this task.

*********
SYMBOLS (of any type, shape, or ethnicity) have no absolutely no role to play in such a document. We can rely ONLY upon WORDS. English words. Sigh, gasp. Ugh. Sorry about that.
**********

ONLY WORDS, not symbols are required for such an overview.
In my opinion, you and many other FASM forumers need to learn how to write programs, instead of code.
edfed wrote:
...but i dislike this nothion of pm to rm switch to change resolution, and come back to pm... i dislike. ...
I agree with you, 100%. However, I think Dex prefers the pm-rm switch, and since it is his "hello world" template that we use, we need to accommodate his interest. Pure protected mode operation, including accessing mother board components without descending back and forth into real mode represents a useful "upgrade" for a future revision, but, right now, we need to focus, as Dex pointed out, on keeping this project with an absolute minimum of embellishment. The pm-rm-pm switch works, it is reliable, and while disagreeable from a theoretical perspective, it gets the job done, and right now, that's the priority.
Smile
Post 25 Jan 2008, 13:21
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4330
Location: Now
edfed 25 Jan 2008, 13:51
i've cleaned up the vesademo, but it bugs...
Post 25 Jan 2008, 13:51
View user's profile Send private message Visit poster's website Reply with quote
dosin



Joined: 24 Aug 2007
Posts: 337
dosin 25 Jan 2008, 20:39
Displaying the fasm forum would be nice but I think we should start more simple..
A basic HTML web page no images,etc...


That way its not a build me a browser and see what people can do with it!!

That way if people download the fin project - they would need to add themselfs the support for images,etc..

The prob that I think dex.. was thinking .. would we need support for .gif,jpeg,etc.

lets keep it simple! get it online and diplay a current html webpage with text and tables /and possible buttons..only...


Quote:
i've cleaned up the vesademo, but it bugs...


Thats cool - what Vesa mode are you using?
and what kind of bugs?

If you need help just let me know...



Also if you want we could keep it real simple with no support but just text ..
We would not need Vesa at all and use a text mode...

The idea is to load the kernel and enable connections..send request.. wait..
retrieve data and display it from the net... as quickly as possible...
Post 25 Jan 2008, 20:39
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4330
Location: Now
edfed 25 Jan 2008, 21:09
the resolution of my laptop, 1024*768 32 BPP

but it don't work at all.
i've cleaned it, arrange it in little modules. easier to debug for me.

it should display an incremented byte per component.

inc al
mov [fs:edi],al

it's exactlly the manner i use to print on screen. and i set the segment to screen memory.

but don't display anything. only the text cursor blinking.

about no need of vesa:
it's because i don't code for vesa high modes that i lose motivation.
be able to boot and display great colors in high resolution... what a satisfaction it could be for me.


Description: come from dex4u's demovesa.zip exemple . entirelly modularized.
Download
Filename: VesaDemo.zip
Filesize: 11.33 KB
Downloaded: 258 Time(s)

Post 25 Jan 2008, 21:09
View user's profile Send private message Visit poster's website Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4022
Location: vpcmpistri
bitRAKE 26 Jan 2008, 00:12
edfed wrote:
i've cleaned it, arrange it in little modules. easier to debug for me.
Maybe a debugger is most important development for new OS? Or is virtualization/emulation software nullifying the need for a debugger?
Post 26 Jan 2008, 00:12
View user's profile Send private message Visit poster's website Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4330
Location: Now
edfed 26 Jan 2008, 01:51
i don't make it on an emulator, i test it only in real boot...

it's boring.
Post 26 Jan 2008, 01:51
View user's profile Send private message Visit poster's website Reply with quote
dosin



Joined: 24 Aug 2007
Posts: 337
dosin 26 Jan 2008, 02:20
Quote:
text cursor blinking


I tried it and I got the same thing... Its not setting the mode..

Tomarrow or maybe later tonight- I am going to go over the code...

or if you want print a 1,2,3,etc.. after each function.. find out were its getting stuck..
Code:
call func_1
mov   ax,8h
mov   es,ax   
mov   byte [es:0xB8000], "1"

call func_2
mov   ax,8h
mov   es,ax 
mov   byte [es:0xB8000], "2"

etc..    
Post 26 Jan 2008, 02:20
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4330
Location: Now
edfed 26 Jan 2008, 02:35
it doesn't read the vesa info correctly, says i don't have vesa 2+
Post 26 Jan 2008, 02:35
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 789
Location: Adelaide
sinsi 26 Jan 2008, 02:39
Code:
        mov eax,4f02h
        mov ebx,4118h
        int 10h
    

Don't forget that mode 0118 is 1024x768 in 24-bit, not 32-bit, and quite a few of the newer ati/nvidia cards don't support 24-bit colour (in VESA).
Post 26 Jan 2008, 02:39
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4330
Location: Now
edfed 26 Jan 2008, 03:15
but what is 32?
Post 26 Jan 2008, 03:15
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 789
Location: Adelaide
sinsi 26 Jan 2008, 03:33
Use the VESA.VideoModePtr pointer to loop through the modes, and use Mode.XResolution,Mode.YResolution and Mode.BitsPerPixel to find a mode.

From RBIL
Quote:

INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
For VBE 2.0+, it is required that the
VBE implement the mode, but not place it in the list of available
modes (mode information for this mode can be queried directly,
however).
as of VBE 2.0, VESA will no longer define video mode numbers


FWIW, 1024x768x32 is mode 0123h on my radeon 9600...
Post 26 Jan 2008, 03:33
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 26 Jan 2008, 12:17
Here is the template for the FBrowser (code name for this project, until we have a name). It does not do much, but it is set out to be simple and easy for beginner to understand, i have set the main functions into include files.
You can comment it better or make the labels more readable, but the layout must stay the same.
This demo simple test for vesa, then if presant goes to pmode, set A20, vesa and prints a message in vesa mode 800*600 24/32 bpp.
You can change the mode, but for now that is the screen size for the project.
Once you press a key it will return to real mode and return to dos (as it can be run from dos) or reboot if run from its bootloader.
It comes with full source code.

Stage 2. I am now working on a skinable browser, to start with, i just want to get the gui working right, as this will get others interested.

I agree with points made by tom tobias and agree with dosin, that the first test of the project, will be to load a hello world html page off the net.

Here is a self extracting exe to put it on a floppy
http://www.dex4u.com/FBrowser/FBrowser.zip
Here is a floppy image and .bat file to test it in a emulator qemu.
http://www.dex4u.com/FBrowser/FBrowserE.zip


Description: Fasm source code, to the FBrowser project template
Download
Filename: FBrowserSource.zip
Filesize: 63.64 KB
Downloaded: 282 Time(s)

Post 26 Jan 2008, 12:17
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4330
Location: Now
edfed 26 Jan 2008, 14:36
yeah...
but when i browse fasm via ie6, the optimal resolution is 1024*768

i'll add an hidden menu, like press ctrl at boot load, and display the menu. if no ctrl, direct boot.

It's pretty a good job but it depend on fat and exe shemes. Sad
Post 26 Jan 2008, 14:36
View user's profile Send private message Visit poster's website Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias 26 Jan 2008, 15:00
edfed wrote:
...It's pretty a good job but it depend on fat and exe shemes. ...
It's ok edfed, not to worry, I suppose everyone also uses 1024*768, but that resolution represents an IMPROVEMENT, not at all something to worry about at this point....Later, that can be improved....
DEX: great job....Thanks for your effort, really well done.
Dosin: thanks for hanging in there...
sinsi: I appreciate your comment, did know about RBIL, though, not by that acronym, and did not think to check his list to address edfed's question!!! Ralf Brown Interrupt List, for anyone else out there who may be half brain dead like me...
As far as fat and exe, edfed, take a look at the heading for this thread under the FASM forum, it is "OS Construction", so, please, be patient, eventually we will have the proper FASM OS, with protected mode access to motherboard components, but for now, let's not be too nervous about those improvements which surely will evolve over time, and instead focus on the task at hand, admirably commenced by Dex....
Smile
Post 26 Jan 2008, 15:00
View user's profile Send private message Reply with quote
dosin



Joined: 24 Aug 2007
Posts: 337
dosin 26 Jan 2008, 18:59
Quote:
It needs a tcp/ip stack
It needs a dhcp client


Is there a standard - I have found some info/examples on these and they don't spec any particular device.. Was there a couple of particular devices we were going to target ?

If so Lets get a list about 4 of them?

For me I don't care which devices are chosen...just let me know..
I just want to make sure I target the same info as everyone else! Very Happy
Post 26 Jan 2008, 18:59
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4330
Location: Now
edfed 26 Jan 2008, 19:33
i think we need to analyse the network drivers from menuet...
thank you ville!

how can we determine the optimal screen/graphic card mode?

if a screen or a card don't support 1024 (it exists), we shall make an automatic choise to the best couple.

a basic function interface is needed too.
like:
Code:
    mov esi,int10
    call video
...
int10:
.eax dd 0
.ebx dd 0
.ecx dd 0
.edx dd 0
.esdi dd 0:0
...
video:
;esi=>int10 params.
    mov eax,[esi+0]
    mov ebx,[esi+4]
    mov ecx,[esi+8]
    mov edx,[esi+12]
    mov edi,[esi+16]
    mov es,di
    shr edi,16
    int 10h
    ret
....
    

this will increase the simplicity of vesa programing, as i find vesa very complex, it is really boring. Sad
Post 26 Jan 2008, 19:33
View user's profile Send private message Visit poster's website Reply with quote
dosin



Joined: 24 Aug 2007
Posts: 337
dosin 26 Jan 2008, 20:43
edfed:
Does Dex4u- Demo work on your OS?
Post 26 Jan 2008, 20:43
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, 3, 4, 5 ... 13, 14, 15  Next

< 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-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.