Octa OS

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
octavio

Octa OS

Post 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.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Octa OS

Post 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...
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Octa OS

Post by Pype.Clicker »

btw, your sourcecode is somehow a complete mystery to me ...
octavio

Re:Octa OS

Post 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?
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Octa OS

Post 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 ?
octavio

Re:Octa OS

Post 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.
octavio

Re:Octa OS

Post 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.
octavio

Re:Octa OS

Post 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.
octavio

Re:Octa OS

Post 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.
User avatar
bubach
Member
Member
Posts: 1223
Joined: Sat Oct 23, 2004 11:00 pm
Location: Sweden
Contact:

Re:Octa OS

Post by bubach »

The download link isn't working.
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub
octavio

Re:Octa OS

Post 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.
User avatar
bubach
Member
Member
Posts: 1223
Joined: Sat Oct 23, 2004 11:00 pm
Location: Sweden
Contact:

Re:Octa OS

Post by bubach »

PM me if you need hosting. BTW, I think you mean upload, not download.
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub
octavio

Re:Octa OS

Post 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/
octavio
Member
Member
Posts: 94
Joined: Wed Oct 25, 2006 5:12 am
Location: Barcelona España
Contact:

Re:Octa OS

Post 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.
xyz1
Posts: 14
Joined: Fri Jan 05, 2007 8:15 am

Post by xyz1 »

Octavio do you plan to write some small documentation, about octasm?
Post Reply