The MASM Forum Archive 2004 to 2012

General Forums => The Workshop => Topic started by: BogdanOntanu on July 13, 2006, 11:10:49 PM

Title: Solar_OS new release on 2006_07_12
Post by: BogdanOntanu on July 13, 2006, 11:10:49 PM
A new monthly release ...
for Solar_OS

Binary:  http://www.oby.ro/os/files/sol_os_2006_07_12_bin.zip
Sources: http://www.oby.ro/os/files/sol_os_2006_07_12_src.zip

New Things:

1)Sol_Tris Game
----------------------
A graphical Tetris like game
so let me know your high scores.

Funny but Sol_OS did lacked games.
(I agree we need many other things)

3)ACT_NOTIFY callback
--------------------------
For backgrund tasks.

It allows applications to run when minimized
and/or are in another hidden desktop
without adding a timer or becoming a service.

Adds better sepparation of PAINT and RUN methods.

4)ListView control
-----------------------
You know, drag the headers...
I still have to add small icons and view modes to it

5)FDISK becomes more NTFS aware
-----------------------------------
In preparations for NTFS filesystem browse.

In FDISK APP if you press Enter on a NTFS partition
and read BPB in the upcoming Details window -->
then you will find some MFT and FileRecords info

But the transition is mainly internal since analysis and
functions are added in order to support NTFS.


Ah and hopefully I have fixed the bugs kindly found by Hutch in circle drawing routines.

Title: Re: Solar_OS new release on 2006_07_12
Post by: Citric on July 14, 2006, 03:36:09 AM
Hi Bogdan

Nice to see a new release.

Are you still progressing with SolAsm? are you looking to compile Solar OS with SolAsm in the future?

Keep up the good work  :clap:

Cheers Adam
Title: Re: Solar_OS new release on 2006_07_12
Post by: Casper on July 14, 2006, 04:09:02 AM
Compiling with SolASM, I can't wait to be able to do that.  I am looking forward to adding that assembler as an option in my package.  I bet Hutch is looking forward to it, also.

Paul
Title: Re: Solar_OS new release on 2006_07_12
Post by: BogdanOntanu on July 14, 2006, 04:16:14 AM
Yes, i am still progressing with Sol_ASM also ;)

And it is indeed planned to switch Solar OS development from TASM to SOL_ASM in the future

And yes Sol_ASM  is compatible with MASM syntax also...
Title: Re: Solar_OS new release on 2006_07_12
Post by: hutch-- on July 14, 2006, 05:11:26 AM
Yerp,

It would be good to have a Bogdan assembler available.  :U :U :U
Title: Re: Solar_OS new release on 2006_07_12
Post by: Casper on July 14, 2006, 11:06:36 PM
What does YERP mean?  Is that another OZ word or does it stand for, 'Yes, Eagerly Requesting Program'

Paul
Title: Re: Solar_OS new release on 2006_07_12
Post by: Mark Jones on July 18, 2006, 07:17:49 PM
Hi Bodgan, I tried SolarOS using Virtual PC 2004 on WinXP SP2 and it's cool! But it reports my CPU speed incorrectly (1034MHz instead of 1800MHz, AMD XP 2500+ 23-bit) and I couldn't find the Tetris game (probably something I did wrong.)
Title: Re: Solar_OS new release on 2006_07_12
Post by: BogdanOntanu on July 18, 2006, 08:58:51 PM
Hi Mark,

Thank you for testing!

1)The "tetris game" is in Sol->Applications->Sol_Tris_Game (or should be)

2) It is normal for VPC to report a smaller CPU frequency, because it does not dedicate the full CPU to the virtual machine.

IMHO on a real PC the frequency reported by SOL System_Info application should be the real one.

Title: Re: Solar_OS new release on 2006_07_12
Post by: korte on November 04, 2006, 12:06:47 PM
Hi Bogdan


Binary:  http://www.oby.ro/os/files/sol_os_2006_07_12_bin.zip
Sources: http://www.oby.ro/os/files/sol_os_2006_07_12_src.zip

error this link

please send correct link...

thx

Title: Re: Solar_OS new release on 2006_07_12
Post by: trodon on November 04, 2006, 02:42:59 PM
Thanks Bogdan  :U
Title: Re: Solar_OS new release on 2006_07_12
Post by: BogdanOntanu on November 04, 2006, 08:19:18 PM
Oh well,

AT the time of this post...the sources have been available for free download...

Meanwhile, I have changed my mind and removed the sources from the package.
As it is today: only the binary is released (no sources)...



Title: Re: Solar_OS new release on 2006_07_12
Post by: BogdanOntanu on November 04, 2006, 10:52:46 PM
But then again I have changed my mind ...
so the above link for the sources is working OK.
Grab it as you still can ...  :U
Title: Re: Solar_OS new release on 2006_07_12
Post by: korte on November 05, 2006, 11:17:17 AM
Thanks Bogdan
Title: Re: Solar_OS new release on 2006_07_12
Post by: korte on November 05, 2006, 06:21:31 PM
Hi Bogdan.

Please Help
I'm using Microsoft VirtualPC.
Your OS full work.

But my litle program not work in vesa lfb mode.

My program changing video mode in vesa 1024*768 with lfb. And filling varius color to screen area.

In native dos6.22 work correct
In emulator DosBox work correct.
In emulator VPC (in XP) changing mode but filling first 64K and halt



what a problem?
How to correct lfb mode use

thx




.386p

assume cs:x_code
assume ds:x_data
assume ss:x_stack

      .model small, stdcall
      option casemap :none



x_data segment para public 'DATA' use16

x_data ends







        GDI_SetVideoMode        PROTO   :DWORD



GDI_VESA_640x400        equ 4100h ; 640x400x256
GDI_VESA_640x480        equ 4101h ; 640x480x256
GDI_VESA_800x600        equ 4103h ; 800x600x256
GDI_VESA_1024x768       equ 4105h ; 1024x768x256
GDI_VESA_1280x1024      equ 4107h ; 1280x1024x256

ModeInfoBlock   struc

     ; Mandatory information for all VBE revisions
     ModeAttributes      dw ?      ; mode attributes
     WinAAttributes      db ?      ; window A attributes
     WinBAttributes      db ?      ; window B attributes
     WinGranularity      dw ?      ; window granularity
     WinSize             dw ?      ; window size
     WinASegment         dw ?      ; window A start segment
     WinBSegment         dw ?      ; window B start segment
     WinFuncPtr          dd ?      ; pointer to window function
     BytesPerScanLine    dw ?      ; bytes per scan line

     ; Mandatory information for VBE 1.2 and above
     XResolution         dw ?      ; horizontal resolution in pixels or chars
     YResolution         dw ?      ; vertical resolution in pixels or chars
     XCharSize           db ?      ; character cell width in pixels
     YCharSize           db ?      ; character cell height in pixels
     NumberOfPlanes      db ?      ; number of memory planes
     BitsPerPixel        db ?      ; bits per pixel
     NumberOfBanks       db ?      ; number of banks
     MemoryModel         db ?      ; memory model type
     BankSize            db ?      ; bank size in KB
     NumberOfImagePages  db ?      ; number of images
     Reserved1           db ?      ; reserved for page function

     ; Direct Color fields (required for direct/6 and YUV/7 memory models)
     RedMaskSize         db ?      ; size of direct color red mask in bits
     RedFieldPosition    db ?      ; bit position of lsb of red mask
     GreenMaskSize       db ?      ; size of direct color green mask in bits
     GreenFieldPosition  db ?      ; bit position of lsb of green mask
     BlueMaskSize        db ?      ; size of direct color blue mask in bits
     BlueFieldPosition   db ?      ; bit position of lsb of blue mask
     RsvdMaskSize        db ?      ; size of direct color reserved mask in bits
     RsvdFieldPosition   db ?      ; bit position of lsb of reserved mask
     DirectColorModeInfo db ?      ; direct color mode attributes

     ; Mandatory information for VBE 2.0 and above
     PhysBasePtr         dd ?      ; physical address for flat frame buffer
     OffScreenMemOffset  dd ?      ; pointer to start of off screen memory
     OffScreenMemSize    dw ?      ; amount of off screen memory in 1k units
     Reserved2            db 206 dup (?)  ; remainder of ModeInfoBlock
ModeInfoBlock ends




x_data segment para public 'DATA' use16
gdi_seg_id      db      'GDI'

vesabuf         db      1024 dup (0)
vesasign        db      'VESA'
db 1024 dup (0)



x_data ends

x_code segment para public 'CODE' use16
GDI_ScreenAddr  dd      0
        assume  ds:x_data

GDI_SetVideoMode        proc    mode:DWORD
        mov     es,cs:[x_data_seg]
        mov     eax,4f02h
        mov     ebx,[mode]
        int     10h
        mov     ax,4f01h
        mov     ecx,[mode]
        mov     edi,offset vesabuf
        int     10h
        mov     ebx,ModeInfoBlock.PhysBasePtr
        mov     edi,offset vesabuf
        add     edi,ebx
        mov     eax,[edi]
        mov     cs:[GDI_ScreenAddr],eax
        ret

GDI_SetVideoMode        endp



x_code ends


x_code segment para public 'CODE' use16

x_data_seg dw seg x_data
x_stack_seg dw seg x_stack
d_memory_seg    dw      seg memory
d_psp_seg dw 0



start:

        mov     cs:[d_psp_seg],ds
        mov     bx,cs:[d_memory_seg]
        mov     ax,ds
        sub     bx,ax
        mov     ax,4a00h
        int     21h

mov ds,cs:[x_data_seg]

mov ax,cs:[x_stack_seg]
cli
mov ss,ax
mov sp,50000
sti

invoke GDI_SetVideoMode,GDI_VESA_1024x768


xor eax,eax
mov es,ax
toci:
mov ecx,1024*768/4
        mov ebx,cs:[GDI_ScreenAddr]

xx:
mov es:[ebx],eax
add ebx,4
dec ecx
jnz xx
add eax,010101010h
jmp toci


x_code ends



x_stack segment public 'STACK' use16

dw 25000 dup (?)

stack_pointer label word

x_stack ends


memory  segment para memory 'memmory' use16
memory  ends


end start
end



Title: Re: Solar_OS new release on 2006_07_12
Post by: BogdanOntanu on November 06, 2006, 02:12:53 AM
Sorry...

But I am not in the bussiness of correcting other people's code... not DOS 16 bits code anyway :D

You have my version that is working, and yours that is not... work it out compare results and find out why!

This is an important skill for somebody that wants to write OS or low level software...
othwerwise you will "get by" for now and hit a harder wall later on.

Usually (in this line of work) you DO NOT have a sample that is working to compare with :D

A very quick glance shows me this:
===========================
- exotic definition and usage of program segments... do you really need that?
and why is video address placed into a "code" segment?

- do you check the results of VESA BIOS calls?
Maybe the mode setup failed because some parameter was wrong
real mode 16bits code knows nothing about EBX, ESI, EDI and stuff ... use only 16bits registers :P

-From your description it looks like you have setup a BANK mode and not a LFB mode...
What is the address where you can only write 64K? is it A0000 ?

- What is the mode that fails? all? only one? do others work? lower ones like 640x480?

- int21h ? are you using DOS? do you have DOS installed in VPC?

- do you know the limits of the video board emulated by VPC?

You really need to learn to test and debug your programand and then describe a problem much better...

Throwing code at us and expecting that somebody will READ, UNDERSTAND and FIX it for you ...
is NAIVE and not well mannered at all.

And how is this related to the thread's title and SOL OS release?

The nice way to go is to create a new thread with a relevand title (like: "Failing to setup VESA mode XXX") and describe the problem as accurate as possible.

Do not worry ;) I am just amazed...not aggravated
Work it out and come back with a much better (and simpler) description of your problem.
Title: Re: Solar_OS new release on 2006_07_12
Post by: 0x401000 on February 02, 2009, 04:00:03 PM
Who has kept the last one available source SolarOS?  ::)
Title: Re: Solar_OS new release on 2006_07_12
Post by: BogdanOntanu on February 02, 2009, 06:03:37 PM
Quote from: 0x401000 on February 02, 2009, 04:00:03 PM
Who has kept the last one available source SolarOS?  ::)

I have stated that I have made a mistake by releasing Solar OS as open source. And I have kindly asked that this sources are not to be distributed, used or offered to or by anyone. I hope you will consider my request since I am the original author of this software.

There are other free an open source OS available out there or you can write your own original one .... please do respect my kind request if possible.

I am well known to be against Open source and mainly against the GPL movement and part of this is because the way the GPL movement is stealing  and managing people's code and original creations.

Another part is because I have analyzed their actions and have found that they do trick innovative people or people with free time into becoming slaves that produce free software and that "creation" is for the benefit of corporations mainly. A trick to convince poeple to work for free while other things do cost money.

Give away your creation for free and for an idealistic purpose while we ask you for money for bread, house and every other item you are not producing yourself. IMHO this is a successful manipulation where the stolen people dream of beeing free while working for free for their masters.

And unfortunately this also kills any chances of independent software developers to gain money from their creation and not from "service".

And again by copy and paste from other people's work you might be closer to a goal BUT you are also limiting your own mind capabilities to develop original code. I am sure that by creating your own you will become more inteligent and this matters more than a fast "empty" goal.

I am  open to discussions and guidance to make your own OS but I will not offer "free" or "open" source code.

I do not expect you to agree with me since the GPL movement has tremendous momentum and it is backed up by potent corporations and propaganda but at least I hope that I can get you to try to think about it on your own.

A discussion about this might get out of hands fast hence I guess you can also take it to my Solar OS forums... ;)