• Please review our updated Terms and Rules here

Book 8088 discovery and modification thread

After having conversation with @sorphin i decided to check what actual limits for floppy in DOS 3.31 are.
So i changed limits in my media detection routine, rewrote chs to lba conversion and made some test with DOS format.
As a side effect - i found that i completely overlooked the fact that media info can be changed after format and my emulation needs to acknowledge that.
Fixed (media format is reread after boot sector change, but to be absolutely sure - replug the drive)
DOS format didn't accept sector value bigger than 63 (6 bit value, so it's max), and maximum tracks number is 346 - bigger values give divide overflow in format command itself. Heads are always 2.
This gives us a 22MB "floppy" drive, which can be created and used in DOS 3.31.
Next, will it boot? No :(
Biggest bootable "floppy" i could make is 80 tracks, 25 sectors, that's a bit less than 2MB.
BIOS changes pushed:
Prebuilt version attached
 

Attachments

  • bios-book8088-xtide.zip
    26.3 KB · Views: 3
Last edited:
Hello everyone, I have an update on the VGA 640x480 mode issue on the 8088 laptop. I contacted the seller and complained that the LCD controller was buggy. After several message exchanges on AliExpress, where I sent C code demonstrating that the LCD turned black every time VGA 640x480 mode was invoked, they sent me a replacement controller. Now it works! I was able to configure Windows 3.0 in VGA 640x480 mode, and other games like Dyna Blaster now run as well. The 640x480 mode with 256 colors is also functional. The peculiar thing is that these video modes start in a 4:3 aspect ratio. The other modes seem to remain as they were, but it appears that certain games have less faded colors than usual. The only small bug is that in text mode, it cuts off half of the last line without a solution to recenter by invoking "mode 80."

XWj9soq.jpg

 
Hello everyone, I have an update on the VGA 640x480 mode issue on the 8088 laptop. I contacted the seller and complained that the LCD controller was buggy. After several message exchanges on AliExpress, where I sent C code demonstrating that the LCD turned black every time VGA 640x480 mode was invoked, they sent me a replacement controller. Now it works! I was able to configure Windows 3.0 in VGA 640x480 mode, and other games like Dyna Blaster now run as well. The 640x480 mode with 256 colors is also functional. The peculiar thing is that these video modes start in a 4:3 aspect ratio. The other modes seem to remain as they were, but it appears that certain games have less faded colors than usual. The only small bug is that in text mode, it cuts off half of the last line without a solution to recenter by invoking "mode 80."

XWj9soq.jpg

This is an extremely important update on this front, I wonder if the problem was just in the firmware as was theorized here and as such if it would be possible to dump yours to flash it on everyone else's
 
This is an extremely important update on this front, I wonder if the problem was just in the firmware as was theorized here and as such if it would be possible to dump yours to flash it on everyone else's
The circuit board looks almost identical; there's a missing hole where a screw should be placed, which was absent in the original. However, the firmware on this PCB is on an SMD EEPROM. I don't have the tools to desolder SMD components, and I don't want to ruin the PCB after all the effort to obtain it. I believe the Chinese guy may have adjusted the firmware specifically for me. I'm not sure how to extract the firmware from that chip.

However, I haven't directly communicated with the manufacturer of the book 8088. The seller on AliExpress acted as an intermediary for the purchase. I vaguely recall someone in this thread mentioning that they were able to contact the manufacturer directly. Perhaps they could inquire whether the manufacturer is willing to provide the binary file to be loaded onto the LCD controller's EEPROM.
 
The circuit board looks almost identical; there's a missing hole where a screw should be placed, which was absent in the original. However, the firmware on this PCB is on an SMD EEPROM. I don't have the tools to desolder SMD components, and I don't want to ruin the PCB after all the effort to obtain it. I believe the Chinese guy may have adjusted the firmware specifically for me. I'm not sure how to extract the firmware from that chip.

However, I haven't directly communicated with the manufacturer of the book 8088. The seller on AliExpress acted as an intermediary for the purchase. I vaguely recall someone in this thread mentioning that they were able to contact the manufacturer directly. Perhaps they could inquire whether the manufacturer is willing to provide the binary file to be loaded onto the LCD controller's EEPROM.
Is the controller on a separate board from the LCD itself? I ask because I have a replacement LCD on the way because my second book had a dead pixel so they have a replacement LCD for me on the way which should be here within a day or two based on tracking.
 
Hello everyone, I have an update on the VGA 640x480 mode issue on the 8088 laptop. I contacted the seller and complained that the LCD controller was buggy. After several message exchanges on AliExpress, where I sent C code demonstrating that the LCD turned black every time VGA 640x480 mode was invoked, they sent me a replacement controller. Now it works! I was able to configure Windows 3.0 in VGA 640x480 mode, and other games like Dyna Blaster now run as well. The 640x480 mode with 256 colors is also functional. The peculiar thing is that these video modes start in a 4:3 aspect ratio. The other modes seem to remain as they were, but it appears that certain games have less faded colors than usual. The only small bug is that in text mode, it cuts off half of the last line without a solution to recenter by invoking "mode 80."

XWj9soq.jpg


Good find! It might me same firmware without CGA hack - might you happen to have a Book CGA card to test?
 
The circuit board looks almost identical; there's a missing hole where a screw should be placed, which was absent in the original. However, the firmware on this PCB is on an SMD EEPROM. I don't have the tools to desolder SMD components, and I don't want to ruin the PCB after all the effort to obtain it. I believe the Chinese guy may have adjusted the firmware specifically for me. I'm not sure how to extract the firmware from that chip.

However, I haven't directly communicated with the manufacturer of the book 8088. The seller on AliExpress acted as an intermediary for the purchase. I vaguely recall someone in this thread mentioning that they were able to contact the manufacturer directly. Perhaps they could inquire whether the manufacturer is willing to provide the binary file to be loaded onto the LCD controller's EEPROM.

I understand not wanting to mess with your machine, don't worry.
I contacted the seller describing the same issue and I explicitly asked if a firmware update was available, we'll see...
 
Is the controller on a separate board from the LCD itself? I ask because I have a replacement LCD on the way because my second book had a dead pixel so they have a replacement LCD for me on the way which should be here within a day or two based on tracking.
Yes the LCD controller is separate
 
Good find! It might me same firmware without CGA hack - might you happen to have a Book CGA card to test?
I don't have a Book8088 with a CGA to test; I never considered purchasing the CGA version and, in fact, bought it when I saw that the VGA version was released. The CGA graphics are too limited, and the games look too poor on CGA.
 
I understand not wanting to mess with your machine, don't worry.
I contacted the seller describing the same issue and I explicitly asked if a firmware update was available, we'll see...

Do you think it would be possible to dump the firmware from the LCD controller's eeprom using an Arduino to read it without desoldering it from the circuit? By connecting only thin wires above the pins with the controller turned off, of course. I could try a preliminary experiment with the old discarded controller...
 
Do you think it would be possible to dump the firmware from the LCD controller's eeprom using an Arduino to read it without desoldering it from the circuit? By connecting only thin wires above the pins with the controller turned off, of course. I could try a preliminary experiment with the old discarded controller...

I might be, I found a couple of projects:

Also you might be able to interface with the controller itself if you have for example a board with a FT232H chip:
 
I might be, I found a couple of projects:

Also you might be able to interface with the controller itself if you have for example a board with a FT232H chip:
I have the FT232, I saw the link, so is it possible to communicate with the controller through the VGA port??? And wouldn't it be possible to do it directly from the Book8088???
 
I have the FT232, I saw the link, so is it possible to communicate with the controller through the VGA port??? And wouldn't it be possible to do it directly from the Book8088???
If they haven’t hooked it up, which I don’t think they have, nope.
Also before hooking up stuff double check voltages with the data sheet of the eeprom.

The eeprom on mine is a P25Q40SH which is ISP and not I2C also needs 3.3V
 
Last edited:
Yes, main branch does only that and i just pushed "settings" one, which is:

BIOS settings support for Book8088
I'm using boot sector of CF card for that so be warned.
There's checks to not do save if offset 190h doesn't contain zeroes, but anyway writing there is dangerous.
So make backups :)
Floppy emulation routine via flash drive is altered, as original floppy controller support is back.
I cannot test floppy support, but it should work.
Options supported:
Original - floppy drive type, memory test, extension scan.
Added - boot sound, USB floppy emulation enforcement (accessing drive A will always try to access USB stick regardless of it's presence at boot)
Setting are also using two bytes in reserved BDA, but that should be safe.

I consider that as beta, though i tested everything i could.
Just popped back in and caught back up @n0p - wow so FDC detection and a setup utility using the CF card early sectors - thats really cool.
 
Just popped back in and caught back up @n0p - wow so FDC detection and a setup utility using the CF card early sectors - thats really cool.

I almost stepped on the path of writing full XT-CF support, but restrained myself :)

FDC support fully relies on settings, original routines are almost untouched on that matter. So no detection, just an ability to set floppy type in BIOS settings. Sergey suggested FDC detection might be possible, but i don't have one to test that.
 
Re: the LCD.. received my replacement LCD that i just put in... on the cable was written 20000938-30 which.. my googlefu found to be:

20000938-30 AT070TN90 V.1 V.x At070tn90v.1​


7" LCD display, which.. then mapped me to: https://cdn-shop.adafruit.com/datasheets/AT070TN90.pdf

the one I just removed is marked as C7000D50-B which just shows up as a generic 7" Android Tablet LCD replacement screen... but at least now i know (based on my replacement screen) the specs of the screen(s) being used.
 
Last edited:
Re: the LCD.. received my replacement LCD that i just put in... on the cable was written 20000938-30 which.. my googlefu found to be:

20000938-30 AT070TN90 V.1 V.x At070tn90v.1​


7" LCD display, which.. then mapped me to: https://cdn-shop.adafruit.com/datasheets/AT070TN90.pdf

the one I just removed is marked as C7000D50-B which just shows up as a generic 7" Android Tablet LCD replacement screen... but at least now i know (based on my replacement screen) the specs of the screen(s) being used.

My screen has a same pretty generic mark on it, i can even source it here for about $15.
--
Possible programming of Realtek chip is really interesting. I would love to see working instructions of interfacing it. My findings so far - board has a 4 "pin" SOIC clip interface, VCC, SCL(pin 58), SDA(pin 59), GND - i tested with multimeter, might got order of SCL/SDA incorrect.
There's some projects on GitHub, but i didn't find complete instructions that would not require digging there for days.
 

Attachments

  • photo_2023-12-23_13-56-12.jpg
    photo_2023-12-23_13-56-12.jpg
    112.8 KB · Views: 20
  • photo_2023-12-23_13-56-08.jpg
    photo_2023-12-23_13-56-08.jpg
    182.6 KB · Views: 21
Last edited:
I wrote a small program to work around the issues with the Book 8088 not centering the display properly. It's a TSR that wraps the BIOS video interrupt and briefly sets pixels in the top left and bottom right of the screen to help the LCD display calibrate correctly.

I've only tested on my V2 with VGA but am interested to hear if it helps for the V1 / CGA units too
 
I wrote a small program to work around the issues with the Book 8088 not centering the display properly. It's a TSR that wraps the BIOS video interrupt and briefly sets pixels in the top left and bottom right of the screen to help the LCD display calibrate correctly.

I've only tested on my V2 with VGA but am interested to hear if it helps for the V1 / CGA units too

I tried similar approach on my V1 long time ago, but it seemed to be more random. Tried different chars/patterns after setting text video mode. For example, pattern with characters in corners worked on V20 somewhat 80% of time, but not at all on real 8088. So i ditched the idea. Will test your TSR for sure when i assemble my Book back :)
--
Second idea - if you do a short between hsync or vsync and ground you will cause LCD reset as well, but it didn't help me play Rogue on Book either, so no luck there too.
 
Last edited:
Back
Top