VOGONS


Reply 20 of 35, by mattw

User metadata
Rank Oldbie
Rank
Oldbie

good catch and observation - probably another bug, I did not even noticed that, because instead "PS/2 SCSI Adapter" as in your case, I have "ESDI Fixed Disk" in my config and thus no conflict is shown explicitly (to draw my attention on it) like in your case, where C6000 - C7FFF is obviously subset of C0000 - C7FFF and already occupied by the SCSI Adapter. however, "no resource allocated" seems wrong, especially considering @MMaximus log. I guess that is already fixed in the upcoming @TC1995 patches, that are not public yet, but for the record, on what we were working here was this:

Made reg 0x53 (read only) default temp val to 0x70 to satisfy xgaaidos.sys's detection.

https://github.com/86Box/86Box/commit/8767bb5 … 934cbaf4df433fc

i.e. that some basically almost random and still wrong value was chosen for Index 53h in the emulation and I can still see that XGAAIDOS.sys doesn't really like the value.

Attachments

Reply 21 of 35, by MMaximus

User metadata
Rank Oldbie
Rank
Oldbie
mattw wrote on 2022-12-27, 21:40:
@ MMaximus : please, when have time, do collect: […]
Show full quote

@ MMaximus : please, when have time, do collect:

xga2 -s >> xga_full.log

because you have Model 80 - same as what 86box emulates and yet in your system DMQS works, while it fails in 86box. thanks.

I won't have access to this system for a few days but I'll run the tests once it's possible again 😀

BTW I also have a model 95 but I suppose it's redundant with the model 90 from @SSTV2. If it's of interest to you anyway I might be able to run tests on it as well.

Last edited by MMaximus on 2022-12-28, 15:31. Edited 1 time in total.

Hard Disk Sounds

Reply 22 of 35, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie

I tried emulating an ESDI controller instead of SCSI, but the XGA-2 BIOS still wouldn't get resources allocated, for some reason you're not even allowed to change the ROM address range. However, I noticed one discrepancy when changing the address range of the SCSI ROM - it gets assigned 8000H (32KB) and the next range setting partially overlaps the previous one. For example, the first range is C0000-C7FFF, followed by C4000-CBFFF, obviously two separate devices with such resource settings would conflict with each other.

The total memory range that can be allocated to devices on an IBM PS/2 80 (if I'm not mistaken) and in my case an IBM PS/2 90 is 128KB (C0000-DFFFF), so only 4 devices can realistically be configured on an 86Box without conflicts.

On my Model 90, the ROM address range can be changed in 2000H (8KB) increments, starting with C0000 and ending with DFFFF, making the following ranges possible:

C0000-C1FFF
C2000-C3FFF
C4000-C5FFF
C6000-C7FFF
C8000-C9FFF
CA000-CBFFF
CC000-CDFFF
CE000-CFFFF
D0000-D1FFF
D2000-D3FFF
D4000-D5FFF
D6000-D7FFF
D8000-D9FFF
DA000-DBFFF
DC000-DDFFF
DE000-DFFFF

And judging by the MMaximus example, his Model 80 is also able to allocate 8KB space for an XGA-2 ROM at least.

Hope this helps.

*EDIT
In the SCSI adapter case on an emulated Model 80, addresses are allocated OK if the ROM size is actually 32KB. On my Model 90 no resources are allocated for the SCSI ROM and XGA/XGA-2, and the token ring adapter ROMs are getting allocated 8KB memory each.*

Reply 23 of 35, by mattw

User metadata
Rank Oldbie
Rank
Oldbie

@MMaximus : currently, most helpful would be "xga2 -s >> xga_full.log" from your Model 80 to investigate the DMQS support issue. Other tests would be mostly redundant, but it depends on what XGA-2 card revision you have - if you look here:

https://github.com/86Box/86Box/issues/2983#is … ment-1366216876

I already deducted that previous revision of XGA-2 cards will have value of 0x50 (instead of 0x53) for Index 53H, because the one that @SSTV2 has - it seems it's the latest revision. So, newer XGA-2 cards are shorter in length, while older are longer. I guess based on that I can ask you to run some of the other tests, but otherwise it's not worth to waste your time.

@SSTV2 : I think you're up to something, even I cannot tell what is wrong with 86box at the moment, but maybe that's why DMQS fails - we already know based on your tests DMQS is auto-disabled by the BIOS in case of XGA-1 card (which is correct because XGA-1 just doesn't support DMQS), but maybe when XGA-2 is not properly initialized by the BIOS (due to 86box bug), then that results in no DMQS. So, I think those issues very likely are related. In any way, the XGA emu is only about 6 months old and already the progress is tremendous. So, I believe in the next few months it will be functional enough, especially with more people joining the effort.

Reply 24 of 35, by mattw

User metadata
Rank Oldbie
Rank
Oldbie

actually, in my previous post I am talking total nonsense in my reply to @MMaximus, because still there is no connection in my brain to our latest finding about Index 53H and xga2 info tool DMQS output:

Re: Help anyone with IBM PS2 and XGA card on MCA bus

So, based on @MMaximus logs :

Re: Help anyone with IBM PS2 and XGA card on MCA bus

the card is:

       5 - XGA implementation function level identifier

3 - XGA implementation resolution level identifier

which means "53H=0x53", i.e. the same 90Mhz DAC revision as the one @SSTV2 has. Now, as I am no PS/2 expert, but based on what I read:

* the longer cards are XGA-1, i.e. they have to be "53H=0x30"
* then there are 3 types of shorter cards, all XGA-2, but have differently looking DAC:
- with Heatsink
- without Heatsink and white sticker instead
- Blueish in color

cut and attach pictures of all those types (the Blue one resolution is terrible, but still you can make out that it's blue color). So, at least one of them I expect to be "53H=0x50", i.e. 45Mhz, but who knows maybe XGA-2 with 45Mhz DAC was never publicly released and they are all "53H=0x53".

Attachments

  • xga2_dac_blue.png
    Filename
    xga2_dac_blue.png
    File size
    62.26 KiB
    Views
    629 views
    File license
    Public domain
  • xga2_dac_sticker.png
    Filename
    xga2_dac_sticker.png
    File size
    190.5 KiB
    Views
    629 views
    File license
    Public domain
  • xga2_dac_ihs.png
    Filename
    xga2_dac_ihs.png
    File size
    220.04 KiB
    Views
    629 views
    File license
    Public domain
Last edited by mattw on 2022-12-29, 14:26. Edited 3 times in total.

Reply 25 of 35, by mattw

User metadata
Rank Oldbie
Rank
Oldbie

@MMaximus and @SSTV2 : just out curiosity how the DAC chip looks on your cards from the above 3 options - maybe we can at least in the end of 2022, almost 2023 tell, how at least some of 90MHz DACs are looking, as you both have cards with 90MHz DAC for sure.

Reply 26 of 35, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie

You probably have already noticed what XGA-2 adapter I have from this post, but to make sure there are no doubts - it's the first revision with a heatsinked RAMDAC (part number should be 33G0327ESD)

I have dumped the first 8KB of the UMA's C segment, where the XGA-2 BIOS is mapped on my machine. Its contents exactly match the beginning of this XGA-2 BIOS image, maybe it'll help in the future:

Filename
XGA-2_C0000-C1FFF.zip
File size
5.39 KiB
Downloads
26 downloads
File license
Public domain
mattw wrote on 2022-12-28, 16:10:

but maybe that's why DMQS fails - we already know based on your tests DMQS is auto-disabled by the BIOS in case of XGA-1 card (which is correct because XGA-1 just doesn't support DMQS), but maybe when XGA-2 is not properly initialized by the BIOS (due to 86box bug), then that results in no DMQS. So, I think those issues very likely are related.

It has to be it, XGA-2 adapter simply isn't properly configured by the emulator.

Reply 27 of 35, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
SSTV2 wrote on 2022-12-29, 18:57:

it's the first revision with a heatsinked RAMDAC

I don't know which one is the 1st revision and so here I count on your good knowledge about PS/2, but then it means even the 1st XGA-2 is 90MHz RAMDAC, i.e. "Index 53H=0x53", I guess that means there are no "Index 53H=0x50" (45MHz RAMDAC) XGA-2 cards.

SSTV2 wrote on 2022-12-29, 18:57:

I have dumped the first 8KB of the UMA's C segment, where the XGA-2 BIOS is mapped on my machine. Its contents exactly match the beginning of this XGA-2 BIOS image, maybe it'll help in the future:

XGA-2_C0000-C1FFF.zip

thanks, that confirms your card is using the same XGA-2 BIOS, it's good we know that.

SSTV2 wrote on 2022-12-29, 18:57:

It has to be it, XGA-2 adapter simply isn't properly configured by the emulator.

I am looking at that, but still have no idea...

Reply 28 of 35, by MMaximus

User metadata
Rank Oldbie
Rank
Oldbie
mattw wrote on 2022-12-29, 14:15:

@MMaximus and @SSTV2 : just out curiosity how the DAC chip looks on your cards from the above 3 options - maybe we can at least in the end of 2022, almost 2023 tell, how at least some of 90MHz DACs are looking, as you both have cards with 90MHz DAC for sure.

I don't have access to my machine at the moment but I bought my XGA adapter from WBST on amibay a few years ago. Here is the archived thread - you might be able to get more info about the adapter from the picture

Hard Disk Sounds

Reply 29 of 35, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
MMaximus wrote on 2022-12-29, 20:20:

I don't have access to my machine at the moment but I bought my XGA adapter from WBST on amibay a few years ago. Here is the archived thread - you might be able to get more info about the adapter from the picture

same as @SSTV2, i.e. "RAMDAC with Heatsink". according to @SSTV2 those are the 1st revision of XGA-2 cards, which means there are no XGA-2 cards with "Index 53H=0x50", even the 1st one were with 90MHz RAMDAC, which is quite nice actually.

Reply 30 of 35, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

Please reference to this link.

https://www.ardent-tool.com/video/XGA2.html

XGA-2 all of them have slightly different versions but as far as IBM is concerned, is equivalent in specs, officially. There is no such as 45MHz ramdac, this is rated around 75MHz for all of these.

Keep working on your projects, good to see this go on anyway.

Cheers,

Great Northern aka Canada.

Reply 31 of 35, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
pentiumspeed wrote on 2022-12-29, 21:10:

https://www.ardent-tool.com/video/XGA2.html

XGA-2 all of them have slightly different versions but as far as IBM is concerned, is equivalent in specs, officially. There is no such as 45MHz ramdac, this is rated around 75MHz for all of these.

thanks, it's all getting together, because in IBM 's "XGA Technical Reference Manual May 1992" I found:

XGA Display Adapter/A : Maximum 45 MHz Pel rate
XGA-NI Serializer Palette DAC: Maximum 90 MHz Pel rate

the frequency is programmable and so even if 75MHz was the maximum used in practice, it's still 90MHz RAMDAC. I think there is no doubt now - up to 90Mhz for XGA-2 and up to 45Mhz for XGA-1.

Reply 32 of 35, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

Ah, that make sense. I was getting your notation that were focused on XGA-2 only.

By the way, XGA-1 is not much to write about basically a minor improvement over 8514/A card, while XGA-2 is much useful.
PS: IBM designed a card to do 1024 x 768 or any resolution interlaced mode is horrible! I had seen one in action, can't stand it instantly.
Back in the day, when I was shopping for monitor, I wanted 75Hz support with dot pitch of .28 for this very reason since I can detect 60Hz non-interlaced flicker.
Later on, when I needed another new monitor to replace the old one, I next wanted 85Hz support.

Then once LCD got mainsteam, I never looked back due to flicker and heat, bulk were the negatives.

Cheers,

Great Northern aka Canada.

Reply 33 of 35, by MMaximus

User metadata
Rank Oldbie
Rank
Oldbie

Here's the full log

System Configuration Parameters
-------------------------------
System PS/2 Model 80 (Non-matching BIOS Revision Level)
MCA - Microchannel bus implemented
F8 - Model
80 - Submodel
02 - BIOS Revision Level
BIOS Version date: 02/15/90
03 - CPU Type - 80386
05 - CPU Stepping Level
0 - Keyboard ID - ?
Yes - Diskette drive present
0 - Additional diskette drives present
No - Math coprocessor installed
No - Pointing device installed
1 - Asynchronous communication ports
1 - Parallel ports

* F6 - Feature Byte 1 [ 1 1 1 1 0 1 1 0 ]
No - System has dual-bus capability
Yes - Microchannel bus implemented
Yes - Extended BIOS data area allocated
No - Wait for External Event function supported
Yes - Keyboard intercept function available
Yes - Real-time clock available
Yes - Second 8259 interrupt controller present
Yes - Fixed disk BIOS uses DMA channel 3

* 78 - Feature Byte 2 [ 0 1 1 1 1 0 0 0 ]
0 - Reserved
No - Data Streaming supported
No - 8042 keyboard controller present
Yes - Enable/Disable Processor functions supported
Yes - Return Memory-Map Information function supported
Yes - Return POS Data function supported
Yes - Keyboard Functionality Determination function supported
Yes - Return to default typematic rate/delay supported
No - Turn on/off typematic supported
Yes - Set typematic rate/delay supported
Yes - Get current typematic rate/delay supported
No - Keyboard ID supported
No - 101-/102-key keyboard functions supported
No - 122-key keyboard functions supported
0 - Reserved
0 - Reserved

* 00 - Feature Byte 3 [ 0 0 0 0 0 0 0 0 ]
No - SCSI support in IML
No - IML System
No - Information panel installed
No - SCSI subsystem supported on the system board
0 - Reserved
0 - Reserved
0 - Reserved
0 - Reserved

* 00 - Feature Byte 4 [ 0 0 0 0 0 0 0 0 ]

* 00 - Feature Byte 5 [ 0 0 0 0 0 0 0 0 ]
No - Flash BIOS present
Show last 146 lines

* 4A - Interrupt 4Bh Advanced Services [ 0 1 0 0 1 0 1 0 ]
0 - Reserved
Yes - Generic SCSI CBIOS service supported
0 - Reserved
Yes - Interrupt 4Bh intercepted
0 - Reserved
No - Operating System supports DMA services
1 - Reserved
0 - Reserved

Video Functionality/State Information
-------------------------------------
E000 - Segment to static functionality information
4EA3 - Offset to static functionality information
03 - Active video mode
80 - Character columns on screen (columns on screen)
4096 - Length of regenerative buffer (in bytes)
0000 - Starting address in regenerative buffer
0 - Active display page
3D4 - Display Controller address
29 - Current setting of 3x8 register
30 - Current setting of 3x9 register
25 - Character lines on screen (rows on screen)
16 - Scan lines per character (character height)
08 - Display combination code (active)
00 - Display combination code (alternative)
16 - Colors supported for current video mode
8 - Display pages supported for current video mode
400 - Scan lines in current video mode
0 - Primary character block
0 - Secondary character block
31 - Miscellaneous state information - 0 0 1 1 0 0 0 1
Yes - All modes on all displays active
No - Summing to grey shades active
No - Monochrome display attached
No - Mode setting default palette loading disabled
Yes - Cursor emulation active
Yes - Background intensity
0 - Reserved
0 - Reserved
13 - Video Adapter Interface - 0 0 0 1 0 0 1 1
Yes - BIOS supports AI information return
Yes - AI driver required
No - 16-bit VGA graphics present
Yes - VGA attributes set
Yes - 132-column mode supported
0 - Reserved
0 - Reserved
0 - Reserved
256 KB - Video memory available

System Memory Map Information
-----------------------------
7168 KB - Local memory between 1MB and 16MB
0 KB - Local memory between 16MB and 4GB
15360 KB - System memory between 1MB and 16MB
0 KB - System memory between 16MB and 4GB
15360 KB - Cacheable memory between 1MB and 16MB
0 KB - Cacheable memory between 16MB and 4GB
15360 KB - Before the start of non-system memory between 1MB and 16MB
4112384 KB - Before the start of non-system memory between 16MB and 4GB

Memory types:

Local - Memory on the system board or memory that is not accessible
from the channel. It can be system or non-system memory.

Channel - Memory on adapters. It can be system or non-system memory.

System - Memory that is managed and allocated by the primary OS.
This memory is cached if the cache is enabled.

Non-system - Memory that is not managed and allocated by the primary OS.
This memory includes memory-mapped I/O devices, adapter memory
directly modifiable by the adapter and relocatable memory such
as bank-switched and expanded-memory-specs (EMS) memory.
This memory is not cached.

Planar Devices:
---------------
Planar 1: FFF9 Planar ID - PS/2 Model 8580-Axx
Planar 2: ---- POS
Planar 3: ---- Video
Planar 4: ---- POS
Planar 5: ---- SCSI 56/57
Planar 6: ---- POS
Planar 7: ---- SCSI 76/77/85
Planar 8: ---- POS

Slot Adapters:
---------------
Slot 1: FCFF
Slot 2: ----
Slot 3: 6042
Slot 4: 8EFE
Slot 5: ----
Slot 6: ----
Slot 7: E000
Slot 8: 8FDA

( 5 ) Adapters found


Checking for XGA DMQS BIOS interface
DMQS supported, data length 32 bytes

Slot 8 - 8FDA Instance 6
POS Data
--------------------------
8FDA - Adapter ID
XGA-2 - Adapter Type
6 - Instance number
C6000 - C7BFF : XGA ROM Range (7 KB)
C7F00 - C7F7F : XGA Coprocessor Register Range (128 bytes)
2160 - Video I/O Base Address (Display Controller)
Disabled - 1 MB Video Memory Aperture
4056 MB - 4 MB Video Memory Aperture Base Address (FD800000h)
4056 MB - Video Memory Base Address (FD800000h)
13 - Video Arbitration Level
On - Video Fairness

XGA BIOS Display Mode Query and Set (DMQS)
------------------------------------------
8 - Slot number
5 - XGA implementation function level identifier
3 - XGA implementation resolution level identifier
0 - Vendor identifier
0 - Vendor defined field
2160 - XGA Adapter I/O register base address
C7F0 - XGA Coprocessor register base address (C7F00h)
Disabled - 1 MB Video Memory Aperture
4056 MB - 4 MB Video Memory Aperture Base Address (FD800000h)
4056 MB - Video Memory Base Address (FD800000h)
F0F0 - Composite ID of the attached display
F0F0 - IBM 8514/7554
1024 KB - Amount of video memory available
Disabled - Alternate XGA Coprocessor register base address


---------------------------------------------------------------
Runstream (R) XGA-2 System Information and Utilities, Rel. 1.06
Copyright (C) UnalZ, 2008. All rights reserved.
---------------------------------------------------------------
Run with the option -h for help on command line options

Hard Disk Sounds

Reply 34 of 35, by mattw

User metadata
Rank Oldbie
Rank
Oldbie

@MMaximus : thanks, your physical Model80 machine has the exact same BIOS version as 86box VM Model80. So, I think DMQS gets disabled most likely due to what @SSTV2 noticed about the overlapping ROM ranges. I hope with help of 86box developers all those findings be put together and soon we have something (better) working.