Saturday, August 26, 2023

Would you Like a Book 8088? Or How About a Hand 386?


Fairly recently (May, 2023) there has been made available for sale a retro-themed laptop called the Book 8088.  The Book 8088 is a real PC running a fair amount of vintage hardware and was made in China by a company called DZT.  Additionally this company has also made a portable PC called the Hand 386.  However, the Book 8088 is also the subject of controversy and reviews have been mixed on both products.  Although I do not own either and have no intention to buy either I have researched and viewed enough YouTube reviews of the device to offer some relevant insights on these devices.

Book 8088

Let's get the specs out of the way first: The Book 8088 comes with an 8088 (or 80C88) CPU running at either 4.77MHz or 8MHz.  The CPU is socketed and can be replaced with an NEC V20 for better performance (some systems may come with a V20 instead). An 8087 Math Coprocessor can be added.  The system is using almost the major ICs of the IBM PC or XT.  It comes with 640KiB of RAM and a 512MiB Compact Flash card. The graphics are CGA compatible with 16KiB of video memory and there is a connector for an optional YMF-262 OPL3 sound card. There is also a USB port as an alternative storage device and a 62-pin connector for an ISA bus extension card.  The Compact Flash card comes pre-installed with MS-DOS v6.22 and Windows 3.0 and several games.

The Book 8088 runs off a 12v power supply and is 24cm long by 15cm wide by 3cm high when closed.  There is a 7" LCD screen and a pair of speakers, one on each side of the screen. One compartment opens to expose the CPU, NPU socket and BIOS chips. There are LEDs for CF activity, battery charging status and battery status.

The BIOS used is an open source version written by Sergey Kislev, whose contributions to the DOS PC retro gaming community cannot be understated.  He has designed an 8088 ISA card (Micro 8088), an ISA 8-bit Ethernet Controller, an enhanced floppy disk controller (monster-fdc), an XT mainboard (NuXT), an Adlib clone, an XT/IDE CF adapter and even an 8-bit Super VGA card.  His BIOS found its way into the Book 8088 with his name removed from the BIOS splash screen and no other credit given.  The code was licensed under the GPLv3, so credit should have been given and source published instead of the BIOS being passed off as something original.  

Some of the software on the CF card, like the aforementioned OSes, is pirated.  Microsoft is not licensing out MS-DOS or vintage versions of Windows.  Windows 3.0 is the last version of Windows that does not require a 286 and has a CGA driver, which was why it was included.  The Windows 3.0 CGA driver uses the 640x200 monochrome mode. Some software like the excellent MagiDuck is homebrew and can included without violating copyright laws.

Fortunately as the BIOS is on a flash chip, socketed and easily accessible, it can be readily be reflashed with the original BIOS.  As credit is free, the lack thereof was particularly shameful on the part of the original designers of this device.  Sergey made a V20-optimized version of his BIOS for faster XT-IDE transfers, so if you have a V20 installed you should be able to enjoy significantly faster transfers.

The Compact Flash card is connected to the rest of the system by an XT-IDE interface. The logic to implement compact flash-only XT-IDE support can be done in as little as four 74 series logic chips and a flash memory chip (although in this case the hard drive support routines of the XT-IDE are located on the main BIOS chip). This method is by far the faster of the two internal storage methods offered by the Book 8088.

The USB port is only provided for storage, it does not support a USB keyboard, mouse or joystick.  The controller chip is the CH375.  LGR did a review on the 8-bit ISA version of this concept.  He found them to be convenient as they were externally accessible and hot swappable, but picky on which USB sticks it will work with (but an updated driver seems to solve this).  The device requires a device driver loaded in config.sys, it cannot boot off a USB stick.  The CF card is almost 2x as fast as the USB interface in terms of reading from a drive.  There must be a stick in the Book 8088 when it boots or the USB storage will not be accessible.  Once booted, the USB stick can be hot swapped.

A second compartment can be opened to install the sound card.  Without the sound card you only have PC Speaker audio.  The optional sound card adds Adlib compatibility and stereo audio support through the two speakers.  Adlibs came with the OPL2, which was a mono chipset. No Adlib game that runs tolerably well on an 8MHz V20 is likely to support the stereo functionality added by the OPL3.  You can find software that will play back OPL3 music files even on a humble machine like the Book 8088.  The speakers will sound very distorted and unpleasant at higher volumes.  The volume can be muted with the function key but not controlled.  There is a headphone jack on the side. so as a portable FM Synthesis player and headphones with a volume wheel on them the device has some potential. You can use Fn + F1 to turn off the built-in speakers and Fn + F2 to turn on the speakers.

The keyboard has 83 keys (a coincidence to the IBM PC/XT keyboard, not by design), keys are small and there is no number pad.  The keyboard looks like it was taken from another machine with meaningless pad-printed legends over the function keys and keys that have no use in such an old machine like the Windows key and a .com key. The only layout is ISO, which means a vertical Enter key.  To be fair, the original IBM PC/XT keyboard also had a vertical Enter key.  How you activate Scroll Lock is a mystery to me.  The CPU can be toggled from Slow Mode into Turbo Mode with Fn + F6.

I have not been able to find the native screen resolution of 7" laptop screen, but it does not appear well-suited to CGA modes.  CGA used either 320x200 or 640x200 pixels (text or graphics), and this LCD has to scale them up to whatever its native resolution may be.  Regardless of the mode, the screen always shows large letterbox-style bars on the top and bottom, as if it could only scale on an integer level.  Many reviewers have complained the screen is hard to see, especially at an angle.  The backlight does not get very bright Changing r3 on the driver board to 7.5ohms will improve brightness, but there are no external brightness controls (the function keys won't work).  The aspect ratio of the screen appears to 16:9, whereas CGA expects something close to 4:3.  Graphics appear squashed vertically, however when CGA games change the border color, that border will also be changed to the border color. Sometimes the text mode (in DOS) is cut off by one character and one or more mode c080 commands will be necessary to fix the issue. Fn + F7 also does this. The CGA is compatible enough to use the 160x100 "graphics" mode.

The optional ISA expansion backplane offers three slots and is connected to the Book 8088 by a ribbon cable.  This can add theoretically anything which can plug into an 8-bit slot, including serial, parallel and game ports or a Sound Blaster.  Whether a particular card will work is a mystery that can only be solved through trial and error. The 12v adapter plugs into the socket on the expansion backplane.

You can buy the Book 8088 for about $200, the sound card upgrade and the ISA backplane upgrade cost about $20 extra, each.  The device comes with a power adapter.  There is 4,000mAh battery inside but battery life is not spectacular.  LGR said it lasts "only a few hours". The PC chipset used is not particularly power conservative.  In fact it uses normal NMOS/HMOS Intel support chips for the most part, including the 8284, 8288, 8237, 8253, 8259 (but not an 8255).  It uses three CPLDs and a microcontroller to handle the PC glue logic, the keyboard controller and the CGA (plus a discrete 6845).   The RAM is implemented as a 512KiB + a 128KiB SRAM chip, so some thought was given to power conservation.

What kind of games can you run on this system?  First, this device seems to emulate floppy drives in a way that are inaccessible to the user, so anything requiring a floppy disk like a PC booter will not work as a disk.  You will have to find a DOS conversion for those games.  Sierra AGI titles will run pretty well, but you will be limited to 4-color CGA due to a lack of composite video output.  Microsoft Decathlon, Adventure in Serenia, Ulysses and the Golden Fleece, Shamus, Alley Cat, Digger, Styx, MagiDuck, Paku Paku, Round 42, Sopwith, Crossfire, Frogger, Lode Runner, Zaxxon, Super Zaxxon, Wizardry 1-5, 3-Demon, Zyll, Willy the Worm are all early PC classics or homebrew which were programmed only for CGA.

The Chinese can make these things because they have the manufacturing capabilities to do them, they have access to vintage chips as well as cheap components and plastics.  If I were going to build a similar system, I would start by using a mechanical keyboard, a keyboard layout with full-size keys and without all the useless keys and poor placements of the Book's keyboard.  My rear ports would include a parallel port, a serial port, a game port, a 9-pin external video monitor port, a headphone output and an RCA composite video output. I would have a 34-pin connector on the side for floppy drives and only have a CF card slot on the other side.  I would also have power and reset buttons.  The LCD display would probably be a 1280x1024 panel with an integer stretch of 320x200 or 640x200 to 1280x1000.  My scaler would be able to implement composite CGA color functionality.  I would have proper brightness, contrast and saturation controls for the screen as well as a functioning volume control for the speakers and headphones.  That would be a $600-700 system, which prices it out of reach for too many people. 

What if we compared it to a vintage laptop?  The Tandy 1400 LT is somewhat competitive on specs.  It has a pair of 3.5" floppy drives which are much friendlier to PC Booters than the Book 8088.  It runs a NEC V20 at 7.16MHz or 4.77MHz and can utilize 640KiB of RAM + 128KiB for a RAM disk.  It has a CGA adapter and an excellent keyboard and can use an external monitor and keyboard.  It can boot from an external 5.25" floppy drive.  There is a CF interface for the Tandy 1400s but the LT must have a BIOS version of 2.51 or be upgraded to it.  It has a parallel and serial port but no laptop of the 80s came with a game port.  

Hand 386

The Hand 386 is somewhat similar to the Book 8088 in that it is a portable PC, but in more of a slate form factor where the screen in positioned relation to the keyboard.  The system uses a 386SX40 processor core contained within a 386-capable chipset, the M6117D.  The system comes with has 8MiB of system RAM and can support SVGA at up to 640x480 with 256 colors.  An AMIBIOS is supplied with the system.

Like the Book 8088 it has a CF card slot and a USB port for storage.  The system comes with a 2GiB CF card. There is an OPL3 chip on board for Adlib compatibility and PC Speaker is also supported.  There is a port for an I/O board which provides VGA output and keyboard and mouse input and a 62-pin header for the ISA expansion backplane. The battery is 2500mAh and is charged by a 5V/2A charger with a barrel-tip. Note that the charger is not sufficient to power the device and charge the battery, so running the Hand 386 with the battery plugged in will still rely on battery power to run the system. There are indicator lights for CF card access, charging and charge status.

The SVGA controller is a capable Chips & Technology F65535 and should have 1MiB of Video RAM.  The SVGA chip on the Hand 386 runs all modes in 60Hz by default but VGA modes were designed to use 70Hz. In order to enable 70Hz mode you can use this utility. Using the VGA output does not disable the built-in display, so the output from the VGA port is very dim as the chip has to drive two outputs at the same time.

As this device is very compact, the keyboard is very small (15x13x1.6cm) and more comparable to a PDA than a PC laptop.  There are 75 distinct keys, but due to the compact nature some keys had to be sacrificed.  The Right Ctrl, Right Alt, Right Shift, Home, End, and Insert are not present. The keys are soft, rubbery and mushy and the sound they make is like squeezing plastic wrap. You probably will want to type on it as little as possible. There is no touchpad or nub for a mouse.  The display is only 5" but is much brighter and colorful than the Book 8088. Off angle viewing is still not great.  It still stretches 4:3 content to 16:9. There is a built-in speaker and a 3.5mm headphone jack. There are no brightness or volume controls for the screen and audio.  Fn + F1 and Fn + F2 work to disable/enable the speakers like the Book 8088.

Hand 386 Mainboard (from Hand 386 Manual)

The 386SX40 is fast enough to run hundreds of DOS games.  Commander Keen, Wolfenstein 3D, Duke Nukem II, Alone in the Dark, King's Quest VI, Wing Commander, Star Trek: 25th Anniversary and Stunts all run well on this system.  A 386SX is distinguished from a 386DX by its data bus with the SX having a 16-bit bus whereas a DX has a 32-bit bus.  DOOM is going to be a slow go on this thing, you'd best use Low Detail and thick borders if you want anything close to playable gaming.  Ultima VII will likely just be a tad too slow for most.  There is no cache on this system, but cache on a 386SX was rare.  On the other end of the spectrum, there is no hardware slowdown mechanism, so certain games will run too fast to be playable on this system.  LGR gave examples of Bubble Ghost and Test Drive III as games running too fast.

The included operating system is Windows 95 OSR2, which barely runs on a 386SX.  Windows 95's included MS-DOS v7.1 will be more often used.  Windows 3.11 and MS-DOS 6.22 are much better suited to the 386 hardware included and can be installed onto the CF card.  I do not how if this system will prevent you from using floppy drives as the Book 8088 would.  Given that this design appears to be an off-the-shelf system modified only just enough to get it to fit in this formfactor, it is likely that you can get a floppy drive working. However, with 286 and 386 software, having a working floppy drive is much less important than it is with the Book 8088 and PC Booters.

As a portable device, the Hand 386 is a failure. As the nucleus of a desktop however, the 386 may fare far better than as a portable machine.  Between the ISA expansion backplane and the I/O board (which the manual provides the pinouts for), you can equip this machine with a monitor, a real keyboard and a mouse and a better sound card. The PS/2 keyboard port will accommodate an IBM Model M keyboard and there is a PS/2 mouse port. Note that the ISA expansion backplane only provides an 8-bit slot, so you are limited to cards that will work in an 8-bit slot.  Sound Blaster, Sound Blaster Pro, Roland MPU-401, Game Port, Parallel Port + Disney or Covox, Serial Port MIDI (maybe) are the best candidates.  There is also a community project called the PicoGUS which emulates a Gravis Ultrasound with a Raspberry Pi Pico in a very small form factor. You might have to disable the built-in screen in order to get a quality image out of your VGA CRT. The result may look like a jungle of boards and cables on your desk, but the Hand 386 may be an affordable way to fill a hole in your PC system speed lineup.

3 comments:

  1. *cannot be understated => overstated :)

    Thank you for clearly articulating my gut reaction to both of these products.

    ReplyDelete
  2. Wrt. performance I would like at least Pentium I (586) or II (686) generation CPU. I am most used to AMD K-5 100MHz and Cyrix 333Mhz. 386SX is slow, and 8088 XT is way too old. I would like DOS game console to run Realms of The Haunting. Duke Nukem 3D is good on Pentium at least, FPU included. SX stands for "no FPU". I would prefer some very recent CPU, but with ability to downclock, for low power consumption. I wish to have gamepad with configurable mapping to keyboard. Keyboard should be hidden under slider.

    I wish to have Roland Sound Canvas support with display. Some games were able to display notes via special MIDI commands. I wish to see them. Also, on CRT screens there was a border color. I've got impression that both these devices do not show border. I wish to have network support. I wish something like Hamachi and maybe DOSBox IPX compatibility, to play freely between hardware DOS game console and DOSBox IPX. I may wish screen sharing feature. It should work like this: one hosts the game and starts streaming, another one plays remotely. We both play on gamepads, but host and remote gamepads are mapped to different keys because that's how it worked in DOS. Maybe it is passable locally, maybe over Internet is also possible. If this Internet feature is implemented, I wish matchmaking. It should work like "I am ready to play this, this or this game, and these particular levels", and gamer's wishes are gathered, and eventually some game is chosen and they are all entering network game.

    In terms of implementation I have found one very interesting CPU called Vortex86EX2. This is a heterogenous CPU with two asymmetric cores. Each one has its BIOS, and they mostly run independently. One core is controlling the other one. I think, we can program networking, Bluetooth gamepad support, Roland emulation and other stuff into master core, but let DOS games run smoothly on bare metal slave core with I/O redirected to master core. Master core is 600MHz, slave core is 400MHz. Quite close to what is desired.

    ReplyDelete