ACID OS
March 30, 2007
ACID OS is an operating system (well, not really) written in Intel 8086 assembly language and is less than 512 bytes so it can be loaded off a single boot sector. It's chief purpose is to boot quickly off of a floppy and look intimidating to spectators, like something from a movie. At the moment, ACID OS flashes a bunch of random colors and characters around the text, 'VIRUS, your computer is dead'. In the future I might extend the size of the image, write some C code and have it do other cool things like beep and show skulls and crossbones. I wrote ACID OS back in 2003 when I was in high school to learn more about assembly language, BIOS, and the PC boot process. I even got a week of in-school suspension when I booted this on every computer in the school library. Update - 2008-04-30Getting ACID OS working on Ubuntu was tricky. Here is a list of packages you may need to install: $ dpkg --get-selections | grep bochs
bochs install
bochs-sdl install
bochs-svga install
bochs-wx install
bochs-x install
bochsbios installAnd here is the bochsrc file that should make things work all happy and nice. megs: 32
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
vgaromimage: file=/usr/share/vgabios/vgabios.bin
vga: extension=vbe
floppya: 1_44=acidos, status=inserted status=inserted
boot: a
log: bochsout.txt
mouse: enabled=0
ips: 15000000
vga_update_interval: 150000Download
Testimonials
The SourceHere is the source for reference if you don't want to download the zip ;
; ACID OPERATING SYSTEM
; Copyright (c) 2003 Lobstertech, Inc.
;
; This program is free software, distributed under the terms of the
; GNU General Public License v2 or later.
;
; Keep it open source pigs
;
[BITS 16] ; 16 bit code generation
[ORG 0x7C00] ; Origin location
JMP start
x DW 0
;; width 29 chars (0..28)
logo: DB "\. .! ^ ,--. $ ^ .---,"
DB " `\ /. ! | ! / + |._ "
DB " ^\ .` # <==. | + `,"
DB " `` I > \ .__, .__)"
DB " _ ___ ___ ___ _ _ ____ __ "
DB " YOUR COMPUTER IS DEAD "
start: MOV AX, 07C0h ; set this up so we can access memory
MOV SS, AX
MOV SP, 03FEh
PUSH CS
POP DS
AND AH, 0 ; set vid mode 80x25
MOV AL, 2 ; 6 is monochrome, 5 is messed up
INT 10h
AND BX, 0 ; first page, first color
MOV CX, 1 ; one at a time
AND DX, 0 ; dh = y, dl = x
MOV AH, 06h ; write char interrupt
go: MOV AL, 2
ADD AL, byte [x]
ADD AL, byte [x+1]
ADD byte [x], 7
CALL setch ; face character
INT 10h
ADD BL, byte [x] ; change color - 13 works good
ADD BL, byte [x+1]
MOV AH, 02h ; move cursor
INC DL
CMP DL, 79
JL skip
AND DL, 0
INC DH
CMP DH, 24
JL skip
AND DH, 0
skip: INT 10h
MOV AH, 09h
JMP go
setch: CMP DH, 7 ; is cursor in logo area?
JL face
CMP DH, 12
JG face
CMP DL, 10
JL face
CMP DL, 38
JG face
MOV SI, logo ; `si' stores pointer to char
MOV DI, DX ; save `dx' `di' stores dx
SUB DH, 7
loopy: CMP DH, 0
JE dox
ADD SI, 29 ; increase pointer a line
DEC DH
JMP loopy
dox: SUB DL, 10
AND DX, 00FFh ; cut off hi bits so we can add using dx
ADD SI, DX
MOV DX, DI ; restore `dx'
MOV AL, [SI] ; grab the char
CMP AL, ' '
JE fin
MOV BL, 0Eh ; yellow text on black
fin: RET
face: RET ; don't change the char
times 510-($-$$) db 0 ; Fill the rest with zeros
dw 0xAA55 ; Boot loader signatureLegal
ACID OS The programs found on this page are free software and may be used, distributed, and modified under the terms of the GNU General Public License version 2.0. These patches are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. |
Tag Cloudaccounting assembly asterisk c django erlang games hacking i18n latin1 linux mysql networking python qos speaking tc travel tutorial unicode utf8 web Archive
July 2009 Popular Content
Asterisk Voice Changer
(6908 Views) Recent Comments
Asterisk Voice Changer
on Feb 17 by Yesh |

Comments
Mortus on January 27, 2009 [Permalink]
i found 3 times in this image yext "GNU" xD
jart on February 7, 2009 [Permalink]
rms would be proud ^_____^
Post Comment