For Programmers: Free Programming Magazines  


Home > Archive > Cobol > July 2004 > Memory-mapped video









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Memory-mapped video
BugALugs478@InfamousISP.gov

2004-06-08, 3:55 pm

I'm running Realia COBOL with SCREENIO (old, very old...) and the
executables have been running for years on a variety of machines. I
recently upgraded and the executables stopped working (bizarre video
effects, machine hangs, etc). I've determined that the problem lies in
the use by Realia & Norcom of memory-mapped video.

I'm able to make the compiler generate a BIOS-calls-executable by
linking in DISPDOS.OBJ. This fixes the problem for the compiler where
I just use simple DISPLAY's (no screen section).

But SCREEN IO recognizes (and trivializes) the problem by providing a
means of making PEF itself use BIOS calls (SET IBMC=N) which allows
creation of panels but the generated code includes memory-mapping for
video (or it uses the Screen Section -- I don't know which). The
effect is that at execution time with a module that has been
linkedited with DISPDOS.OBJ and which uses SCREENIO.LIB, Realia issues
a fatal message "RCL0038 This function is unavailable for use with
DISPDOS" referencing a module, SCR_VIO.

How can I force SCREENIO to generate BIOS callls instead of using
memory-mapped video?


Robert Wagner

2004-06-08, 8:55 pm

BugALugs478@InfamousISP.gov wrote:

>How can I force SCREENIO to generate BIOS callls instead of using
>memory-mapped video?


The best source for an answer would be Norcom.

I run programs that do memory-mapped screens on a variety of operating systems,
including XP, without a problem. This is an operating system function, not a
hardware function, when in less than full screen mode. Check the properties of
your shortcut, making sure it doesn't say full screen.
BugALugs478@InfamousISP.gov

2004-06-09, 3:55 am

robert.deletethis@wagner.net (Robert Wagner) wrote:

>BugALugs478@InfamousISP.gov wrote:


[color=darkred]
>The best source for an answer would be Norcom.


Sure, however I doubt they'd be willing to talk to me about the 1987
version. Would you?

>I run programs that do memory-mapped screens on a variety of operating systems,
>including XP, without a problem. This is an operating system function, not a
>hardware function, when in less than full screen mode. Check the properties of
>your shortcut, making sure it doesn't say full screen.


I've tried it every way possible including emulation of the four other
OS's and a whole range of memory settings. I'm not sure but I think
the IRQ or DMA or Memory Address (I can never get these straight)
where the video adapter places its memory is a function of BIOS and
the video adapter itself. Programs bound with the "E" switch abend
even running MSDOS 6.2 from a floppy unless I use DISPDOS and refrain
from using SCREENIO. Disabling video shadowing in the CMOS causes the
machine to reboot instead of bizarre video displays and freezing,
another reason to think it's hardware/BIOS related.

Some video adapters work (e.g. Matrox Millennium G200, 3D FX
Interactive Voodoo 3) without any change to my programs (i.e. no
DISPDOS and as much use of SCREENIO as I like) but others (e.g. S3
Graphics Pro Savage DDR) cause the problem. Interestingly the Voodoo 3
didn't have an IRQ assigned to it: the Pro Savage did (IRQ 16).

So, like me, your use of memory-mapped video may be an accident
waiting to happen; you just haven't struck the right <g> video adapter
yet.


Richard

2004-06-09, 3:55 pm

BugALugs478@InfamousISP.gov wrote

> Some video adapters work (e.g. Matrox Millennium G200, 3D FX
> Interactive Voodoo 3) without any change to my programs (i.e. no
> DISPDOS and as much use of SCREENIO as I like) but others (e.g. S3
> Graphics Pro Savage DDR) cause the problem. Interestingly the Voodoo 3
> didn't have an IRQ assigned to it: the Pro Savage did (IRQ 16).


Perhaps they no longer emulate a CGA video card from 1981.
BugALugs478@InfamousISP.gov

2004-06-09, 8:55 pm

riplin@Azonic.co.nz (Richard) wrote:

>BugALugs478@InfamousISP.gov wrote


[color=darkred]
>Perhaps they no longer emulate a CGA video card from 1981.


If you really know something, rather than that being just a sarcastic
remark, please provide more detail.


Robert Wagner

2004-06-09, 8:55 pm

BugALugs478@InfamousISP.gov wrote:

>riplin@Azonic.co.nz (Richard) wrote:
>
>
>
>
>If you really know something, rather than that being just a sarcastic
>remark, please provide more detail.


As I said, hardware is involved only when the app is in full screen mode. If you
run the app in a maximized window, which is better anyway, the device driver
maps text from virtual B000/B800 to a graphic font of your choice.

Some S3 device drivers don't work right. I went through several before finding a
good one. I think your time would be better spent on device drivers rather than
changing the applications.
Robert Wagner

2004-06-09, 8:55 pm

Afterthought:

Because S3 is a Standard, every S3 driver should work on every S3 card. Your
choices are not limited to the card manufacturer's offerings.

Whether or not the card has an IRQ assigned is irrelevant. The Interrupt Request
was used for something unrelated.
Richard

2004-06-10, 3:55 am

BugALugs478@InfamousISP.gov wrote

>
> If you really know something, rather than that being just a sarcastic
> remark, please provide more detail.


It wasn't sarcastic. Perhaps they no longer emulate a CGA video card.
BugALugs478@InfamousISP.gov

2004-06-11, 3:55 am

robert.deletethis@wagner.net (Robert Wagner) wrote:

>BugALugs478@InfamousISP.gov wrote:


[color=darkred]
[color=darkred]
[color=darkred]
[color=darkred]
[color=darkred]
>As I said, hardware is involved only when the app is in full screen mode. If you
>run the app in a maximized window, which is better anyway, the device driver
>maps text from virtual B000/B800 to a graphic font of your choice.


>Some S3 device drivers don't work right. I went through several before finding a
>good one. I think your time would be better spent on device drivers rather than
>changing the applications.


I think you're right. Changing the application seems to be a dead end.

I shifted the Matrox G200 (this one worked OK under NT on a 466mhz
Celeron) into my current machine (2.something Ghz AMD) replacing the
S3 Graphics Pro Savage and under MSDOS 6.2 the original applications
work fine (full screen of course). However under XP Home they only
work in full screen mode no matter what the parameters in the
Properties box. What happens is that (for the main program for
example) it opens as a full screen, I hit Alt-Enter and it becomes a
window...so far so good...but then when I hit any key at all except
the right and left arrows and the shft, alt, and ctrl, it carries out
the instruction appropriate to that key in the application and goes to
full screen immediately. I can continue working in full screen and
Alt-Tab functions correctly and Alt-Enter brings me back to the
window. Interestingly the Edit|Mark and Paste work fine in the window.

This is a sort of limp-along solution as it at least allows me to
maintain my database, the point of the application, albeit with lots
of clanging when it switches from window to full screen and back
again. It also has the downside that the G200 doesn't seem to be as
good at rendering the text throughout (even in Agent for ex) as the S3
card was.

Any ideas?

Try a more modern Matrox card perhaps?

Robert Wagner

2004-06-11, 8:55 am

BugALugs478@InfamousISP.gov wrote:

>robert.deletethis@wagner.net (Robert Wagner) wrote:
>
>
>
>
>
>
>
you[color=darkred]
>
a[color=darkred]
than[color=darkred]
>
>I think you're right. Changing the application seems to be a dead end.
>
>I shifted the Matrox G200 (this one worked OK under NT on a 466mhz
>Celeron) into my current machine (2.something Ghz AMD) replacing the
>S3 Graphics Pro Savage and under MSDOS 6.2 the original applications
>work fine (full screen of course). However under XP Home they only
>work in full screen mode no matter what the parameters in the
>Properties box. What happens is that (for the main program for
>example) it opens as a full screen, I hit Alt-Enter and it becomes a
>window...so far so good...but then when I hit any key at all except
>the right and left arrows and the shft, alt, and ctrl, it carries out
>the instruction appropriate to that key in the application and goes to
>full screen immediately.


Why the hell does it switch to full screen? The device driver is the culpret.
I'd look for a device driver that doesn't have 'a mind of its own'.

>I can continue working in full screen and
>Alt-Tab functions correctly and Alt-Enter brings me back to the
>window. Interestingly the Edit|Mark and Paste work fine in the window.
>
>This is a sort of limp-along solution as it at least allows me to
>maintain my database, the point of the application, albeit with lots
>of clanging when it switches from window to full screen and back
>again. It also has the downside that the G200 doesn't seem to be as
>good at rendering the text throughout (even in Agent for ex) as the S3
>card was.
>
>Any ideas?
>
>Try a more modern Matrox card perhaps?


First look outside Matrox for a device driver that works right with Matrox
hardware. If that's not fruitful, look to another hardware manufacturer.

Richard

2004-06-11, 8:55 pm

BugALugs478@InfamousISP.gov wrote

[color=darkred]
> (full screen of course). However under XP Home they only
> work in full screen mode no matter what the parameters in the
> Properties box. What happens is that (for the main program for
> example) it opens as a full screen, I hit Alt-Enter and it becomes a
> window...so far so good...but then when I hit any key at all except
> the right and left arrows and the shft, alt, and ctrl, it carries out
> the instruction appropriate to that key in the application and goes to
> full screen immediately.


It probably no longer supporting emulation of CGA direct screen
writes, but reverts to full screen mode to allow the direct screen
writes to the hardware.

Microsoft has been trying to kill off 'legacy' DOS and Windows 3.x
software for years. The original Win98 had taken out support for
these which is why 98 was 6 months late as they hurridly put support
back in after initial user reaction.

They also want to kill off Unix and Linux and anything else that is
not MicroSoft branded, but the biggest threat to increasing revenues
for MS is people keeping old software and not buying all new stuff
every year or two.

> Try a more modern Matrox card perhaps?


No. Try a less modern one plus a less 'modern' Windows version.
JerryMouse

2004-06-11, 8:55 pm

Richard wrote:
> Microsoft has been trying to kill off 'legacy' DOS and Windows 3.x
> software for years. The original Win98 had taken out support for
> these which is why 98 was 6 months late as they hurridly put support
> back in after initial user reaction.
>
> They also want to kill off Unix and Linux and anything else that is
> not MicroSoft branded, but the biggest threat to increasing revenues
> for MS is people keeping old software and not buying all new stuff
> every year or two.


Not that there's anything wrong with that.


LX-i

2004-06-12, 3:55 am

Richard wrote:
>
> They also want to kill off Unix and Linux and anything else that is
> not MicroSoft branded, but the biggest threat to increasing revenues
> for MS is people keeping old software and not buying all new stuff
> every year or two.


What a coincidence. If this actually gets out, it'll be my first
newsgroup post from a Linux machine. (After doing some reading on that
RH8 I mentioned, I decided to download WhiteBox EL 3 - after a
fortuitous hardware acquisition provided me a place to play, I've
finally got it going.)

--

(of course, I haven't pulled over my sig yet...)

Richard

2004-06-12, 8:55 pm

"JerryMouse" <nospam@bisusa.com> wrote

>
> Not that there's anything wrong with that.


No, nothing wrong at all with not buying all new stuff every year or two.
BugALugs478@InfamousISP.gov

2004-07-02, 3:55 am

Since this is an old thread I'm putting the historical record at the
bottom for the three people in the universe who might be interested
<g>.

The problem is resolved. XP Home does not correctly process
memory-mapped video as generated by the old ScreenIO and Realia COBOL.
At least that's what I've concluded based on my limited testing and
some -- ask enough people and eventually someone knows something --
comments by system programming types. They say that XP Pro doesn't
have the problem but obviously they haven't tested exactly my system.

I junked XP Home and installed Win2K Pro and not only do all my
programs run correctly on the G200 Millenium but they also work on the
S3 Pro Savage and an ATI Radeon 7000 I happened to pick up in
desperation. No tweaking or special memory parameters. The properties
box shows "Auto" all the way. And the drivers were the vanilla ones
straight from the installation disks (or website for Matrox).

All's well that ends well I suppose.


BugALugs478@InfamousISP.gov wrote:

>I'm running Realia COBOL with SCREENIO (old, very old...) and the
>executables have been running for years on a variety of machines. I
>recently upgraded and the executables stopped working (bizarre video
>effects, machine hangs, etc). I've determined that the problem lies in
>the use by Realia & Norcom of memory-mapped video.
>
>I'm able to make the compiler generate a BIOS-calls-executable by
>linking in DISPDOS.OBJ. This fixes the problem for the compiler where
>I just use simple DISPLAY's (no screen section).
>
>But SCREEN IO recognizes (and trivializes) the problem by providing a
>means of making PEF itself use BIOS calls (SET IBMC=N) which allows
>creation of panels but the generated code includes memory-mapping for
>video (or it uses the Screen Section -- I don't know which). The
>effect is that at execution time with a module that has been
>linkedited with DISPDOS.OBJ and which uses SCREENIO.LIB, Realia issues
>a fatal message "RCL0038 This function is unavailable for use with
>DISPDOS" referencing a module, SCR_VIO.
>
>How can I force SCREENIO to generate BIOS callls instead of using
>memory-mapped video?
>

**********************************

robert.deletethis@wagner.net (Robert Wagner) wrote:

>BugALugs478@InfamousISP.gov wrote:


[color=darkred]
>The best source for an answer would be Norcom.


Sure, however I doubt they'd be willing to talk to me about the 1987
version. Would you?

>I run programs that do memory-mapped screens on a variety of operating systems,
>including XP, without a problem. This is an operating system function, not a
>hardware function, when in less than full screen mode. Check the properties of
>your shortcut, making sure it doesn't say full screen.


I've tried it every way possible including emulation of the four other
OS's and a whole range of memory settings. I'm not sure but I think
the IRQ or DMA or Memory Address (I can never get these straight)
where the video adapter places its memory is a function of BIOS and
the video adapter itself. Programs bound with the "E" switch abend
even running MSDOS 6.2 from a floppy unless I use DISPDOS and refrain
from using SCREENIO. Disabling video shadowing in the CMOS causes the
machine to reboot instead of bizarre video displays and freezing,
another reason to think it's hardware/BIOS related.

Some video adapters work (e.g. Matrox Millennium G200, 3D FX
Interactive Voodoo 3) without any change to my programs (i.e. no
DISPDOS and as much use of SCREENIO as I like) but others (e.g. S3
Graphics Pro Savage DDR) cause the problem. Interestingly the Voodoo 3
didn't have an IRQ assigned to it: the Pro Savage did (IRQ 16).

So, like me, your use of memory-mapped video may be an accident
waiting to happen; you just haven't struck the right <g> video adapter
yet.
*************************
BugALugs478@InfamousISP.gov wrote:

>riplin@Azonic.co.nz (Richard) wrote:
>
>
>
>
>If you really know something, rather than that being just a sarcastic
>remark, please provide more detail.


As I said, hardware is involved only when the app is in full screen
mode. If you
run the app in a maximized window, which is better anyway, the device
driver
maps text from virtual B000/B800 to a graphic font of your choice.

Some S3 device drivers don't work right. I went through several before
finding a
good one. I think your time would be better spent on device drivers
rather than
changing the applications.

**************

robert.deletethis@wagner.net (Robert Wagner) wrote:

>BugALugs478@InfamousISP.gov wrote:


[color=darkred]
[color=darkred]
[color=darkred]
[color=darkred]
[color=darkred]
>As I said, hardware is involved only when the app is in full screen mode. If you
>run the app in a maximized window, which is better anyway, the device driver
>maps text from virtual B000/B800 to a graphic font of your choice.


>Some S3 device drivers don't work right. I went through several before finding a
>good one. I think your time would be better spent on device drivers rather than
>changing the applications.


I think you're right. Changing the application seems to be a dead end.

I shifted the Matrox G200 (this one worked OK under NT on a 466mhz
Celeron) into my current machine (2.something Ghz AMD) replacing the
S3 Graphics Pro Savage and under MSDOS 6.2 the original applications
work fine (full screen of course). However under XP Home they only
work in full screen mode no matter what the parameters in the
Properties box. What happens is that (for the main program for
example) it opens as a full screen, I hit Alt-Enter and it becomes a
window...so far so good...but then when I hit any key at all except
the right and left arrows and the shft, alt, and ctrl, it carries out
the instruction appropriate to that key in the application and goes to
full screen immediately. I can continue working in full screen and
Alt-Tab functions correctly and Alt-Enter brings me back to the
window. Interestingly the Edit|Mark and Paste work fine in the window.

This is a sort of limp-along solution as it at least allows me to
maintain my database, the point of the application, albeit with lots
of clanging when it switches from window to full screen and back
again. It also has the downside that the G200 doesn't seem to be as
good at rendering the text throughout (even in Agent for ex) as the S3
card was.

Any ideas?

Try a more modern Matrox card perhaps?
********************
JerryMouse

2004-07-02, 3:55 pm

BugALugs478@InfamousISP.gov wrote:
> Since this is an old thread I'm putting the historical record at the
> bottom for the three people in the universe who might be interested
> <g>.
>
> The problem is resolved. XP Home does not correctly process
> memory-mapped video as generated by the old ScreenIO and Realia COBOL.
> At least that's what I've concluded based on my limited testing and
> some -- ask enough people and eventually someone knows something --
> comments by system programming types. They say that XP Pro doesn't
> have the problem but obviously they haven't tested exactly my system.
>
> I junked XP Home and installed Win2K Pro and not only do all my
> programs run correctly on the G200 Millenium but they also work on the
> S3 Pro Savage and an ATI Radeon 7000 I happened to pick up in
> desperation. No tweaking or special memory parameters. The properties
> box shows "Auto" all the way. And the drivers were the vanilla ones
> straight from the installation disks (or website for Matrox).
>
> All's well that ends well I suppose.
>


Glad you found a solution that works for you.

Our particular circumvention for slow Realia programs under XP was to put a
floppy in the drive - any floppy.

I can't help but feel both our problems are similar to expecting a
drive-shaft from a '47 Willis Jeep to work in a brand new Lexus.


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com