The indigoparadox Web Zone

Hand386

Back to computers

Web Zone Navigation

Related Web Zones

Other Web Zones

1. Introduction

The Hand386 is a weird little guy from China that was offered for a limited time on Ali Express. It uses (apparently) recycled industrial 386 SoCs and a purpose-build motherboard to create a portable, battery-powered retro gaming handheld device. We have experienced some quality issues so far, but we love a weird little guy and this little guy is rather weird, indeed!

2. Sound Chip

The sound chip is an interesting case: it is a(n apparently) genuine OPL-3 chip. For most DOS games, this can be selected as Ad Lib music with no digital sound.

That's right, there is no digital/PCM sound production in the traditional sense! The included Windows 95 only has a MIDI driver installed, with no mixer or PCM device.

Windows 95 Multimedia devices list... there are no digital audio devices listed, only the OPL-3.

However, the OPL-3 does have some tricks up its sleeve! Programs that know how to, can upload samples as MIDI instruments and play them as sound effects. The device includes a VGM player which plays VGM files using custom instruments, and Wolfenstein 3D, which uses this method to play sound effects and voices.

3. VESA Driver

SimCity 2000 for DOS title screen displayed on a big monitor hooked up to the Hand386 over a messy desk. The screen is... not *too* dark...

Some games may require a VESA driver. A VESA driver compatible with the built-in chipset is included as C:\VESA.COM! This works with e.g. SimCity 2000. (Thanks to Ian Scott for pointing this out!)

4. ISA Bus

There is an optional ISA bus module. So far, experimental results are as follows:

Closeup of Hand386 connected to ISA bus with no card inserted. Highlighted on the screen, the BIOS status is showing Closeup of Hand386 connected to ISA bus with I/O card inserted. Highlighted on the screen, the BIOS status is showing

The BIOS shows the serial and parallel ports from a multi-I/O card when it is installed. When the card is removed, the BIOS complains about an invalid floppy drive, until the floppy drive is disabled in BIOS setup.

Attempting to boot with a 3Com 3c509 network card inserted simply does not work. It leads to a blue "VGA" screen on the internal display, indicating a failure to start booting. This invites further investigation with a port-80 card (TODO).

5. Defects

Shorted keyboard PS/2 port
The external keyboard didn't work (and the internal keyboard stopped working!) when the included PS/2 and VGA dongle was plugged into the Hand386. This was found to be because of a solder short in the dongle, itself. Taking solder wick and rosin to soak the excess solder out of the PS/2 connections on the dongle seemed to fix this.

6. Startup Menu

It is possible to use the menu feature built in to DOS 7 to create a startup menu, making the device somewhat easier/quicker to use. The startup files CONFIG.SYS and AUTOEXEC.BAT below demonstrate some examples (both included with the handheld and not). They are examples, but you should be able to pick up the general pattern to use them.

6 - 1. CONFIG.SYS

The menu items are defined in CONFIG.SYS by defining a [MENU] block. Each MENUITEM is a comma-separated pair, where the item to the left of the comma (e.g. DOSP in the first item below) defines the name of the block that will be called both in the rest of the CONFIG.SYS and in the AUTOEXEC.BAT below. The rest of the text after the comma is the name of the menu item (e.g. (OS) DOS Prompt, in the same example item).

CONFIG.SYS
1[MENU]
2MENUITEM=DOSP,(OS) DOS Prompt
3MENUITEM=WIN95,(OS) Windows 95
4MENUITEM=DOOM,(Game) DOOM
5MENUITEM=WOLF3D,(Game) Wolfenstein 3D
6MENUITEM=TYRIAN,(Game) Tyrian
7MENUITEM=SC2K,(Game) SimCity 2000
8MENUITEM=TIE,(Game) TIE Fighter
9
10[DOSP]
11DEVICE=C:\WINDOWS\HIMEM.SYS
12DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
13DOS=HIGH,UMB,AUTO
14DEVICEHIGH=C:\WINDOWS\SETVER.EXE
15SHELL=C:\COMMAND.COM C:\ /P /E:640
16REM DEVICEHIGH=C:\DOS71\DISPLAY.SYS CON=(,,1)
17DEVICE=C:\CH375DOS.SYS @260 %2
18
19[WIN95]
20DEVICE=C:\WINDOWS\HIMEM.SYS
21DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
22DOS=HIGH,UMB,AUTO
23DEVICEHIGH=C:\WINDOWS\SETVER.EXE
24SHELL=C:\COMMAND.COM C:\ /P /E:640
25DEVICE=C:\CH375DOS.SYS @260 %2
26
27[DOOM]
28DEVICE=C:\WINDOWS\HIMEM.SYS
29DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
30
31[WOLF3D]
32DEVICE=C:\WINDOWS\HIMEM.SYS
33DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
34
35[TYRIAN]
36DEVICE=C:\WINDOWS\HIMEM.SYS
37DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
38
39[SC2K]
40DEVICE=C:\WINDOWS\HIMEM.SYS
41DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
42
43[TIE]
44DEVICE=C:\WINDOWS\HIMEM.SYS
45DEVICE=C:\WINDOWS\EMM386.EXE 2048
46FILES=30

If you are already familiar with this feature, you may note that we are not using a [COMMON] block, which would allow us to define some of the repeating items only once. This is so that we have control over the order in which they load (and in some items prevent their loading altogether!)

6 - 2. AUTOEXEC.BAT

This is fairly simple: just goto the label defined in %CONFIG%, which is defined by the MENUITEM selected in CONFIG.SYS.

AUTOEXEC.BAT
1@ECHO OFF
2PROMPT $P$G
3
4GOTO %CONFIG%
5
6:DOSP
7ECHO Now you are in MS-DOS 7.10 prompt. Type 'HELP' for help.
8ECHO.
9PATH=C:\DOS71;C:\DOS71\norton
10GOTO END
11
12:WIN95
13PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\DOS71;C:\DOS71\norton
14WIN
15GOTO END
16
17:DOOM
18CD GAME\DOOM
19DOOM
20GOTO END
21
22:WOLF3D
23CD GAME\WOLF3D
24WOLF3D
25GOTO END
26
27:TYRIAN
28CD GAME\TYRIAN
29TYRIAN
30GOTO END
31
32:SC2K
33C:\VESA.COM
34C:\CTMOUSE.EXE
35CD GAME\SC2000
36SC2000
37GOTO END
38
39:TIE
40CD GAME\TIE
41TIE
42GOTO END
43
44:END

Table of Contents

  1. Introduction
  2. Sound Chip
  3. VESA Driver
  4. ISA Bus
  5. Defects
  6. Startup Menu