This project is one of my first ever attempts at computer programming in Visual Basic 6 when I was about 16 years old. It accurately simulates the main GUI of a Nokia 5110 phone in a Windows environment. I never finished the project but it would have been interesting to get the Snake minigame 🐍 running if anyone wants to continue work on it.
I realise the code is terrible in some places as it was my very first try at coding and it is very verbose. At the time I had no formal education or training as they didn't teach programming at school and I still didn't understand a lot of the fundamental concepts. Sorry 😒
Here are some screenshots of the application running under Windows 10:
The following instructions explain how to setup a Windows 95 Virtual Machine in VMware Workstation Player 17 and open the Visual Basic 6 project. If you want to take the less nostalgic route down memory lane it is still possible to successfully install Visual Basic 6 under modern versions of Windows and open the project from there.
Download and install VMWare17 from here
- Create a New Virtual Machine
- Select: "I will install the operating system later"
- Name the virtual machine: Windows 95
- Allocate the maximum disk size as 2GB
- Select: "Store fdiskvirtual disk as a single file"
- Download Dos6.21.img from https://www.allbootdisks.com/download/dos.html
- Select: "Customize Hardware..."
- Click the Add... button and select "Floppy Drive"
- Select "Use floppy image file:" and browse to the Dos6.21.img file
- Play the virtual machine
- Enter the command: fdisk at prompt and select 1, 1, Y
- Enter the command: format c:
- Download Win95 OSR2 ISO from https://winworldpc.com/product/windows-95/osr-2
- From the main menu select Player -> Removable Devices -> CD / DVD (IDE)
- In the settings dialog select "Use ISO image file:" and browse to the windows95b.iso file
- Create a new folder in the c:\ drive using the command: mkdir c:\win95
- Copy the setup files to the c:\ drive using the command: xcopy r:\ c:\win95 /s /e
- Enter the command: c:\win95\setup.exe /IS
- Search for an OEM CD-Key online. Google is your friend 😉
- Ignore the options to install the Network Adapter and Sound Card when prompted
- From the main menu select Player -> Removable Devices -> Floppy -> Settings and select "Use physical drive:"
- When Windows has finished installing click the prompt at the bottom of the screen to install VMware Tools
- Install the SVGA drive manually by right clicking desktop -> Properties -> Settings tab -> Advanced Properties -> Change... -> Have Disk... and enter the path "C:\Program Files\VMware\VMware Tools\Drivers\video" then browse for the file vmx_svga.drv
- In Display Settings set your desired monitor resolution
- Download Visual Basic 6 ISO from https://winworldpc.com/product/microsoft-visual-bas/60
- From the main menu select Player -> Removable Devices -> CD / DVD (IDE)
- In the settings dialog select "Use ISO image file:" and browse to the Visual Basic 6.0 Enterprise Edition.iso file
- Open My Computer and double click on the CD-Drive
- Install the application
- Search for an OEM CD-Key online. Google is your friend 😉
- Choose to install Internet Explorer 4.01 SP1 without Windows Active Desktop Update
- Shutdown the virtual machine safely in VMware Player
- The current version of VMware has issues creating a VM with the necessary hardware to support audio. There is a solution:
- Open the file: C:\Users<Your Username>\Documents\Virtual Machines\Windows 95\Windows 95.vmx in Notepad
- Change the hardware version configuration to virtualHW.version = "4"
- Delete any line starting with pciBridge or ending with pciSlotNumber
- Delete the following lines
- gui.exitOnCLIHLT
- hpet0.present
- vmci0.present
- vmci0.id
- Start the virtual machine in VMware Player
- From the main menu select Player -> Removable Devices -> CD / DVD (IDE)
- In the settings dialog select "Use ISO image file:" and browse to the win95_drivers.iso file included this projects source code
- Open the d:\ drive in My Computer and run the SBPCI128Setupus_w9x.exe file to install the audio drivers.
- Click No when first asked to restart the computer and wait for the installer to complete
- Restart the virtual machine and you should hear the familiar Windows startup sound
- From the main menu select Player -> Removable Devices -> Network Adapter -> Settings -> "Bridged" and "Replicate physical network connection state"
- Click Start -> Settings -> Control Panel
- Open Network
- Click Add...
- Click Protocol then click Add...
- Under Manufacturers tab choose Microsoft
- Under Network Protocols, choose TCP/IP
- Click OK and exit setup
- Restart the virtual machine
- Open Internet Explorer
- Select "I want to set up a new connection using (LAN)" then "Connect using (LAN") and "No" to using a proxy server
- Try navigating to www.google.com in Internet Explorer
- Shutdown the virtual machine safely in VMware Player
- Select the virtual machine and from the main menu select Player -> Manage -> Virtual Machine Settings...
- Click the Add... button and select "USB Controller"
- Start the virtual machine in VMware Player
- Cancel the Update Device Driver Wizard prompt on startup
- Open Settings -> Control Panel -> System -> Device Manager
- Remove all unknown "Other devices" from the list of hardware
- From the main menu select Player -> Removable Devices -> CD / DVD (IDE)
- In the settings dialog select "Use ISO image file:" and browse to the win95_drivers.iso file included this projects source code
- There is a bug in Windows when running the required XUSBSUPP.exe drivers file where it will run ScanDisk first but get stuck in an infinite loop. To overcome this:
- Open the c:\Windows folder in Explorer
- From the main menu select View -> Options -> View and uncheck Hide MS-DOS file extensions
- Rename Scandskw.exe to Scandskw.old
- Open the d:\Scandskw\Scandskw.vbp project in Visual Basic 6. Select File -> Make... Scandskw.exe and browse to the c:\Windows\System directory then compile
- Open the d:\ drive in My Computer and run XUSBSUPP.exe this will install all the necessary USB Mass Storage drivers
- Restart the virtual machine
- Follow the Update Device Driver Wizard prompts to install the PCI Bridge and other drivers
- Delete the c:\Windows\Scandskw.exe file created earlier and rename Scandskw.old with the exe extension
- Insert the USB flash drive again and choose "Connect to a virtual machine" in the New USB Device Detected prompt
- Follow the Update Device Driver Wizard prompts to install the Generic USB Mass Storage Class Device drivers
- If you have followed the instructions correctly you should be able to see a Removable Disk (E:) in My Computer
Create an ISO image of the source code folder:
- Download ImgBurn from https://www.imgburn.com/index.php?act=download
- Open ImgBurn and select: "Create image file from files/folders"
- Download ZIP of source code for this project from GitHub and extract to a folder
- Browse to the source code folder in ImgBurn and select the output filename then write the ISO file
- From the main menu of VMware player select Player -> Removable Devices -> CD / DVD (IDE)
- In the settings dialog select "Use ISO image file:" and browse to the ISO file
- Create a folder named c:\repos\Nokia5110 and copy the source code to it
- Open the Nokia5110.vpb project file in Visual Basic 6
- Select Run -> Start to run the program
or...
Copy the source code to the host machine using a USB drive:
- Download ZIP of source code for this project from GitHub and extract to a folder
- Insert a USB flash drive and copy the code to it and remove the drive
- Start the Windows 95 virtual machine created earlier
- Insert the USB flash drive again and choose "Connect to the virtual machine" in the New USB Device Detected prompt
- Open My Computer and you should be able to see a Removable Disk drive (E:)
- Create a folder named c:\repos\Nokia5110 and copy the source code to it
- Open the Nokia5110.vpb project file in Visual Basic 6
- Select Run -> Start to run the program
Unfortunately modern browsers flag some Visual Basic 6 executables as potential threats so you may need to use the the command line to download the release.
gh release download -R https://github.com/lschmid83/Nokia-5110 -A zip -O "c:\release\Nokia 5110.zip"