flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > MiniDOS - minimalistic DOS clone [DONE]

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



Joined: 27 Apr 2006
Posts: 339
sylwek32 30 May 2006, 17:13
and do you know a SNES emulator <64 ?

Here i found one but > 600KB
http://www.emuunlim.com/sneese/

But opensource !
Maybe you can modify ?!
Would be very goood1
Post 30 May 2006, 17:13
View user's profile Send private message Reply with quote
comrade



Joined: 16 Jun 2003
Posts: 1150
Location: Russian Federation
comrade 31 May 2006, 05:25
very nice
Post 31 May 2006, 05:25
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
The Lightning Stalker



Joined: 07 Jun 2006
Posts: 11
The Lightning Stalker 08 Jun 2006, 01:29
Please use lots of comments in the code ^_^ It really helps script kiddes like me ^_-

Take care,
The Lightning Stalker
Post 08 Jun 2006, 01:29
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 08 Jun 2006, 11:41
The Lightning Stalker wrote:
Please use lots of comments in the code ^_^ It really helps script kiddes like me ^_-
Take care,
The Lightning Stalker

@The Lightning Stalker, MiniDOS is full of comments Cool .
Post 08 Jun 2006, 11:41
View user's profile Send private message Reply with quote
sylwek32



Joined: 27 Apr 2006
Posts: 339
sylwek32 04 Aug 2006, 09:25
can you upload http://www.dex4u.com/Dos4u/MiniDos.zip again please?
Post 04 Aug 2006, 09:25
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 04 Aug 2006, 15:20


Last edited by Dex4u on 30 Apr 2011, 17:21; edited 1 time in total
Post 04 Aug 2006, 15:20
View user's profile Send private message Reply with quote
DataHunter2009



Joined: 10 Jun 2005
Posts: 144
DataHunter2009 10 Sep 2006, 23:31
Very nice! I just wish it had some C in it. Wink Then maybe I would be able to understand what it's doing. Razz
Post 10 Sep 2006, 23:31
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 11 Sep 2006, 20:46
Thanks DataHunter2009, But now you know how we ASM programmers feel, when you C codes make great programs, but we can not understand whats going on in the code Laughing .
Post 11 Sep 2006, 20:46
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 12 Sep 2006, 06:17
generally when i can't unerstand C, it's because they use too many self-defined things, and i need to look up all of them, usually at least 10. So you need to get overview of project until to grasp something from it.

On other side, assembly is harder to understand, but unless author uses lot of macros, you can understand piece of code without knowing anything about rest. It's also easier to rip the code
Post 12 Sep 2006, 06:17
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
DataHunter2009



Joined: 10 Jun 2005
Posts: 144
DataHunter2009 12 Sep 2006, 11:55
I've tried to learn ASM. But Once I get past "mv", I just get lost. Razz
Post 12 Sep 2006, 11:55
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 12 Sep 2006, 12:43
http://decard.net/article.php

gets you a little bit further Wink
Post 12 Sep 2006, 12:43
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
RedGhost



Joined: 18 May 2005
Posts: 443
Location: BC, Canada
RedGhost 20 Sep 2006, 00:46
Hey, just an idea, since int's are called fairly often, instead of a bunch of compares, which takes more time have a table and do

jmp [table+int_id]

I realize there are many not implimented yet but you could have "null" stubs that just return.

_________________
redghost.ca
Post 20 Sep 2006, 00:46
View user's profile Send private message AIM Address MSN Messenger Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 22 Sep 2006, 02:31
That why the code is freely available, if you think you can improve it, mod it and post the code Wink .
Post 22 Sep 2006, 02:31
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 16 Mar 2007, 03:33
Hey Dex, just FYI:


  • MiniDOS (the 1.44 floppy .IMA file you pointed me to) works in DOSBox 0.70 (e.g. boot minidos.ima) except reboot (of course)
  • Invaders does indeed work under it (though none of my tiny .COMs I tested did ... you probably need a COMPAT.TXT like HXRT has).
  • definitely small (nice job!)
  • the whole "Welcome to MiniDOS" blinking blue flame intro is very cool, but at first, I didn't know if that's all it did! (luckily, no, after ten blinks/secs. it finally goes to the prompt, where filename AND .ext are required to run files)
  • you can prepend Lucho's modified Dosius' 2k .EXE sfx stub for a 1.44 MB floppy image file which easily allows writing to floppy w/o RawWrite (only works in DOS) ... even better, include the tiny .EXE and let the user COPY /B if necessary (nice progress indicator, too, unlike FreeDOS' DISKCOPY !)
  • also, don't forget ATV's wonderfully small UNIMG.ZIP, which unpacks 1.44 floppy image files (w/ FASM src!)
Post 16 Mar 2007, 03:33
View user's profile Send private message Visit poster's website Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 16 Mar 2007, 15:58
Thanks for the info, i note: that the intro is a bit long and may miss lead people (when i tested something on MiniDos), so i shorted it and i may change the words to " MiniDos Loading" , i will looking into the file you pointed me too.
Post 16 Mar 2007, 15:58
View user's profile Send private message Reply with quote
mikegonta



Joined: 20 Nov 2005
Posts: 99
mikegonta 29 Jun 2007, 19:28
[ Post removed by author. ]


Last edited by mikegonta on 28 Jan 2009, 08:53; edited 2 times in total
Post 29 Jun 2007, 19:28
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 29 Jun 2007, 22:09
Quote:
I'm interested in "upgrading" it to 32 bit protected mode


Then it's pretty useless for you. Look for a 32-bit bootable "Hello world" - "OS" instead Wink

Quote:
I am starting a project that is a very simple DOS OS, this will be used as a bootloader for Dex4u OS, 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.


Very nice as FASM coding example ... but OTOH VERY limited, not a serious competitor to FreeDOS Wink
Post 29 Jun 2007, 22:09
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 30 Jun 2007, 12:39
@mikegonta You are free to use the code as you like, i will add a notice like this to the source code.
Quote:

* Copyright (c) <year>, <copyright holder>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must acknowledge the work
* * of "Team DexOS" and include the following disclaimer.
*
* THIS SOFTWARE IS PROVIDED BY <copyright holder> ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

I think NTOSKRNL_VXE is right, maybe DexOS code would be better, as its got lots of PM functions and very much like pm 32bit bios.

@NTOSKRNL_VXE, Sure its not got the functionality of FreeDos, but then again MiniDos is only 2k
Wink .
And even freedos is looking at coding a PM 32bit Dos (not freedos32 that differant ).
Post 30 Jun 2007, 12:39
View user's profile Send private message Reply with quote
asiekierka



Joined: 17 Feb 2008
Posts: 3
asiekierka 17 Feb 2008, 19:26
I know i'm bumping this thread, but i made a little fix/addon to MiniDOS.
I implemented INT 21h - AH=06h and fixed AH=02h a bit.

DOSint.asm:
Code:
int21_02:
; asiekierka - AL is preserved (at least in DOS 2.10+)
        push  ax                           ; Save AX
        mov   al,dl                        ; Put whats in dl into al
        call  chrout                       ; Call our char function
        pop   ax                           ; Restore AX
        mov   al,dl                        ; Re-move, push AH dosen't want to work :O
        jmp   int21_exit                   ; Jump to int21_exit label

; direct console output
int21_06:
        cmp DL, 255
        je int21_07
        jmp int21_02
    


Add this to label "int21" in the same file:

Code:
        cmp   ah,6                         ; Does AH = 6
        je    int21_06                     ; Direct console output
    


Should fix up some software. If it'll fix any tool, tell me please.

EDIT: Also, an optimization tip:

DOSInt.asm:
Remove labels int21_0A, 2A, 2B, 2C, 2D.
Remove this from label int21:
Code:
        cmp   ah,0Ah                       ; Does AH = 0x0A
        je    int21_0A                           ; Enter string
        ...
        ...
        cmp   ah,2Ah                       ; Does AH = 0x2A
        je    int21_2A                           ; Get date
        cmp   ah,2Bh                       ; Does AH = 0x2B
        je    int21_2B                     ; Set date
        cmp   ah,2Ch                       ; Does AH = 0x2C
        je    int21_2C                     ; Get time
        cmp   ah,2Dh                       ; Does AH = 0x2D
        je    int21_2D                     ; Set time
    

Should make both the size smaller and the speed faster, AND also it wouldn't make any harm on the functionality.
Post 17 Feb 2008, 19:26
View user's profile Send private message MSN Messenger Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 18 Feb 2008, 11:22
Thanks asiekierka, i have updated MinDos, but i have left the labels " int21_0A, 2A, 2B, 2C, 2D" in, has the functions will be add soon.
Post 18 Feb 2008, 11:22
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  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-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.