Message board for the users of flat assembler.
> OS Construction > FASM Challenge - For all users
Goto page Previous 1, 2, 3 ... 8, 9, 10 ... 13, 14, 15 Next
Dex4u 22 Feb 2008, 02:07
You could try using DexOS as a test bed, as it has lots of built in function to help you, you can use mode 13h or vesa, load file etc from fdd, hdd, cd, usb etc.
Theres also a fasm port and a IDE, so you can code and test.
Just a thought.
|22 Feb 2008, 02:07||
edfed 23 Feb 2008, 20:38
if you want to make your version based on the DEXOS lib and engine, it's ok.
for me, i'll use my own set of functions.
for compatibilities beetwen your and mine, i don't know, i'll have to implement your functions (without modifications) inside my code, by emulation of your platform.
|23 Feb 2008, 20:38||
Dex4u 26 Feb 2008, 20:59
There as been some changer's to FBrowser project, the name for a start, has changed to FAB (Flat Assembler Browser), as suggested by revolution.
Next is a much simpler design, see here:
|26 Feb 2008, 20:59||
edfed 26 Feb 2008, 22:15
text mode, so, no protected mode?
it's cool, then, the project will be ok soon... and contest will be funny
|26 Feb 2008, 22:15||
Dex4u 27 Feb 2008, 15:39
text mode, so, no protected mode?
Still Pmode, as we want to beable to use more than 1 MB of ram, the code will also be smaller, without the graphic icons etc. It will also mean people with old hardware can use it.
|27 Feb 2008, 15:39||
edfed 27 Feb 2008, 15:51
ok, so, we just need to control the network, and then parse html without font effects..
i'm not exited by this, but if you think it is simpler, lets go.
the contest will be to make it in graphic mode.
i'll make it in graphic mode. text mode is not enough.
|27 Feb 2008, 15:51||
Dex4u 27 Feb 2008, 17:02
I will also make it graphic for DexOS, but as the goal is just to display and use the fasm forum, i see text working fine.
I will do a textmode mockup and see what it comes out like.
|27 Feb 2008, 17:02||
tom tobias 27 Feb 2008, 22:48
Everything can be accomplished, in time. The question is one of progressing STEPWISE, rather than creating large obstacles which prevent a bit of progress.
As I see it, text mode will be eminently satisfactory at the outset: there is, in my opinion, no need for graphics AT THE START of this community project. First step is this, I believe:
Power on, [concurrently start stopwatch,] boot, protected mode, display "hello world", [immediately end stopwatch,] measure time. Time should be less than three seconds.
Second step is this:
Power on, [start stopwatch,] boot, protected mode, display FASM forum, [end stopwatch,] measure time. Time should be less than three seconds.
I guess it will be necessary to boot from hard disk, rather than floppy, as the current code requires, but maybe I err in thinking that booting from floppy will take too much time.
There is, in my opinion, NO NEED for graphics, or mouse, in this FIRST TASK. Text mode will work very well, to meet the objective: Simplest possible route to gain access to FASM forum, within three seconds, after power on. Having once accomplished this task, THEN, one can elaborate, add graphics, mice, flashing colors, dancing girls, or anything else that comes to mind.
|27 Feb 2008, 22:48||
edfed 27 Feb 2008, 23:03
yes, the first step is done, i hope, by everyone.
the goal is now to have a network connecion and an usuable html parsing
the big problem with text mode html render without mouse is how to click on icons?
boot from hdd ok, less than 3 second OK, text mode ok, but, no network...
i am sure the big trick is to take the control of network, and more, emit requests to the distant server.
this can be done without graphics.
for the time mesurement, one simple trick is to program the pit or rtc at boot time, use it to mesure the µP frequency with rdtsc, and then read time stamp counter again when all is ok. a one shot counter will be ok for that, or a real chronometer, triggered by the hdd led signal.
|27 Feb 2008, 23:03||
tom tobias 28 Feb 2008, 00:49
yes, the first step is done, i hope, by everyone....
Well, no, sorry, edfed, I don't know where that code is. Do you have a link to it? The existing code does not display "hello world", nor does it boot from hard disk, and it certainly requires, at least on my computer, more than three seconds. That particular code, to my best knowledge contains a lot of additional matter, not yet part of this first step....Please show me the link....
Where? Where is this code? You have tested it? You have measured the time elapsed?
Hmm. This sounds like something you are PROPOSING, as opposed to something already accomplished....
In my opinion, one can not use on board timers for this project, since the goal is to measure the time from power on, not from booting. Maybe others have a different perspective, if so, ok, then I am wrong.... No problem, I am accustomed to making many mistakes.
|28 Feb 2008, 00:49||
edfed 28 Feb 2008, 01:20
switch to PM and display hello is easy.
the mesurment was made by my feeling.
and it is largelly less than one second if done from a hard drive.
boot less than 3 second since power on is impossible on almost all machines.
i was telling boot loading in less than 3 second, no cold boot.
if you really want a HELLO WORLD code for PM, it's OK, i'll make it just for you.
now, i have the compact flash to ide adapter, i just have to try it.
on the notice, they say it's used in factories to test mother boards, as power on, off are frequent, it's impossible to make it with mechanical HDD that will certainlly burn in only one week of tests.
as it is my 1111 post, i edit it to add a precision.
the text memory at 0b8000h is used to display text mode chars, so, i'll use it as a text buffer, then, when switching from graphics to text mode, the text will be automatically updated. big problem is this attrib:char format, it's not an enjoyment to program for it.
the CGA adapter have many pages to display text, theses pages are located in the 0b8000h segment. selecting a page is like changing the base address of a text string
the existing examples can boot from hdd, you just have to put them on a free drive.
be carrefull, it don't respect the partition tables, it don't have any...
and to display "HELLO WORLD", just change the string that says "fasm browser 0.0001",0 by "HELLO WORLD",0, line 123 of the fbboot.asm file.
|28 Feb 2008, 01:20||
tom tobias 28 Feb 2008, 13:30
Sorry, edfed, I have not been able to succeed.
...the existing examples can boot from hdd, you just have to put them on a free drive.
I took a brand new ide hard drive, formatted it to FAT32, transferred the system to it, so that I could boot from it, then transferred the file fbboot.exe to the newly formatted drive. I then rebooted, and typed fbboot, but instead of revealing "hello world", or any other message, the screen went black, without cursor, without text, and without response to the keyboard.
Well, thank you edfed, on the other hand, at least to my provincial way of thinking, it is not something that one does for me, kind though that thought surely is, but rather, a stepwise progression in a community project, moving forward step by step, rather than trying to leap to the end, without bothering to explain, each step of the way, just what one is doing, and why. So, please understand my rationale for requesting a logical progression of sequential increments, in what must appear to you as an extreme variant of dimwittedness (aka hns: homo non-sapiens).
|28 Feb 2008, 13:30||
edfed 28 Feb 2008, 19:46
no, this is not the way to install it.
for the moment, it doesn't format the drive.
take an exemple, consider the drive as a linear memory space.
boot sector is the one that contain the header of the file system, but in the case of fbboot.bin (not fbboot.exe) there is no file system, no partition table.
only a linear address space.
the boot sector is occupied by the boot loader.
the boot loader is named "bootloader.inc" and is a 512 byte leng portion of the fbboot.bin
then, the following sectors are occupied by the rest of the fbboot.bin file.
the formating is not necessary and will be overwriten by this file.
so, if the new drive you got is the BIOS 81h one, you can diret write the binary to this drive.
an image writer is sufficient for this task.
remember, there is no file system, no partition table in this project.
so, it's a little impossible to control it from windows.
from win98 (i invite you to install it on an other drive) you can take the control of non formated volumes.
if you want a simple exemple for boot, use the first i've made in the topic "int13h"
the utility bw05.com" is able to write up to 64K on the first 128 sectors of a drive.
if you need a deep help, please contact by pm, and i'll explain it to you in direct live via a chat room or else.
re remember, there is no format and no partitions.
just a linear address space, with 512 bytes granular pages.
|28 Feb 2008, 19:46||
tom tobias 28 Feb 2008, 20:39
Thank you edfed, I appreciate your explanation. In a community project, of any dimension, communication becomes paramount.
I remain befuddled. However, it is not so important whether or not I can understand, so long as everyone else understands, and agrees. One aspect of this project concerns measuring TIME, and in particular, the goal, initially at least, was to gain access to FASM forum in 3 seconds or less, BEGINNING when? Now, at last, the light bulb is dimly illuminated in my tiny brain, and I comprehend that you envision measuring that time from AFTER boot, until arrival at the forum. In such a case, one ought to rigorously specify, I believe, exactly where the boot starts and finishes, else, someone might claim to have met the requirement for arriving at FASM forum 3 seconds after completing the boot process, having incorporated much of the task of negotiating the internet protocols during the boot process....
In other words, I think it is important to specify more precisely what kind of boot process is to be undertaken. If there is no file system on the hard drive, and no partition, then, the hard drive acts more like USB removeable media, which is ok, too, but ought to be in the specification, in my opinion. I was thinking that to keep everything simple, one would simply create one of two possible environments at the outset, either FAT 32, else ext2 for linux....Thus, I envision the task, perhaps incorrectly, as consisting of executing a program which resides on an otherwise empty disk, but one which is formatted, with a partition, (analogous to a floppy disk,) which then would have as its goal arrival within three seconds at the FASM forum.
Of course there are alternate approaches, including your novel idea of working with an unformatted hard disk, however, I envision many difficulties with that approach, maybe because of my ignorance. For one thing, I am unclear just how one could know, (employing your approach of treating the hard drive simply as non-volatile memory, i.e. without file system,) that the boot process has completed and the task has begun. I envision a lot of trouble with that method, and further, I don't imagine (perhaps because of too limited an imagination!) that very many people would prefer to treat their hard drive as an unformatted space. It is both more efficient, and more polite, in my opinion, to require participants to provide a single partition, rather than an entire hard drive for this project.
Nevertheless, I would be willing to try your method, if only I could understand exactly what it is that I am supposed to do, using win98, which I have on the C partition of my second hard drive (Bios HDD-1). I have mounted the new drive as "master", i.e. HDD-0), with the older drive containing both win98 and winxp ("d" partition of second drive). Further, using Ranish, I have removed all partitions and file systems from HDD-0, so it is just a blank slate. Now, can you please explain what one is supposed to do using win98, for I am completely unable to understand your previous explanation, other than that I am supposed to employ some sort of "image writer", found somewhere in win98???? I will boot into HDD-1, choose win98, THEN WHAT?
|28 Feb 2008, 20:39||
edfed 28 Feb 2008, 21:26
|28 Feb 2008, 21:26||
tom tobias 29 Feb 2008, 11:56
Ok, starting to make some progress.
...to boot from a hard drive, modify the drive number in BW05.asm file.
At least in the version which I downloaded two minutes ago, there is NO SUCH FILE as "bw05.asm"......
Contents of "FBBOOT1":
Directories: bootprog, irq1, lib, OOlib, system
Files: board.flatassembler.html, bw05.com, FASM license.txt, FASM.exe, fbboot.asm, fbboot.bin, fbboot.exe, findtext.inc, font85.inc, Readme.txt
Have I misunderstood, again?
|29 Feb 2008, 11:56||
edfed 29 Feb 2008, 12:24
no you didn't misunderstood.
this file was a precompiled version, without source to avoid an undesired modification.
it's frozen in the "copy fbboott.bin to drive 0 (floppy)"
if you want to modify the destination drive, you just have to modify the last byte of the .com in an hex editor (it was made for that).
if you want the source, any version of BW05.zip will be ok.
but leave it in a separate folder, to avoid undesired modifications, that can be very dangerous for your system.
bootprog folder can be deleted. it's not from me, and it's not compatible with the current version.
|29 Feb 2008, 12:24||
tom tobias 29 Feb 2008, 13:56
...if you want the source, any version of BW05.zip will be ok. ...
placing bw05.zip in google:
Is this where the source bw05.asm is located?
I don't find it desirable to participate in a project which requires use of a hex editor to change something, without being able to read and analyze the source code.
Please make the bw05.asm source code available, else, I cannot continue to evaluate this version of FAB. It is still unclear, after all of this interchange, precisely how your method works. After one has modified the source code, to assign a particular hard drive upon which to install the program fbboot1.exe, using presumably the program bw05.com, which has some kind of interaction with another program, fbboot1.bin, both of which are located on another drive, then, WHAT? Are we supposed to reboot the system, this time selecting the drive with fbboot1.exe, instead of the drive with bw05.com? (i.e. requires user to enter BIOS setup, a trivial undertaking, but one which needs to be articulated.) It would be both, much simpler, and much easier to test, in my opinion, if one booted from the same drive all the time, and executed the task from the same or any other drive, UNLESS the boot process is supposed to be incorporated into the task: which, as I understand it, is NOT THE CASE....Then, why is one going to so much trouble to boot into some other hard drive? Hex Editor??? Changing one byte???? What nonsense. This approach, cher edfed, seems to me to be the epitome of BOTTOM UP programming. Just the opposite of the way I think. I believe that one ought properly commence ANY project with a clear explanation of the GOAL. Then one can propose a solution, instead of commencing with some junk that happens to be laying around, and throw some of it into a folder, even if it is completely unrelated to the task at hand:
Ok, fine, BUT THEN, why is it included in your collection of files to download?
WHAT ELSE is in that folder that is not necessary???? Why is FASM itself in the folder????
The readme file ought to explain to the user precisely what to do, why, and how.
Your readme file is obscure, at best:
...note for future team members:
Style? And what style would that be? The style of using @@@@ and hex editors?
Main source??? What is that? bw05.asm???? The file that is not included?
Edfed, you need to spend fifteen minutes, not longer, just 15 minutes, to think clearly about what you wish to accomplish, how, and why. You need, if you choose to continue with this approach of using a second drive for this task, to explain the advantages compared with using a single drive. You especially need to explain HOW one is going to measure accurately the elapsed time, identifying from which point in the process the time measurement begins and ends. Normally, for such a long duration as three seconds, one could employ a simple stop watch, with a prompt on the screen upon booting to instruct the user to commence timing, but in your case, how does one know that the boot process is completed, and the task has begun?
|29 Feb 2008, 13:56||
tom tobias 29 Feb 2008, 14:05
Umm, well, no, that's not all. This would be sufficient if you were writing something for a private employer, someone who did not care what you wrote, or how, but this is a community project, so one needs to be just a tad more diligent in explaining things.
PLEASE begin by furnishing NAMES, or at least human readable collections of Roman alphabetical characters, instead of @@, everywhere in bw05.asm. NO, before that, even, please explain why you have chosen the name bw05 for this file.
I haven't a clue how this program works, and I sure am not going to use it on my computer without understanding every single line of code. I will not accept anyone's assurances that it "...WORKS, THAT's all".
acronymfinder.com: ufonoss ???????????????????????
|29 Feb 2008, 14:05||
edfed 29 Feb 2008, 14:12
the advantages of using a separate drive is a security goal.
as it is a file that directlly boot, then, if you write it on your work drive, you'll meet some big problems.
a separate drive is more secure when develloping.
then, if fasm and bootprog are in the package, it's because this package was originally the dex one.
i leave the bootprog and fasm for evolutivity projects, like partitioning.
to know the task begun (boot ok), it's simple, if you see a sort of coloured window, with four bin lines and a message in a yellow title, it's ok, the program started to work, normally, it's instantlly made, largelly less than one second.
as you seem to want a simple way, i invite you to propose an easy package, for very beginners.
then, i'm sorry, it's true it's not an achieved package, there are many lacks. this is more the minimal i need to work, i use it to devellop functions and try them.
cher tom, merci for your interrest, it will force me to work more seriouslly.
ufo noss seems to be deleted of their database. sorry.
|29 Feb 2008, 14:12||
|Goto page Previous 1, 2, 3 ... 8, 9, 10 ... 13, 14, 15 Next
< Last Thread | Next Thread >
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.