Page 1 of 3

Octa OS

Posted: Tue Oct 18, 2005 7:33 am
by octavio
I have upload my OS on my web page.
http://www.terra.es/personal2/t933191278/home.htm
post reports about it on this thread.

Re:Octa OS

Posted: Wed Oct 19, 2005 4:10 am
by Pype.Clicker
as i said, nice and colourful. Impressive collection of demos (even if i couldn't figure how to _play_ tetris).

The mouse behaviour is sometimes hard to figure (e.g. right-click to go further in a menu, left click to go back to previous menu). The "middle-click" thing for starting the menu doesn't work quite properly imho: if you keep the button pressed for too long or move while it is pressed, you can quickly come with a dozen of window opened at a given time ...

yet i managed to figure i just had to press "ESC" to get rid of a window.

If you have issues with multi-function devices for PCI enumeration, i suggest you get a look at our PCI page on the FAQ: i remember i posted tips to get multi-functions devices handled properly...

Re:Octa OS

Posted: Wed Oct 19, 2005 4:14 am
by Pype.Clicker
btw, your sourcecode is somehow a complete mystery to me ...

Re:Octa OS

Posted: Wed Oct 19, 2005 5:12 am
by octavio
Pype.Clicker wrote: even if i couldn't figure how to _play_ tetris.
assuming that you have at least a 105 keys at keyboard, use
arrow keys, and also for the menu.There are a few .txt files with some explanations, select 'help' on the menu.
The sources are on the .asm files ,the assembler is included into the kernel ,files in directory 'src' are the sources of the kernel starting by 'kernel.asm', files in directory 'lib' are assembled at boot time starting by 'autoexec.asm', files
in directory 'progs' are assembled at run time.

please,can you tell me the url for the faqs?

Re:Octa OS

Posted: Wed Oct 19, 2005 6:32 am
by Pype.Clicker
sure.

http://www.osdev.org/osfaq2/

you can reach it by clicking the banner or the :OSFAQ: link in my signature too ;D

If i understood correctly, your ASM sources are actually processed by an assembler of your own that looks much like a 'middle-level language', right ?

I'm quite surprised, for instance, by the compactness of sourcecode for "fire.asm" ...

Code: Select all

LANG OCTASM,0.1 \\RD\OCTA.ASM
{gui\new\t3(320,240,"%nb fire" )wait_ms1(40)
 edi=Paleta xor eax,eax
# stosd add eax,40100h cmp ah,63 jc <1
# stosd add eax,0fd0002h inc ah jns <1
# stosd inc al sub ah,2 jnz <1
#l0 ebp=[winx] ecx=ebp shl ecx,7 ecx=ecx+ebp*2
 edi=[img] mresize() [img]=edi
#l1 edi=ebp shl edi,7 add edi,[img] ecx=ebp
 eax=[rnd] shr ecx,2
# ebx=eax+1 rol eax,9 sub ebx,eax sub eax,ebx stosd loop <1
 [rnd]=eax
 esi=[img] ecx=ebp shl ecx,7
# eax=b[esi-1+ebp] bx=[esi+ebp]
 add al,bl adc ah,0
 add al,bh adc ah,0
 add al,[esi+ebp*2] adc ah,0
 shr eax,2 sub eax,1 adc eax,0
 [esi]=al inc  esi loop <1
 al=11 setvideofuncion()
 d[bmp]=[img]
 d[paleta]=Paleta
 esi=[winy] ebx=esi shr ebx,7
 edx=esi and edx,127 sub edx,126 esi=128
 eax=0 ecx=ebp jmp >2
# sub d[bmp],ebp inc edx
# lh2() dec bh jns <2
# bh=bl inc edx dec esi jnz <2
# getd() jnc >1
 wait_ms2(40) jnc l1
 del_msg()
 cmp [winx],ebp je <1 jmp l0
# edi=[img] free() ret
#rnd dd 0
#img dd 0
#Paleta rb 1024}


first of all, i'm unsure about the meaning of "#"-started lines. Are they commented ? If you had a document explaining roughly the structure of that language, i'd be curious to get a look about it ...


Oh, and just to make sure, does everything in your OS runs at kernel level ? is there a way to make "system calls" or are the applications linked directly with kernel code ?

Re:Octa OS

Posted: Wed Oct 19, 2005 11:11 am
by octavio
If i understood correctly, your ASM sources are actually processed by an assembler of your own that looks much like a 'middle-level language', right ?
Yes ,is a assembler with allows to use a few compiled instructions to make thinks easier, like:
d[v1]=[v2] -> push d[v2] pop d[v1]
pixel(eax,edx) -> push edx push eax call pixel
I'm quite surprised, for instance, by the compactness of sourcecode for "fire.asm" ...
The program makes calls to system code ,this reduces a bit
the required code.
The only limitation of assembly language should be portability
most advantages of HLL can be implemented in assembly, and thats what i will try to do with nexts versions of Octasm .
first of all, i'm unsure about the meaning of "#"-started lines.
'#label' is the same that 'label:' in others assemblers
'#' is a anonymous label referenced by '<1' the idea was to
make the labels more visible ,perhaps was a wrong decision but i have to experiment.
Octasm language is explained in the file \src\octasm\readme.txt this file is for the DOS version wich is near the same, the floppy uses fat12 fs so you can read it with many OS ,or using the ?fview? program select the file using arrow keys '->' to enter a subdirectorie and then select
'aplic\edit txt' on the menu.
Oh, and just to make sure, does everything in your OS runs at kernel level ?
yes ,this makes things simpler, multiple memory spaces will be implemented later.
the applications are linked directly with kernel code like overlays.
kernel code also include the code assembled at boot time in in 'lib' directorie.

Re:Octa OS

Posted: Sun Jan 01, 2006 5:45 pm
by octavio
Happy new year.
I have download version 0.19 of my Os
In the last version i have added a installation program, a disk partitioner
and a iso9600 image for booting from cd.
Also started to write programing docs.

Re:Octa OS

Posted: Wed Apr 12, 2006 1:31 am
by octavio
updated version 0.193
this one includes a port of Fasm
Octasm now supports 'Elf relocatable' files ,so it should be possible to write
aplications with other compilers too.

Re:Octa OS

Posted: Thu Jul 27, 2006 6:49 am
by octavio
updated version 0.196
I have corrected a few bugs did a port of the zlib and added code for png,pcx files.

Re:Octa OS

Posted: Thu Jul 27, 2006 3:02 pm
by bubach
The download link isn't working.

Re:Octa OS

Posted: Fri Jul 28, 2006 6:44 am
by octavio
bubach wrote: The download link isn't working.
something strange happened,it was working yesterday but today the files were erased.I have download it again and it works by now.
No it doesn?t work any more ,i will see what is happening.

Re:Octa OS

Posted: Fri Jul 28, 2006 2:02 pm
by bubach
PM me if you need hosting. BTW, I think you mean upload, not download.

Re:Octa OS

Posted: Fri Aug 04, 2006 7:54 am
by octavio
bubach wrote: PM me if you need hosting. BTW, I think you mean upload, not download.
Yes i mean upload,thanks for the hosting
My new web page:
http://octaos.joox.net/

Re:Octa OS

Posted: Mon Jan 29, 2007 11:30 pm
by octavio
Hello ,i have updated my web with the last version of my OS .The news are a chess game and cd\dvd\rw writer.
By default uses english keyboard and do not require mmx,but can be reassembled to use spanish keyboard and mmx.

Posted: Thu Mar 01, 2007 4:42 am
by xyz1
Octavio do you plan to write some small documentation, about octasm?