AWESOME NEWS: Romtoc (not on Scratch) has made us a mirror site! http://bucuresti.romtoc.net/mirrors/freebie/!
Hey guys, I'm making an OS called Freebie in assembly. I just started it today (11-20-11), so it isn't much yet.
Support us!
Put this in your signature to help support us!
[url=http://scratch.mit.edu/forums/viewtopic.php?id=81239][img]http://i39.tinypic.com/2vkxppf.png[/img][/url] Freebie. Not a Scratch OS, a [i]REAL[/i] OS you can boot to, by msdosdude.
Website:
freebieos.tk (freebie.goodluckwith.us)
How to edit:
Download an 8086 assembly editor (such as emu8086) and open the .asm file in the source. That's all you have to do!
Download source:
Version 0.0.2: http://freebie.goodluckwith.us/0.0.2/fr … rce002.zip
Version 0.0.1: http://freebie.goodluckwith.us/0.0.1/fr … rce001.zip
Credits to How To Do Things!
Last edited by msdosdude (2011-11-22 15:45:40)
Offline
veggieman001 wrote:
How does it work?
org 100h ; directive to create BOOT file: #MAKE_BOOT# ; Boot record is loaded at 0000:7C00, ; so inform compiler to make required ; corrections: ORG 7C00h ; load message address into SI register: LEA SI, msg ; teletype function id: MOV AH, 0Eh print: MOV AL, [SI] CMP AL, 0 JZ done INT 10h ; print using teletype. INC SI JMP print ; wait for 'any key': done: MOV AH, 0 INT 16h ; store magic value at 0040h:0072h: ; 0000h - cold boot. ; 1234h - warm boot. MOV AX, 0040h MOV DS, AX MOV w.[0072h], 0000h ; cold boot. JMP 0FFFFh:0000h ; reboot! new_line EQU 13, 10 msg DB 'Welcome to Freebie!' DB new_line, 'This is made possible by many people! You can help by adding to the source code!' DB new_line, 'Press any key to reboot this computer.', 0 ret
Basically, since it is so simple right now, it has a simple script (which BTW you can boot to if you put it on a floppy!) which includes the boot record (needed to boot to), and some lines of code that tell it to print some text on the screen.
Offline
msdosdude wrote:
veggieman001 wrote:
What language is that?
msdosdude wrote:
called Freebie in assembly
But there are different types of assembly...
Offline
veggieman001 wrote:
msdosdude wrote:
veggieman001 wrote:
What language is that?
msdosdude wrote:
called Freebie in assembly
But there are different types of assembly...
8086
Offline
msdosdude wrote:
veggieman001 wrote:
msdosdude wrote:
veggieman001 wrote:
What language is that?
But there are different types of assembly...
8086
Oh okay.
Offline
Offline
veggieman001 wrote:
How do I use it?
Well, you have to compile it and put it on a floppy, or you can use the emulator in emu8086.
Last edited by msdosdude (2011-11-27 13:54:20)
Offline
Yeah but what if I don't have any compatible floppies I'm not using? Huh?!
Offline
msdosdude wrote:
veggieman001 wrote:
How does it work?
Code:
org 100h ; directive to create BOOT file: #MAKE_BOOT# ; Boot record is loaded at 0000:7C00, ; so inform compiler to make required ; corrections: ORG 7C00h ; load message address into SI register: LEA SI, msg ; teletype function id: MOV AH, 0Eh print: MOV AL, [SI] CMP AL, 0 JZ done INT 10h ; print using teletype. INC SI JMP print ; wait for 'any key': done: MOV AH, 0 INT 16h ; store magic value at 0040h:0072h: ; 0000h - cold boot. ; 1234h - warm boot. MOV AX, 0040h MOV DS, AX MOV w.[0072h], 0000h ; cold boot. JMP 0FFFFh:0000h ; reboot! new_line EQU 13, 10 msg DB 'Welcome to Freebie!' DB new_line, 'This is made possible by many people! You can help by adding to the source code!' DB new_line, 'Press any key to reboot this computer.', 0 retBasically, since it is so simple right now, it has a simple script (which BTW you can boot to if you put it on a floppy!) which includes the boot record (needed to boot to), and some lines of code that tell it to print some text on the screen.
lol this seems cool and i found where u got that code
Offline
veggieman001 wrote:
Yeah but what if I don't have any compatible floppies I'm not using? Huh?!
Compile it into a .ISO and make a empty virtual PC in VirtualBox, and finally, load the .ISO into the virtual machine.
Offline
msdosdude wrote:
veggieman001 wrote:
How does it work?
Code:
org 100h ; directive to create BOOT file: #MAKE_BOOT# ; Boot record is loaded at 0000:7C00, ; so inform compiler to make required ; corrections: ORG 7C00h ; load message address into SI register: LEA SI, msg ; teletype function id: MOV AH, 0Eh print: MOV AL, [SI] CMP AL, 0 JZ done INT 10h ; print using teletype. INC SI JMP print ; wait for 'any key': done: MOV AH, 0 INT 16h ; store magic value at 0040h:0072h: ; 0000h - cold boot. ; 1234h - warm boot. MOV AX, 0040h MOV DS, AX MOV w.[0072h], 0000h ; cold boot. JMP 0FFFFh:0000h ; reboot! new_line EQU 13, 10 msg DB 'Welcome to Freebie!' DB new_line, 'This is made possible by many people! You can help by adding to the source code!' DB new_line, 'Press any key to reboot this computer.', 0 retBasically, since it is so simple right now, it has a simple script (which BTW you can boot to if you put it on a floppy!) which includes the boot record (needed to boot to), and some lines of code that tell it to print some text on the screen.
This could help me with writing WindozeNT Software Operating System...
Offline
slinger wrote:
nathanprocks wrote:
lol this seems cool and i found where u got that code
Sorry dude (msdosdude) but after this statement, this isn't that cool after all
I'm gonna dump that code after I learn more assembly.
Offline
Really cool. That website you got help from is really old. You know assembly Operating Systems can be booted without a floppy right? I am going to try it with a disk...
Offline
Wait a second... Assembly 8086 isn't used anymore!
It only existed to right for a really old computer processor!
Intel 8086
Offline