QB OS DEV (D-OX OS)
QB OS DEV (D-OX OS)
EDIT: This post is ALIVE AGAIN!
I'm writing a "OS" in QB 7.1 (MS[sup]tm[/sup]). The way it works follows:
Standalone EXE file (DOXOS.exe) on top of Windows Command.com which resides on a bootable floppy disk.
This does have some problems: slow because of the DISK (solution: use from HD), DOS reliant, etc.
I have recently got NASM. I have a little idea ;D.
EDIT : I removed the bit bout command.com cause of a little thing my dad brought up...
Interesting, Challenging........ I like it!
So if anyone wants to join my fruitless quest for better computing (excluding Linux which is the best), I am welcoming help, comments, suggestions, and camitments (I think that's the spellin'). Currently D-OX OS sucks! I'll admit that, so come and help out!
Thank You, and (Pype) May the Source Be With You! lol ;D
I'm writing a "OS" in QB 7.1 (MS[sup]tm[/sup]). The way it works follows:
Standalone EXE file (DOXOS.exe) on top of Windows Command.com which resides on a bootable floppy disk.
This does have some problems: slow because of the DISK (solution: use from HD), DOS reliant, etc.
I have recently got NASM. I have a little idea ;D.
EDIT : I removed the bit bout command.com cause of a little thing my dad brought up...
Interesting, Challenging........ I like it!
So if anyone wants to join my fruitless quest for better computing (excluding Linux which is the best), I am welcoming help, comments, suggestions, and camitments (I think that's the spellin'). Currently D-OX OS sucks! I'll admit that, so come and help out!
Thank You, and (Pype) May the Source Be With You! lol ;D
Re:QB OS DEV (D-OX OS)
Excuse me, but LOL!
First, why are you so keen to write an OS in QBasic? If you learn enough to be able to disassemble COMMAND.COM and extract what you need then you are in a position to write an OS from scratch. If not, then you need to learn some actual languages (I recommend C, with a bit of assembler) to write a real OS.
A QBasic shell over DOS falls outside of any practical definition of an operating system. I think if you took the time to learn some compiled languages, and some OS theory, you'd find it more interesting. If you stuck at it, you'd certainly get a better end result than Yet Another QBasic 'OS'.
First, why are you so keen to write an OS in QBasic? If you learn enough to be able to disassemble COMMAND.COM and extract what you need then you are in a position to write an OS from scratch. If not, then you need to learn some actual languages (I recommend C, with a bit of assembler) to write a real OS.
A QBasic shell over DOS falls outside of any practical definition of an operating system. I think if you took the time to learn some compiled languages, and some OS theory, you'd find it more interesting. If you stuck at it, you'd certainly get a better end result than Yet Another QBasic 'OS'.
Re:QB OS DEV (D-OX OS)
Aw crap. I hope this QB-OS thing doesn't turn into some sort of lamer fad...
Bottom line: a real OS in QB is impossible. Learn a real language.
Bottom line: a real OS in QB is impossible. Learn a real language.
Re:QB OS DEV (D-OX OS)
Jeez, what's next -- somebody asking how to write an OS with *.BAT files?
Re:QB OS DEV (D-OX OS)
Come on guys! Whats wrong with u?? Don?t pick on him!
so u would be able to write a os with it.. But as i don?t know the (real) diffrent between q- and quickbasic, wouldn?t it be better to write it in some other basic language. Like powerbasic or something...
/ Christoffer
I don?t know excactly witch one of qbasic/quickbasic that are able to produce a "real" stand-alone exe.. but i know that i have seen many "real" (advanced) programs written in it with only "home-made" asm libarys..Interesting, Challenging........ I like it
so u would be able to write a os with it.. But as i don?t know the (real) diffrent between q- and quickbasic, wouldn?t it be better to write it in some other basic language. Like powerbasic or something...
/ Christoffer
Re:QB OS DEV (D-OX OS)
I don't know of any Basic-like language currently available for the PC that is suitable for low-level programming; all the ones I am familiar with are either interpreted, or require a large and system-dependent runtime, or both.
It certainly would be possible to design and implement a system language with a Basic-like syntax and semantics (easier than my own goal a low-level Lisp, in fact), but language design and implementation is never simple, and you'd have to make some serious decisions about what feaures to add and which to drop - and drop some you must. A language that has core (as opposed to library) support for graphics, file and printer handling, currency and date math, etc, is far too heavyweight to be suitable for system programming; even the 'print' command shouldn't be built in. OTOH, you'll need to add improved library facilities for linking outside functions, bitwise operators, pointers (Peek and Poke will not cut it), and dynamic memory allocation (which cannot be part of the core language, but has to be implementable within the language).
At that point, the language would be a lot more like C than Basic, despite the syntax; it would be far less trouble to simply learn C, to be honest. OTOH, there's always room for a new programming language, and C is hardly the only way to do things; if you think you can come up with a new approach, feel free.
It certainly would be possible to design and implement a system language with a Basic-like syntax and semantics (easier than my own goal a low-level Lisp, in fact), but language design and implementation is never simple, and you'd have to make some serious decisions about what feaures to add and which to drop - and drop some you must. A language that has core (as opposed to library) support for graphics, file and printer handling, currency and date math, etc, is far too heavyweight to be suitable for system programming; even the 'print' command shouldn't be built in. OTOH, you'll need to add improved library facilities for linking outside functions, bitwise operators, pointers (Peek and Poke will not cut it), and dynamic memory allocation (which cannot be part of the core language, but has to be implementable within the language).
At that point, the language would be a lot more like C than Basic, despite the syntax; it would be far less trouble to simply learn C, to be honest. OTOH, there's always room for a new programming language, and C is hardly the only way to do things; if you think you can come up with a new approach, feel free.
Re:QB OS DEV (D-OX OS)
Okay, listen up.. If you really want to program your own operating system then get some books on how real operating systems work.
There is a HUGE thread here on this message forum with so many books to choose from.
http://www.mega-tokyo.com/forum/index.p ... eadid=1251
Go to your local library and find what you need. Do interlibrary loans if needed, or reserve books from other libraries in your area. If you're lucky you will find some good books in your local library.
Before you program an OS you need to know exactly what an OS is!
Anything compiled from QBasic will never make a true OS that runs at the system level. Even the smallest QB compiled program spans more than one 64KB segment, and thus you would need a EXE file loader, and this would require very low level programming. I used QBasic extensively for years, and there is no way in hell that it will generate the binary code needed for operating system development.
One way to learn; a place to begin is learning about the history of operating systems. Learn how Unix was developed in its early stages. Pull up some history on MS-DOS or CP/M. MINIX is a very good example operating system to learn from. Even Linux was a development spawn from MINIX.
At least take some time to learn what protected addressing mode is using the 80386 or newer CPU. Don't bother with the 80286, for it will confuse you to learn 80386 basics.
Some things you can experiment with in Quick Basic if you desire is some hardware low level programming. I?m not talking about interrupts, because those rely on services that wont exist when you actually run a real home brewed operating system.
You can program the floppy disk drive using INP and OUT. Some things may need PEEK and POKE but remember that this will be of little help when you learn protected mode programming, if you do.
I?m sure you have seen simple programs in Quick Basic to control the keyboard lights. Simple routines like this is some things that will interest you when developing an OS.
Learn how to program the display using NOTHING more than PEEK/POKE/INP/OUT. Try and make a full display driver that can scroll and manipulate the cursor using only those four Quick Basic functions.
QB may be a good tool to help you learn I/O programming for real-address mode programming, but the information is almost useless for protected 80386 mode.
Most of all, ask yourself if you REALLY want to program your own OS and why. Your own answers will help you learn exactly what it is you want to accomplish.
You don't need to program another operating system if you only want to learn about hardware programming for example. Only program an OS if you have a good reason to. And yes, because you want to "learn" is a good reason/answer.
There is a HUGE thread here on this message forum with so many books to choose from.
http://www.mega-tokyo.com/forum/index.p ... eadid=1251
Go to your local library and find what you need. Do interlibrary loans if needed, or reserve books from other libraries in your area. If you're lucky you will find some good books in your local library.
Before you program an OS you need to know exactly what an OS is!
Anything compiled from QBasic will never make a true OS that runs at the system level. Even the smallest QB compiled program spans more than one 64KB segment, and thus you would need a EXE file loader, and this would require very low level programming. I used QBasic extensively for years, and there is no way in hell that it will generate the binary code needed for operating system development.
One way to learn; a place to begin is learning about the history of operating systems. Learn how Unix was developed in its early stages. Pull up some history on MS-DOS or CP/M. MINIX is a very good example operating system to learn from. Even Linux was a development spawn from MINIX.
At least take some time to learn what protected addressing mode is using the 80386 or newer CPU. Don't bother with the 80286, for it will confuse you to learn 80386 basics.
Some things you can experiment with in Quick Basic if you desire is some hardware low level programming. I?m not talking about interrupts, because those rely on services that wont exist when you actually run a real home brewed operating system.
You can program the floppy disk drive using INP and OUT. Some things may need PEEK and POKE but remember that this will be of little help when you learn protected mode programming, if you do.
I?m sure you have seen simple programs in Quick Basic to control the keyboard lights. Simple routines like this is some things that will interest you when developing an OS.
Learn how to program the display using NOTHING more than PEEK/POKE/INP/OUT. Try and make a full display driver that can scroll and manipulate the cursor using only those four Quick Basic functions.
QB may be a good tool to help you learn I/O programming for real-address mode programming, but the information is almost useless for protected 80386 mode.
Most of all, ask yourself if you REALLY want to program your own OS and why. Your own answers will help you learn exactly what it is you want to accomplish.
You don't need to program another operating system if you only want to learn about hardware programming for example. Only program an OS if you have a good reason to. And yes, because you want to "learn" is a good reason/answer.
Re:QB OS DEV (D-OX OS)
Sorry for the TEMPERTAMTRIUM. I have been under a bit of stress of the late. Sorry.... Post away, and also I ask all to vote in my poll.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:QB OS DEV (D-OX OS)
tempertamtrium ? what's that ?Alpha Zetta Z wrote: Sorry for the TEMPERTAMTRIUM. I have been under a bit of stress of the late. Sorry.... Post away, and also I ask all to vote in my poll.
and, sorry if it sounds rough, but seing "i ask all to vote in my poll" just discourage me to do so ...
Re:QB OS DEV (D-OX OS)
He meant "temper tantrum" - a fit, an outburst.
Every good solution is obvious once you've found it.
Re:QB OS DEV (D-OX OS)
Just out of curiosity, how will your ?OS? work? I?m thinking a virtual machine/OS (like JavaOS) would be neat. If it were fast enough, it would make a good piggy-back OS for old MS-DOS, to make MS-DOS feel like it?s more than it is. I?ve thought about doing something like this in the past. What?s your plans?
Re:QB OS DEV (D-OX OS)
His plan is to abandon QB, read his other posts...