VOGONS


Umbherc.sys requirements ?

Topic actions

First post, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hello everyone,

I'm trying to use one of my Hercules clone cards to get a bit of UMB memory.
Unfortunatelly, it doesn't work the way I thought it should. 🙁
I added the driver in the first line of config.sys.

device=c:\umbherc.sys

I'm sure there's something I have missed, but I don't know what it is.
Has anyone an idea ? I'd be glad if someone would educate me about this.

I'm using MS-DOS 6.22.
My HGC clone card is based on Winbond W86855AF and works fine so far (tested on an old Philips mono monitor).
I tried it both in an XT clone (CGA) and a 586 machine (VGA).

Thanks In advance.

Links:

Another Winbond W86855AF card on eBay.

"Put that old Hercules card to good use"
http://www.robvanderwoude.com/dosmem.php

"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 1 of 30, by Half-Saint

User metadata
Rank Oldbie
Rank
Oldbie

Maybe it has something to do with the fact that you're using an IBM driver with a clone card?

b15z33-2.png
f425xp-6.png

Reply 2 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hmm.. Perhaps, I don't know. I think it was meant for IBM-DOS, yes, but Hercules Monochrome is more of a hardware thing.
There are no BIOS or firmware for it. So software shouldn't be able to distinguish the real one from the clone,
except by subtle things like timings or so. In this respect (no BIOS), it is similar to a Voodoo card, which also works in Macs.
Anyway, thank you very much for response. ^^ Maybe it really has somehting to do with the hardware, full-/half-mode perhaps ?
I wonder if the driver works with any clone cards at all. Sadly I have no real documentation about this driver.

"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 3 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Okay, so I tried again. This time, I removed The Trio64 and installed an ET3000.
I did this, because I was afraid VGA might be an issue. "So why don't you use your XT instead ?", you may ask.
Well, that's a good question. The answer is, I'm afraid to break it in the process. 🙁

The attachment 2cards.jpg is no longer available

So I ran DMODE and changed to CGA mode to hopefully match my one and only XT machine..

The attachment dmode.jpg is no longer available

Changeing the video mode worked fine, even both cards were detected:

The attachment both.jpg is no longer available

However, after booting I got this error message:

The attachment hgc_cga-et3.jpg is no longer available

Hercules(R) adapter DMA video compatibility test.
Do not be alarmed when odd things appear on the screen,
this is part of the test.
[]

This might take some time...

Yeah, the screen was odd for sure! But I doubt that this was actually part of the test..
And how long does this really take ? Did I just not wait long enough ?

So I tried again and removed the HGC card completely (while the ET3 was put in MDA mode).
Unfortunatelly, this changed very little except that the glichty text was gone:

The attachment cga-et3.jpg is no longer available

So may I ask if someone has sucessfully set up this driver already ?

Please help, I'm tankful for every idea. 😢

"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 4 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Another day, another try.. I combined the Hercules clone with an 8Bit Paradise VGA card.
The Paradise VGA Plus Special Feature Utility (what a name!) was apparently smart enough to detect the Hercules card.

The attachment cards2.jpg is no longer available

Because the selection for VGA Monochrome and Hercules Half-Mode and Full-Mode weren't selectable.
CGA was available and mode switching worked fine.

The attachment pvpsfu.jpg is no longer available

My hopes rised and I watched the slow memory count after reboot.
I was entering the CMOS setup again, to check again if everything was fine.
After I left it, the PC rebooted again and I was hoping for the best..

The attachment smile.jpg is no longer available

Unfortunatelly, I didn't work. And I was greeted with colourful smileys instead. Laughing smileys..
I know, this because of technical reasons but it really feels like that PC is making fun of me. 🙁

"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 5 of 30, by Scali

User metadata
Rank l33t
Rank
l33t
Half-Saint wrote:

Maybe it has something to do with the fact that you're using an IBM driver with a clone card?

IBM didn't make the Hercules, so I'm somewhat surprised that this driver was made by IBM.
I assume the driver was made for a specific clone that IBM used in some of their machines?
Mind you, Hercules is a very simple standard, and the memory is always at B000h (same as MDA, only it has 64K in total... of which you can use 32K if you have a color card installed (you may need to set a jumper on the card for that, 'half' memory configuration), because the second 32K is at B800h, where CGA is normally located.

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

Reply 6 of 30, by Scali

User metadata
Rank l33t
Rank
l33t
Jo22 wrote:

The Paradise VGA Plus Special Feature Utility (what a name!) was apparently smart enough to detect the Hercules card.

No it wasn't.
Paradise VGA Plus has a Hercules-compatible mode.
By selecting that menu option, the VGA card becomes Hercules-compatible.
This implies that the card will not be compatible with a Hercules card in the system.

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

Reply 7 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thank you very much for your response, Scali!

I tried the Paradise HGC modes, and they work fine.
The selection for them became available after I removed the Hercules card.
I also tested the clone card with its own monitor, the Philips we talked about in the thread about PC compatibility cards.

The umbherc.sys file was part of IBM-DOS 6.x, thus made by IBM. After I read a thread at vcfed.org, I hoped it would also work on normal MS-DOS 6.x.
At least for basic stuff like uploading drivers in the UMBs. I'm aware of the advanced features IBM-DOS has to offer for UMBs, but I don't need them yet.
Only the basic stuff. And since the link in the first post also mentioned 8088 machines, I thought that himem.sys and the UMB features of IBM-DOS were optional,
but not really necessary to get the driver loaded. Perhaps this was a mistake and I was too naive.

Why I want to use that driver :
I have got an old PC/XT clone and I need another LPT port for my electronics projects. I need a port which comes before 378h.
That's why a Hercules card is somwhat ideal for my needs: It has a buil-tin printer port at 3BC and my BIOS recongizes this one perfectly!
The later ones at 278 and beyond are just not detected during booting. I also tried dedicated multi-i/o cards, but they never cover 3BC.
Perhaps because their 74LS chips they use for addressing weren't wired in a way to allow this setting.
That's why I played with that idea in the first place. Another nice side-effect is, that Hercules plays nicely together with the on-board CGA.
I'm fine with CGA on this machine, since it allows me to attach an old video monitor, too.

If the machine had more spare slots, I could just add a dedicated parallel card (3BC) and an UMB card. Sadly, that's not the case. 🙁

"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 8 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I'm still struggling to get this driver to work. Also tried umbmono.sys, but no luck so far! 🙁

Has anyone tried one of them so far ?
The documentation I've found about them is rather poor from my point of view (link)..

While it does indeed mention parameters and such, it doesn't say anything about which adapters are compatible and
which precautions the user has to take care of. Like for example, dip switch settings or if the Hercules adapter has to be
operated in half-/full-mode.

It also lacks documentation about the memory regions beeing used or the amount of UMB memory beeing gained by this driver.
Anyway, I don't blame the author for anything. When the book was released, Hercules Monochrome was already a dead fish in the water. I'm just frustrated. 😢

"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 9 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Okay, tried a different Hercules card, a TD8088A.
This one seems to have an additional character ROM, an UM23C01.

The attachment td8088a.jpg is no longer available

I installed it side-by-side with my old ET-3000 :

The attachment et3k_td8088a.JPG is no longer available

Unfortunatelly, it didn't work this time either. 🙁
When I by-passed the DMA test with the /X parameter, I got an error about bad memory and also a strange result from MSD :
It detects a CGA card made by Tseng, including a video BIOS. Nothing wrong here, but a CGA card normally doesn't have a BIOS.
I wonder why it still detects the VGA BIOS even though the card was put in CGA emulation mode.
Could it be that umbherc.sys doesn't work with CGA emulation ? Do I also require a genuine CGA card, as well ?

The attachment msd_cga-hgc.jpg is no longer available

"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 10 of 30, by denis74

User metadata
Rank Newbie
Rank
Newbie

I was not able to configure unbherc with more than one operating system ( msdos pcdos drdos of different versions) may need specific video card. BUT !!! with these two boards working well program umb.sys kit URAM . The line in the config : DEVICE=UMB.SYS C000-C800 . But only 32kb and very slow memory. .

Reply 11 of 30, by denis74

User metadata
Rank Newbie
Rank
Newbie

sorry . DEVICE=UMB.SYS b000-b800

Reply 12 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Wow, thanks a lot Denis! 😁 I think I'll try it in the evening!
The slow memory is okay for me, I just need a little bit of extra memory for the mouse and keyboard drivers.

Edit: I tried it tonight, as promissed! 😀 - I installed a HGC card with Winbond chip and it got detected by the BIOS.
Then DOS booted and umb.sys found some memory ("memory successfully installed"). After that, the machine hang.
My PC is an Nixdorf 8810 M35, powered by a NEC D8088D and on-board CGA (an oddball version ?, I've got no docs about it).
Maybe I need a NEC V20 for umb.sys ? I also changed the parameter to B0000-B8000 and inbetween (B2000-B7000, etc.)

"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 13 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hello everyone, It's been a while since my last experiments with umbherc.sys.
This night, again I tried to make it work. These are my results.

1) TD8088A
I installed this Hercules clone card in the M35 computer and added umbherc.sys to config.sys (device=umbherc.sys /x).
I also added the /X switch to skip the DMA test, since it never completed in earlier tests.
Strangely, the driver loaded but I got a white pattern. Overlapping memory, maybe ?
Anyway, DOS completed booting and I could enter DIR (the big old HDD started to work).
Entering MODE CO80 had no effect.

The attachment tda8088a_m35.jpg is no longer available
The attachment tda8088a_post.jpg is no longer available
The attachment tda8088a_umbherc.jpg is no longer available

"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 14 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

2) Epson Q205A
This is a hybrid monochrome/colour card with a switch on the bracket side.
It is based around an MB89322B, a programmable CRT controller chip. Datasheet is available.
I did a little bit more of testing, since it sports a more sophisticated design and has a dedicated CRT controller.

First, I removed the previous HGC clone and installed the card in my PC/XT clone.
I switched the machine on, wihout doing any changes to config.sys.
The result was the very same as before.

Second, I skipped autoexec.bat/config.sys (incl. umbherc.sys) and ran MSD and CheckIt!
Both programs did not report any issues or conflicts.

The attachment epson_m35.jpg is no longer available
The attachment epson_post.jpg is no longer available
The attachment epson_umbherc.jpg is no longer available
The attachment epson_msd.jpg is no longer available
The attachment epson_checkit.jpg is no longer available
Last edited by Jo22 on 2017-11-21, 07:32. 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 15 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Does anyone of you have got an original Hercules or Hercules Plus Monochrome card ?
I'm really curious what all the trouble with umbher.sys is about.
I was speculating my clone cards could be missing the required DMA capabilities or
that the M35's on-board CGA erroneously decodes the secondary address range (like the old IBM CGA did).

"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 16 of 30, by idspispopd

User metadata
Rank Oldbie
Rank
Oldbie

My guess is that the DMA capabilities don't depend on the card but on the mainboard chipset. Several chipsets are able to map RAM into the upper memory area to be used for UMBs, they often don't support DMA for this memory.

The card definitely has to be in half-mode, I don't know what the default is. You could just try the command hgc half to do this. (I'm not sure if hgc.com is included with DOS. Should work for compatible clone cards, it did with mine, the mode is switched through officially documented registers.) Since you would have to run hgc.com before the driver is loaded you would have to use the INSTALL= statement in config.sys, but it seems that these statements are only executed after all DEVICE= statements so this doesn't help. Maybe the half-mode survives a warm reboot, so for a start you could try that (a menu for different configurations in config.sys will help here). It that works it should be possible to create a "driver" to switch to half-mode which can be loaded with DEVICE=.

Reply 17 of 30, by Scali

User metadata
Rank l33t
Rank
l33t
idspispopd wrote:

The card definitely has to be in half-mode, I don't know what the default is.

'Half' is the default mode. I have a real Hercules card (GB102), and it has no jumpers or dipswitches of any kind. It has to boot up in half mode in order to work alongside a CGA card, just like MDA does.
You should always enable full mode in code before using the second 32k of memory (which you can only do when there's no CGA card).
Wiki also mentions this:
https://en.wikipedia.org/wiki/Hercules_Graphics_Card

The 64 KB RAM of the HGC could hold two graphics display pages. Either page could be selected for display by setting or resetting a single bit in the Mode Control Register. Another bit, in a configuration register exclusive to the HGC, determined whether the second 32 KB of RAM on the HGC was accessible to the CPU at the base address B8000h. This bit was reset at system reset (e.g. power-on) so that the card would not conflict with a CGA or other color card at address B8000h.

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

Reply 18 of 30, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I can't see how you either disabled all RAM above 640k or only installed 640k in the 586 so there was no conflict with existing memory.

Edit: I'm also thinking XT side, that back in the day I never managed to get an expanded memory card working in a machine that didn't have a full 640.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 19 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thanks to all of you! 😀

Is there anything left I can try to make it work ?

Any ideas welcome.

BitWrangler wrote:

I can't see how you either disabled all RAM above 640k or only installed 640k in the 586 so there was no conflict with existing memory.

That's a good point. All I did was to not enable shadow memory.. The remaining memory was treated as extended memory which begins beyond 1MiB.

"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//