* * * * *

                    “I can crack this! Or rather, fix it!”

More on V2_OS. [1] I wrote to them yesturday telling them the problems I
encountered. I got the following reply:

> V2_OS currently assumes a hard disk eventhough it doesn't do anything with
> it (it only looks at it to find partitions). This is a thing that should be
> removed…
>
> It is completely harmless to run it on any PC, ant [sic] won't touch your
> HD's. The only commands you should not use is format and syscopy.
>

Even the Linux bootloader doesn't check for the existance of a harddrive!

I noticed they had a newer version of the disk image, so I downloaded that
and tried it. Same result  [2] as two days ago. So I figure, “Hey! I know
assembly. This is written in Assemly. I can takle this. I can crack this! Or
rather, fix this!”

I can say, yes, it's written in Assembly. Not very good Assembly. Or rather,
it looks like it was written by someone under the mistaken notion that the
80x86 line is RISC-like in nature. There are many sequences like:

-----[ Assembly ]-----
       Jcc     somewhere
       NOP
       NOP
-----[ END OF LINE ]-----

On several RISC CPUs (like the MIPS) the instruction following a jump of
control is executed; it's called the branch delay slot. The author here (and
I'm not quite finished with the bootsector!) seems to think the 80x86 has a
branch delay slot. Then there is:

-----[ Assembly ]-----
       MOV     AL,[var]
       INC     AL
       MOV     [var],AL
       CMP     AL,somevalue
-----[ END OF LINE ]-----

Grating. Come on … it should be:

-----[ Assembly ]-----
       INC     byte ptr [var]
       CMP     byte ptr [var],somevalue
-----[ END OF LINE ]-----

But there are a lot of sequences where data is loaded into a register,
manipulated (simply) and stored back out to memory. Again, this is something
common on RISC like CPUs, but the 80x86 line can manipulate memory directly,
without having to load into registers.

Now, this thing claims to be the fastest OS for the 80386 and higher. I'd
like to see it go against something like QNX. [3]

[1] http://www.v2.nl/v2_os/
[2] gopher://gopher.conman.org/0Phlog:1999/12/08.1
[3] http://www.qnx.com/iat/index.html

Email author at [email protected]