Saturday, July 31, 2004

VMX is aliiiiiiive

My assembler and vmx are slowlying being tested.
This will be the basis of my operating system.

Not bad considering all my base code is in England. This new assembler + vm was written over a period of 4 days. Guess this supplants what I have in england. Also got pages and pages of notes in freehand to transcribe onto the computer.

Compiles test.vsm

sgeorge@wolfpack ~/source/vmxvmxasm/vmxasm test.vsm test.vmx

VMXASM Jul 31 2004 20
:20:12
Pass 1
building code and label offsets
        mov r00
,0x00000000      0A 00 00 00 00 00 00 00
        call 0x00000000         08 00 00 00 00 00 00 00
        
xor r00,r00             10 00 00 00
        
xor r01,r01             10 00 01 01
        system                  0D 00 00 00
        push r01                05 00 01 00
        push r02                05 00 02 00
        mov r02
,r00             09 00 02 00
        
xor r00,r00             10 00 00 00
        mov r01
1              0A 00 01 00 00 00 00 01
        system                  0D 00 00 00
        pop r02                 06 00 02 00
        pop r01                 06 00 01 00
        pop r15                 06 00 0F 00
        db 4C
,6F,6F,6B,69,6E,67,20,61,74,20,79,6F,75,20
           66
,72,6F,6D,20,74,68,65,20,56,4D,58,21,0D,00


Pass 2 
:: Building correct label offsets
Linking [MyString] at 0x00000044 to 0x00000004
Linking [PrintString] at 0x0000001C to 0x0000000C
done
!
Create Image
Relocation 0x00000004

Now runs test.vmx in the VM

sgeorge@wolfpack ~/source/vmxvmx/vmx test.vmx

main
.c Startup main.c Jul 31 2004 20:17:28
cpu
.c VMInitialising.
mem.c Freeing All VM memory pages
mem
.c Initialising memory pages
mem
.c Allocating 16 x 16kb pages
mem
.c Allocated 16 x 16kb pages
cpu
.c Setting Dummy system handler
cpu
.c Setting VM System Call pointer 0x004010F0
cpu
.c Issuing VMReset
cpu
.c Setting VM System Call pointer 0x004020B0
main
.c Loading File test.vmx at 0x00000000
main
.c VMX executable v1.1
main
.c Loading 00000062 at 0x00000000
main
.c Doing relocations
main
.c Relocating 0x00000004

Looking at you from the VMX
!
sys.quit

cpu
.c VMShutdown
mem
.c Freeing All VM memory pages
main
.c Shutdown

Posted by Stu on 07/31 at 11:28 AM Permalink to this post.
Filed Under : Development
Comments are closed Commented on by (4) people. Read those Comments Here

Linked To by (0) blogs. Get a Trackbacks link here

Athene

Ive been poking around with the windows installable version of Athene and Ive decided I really dont like DML (dynamic markup language). Its a cool idea to be able to write full GUI programs with some tiny amount of XML. To me, it looks worse than perl. Maybe to store a user interface description layout in XML is one thing. To use it to program applications is another.

I have a full OEM CD of Athene coming in the mail, and if I do any development for it, they will be native applications, not DML apps.

Posted by Stu on 07/31 at 04:43 AM Permalink to this post.
Filed Under : Development
Comments are closed There are no comments on this entry.
Linked To by (0) blogs. Get a Trackbacks link here

QEmu, a much better Bochs alternative

I have been using and testing QEmu lately, instead of Bochs, and its amazing. QEmu has come a long way very quickly. Right now its installing my BeOS 4.5 CD and its not having any difficulty at all. Something VMWare Workstation and Bochs couldnt do.

Im running a nightly build (20040730). When it gets a nice windows interface (assuming...), it will be quite kickass and make Bochs obsolete. I think bochs is already obsolete pretty much already anway.

QEmu already has a working PCI interface which is a godsend to hobbyist osdevelopers, which is another thing Bochs lacks.

QEmus biggest boast is its multi architecture emulation. Currently it can emulate x86-32, PowerPC-PREP, PowerPC-PowerMac.

Aside from architectures it can run Linux binaries (from inside linux) of several platforms, Linux X86, Linux Sparc V8, Linux ARM, Linux PowerPC.

Until I get back to England and test it on my laptop, I cant really tell how good or bad QEmu’s built in NE2000 support is. I know Bochs really sucks for inbuilt NIC’s. You have to have external tools and such. Its a real PITA. Im hoping QEmu has it all native.

It will be nice and speedy for testing my osdev stuff. But I dont know yet if I will give up my paid for and highly prized VMWare Workstation. Put the VMWare front end on QEmu and Ill think about it. What would be best for *me* would be if QEmu supported VMWare disks nativly. I know bochs can convert VMWare 3 images to flat style images..  If the format for VMWare 4 disks were known, I wouldnt mind hacking in support to make them native in QEmu. Then I wouldnt need to faff about and have two separate setups with VMware, and QEmu for testing…

QEmu homepage here

QEmu Nighlty Windows Build here (choose build you want).

QEmu Windows info and Tips here

The Morphix QEmu WIKI is here

Posted by Stu on 07/31 at 04:29 AM Permalink to this post.
Filed Under : Development
Comments are closed There are no comments on this entry.
Linked To by (0) blogs. Get a Trackbacks link here

Page 1 of 1 pages