VOGONS


Reply 20 of 35, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author
zyga64 wrote on 2026-01-16, 18:50:

I checked with the Phoenix ROM 2.27 BIOS that was originally on this motherboard (the pictures were taken with GlaBIOS 0.4.1) and the status bar is now white all the time (previously it sometimes turned brown) and the residual command characters are now white (previously it sometimes turned blue).

FYI, the developer of GlaBIOS is aware of the issue and committed a fix some time ago, but it's not yet in a release build.

Reply 21 of 35, by zyga64

User metadata
Rank Oldbie
Rank
Oldbie
ripsaw8080 wrote on 2026-01-19, 05:18:
zyga64 wrote on 2026-01-16, 18:50:

I checked with the Phoenix ROM 2.27 BIOS that was originally on this motherboard (the pictures were taken with GlaBIOS 0.4.1) and the status bar is now white all the time (previously it sometimes turned brown) and the residual command characters are now white (previously it sometimes turned blue).

FYI, the developer of GlaBIOS is aware of the issue and committed a fix some time ago, but it's not yet in a release build.

Thanks for the info, so I can build GLaBIOS with the patch myself !
I checked new build of your AGI plantronics driver and text in inventory (with Turbo XT BIOS 3.1) is no longer blinking ! Good job !

Horizontal display positioning (Ctrl+Alt+Left/Right) also works just fine !


8088@8 /640k /Genoa CGA /ALS100
286@20 /4M /CL-GD5422 /CMI8330
486DX33 /16M /TGUI9440 /GUS+ALS100+MT32PI
K6-2@400 /64M /MGA-2064W+3dfx /YMF718
P!!!750 /256M /MX440 /Vibra16s+SBLive!
I5 3470s /8G /GTX750Ti /HDA

Reply 22 of 35, by Jinxter

User metadata
Rank Member
Rank
Member
ripsaw8080 wrote on 2026-01-16, 01:22:

The new AGI video drivers are coded by myself, and installation is easy: make sure you have a backup of the original CGA_GRAF.OVL file and then extract a replacement from either of the attached archives.

I wrote a SCi0 driver for the Olivetti PC1 160x200x16. https://github.com/RetroErik/Sierra-SCI0-Driv … or-Olivetti-PC1
I want to do one for AGI games since they are already made for 160x200 they should look great on the Olivetti PC1.

I don't have any info for writing a driver for AGI, could you maybe help?
On my github would will extensive documentation of the Olivetti PCI hidden mode. https://github.com/RetroErik/Olivetti-PC1-Hid … n-graphics-mode

Check out my YouTube channel: Retro Erik https://www.youtube.com/c/RetroErik
My collection: https://retro.hageseter.com
X: https://x.com/Retro_Erik

Reply 23 of 35, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author
Jinxter wrote on 2026-02-07, 16:09:
ripsaw8080 wrote on 2026-01-16, 01:22:

The new AGI video drivers are coded by myself, and installation is easy: make sure you have a backup of the original CGA_GRAF.OVL file and then extract a replacement from either of the attached archives.

I wrote a SCi0 driver for the Olivetti PC1 160x200x16. https://github.com/RetroErik/Sierra-SCI0-Driv … or-Olivetti-PC1
I want to do one for AGI games since they are already made for 160x200 they should look great on the Olivetti PC1.

Well, you must already be aware from SCI0 that the 40-column text drawn in graphics will be illegible, so do you view it as just an academic exercise?

Reply 24 of 35, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Just switch to text mode whenever a text window is displayed. Just like how those old silent movies would show the lines of the actors in text on a black background spliced between the scenes. And then switch back to graphics mode when the user presses ENTER when they’re done reading.

AGI games would already freeze/pause the game whenever a text window was shown anyway. And also they would already switch to text mode whenever you checked your inventory.

Reply 25 of 35, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It's not only about text windows. Consider a couple of examples where AGI combines graphics and text:

The attachment sq1_pod.png is no longer available
The attachment sq2_shuttle.png is no longer available

Also, the "LOOK <object>" command shows graphics representing the object and a text window description at the same time.

However, the main problems with "just switch to text mode" are the status bar, dropdown menus, and command input that use text drawn in graphics; and you're talking about a change in interpreter behavior, not driver behavior.

Reply 26 of 35, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie

Depending on how the interpreter implements keyboard input, the video driver could intercept the keyboard interrupt for user-triggered horizontal zoom and pan functionality.
It would still be a kludge, but could be workable.

Reply 27 of 35, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I imagine that would be easier to do for SCI0 where text is internally rendered as graphics, unlike AGI that relies on BIOS functions to render text. Are you planning to implement it?

Reply 28 of 35, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie

It would be easier to do for SCI0, and it would be the most feasible thing to do for SCI0 in a genuine 160x200 pixel mode, precisely because it renders text as graphics.
For AGI, BIOS replacement routines that use a 4x8 font would make more sense. Granted, some letters are a bit tricky, but most of them work quite well.

Reply 29 of 35, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The Amstrad and Plantronics AGI drivers actually do intercept the interpreter's BIOS call to draw text, which is necessary because BIOS doesn't know how to draw 16-color text in the non-standard modes, but BIOS still does most of the heavy lifting with my approach. The example screenshots I attached earlier are made with the Amstrad driver, which the font might give away to those familiar with it.

Your tiny font idea sounds reasonable, at least in concept, but seems like a good bit of work.

Edit: I mocked up what the tiny font would look like using an 8x8 font based on a 4x8 font doubled in width. The dropdown menus point out an AGI feature: divider lines that use custom characters. Might be able to just draw half the character, heh, or maybe identify when they're used and then provide an alternate. Anyway, I would be more inclined to pursue this challenge if there is an emulation of the hardware to test with.

Reply 30 of 35, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie
ripsaw8080 wrote on 2026-02-09, 03:09:

Anyway, I would be more inclined to pursue this challenge if there is an emulation of the hardware to test with.

At first glance, the Olivetti PC1's 160x200 16-color mode looks very similar to the low-resolution Tandy / PCJr. mode, except for the frame buffer address, which is b0000h (PC1) vs. b8000h.
That means that DOSBox can be used for prototyping, and that the same driver - if appropriately written - can be used for all three systems.

(The frame buffer format is also the same for composite CGA, i.e. composite CGA might be a good starting point if low-res. Tandy code is not already available.)

Reply 31 of 35, by Jinxter

User metadata
Rank Member
Rank
Member
Benedikt wrote on Today, 15:21:

At first glance, the Olivetti PC1's 160x200 16-color mode looks very similar to the low-resolution Tandy / PCJr. mode, except for the frame buffer address, which is b0000h (PC1) vs. b8000h.
(The frame buffer format is also the same for composite CGA, i.e. composite CGA might be a good starting point if low-res. Tandy code is not already available.)

If your are right, here is what you need to know to enable the hodden mode, and change colors in the palette - or just keep the default CGA colors.

## THE ONLY REQUIRED STEP:
mov al, 0x4A ; Magic value to unlock 16-color mode
out 0x3D8, al ; Write to Mode Control Register

The V6355D has an integrated **3-bit DAC per channel**, providing a **512-color palette** (8 × 8 × 8 = 512 possible colors).

### DAC Specifications:
- **3 bits per channel** (Red, Green, Blue)
- **8 intensity levels** per channel (0-7)
- **512 total colors** available (8³)
- **16 simultaneous colors** on screen (selected from the 512)
- **32 bytes** of palette data (16 colors × 2 bytes each)

### Palette Data Format (2 bytes per color):
```
Byte 1: [-----RRR] Red intensity (bits 0-2, values 0-7)
Byte 2: [0GGG0BBB] Green (bits 4-6) + Blue (bits 0-2)
```

### Palette Write Sequence:
```asm
cli ; Disable interrupts during palette write
mov al, 0x40
out 0x3DD, al ; Enable palette write mode (starts at color 0)
jmp short $+2 ; I/O delay required!

; Write 32 bytes (16 colors × 2 bytes each)
mov cx, 32
mov si, palette_data
.loop:
lodsb
out 0x3DE, al
jmp short $+2 ; I/O delay required between writes!
loop .loop

mov al, 0x80
out 0x3DD, al ; Disable palette write mode
sti
```

💡 **Speed tip:** For raster effects with 600+ OUTs per frame, use short port addresses (0xDD, 0xDE instead of 0x3DD, 0x3DE) to save ~4 cycles per OUT. See **Section 3a** for details.

Check out my YouTube channel: Retro Erik https://www.youtube.com/c/RetroErik
My collection: https://retro.hageseter.com
X: https://x.com/Retro_Erik

Reply 32 of 35, by Jinxter

User metadata
Rank Member
Rank
Member
Benedikt wrote on Today, 15:21:

That means that DOSBox can be used for prototyping, and that the same driver - if appropriately written - can be used for all three systems.

Please explain how I could use dosbox to check my asm code using the hidden mode?

Check out my YouTube channel: Retro Erik https://www.youtube.com/c/RetroErik
My collection: https://retro.hageseter.com
X: https://x.com/Retro_Erik

Reply 33 of 35, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie
Jinxter wrote on Today, 16:55:
Benedikt wrote on Today, 15:21:

That means that DOSBox can be used for prototyping, and that the same driver - if appropriately written - can be used for all three systems.

Please explain how I could use dosbox to check my asm code using the hidden mode?

After changing the DOSBox configuration to Tandy (machine=tandy in the config file), you set video mode 8 (160x200 16-color) via BIOS and write pixel data to the frame buffer at b8000h.
That allows you to verify that the pixel output code works as expected. When you are done, you just swap the mode initialization code and frame buffer address.

Reply 34 of 35, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

AGI in 16colors on EuroPC (Plantronics) ...very cool project!

Retro-Gamer 😀 ...on different machines

Reply 35 of 35, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

It DOES look very nice in these captures. I agree that it's very cool.

It's always good to see new things come out of old hardware.

I cant contribute anything meaningful to the discussion though. The only hardware similar to this i've ever owned was tandy graphics in a PCjr, and I no longer own one, so I cant offer testing. The US had very different machines frim Europe, and sadly many softwares are very US Centric. I'm very happy for the euro-retro hardware to have a day to shine.

I am just very pleased by this discussion and work.

I'll get out of the way and back to lurking.