Skip to content

vcarosadev/VBoxVideo

Repository files navigation

VirtualBox Video Driver for NEXTSTEP 3.3 and Rhapsody Developer Release 2

The code provided here can be distributed according to GNU Public License v3 (GPLv3), see the full license here.

Overview

VBoxVideo is a video driver for Oracle VirtualBox virtual machines with NEXTSTEP 3.3 or Rhapsody Developer Release 2 operating systems.

The driver has been tested on VirtualBox Version 5 on a Windows 7 host and VirtualBox Version 6 on a Windows 10 host with both NEXTSTEP 3.3 and Rhapsody Developer Release 2.

Building the driver

The driver has been built in NEXTSTEP 3.3 using the Driver Kit version 4.5.

In Project Builder open the file PB.project in the root folder, click on Builder and then on Build. Please note that there is also a PB.project file in the VBoxVideo_reloc.tproj folder, it's a subproject and is automatically loaded by the main project.

After a successful build in the main project folder there will be the built driver: a folder named VBoxVideo.config.

In the build folder of the repository there is also the archive file VBoxVideo.config.tar which contains the driver already built.

Installing the driver

The following paragraphs will guide you in the process of installing the VBoxVideo driver in NEXTSTEP 3.3 and Rhapsody Developer Release 2 on VirtualBox.

While the driver is the same for both the operating systems, they use a different and incompatible file system so in the build folder you will find a floppy image for each OS.

Please note that every time you change the video mode (i.e. the resolution or the color depth) a restart of the operating system is required.

NEXTSTEP 3.3 - Existing installation

In an existing installation follow these steps:

  1. Mount in the virtual machine floppy the disk image file NEXTSTEP_VBoxVideoDriver.img you can find in the build folder
  2. In Workspace Manager menu select Disk -> Check for Disk
  3. Double click on the Floppy named VBoxVideo, you can find the driver at the following path: private\Drivers\i386
  4. Copy the folder VBoxVideo.config from the floppy disk to the me folder
  5. Double click on VBoxVideo.config in the me folder, the Configure App will open and a message will inform you of the correct installation
  6. Click on the Monitor icon on top and delete the currently installed driver by clicking the Remove button. This will avoid warnings on conflicting resources
  7. Click on the Add button, the Configure App should suggest the installation of the VirtualBox Video Adapter driver, click Add
  8. You can select the preferred video mode by clicking the Select... button, the default video mode is 1024x768 with 16M colors
  9. Once completed, click Done then Save. Close the Configure App by selecting Quit in the Configure menu
  10. Remove the image from the virtual floppy by selecting Disk -> Eject in the Workspace Manager menu. Unmount the image from the virtual floppy
  11. Restart the operating system

NEXTSTEP 3.3 - Operating System Setup

During the operating system setup follow these steps:

  1. After selecting the drivers for the CD-ROM and the Hard Drive mount in the virtual machine floppy the disk image file NEXTSTEP_VBoxVideoDriver.img you can find in the build folder
  2. Enter 2 to load additional drivers from a disk, enter 1 to install the Virtual Box Video Adapter driver
  3. Enter 1 to continue the setup process
  4. During the installation you will be prompted two times to insert the disk image NEXTSTEP_VBoxVideoDriver.img

Rhapsody Developer Release 2 - Existing installation

In an existing installation follow these steps:

  1. Mount in the virtual machine floppy the disk image file Rhapsody_VBoxVideoDriver.img you can find in the build folder
  2. In Workspace Manager menu select Tools -> Check for Disk
  3. Double click on the Floppy named VBoxVideo, you can find the driver at the following path: private\Drivers\i386
  4. Copy the folder VBoxVideo.config from the floppy disk to the user folder
  5. Double click on VBoxVideo.config in the user folder, the Configure App will open
  6. If you are logged in as a normal user Rhapsody will ask for the root user credentials, enter the credential and click Login
  7. The Configure App will show a message once the driver is successfully installed, click OK
  8. The Configure App will suggest to use the newly added driver, to avoid conflict with the existing video driver click Cancel
  9. Delete the currently installed video driver by clicking the Remove button
  10. Click on the Add button, the Configure App should suggest the installation of the VirtualBox Video Adapter driver, click Add
  11. You can select the preferred video mode by clicking the Select... button, the default video mode is 1024x768 with 16M colors
  12. Once completed, click Done then Save. Close the Configure App by clicking on Quit
  13. Remove the image from the virtual floppy by selecting Tools -> Eject in the Workspace Manager menu. Unmount the image from the virtual floppy
  14. Restart the operating system

Rhapsody Developer Release 2 - Operating System Setup

During the operating system setup follow these steps:

  1. After selecting the drivers for the CD-ROM and the Hard Drive mount in the virtual machine floppy the disk image file Rhapsody_VBoxVideoDriver.img you can find in the build folder
  2. Enter 2 to load additional drivers from a disk, enter 1 to install the Virtual Box Video Adapter driver
  3. Enter 1 to continue the setup process
  4. During the installation you will be prompted two times to insert the disk image Rhapsody_VBoxVideoDriver.img

Supported Video Modes

This table shows the video modes supported by the VBoxVideo driver (default in bold):

Resolution Bits per Pixel Number of Colors
640 x 480 16 (1 bit unused) 32K
800 x 600 16 (1 bit unused) 32K
1024 x 768 16 (1 bit unused) 32K
1152 x 864 16 (1 bit unused) 32K
1200 x 1024 16 (1 bit unused) 32K
1600 x 1200 16 (1 bit unused) 32K
640 x 480 32 (8 bits unused) 16M
800 x 600 32 (8 bits unused) 16M
1024 x 768 32 (8 bits unused) 16M
1152 x 864 32 (8 bits unused) 16M
1200 x 1024 32 (8 bits unused) 16M
1600 x 1200 32 (8 bits unused) 16M

Known Issues

Sometimes there is a failure when calling an OS function that should update the memory ranges used by the video adapter (this happens in both NEXTSTEP and Rhapsody). As a result of this failure it's impossible to map the correct range into the OS memory space.

For VirtualBox version 5 and 6 this isn't a blocking issue because the video frame buffer always starts at the fixed address 0xE0000000. If in future releases of VirtualBox the frame buffer is dynamically set during the virtual machine startup the driver may not work anymore if the OS call fails.

Acknowledgments

I would like to thank you the following people:

  • Jason at "Stuff Jason Does" for this tutorial on how to install OpenStep. This project started after playing with the OS installations
  • neozeed at "Virtually Fun" for the various articles on NEXTSTEP, Rhapsody, Darwin and OpenStep
  • David Crosby (crosby@atomicobject.com) and Bill Bereza (bereza@atomicobject.com) and their project VMwareFB_OpenStep, a video driver for VMWare. Their work has been a great source of tips on how to write a driver for OPENSTEP/NEXTSTEP
  • the people at "NeXT Computers" that made available a lot of files and documentation about the NeXT Computer and the related Operating Systems
  • the people at "WinWorld" a treasure chest of ancient software including Rhapsody Developer Release 2 for Intel

About

VirtualBox Video Driver for NEXTSTEP 3.3 and Rhapsody Developer Release 2

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published