flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Operation Operating System |
Author |
|
Mike S 08 Aug 2004, 05:59
Hello Flat Assembler community,
This is my first post, and I'm excited to be a part of the fasm community. I'm a highschool student and have been programming for roughly two years in C++ and various basic languages. My goal, is to utilize FASM and create an operating system over time. I'm in need of some guidence though. Honostly, I've never done any ASM programming in my life, other than the "hello world" tutorial provided with fasm. It'd be crazy to jump to an OS for my first project, so I wonder where are some good resources (Other than this site of course) to begin programming in assembly and build my way up to take on a OS project? Here's a couple links I've found already that will help me achieve my goal, and hopefully others in my same position. http://www.osdev.org/index.jsp http://www.techtutorials.info/assembly.html http://lsi.uniovi.es/~labra/APL.html http://www.sandpile.org/ Any word of wisdom, links, or general advice for a novice fasm programmer would be great. Thanks for your time. Mike (btw, I was quite inspired by Minuet OS ) |
|||
08 Aug 2004, 05:59 |
|
crc 08 Aug 2004, 06:12
http://my.execpc.com/~geezer/ has a lot of good stuff, including several small, but working kernels, and links to small OSes in various lanuages. Also see http://www.osdever.net/
I have two main bits of advice: 1) Get Bochs (bochs.sf.net) and learn to use it - it WILL save you a lot of time when debugging 2) Have a LOT of patience, especially when you're getting started |
|||
08 Aug 2004, 06:12 |
|
Nikso 08 Aug 2004, 10:43
CAUTION!!!
Very important things to remember when you wrok on an assembler OS: 1. This function will not work the first time 2. This function will not work the second time as well 3. Third time maybe the working one (but probably not) 4. When it will work (if it will):
b) exult, glorify your serlf, jump all arround the house NOTE: if the power go down, you have forgot point 4.a for sure c) Leave yours work untill your moral will return normal 6. never mind, I've an asmOS to work on. Rturn to point 1 and loop Because you are new to the OS word, you will soon know what Triple Fault is. You will learn to hate IT. Have a nice programming time ^_^ |
|||
08 Aug 2004, 10:43 |
|
ASHLEY4 08 Aug 2004, 11:07
Hi Mike S, I would go here http://alexfru.chat.ru/epm.html and get this program "bootprog.zip" ,when put on a floppy ,you can boot any com/exe from the disk, you can Not use dos int's, but you can use bios int's.
So all you do to boot your hello world program is use bios int's instead of dos int's, rename your hello world com file as bootprog.com put it on the floppy disk like you would any other program and reboot, and you should get hello world". Great for testing you os etc. Also the best way to learn asm is to make simple dos game's, you can start very simple. first you just get into graphic mode and put a pixel,than you put a block of pixels,then you move them with the keys in put, and so on. In the end you have a pong game or space-invaders. \\\\|//// (@@) ASHLEY4. |
|||
08 Aug 2004, 11:07 |
|
crc 08 Aug 2004, 18:22
If you're going for 32-bit, protected mode, start small. You don't need multitasking, libraries, or a lot of system calls to get started. You don't even need complex drivers. For example, I have a 32-bit protected mode operating system kernel that runs my Forth system. It's only 286 lines of assembly, including blank lines, comments, and a boot sector. Hard drive support adds another 100 lines to that. That's a fairly minimal kernel (keyboard, text screen [tested up to 100x30 resolution], switch to pmode, and so on), but it's enough to run a real programming language. Adding multitasking shouldn't be require more than 100-200 extra lines. Graphics are also trivial, at least for 8-bit linear modes (I've used 320x200 up through 800x600). If you want to look at my OS code, it's at http://retroforth.org/release/rf71-native.zip The source is in NASM at the moment, but I should have it fully ported over to FASM by the end of the month
Remember: Full scale desktops and all that may be nice, but you can do a LOT with just a simple kernel! |
|||
08 Aug 2004, 18:22 |
|
Mike S 08 Aug 2004, 21:33
Thanks for all your advice and the great links. Keep em coming.
I recently setup another computer, so I have two systems that can share the same monitor. I think I will take your advice Ashley and try to build a pong clone in ASM and then work on a boot loader. Thanks for the source crc, I'll look into it. |
|||
08 Aug 2004, 21:33 |
|
ASHLEY4 09 Aug 2004, 00:41
Mike S , you can down load the code and com file for my pong game here: http://www.falconrybells.co.uk/
Its in tasm,but it may still help. Also this is good for learning asm ,its a asm interpreter,that lets you see the regs change as you step throw your code, it's called Ketman and you can get it here http://www.btinternet.com/~btketman/tutpage.html \\\\|//// (@@) ASHLEY4. |
|||
09 Aug 2004, 00:41 |
|
Mike S 09 Aug 2004, 18:14
Thanks again for all your links Ashley.
|
|||
09 Aug 2004, 18:14 |
|
vbVeryBeginner 20 Aug 2004, 11:53
Quote:
care to tell me how you do it? coz i too, got 2 system but 1 monitor only. sincerely, vbVeryBeginner. |
|||
20 Aug 2004, 11:53 |
|
cod3b453 25 Aug 2004, 00:49
|
|||
25 Aug 2004, 00:49 |
|
Gomer73 25 Aug 2004, 17:01
For the two monitor thing, it is easy, just unplug the monitor from one computer and plug it into the back of the other computer.
You can also buy monitor/keyboard switching hardware but it might be considered a waste considering your situation. |
|||
25 Aug 2004, 17:01 |
|
Tomasz Grysztar 25 Aug 2004, 17:32
Yeah, a good KVM switches are not cheap.
|
|||
25 Aug 2004, 17:32 |
|
vbVeryBeginner 26 Aug 2004, 14:26
ok, thanks... gomer and privalov, i will try to buy a second-hand monitor :p
|
|||
26 Aug 2004, 14:26 |
|
neonz 26 Aug 2004, 18:07
Nikso wrote: 5. yours girlfriend have leave you Mine haven't |
|||
26 Aug 2004, 18:07 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.