UPDATE (22 Aug 2022): A user, Andreas, has come up with an impressive build of a Windows 98 handheld based on this TR2350 board here. The handheld can run for 4 hours on a 7.4V LiPo battery. Thanks Andreas for sharing his ideas with us.
After my previous experiment with the eBox 3350MX, a mini x86 compact PC, I came across the TR2350, a mini motherboard that is based on an AMD Geocode LX processor and measures only 13x17cm. This board can be found in the AMD product catalog and is commonly used in thin clients and other embedded solutions. To further experiment the board, I spent just over 30 USD on eBay to purchase it:
This board has the following configuration:
- 500 MHz AMD Geocode LX processor that is x86-compatible
- CF slot for the hard disk, which will be detected as an IDE drive. CF cards up to 32GB are supported.
- 3 USB 2.0 ports
- 1 VGA port
- 100Mbps Ethernet port
- 1 DDR2 slot, which can take up to 512MB PC400 notebook RAM.
- PS2 port for mouse/keyboard
- Serial port
- Audio output/input sockets
Unlike the eBox 3350MX, this board has a usable PC speaker and the POST beep can be heard. However, for some reasons the sound card midi output seems to be routed to the PC speaker, and not to the audio output socket. The sound card does not work with Quick View for DOS PCI drivers and I could only make QuickView play an MP3 file at very poor quality using the PC speaker driver (SPEAKER.SDR).
The CMOS is using a standard CR2032 battery to keep system settings. There is also a 2.5″ IDE connector on the board, but it is unlikely that the BIOS supports dual hard disk configuration, so be sure to only use either the CF card or the IDE connector, but not both. Power for the board is supplied via a 12V 1A connector. In my case, I used a power adapter from an external Seagate USB hard drive. A reset button is present on the board near the power LED, allowing you to quickly reboot without having to disconnect and reconnect the power.
Pressing F2 repeatedly shortly after turning on the board will allow you to enter the BIOS:
Although I have not yet tried, this BIOS supports network boot via PXE. It also supports legacy USB emulation so you will be able to use USB mouse, keyboard and hard drives under DOS. However, USB CD-ROM drives are supported as legacy device only for boot up under floppy emulation mode (e.g. a CD-ROM that boots up to DOS and show an A:\> prompt). If the system is started via other means, the BIOS will not register the USB CD ROM drive as an IDE CD-ROM drive, so operating systems like DOS will not be able to see the drive unless a proper USB driver is configured. This also makes it impossible to boot early versions of Hiren Boot CD or the Windows 98 installation CD as they will assume that an IDE CD-ROM drive is present and will try to initialize the drive using software such as MSCDEX. Linux live CDs such as Ubuntu or Puppy Linux are not affected.
On a related note, there is not enough power on this USB port to host CD-ROM drives, so you will likely need an external adapter for your drive. You can tell when this is the case – the drive would refuse to open the tray and the busy LED will just keep on blinking. There also seems to be some sort of power leak or grounding issue on this board. If external power is applied to the USB CD ROM drive that is connected to the USB port, the board will still remain powered and working as normal even after its 12V supply has been removed.
This is the screen output after POST, summarizing the system configuration:
Although there is no floppy connector on the board, the BIOS reports that there is a 1.44MB floppy drive connected. This will cause the system to stop responding for as long as 15 seconds if you attempt to access the floppy drive later.
Installing Windows 98
Due to the limitation of legacy USB support for this BIOS, you will not be able to install from the Windows 98 CD. You must make a bootable USB drive using a tool such as Rufus, copy the Windows 98 installer files to another USB drive, and boot up using the bootable drive while keeping the drive with the installer connected. After that, copy the installer files to the hard drive and start SETUP.EXE to begin installation. Do not start the installation from the USB drive as the system will no longer be able to access the USB drive due to the lack of drivers after the first phase of setup once Windows takes over BIOS legacy USB support.
Also for the best experience, it is recommended that you use Windows 98 SE, and not the original version of Windows 98.
If the setup hangs while setting up programs on the start menu, simply reboot and let the setup resume. The second setup attempt should work.
After successful installation, which will take around 40 minutes, open Device Manager, you will find that the following devices are not recognized due to the lack of drivers:
VEN_1022&DEV_2081 AMD ATI® Geode LX Video
VEN_1022&DEV_2082 AMD ATI® Geode LX AES Security Block
VEN_10EC&DEV_8167 Realtek RTL8169/8110 Family Gigabit Ethernet NIC
VEN_1022&DEV_2093 Realtek AC’97 Audio Driver / Geode WDM Audio Drive
VEN_1022&DEV_2095 AMD ATI® USB Controller
VEN_1022&DEV_209A AMD ATI® Geode Companion CS5536
For those who have to learn things the hard way, the Windows 98 Device Manager screen does not show the devices’ hardware IDs, which are needed to search for missing drivers. You can still find this information by opening the System Information application and select Components > Problem Devices from the left panel.
After extensive research, I managed to find Windows 98 drivers for the graphics card, sound card, and Ethernet port, which can be downloaded here. Take note that during my test, I can only get the graphics driver to display 640×480, not much better than the default VGA driver that comes with Windows. However, when I tried VBEMP, a generic VESA driver for Windows 9x/ME, the resolutions could be increased up to 1280×1024 without any issues. If you have plenty of RAM on the board, try to go to BIOS and set the video memory to 32MB for better display output – the default is only 16MB.
Unfortunately I could not find drivers for the USB chipset, and the default Standard Enhanced PCI to USB Host Controller driver does not work. So even with the USB mass storage drivers for Windows 98, using USB thumb drives or hard disk under Windows is still out of the question on this board. The only alternative to transfer files to this board under Windows is to use the Ethernet port.
Despite the limitations, Windows 98 boots up in less than 30 seconds and performs quite fast on this board with 512MB of RAM installed. I could get Microsoft Office 97, Visual Studio 6.0 and other applications to run without issues. The board also supports ACPI so shutting down Windows is a breeze.
Windows XP, Linux and other OS
I tried to install Windows XP. The installation took over 2 hours and once completed, Windows took more than 3 minutes to boot. Except for the USB controller which is now recognized allowing USB thumb drives and hard disks to work out the box, the network card, graphics card and audio hardware still require drivers to be installed. However, the overall user experience is really too slow for me and I decided not to experiment further with the Windows XP setup.
On the bright side. Puppy Linux live CD boots fine on this board, with support for sound and graphics driver. Ubuntu 10.04 boots fine, supporting audio, network and graphics drivers. With Ubuntu 10.04 I could play music, perform light web browsing on the board and edit documents using Open Office at an acceptable speed. USB chipset is detected correctly and thumb drives are automatically supported too. So I guess Ubuntu 10.04 is the recommended OS for this board – it works out of the box without the hassle of installing and configuring drivers.
During my research I also found attempts to run Windows CE on the TR2350. I guess that requires the usage of Microsoft Platform Builder to build the BSP with the correct drivers for this board. I also found some Windows CE drivers for various hardware components (sound, network, graphics) for this board. Without the time to investigate this possibility, I will leave this as an exercise for the readers to experiment. Feel free to leave a comment here if you have anything interesting to share.