flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Projects and Ideas > MiniDOS - minimalistic DOS clone [DONE]

Goto page 1, 2, 3  Next
Author
Thread Post new topic Reply to topic
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

MiniDOS - minimalistic DOS clone [DONE]

I am starting a project that is a very simple DOS OS, this will be used as a bootloader for DexOS, but will also emulate common Dos int 21h functions and load com/exe files.
So as well as being a bootloader, it will run some Dos programs.
This i hope will form a beginners OS tut.
I know we have freedos, but this will be simpler and coded with fasm.
Simple aims:
1. simple comandline.
2. load com/exe
3. load from fdd,hdd,usb pen drive.
4. emulate about 30 common int 21h functions.
5. easiy to add more function, as needed.

If anyone else is interested in this OS project let me know.

NOTE: Latest Ver is here: http://www.dex-os.com/MiniDos/MiniDos.zip

Screenshot:Image


Last edited by Dex4u on 17 Nov 2013, 12:03; edited 11 times in total
Post 15 May 2006, 18:02
View user's profile Send private message Reply with quote
vbVeryBeginner



Joined: 15 Aug 2004
Posts: 885
Location: \\world\asia\malaysia

hi dex4u.
nice idea !! Smile

is that possible a REAL mode DOS with JIT feature to control memory access? so user application would be JIT (like .net / java) and OS cores / services would be written in asm.

with a .DOS framework! Laughing Cool
Post 17 May 2006, 08:33
View user's profile Send private message Visit poster's website Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

Hi,
It will be any type of dos people want, as i hope people will add to it, as they see fit.
and yes it will written in asm Smile.
Post 17 May 2006, 10:51
View user's profile Send private message Reply with quote
sylwek32



Joined: 27 Apr 2006
Posts: 340

I am interested in the simple D O S Very Happy
If you have finished
send it to sylwek32 at gmx de please Very Happy
Thx
Post 17 May 2006, 12:10
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

It's a project thats just started and we will learn as we go on Smile.
Post 17 May 2006, 13:10
View user's profile Send private message Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere

This will be cool!
Although, I'm a beginner at OS coding, I can help the project!
I also want to learn more about OS coding!
And a simple DOS would be a great portable OS!
And if we code some programs for it, we could add some kind of boot sector tools to use as recovery system tool for formating HD's, creating partitions, installing OS... some kind of OS Setup Toolkit! Very Happy
Post 17 May 2006, 16:48
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

Sure Smile, i will upload the test demo later to day to show the concept works.
Post 17 May 2006, 17:07
View user's profile Send private message Reply with quote
i-don



Joined: 18 Jul 2003
Posts: 66

This would be a splendid idea to learn DOS OS creation. Pair with something like Links graphical webbrowser, would re-alive some old Intel based x86 CPU and turn it into a DOS-based mobile device or internet pad.
Post 17 May 2006, 17:34
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

Yes that would be great, Here is a Demo to test some basic dos functions, less than 600bytes and it run this tasm space invader game perfect Cool, also run my old pascal game too.
http://www.dex-os.com/MiniDos/MiniDos.zip
Runs in qemu too, screenshot:
Image

Will post basic fasm code tomorrow.


Last edited by Dex4u on 17 Nov 2013, 12:03; edited 5 times in total
Post 17 May 2006, 18:58
View user's profile Send private message Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere

Dex, could you please tell me some tutorial or teach me the basics about using QEmu?
I'm very interessed in this emulator, so I can start learning OS coding.

Thanks!


EDIT: I could get Qemu working! It's nice! Now I can learn OS coding without rebooting my machine every time! Very Happy
Dex, do you have so beginner-friendly OS coding tutorials?

Thanks again!
Post 19 May 2006, 23:29
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

@Ozzy, That's one of the problems, there are no good easy to follow beginner tut.
Heresthe way i learnt.
1. First you need a bootloader, you can make your own but best to start with one already made.
2. Next you need a format for your simple kernel, but start with a com file, to load this i used "bootprog" http://alexfru.chat.ru/epm.html#bootprog
With this you can load a com or mz exe.
3. Then you start writing bootable program, that do not need Dos function, start with simple print, print hex, time, date etc, than move on to user input and start making a simple command line interface, all in realmode.
This can be all be tested in a emulator.
4. Than start adding your own int or emulating int 21h etc.
You should not move onto pmode until, your OS can load and run its own programs.

PS: What os did you run in qemu ?.
I will add the "Dos4u" as a tut as soon as i finished it Smile .
NOTE: The aim's of "Dos4u" is to be a basic dos in less than 1k, to run some dos programs (games) and be a basic realmode OS tut.
Post 20 May 2006, 12:10
View user's profile Send private message Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere

Thanks!
I already can do simple Hello world bootsector program using BIOS Video interrupt. I also can get input using BIOS keyboard interrupt.
I want to know how to use FAT file systems.
I think I'll get book on OS development.

I booted succesfully using Qemu these OS: Dex4u, Damn Small Linux, Slax Linux, and my simple hello world boot program.

I think Dos4u released as tutorial will be great help for newbies like me. And when I learn more about OS, I'll be able to help the project to grow by adding features and post in this forum. Very Happy
Post 20 May 2006, 19:16
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

Great, Dex4u OS fasm code and bootprog nasm code has fat file sys, examples Wink .
Post 21 May 2006, 12:28
View user's profile Send private message Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere

How to load another sector in Qemu?
Post 22 May 2006, 18:00
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

First note change of name from "Dos4u" to "MiniDOS".

Here: is the full fasm source code for MiniDos, i have added new functions.
Its now does the following:
Command Line Interface.
Dir.
Loads files .
Runs EXE or COM file.
Runs old Dos programs.
Time.
Date.
Reboot.
Help.
It runs programs code with fasm, tasm, turbo pascal, turbo C etc.
Also implements some dos int 21h functions.
But is still less than 2K, so is good for beginner OS devs, as its fully commented source code.

NOTE: If we all just add one int 21h function, it will quickally build into a good free fasm dos.
There is some limits at the moment like only loading file size of 64k or less.
ScreenShot of MiniDOS running a dos game.
Image


Last edited by Dex4u on 30 Apr 2011, 17:19; edited 3 times in total
Post 27 May 2006, 18:36
View user's profile Send private message Reply with quote
sylwek32



Joined: 27 Apr 2006
Posts: 340

Hi Dex !
Can i use this mini D O S for my embedded game console ?
I want to make something like COMMODORE 64..

So i must change your sourcecode..
Is it okay ?
Post 30 May 2006, 16:05
View user's profile Send private message Reply with quote
sylwek32



Joined: 27 Apr 2006
Posts: 340

How to create a disk image ?
WinImage crashes if i select boot.bin
Post 30 May 2006, 16:19
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

You are free to do with the code anything you like Wink.
There is a image in here:
http://www.dex4u.com/MiniDos//MdosQemu.zip
You use bootable.exe to put boot.bin onto a floppy, if this does not answer your ?, just tell me what you want to do and i will advice you.

ps: This is the mannual for Dex4u boot code, but it users the same tools, it may help
http://www.dex4u.com/bootprog.htm

PPS: If you need to change the code you should only need to change minidos, then just replace the minidos.com on the floppy or image.


Last edited by Dex4u on 20 Jan 2009, 19:05; edited 2 times in total
Post 30 May 2006, 16:37
View user's profile Send private message Reply with quote
sylwek32



Joined: 27 Apr 2006
Posts: 340

"just tell me what you want to do and i will advice you. "

I want do make a OS for embedded PC's to make a GameConsole.
I want to include some emulators Very Happy

Do you know a emulator for NES <64KB ?
You said it runs only files under 64KB right ?
Or how can i execute "larger" exes ?
Post 30 May 2006, 16:46
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web

Some small nes emulators
http://users.aol.com/autismuk/emu.html
http://users.aol.com/autismuk/tnes2047.zip

Yes it only does 64k file but you can mod the code to load more.
Give me a day or two and i will mod the code to load more.
Post 30 May 2006, 17:07
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2, 3  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


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2017, Tomasz Grysztar.