VOGONS


Reply 40 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie

1st success...so thats my Thomson EGA Ultra (1987!)

IMG_1164r.jpg
Filename
IMG_1164r.jpg
File size
1.18 MiB
Views
437 views
File license
Fair use/fair dealing exception

https://books.google.de/books?id=gC-DsOtl2MgC … 20ultra&f=false

Selected the standard VGA driver in Windows setup

As expected wrong colors in the Logo

IMG_1165r.jpg
Filename
IMG_1165r.jpg
File size
1.31 MiB
Views
437 views
File license
Fair use/fair dealing exception

And... :-p

IMG_1168r.jpg
Filename
IMG_1168r.jpg
File size
1012.37 KiB
Views
437 views
File license
Fair use/fair dealing exception

At the moment I am not sure if its really 640x480 or if the card only display a window of 640x350 in it..dont know how to check at the moment. But...registers and colors are VGA compatible :-p

Reply 41 of 82, by Scali

User metadata
Rank l33t
Rank
l33t
Predator99 wrote:

Totally wrong 😉 Mode 12h uses 16 colors out of 64. Thats..yes, EGA.

You do realize that you can program the card after you've set the mode via the BIOS, right?
And that Windows lets you do exactly that?
Heck, see this demo I've made a few years ago: https://youtu.be/4ClrU-ne2Us
It uses BIOS mode 0D. "That's...yes, EGA."
Except, it reprograms the VGA palette, to pick the 16 colours from the 262144 colours that VGA has to offer.
In fact, it goes one further than that: It also uses the VGA palette banking to have separate 16-colour palettes for the logo and for the donut. It also modifies the colour for the scroller every frame.
So you actually see many more than 16 colours on the screen.
Does it run on EGA? Yes.
Do you get the correct colours? Nope.
Do you get the correct speed? Again, nope. On VGA, mode 0D runs at 70 Hz, while on EGA it runs 60 Hz. You can tell, because the scroller and music are synchronized to the framerate. They will be slower on EGA than on VGA.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 42 of 82, by Scali

User metadata
Rank l33t
Rank
l33t
Predator99 wrote:

As expected wrong colors in the Logo
...But...registers and colors are VGA compatible :-p

You're contradicting yourself. If the colors were VGA compatible, they wouldn't show up wrong.
Try changing the colours in Windows. I wouldn't be surprised if nothing happens at all (the default palette for Windows happens to be the standard CGA textmode 16 colours if I'm not mistaken, so you're 'lucky' that the defaults seem okay).

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 43 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:
Predator99 wrote:

As expected wrong colors in the Logo
...But...registers and colors are VGA compatible :-p

You're contradicting yourself. If the colors were VGA compatible, they wouldn't show up wrong.
Try changing the colours in Windows. I wouldn't be surprised if nothing happens at all (the default palette for Windows happens to be the standard CGA textmode 16 colours if I'm not mistaken, so you're 'lucky' that the defaults seem okay).

Hehe, OK I have to excuse, you seem to know what you are talking about 😉

But I do not agree. Your Demo uses an BIOS-EGA mode on a VGA card. But then you start to play around with VGA-specific registers. Therefore it is not an EGA mode anymore...

If you select a Windows 16 color driver it will never use more than 16 colors at once and will also not start to switch palettes! Imagine you have 2 Windows A +B on the Desktop and both uses a diffrent (16 out of 64) color set. Would be possible, but the colors in Window A would totally mess up when sitching to Window B. Therfore Windows uses only 16 colors and doesnt modify the standard palette. Maybe it does it for the start logo....

I am still not satisfied as I suspect the Thomason card only display 640x350. I am sure it works perfectly with the Chips card Keropi has. Unfortunaltely I do not have one available. I have worked with such card for many years - with 640x480 under Win 3.1 without a special driver...

I will try to demonstrate with my PEGA, but will take some days as I need to write a little program...

Reply 44 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote:
Uhm, am I missing something ? :confused: That QBasic program should run just fine with any VGA-compatible card. As far as I kno […]
Show full quote
Predator99 wrote:

We have already proven that VGA mode 12h works on your machine.

Uhm, am I missing something ? 😕 That QBasic program should run just fine with any VGA-compatible card.
As far as I know, both QBasic 1.1 and QB 4.5 do utilize the VGA BIOS. Well, at least QB should do (rarely use QBasic).
If there's any interest, I'm also going to attach some binaries compiled with QB/PDS Basic and VBDOS.. ^^

Yes, as this program

MOV AL, 12
MOV AH, 00
INT 10

worked on Keropis card and it switched to the 640x480 mode. I hope Scali can agree to this result 😎 But I still do not understand why Keropi gets a blank screen when starting windows...

Reply 45 of 82, by keropi

User metadata
Rank l33t++
Rank
l33t++

Maybe it's my monitor? I can't see why but maybe it just does not like the generated signal. I have found the specs from a Greek ad - you can read them on the right side:

2i79r3s.jpg

🎵 PCMIDI mpu site
🎧 Orpheus soundcard site
Action Rewind site
💻 WTB Amstrad PC7486SLC-33

Reply 46 of 82, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Predator99 wrote:

If you select a Windows 16 color driver it will never use more than 16 colors at once and will also not start to switch palettes!

Keep in mind that there are also palettized 16 colour drivers.
Windows 3.0 MME, a Win 3.0/3.1 hybrid, ships with one of them (VGA).
In theory, this would allow for some cool colour-cycling effects.

Edit: Screenshot added.
Edit: Binaries added to former post.

Attachments

  • pal16.png
    Filename
    pal16.png
    File size
    41.39 KiB
    Views
    412 views
    File comment
    Windows 3.0 MME setup program w/ denglish mishmash language. :)
    File license
    Fair use/fair dealing exception
Last edited by Jo22 on 2017-08-01, 22:42. Edited 1 time in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 47 of 82, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Predator99 wrote:

But I still do not understand why Keropi gets a blank screen when starting windows...

I wonder, does his card have enough memory installed ? VGA drivers assume 256KiB for 640x480 in 16 colours,
while the typical EGA board gets away with just 128KiB, which is sufficient for 640x350@16cols (originally, EGA shipped with just 64KiB).
http://minuszerodegrees.net/video/ega_64kb_ram.htm
http://www.minuszerodegrees.net/ibm_ega_extra … a_extra_ram.htm

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 48 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie
keropi wrote:

Maybe it's my monitor? I can't see why but maybe it just does not like the generated signal. I have found the specs from a Greek ad - you can read them on the right side:

Your monitor is better than required. This is the one I used with the Chips-card:

Thomson-0005r.jpg
Filename
Thomson-0005r.jpg
File size
272.19 KiB
Views
473 views
File license
Fair use/fair dealing exception

Reply 49 of 82, by Scali

User metadata
Rank l33t
Rank
l33t
Predator99 wrote:

If you select a Windows 16 color driver it will never use more than 16 colors at once and will also not start to switch palettes! Imagine you have 2 Windows A +B on the Desktop and both uses a diffrent (16 out of 64) color set. Would be possible, but the colors in Window A would totally mess up when sitching to Window B. Therfore Windows uses only 16 colors and doesnt modify the standard palette. Maybe it does it for the start logo....

Actually, Windows allows you to do exactly that. Not only can you change the colourscheme for Windows overall, from any of the VGA colours.... But a program can also modify the palette itself. And indeed, that may mess up things for other windows.
There is a whole palette manager in Windows to try and take care of that, with local and global palettes and priority management over which window gets to pick colours first etc.
See here: https://msdn.microsoft.com/en-us/library/ms969897.aspx
The 'missing' colours will get approximated by dithering (remember those blue gradients in the background of fullscreen installation programs in the Win3.x era? That's a fine example of an application using more than 16 colours logically, and Windows using dithering to map that to the actual colours if you're in a palette mode of 2, 16 or 256 colours).
Windows-3.1-EGA-install-on-PCEm.png

For simple applications, you should be okay with the default colours, but any application that tries to modify the palette will likely show up wrong, just as my 1991 Donut demo.
A real EGA driver would only allow applications to pick from the 64 EGA colours, and would probably take different dithering strategies etc to match RGB colour values, since it has a different palette to work with than VGA does.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 50 of 82, by keropi

User metadata
Rank l33t++
Rank
l33t++

Just to be ultra-sure it's not the monitor (because it's really strict to what signal it expects , if something is out-of-specs then strange things happen 🤣 )

eBP6B3El.jpg

🎵 PCMIDI mpu site
🎧 Orpheus soundcard site
Action Rewind site
💻 WTB Amstrad PC7486SLC-33

Reply 51 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:
Actually, Windows allows you to do exactly that. Not only can you change the colourscheme for Windows overall, from any of the V […]
Show full quote
Predator99 wrote:

If you select a Windows 16 color driver it will never use more than 16 colors at once and will also not start to switch palettes! Imagine you have 2 Windows A +B on the Desktop and both uses a diffrent (16 out of 64) color set. Would be possible, but the colors in Window A would totally mess up when sitching to Window B. Therfore Windows uses only 16 colors and doesnt modify the standard palette. Maybe it does it for the start logo....

Actually, Windows allows you to do exactly that. Not only can you change the colourscheme for Windows overall, from any of the VGA colours.... But a program can also modify the palette itself. And indeed, that may mess up things for other windows.
There is a whole palette manager in Windows to try and take care of that, with local and global palettes and priority management over which window gets to pick colours first etc.
See here: https://msdn.microsoft.com/en-us/library/ms969897.aspx
The 'missing' colours will get approximated by dithering (remember those blue gradients in the background of fullscreen installation programs in the Win3.x era? That's a fine example of an application using more than 16 colours logically, and Windows using dithering to map that to the actual colours if you're in a palette mode of 2, 16 or 256 colours).
Windows-3.1-EGA-install-on-PCEm.png

For simple applications, you should be okay with the default colours, but any application that tries to modify the palette will likely show up wrong, just as my 1991 Donut demo.
A real EGA driver would only allow applications to pick from the 64 EGA colours, and would probably take different dithering strategies etc to match RGB colour values, since it has a different palette to work with than VGA does.

Yes, its all correct you wrote.

But back to the initial question: I am saying that the Windows Standard VGA driver (640x480, 16 colors) shows the same behaviour on a EGA and a VGA card. On both cards you can select 16 out of 64 colors in this mode and they look the same. But with this standard driver you are not able to select other than the default 16 colors.
Also the dithring you have shown in your screenshot is the same in the mode on EGA and VGA.
Yes there may be a strange Windows-Program that access the VGA palettes in this mode and this will not run correctly on a EGA card. Maybe this also applies to the Windows start logo, I dont know.

Wait some days until I have my PEGA running. If I am not able to manages this I will buy the Chips from Ebay just to show you that I am right 😉

Reply 52 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie
keropi wrote:
Just to be ultra-sure it's not the monitor (because it's really strict to what signal it expects , if something is out-of-specs […]
Show full quote

Just to be ultra-sure it's not the monitor (because it's really strict to what signal it expects , if something is out-of-specs then strange things happen 🤣 )

eBP6B3El.jpg

I dont think its your card or your monitor. The Video mode works, therefore both is OK. I think also the (wrong colored) Windows start Logo is displayed in a 640x480 resolution? Please confirm.

For me it looks like a configuration problem. Tried to disable memory managers and shadow options? Tried to siwtch back to a 286 CPU?

Reply 53 of 82, by keropi

User metadata
Rank l33t++
Rank
l33t++

Yes the logo is displayed pink... memory managers and/or shadow options have been tested , no change in behavior. In fact I am only running HIMEM.SYS 99% of the time.
I can try to install the 286 cpu back but I won't use it even if 640x480 works. The reason I did a hackjob with the Kingston upgrade is because I wanted a somewhat beefier system to run EGA stuff without having to worry about a slow cpu. The upgrade did help lots in that regard and I'd like to keep it 😀

The system as-is is the perfect size and condition for my desk 😁 that's why I went to all that trouble to upgrade it a little and resort to adding/removing PLCC/PGA sockets so it can be used on my non-IBM 286 :

CAMqNGml.jpg

AbWdy4ol.jpg

🎵 PCMIDI mpu site
🎧 Orpheus soundcard site
Action Rewind site
💻 WTB Amstrad PC7486SLC-33

Reply 54 of 82, by Scali

User metadata
Rank l33t
Rank
l33t
Predator99 wrote:

But back to the initial question: I am saying that the Windows Standard VGA driver (640x480, 16 colors) shows the same behaviour on a EGA and a VGA card. On both cards you can select 16 out of 64 colors in this mode and they look the same. But with this standard driver you are not able to select other than the default 16 colors.

Pretty sure you can.
See my link above about GDI and local palettes etc.
You can set 24-bit RGB palette entries for bitmaps. These bitmaps are 'device independent', meaning that the bitmap is in a 'universal' format, and the OS will take care of translating it to your specific device.
As it says, it can change the global palette to better match the DIB.
I'm pretty sure this will work in Windows 3.x using a 16-colour driver.
I could probably cook up a test-program, eg loading and showing a GIF or JPG image on screen, and then we can see how the OS tries to match the colours.
As the above link describes, there is a WM_PALETTECHANGED message that windows can receive. That message exists because... the palette can change!
This has actually been causing some bugs in Windows 7 and later, when running 256-colour DirectDraw programs. Some of the colours were 'stolen back' by the OS.
See here: https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Which is a result of calling RealizePalette, see here: https://msdn.microsoft.com/en-us/librar ... s.85).aspx

The RealizePalette function maps palette entries from the current logical palette to the system palette. ... The RealizePalette […]
Show full quote

The RealizePalette function maps palette entries from the current logical palette to the system palette.
...
The RealizePalette function modifies the palette for the device associated with the specified device context. If the device context is a memory DC, the color table for the bitmap selected into the DC is modified. If the device context is a display DC, the physical palette for that device is modified.
...
When an application's window has the focus and it calls the RealizePalette function, the system attempts to realize as many of the requested colors as possible. The same is also true for applications with inactive windows.

Now, I haven't actually tried this yet on Windows 3.x in VGA 640x480 16-colour mode, so it may still be possible that "as many of the requested colors as possible" amounts to 0.
It may also be possible that even though you are using a VGA driver, it only uses the 64 EGA colours. But I don't think either is very likely.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 55 of 82, by keropi

User metadata
Rank l33t++
Rank
l33t++

Allright thanks to a member on VCF we now have the " Phoenix Enhanced Video BIOS PLUS Version 1.02 01 " as shown on the eBay auction Predator99 posted.
My card came with a Phoenix EGA BIOS from 07/21/87 - the new one is from 05/12/89 so it's almost 2 years newer and could make a difference. Too bad I can't test it before tomorrow though...

Attachments

🎵 PCMIDI mpu site
🎧 Orpheus soundcard site
Action Rewind site
💻 WTB Amstrad PC7486SLC-33

Reply 56 of 82, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Good luck! I hope it works! 😀

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 57 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie
IMG_1170r.jpg
Filename
IMG_1170r.jpg
File size
2.12 MiB
Views
420 views
File license
Fair use/fair dealing exception

Hehe, already finalized the TSR for my PEGA. Had to intercept 2 calls:
00: Set Video mode 12-->50
0F: Read Video mode --> report 12

Now Windows is running with 640x480. Some drawing errors but I do not see a false color.

More later...

Reply 58 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie

So 1st my TSR 😀 Dont laugh about the code, its really quick&dirty and I was to lazy to install my MASM and Turbo Debugger 😉

__________________
a
nop
xor ax,ax
push ax
pop ds
mov ax,[40]
mov bx,[42]
push cs
pop ds
mov [251],ax
mov [253],bx
xor ax,ax
push ax
pop ds
mov ax, cs
mov [42],cs
mov ax,200
mov [40],ax
mov ah,31
mov dx,100
int 21

a 200
cmp ah, 0f
je 230
cmp ah,0
jne 250
out 80,al
cmp al,12
jne 250
mov al,50
jmp 250

a 230
mov al,12
mov ah,0
mov bh,0
jmp 250

a 250
jmp aabb:ccdd
retf

n pega.com
rcx
500
w
q
_______________________

Just copy it in a file "PEGA.ASM", run
DEBUG < PEGA.ASM
and it will output PEGA.COM

What does it do? Redirects all call to VIDEO-BIOS INT 10 to itself and stays in memory after exiting. Afterwards it looks if the 640x480 mode 12h is requested. If yes, it directs it to mode 50h as this is the 640x480 mode on my PEGA.

The called mode is also displayed on a Diagnostic Post card (port 80), so you will see the current screen mode there.

I also had to add some lines to get Windows running as it verifies the current mode on startup, will not be neccessary for other programs...

So in this form is it only useful for PEGA owners and to Display mode on the Post card, but can be easily modified to redirect other Video modes too. You can run Commander Keen on a 640x350 screen...but it will be small 😉

Reply 59 of 82, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie

And Windows Display and Palette:

With VGA Driver:
Start Logo with wrong colors

IMG_1174r.jpg
Filename
IMG_1174r.jpg
File size
1.8 MiB
Views
403 views
File license
Fair use/fair dealing exception

Palette looks OK, but some Display problems...maybe related to my TSR which return the wrong screen number. Cannot remember this was the case with my Chips card, but the colors looked similar.

IMG_1172r.jpg
Filename
IMG_1172r.jpg
File size
3.09 MiB
Views
403 views
File license
Fair use/fair dealing exception

Then I switches to the standard EGA driver for comparision:

IMG_1175r.jpg
Filename
IMG_1175r.jpg
File size
1.27 MiB
Views
403 views
File license
Fair use/fair dealing exception
IMG_1177r.jpg
Filename
IMG_1177r.jpg
File size
2.76 MiB
Views
403 views
File license
Fair use/fair dealing exception

Some color differences, but palette looks similar.
And when installing a VGA card it will also look similar.

Proven that:
VGA 640x480x16 mode works on EGA cards supporting the 640x480 mode 😉

Thnaks for listening, was fun 😉