public inbox for linux-msdos@vger.kernel.org
 help / color / mirror / Atom feed
From: Richard <R.Gregory@liverpool.ac.uk>
To: Frantisek Rysanek <Frantisek.Rysanek@post.cz>,
	dosEmu-list <linux-msdos@vger.kernel.org>
Subject: Re: DosEMU, Ghost: VGA screen garbled...
Date: Tue, 15 Sep 2009 12:53:20 +0100	[thread overview]
Message-ID: <4AAF8030.3040405@liverpool.ac.uk> (raw)
In-Reply-To: <4AAEE418.24404.972E06@Frantisek.Rysanek.post.cz>

Hi,

I was recently successful in running Ghost with DosEMU. I know what you 
mean by garbled, you can see there is some structure to the "random" 
ascii characters but no options seem to make a difference.

Fortunately, there is a working combination of options. DosEMU has 
changed since I last used it, it used to run Ghost with a different set 
of options. The set that works with my 32 bit Debian Etch is version 
1.4.0.0, using these (mostly important) options:
Run DosEMU as:
dosemu.bin -V -s -d
with these extra options:
$_rdtsc = (on)   # helps stability
$_hdimage = "drives/* /dev/sda"
$_video = "vga"   # should already be the default
$_pktdriver = (off) # might not be necessary
$_chipset = "plainvga" (or "vesa" on some hardware)

I'm still working on the options. Using a much older dosemu (possibly 
1.2), I'd found a set of options where Ghost was 100% stable without 
config changes on all machines I tested. With DosEMU 1.4, Ghost mostly 
works, but the graphics sometimes stop updating. It is still working, 
you just can't see it. Also, on one motherboard with onboard graphics, 
"plainvga" doesn't work, it needs "vesa".

The screen is a real graphics mode. Using the mtd driver to access the 
gfx ram, I was able to find the graphics and decode it, it is 640x480, 
16 colours, bit plane encoded, with 4 planes. An approximation of the 
screen is available at 0xA0000 (or there abouts), I think this was bit 
plane encoded as well, but not in exactly the same way.

Notice I turn off the packet driver. C: contains Ghost and an 
autoexec.bat to NFS mount the remote backup drive onto a drive letter. 
For performance you must use the async option, which is ignored on the 
client side and must be set on the server side in /etc/exports

For full automation, Ghost can be given options on the command line. But 
the "Mark drives as Ghost" has no option to skip. You can use the uinput 
kernel module and some C to send fake "tab tab enter" keys to skip this.


Richard

Frantisek Rysanek wrote:
> Dear DOSEMU developers and users,
> 
> first of all thanks for keeping this wonderful project alive :-)
> I've used it for several minor tasks in the past, I recall how amazed 
> I was when I ran Sid Meyer's Civilization under DOSemu...
> 
> I've been wondering for some time, if it would be possible to run 
> Symantec/Norton Ghost under Linux. 
> 
> I've been aware for some time that "wholedisk is not supported". To 
> me, this has been a show-stopper - I never even tried Ghost under 
> DOSEMU for that reason. Much to my amazement, I've recently found out 
> that this is not quite true anymore, if it ever was, and I've managed 
> to make "wholedisk" work for me. I can use the fdisk from FreeDOS to 
> partition physical hard drives...
> 
> I'm attaching a short patch to this message, which adds support for 
> disk drives reporting >16k cylinders to the OS. I've noticed that 
> DOSEMU internally uses "int" variables for CHS, so I've added some 
> ioctl()s to src/base/misc/disks.c to get the LBA size of the disk 
> drive and calculate the correct "cylinders" value based on that, if 
> the 16bit value obtained via HDIO_GETGEO is clearly bonkers...
> And the IBM/MS extensions seem to work just right with that, judging 
> by the fact that the FreeDOS FDISK reports my big drives correctly :-
> )
> 
> So today I've finally tried Ghost under DOSEMU, and yikes: the VGA 
> screen is all garbled. Ghost is clearly alive behind the veil of 
> ASCII garbage, responds to keyboard - but the user interface is 
> unusable, because you can hardly use Ghost blind-folded. The screen 
> consists of random non-text characters with random foreground and 
> background colours, in 80x25 VGA text mode. As if Ghost was writing 
> pixels to the video RAM, but the VGA hardware was really in 80x25 
> text mode. And yes, this is the native VGA screen of the machine, not 
> a remote SSH session :-)
> 
> There was a time when I used to think that Ghost ran in some VGA 
> graphics mode, maybe 640x400x16 or some such - judging by the 
> "graphics mode" arrow for a mouse cursor. Today I suspect that maybe 
> it's just a text mode with a custom font and with the arrow cursor 
> implemented by an on-the-fly font swapping hack I've read about the 
> other day: the four characters overlapped by the graphical cursor are 
> transparently toggled to a few special ASCII codes, whose mapped 
> characters in the VGA font table are modified with every movement of 
> the mouse, to display an arrow when combined with the 
> original/underlying text characters...
> 
> Native Ghost under DOS runs just fine on bare metal on the hardware 
> that I'm using (Intel 865G).
> 
> I've noticed someone else's posts from back in 2004, that he was able 
> to run Ghost under DOSEMU and the user interface looked allright.
> 
> I've tried fiddling with some graphics configuration options in 
> dosemu.conf, but the defaults are clearly all I could hope for / 
> liberal enough.
> I've tried with $_chipset=svgalib and plainvga, I've tried specifying 
> a range of ports for direct access (along with device /dev/null). To 
> no avail.
> I've also noticed that, on graceful exit, DOSEMU complains about 
> UTF/non-UTF mismatch between my terminal and the "Locale" environment 
> variables. If I export LC_ALL=en_US.utf-8, the error message on 
> shutdown is gone, but Ghost produces garbled screen output just the 
> same...
> I've nuked the framebuffer drivers out of my kernel .config. No 
> improvement there... (this is vanilla Linux 2.6.28.6).
> 
> And that's where I ran out of good ideas :-)
> Any further hints are welcome...
> 
> Frank Rysanek
> 
> 

  parent reply	other threads:[~2009-09-15 11:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-14 22:47 DosEMU, Ghost: VGA screen garbled Frantisek Rysanek
2009-09-15  6:46 ` Frantisek Hanzlik
2009-09-15  7:41   ` Frantisek Rysanek
2009-09-15 11:53 ` Richard [this message]
2009-09-17  9:06   ` Frantisek Rysanek
2009-09-18 16:00     ` Bart Oldeman
2009-09-18 19:11       ` Alain Mouette
2009-09-20 20:25         ` DOSEMU VGA graphics on a FrameBuffer (Was: Re: DosEMU, Ghost: VGA screen garbled...) Frantisek Rysanek
2009-09-21 18:58           ` Alain Mouette
2009-09-20 20:05       ` Linux vs. DOSEMU geometry " Frantisek Rysanek
2009-09-24 15:42         ` Bart Oldeman
2009-10-05 21:52           ` Frantisek Rysanek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AAF8030.3040405@liverpool.ac.uk \
    --to=r.gregory@liverpool.ac.uk \
    --cc=Frantisek.Rysanek@post.cz \
    --cc=linux-msdos@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox