Analize the code

Post here questions, problems and suggestions in English language
  • 1) You can get last vesion on svn. See http://kolibrios.org/?p=SVN&kind=dir&loc=/kernel.
    2) You cannot run KolibriOS on text mode. The KolibriOS is run only graphical mode.
  • 1) the latest version is recomended
    2) you could run KolibriOS in a text mode by modifying the kernel. :) But there is no application that works in this mode... :(
  • 2) you could run KolibriOS in a text mode by modifying the kernel. :) But there is no application that works in this mode... :(
    Could your shell be execute? :wink:

    http://kolibrios.org/?p=SVN&kind=dir&lo ... stem/shell

    From there, Could graphic mode be executed? :twisted: Like the old MS-DOS and Windows 3.11, Could it be possible? :roll:


    Thanks :D
  • I wrote there are no KolibriOS application that works in text mode! (some applications like AC97 may run, but nobody tested it)

    MS-DOS and Windows 3.11 applications will not be executed of course! It's KolibriOS!

    The Shell will not be executed also (it uses console.obj library that works in graphical mode). But you could rewrite the library and then the Slell will probably run. :)

    You could try the text mode kernel and the launcher by Serge:
    download/file.php?id=642
  • I have tried to compile into windows and I've got the next bug: :cry:
    C:\kolibri\dos2009>fasm launcher.asm
    flat assembler version 1.67.38 (1372519 kilobytes memory)
    proc32.inc [2]:
    $Revision: 750 $
    error: invalid name.
    Thanks :D
  • you may comment this line out (prefix it with a ; ) you dont need it.

    The problem is caused by that fact that you're not using macros.inc, or an old version of it.
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • May be "the problem is caused by that fact" that we have different version of macros.inc on SVN :D
    for example, in svn/programs branch ...
  • the version in /programs should be most up-to-date
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • I've changed the launcher.asm program: :twisted:

    It must wait to push a key and it rewrites "hello word!", but this doesn't work. :roll:
    .exit:
    mov ah, 08h
    int 21h
    jmp start
    Do you know where the bug is? :cry:

    Thanks :D
  • It isn't a bug, it is your stupidity. KolibriOS is not MS-DOS!!! Don't use it's (0x21) interrupt!
  • Albom
    Ai-Yai-Yai! Insult not good!
    Last edited by Mario on Thu Apr 23, 2009 8:20 am, edited 1 time in total.
  • A possible solution is this:
    include 'macros.inc'
    include 'proc32.inc'

    use32

    db 'MENUET01'
    dd 1
    dd start
    dd i_end
    dd mem
    dd mem
    dd 0
    dd 0

    align 4
    start:
    mov eax, 73
    int 0x40

    mov [txt_mem], eax

    mov edi, eax
    mov ecx, 40*25

    mov eax, 0x07000700
    cld
    rep stosd
    xor eax, eax
    xor esi, esi
    xor edi, edi
    mov ebx, 1280
    mov ecx, 1024
    mov edx, 0x01000000
    int 0x40

    mov ebx,-1 ; row
    again:
    add ebx, 1 ; row
    cmp ebx, 24
    je clear
    mov eax, 1 ; column

    mov esi, msg_hello
    pusha
    call txt_out
    popa

    ;read key
    mov eax,10 ; wait here for event
    mcall ; do it
    mov eax,2 ; just read it and ignore
    mcall ; do it
    ;end read key

    jmp again
    mov edi, 480
    add edi, [txt_mem]

    mov eax, 10
    int 0x40
    @@:
    mov eax, 10
    int 0x40

    cmp eax, 2
    jne @B

    int 0x40
    cmp eax, 1
    je @B

    cmp al, 2
    je @B

    mov al, ah
    mov ah, 0x07

    stosw
    jmp @B


    .exit:

    mov eax, -1
    int 0x40


    align 4
    txt_out:
    mov edi, [txt_mem]
    lea edi, [edi+eax*2]
    lea ebx, [ebx+ebx*4]
    shl ebx, 5

    add edi, ebx

    mov ax, 0x0700

    @@:
    lodsb
    test al, al
    jz .done
    stosw
    jmp @B
    .done:
    ret
    clear:
    mov ebx, -1
    clear1: add ebx, 1 ; row
    mov eax, 1 ; column

    mov esi, msg_white
    pusha
    call txt_out
    popa
    cmp ebx, 24
    jne clear1
    ret

    msg_hello db 'Hello world !', 0
    msg_white db ' ', 0

    f dd 1

    i_end:

    align 4

    txt_mem rd 1

    align 16

    rb 2048 ;stack
    mem:
    Thanks

    Image
  • angel
    Only one comment - if you try to write a virus, you do not have to rely on our assistance.
    Actually I do not understand your goal - what you are trying to do?
  • Who is online

    Users browsing this forum: No registered users and 19 guests